@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-style: normal;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: #000;
  -webkit-text-size-adjust: 100%;
  font-weight: 400;
  position: relative;
}
@media only screen and (max-width: 750px) {
  body {
    line-height: 1.5;
    font-size: 14px;
    letter-spacing: 0.02em;
  }
}
@media only screen and (max-width: 320px) {
  body {
    line-height: 1.5;
    font-size: 13px;
    letter-spacing: 0.02em;
  }
}

html {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 1279px) {
  a:hover {
    opacity: 1;
  }
}

a:hover img {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 1279px) {
  a:hover img {
    opacity: 1;
  }
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* For modern browsers */
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.clearfix {
  zoom: 1;
}

img {
  border: 0;
  outline: 0;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
img.line {
  border: 1px solid #ccc;
}

/*太字*/
/*太字*/
/*英数字*/
/*シャドウ*/
/*小さい文字*/
/*行間広め*/
/*インナー横幅指定*/
/*下層ページ用（左寄せ）*/
/*横幅いっぱい*/
/*矢印動き*/
/*時差表示*/
/*下層ページ見出し*/
/*ボタンリスト-スマホ版2列*/
/* --------------------------
	デバイス調整
--------------------------- */
@media only screen and (min-width:1280px) {
  .pcNone {
    display: none !important;
  }
  .spOnly {
    display: none !important;
  }
  .pc-none {
    display: none !important;
  }
  .sp-only {
    display: none !important;
  }
}
@media only screen and (max-width:1279px) {
  .pcOnly {
    display: none !important;
  }
  .pcNone {
    display: inline-block !important;
  }
  .spOnly {
    display: none !important;
  }
  .pc-only {
    display: none !important;
  }
  .pc-none {
    display: inline-block !important;
  }
  .sp-only {
    display: none !important;
  }
}
@media only screen and (max-width:767px) {
  .pcNone {
    display: inline-block !important;
  }
  .pcOnly {
    display: none !important;
  }
  .spNone {
    display: none !important;
  }
  .spOnly {
    display: inline-block !important;
  }
  .pc-none {
    display: inline-block !important;
  }
  .pc-only {
    display: none !important;
  }
  .sp-none {
    display: none !important;
  }
  .sp-only {
    display: inline-block !important;
  }
}
/* --------------------------
	アニメーション
--------------------------- */
/*フェードイン*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*フェードアウト*/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fade-in {
  opacity: 0;
  -webkit-transition-duration: 700ms;
          transition-duration: 700ms;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

.fade-in-up {
  -webkit-transform: translate(0, 25px);
          transform: translate(0, 25px);
}

.scroll-in {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/*ファーストビュー用*/
.fade-top {
  opacity: 0;
  -webkit-animation-duration: 700ms;
          animation-duration: 700ms; /* アニメーション時間 */
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s; /* 変化開始の時間 */
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn; /* アニメーション名 */
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*これで値を保持*/
}

@keyframes fadeIn { /*animation-nameで設定した値を書く*/
  0% {
    opacity: 0;
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
/*フッターボタン用*/
.fade-foot {
  opacity: 0;
  -webkit-animation-duration: 800ms;
          animation-duration: 800ms; /* アニメーション時間 */
  -webkit-animation-delay: 0;
          animation-delay: 0; /* 変化開始の時間 */
  -webkit-animation-name: fadeFoot;
          animation-name: fadeFoot; /* アニメーション名 */
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; /*これで値を保持*/
}

@-webkit-keyframes fadeFoot { /*animation-nameで設定した値を書く*/
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeFoot { /*animation-nameで設定した値を書く*/
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*preload設定*/
header.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

/*アンカーリンク*/
.anchor {
  display: block;
  padding-top: 80px;
  margin-top: -80px;
}

/* --------------------------
	コンテンツ
--------------------------- */
/*ヘッダー*/
header {
  width: 100%;
  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;
  position: fixed;
  z-index: 100;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.7);
  padding: 16px 0 16px 20px;
}
@media only screen and (max-width:1279px) {
  header {
    padding: 0 0 0 20px;
  }
}
@media only screen and (max-width:767px) {
  header {
    padding: 0 0 0 12px;
  }
}
@media only screen and (max-width:1279px) {
  header h1 {
    margin-right: auto;
  }
}
header h1 img {
  height: auto;
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  header h1 img {
    width: 220px;
  }
}
@media only screen and (max-width:1279px) {
  header h1 img {
    width: 200px;
  }
}
@media only screen and (max-width:767px) {
  header h1 img {
    width: 170px;
  }
}
@media only screen and (max-width:360px) {
  header h1 img {
    width: 155px;
  }
}
@media only screen and (max-width:320px) {
  header h1 img {
    width: 135px;
  }
}
header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: transparent;
  font-weight: 700;
}
@media only screen and (max-width:1279px) {
  header nav {
    display: block;
    padding: 40px 30px;
  }
}
@media only screen and (max-width:767px) {
  header nav {
    padding: 50px 30px;
  }
}
@media only screen and (max-width:320px) {
  header nav {
    padding: 50px 20px;
  }
}
header nav .g_menu {
  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:1279px) {
  header nav .g_menu {
    display: block;
    margin-bottom: 30px;
  }
}
header nav .g_menu li {
  margin-right: 30px;
  position: relative;
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  header nav .g_menu li {
    margin-right: 10px;
    font-size: 13px;
  }
}
@media only screen and (max-width:1279px) {
  header nav .g_menu li {
    margin-right: 0;
    text-align: left;
  }
  header nav .g_menu li a {
    color: #fff;
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
@media only screen and (max-width:1279px) {
  header nav .g_menu li {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  header nav .g_menu li {
    font-size: 14px;
  }
}
header nav .g_menu li:before {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  bottom: -4px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media only screen and (max-width:1279px) {
  header nav .g_menu li:before {
    content: none;
  }
}
header nav .g_menu li:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
header nav .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-left: 1px solid #dddddd;
}
@media only screen and (max-width:1279px) {
  header nav .menu {
    border-left: none;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
header nav .menu li {
  position: relative;
  border-right: 1px solid #dddddd;
  padding-top: 35px;
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  header nav .menu li {
    font-size: 12px;
  }
}
@media only screen and (max-width:1279px) {
  header nav .menu li {
    padding-top: 0;
    border-right: none;
    width: 32.6%;
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  header nav .menu li {
    font-size: 14px;
  }
}
header nav .menu li a {
  padding: 55px 15px 13px;
  position: relative;
  text-align: center;
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  header nav .menu li a {
    padding: 55px 10px 13px;
  }
}
@media only screen and (max-width:1279px) {
  header nav .menu li a {
    background-color: #fff;
    display: block;
    padding: 50px 10px 13px;
  }
}
header nav .menu li a:before {
  content: "\e909";
  font-family: "icomoon";
  font-size: 30px;
  font-weight: 400;
  color: #32276f;
  position: absolute;
  top: 10px;
  right: 0;
  left: 0;
  margin: auto;
}
@media only screen and (max-width:767px) {
  header nav .menu li a:before {
    top: 8px;
  }
}
header nav .menu li:nth-child(2) a:before {
  content: "\e904";
  font-size: 24px;
  top: 17px;
}
@media only screen and (max-width:767px) {
  header nav .menu li:nth-child(2) a:before {
    top: 13px;
  }
}
header nav .menu li:nth-child(3) a:before {
  content: "\e906";
  font-size: 28px;
  top: 13px;
}
@media only screen and (max-width:767px) {
  header nav .menu li:nth-child(3) a:before {
    top: 10px;
  }
}
header nav .menu li:nth-child(4) {
  border-right: none;
}
header nav .menu li:nth-child(4) a:before {
  content: "\e90d";
  font-size: 28px;
  top: 13px;
}
@media only screen and (max-width:767px) {
  header nav .menu li:nth-child(4) a:before {
    top: 10px;
  }
}
header nav .cv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:1279px) {
  header nav .cv {
    margin-right: 0;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width:767px) {
  header nav .cv {
    margin-bottom: 5px;
  }
}
header nav .cv li {
  position: relative;
  padding-top: 35px;
}
@media screen and (min-width: 1280px) and (max-width: 1550px) {
  header nav .cv li {
    font-size: 12px;
  }
}
@media only screen and (max-width:1279px) {
  header nav .cv li {
    width: 50%;
    padding-top: 13px;
    font-size: 16px;
    background-color: transparent;
  }
}
@media only screen and (max-width:767px) {
  header nav .cv li {
    font-size: 14px;
  }
}
header nav .cv li a {
  padding: 55px 15px 19px;
  position: relative;
  text-align: center;
  color: #fff;
  background-color: #6650a2;
}
@media screen and (min-width: 1281px) and (max-width: 1550px) {
  header nav .cv li a {
    padding: 55px 10px 19px;
  }
}
@media only screen and (max-width:1279px) {
  header nav .cv li a {
    display: block;
    border: 1px solid #fff;
  }
}
@media only screen and (max-width:767px) {
  header nav .cv li a {
    padding: 55px 5px 19px;
    font-size: 13px;
  }
}
header nav .cv li a:before {
  content: "\e902";
  font-family: "icomoon";
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  position: absolute;
  top: 15px;
  right: 0;
  left: 0;
  margin: auto;
}
header nav .cv li:last-child {
  border-right: none;
}
header nav .cv li:last-child a {
  background-color: #32276f;
}
header nav .cv li:last-child a:before {
  content: "\e908";
  font-size: 20px;
  top: 18px;
}
@media only screen and (max-width:1279px) {
  header nav .cv li:last-child a {
    border-left: none;
  }
}
header nav .english {
  position: relative;
  text-align: center;
}
header nav .english a {
  color: #fff;
  font-size: 16px;
  font-weight: normal;
  padding-left: 28px;
}
@media only screen and (max-width:767px) {
  header nav .english a {
    font-size: 14px;
    line-height: 1.2;
    padding-left: 22px;
  }
}
header nav .english a:before {
  content: "\e90d";
  font-family: "icomoon";
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  position: absolute;
  top: 7px;
  left: 0;
  margin: auto;
}
@media only screen and (max-width:767px) {
  header nav .english a:before {
    font-size: 15px;
    top: 15px;
  }
}
@media only screen and (min-width: 1280px) {
  header #hamburger {
    display: none;
  }
}
@media only screen and (min-width: 1280px) {
  header .cv-sp {
    display: none;
  }
}
@media only screen and (max-width: 1279px) {
  header {
    /*タブレット・スマホのみ表示*/
  }
  header #nav {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    text-align: center;
    font-size: 24px;
    background-color: rgba(50, 39, 111, 0.95);
    opacity: 0;
    visibility: hidden;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 50px;
    -webkit-transform: none;
            transform: none;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header #nav {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header #nav {
    padding: 0 0 60px;
  }
}
@media only screen and (max-width: 1279px) {
  header #hamburger {
    display: block;
    top: 10px;
    right: 5px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 110;
  }
}
@media only screen and (max-width: 1279px) and (min-width: 1279px) {
  header #hamburger {
    display: none;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header #hamburger {
    width: 25px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:320px) {
  header #hamburger {
    width: 22px;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv {
    margin-right: 30px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv {
    position: relative;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv li {
    position: relative;
    padding-top: 10px;
    font-size: 12px;
    background-color: #6650a2;
    text-align: center;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv li {
    padding-top: 0;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv li a {
    display: block;
    padding: 45px 15px 8px;
    position: relative;
    text-align: center;
    color: #fff;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv li a {
    padding: 30px 15px 8px;
    line-height: 1.2;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv li a {
    padding: 26px 15px 5px;
    font-size: 10px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:320px) {
  header .cv li a {
    padding: 26px 10px 5px;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv li a:before {
    content: "\e902";
    font-family: "icomoon";
    font-size: 17px;
    font-weight: 400;
    color: #fff;
    position: absolute;
    top: 5px;
    right: 0;
    left: 0;
    margin: auto;
  }
  header .cv-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv-sp {
    margin-right: 30px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv-sp {
    position: relative;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv-sp li {
    position: relative;
    padding-top: 10px;
    font-size: 12px;
    background-color: #6650a2;
    text-align: center;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv-sp li {
    padding-top: 0;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv-sp li a {
    display: block;
    position: relative;
    text-align: center;
    color: #fff;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv-sp li a {
    padding: 30px 15px 8px;
    line-height: 1.2;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv-sp li a {
    padding: 27px 8px 5px;
    font-size: 10px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:320px) {
  header .cv-sp li a {
    padding: 26px 3px 5px;
    font-size: 9px;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv-sp li a:before {
    content: "\e902";
    font-family: "icomoon";
    font-size: 17px;
    font-weight: 400;
    color: #fff;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv-sp li a:before {
    top: 7px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv-sp li a:before {
    top: 5px;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv-sp li:nth-child(2) {
    background-color: transparent;
    border-right: 1px solid #dddddd;
  }
  header .cv-sp li:nth-child(2) a {
    color: #000;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv-sp li:nth-child(2) a {
    padding: 40px 15px 8px;
    line-height: 1.2;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv-sp li:nth-child(2) a {
    padding: 32px 8px 5px;
    font-size: 10px;
  }
}
@media only screen and (max-width: 1279px) {
  header .cv-sp li:nth-child(2) a:before {
    content: "\e904";
    font-size: 15px;
    color: #32276f;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .cv-sp li:nth-child(2) a:before {
    top: 17px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .cv-sp li:nth-child(2) a:before {
    top: 10px;
  }
}
@media only screen and (max-width: 1279px) {
  header .line {
    display: block;
    position: absolute;
    right: 20px;
    width: 25px;
    height: 2px;
    background-color: black;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header .line {
    right: 18px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header .line {
    right: 15px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:320px) {
  header .line {
    right: 13px;
  }
}
@media only screen and (max-width: 1279px) and (max-width: 1100px) {
  header #line1 {
    top: 15px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header #line1 {
    top: 22px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header #line1 {
    top: 19px;
  }
}
@media only screen and (max-width: 1279px) and (max-width: 1100px) {
  header #line2 {
    top: 23px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header #line2 {
    top: 30px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header #line2 {
    top: 27px;
  }
}
@media only screen and (max-width: 1279px) and (max-width: 1100px) {
  header #line3 {
    top: 31px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:1279px) {
  header #line3 {
    top: 38px;
  }
}
@media only screen and (max-width: 1279px) and (max-width:767px) {
  header #line3 {
    top: 35px;
  }
}
@media only screen and (max-width: 1279px) {
  header .line_1, header .line_2, header .line_3 {
    background: #fff;
  }
  header .line_1 {
    -webkit-transform: translateY(8px) rotate(-45deg);
            transform: translateY(8px) rotate(-45deg);
  }
  header .line_2 {
    opacity: 0;
  }
  header .line_3 {
    -webkit-transform: translateY(-8px) rotate(45deg);
            transform: translateY(-8px) rotate(45deg);
  }
  header .fade {
    opacity: 1 !important;
    z-index: 90;
    visibility: visible !important;
  }
}

/*フッター*/
footer {
  margin-top: 190px;
  background-color: #f3f3f3;
}
@media only screen and (max-width:1279px) {
  footer {
    margin-top: 100px;
  }
}
@media only screen and (max-width:767px) {
  footer {
    margin-top: 80px;
  }
}
footer .inner {
  max-width: 1200px;
  margin: auto;
  padding: 40px 0 30px;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  footer .inner {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  footer .inner {
    padding: 0 20px;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner {
    padding: 40px 30px 30px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner {
    padding: 30px 25px 15px;
  }
}
@media only screen and (max-width:360px) {
  footer .inner {
    padding: 30px 20px 15px;
  }
}
footer .inner .department {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 30px;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 30px;
}
@media only screen and (max-width:1279px) {
  footer .inner .department {
    padding-bottom: 0;
    border: none;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .department {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 15px;
  }
}
footer .inner .department li {
  width: 24%;
}
@media only screen and (max-width:767px) {
  footer .inner .department li {
    width: 48.5%;
    margin-bottom: 10px;
    font-size: 13px;
  }
}
footer .inner .department li a {
  display: block;
  padding: 23px 15px;
  position: relative;
  background-color: #459cdf;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  font-weight: 700;
}
@media only screen and (max-width:1279px) {
  footer .inner .department li a {
    padding: 16px 28px 16px 0;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .department li a {
    padding: 16px 28px 16px 5px;
  }
}
footer .inner .department li a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 30px;
  bottom: 14%;
  right: 1rem;
  color: #fff;
}
@media only screen and (max-width:1279px) {
  footer .inner .department li a:after {
    font-size: 25px;
    right: 8px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .department li a:after {
    font-size: 22px;
    right: 7px;
    bottom: 17%;
  }
}
footer .inner .department li a:hover::after {
  border-left: none;
  right: 0.6rem;
}
@media only screen and (max-width:1279px) {
  footer .inner .department li a:hover::after {
    right: 8px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .department li a:hover::after {
    right: 7px;
  }
}
footer .inner .department li:nth-child(2) a {
  background-color: #52caa7;
}
footer .inner .department li:nth-child(3) a {
  background-color: #f27192;
}
footer .inner .department li:nth-child(4) a {
  background-color: #fff;
  border: 1px solid #857ac2;
  color: #32276f;
}
@media only screen and (max-width:767px) {
  footer .inner .department li:nth-child(4) a {
    padding: 16px 13px 16px 5px;
  }
}
footer .inner .department li:nth-child(4) a:after {
  color: #32276f;
}
footer .inner .footer-menu-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 25px;
  border-bottom: 1px solid #dddddd;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col {
    display: block;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    border-bottom: 0;
    padding-bottom: 10px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .footer-menu-col {
    padding-bottom: 25px;
  }
}
footer .inner .footer-menu-col .accordion-single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single {
    border-bottom: 1px solid #dddddd;
    margin-top: 10px;
    display: block;
  }
}
footer .inner .footer-menu-col .accordion-single-item {
  margin-right: 70px;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-item {
    margin-right: 0;
  }
}
footer .inner .footer-menu-col .accordion-single-title {
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-title {
    border-top: 1px solid #dddddd;
    padding: 20px;
    cursor: pointer;
    position: relative;
    margin: 0;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-title::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    -webkit-transform: translateY(-50%) rotate(135deg);
            transform: translateY(-50%) rotate(135deg);
  }
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-content {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-in-out;
    transition: max-height 0.3s ease-in-out;
    padding: 0 25px;
    background-color: #fff;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-content ul {
    padding: 5px 0;
  }
}
footer .inner .footer-menu-col .accordion-single-content ul li {
  margin-bottom: 5px;
  font-size: 13px;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-content ul li {
    border-bottom: 1px solid #dddddd;
    margin-bottom: 0;
  }
  footer .inner .footer-menu-col .accordion-single-content ul li:last-child {
    border: none;
  }
}
footer .inner .footer-menu-col .accordion-single-content ul li a {
  position: relative;
  padding-left: 13px;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-content ul li a {
    display: block;
    padding: 15px 0 15px 13px;
  }
}
footer .inner .footer-menu-col .accordion-single-content ul li a:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  left: -12px;
  top: 8px;
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-content ul li a:before {
    top: 24px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .footer-menu-col .accordion-single-content ul li a:before {
    top: 22px;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-content p {
    padding: 20px;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-item.is-open .accordion-single-content {
    max-height: 300px;
  }
}
@media only screen and (max-width:1279px) {
  footer .inner .footer-menu-col .accordion-single-item.is-open .accordion-single-title::after {
    -webkit-transform: translateY(-50%) rotate(315deg);
            transform: translateY(-50%) rotate(315deg);
  }
}
footer .inner .info-col {
  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;
  padding: 20px 0;
}
@media only screen and (max-width:767px) {
  footer .inner .info-col {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 10px 0 20px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .info-col .logo {
    width: 300px;
    margin: auto;
  }
}
footer .inner .info-col .logo img {
  margin-left: 15px;
}
@media only screen and (max-width:1279px) {
  footer .inner .info-col .logo img {
    width: 280px;
    margin-left: 0;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .info-col .logo img {
    width: 100%;
  }
}
footer .inner .info-col .assessment {
  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:767px) {
  footer .inner .info-col .assessment a {
    margin: 0 5px;
  }
}
footer .inner .info-col .assessment img {
  margin-left: 15px;
}
@media only screen and (max-width:767px) {
  footer .inner .info-col .assessment img {
    margin: 0;
  }
}
footer .inner .network-col {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 30px 25px;
  margin-bottom: 20px;
}
@media only screen and (max-width:1279px) {
  footer .inner .network-col {
    padding: 20px 30px;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .network-col {
    padding: 18px 20px 15px;
  }
}
@media only screen and (max-width:320px) {
  footer .inner .network-col {
    padding: 18px 10px 15px;
  }
}
footer .inner .network-col h2 {
  font-weight: 700;
  margin-bottom: 8px;
}
footer .inner .network-col ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width:1279px) {
  footer .inner .network-col ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
footer .inner .network-col ul li {
  font-size: 13px;
  margin-right: 15px;
}
@media only screen and (max-width:767px) {
  footer .inner .network-col ul li {
    font-size: 12px;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width:320px) {
  footer .inner .network-col ul li {
    margin-right: 8px;
    margin-bottom: 8px;
  }
}
footer .inner .network-col ul li a {
  position: relative;
  padding-left: 14px;
  letter-spacing: 0;
}
@media only screen and (max-width:767px) {
  footer .inner .network-col ul li a {
    padding-left: 10px;
  }
}
footer .inner .network-col ul li a:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #32276f;
  position: absolute;
  left: 0;
  top: 5px;
}
@media only screen and (max-width:767px) {
  footer .inner .network-col ul li a:before {
    width: 8px;
    height: 8px;
    top: 6px;
  }
}
footer .inner .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width:1279px) {
  footer .inner .menu {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width:767px) {
  footer .inner .menu {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 10px;
  }
}
footer .inner .menu li {
  position: relative;
  margin-right: 30px;
}
@media only screen and (max-width:1279px) {
  footer .inner .menu li {
    font-size: 13px;
    margin-right: 20px;
    margin-bottom: 8px;
  }
}
@media only screen and (max-width:320px) {
  footer .inner .menu li {
    font-size: 12px;
    margin-right: 10px;
  }
}
footer .inner .menu li:after {
  content: "";
  width: 1px;
  height: 15px;
  background-color: #dddddd;
  position: absolute;
  right: -15px;
  top: 5px;
}
@media only screen and (max-width:1279px) {
  footer .inner .menu li:after {
    height: 12px;
    right: -10px;
  }
}
@media only screen and (max-width:320px) {
  footer .inner .menu li:after {
    right: -5px;
  }
}
footer .copyright {
  background-color: #fff;
  text-align: center;
  font-size: 10px;
  padding: 8px 0;
}
@media only screen and (max-width:767px) {
  footer .copyright {
    font-size: 9px;
  }
}

/*見出し*/
.headline {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: 50px;
  margin-bottom: 45px;
  letter-spacing: 0.08em;
}
@media only screen and (max-width:1279px) {
  .headline {
    font-size: 45px;
    margin-bottom: 40px;
  }
}
@media only screen and (max-width:767px) {
  .headline {
    font-size: 35px;
    margin-bottom: 30px;
    line-height: 1.3;
  }
}
.headline span {
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  margin-left: 25px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:1279px) {
  .headline span {
    margin-left: 15px;
  }
}
@media only screen and (max-width:767px) {
  .headline span {
    font-size: 13px;
    margin-left: 0;
    display: block;
  }
}

.headline-type02 {
  font-weight: 900;
  font-size: 25px;
  letter-spacing: 0.08em;
  background-color: #f5f4fa;
  position: relative;
  padding: 20px 25px;
  margin-bottom: 45px;
}
@media only screen and (max-width:1279px) {
  .headline-type02 {
    font-size: 23px;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width:767px) {
  .headline-type02 {
    font-size: 18px;
    padding: 13px 15px 15px;
    margin-bottom: 28px;
    line-height: 1.3;
  }
}
.headline-type02:before {
  content: "";
  width: 5px;
  height: 40%;
  background-color: #32276f;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

.headline-type03 {
  font-weight: 700;
  font-size: 23px;
  letter-spacing: 0.08em;
  border-top: 2px solid #dddddd;
  position: relative;
  padding: 18px 0 0;
  margin-bottom: 35px;
}
@media only screen and (max-width:1279px) {
  .headline-type03 {
    font-size: 21px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width:767px) {
  .headline-type03 {
    font-size: 17px;
    padding: 12px 0 0;
    margin-bottom: 20px;
  }
}
.headline-type03:before {
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
  width: 70px;
  height: inherit;
  border-top: 2px solid #32276f;
}

.headline-type04 {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.08em;
  position: relative;
  padding-left: 25px;
  margin-bottom: 20px;
}
@media only screen and (max-width:1279px) {
  .headline-type04 {
    font-size: 18px;
  }
}
@media only screen and (max-width:767px) {
  .headline-type04 {
    font-size: 16px;
    padding-left: 22px;
    margin-bottom: 15px;
  }
}
.headline-type04:before {
  content: "";
  width: 17px;
  height: 2px;
  background-color: #32276f;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media only screen and (max-width:767px) {
  .headline-type04:before {
    width: 14px;
    top: 12px;
    bottom: inherit;
  }
}

/*ボタン*/
.button a {
  display: inline-block;
  text-align: left;
  font-weight: 700;
  position: relative;
}
@media only screen and (max-width:1279px) {
  .button a {
    padding-right: 35px;
  }
}
@media only screen and (max-width:767px) {
  .button a {
    padding-right: 32px;
  }
}
.button a:before {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  bottom: -4px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media only screen and (max-width:1279px) {
  .button a:before {
    content: none;
  }
}
.button a:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.button a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 35px;
  bottom: -16px;
  right: -50px;
}
@media only screen and (max-width:1279px) {
  .button a:after {
    font-size: 30px;
    right: 0;
  }
}
@media only screen and (max-width:767px) {
  .button a:after {
    font-size: 25px;
    bottom: -10px;
  }
}
.button a:hover::after {
  border-left: none;
  right: -60px;
}
@media only screen and (max-width:1279px) {
  .button a:hover::after {
    right: 0;
  }
}
@media only screen and (max-width:767px) {
  .button.small {
    font-size: 13px;
  }
}
.button.small a {
  margin-bottom: 10px;
}
@media only screen and (max-width:767px) {
  .button.small a {
    padding-right: 28px;
  }
}
.button.small a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 23px;
  bottom: 0;
  right: -35px;
  top: 50%;
  margin-top: -20px;
}
@media only screen and (max-width:1279px) {
  .button.small a:after {
    right: 0;
    top: 50%;
    margin-top: -19px;
  }
}
@media only screen and (max-width:767px) {
  .button.small a:after {
    font-size: 20px;
    bottom: 0;
    margin-top: -14px;
  }
}
.button.small a:hover::after {
  border-left: none;
  right: -45px;
}
@media only screen and (max-width:1279px) {
  .button.small a:hover::after {
    right: 0;
  }
}
@media only screen and (max-width:1279px) {
  .button.page-link a {
    padding-right: 15px;
    font-size: 13px;
  }
}
.button.page-link a:after {
  content: "";
  width: 6px;
  height: 6px;
  margin: 0;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: 9px;
  right: -15px;
  top: inherit;
}
@media only screen and (max-width:1279px) {
  .button.page-link a:after {
    bottom: 9px;
    right: 0;
  }
}
@media only screen and (max-width:767px) {
  .button.page-link a:after {
    bottom: 50%;
    margin-bottom: -3px;
  }
}
.button.page-link a:hover::after {
  border-left: none;
  right: -15px;
  bottom: 0;
}
@media only screen and (max-width:1279px) {
  .button.page-link a:hover::after {
    right: 0;
    bottom: 9px;
  }
}
@media only screen and (max-width:767px) {
  .button.page-link a:hover::after {
    bottom: 50%;
    margin-bottom: -3px;
  }
}
.button.return {
  margin-left: 35px;
}
@media only screen and (max-width:1279px) {
  .button.return {
    margin-left: 0;
    padding-left: 35px;
  }
}
@media only screen and (max-width:767px) {
  .button.return {
    padding-left: 28px;
    font-size: 13px;
  }
}
.button.return a {
  margin-bottom: 0;
}
.button.return a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 22px;
  bottom: -10px;
  right: inherit;
  left: -35px;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  top: 50%;
  margin-top: -17px;
}
@media only screen and (max-width:1279px) {
  .button.return a:after {
    top: 0;
    margin-top: -7px;
    left: -28px;
  }
}
@media only screen and (max-width:767px) {
  .button.return a:after {
    font-size: 20px;
    bottom: 0;
    margin-top: -5px;
  }
}
.button.return a:hover::after {
  border-left: none;
  right: inherit;
  left: -45px;
}
@media only screen and (max-width:1279px) {
  .button.return a:hover::after {
    right: inherit;
    left: -28px;
  }
}
.button.pt a:after {
  color: #459cdf;
}
.button.ot a:after {
  color: #52caa7;
}
.button.st a:after {
  color: #f27192;
}

/*枠ありボタン*/
.framebutton {
  border: 1px solid #dddddd;
  background-color: #fff;
  border-radius: 5px;
  /*下層ページ用*/
  /*通常ボタン以外*/
  /*大学院用*/
}
.framebutton a {
  width: 100%;
  font-weight: 700;
  display: block;
  text-align: left;
  position: relative;
  padding: 25px 55px 25px 25px;
}
@media only screen and (max-width:1279px) {
  .framebutton a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton a {
    padding: 18px 40px 18px 15px;
    font-size: 13px;
  }
}
.framebutton a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 25px;
  bottom: inherit;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media only screen and (max-width:1279px) {
  .framebutton a:after {
    right: 12px;
    bottom: inherit;
  }
}
@media only screen and (max-width:320px) {
  .framebutton a:after {
    font-size: 22px;
  }
}
.framebutton a:hover::after {
  border-left: none;
  right: 8px;
}
@media only screen and (max-width:1279px) {
  .framebutton a:hover::after {
    right: 12px;
  }
}
.framebutton.page-type02 a {
  padding: 20px 45px 20px 20px;
}
@media only screen and (max-width:1279px) {
  .framebutton.page-type02 a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.page-type02 a {
    padding: 15px 40px 15px 15px;
    font-size: 13px;
  }
}
.framebutton.pt a:after {
  color: #459cdf;
}
.framebutton.pt-bg {
  background-color: #459cdf;
  border: none;
}
.framebutton.pt-bg a {
  color: #fff;
}
.framebutton.pt-bg a:after {
  color: #fff;
}
.framebutton.ot a:after {
  color: #52caa7;
}
.framebutton.ot-bg {
  background-color: #52caa7;
  border: none;
}
.framebutton.ot-bg a {
  color: #fff;
}
.framebutton.ot-bg a:after {
  color: #fff;
}
.framebutton.st a:after {
  color: #f27192;
}
.framebutton.st-bg {
  background-color: #f27192;
  border: none;
}
.framebutton.st-bg a {
  color: #fff;
}
.framebutton.st-bg a:after {
  color: #fff;
}
.framebutton.pdf {
  display: inline-block;
}
.framebutton.pdf a {
  padding: 20px 20px 20px 55px;
}
@media only screen and (max-width:1279px) {
  .framebutton.pdf a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.pdf a {
    padding: 15px 15px 15px 40px;
  }
}
.framebutton.pdf a:before {
  content: "\e903";
  font-family: "icomoon";
  font-size: 30px;
  font-weight: 400;
  color: #e77171;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 20px;
  line-height: 2.3;
  margin-top: -35px;
}
@media only screen and (max-width:767px) {
  .framebutton.pdf a:before {
    font-size: 25px;
    left: 12px;
    margin-top: -30px;
  }
}
.framebutton.pdf a:after {
  content: none;
}
.framebutton.word {
  display: inline-block;
}
.framebutton.word a {
  padding: 20px 20px 20px 55px;
}
@media only screen and (max-width:1279px) {
  .framebutton.word a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.word a {
    padding: 15px 15px 15px 40px;
  }
}
.framebutton.word a:before {
  content: "\e907";
  font-family: "icomoon";
  font-size: 30px;
  font-weight: 400;
  color: #134db1;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 20px;
  line-height: 2.3;
  margin-top: -35px;
}
@media only screen and (max-width:767px) {
  .framebutton.word a:before {
    font-size: 25px;
    left: 12px;
    margin-top: -30px;
  }
}
.framebutton.word a:after {
  content: none;
}
.framebutton.excel {
  display: inline-block;
}
.framebutton.excel a {
  padding: 20px 20px 20px 55px;
}
@media only screen and (max-width:1279px) {
  .framebutton.excel a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.excel a {
    padding: 15px 15px 15px 40px;
  }
}
.framebutton.excel a:before {
  content: "\e90a";
  font-family: "icomoon";
  font-size: 30px;
  font-weight: 400;
  color: #134db1;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 20px;
  line-height: 2.3;
  margin-top: -35px;
}
@media only screen and (max-width:767px) {
  .framebutton.excel a:before {
    font-size: 25px;
    left: 12px;
    margin-top: -30px;
  }
}
.framebutton.excel a:after {
  content: none;
}
.framebutton.download {
  display: inline-block;
}
.framebutton.download a {
  padding: 20px 20px 20px 55px;
}
@media only screen and (max-width:1279px) {
  .framebutton.download a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.download a {
    padding: 15px 15px 15px 40px;
  }
}
.framebutton.download a:before {
  content: "\e900";
  font-family: "icomoon";
  font-size: 25px;
  font-weight: 400;
  color: #32276f;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 20px;
  line-height: 2.3;
  margin-top: -28px;
}
@media only screen and (max-width:767px) {
  .framebutton.download a:before {
    font-size: 20px;
    left: 13px;
    margin-top: -22px;
  }
}
.framebutton.download a:after {
  content: none;
}
.framebutton.outside {
  display: inline-block;
}
.framebutton.outside a {
  padding: 20px 20px 20px 50px;
}
@media only screen and (max-width:1279px) {
  .framebutton.outside a {
    padding-right: 45px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.outside a {
    padding: 15px 15px 15px 35px;
  }
}
.framebutton.outside a:before {
  content: "\e905";
  font-family: "icomoon";
  font-size: 22px;
  font-weight: 400;
  color: #32276f;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 20px;
  line-height: 2.3;
  margin-top: -28px;
}
@media only screen and (max-width:767px) {
  .framebutton.outside a:before {
    font-size: 18px;
    left: 13px;
    margin-top: -22px;
  }
}
.framebutton.outside a:after {
  content: none;
}
.framebutton.small a {
  padding: 15px 20px 15px 52px;
}
@media only screen and (max-width:767px) {
  .framebutton.small a {
    padding: 12px 20px 12px 42px;
    font-size: 13px;
  }
}
.framebutton.small-type02 {
  display: inline-block;
}
.framebutton.small-type02 a {
  padding: 15px 55px 15px 15px;
}
@media only screen and (max-width:767px) {
  .framebutton.small-type02 a {
    padding: 12px 45px 12px 10px;
    font-size: 13px;
  }
}
.framebutton.opencampus a:after {
  color: #6650a2;
}
.framebutton.request {
  background-color: #32276f;
}
.framebutton.request a {
  color: #fff;
  font-size: 16px;
}
@media only screen and (max-width:767px) {
  .framebutton.request a {
    padding: 21px 40px 21px 15px;
  }
}
.framebutton.request a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #fff;
}
.framebutton.page-link a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: 25px;
  bottom: inherit;
  top: 23%;
  color: #6650a2;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media only screen and (max-width:1279px) {
  .framebutton.page-link a:after {
    right: 12px;
    top: 16%;
    bottom: inherit;
  }
}
@media only screen and (max-width:320px) {
  .framebutton.page-link a:after {
    font-size: 22px;
  }
}
.framebutton.page-link a:hover::after {
  border-left: none;
  right: 15px;
  top: 33%;
}
@media only screen and (max-width:1279px) {
  .framebutton.page-link a:hover::after {
    right: 12px;
    top: 16%;
  }
}
.framebutton.grad a {
  border-radius: 5px;
  padding: 20px 55px 20px 25px;
}
@media only screen and (max-width:1279px) {
  .framebutton.grad a {
    padding: 20px 45px 20px 20px;
  }
}
@media only screen and (max-width:767px) {
  .framebutton.grad a {
    padding: 18px 40px 18px 15px;
    font-size: 13px;
  }
}
.framebutton.grad a:after {
  content: "\e90c";
  font-family: "icomoon";
  font-weight: 400;
  color: #32276f;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #857ac2;
}

/*フォーム*/
input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 3px;
}

.page {
  overflow: hidden;
  /*教員紹介*/
}
.page footer {
  margin-top: 100px;
}
@media only screen and (max-width:1279px) {
  .page footer {
    margin-top: 50px;
  }
}
@media only screen and (max-width:767px) {
  .page footer {
    margin-top: 60px;
  }
}
.page main {
  padding-top: 91px;
}
@media only screen and (max-width:1279px) {
  .page main {
    padding-top: 63px;
  }
}
@media only screen and (max-width:767px) {
  .page main {
    padding-top: 55px;
  }
}
.page .title-col {
  background-color: #eae8ed;
  overflow: hidden;
}
.page .title-col .inner {
  max-width: 1200px;
  margin: auto;
  padding: 100px 0 180px;
  position: relative;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .page .title-col .inner {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .page .title-col .inner {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .page .title-col .inner {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .page .title-col .inner {
    padding: 0 20px;
  }
}
@media only screen and (max-width:1279px) {
  .page .title-col .inner {
    padding: 70px 40px 80px;
  }
}
@media only screen and (max-width:767px) {
  .page .title-col .inner {
    padding: 40px 25px 60px;
  }
}
.page .title-col .inner h2 {
  font-weight: 900;
  font-size: 35px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  z-index: 1;
  position: relative;
}
@media only screen and (max-width:1279px) {
  .page .title-col .inner h2 {
    font-size: 30px;
  }
}
@media only screen and (max-width:767px) {
  .page .title-col .inner h2 {
    font-size: 20px;
  }
}
@media only screen and (max-width:320px) {
  .page .title-col .inner h2 {
    font-size: 18px;
  }
}
.page .title-col .inner .bg-text {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: 160px;
  line-height: 1;
  position: absolute;
  left: 0;
  bottom: 48px;
  color: rgba(255, 255, 255, 0.3);
  z-index: 0;
}
@media only screen and (max-width:1279px) {
  .page .title-col .inner .bg-text {
    font-size: 100px;
    left: 40px;
    bottom: -2px;
  }
}
@media only screen and (max-width:767px) {
  .page .title-col .inner .bg-text {
    font-size: 60px;
    left: 25px;
    bottom: 5px;
  }
}
.page .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1200px;
  margin: auto;
  /*赤字*/
  /*曜日*/
  /*右寄せ注釈*/
  /*アンカーリンク*/
  /*テーブル*/
  /*スライダー*/
}
.page .contents .inner {
  position: relative;
  top: -72px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: calc(50% - 50vw);
  background-color: #fff;
  border-radius: 0 10px 0 0;
  padding: 30px 0 0;
  /*扉ページ用*/
  /*下層コンテンツ用*/
  /*余白調整*/
  /*ボタン横並び-枠なしボタン用*/
  /*ボタン横並び-コンテンツ幅指定*/
  /*リスト*/
  /*ページ内リンク用*/
  /*注釈など*/
}
@media only screen and (max-width:1279px) {
  .page .contents .inner {
    top: -15px;
    padding: 25px 0 0;
    border-radius: 0 15px 0 0;
    width: 100%;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner {
    padding: 15px 0 0;
  }
}
.page .contents .inner .breadcrumbs {
  max-width: 1200px;
  margin: 0 0 0 auto;
  margin-bottom: 110px;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .page .contents .inner .breadcrumbs {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .breadcrumbs {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .breadcrumbs {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .page .contents .inner .breadcrumbs {
    padding: 0 20px;
  }
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .breadcrumbs {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .breadcrumbs {
    margin-bottom: 35px;
    padding: 0 15px;
  }
}
.page .contents .inner .breadcrumbs ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.page .contents .inner .breadcrumbs ol li {
  font-size: 10px;
  margin-right: 15px;
  position: relative;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .breadcrumbs ol li {
    font-size: 9px;
  }
}
.page .contents .inner .breadcrumbs ol li:after {
  content: "";
  width: 4px;
  height: 4px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  position: absolute;
  right: -9px;
  top: 9px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .breadcrumbs ol li:after {
    top: 7px;
  }
}
.page .contents .inner .breadcrumbs ol li:last-child {
  margin-right: 0;
}
.page .contents .inner .breadcrumbs ol li:last-child:after {
  content: none;
}
.page .contents .inner .catch-col section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 0;
  margin-bottom: 80px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .catch-col section {
    display: block;
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section {
    margin-bottom: 40px;
  }
}
.page .contents .inner .catch-col section:before {
  content: "";
  width: 80%;
  height: 90%;
  background-color: #f5f4fa;
  position: absolute;
  left: 0;
  top: 40%;
  z-index: -2;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .catch-col section:before {
    width: 90%;
    height: 60%;
    top: 50%;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section:before {
    width: 80%;
    height: 85%;
    top: 40%;
  }
}
.page .contents .inner .catch-col section .image {
  margin-right: 75px;
}
@media screen and (min-width: 1280px) and (max-width: 1500px) {
  .page .contents .inner .catch-col section .image {
    width: 55%;
  }
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .catch-col section .image {
    width: 80%;
    margin-right: 0;
    margin-bottom: 45px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section .image {
    width: 90%;
    margin-bottom: 25px;
  }
}
.page .contents .inner .catch-col section .image img {
  border-radius: 0 10px 10px 0;
}
.page .contents .inner .catch-col section .text {
  width: calc(100% - 810px);
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .catch-col section .text {
    padding: 0 40px;
    width: 100%;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section .text {
    padding: 0 25px;
  }
}
.page .contents .inner .catch-col section .text h2 {
  font-weight: 900;
  font-size: 25px;
  margin-bottom: 40px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .catch-col section .text h2 {
    margin-bottom: 25px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section .text h2 {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width:320px) {
  .page .contents .inner .catch-col section .text h2 {
    font-size: 16px;
    margin-bottom: 15px;
  }
}
.page .contents .inner .catch-col section .text p {
  font-size: 16px;
  line-height: 1.9;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section .text p {
    line-height: 1.7;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .catch-col section .text p {
    font-size: 14px;
  }
}
@media only screen and (max-width:320px) {
  .page .contents .inner .catch-col section .text p {
    font-size: 13px;
  }
}
.page .contents .inner .page-col {
  max-width: 1200px;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .page .contents .inner .page-col {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .page-col {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .page-col {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .page .contents .inner .page-col {
    padding: 0 20px;
  }
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .page-col .button-list-col {
    padding: 0;
  }
}
.page .contents .inner .page-col:last-of-type {
  margin-bottom: 0;
}
.page .contents .inner .element-col {
  margin-bottom: 90px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .element-col {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .element-col {
    margin-bottom: 55px;
  }
}
.page .contents .inner .element-col:last-of-type {
  margin-bottom: 0;
}
.page .contents .inner .item-col {
  margin-bottom: 70px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .item-col {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .item-col {
    margin-bottom: 45px;
  }
}
.page .contents .inner .item-col:last-of-type {
  margin-bottom: 0;
}
.page .contents .inner .mg {
  margin-bottom: 45px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .mg {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .mg {
    margin-bottom: 25px;
  }
}
.page .contents .inner .mg-half {
  margin-bottom: 20px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .mg-half {
    margin-bottom: 15px;
  }
}
.page .contents .inner .mg-top {
  margin-top: 15px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .mg-top {
    margin-top: 10px;
  }
}
.page .contents .inner .mg-top-half {
  margin-top: 8px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .mg-top-half {
    margin-top: 5px;
  }
}
.page .contents .inner .button-list-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-flex {
    display: block;
  }
}
.page .contents .inner .button-list-flex li {
  margin-right: 75px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-flex li {
    margin-right: 25px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-flex li {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .page .contents .inner .button-list-flex li:last-child {
    margin-bottom: 0;
  }
}
.page .contents .inner .button-list-col {
  position: relative;
  z-index: 0;
  max-width: 1200px;
  margin: 0 0 0 auto;
  /*4列*/
  /*6列*/
  /*下層ページ下部遷移ボタン用-上部に罫線あり*/
  /*ボタン幅指定なし*/
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .page .contents .inner .button-list-col {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .page .contents .inner .button-list-col {
    padding: 0 20px;
  }
}
.page .contents .inner .button-list-col ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  /*スマホ版2列*/
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col ul {
    display: block;
  }
}
.page .contents .inner .button-list-col ul li {
  margin: 0 20px 20px 0;
  width: calc(33.3333333% - 13.3333333333px);
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col ul li {
    width: 48.5%;
    margin: 0 0 15px 0;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col ul li {
    width: 100%;
    margin: 0 0 10px;
  }
}
.page .contents .inner .button-list-col ul li:nth-child(3n) {
  margin-right: 0;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col ul.sp-col2 {
    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;
  }
  .page .contents .inner .button-list-col ul.sp-col2 li {
    width: 48.5%;
    margin: 0 0 10px;
  }
}
.page .contents .inner .button-list-col.column4 ul {
  /*スマホ版2列*/
}
.page .contents .inner .button-list-col.column4 ul li {
  margin: 0 20px 20px 0;
  width: calc(25% - 15px);
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col.column4 ul li {
    width: 48.5%;
    margin: 0 0 15px 0;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col.column4 ul li {
    width: 100%;
    margin: 0 0 10px;
  }
}
.page .contents .inner .button-list-col.column4 ul li:nth-child(3n) {
  margin-right: 20px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col.column4 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
.page .contents .inner .button-list-col.column4 ul li:nth-child(4n) {
  margin-right: 0;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col.column4 ul.sp-col2 {
    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;
  }
  .page .contents .inner .button-list-col.column4 ul.sp-col2 li {
    width: 48.5%;
    margin: 0 0 10px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col.column6 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;
  }
}
.page .contents .inner .button-list-col.column6 ul li {
  margin: 0 20px 20px 0;
  width: calc(16.666% - 16.6666666667px);
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col.column6 ul li {
    width: 48.5%;
    margin: 0 0 15px 0;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col.column6 ul li {
    margin: 0 0 10px;
  }
}
.page .contents .inner .button-list-col.column6 ul li:nth-child(3n) {
  margin-right: 20px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col.column6 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
.page .contents .inner .button-list-col.column6 ul li:nth-child(6n) {
  margin-right: 0;
}
.page .contents .inner .button-list-col.sub {
  margin-top: 120px;
  border-top: 1px solid #dddddd;
  padding-top: 70px;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col.sub {
    margin-top: 90px;
    padding-top: 50px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col.sub {
    margin-top: 70px;
    padding-top: 35px;
  }
}
.page .contents .inner .button-list-col.sub ul li.current {
  border: 1px solid #d3cfe6;
  background-color: #f5f4fa;
}
.page .contents .inner .button-list-col.sub ul li.pt.current {
  border: 1px solid #a4cded;
  background-color: #f1f6fc;
}
.page .contents .inner .button-list-col.sub ul li.ot.current {
  border: 1px solid #88dbc3;
  background-color: #f0f9f6;
}
.page .contents .inner .button-list-col.sub ul li.st.current {
  border: 1px solid #f6bbca;
  background-color: #fef5f8;
}
@media only screen and (max-width:1279px) {
  .page .contents .inner .button-list-col.unspecified ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.page .contents .inner .button-list-col.unspecified ul li {
  width: auto;
  min-width: 230px;
  margin-right: 20px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .button-list-col.unspecified ul li {
    min-width: auto;
    margin-right: 0;
  }
}
.page .contents .inner .deco {
  position: relative;
}
.page .contents .inner .deco li {
  padding-left: 20px;
  position: relative;
  margin-bottom: 5px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .deco li {
    padding-left: 18px;
  }
}
.page .contents .inner .deco li:last-child {
  margin-bottom: 0;
}
.page .contents .inner .deco li:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  border: 4px solid #32276f;
  position: absolute;
  left: 0;
  top: 5px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .deco li:before {
    width: 4px;
    height: 4px;
  }
}
.page .contents .inner .deco.pt li:before {
  border: 4px solid #459cdf;
}
.page .contents .inner .deco.ot li:before {
  border: 4px solid #52caa7;
}
.page .contents .inner .deco.st li:before {
  border: 4px solid #f27192;
}
.page .contents .inner .page-link-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .page-link-list {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.page .contents .inner .page-link-list li {
  margin-right: 55px;
  margin-bottom: 12px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .page-link-list li {
    width: 48%;
    margin-right: 0;
    border: 1px solid #dddddd;
    border-radius: 5px;
    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;
    gap: 1ch;
  }
  .page .contents .inner .page-link-list li .button a {
    padding: 8px 10px;
    width: 100%;
  }
  .page .contents .inner .page-link-list li .button a:after {
    right: 10px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .inner .page-link-list.full li {
    width: 100%;
    margin-bottom: 10px;
  }
  .page .contents .inner .page-link-list.full li a {
    padding: 8px 25px 8px 10px;
    width: 100%;
  }
  .page .contents .inner .page-link-list.full li a:after {
    right: 10px;
  }
}
.page .contents .inner .small-text {
  font-size: 12px;
}
@media only screen and (max-width:767px) {
  .page .contents .inner .small-text {
    font-size: 10px;
  }
}
.page .contents .inner .small-text a {
  text-decoration: underline;
  color: #32276f;
}
.page .contents .inner .small-text a:hover {
  text-decoration: none;
}
.page .contents .attention-text {
  color: #eb6d79;
}
.page .contents .sat {
  color: #2173C0;
}
.page .contents .sun {
  color: #e05374;
}
.page .contents .right-text {
  text-align: right;
  margin-top: 15px;
  font-size: 13px;
}
@media only screen and (max-width:767px) {
  .page .contents .right-text {
    font-size: 12px;
  }
}
.page .contents .anchor {
  padding-top: 95px;
  margin-top: -95px;
}
@media only screen and (max-width:1279px) {
  .page .contents .anchor {
    padding-top: 75px;
    margin-top: -75px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .anchor {
    padding-top: 60px;
    margin-top: -60px;
  }
}
.page .contents table {
  width: 100%;
  border: 1px solid #dddddd;
  /*幅固定なし*/
  /*2列以外*/
  /*横向き*/
  /*横スクロール*/
}
.page .contents table th, .page .contents table td {
  padding: 25px;
  border-bottom: 1px solid #dddddd;
}
@media only screen and (max-width:1279px) {
  .page .contents table th, .page .contents table td {
    padding: 20px;
  }
}
@media only screen and (max-width:767px) {
  .page .contents table th, .page .contents table td {
    padding: 15px;
    border-bottom: none;
  }
}
.page .contents table th.center-text, .page .contents table td.center-text {
  text-align: center;
}
.page .contents table th {
  background-color: #f3f3f3;
  text-align: left;
  width: 20%;
}
@media only screen and (max-width:1279px) {
  .page .contents table th {
    width: 25%;
  }
}
@media only screen and (max-width:767px) {
  .page .contents table th {
    width: 100%;
    display: block;
  }
}
.page .contents table th.title {
  background-color: #f8f8f8;
  text-align: center;
}
.page .contents table td {
  width: 80%;
}
@media only screen and (max-width:1279px) {
  .page .contents table td {
    width: 75%;
  }
}
@media only screen and (max-width:767px) {
  .page .contents table td {
    width: 100%;
    display: block;
  }
}
.page .contents table td p {
  margin-bottom: 5px;
}
.page .contents table td p.small {
  font-size: 13px;
  margin-top: 5px;
  margin-bottom: 0;
}
@media only screen and (max-width:767px) {
  .page .contents table td p.small {
    font-size: 11px;
  }
}
.page .contents table td ul li {
  margin-bottom: 5px;
  position: relative;
}
.page .contents table td ul li:last-child {
  margin-bottom: 0;
}
.page .contents table.col-auto {
  table-layout: fixed;
  width: 100%;
}
.page .contents table.col-auto th, .page .contents table.col-auto td {
  border-right: 1px solid #ccc;
}
@media only screen and (max-width:767px) {
  .page .contents table.col-auto th, .page .contents table.col-auto td {
    display: table-cell;
    width: inherit;
  }
}
.page .contents table.col-type02 {
  table-layout: fixed;
}
.page .contents table.col-type02 th, .page .contents table.col-type02 td {
  border-right: 1px solid #dddddd;
  width: auto;
}
.page .contents table.col-type02 th:first-child, .page .contents table.col-type02 td:first-child {
  width: 200px;
}
@media only screen and (max-width:767px) {
  .page .contents table.col-type02 th:first-child, .page .contents table.col-type02 td:first-child {
    width: 100px;
  }
}
.page .contents table.sideways {
  table-layout: fixed;
}
.page .contents table.sideways th, .page .contents table.sideways td {
  width: auto;
  text-align: center;
  border-right: 1px solid #dddddd;
}
@media only screen and (max-width:767px) {
  .page .contents table.sideways th, .page .contents table.sideways td {
    display: block;
  }
}
@media only screen and (max-width:767px) {
  .page .contents table.sideways thead {
    width: 30%;
    float: left;
    display: block;
  }
  .page .contents table.sideways thead tr {
    width: 100%;
    display: block;
  }
  .page .contents table.sideways th {
    width: 100%;
    border-bottom: 1px solid #dddddd;
  }
  .page .contents table.sideways th:last-child {
    border-bottom: none;
  }
  .page .contents table.sideways tbody {
    width: 70%;
    float: left;
    display: block;
  }
  .page .contents table.sideways tbody tr {
    width: 100%;
    display: block;
  }
  .page .contents table.sideways td {
    border-right: none;
    border-bottom: 1px solid #dddddd;
  }
  .page .contents table.sideways td:last-child {
    border-bottom: none;
  }
}
.page .contents table.scroll {
  table-layout: fixed;
  display: table;
  border-collapse: separate;
  border-bottom: none;
}
@media only screen and (max-width:767px) {
  .page .contents table.scroll {
    overflow: auto;
    width: 800px;
  }
}
.page .contents table.scroll th, .page .contents table.scroll td {
  border-right: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  width: auto;
}
@media only screen and (max-width:767px) {
  .page .contents table.scroll th, .page .contents table.scroll td {
    display: revert;
  }
}
.page .contents table.scroll th:first-child, .page .contents table.scroll td:first-child {
  width: 200px;
  z-index: 5;
}
@media only screen and (max-width:767px) {
  .page .contents table.scroll th:first-child, .page .contents table.scroll td:first-child {
    width: 120px;
    border-left: 1px solid #dddddd;
  }
}
.page .contents table.scroll th:last-child, .page .contents table.scroll td:last-child {
  border-right: none;
}
@media only screen and (max-width:767px) {
  .page .contents table.scroll th:first-child {
    position: sticky;
    top: 0;
    left: 0;
  }
}
@media only screen and (max-width:767px) {
  .page .contents table.scroll th.title:first-child {
    width: 120px;
    z-index: 5;
  }
}
.page .contents table.scroll td {
  vertical-align: middle;
}
@media only screen and (max-width:767px) {
  .page .contents table.scroll td {
    width: auto;
  }
}
@media only screen and (max-width:767px) {
  .page .contents .scroll-col {
    overflow: auto;
    overflow-x: scroll;
  }
}
.page .contents .lesson-slider {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.page .contents .lesson-slider .swiper {
  width: 100%;
  position: relative;
}
@media only screen and (max-width:767px) {
  .page .contents .lesson-slider .swiper {
    width: 100%;
    padding: 0 45px;
  }
}
.page .contents .lesson-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  z-index: 0;
}
.page .contents .lesson-slider .swiper-slide {
  position: relative;
  width: 540px;
}
@media only screen and (max-width:767px) {
  .page .contents .lesson-slider .swiper-slide {
    padding: 0;
  }
}
.page .contents .lesson-slider .swiper-slide img {
  margin-bottom: 15px;
  width: 100%;
  border-radius: 10px;
}
@media only screen and (max-width:767px) {
  .page .contents .lesson-slider .swiper-slide img {
    margin-bottom: 5px;
  }
}
.page .main-article-teacher .item-col.profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile {
    display: block;
    text-align: center;
  }
}
.page .main-article-teacher .item-col.profile img {
  width: 300px;
  border-radius: 10px;
  margin-right: 50px;
  flex-shrinik: 0;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.profile img {
    width: 230px;
    margin-right: 40px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile img {
    width: 200px;
    margin: 0 auto 20px;
  }
}
.page .main-article-teacher .item-col.profile img.large {
  width: 500px;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.profile img.large {
    width: 400px;
  }
}
.page .main-article-teacher .item-col.profile .text {
  width: calc(100% - 300px);
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.profile .text {
    width: calc(100% - 230px);
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text {
    width: 100%;
  }
}
.page .main-article-teacher .item-col.profile .text .en {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-size: 12px;
  color: #d3cfe6;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text .en {
    font-size: 10px;
  }
}
.page .main-article-teacher .item-col.profile .text .name {
  font-weight: 900;
  font-size: 25px;
  margin-bottom: 25px;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.profile .text .name {
    font-size: 23px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text .name {
    font-size: 20px;
  }
}
@media only screen and (max-width:320px) {
  .page .main-article-teacher .item-col.profile .text .name {
    font-size: 18px;
  }
}
.page .main-article-teacher .item-col.profile .text .license {
  margin-top: 20px;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text .license {
    text-align: left;
  }
}
.page .main-article-teacher .item-col.profile .text .license .title {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 5px;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text .license .title {
    font-size: 14px;
  }
}
.page .main-article-teacher .item-col.profile .text .license .deco {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text .license .deco {
    display: block;
  }
}
.page .main-article-teacher .item-col.profile .text .license .deco li {
  width: auto;
  margin-right: 20px;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.profile .text .license .deco li {
    margin-right: 0;
  }
}
.page .main-article-teacher .item-col.profile .text .license .deco li:last-child {
  margin-right: 0;
}
.page .main-article-teacher .item-col.profile .text .license .mail img {
  border-radius: 0;
  margin-bottom: 0;
  width: 200px;
}
.page .main-article-teacher .item-col.message {
  background-color: #f5f4fa;
  padding: 40px 50px;
  border-radius: 10px;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.message {
    padding: 30px 40px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.message {
    padding: 25px;
  }
}
.page .main-article-teacher .item-col.message .title {
  font-weight: 900;
  font-size: 25px;
  margin-bottom: 25px;
  letter-spacing: 0.05em;
  font-size: 18px;
  margin-bottom: 15px;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.message .title {
    font-size: 23px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.message .title {
    font-size: 20px;
  }
}
@media only screen and (max-width:320px) {
  .page .main-article-teacher .item-col.message .title {
    font-size: 18px;
  }
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.message .title {
    font-size: 16px;
    margin-bottom: 10px;
  }
}
.page .main-article-teacher .item-col.career .catch-text {
  font-weight: 900;
  font-size: 25px;
  margin-bottom: 25px;
  letter-spacing: 0.05em;
  font-size: 16px;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.career .catch-text {
    font-size: 23px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.career .catch-text {
    font-size: 20px;
  }
}
@media only screen and (max-width:320px) {
  .page .main-article-teacher .item-col.career .catch-text {
    font-size: 18px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.career .catch-text {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.career table tr {
    background-color: #f3f3f3;
    border-bottom: 1px solid #dddddd;
  }
  .page .main-article-teacher .item-col.career table th, .page .main-article-teacher .item-col.career table td {
    height: 100%;
  }
  .page .main-article-teacher .item-col.career table th {
    width: 30%;
    display: inline-block;
  }
  .page .main-article-teacher .item-col.career table td {
    display: inline-block;
    width: 70%;
    background-color: #fff;
  }
}
.page .main-article-teacher .item-col.activity .title-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 25px;
  position: relative;
  z-index: 5;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity .title-item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 15px;
  }
}
.page .main-article-teacher .item-col.activity .title-item li {
  margin-right: 40px;
}
@media only screen and (max-width:1279px) {
  .page .main-article-teacher .item-col.activity .title-item li {
    margin-right: 30px;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity .title-item li {
    margin-right: 20px;
    width: auto;
    margin-bottom: 8px;
  }
}
.page .main-article-teacher .item-col.activity table th, .page .main-article-teacher .item-col.activity table td {
  width: 100%;
  display: block;
  border-bottom: none;
}
.page .main-article-teacher .item-col.activity table th {
  padding: 15px 18px;
}
.page .main-article-teacher .item-col.activity table td {
  /*続きを読む*/
}
.page .main-article-teacher .item-col.activity table td ul li {
  position: relative;
  padding-left: 15px;
}
.page .main-article-teacher .item-col.activity table td ul li:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #32276f;
  position: absolute;
  left: 0;
  top: 7px;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity table td ul li:before {
    top: 6px;
  }
}
.page .main-article-teacher .item-col.activity table td ul li .history_title, .page .main-article-teacher .item-col.activity table td ul li .history_detail {
  display: inline;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity table td ul li .history_title, .page .main-article-teacher .item-col.activity table td ul li .history_detail {
    display: block;
    margin-bottom: 0;
  }
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity table td ul li .history_title {
    font-weight: 700;
  }
}
.page .main-article-teacher .item-col.activity table td ul li .history_detail {
  font-size: 12px;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity table td ul li .history_detail {
    font-size: 11px;
  }
}
.page .main-article-teacher .item-col.activity table td .color {
  color: #eb6d79;
  margin-top: 8px;
}
.page .main-article-teacher .item-col.activity table td .cp_box *, .page .main-article-teacher .item-col.activity table td .cp_box *:before, .page .main-article-teacher .item-col.activity table td .cp_box *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.page .main-article-teacher .item-col.activity table td .cp_box {
  position: relative;
}
.page .main-article-teacher .item-col.activity table td .cp_box label {
  position: absolute;
  z-index: 1;
  bottom: 0;
  width: 100%;
  height: 140px; /* グラデーションの高さ */
  cursor: pointer;
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(90%, rgba(255, 255, 255, 0.95)));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.page .main-article-teacher .item-col.activity table td .cp_box input:checked + label {
  background: inherit; /* 開いた時にグラデーションを消す */
}
.page .main-article-teacher .item-col.activity table td .cp_box label:after {
  line-height: 2.5rem;
  position: absolute;
  z-index: 2;
  bottom: 20px;
  left: 50%;
  width: 10rem;
  content: "もっと見る";
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  color: #fff;
  border-radius: 3px;
  background-color: #32276f;
}
.page .main-article-teacher .item-col.activity table td .cp_box input {
  display: none;
}
.page .main-article-teacher .item-col.activity table td .cp_box .cp_container {
  overflow: hidden;
  height: 350px; /* 開く前に見えている部分の高さ */
}
.page .main-article-teacher .item-col.activity table td .cp_box input:checked + label {
  /* display: none ; 閉じるボタンを消す場合解放 */
}
.page .main-article-teacher .item-col.activity table td .cp_box input:checked + label:after {
  content: "閉じる";
  background-color: #dddddd;
}
.page .main-article-teacher .item-col.activity table td .cp_box input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
}
.page .main-article-teacher .item-col.activity table td .button-list-col {
  padding-left: 0;
}
.page .main-article-teacher .item-col.activity table td .button-list-col li {
  padding-left: 0;
  margin-bottom: 0;
}
@media only screen and (max-width:767px) {
  .page .main-article-teacher .item-col.activity table td .button-list-col li {
    margin-bottom: 10px;
  }
  .page .main-article-teacher .item-col.activity table td .button-list-col li:last-child {
    margin-bottom: 0;
  }
}
.page .main-article-teacher .item-col.activity table td .button-list-col li:before {
  content: none;
}
.page .main-article-teacher .item-col.activity table td .button-list-col:before {
  content: none;
}

/*明朝*/
/*シャドウ*/
body footer {
  margin-top: 0 !important;
}

.main-article-sub-major {
  font-size: 16px;
}
@media only screen and (max-width: 750px) {
  .main-article-sub-major {
    font-size: 14px;
  }
}
@media only screen and (max-width: 320px) {
  .main-article-sub-major {
    font-size: 13px;
  }
}
.main-article-sub-major main {
  padding-top: 58px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major main {
    padding-top: 42px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major main {
    padding-top: 40px;
  }
}
.main-article-sub-major .contents .inner {
  margin-left: 0;
  top: 3px;
}
@media screen and (min-width: 1280px) and (max-width: 1490px) {
  .main-article-sub-major .contents .inner {
    top: 0;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner {
    top: 0;
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  min-height: 750px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: calc(100vh - 70px);
  position: relative;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .mainimage {
    min-height: 600px;
    height: calc(100vh - 600px);
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage {
    min-height: 350px;
    height: calc(100vh - 700px);
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage h2 {
  position: absolute;
  top: 22%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  font-size: 60px;
  line-height: 1.5;
  text-shadow: 3px 3px 12px rgba(255, 255, 255, 0.2), -3px 3px 12px rgba(255, 255, 255, 0.2), 3px -3px 12px rgba(255, 255, 255, 0.2), -3px -3px 12px rgba(255, 255, 255, 0.2);
  z-index: 1;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .mainimage h2 {
    top: 25%;
    font-size: 45px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage h2 {
    top: 23%;
    font-size: 24px;
    width: 100%;
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage h2 span {
  display: block;
  font-size: 50px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .mainimage h2 span {
    font-size: 35px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage h2 span {
    font-size: 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage h2.fade-top {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.main-article-sub-major .contents .inner .page-col .mainimage .item {
  width: 50%;
  height: 100%;
  padding-top: 80px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: relative;
}
.main-article-sub-major .contents .inner .page-col .mainimage .item:first-of-type {
  background-image: url(../img/sub-major/mainimage01_pc.webp);
  padding-left: 80px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item:first-of-type {
    background-image: url(../img/sub-major/mainimage01_sp.webp);
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage .item:last-child {
  background-image: url(../img/sub-major/mainimage02_pc.webp);
  padding-left: 80px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item:last-child {
    background-image: url(../img/sub-major/mainimage02_sp.webp);
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage .item a {
  width: 60%;
  position: absolute;
  bottom: 28%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  border: 1px solid #fff;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  padding: 20px 20px 40px;
  line-height: 1.4;
  background-color: rgba(255, 255, 255, 0.1);
}
@media screen and (min-width: 1280px) and (max-width: 1490px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a {
    width: 62%;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a {
    width: 80%;
    bottom: 26%;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a {
    width: 88%;
    height: 95px;
    bottom: 23%;
    padding: 10px 5px 20px;
    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-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage .item a.fade-top {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.main-article-sub-major .contents .inner .page-col .mainimage .item a:before {
  content: "";
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  margin-inline: auto;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a:before {
    width: 6px;
    height: 6px;
    bottom: 10px;
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage .item a .name {
  font-size: 35px;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1280px) and (max-width: 1490px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a .name {
    font-size: 30px;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a .name {
    font-size: 22px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a .name {
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}
@media only screen and (max-width:360px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a .name {
    letter-spacing: 0;
  }
}
.main-article-sub-major .contents .inner .page-col .mainimage .item a .en-text {
  font-size: 20px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a .en-text {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .mainimage .item a .en-text {
    font-size: 11px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col {
  /*見出し*/
}
.main-article-sub-major .contents .inner .page-col .element-col .headline-col {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 30px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col .headline-col {
    margin: 0 auto 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col .headline-col .sub-text {
  font-weight: 900;
  font-size: 14px;
  display: inline-block;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col .headline-col .sub-text {
    font-size: 12px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col .headline-col .sub-text:after {
  content: "";
  width: 70px;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#17ca95), to(#2274c8));
  background: linear-gradient(to right, #17ca95, #2274c8);
  display: inline-block;
  position: relative;
  top: -4px;
  margin-left: 8px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col .headline-col .sub-text:after {
    width: 60px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col .headline-col .sub-text.green:after {
  background: #17ca95;
}
.main-article-sub-major .contents .inner .page-col .element-col .headline-col .sub-text.blue:after {
  background: #2274c8;
}
.main-article-sub-major .contents .inner .page-col .element-col .headline-col h2 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col .headline-col h2 {
    font-size: 26px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col .headline-col h2 {
    font-size: 22px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-image: url(../img/sub-major/about_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  padding-top: 85px;
  padding-bottom: 150px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about {
    padding-top: 45px;
    padding-bottom: 70px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about {
    background-image: url(../img/sub-major/about_bg_sp.webp);
    padding-top: 35px;
    padding-bottom: 55px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section {
  max-width: 1200px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section {
    padding: 0 20px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section p {
  font-size: 18px;
  line-height: 1.9;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section p {
    font-size: 15px;
    line-height: 1.6;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item {
    margin-bottom: 30px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type {
  position: relative;
  top: -15px;
}
.main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type img {
  -webkit-filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type img {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type {
    top: 0;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type:before {
  content: "";
  width: 243px;
  height: 243px;
  background-image: url(../img/sub-major/about_bg01.webp);
  background-size: 100%;
  position: absolute;
  left: -90px;
  bottom: -105px;
  display: inline-block;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type:before {
    width: 200px;
    height: 200px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type:before {
    content: none;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:first-of-type {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 47%;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:nth-of-type(2) {
    width: 85%;
    margin: 0 25px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:nth-of-type(2) {
    width: 100%;
    margin: 0 0 30px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type {
  position: relative;
  bottom: -55px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type {
    bottom: -25px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type img {
  -webkit-filter: drop-shadow(0px 0px 15px rgba(2, 105, 252, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(2, 105, 252, 0.3));
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type img {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(2, 105, 252, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(2, 105, 252, 0.3));
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type:before {
  content: "";
  width: 237px;
  height: 208px;
  background-image: url(../img/sub-major/about_bg02.webp);
  background-size: 100%;
  position: absolute;
  right: -120px;
  bottom: -155px;
  display: inline-block;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type:before {
    width: 200px;
    height: 176px;
    bottom: -105px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type:before {
    content: none;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.about section .item:last-of-type {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 47%;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit .headline-col {
  margin-bottom: 40px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit .headline-col {
    margin-bottom: 25px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit 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;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul {
    display: block;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li {
  width: 48%;
  position: relative;
  background-color: #fff;
  margin-bottom: 40px;
  padding: 45px 55px;
  display: block;
  z-index: auto;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li {
    width: 100%;
    margin-bottom: 20px;
    padding: 40px 45px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li {
    margin-bottom: 15px;
    padding: 25px 30px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(68, 210, 185, 0.2)), to(rgba(2, 105, 252, 0.2)));
  background: linear-gradient(90deg, rgba(68, 210, 185, 0.2), rgba(2, 105, 252, 0.2));
  -webkit-filter: blur(15px);
          filter: blur(15px);
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li:before {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li:after {
  content: "";
  position: absolute;
  width: 97%;
  height: 94%;
  border: 1px solid #e9e9e9;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li:after {
    height: 96%;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col {
    margin-bottom: 10px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col .number {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 30px;
  margin-right: 43px;
  position: relative;
  display: inline-block;
  top: -12px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col .number {
    font-size: 22px;
    margin-right: 25px;
    top: -6px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col .number:after {
  content: "";
  width: 1px;
  height: 60px;
  background-color: #000;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
  margin-left: 20px;
  position: absolute;
  right: -12px;
  top: 8px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col .number:after {
    height: 40px;
    right: -8px;
    top: 5px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col h3 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.3;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col h3 {
    font-size: 15px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col h3 span {
  font-size: 15px;
  margin-left: 5px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.merit ul li .item-headline-col h3 span {
    font-size: 12px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col {
  margin-bottom: 120px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col {
    margin-bottom: 80px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col section {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  position: relative;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col section:before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#dff5f2), to(#fff));
  background: linear-gradient(to bottom, #dff5f2, #fff);
  width: 100%;
  height: 90%;
  position: absolute;
  left: 0;
  right: 0;
  top: 500px;
  margin: auto;
  display: inline-block;
  z-index: -1;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col section:before {
    top: 0;
    height: 140%;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col section.blue:before {
  background: -webkit-gradient(linear, left top, left bottom, from(#e6f0fc), to(#fff));
  background: linear-gradient(to bottom, #e6f0fc, #fff);
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 0;
  margin-bottom: 80px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 50px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col {
    margin-bottom: 40px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col picture {
  margin-right: 75px;
  width: 40%;
}
@media screen and (min-width: 1280px) and (max-width: 1500px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col picture {
    width: 40%;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col picture {
    width: 100%;
    margin-right: 0;
    margin-bottom: 35px;
    display: block;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col picture {
    margin-bottom: 25px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col picture img {
  width: 100%;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
  max-width: 1200px;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  padding-left: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    padding: 0 20px;
  }
}
@media screen and (min-width: 1300px) and (max-width: 1699px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    padding-left: 35%;
  }
}
@media screen and (min-width: 1700px) and (max-width: 1999px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    padding-left: 30%;
  }
}
@media screen and (min-width: 2000px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    padding-left: 20%;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item {
    position: inherit;
    padding-left: 25px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .en-text {
  font-weight: 900;
  color: #17c996;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .en-text {
    font-size: 13px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item h2 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 35px;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item h2 {
    font-size: 25px;
    margin-bottom: 10px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .catch-text {
  font-weight: 700;
  font-size: 18px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.8;
  margin-bottom: 60px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .catch-text {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .catch-text {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 30px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .explain {
  background-color: #fff;
  padding: 25px 40px 35px;
  -webkit-filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
  border-top: 5px solid #17c996;
  line-height: 1.5;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .explain {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .explain {
    padding: 20px 25px 30px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .explain h3 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 23px;
  color: #17c996;
  margin-bottom: 10px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col .item .explain h3 {
    font-size: 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science picture {
  margin-left: 75px;
  margin-right: 0;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science picture {
    margin-left: 0;
    margin-right: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item {
  padding-left: 0;
  padding-right: 40%;
}
@media screen and (min-width: 1300px) and (max-width: 1699px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item {
    padding-right: 35%;
  }
}
@media screen and (min-width: 1700px) and (max-width: 1999px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item {
    padding-right: 30%;
  }
}
@media screen and (min-width: 2000px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item {
    padding-right: 20%;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item {
    position: inherit;
    padding-right: 25px;
    padding-left: 25px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item .en-text {
  color: #2274c8;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item .explain {
  -webkit-filter: drop-shadow(0px 0px 15px rgba(2, 105, 252, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(2, 105, 252, 0.3));
  border-top: 5px solid #2274c8;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item .explain {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(2, 105, 252, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(2, 105, 252, 0.3));
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .main-col.data-science .item .explain h3 {
  color: #2274c8;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col {
  max-width: 1200px;
  margin: auto;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col {
    padding: 0 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 65px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul {
    display: block;
    margin-bottom: 40px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li {
  width: 31%;
  background-color: #fff;
  padding: 30px 40px 35px;
  position: relative;
  -webkit-filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li {
    width: 100%;
    padding: 30px 40px;
    margin-bottom: 20px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li {
    padding: 20px 25px 25px;
    margin-bottom: 15px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li:after {
  content: "";
  position: absolute;
  width: 95%;
  height: 95%;
  border: 1px solid #e9e9e9;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li:after {
    width: 97%;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li h3 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  border-bottom: 1px solid #17c996;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features ul li h3 {
    font-size: 16px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features .field {
  background-color: #fff;
  border: 5px solid #dbefec;
  padding: 40px 50px;
  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;
  margin-bottom: 65px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features .field {
    display: block;
    padding: 20px 35px 25px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features .field {
    padding: 18px 25px 20px;
    margin-bottom: 45px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features .field h3 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 20px;
  margin-right: 50px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features .field h3 {
    font-size: 16px;
    margin-right: 0;
    margin-bottom: 8px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features.blue ul li {
  -webkit-filter: drop-shadow(0px 0px 15px rgba(2, 105, 252, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(2, 105, 252, 0.3));
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features.blue ul li {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(2, 105, 252, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(2, 105, 252, 0.3));
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features.blue ul li h3 {
  border-bottom: 1px solid #2274c8;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.features.blue .field {
  border: 5px solid #dae7f8;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
          filter: drop-shadow(0px 0px 15px rgba(68, 210, 185, 0.3));
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview {
    -webkit-filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
            filter: drop-shadow(0px 0px 10px rgba(68, 210, 185, 0.3));
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview {
    display: block;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child {
  width: 500px;
  background-color: #17c996;
  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;
  text-align: left;
  color: #fff;
  padding: 0 50px;
  font-size: 13px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child {
    width: 300px;
    padding: 0 20px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child {
    width: 100%;
    padding: 20px 25px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child h2 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 25px;
  line-height: 1.4;
  margin-bottom: 15px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child h2 {
    font-size: 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child img {
  margin-bottom: 10px;
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child .name {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child .name {
    font-size: 16px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child .en-text {
  font-size: 12px;
  margin-bottom: 8px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:first-child .en-text {
    font-size: 10px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child {
  width: calc(100% - 500px);
  background-color: #fff;
  background-image: linear-gradient(#f5f5f5 1px, transparent 1px), linear-gradient(to right, #f5f5f5 1px, #fff 1px);
  background-size: 18px 18px;
  padding: 50px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child {
    width: calc(100% - 300px);
    padding: 40px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child {
    width: 100%;
    padding: 25px 25px 30px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul {
  margin: 0 auto;
  width: 100%;
  height: 500px;
  overflow-y: scroll;
  scrollbar-color: #b8b8b8 #ebebeb;
  scrollbar-width: thin;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul {
    height: 400px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul li {
  padding-right: 20px;
  margin-bottom: 25px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul li {
    padding-right: 10px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul li .question {
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 16px;
  position: relative;
  padding-left: 28px;
  line-height: 1.4;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul li .question {
    font-size: 15px;
    padding-left: 23px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul li .question:before {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #17c996;
  position: absolute;
  left: 0;
  top: 13px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.dep-col .item-col.interview .item:last-child ul li .question:before {
    width: 15px;
    top: 10px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-image: url(../img/sub-major/faq_bg_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 65px 0 105px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq {
    padding: 35px 0 75px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq {
    background-image: url(../img/sub-major/faq_bg_sp.webp);
    padding: 30px 0 50px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section {
  max-width: 1200px;
  margin: auto;
}
@media screen and (min-width: 1025px) and (max-width: 1160px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section {
    max-width: 100%;
    padding: 0 60px;
  }
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section {
    padding: 0 40px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section {
    padding: 0 25px;
  }
}
@media only screen and (max-width:320px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section {
    padding: 0 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section h2 {
  color: #fff;
  text-shadow: 0px 0px 10px rgb(44, 97, 113);
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .sub-text {
  color: #fff;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .sub-text:after {
  content: "";
  width: 70px;
  height: 1px;
  background: #fff;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .accordion {
  background-color: #fff;
  margin: auto;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .toggle {
  display: none;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .option {
  position: relative;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title,
.main-article-sub-major .contents .inner .page-col .element-col.faq section .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title {
  padding: 30px 60px 30px 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: bold;
  position: relative;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title {
    padding: 25px 60px 25px 80px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title {
    padding: 18px 40px 18px 58px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title span {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 25px;
  margin-right: 10px;
  position: absolute;
  left: 50px;
  top: 20px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title span {
    left: 30px;
    top: 14px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title span {
    font-size: 20px;
    left: 20px;
    top: 11px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title .icon {
  font-size: 12px;
  padding: 2px 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 5px;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title .icon {
    font-size: 10px;
    padding: 1px 6px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title .icon.green {
  color: #17ca95;
  border: 1px solid #17ca95;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title .icon.blue {
  color: #2274c8;
  border: 1px solid #2274c8;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title::after,
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title::before {
  content: "";
  position: absolute;
  right: 40px;
  top: 50%;
  margin-top: -6px;
  width: 2px;
  height: 1em;
  background-color: #000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title::after,
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .title::before {
    right: 20px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .title::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .content {
  max-height: 0;
  overflow: hidden;
  border-bottom: solid 1px #dfdfdf;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .content p {
  margin: 0;
  padding: 0 60px 25px 100px;
}
@media only screen and (max-width:1279px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .content p {
    padding: 0 40px 25px 80px;
  }
}
@media only screen and (max-width:767px) {
  .main-article-sub-major .contents .inner .page-col .element-col.faq section .content p {
    padding: 0 25px 25px 25px;
  }
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .toggle:checked + .title + .content {
  max-height: 500px;
  -webkit-transition: all 1.5s;
  transition: all 1.5s;
}
.main-article-sub-major .contents .inner .page-col .element-col.faq section .toggle:checked + .title::before {
  -webkit-transform: rotate(90deg) !important;
          transform: rotate(90deg) !important;
}