@charset "UTF-8";
/*-------------------------------------------
 variable
-------------------------------------------*/
/***  color  ***/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
.blue {
  color: #2d84f2; }

.red {
  color: #ec1212; }

/***  font-size  ***/
/***  screen  ***/
/***  font(NotoSansJP)  ***/
/***  point  ***/
/*-------------------------------------------
 reset
-------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, button, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
main {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline; }

ol, ul {
  list-style: none; }

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

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  -webkit-appearance: none !important;
  border-radius: 0; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*-------------------------------------------
 style
-------------------------------------------*/
/***  tag  ***/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 52.5%; } }

body {
  font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
  font-weight: 400;
  color: #333333;
  font-size: 1.6rem;
  text-size-adjust: 100%;
  line-height: 1; }

ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  ul li {
    list-style-type: none; }

button {
  background: none;
  border: none;
  padding: 0; }

a {
  color: #333333;
  text-decoration: none;
  transition: all ease-in-out .2s; }
  a:hover {
    opacity: 0.6;
    transition: all ease-in-out .2s; }
    @media screen and (max-width: 767px) {
      a:hover {
        opacity: 1.0; } }

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

table tbody {
  -webkit-text-size-adjust: 100%; }

body main .content .mb1,
body main .content.lower .mb1,
body main.content .mb1 {
  margin-bottom: 1.0rem; }
body main .content .mb4,
body main .content.lower .mb4,
body main.content .mb4 {
  margin-bottom: 4.0rem; }
body main .content .mt0,
body main .content.lower .mt0,
body main.content .mt0 {
  margin-top: 0.0rem; }
body main .content .mt1,
body main .content.lower .mt1,
body main.content .mt1 {
  margin-top: 1.0rem; }
body main .content .mt-2,
body main .content.lower .mt-2,
body main.content .mt-2 {
  margin-top: -2.0rem; }
body main .content .mt-4,
body main .content.lower .mt-4,
body main.content .mt-4 {
  margin-top: -4.0rem; }
body main .content .tl,
body main .content.lower .tl,
body main.content .tl {
  text-align: left; }
body main .content .tr,
body main .content.lower .tr,
body main.content .tr {
  text-align: right; }
body main .content .tc,
body main .content.lower .tc,
body main.content .tc {
  text-align: center; }
body main .content .db,
body main .content.lower .db,
body main.content .db {
  display: block; }

.none {
  display: none; }

.ing {
  background: #000000;
  color: #ffffff;
  font-weight: 700;
  font-size: 10.0rem;
  line-height: 1.0;
  text-align: center;
  display: block;
  padding-top: 8.0rem;
  padding-bottom: 8.0rem; }

/***  common header  ***/
.bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.75);
  display: none; }

.mask {
  overflow: hidden;
  position: relative;
  height: 100%; }

.header-top {
  background: #ffffff;
  max-width: 1200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 9.0rem;
  padding-left: 2.0rem;
  padding-right: 2.0rem;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 959px) {
    .header-top {
      border-bottom: 1px solid #f3f3f3;
      width: 100%;
      position: fixed;
      top: 0;
      z-index: 999; } }
  @media screen and (max-width: 767px) {
    .header-top {
      height: 5.6rem;
      padding-left: 1.0rem;
      padding-right: 0; } }
  .header-top a {
    display: block; }
  .header-top .left {
    width: 30.0rem; }
    @media screen and (max-width: 767px) {
      .header-top .left {
        width: calc(100% - 22.0rem);
        padding-top: 0.5rem;
        padding-bottom: 0.5rem; } }
    .header-top .left img {
      width: 100%;
      height: auto; }
      @media screen and (max-width: 767px) {
        .header-top .left img {
          max-width: 24.0rem; } }
      @media screen and (max-width: 767px) {
        .header-top .left img.pc {
          display: none; } }
      .header-top .left img.sp {
        display: none; }
        @media screen and (max-width: 767px) {
          .header-top .left img.sp {
            display: block; } }
  .header-top .right {
    width: 60.0rem;
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    @media screen and (max-width: 959px) {
      .header-top .right {
        width: 46.5rem; } }
    @media screen and (max-width: 767px) {
      .header-top .right {
        width: 22.0rem;
        height: 100%; } }
    .header-top .right > div {
      margin-left: 1.5rem; }
      .header-top .right > div:nth-of-type(1) {
        margin-left: 0; }
      @media screen and (max-width: 767px) {
        .header-top .right > div {
          height: 100%;
          margin-left: 0; } }
    .header-top .right:nth-of-type(1) {
      margin-left: 0; }
    .header-top .right .header-phone {
      text-align: center;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 959px) {
        .header-top .right .header-phone {
          display: none; } }
      .header-top .right .header-phone .phone {
        font-size: 3rem;
        padding-left: 2.2rem;
        margin-bottom: 0.5rem;
        position: relative; }
        .header-top .right .header-phone .phone::before {
          content: "";
          background-image: url(../img/common/icon_phone_01.svg);
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom;
          width: 1.8rem;
          height: 1.8rem;
          position: absolute;
          top: 0.8rem;
          left: 0; }
      .header-top .right .header-phone .phone-time {
        font-size: 1.2rem;
        padding-left: 2.2rem; }
    .header-top .right .header-contat, .header-top .right .header-access {
      text-align: center; }
      .header-top .right .header-contat a, .header-top .right .header-access a {
        background: #f3f3f3;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 6.0rem;
        border-radius: 0.6rem;
        padding: 0 1rem 1rem; }
        @media screen and (max-width: 767px) {
          .header-top .right .header-contat a, .header-top .right .header-access a {
            background: none;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 0;
            border-left: 1px solid #f3f3f3;
            padding: 0 0.5rem; } }
        .header-top .right .header-contat a .txt, .header-top .right .header-access a .txt {
          font-size: 1.2rem; }
    .header-top .right .header-contat img {
      height: 2.2rem;
      margin-bottom: 0.5rem; }
    .header-top .right .header-access img {
      height: 3.0rem;
      margin-bottom: 0.2rem; }
    .header-top .right .header-nyukai {
      background: #ffd700;
      border-radius: 0.6rem; }
      @media screen and (max-width: 959px) {
        .header-top .right .header-nyukai {
          display: none; } }
      .header-top .right .header-nyukai a {
        font-weight: 700;
        color: #261a0c;
        display: flex;
        align-items: center;
        padding-left: 2.5rem;
        padding-right: 2.5rem; }
    .header-top .right .icon-menu-wrap {
      display: none; }
      @media screen and (max-width: 959px) {
        .header-top .right .icon-menu-wrap {
          background: #ffd700;
          width: 6.4rem;
          height: 6.0rem;
          padding: 1.0rem;
          border-radius: 0.2rem;
          display: block;
          cursor: pointer;
          z-index: 999; } }
      @media screen and (max-width: 767px) {
        .header-top .right .icon-menu-wrap {
          width: 5.5rem;
          height: 100%;
          border-radius: 0; } }
      .header-top .right .icon-menu-wrap .menu {
        position: relative;
        width: 100%;
        height: 100%; }
        .header-top .right .icon-menu-wrap .menu.open span.line-1 {
          bottom: 0;
          margin: auto;
          transform: rotate(45deg); }
        .header-top .right .icon-menu-wrap .menu.open span.line-2 {
          opacity: 0.0;
          left: 6.0rem; }
        .header-top .right .icon-menu-wrap .menu.open span.line-3 {
          top: 0;
          margin: auto;
          transform: rotate(-45deg); }
        .header-top .right .icon-menu-wrap .menu span {
          background: #ffffff;
          display: block;
          width: 100%;
          height: 0.4rem;
          position: absolute;
          right: 0;
          transition: all ease-out .3s; }
          .header-top .right .icon-menu-wrap .menu span.line-1 {
            top: 0.2rem; }
          .header-top .right .icon-menu-wrap .menu span.line-2 {
            opacity: 1.0;
            top: calc(50% - 0.2rem); }
          .header-top .right .icon-menu-wrap .menu span.line-3 {
            bottom: 0.2rem; }

.header-bottom {
  background: #49bf7a; }
  @media screen and (max-width: 959px) {
    .header-bottom {
      overflow: auto; } }
  .header-bottom ul.nav-top {
    max-width: 1200px;
    display: flex;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media screen and (max-width: 959px) {
      .header-bottom ul.nav-top {
        display: none; } }
    .header-bottom ul.nav-top li {
      width: 16.666%;
      position: relative; }
      .header-bottom ul.nav-top li::before {
        content: "";
        border-right: 1px dashed #ffffff;
        height: calc(100% - 2.0rem);
        position: absolute;
        top: 1.0rem;
        left: 0; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li::before {
            border-right: none; } }
      .header-bottom ul.nav-top li:nth-last-of-type(1)::after {
        content: "";
        border-right: 1px dashed #ffffff;
        height: calc(100% - 2.0rem);
        position: absolute;
        top: 1.0rem;
        right: 0; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li:nth-last-of-type(1)::after {
            border-right: none; } }
      .header-bottom ul.nav-top li a {
        color: #ffffff;
        font-size: 1.6rem;
        text-align: center;
        display: block;
        padding-top: 2.0rem;
        padding-bottom: 2.0rem;
        position: relative; }
        @media screen and (max-width: 959px) {
          .header-bottom ul.nav-top li a {
            color: #49bf7a;
            font-weight: 500;
            text-align: left;
            padding-left: 2.0rem;
            padding-right: 2.0rem;
            border-bottom: 1px dashed #cccccc; }
            .header-bottom ul.nav-top li a::after {
              content: '';
              width: 1.0rem;
              height: 1.0rem;
              border-top: solid 2px #49bf7a;
              border-right: solid 2px #49bf7a;
              transform: rotate(45deg);
              position: absolute;
              top: calc(50% - 0.5rem);
              right: 1.5rem; } }
  @media screen and (max-width: 959px) {
    .header-bottom {
      background: #fafafa;
      display: none;
      width: 100%;
      height: 100%;
      position: fixed;
      top: 97px;
      z-index: 999; }
      .header-bottom.open {
        display: block; } }
  .header-bottom ul.nav-top-menu {
    max-width: 1200px;
    display: none;
    flex-direction: column;
    position: relative; }
    @media screen and (max-width: 959px) {
      .header-bottom ul.nav-top-menu {
        display: flex; } }
    @media screen and (max-width: 959px) {
      .header-bottom ul.nav-top-menu li a {
        color: #49bf7a;
        font-weight: 500;
        font-size: 1.6rem;
        text-align: left;
        display: block;
        padding: 2.0rem;
        border-bottom: 1px dashed #cccccc;
        position: relative; }
        .header-bottom ul.nav-top-menu li a::after {
          content: '';
          width: 1.0rem;
          height: 1.0rem;
          border-top: solid 2px #49bf7a;
          border-right: solid 2px #49bf7a;
          transform: rotate(45deg);
          position: absolute;
          top: calc(50% - 0.5rem);
          right: 1.5rem; } }
    @media screen and (max-width: 767px) {
      .header-bottom ul.nav-top-menu li a {
        font-size: 1.8rem; } }
  .header-bottom .exit {
    display: none; }
    @media screen and (max-width: 959px) {
      .header-bottom .exit {
        background: #49bf7a;
        color: #ffffff;
        display: inline-block;
        padding: 2.0rem 2.0rem 2.0rem 2.0rem;
        border-radius: 0.2rem;
        margin-top: 2.0rem;
        margin-left: 2.0rem;
        margin-bottom: 12.0rem;
        cursor: pointer; }
        .header-bottom .exit span {
          font-weight: 500;
          font-size: 2rem;
          padding-left: 1.0rem;
          position: relative;
          top: 0.2rem; } }

.nav-tab {
  display: none; }
  @media screen and (max-width: 959px) {
    .nav-tab {
      width: 100%;
      display: flex;
      padding-top: 9.0rem; } }
  @media screen and (max-width: 959px) and (max-width: 767px) {
    .nav-tab {
      padding-top: 5.6rem; } }
  @media screen and (max-width: 959px) {
      .nav-tab a {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem; }
      .nav-tab .header-phone {
        background: #d6f5e3;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 50%; } }
    @media screen and (max-width: 959px) and (max-width: 340px) {
      .nav-tab .header-phone {
        width: 60%; } }
  @media screen and (max-width: 959px) {
        .nav-tab .header-phone .phone {
          font-size: 3rem;
          display: inline-block;
          padding-left: 2.2rem;
          margin-bottom: 0.5rem;
          position: relative; } }
      @media screen and (max-width: 959px) and (max-width: 767px) {
        .nav-tab .header-phone .phone {
          font-weight: 500;
          font-size: 2rem; } }
  @media screen and (max-width: 959px) {
          .nav-tab .header-phone .phone::before {
            content: "";
            background-image: url(../img/common/icon_phone_01.svg);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center bottom;
            width: 1.8rem;
            height: 1.8rem;
            position: absolute;
            top: 0.8rem;
            left: 0; }
        .nav-tab .header-phone .phone-time {
          font-size: 1.2rem;
          padding-left: 2.2rem; }
      .nav-tab .header-nyukai {
        background: #f5f0d4;
        width: 50%;
        border-radius: 0; } }
    @media screen and (max-width: 959px) and (max-width: 340px) {
      .nav-tab .header-nyukai {
        width: 40%; } }
  @media screen and (max-width: 959px) {
        .nav-tab .header-nyukai a {
          font-weight: 700;
          color: #261a0c;
          display: flex;
          height: 100%;
          justify-content: center;
          align-items: center;
          padding-left: 2.5rem;
          padding-right: 2.5rem; } }

/***  common bottom  ***/
.footer-top {
  background: #f5f0d4;
  padding-top: 5.0rem;
  padding-bottom: 5.0rem; }
  @media screen and (max-width: 767px) {
    .footer-top {
      padding-top: 3.0rem;
      padding-bottom: 3.0rem; } }
  .footer-top .footer-top-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    display: flex;
    justify-content: space-between; }
  .footer-top .footer-left ul.address li {
    font-size: 1.6rem;
    margin-bottom: 1.0rem; }
    .footer-top .footer-left ul.address li a {
      display: block; }
      .footer-top .footer-left ul.address li a img {
        width: 34.0rem;
        margin-bottom: 1.0rem; }
        @media screen and (max-width: 767px) {
          .footer-top .footer-left ul.address li a img {
            width: 100%;
            height: auto; } }
  .footer-top .footer-right {
    display: flex;
    justify-content: flex-end;
    margin-top: 1.0rem; }
    @media screen and (max-width: 767px) {
      .footer-top .footer-right {
        display: none; } }
    .footer-top .footer-right .nav-left ul.nav-bottom-service {
      display: flex;
      flex-direction: column; }
      .footer-top .footer-right .nav-left ul.nav-bottom-service li {
        margin-bottom: 2.0rem; }
        .footer-top .footer-right .nav-left ul.nav-bottom-service li a {
          color: #49bf7a;
          font-size: 1.6rem; }
    .footer-top .footer-right .nav-right {
      margin-left: 4.0rem; }
      .footer-top .footer-right .nav-right ul.nav-bottom-info,
      .footer-top .footer-right .nav-right ul.nav-bottom-supple {
        display: flex;
        flex-direction: column; }
        .footer-top .footer-right .nav-right ul.nav-bottom-info li,
        .footer-top .footer-right .nav-right ul.nav-bottom-supple li {
          margin-bottom: 2.0rem; }
          .footer-top .footer-right .nav-right ul.nav-bottom-info li a,
          .footer-top .footer-right .nav-right ul.nav-bottom-supple li a {
            color: #49bf7a;
            font-size: 1.6rem; }

.footer-bottom {
  background: #49bf7a;
  color: #ffffff;
  font-size: 1.4rem;
  text-align: center;
  padding-top: 2.0rem;
  padding-bottom: 2.0rem; }

/***  common  ***/
main article {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 6.0rem;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }
  @media screen and (max-width: 767px) {
    main article {
      margin-bottom: 4.0rem;
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }

ul.bread {
  display: flex;
  max-width: 1200px;
  margin: 1.0rem auto;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }
  @media screen and (max-width: 767px) {
    ul.bread {
      flex-wrap: wrap; } }
  ul.bread li {
    font-size: 1.4rem;
    line-height: 1.3;
    padding-right: 3.0rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      ul.bread li {
        line-height: 1.6; } }
    ul.bread li::after {
      content: '';
      width: 0.6rem;
      height: 0.6rem;
      border-top: solid 1px #999999;
      border-right: solid 1px #999999;
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 1.3rem;
      margin-top: -0.2rem; }
    ul.bread li:nth-last-of-type(1)::after {
      content: none; }
    ul.bread li a {
      color: #49bf7a; }

h2.heading {
  color: #261a0c;
  font-weight: 700;
  font-size: 3.2rem;
  text-align: center;
  margin-top: 6.0rem; }
  @media screen and (max-width: 767px) {
    h2.heading {
      font-size: 2.8rem;
      margin-top: 4.0rem; } }
  h2.heading span {
    font-weight: 400;
    color: #999999;
    font-size: 2rem;
    display: block;
    margin-top: 1.5rem;
    margin-bottom: 3.0rem; }

.service-wrap .heading {
  margin-top: 0; }

h2.headline {
  color: #261a0c;
  font-weight: 700;
  font-size: 2.8rem;
  font-feature-settings: "palt";
  line-height: 1.3;
  padding: 0 0.5rem 1.0rem 1.5rem;
  border-bottom: 3px solid #261a0c;
  margin-top: 6.0rem;
  margin-bottom: 6.0rem; }
  @media screen and (max-width: 767px) {
    h2.headline {
      font-size: 2.6rem;
      padding-left: 0.5rem;
      margin-top: 4.0rem;
      margin-bottom: 4.0rem; } }
  h2.headline + h2 {
    margin-top: -4.0rem;
    margin-bottom: 6.0rem; }
    @media screen and (max-width: 767px) {
      h2.headline + h2 {
        margin-top: -2.0rem;
        margin-bottom: 4.0rem; } }
  h2.headline + p {
    margin-top: -4.0rem; }
    @media screen and (max-width: 767px) {
      h2.headline + p {
        margin-top: -2.0rem;
        margin-bottom: 0; } }
  h2.headline + figure {
    margin-top: -4.0rem;
    margin-bottom: 6.0rem; }
    @media screen and (max-width: 767px) {
      h2.headline + figure {
        margin-top: -2.0rem;
        margin-bottom: 4.0rem; } }

.content-wrap h2.headline {
  margin-top: 0; }
  @media screen and (max-width: 767px) {
    .content-wrap h2.headline {
      margin-top: 2.0rem; } }

h2.conten-title {
  color: #261a0c;
  font-size: 3.2rem;
  text-align: center;
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  h2.conten-title span {
    display: block; }

.user h2.headline-single {
  color: #261a0c;
  font-weight: 700;
  font-size: 2.8rem;
  font-feature-settings: "palt";
  line-height: 1.3;
  padding: 0 0.5rem 1.0rem 1.5rem;
  border-bottom: 3px solid #261a0c;
  margin-top: 3.0rem;
  margin-bottom: 3.0rem; }
.user h2 {
  color: #261a0c;
  font-weight: 700;
  font-size: 2.8rem;
  font-feature-settings: "palt";
  line-height: 1.3;
  padding: 0;
  margin-top: 6.0rem;
  margin-bottom: 3.0rem; }
.user h3 {
  color: #261a0c;
  font-size: 2.4rem;
  line-height: 1.3;
  padding: 0.4rem 0 0.5rem 1.5rem;
  border-left: 4px solid #2d84f2;
  margin-top: 6.0rem;
  margin-bottom: 2.0rem; }

h3.sub-headline {
  color: #261a0c;
  font-size: 2.4rem;
  line-height: 1.3;
  padding: 0.4rem 1.0rem 0.5rem 1.5rem;
  border-left: 4px solid #2d84f2;
  margin-top: 6.0rem;
  margin-bottom: 2.0rem; }

h5.subheading {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.3;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }

p {
  font-size: 1.8rem;
  line-height: 2.0;
  text-align: justify;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }

strong {
  font-weight: 700; }

b {
  font-weight: 700; }

.page-top {
  background: #49bf7a;
  height: 6.0rem;
  width: 6.0rem;
  padding: 1.5rem 1.8rem 2.0rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6.0rem;
  position: fixed;
  bottom: 2.0rem;
  right: 2.0rem;
  cursor: pointer;
  z-index: 998;
  transition: all ease-in-out .2s; }
  .page-top:hover {
    opacity: 0.6;
    transition: all ease-in-out .2s; }
    @media screen and (max-width: 767px) {
      .page-top:hover {
        opacity: 1.0; } }
  .page-top img {
    width: 100%;
    height: auto; }

@media screen and (max-width: 959px) {
  .anchor {
    opacity: 0;
    display: block;
    margin-top: -5.0rem;
    padding-top: 5.0rem;
    z-index: 1;
    position: relative; } }

a.jump {
  font-feature-settings: "palt";
  padding-right: 3.0rem;
  position: relative; }
  a.jump::after {
    content: '';
    background: url("../img/common/icon_jump_01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position-x: 1.0rem;
    width: 2.6rem;
    height: 1.6rem;
    position: absolute;
    bottom: 0.4rem; }

ul.menu-side {
  width: 100%; }
  ul.menu-side > li:nth-last-of-type(1) {
    border-bottom: 1px solid #49bf7a;
    border-bottom-left-radius: 0.2rem;
    border-bottom-right-radius: 0.2rem; }
  ul.menu-side li.head {
    background: #49bf7a;
    border-top-left-radius: 0.2rem;
    border-top-right-radius: 0.2rem; }
    ul.menu-side li.head a {
      display: flex;
      padding: 1.5rem 4.5rem 1.5rem 1.0rem;
      align-items: center;
      position: relative; }
      ul.menu-side li.head a::after {
        content: '';
        background: url("../img/common/icon_arrow_01.svg");
        background-size: cover;
        width: 18px;
        height: 18px;
        position: absolute;
        right: 1.5rem; }
      ul.menu-side li.head a figure {
        width: 20px; }
        ul.menu-side li.head a figure img {
          width: 100%;
          height: auto; }
      ul.menu-side li.head a h3 {
        color: #ffffff;
        font-size: 1.8rem;
        font-weight: normal;
        line-height: 1.3;
        width: calc(100% - 20px);
        min-height: 20px;
        padding-left: 1.0rem; }
  ul.menu-side li.item-list-wrap {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #49bf7a;
    border-right: 1px solid #49bf7a;
    border-left: 1px solid #49bf7a;
    /* deploy end */ }
    ul.menu-side li.item-list-wrap .title {
      width: calc(100% - 45px); }
      ul.menu-side li.item-list-wrap .title.one {
        width: 100%; }
        ul.menu-side li.item-list-wrap .title.one a {
          text-align: justify;
          padding-right: 5.0rem;
          position: relative; }
          ul.menu-side li.item-list-wrap .title.one a::after {
            content: '';
            width: 1.2rem;
            height: 1.2rem;
            border-top: solid 1px #999999;
            border-right: solid 1px #999999;
            transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 0.6rem);
            right: 1.3rem; }
          ul.menu-side li.item-list-wrap .title.one a.jump::after {
            width: 2.6rem;
            height: 1.6rem;
            border: none;
            transform: rotate(0deg);
            top: calc(50% - 0.8rem); }
      ul.menu-side li.item-list-wrap .title a {
        color: #261a0c;
        font-size: 1.6rem;
        font-feature-settings: "palt";
        line-height: 1.3;
        padding: 1.5rem 1.0rem 1.5rem 1.5rem;
        display: block; }
    ul.menu-side li.item-list-wrap .deploy {
      width: 45px;
      border-left: 1px dotted #49bf7a;
      position: relative;
      outline: none;
      cursor: pointer; }
      ul.menu-side li.item-list-wrap .deploy.open span.line-1 {
        opacity: 0.0;
        bottom: 6.0rem; }
      ul.menu-side li.item-list-wrap .deploy span {
        background: #2d84f2;
        display: block;
        width: calc(100% - 2.0rem);
        height: 2px;
        position: absolute;
        right: 0;
        transition: all ease-out .3s; }
        @media screen and (max-width: 767px) {
          ul.menu-side li.item-list-wrap .deploy span {
            width: calc(100% - 3.0rem); } }
        ul.menu-side li.item-list-wrap .deploy span.line-1 {
          top: calc(50% - 1px);
          left: 1.0rem;
          transform: rotate(90deg); }
          @media screen and (max-width: 767px) {
            ul.menu-side li.item-list-wrap .deploy span.line-1 {
              left: 1.5rem; } }
        ul.menu-side li.item-list-wrap .deploy span.line-2 {
          opacity: 1.0;
          top: calc(50% - 1px);
          left: 1.0rem; }
          @media screen and (max-width: 767px) {
            ul.menu-side li.item-list-wrap .deploy span.line-2 {
              left: 1.5rem; } }
    ul.menu-side li.item-list-wrap ul.item-list {
      width: 100%;
      display: none; }
      ul.menu-side li.item-list-wrap ul.item-list.open {
        display: block; }
      ul.menu-side li.item-list-wrap ul.item-list li.item {
        border-top: 1px dotted #49bf7a; }
        ul.menu-side li.item-list-wrap ul.item-list li.item a {
          font-size: 1.6rem;
          font-feature-settings: "palt";
          line-height: 1.3;
          color: #2d84f2;
          padding: 1.5rem 3.0rem 1.5rem 1.5rem;
          display: block;
          position: relative; }
          ul.menu-side li.item-list-wrap ul.item-list li.item a::after {
            content: '';
            width: 1.2rem;
            height: 1.2rem;
            border-top: solid 1px #2d84f2;
            border-right: solid 1px #2d84f2;
            transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 0.6rem);
            right: 1.3rem; }
          ul.menu-side li.item-list-wrap ul.item-list li.item a.jump::after {
            background-image: url(../img/common/icon_jump_02.svg);
            width: 2.6rem;
            height: 1.6rem;
            border: none;
            transform: rotate(0deg);
            top: calc(50% - 0.8rem); }

/***  top  ***/
.content-info {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start; }
  .content-info .news-wrap {
    width: calc(100% - 26.0rem);
    padding-right: 3.0rem; }
    @media screen and (max-width: 959px) {
      .content-info .news-wrap {
        width: 100%;
        padding-right: 0;
        margin-bottom: 3.0rem; } }
  .content-info .news-supple {
    width: 26.0rem; }
    @media screen and (max-width: 959px) {
      .content-info .news-supple {
        width: 100%;
        display: flex;
        flex-wrap: wrap; } }
    .content-info .news-supple .news-supple-inner {
      width: 100%; }
      @media screen and (max-width: 959px) {
        .content-info .news-supple .news-supple-inner {
          width: 70%;
          padding-right: 2.5rem; } }
      @media screen and (max-width: 767px) {
        .content-info .news-supple .news-supple-inner {
          width: 100%;
          margin-bottom: 1.0rem;
          padding-right: 0; } }

.tab-lab-1,
.tab-lab-2,
.tab-lab-3,
.tab-lab-4,
.tab-lab-5 {
  background: #d6f5e3;
  color: #261a0c;
  font-size: 1.5rem;
  text-align: center;
  display: inline-block;
  border-top: 2px solid transparent;
  border-right: 2px solid transparent;
  border-left: 2px solid transparent;
  border-radius: 0.6rem 0.6rem 0 0;
  padding: 1.5rem 2.5rem;
  margin-left: 1.0rem;
  z-index: 900;
  cursor: pointer;
  transition: all ease-in-out .2s; }
  @media screen and (max-width: 767px) {
    .tab-lab-1,
    .tab-lab-2,
    .tab-lab-3,
    .tab-lab-4,
    .tab-lab-5 {
      padding: 1.5rem 0.3rem;
      margin-left: 0; } }
  @media screen and (max-width: 340px) {
    .tab-lab-1,
    .tab-lab-2,
    .tab-lab-3,
    .tab-lab-4,
    .tab-lab-5 {
      font-size: 1.2rem;
      padding-left: 0;
      padding-right: 0; } }
  .tab-lab-1:hover,
  .tab-lab-2:hover,
  .tab-lab-3:hover,
  .tab-lab-4:hover,
  .tab-lab-5:hover {
    opacity: 0.6;
    transition: all ease-in-out .2s; }
    @media screen and (max-width: 767px) {
      .tab-lab-1:hover,
      .tab-lab-2:hover,
      .tab-lab-3:hover,
      .tab-lab-4:hover,
      .tab-lab-5:hover {
        opacity: 1.0; } }

#tab-1:checked ~ .tab-lab-1,
#tab-2:checked ~ .tab-lab-2,
#tab-3:checked ~ .tab-lab-3,
#tab-4:checked ~ .tab-lab-4,
#tab-5:checked ~ .tab-lab-5 {
  background: #ffffff;
  color: #261a0c;
  text-align: center;
  display: inline-block;
  border-top: 2px solid #49bf7a;
  border-right: 2px solid #49bf7a;
  border-left: 2px solid #49bf7a;
  position: relative;
  z-index: 902; }
  @media screen and (max-width: 767px) {
    #tab-1:checked ~ .tab-lab-1,
    #tab-2:checked ~ .tab-lab-2,
    #tab-3:checked ~ .tab-lab-3,
    #tab-4:checked ~ .tab-lab-4,
    #tab-5:checked ~ .tab-lab-5 {
      width: 20%; } }

#tab-1:checked ~ .panels #panel-1,
#tab-2:checked ~ .panels #panel-2,
#tab-3:checked ~ .panels #panel-3,
#tab-4:checked ~ .panels #panel-4,
#tab-5:checked ~ .panels #panel-5 {
  background: #ffffff;
  display: block; }

.panels {
  min-height: 885px;
  border: 2px solid #49bf7a;
  border-radius: 0.2rem;
  padding: 1.5rem;
  margin-top: -2px;
  position: relative;
  z-index: 901; }

.panel,
input[name="check"] {
  display: none; }

.news-list li a {
  color: #333333;
  font-size: 1.5rem;
  line-height: 1.3;
  display: flex;
  align-items: baseline;
  padding-top: 1.0rem;
  padding-right: 2.5rem;
  padding-bottom: 1.0rem;
  border-bottom: 1px solid #f3f3f3;
  position: relative; }
  @media screen and (max-width: 767px) {
    .news-list li a {
      flex-wrap: wrap; } }
  .news-list li a::after {
    content: '';
    width: 1.0rem;
    height: 1.0rem;
    border-top: solid 1px #999999;
    border-right: solid 1px #999999;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 0.4rem);
    right: 0.6rem;
    margin-top: -3px; }
  .news-list li a .time {
    color: #666666;
    font-size: 1.4rem;
    word-break: keep-all;
    margin-right: 1.0rem; }
  .news-list li a .cat {
    color: #ffffff;
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
    text-align: center;
    display: inline-table;
    width: 70px;
    min-width: 70px;
    border-radius: 0.2rem;
    padding: 0.5rem;
    margin-right: 1.0rem; }
    .news-list li a .cat.exam {
      background: #003366; }
    .news-list li a .cat.news {
      background: #1d939b; }
    .news-list li a .cat.promotion {
      background: #ff8100; }
    .news-list li a .cat.manage {
      background: #43009e; }
    .news-list li a .cat.seminar {
      background: #800080; }
    .news-list li a .cat.etc {
      background: #49bf7a; }
  .news-list li a .txt {
    color: #333333; }
    @media screen and (max-width: 767px) {
      .news-list li a .txt {
        width: 100%;
        margin-top: 0.6rem; } }
.news-list .no-list {
  padding: 1.0rem 1.5rem; }
  .news-list .no-list + .news-list-more {
    display: none; }
.news-list .news-list-more {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.0rem; }
  .news-list .news-list-more a {
    background: #49bf7a;
    color: #ffffff;
    font-size: 1.6rem;
    display: block;
    min-width: 20.0rem;
    border-radius: 0.2rem;
    padding: 1.5rem 2.0rem;
    position: relative; }
    .news-list .news-list-more a::after {
      content: '';
      width: 1.0rem;
      height: 1.0rem;
      border-top: solid 1px #ffffff;
      border-right: solid 1px #ffffff;
      transform: rotate(45deg);
      position: absolute;
      top: calc(50% - 0.4rem);
      right: 1.5rem; }

.page .news-list li:nth-of-type(1) a,
.archive .news-list li:nth-of-type(1) a {
  border-top: 1px solid #f3f3f3; }

.page .news-list,
.archive .news-list {
  margin-bottom: 4.0rem; }
  .page .news-list li a,
  .archive .news-list li a {
    color: #49bf7a;
    font-size: 1.8rem;
    padding: 1.5rem 4.0rem 1.5rem 1.5rem; }
    .page .news-list li a::after,
    .archive .news-list li a::after {
      right: 1.5rem; }
  .page .news-list li .time,
  .archive .news-list li .time {
    color: #999999;
    font-size: 1.8rem;
    margin-right: 1.5rem; }

.search-area {
  display: flex;
  margin-top: 4.5rem;
  margin-bottom: 2.0rem; }
  @media screen and (max-width: 959px) {
    .search-area {
      margin-top: 0; } }
  .search-area form {
    display: flex;
    width: 100%; }
    .search-area form input[type="text"] {
      font-size: 1.8rem;
      padding: 1.0rem 1.5rem;
      border-radius: 0.2rem 0 0 0.2rem;
      border: 2px solid #49bf7a;
      width: calc(100% - 50px); }
    .search-area form button {
      background: #49bf7a;
      border-radius: 0 0.2rem 0.2rem 0;
      border: none;
      width: 50px;
      transition: all ease-in-out .2s;
      cursor: pointer; }
      .search-area form button:hover {
        opacity: 0.6;
        transition: all ease-in-out .2s; }
        @media screen and (max-width: 767px) {
          .search-area form button:hover {
            opacity: 1.0; } }
      .search-area form button img {
        width: 26px; }

.calendar-area {
  margin-bottom: 2.0rem; }
  @media screen and (max-width: 959px) {
    .calendar-area {
      margin-bottom: 0; } }

.magazine-area {
  background: #f3f3f3;
  padding: 1.5rem;
  border-radius: 0.2rem;
  position: relative; }
  @media screen and (max-width: 959px) {
    .magazine-area {
      width: 30%; } }
  @media screen and (max-width: 767px) {
    .magazine-area {
      width: 100%;
      display: flex;
      align-items: flex-end; } }
  @media screen and (max-width: 767px) {
    .magazine-area figure {
      width: 40%; } }
  .magazine-area figure img {
    width: 100%;
    height: auto; }
  .magazine-area h5 {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-top: 1.0rem;
    margin-bottom: 0.5rem; }
  .magazine-area h3 {
    font-weight: 700;
    font-size: 1.6rem;
    margin-top: 0.5rem;
    margin-bottom: 1.0rem; }
  .magazine-area figcaption {
    display: flex; }
  @media screen and (max-width: 959px) {
    .magazine-area .magazine-wrap {
      background: #f3f3f3;
      padding: 0 1.5rem 1.5rem;
      width: 100%;
      position: absolute;
      left: 0;
      bottom: 0; } }
  @media screen and (max-width: 767px) {
    .magazine-area .magazine-wrap {
      width: 60%;
      padding-right: 0;
      padding-bottom: 0;
      position: relative; } }
  .magazine-area .magazine-more a {
    background: #49bf7a;
    color: #ffffff;
    font-size: 1.6rem;
    width: 100%;
    display: block;
    border-radius: 0.2rem;
    padding: 1.5rem 2.0rem;
    position: relative; }
    .magazine-area .magazine-more a::after {
      content: '';
      width: 1.0rem;
      height: 1.0rem;
      border-top: solid 1px #ffffff;
      border-right: solid 1px #ffffff;
      transform: rotate(45deg);
      position: absolute;
      top: calc(50% - 0.4rem);
      right: 1.5rem; }

.service-wrap {
  background: #d6f5e3;
  max-width: 100%;
  padding: 6.0rem 0 4.0rem;
  margin-top: 12.0rem;
  margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .service-wrap {
      padding-top: 4.0rem;
      margin-top: 6.0rem; } }
  .service-wrap .service-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.0rem;
    padding-right: 2.0rem; }
    @media screen and (max-width: 767px) {
      .service-wrap .service-inner {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    .service-wrap .service-inner .wrap {
      display: flex;
      flex-wrap: wrap; }
    .service-wrap .service-inner .service-list {
      width: 68%; }
      @media screen and (max-width: 767px) {
        .service-wrap .service-inner .service-list {
          width: 100%; } }
    .service-wrap .service-inner .service {
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 767px) {
        .service-wrap .service-inner .service {
          margin-bottom: 1.0rem; } }
      .service-wrap .service-inner .service li {
        width: calc(33.333%);
        padding-right: 2.0rem;
        margin-bottom: 2.0rem; }
        @media screen and (max-width: 959px) {
          .service-wrap .service-inner .service li {
            width: 50%; } }
        @media screen and (max-width: 767px) {
          .service-wrap .service-inner .service li {
            margin-bottom: 1.0rem; }
            .service-wrap .service-inner .service li:nth-of-type(odd) {
              padding-right: 0.5rem; }
            .service-wrap .service-inner .service li:nth-of-type(even) {
              padding-left: 0.5rem;
              padding-right: 0; } }
        .service-wrap .service-inner .service li a {
          background: #ffffff;
          display: block;
          border-left: 4px solid #49bf7a;
          border-radius: 0.2rem;
          padding-left: 1.0rem;
          padding-right: 3.0rem;
          position: relative; }
          .service-wrap .service-inner .service li a::after {
            content: '';
            width: 1.2rem;
            height: 1.2rem;
            border-top: solid 2px #49bf7a;
            border-right: solid 2px #49bf7a;
            transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 0.6rem);
            right: 1.5rem; }
          .service-wrap .service-inner .service li a figure {
            height: 11.0rem;
            display: flex;
            align-items: center; }
            @media screen and (max-width: 767px) {
              .service-wrap .service-inner .service li a figure {
                height: 9.0rem; }
                .service-wrap .service-inner .service li a figure img {
                  width: 3.5rem; } }
            .service-wrap .service-inner .service li a figure figcaption {
              font-weight: 700;
              line-height: 1.3;
              padding-left: 1.0rem; }
    .service-wrap .service-inner .sns {
      width: 32%;
      height: 37.0rem;
      overflow: scroll; }
      @media screen and (max-width: 959px) {
        .service-wrap .service-inner .sns {
          height: 500px; } }
      @media screen and (max-width: 767px) {
        .service-wrap .service-inner .sns {
          width: 100%;
          height: 30.0rem; } }

.home .service-wrap {
  margin-top: 6.0rem; }
  @media screen and (max-width: 767px) {
    .home .service-wrap {
      margin-top: 4.0rem; } }

ul.member-news {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 4.0rem; }
  ul.member-news li {
    margin-bottom: 2.0rem;
    width: 25%; }
    ul.member-news li a {
      font-size: 1.4rem;
      line-height: 1.6;
      display: flex;
      flex-direction: column; }
      ul.member-news li a figcaption {
        text-align: justify; }

.bnr-list-wrap {
  max-width: 100%;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0; }
  .bnr-list-wrap.normal {
    background: #f3f3f3;
    padding-top: 6.0rem;
    padding-bottom: 3.0rem; }
    @media screen and (max-width: 767px) {
      .bnr-list-wrap.normal {
        padding-top: 4.0rem; } }
    .bnr-list-wrap.normal ul.bnr-list {
      padding-bottom: 0; }
  .bnr-list-wrap ul.bnr-list {
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 3.0rem;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 767px) {
      .bnr-list-wrap ul.bnr-list {
        padding-right: 1.0rem;
        padding-bottom: 2.0rem;
        padding-left: 1.0rem; } }
    .bnr-list-wrap ul.bnr-list.wide li {
      width: 25%;
      padding-left: 0.5rem;
      padding-right: 0.5rem; }
      @media screen and (max-width: 959px) {
        .bnr-list-wrap ul.bnr-list.wide li {
          width: 50%;
          display: flex;
          justify-content: center; } }
      @media screen and (max-width: 767px) {
        .bnr-list-wrap ul.bnr-list.wide li:nth-of-type(odd) {
          padding-left: 0; }
        .bnr-list-wrap ul.bnr-list.wide li:nth-of-type(even) {
          padding-right: 0; } }
      .bnr-list-wrap ul.bnr-list.wide li a img {
        width: 100%;
        max-width: 280px;
        height: auto; }
    .bnr-list-wrap ul.bnr-list.normal li {
      width: 20%;
      padding-left: 0.5rem;
      padding-right: 0.5rem; }
      @media screen and (max-width: 959px) {
        .bnr-list-wrap ul.bnr-list.normal li {
          width: 33.333%;
          display: flex;
          justify-content: center; } }
      @media screen and (max-width: 767px) {
        .bnr-list-wrap ul.bnr-list.normal li {
          width: 50%; } }
      .bnr-list-wrap ul.bnr-list.normal li a img {
        width: 100%;
        max-width: 230px;
        height: auto; }
    .bnr-list-wrap ul.bnr-list li {
      margin-bottom: 2.5rem; }
      @media screen and (max-width: 767px) {
        .bnr-list-wrap ul.bnr-list li {
          margin-bottom: 1.0rem; } }
      .bnr-list-wrap ul.bnr-list li a {
        display: block; }
        .bnr-list-wrap ul.bnr-list li a img {
          width: 100%;
          height: auto;
          border: 1px solid #dddddd; }

/***  page  ***/
.band-wrap {
  background: #f3f3f3; }
  .band-wrap h2 {
    color: #2d84f2;
    font-weight: 700;
    font-size: 4.5rem;
    filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #fff);
    max-width: 1200px;
    padding-left: 7.0rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      .band-wrap h2 {
        font-size: 3.5rem;
        line-height: 1.3;
        padding-left: 5.0rem; } }
  .band-wrap .band {
    display: flex;
    align-items: center;
    max-width: 1200px;
    height: 20.0rem;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 767px) {
      .band-wrap .band {
        height: 16.0rem; } }
    .band-wrap .band h2::after {
      content: '';
      width: 5.0rem;
      height: 5.0rem;
      position: absolute;
      top: 0;
      left: 0; }
      @media screen and (max-width: 767px) {
        .band-wrap .band h2::after {
          width: 3.5rem;
          height: 3.5rem;
          top: 0.8rem; } }
    .band-wrap .band.about {
      background: url("../img/page/about_band_01.jpg");
      background-size: cover;
      background-position: center;
      max-width: 100%; }
      .band-wrap .band.about h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 9.0rem; }
        @media screen and (max-width: 767px) {
          .band-wrap .band.about h2 {
            padding-left: 5.0rem; } }
        .band-wrap .band.about h2::after {
          background: url("../img/common/icon_about_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom;
          left: 2.0rem; }
          @media screen and (max-width: 767px) {
            .band-wrap .band.about h2::after {
              left: 0; } }
    .band-wrap .band.access {
      max-width: 100%;
      background: url("../img/page/access_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.access h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.access h2::after {
          background: url("../img/common/icon_access_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.monodukuri {
      max-width: 100%;
      background: url("../img/page/access_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.monodukuri h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.monodukuri h2::after {
          background: url("../img/common/icon_monodukuri_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.admission {
      max-width: 100%;
      background: url("../img/page/admission_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.admission h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.admission h2::after {
          background: url("../img/common/icon_admission_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.contact {
      max-width: 100%;
      background: url("../img/page/contact_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.contact h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.contact h2::after {
          background: url("../img/common/icon_contact_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center center; }
    .band-wrap .band.calculation-abacus {
      max-width: 100%;
      background: url("../img/page/calculation-abacus_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.calculation-abacus h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.calculation-abacus h2::after {
          background: url("../img/common/icon_calculation-abacus_band_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.compliance {
      max-width: 100%;
      background: url("../img/page/compliance_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.compliance h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.compliance h2::after {
          background: url("../img/common/icon_compliance_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.promotion {
      max-width: 100%;
      background: url("../img/page/promotion_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.promotion h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.promotion h2::after {
          background: url("../img/common/icon_promotion_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center center; }
    .band-wrap .band.exam {
      background: url("../img/page/exam_band_01.png");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.exam h2::after {
        background: url("../img/common/icon_exam_02.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center bottom; }
    .band-wrap .band.magazine {
      background: url("../img/page/magazine_band_01.png");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.magazine h2::after {
        background: url("../img/common/icon_exam_02.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center bottom; }
    .band-wrap .band.manage {
      background: url("../img/page/manage_band_01.png");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.manage h2::after {
        background: url("../img/common/icon_manage_02.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center bottom; }
    .band-wrap .band.sitemap {
      max-width: 100%;
      background: url("../img/page/sitemap_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.sitemap h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.sitemap h2::after {
          background: url("../img/common/icon_sitemap_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.member {
      max-width: 100%;
      background: url("../img/page/member_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.member h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.member h2::after {
          background: url("../img/common/icon_member_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.recruit {
      max-width: 100%;
      background: url("../img/page/recruit_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.recruit h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.recruit h2::after {
          background: url("../img/common/icon_recruit_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center bottom; }
    .band-wrap .band.mutual {
      max-width: 100%;
      background: url("../img/page/mutual_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.mutual h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.mutual h2::after {
          background: url("../img/common/icon_mutual_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center center; }
    .band-wrap .band.news {
      max-width: 100%;
      background: url("../img/page/news_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.news h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.news h2::after {
          background: url("../img/common/icon_news_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center center; }
    .band-wrap .band.promotion {
      max-width: 100%;
      background: url("../img/page/promotion_band_01.jpg");
      background-size: cover;
      background-position: center; }
      .band-wrap .band.promotion h2 {
        width: 1200px;
        margin-left: auto;
        margin-right: auto; }
        .band-wrap .band.promotion h2::after {
          background: url("../img/common/icon_promotion_02.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center center; }

.content-wrap {
  max-width: 1200px;
  padding-left: 2.0rem;
  padding-right: 2.0rem;
  margin-top: 5.0rem;
  margin-left: auto;
  margin-right: auto;
  display: flex; }
  @media screen and (max-width: 959px) {
    .content-wrap {
      flex-direction: column-reverse; } }
  @media screen and (max-width: 767px) {
    .content-wrap {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
      margin-top: 2.0rem; } }
  .content-wrap .nav-area {
    width: 250px;
    position: relative; }
    @media screen and (max-width: 959px) {
      .content-wrap .nav-area {
        width: 100%; } }
  .content-wrap .content {
    width: calc(100% - 250px);
    padding-left: 4.0rem;
    padding-right: 0;
    margin-bottom: 0; }
    @media screen and (max-width: 959px) {
      .content-wrap .content {
        width: 100%;
        padding-left: 0;
        margin-bottom: 4.0rem; } }

main .contact-page {
  margin-top: 6.0rem;
  border: 2px solid #d6f5e3; }
  @media screen and (max-width: 767px) {
    main .contact-page {
      margin-top: 3.0rem; } }
  main .contact-page h3 {
    background: #d6f5e3;
    color: #261a0c;
    font-weight: 700;
    font-size: 1.8rem;
    padding: 1.5rem 1.0rem;
    border: none;
    margin: 0; }
  main .contact-page .wrap {
    padding: 2.0rem 2.5rem; }
    @media screen and (max-width: 767px) {
      main .contact-page .wrap {
        padding: 1.5rem 2.0rem; } }
    main .contact-page .wrap p {
      font-size: 1.8rem;
      line-height: 1.6;
      text-align: left;
      margin: 0 0 0.5rem; }
      @media screen and (max-width: 767px) {
        main .contact-page .wrap p b {
          display: inline-block; } }
    main .contact-page .wrap address {
      font-size: 1.8rem;
      font-style: normal;
      line-height: 1.6;
      text-align: left; }
      main .contact-page .wrap address + p {
        margin-top: 1.0rem;
        padding-top: 1.0rem;
        border-top: 1px solid #d6f5e3; }
      main .contact-page .wrap address b {
        font-size: 2rem;
        color: #2d84f2; }
    main .contact-page .wrap a {
      color: #49bf7a;
      word-break: break-all; }

/* page category */
.copy {
  margin-top: 0;
  margin-bottom: 4.0rem; }

/*  upper */
/* about */
.box-inside {
  width: 100%;
  border: 1px solid #49bf7a; }
  .box-inside a {
    display: block;
    padding: 1.5rem; }
  .box-inside figure {
    margin-bottom: 1.5rem; }
    .box-inside figure img {
      width: 40px;
      height: auto; }
  .box-inside h2 {
    color: #49bf7a;
    font-size: 2rem;
    line-height: 1.3;
    margin-bottom: 1.0rem; }
  .box-inside p {
    font-size: 1.6rem; }

/* manage */
.box-wrap {
  display: flex;
  flex-wrap: wrap; }

.box {
  width: 50%;
  padding-bottom: 3.0rem; }
  @media screen and (max-width: 959px) {
    .box {
      padding-bottom: 2.0rem; } }
  @media screen and (max-width: 767px) {
    .box {
      width: 100%;
      padding-bottom: 1.5rem; } }
  .box:nth-of-type(odd) {
    padding-right: 1.5rem; }
    @media screen and (max-width: 959px) {
      .box:nth-of-type(odd) {
        padding-right: 1.0rem; } }
    @media screen and (max-width: 767px) {
      .box:nth-of-type(odd) {
        padding-right: 0; } }
  .box:nth-of-type(even) {
    padding-left: 1.5rem; }
    @media screen and (max-width: 959px) {
      .box:nth-of-type(even) {
        padding-left: 1.0rem; } }
    @media screen and (max-width: 767px) {
      .box:nth-of-type(even) {
        padding-left: 0; } }
  .box.last {
    padding-bottom: 0; }
    @media screen and (max-width: 767px) {
      .box.last:nth-last-of-type(2) {
        padding-bottom: 1.5rem; } }

.box-inner {
  height: 100%;
  border: 2px solid #49bf7a;
  border-radius: 0.2rem;
  position: relative; }
  .box-inner .title {
    background: #49bf7a;
    width: 100%;
    position: absolute; }
    .box-inner .title .off {
      color: #ffffff;
      font-size: 1.8rem;
      font-weight: normal;
      line-height: 1.3;
      text-align: justify;
      display: block;
      padding: 1.5rem 5.0rem 1.5rem 1.5rem; }
    .box-inner .title a {
      color: #ffffff;
      font-size: 1.8rem;
      font-weight: normal;
      line-height: 1.3;
      text-align: justify;
      display: block;
      padding: 1.5rem 5.0rem 1.5rem 1.5rem;
      position: relative; }
      .box-inner .title a::after {
        content: '';
        background: url("../img/common/icon_arrow_01.svg");
        background-size: contain;
        width: 1.8rem;
        height: 1.8rem;
        position: absolute;
        top: calc(50% - 0.8rem);
        right: 1.5rem; }
  .box-inner figure.board {
    width: 100%;
    height: 150px;
    margin-top: 5.2rem;
    margin-bottom: 0; }
  .box-inner ul.item-list {
    padding: 2.5rem; }
    .box-inner ul.item-list li {
      margin-bottom: 1.0rem; }
      .box-inner ul.item-list li a {
        color: #333333;
        font-size: 1.6rem;
        line-height: 1.3;
        padding-left: 2.0rem;
        display: block;
        position: relative; }
        .box-inner ul.item-list li a::before {
          content: '';
          background: #2d84f2;
          width: 1.0rem;
          height: 1.0rem;
          border-radius: 1.0rem;
          position: absolute;
          top: 6px;
          left: 0; }
  .box-inner .item-txt {
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 2.5rem;
    margin-top: 0;
    margin-bottom: 1.0rem; }

/* exam upper */
ul.box-exam {
  width: 100%;
  display: flex;
  flex-wrap: wrap; }
  ul.box-exam.pass a {
    background: #2d84f2; }
  ul.box-exam + p {
    margin-top: 0; }
  ul.box-exam li {
    width: 33.333%;
    padding-right: 1.0rem;
    margin-bottom: 1.0rem; }
    ul.box-exam li:nth-of-type(3n) {
      padding-right: 0; }
    ul.box-exam li.type-a a {
      background: #49bf7a; }
    ul.box-exam li.type-b a {
      background: #003366; }
    ul.box-exam li.type-c a {
      background: #43009e; }
    @media screen and (max-width: 767px) {
      ul.box-exam li {
        width: 50%; }
        ul.box-exam li:nth-of-type(odd) {
          padding-left: 0;
          padding-right: 0.5rem; }
        ul.box-exam li:nth-of-type(even) {
          padding-left: 0.5rem;
          padding-right: 0; } }
  ul.box-exam a {
    color: #ffffff;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.6;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8.0rem;
    padding: 0.5rem 1.0rem;
    border-radius: 0.2rem;
    position: relative; }
    ul.box-exam a::after {
      content: '';
      width: 0.6rem;
      height: 0.6rem;
      border-top: solid 2px #ffffff;
      border-right: solid 2px #ffffff;
      transform: rotate(45deg);
      position: absolute;
      top: calc(50% - 0.2rem);
      right: 1.0rem; }
    ul.box-exam a.jump {
      padding-right: 3.0rem; }
      ul.box-exam a.jump::after {
        background-image: url(../img/common/icon_jump_03.svg);
        width: 2.6rem;
        height: 1.6rem;
        border: none;
        transform: rotate(0deg);
        top: calc(50% - 0.8rem); }

.details a {
  background: #ff8100;
  width: 100%;
  display: inline-flex;
  align-items: center;
  border-radius: 0.2rem;
  padding: 2.0rem 2.5rem; }
  .details a span {
    color: #ffffff;
    line-height: 1.3;
    padding-right: 1.0rem; }
  .details a img {
    width: 20px;
    height: auto; }

/* exam result */
.content.result h4 {
  background: #2d84f2;
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
  padding: 2.5rem 1.0rem;
  margin-top: 3.0rem;
  margin-bottom: 3.0rem; }
  @media screen and (max-width: 767px) {
    .content.result h4 {
      font-size: 2rem;
      padding-top: 2.0rem;
      padding-bottom: 2.0rem; } }
  .content.result h4 span {
    font-size: 1.5rem;
    font-weight: normal;
    display: block;
    padding-top: 1.0rem; }
  .content.result h4 + h5 {
    margin-top: -3.0rem; }
.content.result h5 {
  background: #f0f8ff;
  font-size: 1.8rem;
  text-align: left;
  padding: 1.5rem 1.0rem 1.5rem 1.5rem;
  margin-top: 2.0rem;
  margin-bottom: 0; }
.content.result .result-wrap {
  background: #f0f8ff;
  padding: 0 1.0rem 1.0rem; }
.content.result .result {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; }
  .content.result .result .head {
    background: #f3f3f3;
    text-align: center;
    width: 25%;
    padding-top: 1.0rem;
    border: 1px solid #cccccc; }
  .content.result .result ul.list {
    width: 75%;
    display: flex;
    flex-wrap: wrap; }
    .content.result .result ul.list li {
      background: #ffffff;
      text-align: center;
      width: 16.666%;
      padding: 1.0rem;
      border-bottom: 1px solid #cccccc;
      border-right: 1px solid #cccccc; }
      .content.result .result ul.list li:nth-of-type(1), .content.result .result ul.list li:nth-of-type(2), .content.result .result ul.list li:nth-of-type(3), .content.result .result ul.list li:nth-of-type(4), .content.result .result ul.list li:nth-of-type(5), .content.result .result ul.list li:nth-of-type(6) {
        border-top: 1px solid #cccccc; }
.content.result .result-summary a, .content.result .result-note a {
  color: #49bf7a; }

/* page more */
.lower {
  /* event */ }
  .lower h3 {
    color: #261a0c;
    font-size: 2.4rem;
    line-height: 1.3;
    padding: 0.4rem 1.0rem 0.5rem 1.5rem;
    border-left: 4px solid #2d84f2;
    margin-top: 6.0rem;
    margin-bottom: 2.0rem; }
    @media screen and (max-width: 767px) {
      .lower h3 {
        margin-top: 4.0rem; } }
  .lower h4 {
    font-size: 2rem;
    color: #2d84f2;
    line-height: 1.3;
    margin-top: 4.0rem;
    margin-bottom: 1.0rem; }
    @media screen and (max-width: 767px) {
      .lower h4 {
        margin-top: 2.0rem; } }
  .lower h4.head-set {
    background-color: #2d84f2;
    font-weight: 500;
    color: #ffffff;
    padding: 1.5rem 2.0rem;
    border-radius: 0.2rem;
    margin-bottom: 2.0rem; }
  .lower h5 {
    font-weight: 700;
    font-size: 1.8rem;
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
  .lower table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
    .lower table + table {
      margin-top: 2.0rem; }
    .lower table h4 {
      font-size: 1.8rem; }
      .lower table h4.top {
        margin-top: 1.0rem; }
    .lower table caption {
      font-weight: 700;
      font-size: 1.8rem;
      text-align: left;
      margin-top: 2.0rem;
      margin-bottom: 1.0rem; }
    .lower table th {
      background: #f3f3f3;
      font-size: 1.6rem;
      font-weight: normal;
      line-height: 1.6;
      padding: 1.0rem 1.5rem;
      border: 1px solid #cccccc; }
      @media screen and (max-width: 767px) {
        .lower table th {
          padding-left: 1.0rem;
          padding-right: 1.0rem; } }
      .lower table th:nth-of-type(1) {
        text-align: left; }
    .lower table td {
      font-size: 1.6rem;
      line-height: 1.6;
      padding: 1.0rem 1.5rem;
      border: 1px solid #cccccc; }
      @media screen and (max-width: 767px) {
        .lower table td {
          padding-left: 1.0rem;
          padding-right: 1.0rem; } }
      .lower table td ol.paren > li::before, .lower table td ul.paren > li::before {
        top: 0; }
    .lower table ol.num, .lower table ul.num, .lower table ul.disc, .lower table ol.disc, .lower table ul.paren, .lower table ol.paren {
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; }
      .lower table ol.num > li, .lower table ul.num > li, .lower table ul.disc > li, .lower table ol.disc > li, .lower table ul.paren > li, .lower table ol.paren > li {
        font-size: 1.6rem;
        line-height: 1.6;
        margin-top: 0.5rem;
        margin-bottom: 0.5rem; }
    .lower table .indent {
      padding-left: 4.5rem; }
  .lower table.center th, .lower table.center td {
    text-align: center;
    vertical-align: middle; }
  .lower table.thumb th {
    vertical-align: middle; }
  .lower table.thumb td {
    vertical-align: middle; }
  .lower table.narrow th, .lower table.narrow td {
    padding: 1.0rem 0.5rem; }
  @media screen and (max-width: 767px) {
    .lower .table-slide {
      overflow: scroll; } }
  @media screen and (max-width: 767px) {
    .lower .table-slide table {
      width: 100%;
      min-width: 767px; } }
  .lower .table-slide-wide {
    overflow-x: scroll; }
    .lower .table-slide-wide::-webkit-scrollbar {
      -webkit-appearance: none;
      width: 5px; }
    .lower .table-slide-wide::-webkit-scrollbar-thumb {
      border-radius: 0.2rem;
      background-color: rgba(0, 0, 0, 0.5);
      box-shadow: 0 0 1px rgba(255, 255, 255, 0.2); }
    .lower .table-slide-wide table {
      width: 100%;
      min-width: 1200px; }
      @media screen and (max-width: 767px) {
        .lower .table-slide-wide table {
          min-width: 1200px; } }
  .lower ol.num, .lower ul.num, .lower ul.disc, .lower ol.paren, .lower ul.paren {
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
    .lower ol.num > li, .lower ul.num > li, .lower ul.disc > li, .lower ol.paren > li, .lower ul.paren > li {
      font-size: 1.8rem;
      line-height: 1.8;
      text-align: justify;
      margin-top: 1.0rem;
      margin-bottom: 1.0rem; }
  .lower ol.num, .lower ul.num {
    padding-left: 3.0rem;
    list-style: decimal; }
    .lower ol.num > li, .lower ul.num > li {
      list-style: decimal;
      padding-left: 0.5rem; }
  .lower ul.disc {
    padding-left: 3.0rem;
    list-style-type: disc; }
    .lower ul.disc > li {
      list-style-type: disc; }
  .lower ol.paren, .lower ul.paren {
    counter-reset: item; }
    .lower ol.paren > li, .lower ul.paren > li {
      padding-left: 3.5rem;
      position: relative; }
      .lower ol.paren > li::before, .lower ul.paren > li::before {
        counter-increment: item;
        content: "（" counter(item) "）";
        display: inline-block;
        font-size: 1.8rem;
        line-height: 1.6;
        position: absolute;
        top: 0.3rem;
        left: -1.0rem; }
  .lower .map-list-wrap {
    display: flex;
    width: 100%;
    margin-top: -3.0rem; }
    @media screen and (max-width: 767px) {
      .lower .map-list-wrap {
        flex-direction: column; } }
  .lower .map-list-in {
    width: 33.333%; }
    @media screen and (max-width: 767px) {
      .lower .map-list-in {
        width: 100%; } }
    .lower .map-list-in:nth-of-type(1) {
      padding-right: 2.0rem; }
      @media screen and (max-width: 767px) {
        .lower .map-list-in:nth-of-type(1) {
          padding-right: 0; } }
    .lower .map-list-in:nth-of-type(2) {
      padding-left: 1.0rem;
      padding-right: 1.0rem; }
      @media screen and (max-width: 767px) {
        .lower .map-list-in:nth-of-type(2) {
          padding-left: 0;
          padding-right: 0; } }
    .lower .map-list-in:nth-of-type(3) {
      padding-left: 2.0rem; }
      @media screen and (max-width: 767px) {
        .lower .map-list-in:nth-of-type(3) {
          padding-left: 0; } }
  .lower ul.map-list {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
    .lower ul.map-list li {
      border-bottom: 1px solid #dddddd; }
      .lower ul.map-list li h5 {
        margin-top: 2.0rem;
        margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          .lower ul.map-list li h5 {
            margin-top: 0; } }
        .lower ul.map-list li h5 a {
          color: #2d84f2; }
          .lower ul.map-list li h5 a::after {
            content: '';
            border-color: #2d84f2; }
      .lower ul.map-list li a {
        line-height: 1.3;
        display: block;
        padding: 1.5rem 3.0rem 1.5rem 1.0rem;
        position: relative; }
        .lower ul.map-list li a::after {
          content: '';
          width: 1.0rem;
          height: 1.0rem;
          border-top: solid 1px #49bf7a;
          border-right: solid 1px #49bf7a;
          transform: rotate(45deg);
          position: absolute;
          top: calc(50% - 0.5rem);
          right: 1.5rem; }
      .lower ul.map-list li a.jump {
        font-feature-settings: "palt";
        padding-right: 3.0rem;
        position: relative; }
        .lower ul.map-list li a.jump::after {
          content: '';
          background: url("../img/common/icon_jump_01.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position-x: 1.0rem;
          width: 2.6rem;
          height: 1.6rem;
          position: absolute;
          bottom: 0.4rem;
          border: none;
          transform: rotate(0deg); }
  .lower .movie-wrap {
    width: 100%;
    padding-top: 56.25%;
    position: relative; }
    .lower .movie-wrap iframe {
      margin-top: 0;
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; }
  .lower .carousel-wrap {
    height: auto;
    margin-bottom: 1.5rem; }
    .lower .carousel-wrap .slick-slide {
      margin: 0; }
    .lower .carousel-wrap .carousel {
      margin: 0; }
  .lower .slick-dots {
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
  .lower .aste {
    font-size: 1.8rem;
    line-height: 1.8;
    text-align: justify;
    padding-left: 3.0rem;
    margin-top: 1.0rem;
    margin-bottom: 1.0rem;
    position: relative; }
    .lower .aste::before {
      content: "※";
      position: absolute;
      top: 0;
      left: 0; }
  .lower figure {
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
    .lower figure img {
      width: 100%;
      height: auto; }
  .lower .steady {
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
  @media screen and (max-width: 767px) {
    .lower img.full-sp {
      width: 100%;
      height: auto; } }
  .lower img.line {
    border: 1px solid #cccccc; }
  .lower .box-narrow {
    max-width: 767px; }
  .lower .box-access {
    display: flex;
    flex-wrap: wrap;
    padding: 1.0rem 1.0rem 1.0rem 1.5rem;
    border: 1px solid #cccccc; }
    .lower .box-access .box-access-inner {
      width: calc(100% - 550px);
      padding-right: 3.0rem; }
      @media screen and (max-width: 767px) {
        .lower .box-access .box-access-inner {
          width: 100%;
          padding-right: 0; } }
      .lower .box-access .box-access-inner p {
        margin-bottom: 3.0rem; }
        @media screen and (max-width: 767px) {
          .lower .box-access .box-access-inner p {
            margin-bottom: 2.0rem; } }
    .lower .box-access iframe {
      width: 550px; }
      @media screen and (max-width: 767px) {
        .lower .box-access iframe {
          width: 100%; }
          .lower .box-access iframe iframe {
            width: 100%; } }
  .lower .box-layout {
    display: flex;
    margin-top: 1.0rem; }
    @media screen and (max-width: 767px) {
      .lower .box-layout.reverse {
        flex-direction: column-reverse; } }
    .lower .box-layout.small .pict {
      width: 25%; }
      @media screen and (max-width: 767px) {
        .lower .box-layout.small .pict {
          width: 100%; } }
    .lower .box-layout.small .inner {
      width: 75%; }
      @media screen and (max-width: 767px) {
        .lower .box-layout.small .inner {
          width: 100%; } }
    @media screen and (max-width: 767px) {
      .lower .box-layout {
        flex-direction: column; } }
    .lower .box-layout div:nth-of-type(odd) {
      padding-right: 1.5rem; }
      @media screen and (max-width: 767px) {
        .lower .box-layout div:nth-of-type(odd) {
          padding-right: 0; } }
    .lower .box-layout div:nth-of-type(even) {
      padding-left: 1.5rem; }
      @media screen and (max-width: 767px) {
        .lower .box-layout div:nth-of-type(even) {
          padding-left: 0; } }
    .lower .box-layout .pict {
      width: 40%; }
      @media screen and (max-width: 767px) {
        .lower .box-layout .pict {
          width: 100%;
          margin-bottom: 0; } }
      .lower .box-layout .pict img {
        width: 100%;
        height: auto;
        margin-bottom: 1.0rem; }
      @media screen and (max-width: 767px) {
        .lower .box-layout .pict .sp-img {
          width: 60%;
          margin-left: auto;
          margin-right: auto;
          display: flex; } }
    .lower .box-layout .inner {
      width: 60%; }
      .lower .box-layout .inner p {
        margin-top: 0; }
      @media screen and (max-width: 767px) {
        .lower .box-layout .inner {
          width: 100%; } }
    .lower .box-layout .box-inner {
      width: calc(100% - 400px);
      padding-right: 3.0rem; }
    .lower .box-layout .iframe {
      width: 400px; }
  .lower .more {
    display: flex;
    justify-content: flex-start;
    margin-top: 2.0rem;
    position: relative;
    z-index: 9; }
    .lower .more.center {
      justify-content: center; }
    .lower .more.right {
      justify-content: flex-end;
      margin-right: 0;
      margin-left: 1.0rem; }
    @media screen and (max-width: 767px) {
      .lower .more.multi {
        flex-direction: column; } }
    @media screen and (max-width: 767px) {
      .lower .more.multi a:nth-of-type(2) {
        margin-top: 1rem; } }
    .lower .more.off a {
      background: #cccccc; }
    .lower .more a {
      background: #49bf7a;
      color: #ffffff;
      font-size: 1.6rem;
      display: block;
      min-width: 20.0rem;
      border-radius: 0.2rem;
      padding: 1.5rem 3.0rem 1.5rem 2.0rem;
      position: relative;
      margin-right: 1.0rem; }
      .lower .more a::after {
        content: '';
        width: 1.0rem;
        height: 1.0rem;
        border-top: solid 1px #ffffff;
        border-right: solid 1px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        top: calc(50% - 0.5rem);
        right: 1.5rem; }
      .lower .more a.jump {
        padding-right: 4.0rem; }
        .lower .more a.jump::after {
          background-image: url(../img/common/icon_jump_03.svg);
          background-size: contain;
          width: 2.6rem;
          height: 1.6rem;
          border: none;
          transform: rotate(0deg);
          top: calc(50% - 0.8rem);
          right: 1.5rem; }
      .lower .more a.blue {
        background: #2d84f2; }
  .lower .box-pict {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .lower .box-pict.line figure {
        width: 100%;
        margin-bottom: 1.0rem; } }
    @media screen and (max-width: 767px) {
      .lower .box-pict.line figure:nth-of-type(odd) {
        padding-right: 0rem; } }
    @media screen and (max-width: 767px) {
      .lower .box-pict.line figure:nth-of-type(even) {
        padding-left: 0rem; } }
    .lower .box-pict figure {
      width: 50%;
      margin-top: 0;
      margin-bottom: 2.0rem; }
      .lower .box-pict figure:nth-of-type(odd) {
        padding-right: 1.0rem; }
      .lower .box-pict figure:nth-of-type(even) {
        padding-left: 1.0rem; }
      .lower .box-pict figure.last {
        margin-bottom: 0; }
  .lower .box-pict-line {
    display: flex;
    width: 100%; }
    .lower .box-pict-line > figure {
      width: 100%;
      padding-right: 2.0rem; }
      .lower .box-pict-line > figure img {
        width: 100%;
        height: auto; }
  .lower .triangle {
    margin-top: 2.0rem;
    margin-bottom: 2.0rem;
    position: relative;
    height: 3.0rem; }
    .lower .triangle::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: calc(50% - 2.5rem);
      width: 0;
      height: 0;
      border-left: 5.0rem solid transparent;
      border-right: 5.0rem solid transparent;
      border-top: 3rem solid #f0f8ff; }
  .lower .box-list {
    display: flex;
    justify-content: space-between;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .lower .box-list {
        flex-wrap: wrap; } }
    .lower .box-list > figure, .lower .box-list > a, .lower .box-list > div {
      width: 100%;
      padding-right: 1.0rem; }
      @media screen and (max-width: 767px) {
        .lower .box-list > figure, .lower .box-list > a, .lower .box-list > div {
          width: 50%;
          margin-bottom: 1.0rem; }
          .lower .box-list > figure:nth-of-type(odd), .lower .box-list > a:nth-of-type(odd), .lower .box-list > div:nth-of-type(odd) {
            padding-right: 0.5rem; }
          .lower .box-list > figure:nth-of-type(even), .lower .box-list > a:nth-of-type(even), .lower .box-list > div:nth-of-type(even) {
            padding-left: 0.5rem;
            padding-right: 0; } }
      .lower .box-list > figure img, .lower .box-list > a img, .lower .box-list > div img {
        width: 100%;
        height: auto; }

.lower a {
  color: #49bf7a;
  word-break: break-all; }

/* magazine */
article.magazine .box {
  width: 25%;
  padding-left: 0;
  padding-right: 2.0rem; }
  @media screen and (max-width: 959px) {
    article.magazine .box {
      width: 50%; }
      article.magazine .box:nth-of-type(odd) {
        padding-left: 0;
        padding-right: 1.0rem; }
      article.magazine .box:nth-of-type(even) {
        padding-left: 1.0rem;
        padding-right: 0; } }
  @media screen and (max-width: 767px) {
    article.magazine .box {
      width: 100%;
      margin-bottom: 1.5rem;
      padding-bottom: 0; }
      article.magazine .box:nth-of-type(odd) {
        padding-left: 0;
        padding-right: 0; }
      article.magazine .box:nth-of-type(even) {
        padding-left: 0;
        padding-right: 0; } }
  article.magazine .box .box-inner {
    padding: 2.5rem 2.0rem 2.0rem 2.0rem; }
article.magazine h4.box-title {
  font-weight: 700;
  font-size: 1.8rem;
  margin-top: 0;
  margin-bottom: 0; }
article.magazine p.item-txt {
  font-size: 1.6rem; }
@media screen and (max-width: 959px) {
  article.magazine .item-button {
    width: 100%; } }
article.magazine .item-button a {
  background: #49bf7a;
  color: #ffffff;
  display: block;
  padding: 1.5rem 1.5rem;
  border-radius: 0.2rem;
  position: relative; }
  article.magazine .item-button a::after {
    content: '';
    width: 1.0rem;
    height: 1.0rem;
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 0.4rem);
    right: 1.5rem; }
  article.magazine .item-button a.jump::after {
    background-image: url(../img/common/icon_jump_03.svg);
    width: 1.6rem;
    height: 1.6rem;
    border: none;
    transform: rotate(0deg);
    top: calc(50% - 0.8rem); }
article.magazine .contact-page {
  margin-top: 3.0rem; }

.magazine-new {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  margin-bottom: 5.0rem; }
  .magazine-new figure {
    width: 35%;
    padding-bottom: 0.5rem;
    margin-top: 0; }
    @media screen and (max-width: 767px) {
      .magazine-new figure {
        width: 100%;
        padding-left: 2.0rem;
        padding-right: 2.0rem;
        display: flex;
        justify-content: center;
        margin-bottom: 3.0rem; } }
    .magazine-new figure img {
      width: 100%;
      height: 100%;
      box-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 0, 0, 0.2); }
  .magazine-new .magazine-new-txt {
    width: 55%;
    padding-left: 4.0rem;
    margin-bottom: 1.5rem; }
    @media screen and (max-width: 767px) {
      .magazine-new .magazine-new-txt {
        width: 100%;
        padding-left: 0;
        margin-bottom: 0; } }
    .magazine-new .magazine-new-txt h3 {
      margin-top: 0; }
      .magazine-new .magazine-new-txt h3 + h4 {
        margin-top: 3.0rem; }
    .magazine-new .magazine-new-txt p {
      margin-bottom: 2.0rem; }
    .magazine-new .magazine-new-txt ul {
      margin-top: 1.0rem;
      margin-bottom: 1.0rem; }
      .magazine-new .magazine-new-txt ul li {
        font-size: 1.6rem;
        line-height: 1.6;
        text-align: justify;
        padding-left: 1.5rem;
        margin-bottom: 0.5rem;
        position: relative; }
        .magazine-new .magazine-new-txt ul li::before {
          content: "";
          background-color: #cccccc;
          border-radius: 100%;
          width: 0.8rem;
          height: 0.8rem;
          display: inline-block;
          position: absolute;
          top: 0.9rem;
          left: 0rem; }

.magazine-list {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #cccccc;
  padding: 1.0rem 1.0rem 0rem; }
  @media screen and (max-width: 767px) {
    .magazine-list {
      padding: 0.5rem 0.5rem 0; } }
  .magazine-list li {
    width: 16.666%;
    margin-bottom: 2.0rem; }
    @media screen and (max-width: 767px) {
      .magazine-list li {
        width: 33.333%; } }
    .magazine-list li a {
      display: block;
      padding: 0.5rem; }
    .magazine-list li figure {
      text-align: center;
      position: relative; }
      .magazine-list li figure::after {
        content: '';
        background: url("../img/common/icon_jump_04.svg");
        background-size: cover;
        width: 4.0rem;
        height: 4.0rem;
        position: absolute;
        right: calc(50% - 2.0rem);
        top: calc(50% - 4.0rem); }
    .magazine-list li img {
      width: 100%;
      height: auto;
      margin-bottom: 0.5rem;
      border: 1px solid #cccccc; }
    .magazine-list li figcaption {
      font-size: 1.4rem;
      font-feature-settings: "palt";
      font-weight: normal;
      text-align: center;
      margin-bottom: 0.5rem; }
      @media screen and (max-width: 340px) {
        .magazine-list li figcaption {
          font-size: 1.2rem; } }
    .magazine-list li .size {
      font-size: 1.2rem;
      text-align: center; }

/* contact */
.contact .contact-box {
  display: flex;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .contact .contact-box {
      flex-direction: column; } }
  .contact .contact-box li {
    width: 45%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    border: 1px solid #cccccc;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
    border-radius: 0.2rem;
    margin-right: 2.0rem; }
    @media screen and (max-width: 959px) {
      .contact .contact-box li {
        width: 50%;
        padding-left: 2.0rem; } }
    @media screen and (max-width: 767px) {
      .contact .contact-box li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 1.5rem; } }
  .contact .contact-box h5 {
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 0.5rem; }
  .contact .contact-box .num {
    font-weight: 700;
    font-size: 4.0rem;
    margin-bottom: 1.0rem;
    position: relative; }
    .contact .contact-box .num::after {
      content: "";
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center bottom;
      width: 2.5rem;
      height: 2.5rem;
      position: absolute;
      top: 1.0rem;
      left: -3.0rem; }
    .contact .contact-box .num.phone::after {
      background-image: url(../img/common/icon_phone_01.svg); }
    .contact .contact-box .num.fax::after {
      background-image: url(../img/common/icon_fax_01.svg); }
  .contact .contact-box .time {
    text-align: center; }
.contact .contact-error ul.contat-list li.entry {
  display: flex;
  flex-direction: column; }
  .contact .contact-error ul.contat-list li.entry .error {
    color: #ec1212;
    font-size: 1.6rem;
    font-weight: 500;
    margin-top: 1.0rem; }
.contact ul.contat-list {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #cccccc; }
  @media screen and (max-width: 767px) {
    .contact ul.contat-list {
      border-top: none;
      margin-top: 1.0rem; } }
  .contact ul.contat-list li {
    border-bottom: 1px solid #cccccc; }
    @media screen and (max-width: 767px) {
      .contact ul.contat-list li {
        border-bottom: none; } }
  .contact ul.contat-list li.item {
    background: #f3f3f3;
    width: 25%;
    padding: 2.0rem 2.0rem; }
    @media screen and (max-width: 959px) {
      .contact ul.contat-list li.item {
        font-weight: 500;
        width: 30%;
        padding-left: 1.0rem;
        padding-right: 0; } }
    @media screen and (max-width: 767px) {
      .contact ul.contat-list li.item {
        background: #d6f5e3;
        width: 100%;
        padding-top: 1.0rem;
        padding-bottom: 1.0rem; } }
  .contact ul.contat-list li.entry {
    width: 75%;
    display: flex;
    padding: 2.0rem 2.0rem; }
    @media screen and (max-width: 959px) {
      .contact ul.contat-list li.entry {
        width: 70%; } }
    @media screen and (max-width: 767px) {
      .contact ul.contat-list li.entry {
        background: #fafafa;
        width: 100%;
        padding: 1.0rem; } }
    .contact ul.contat-list li.entry input[type="text"], .contact ul.contat-list li.entry input[type="email"], .contact ul.contat-list li.entry textarea {
      width: 85%;
      padding: 1.0rem 1.5rem;
      border: 1px solid #cccccc; }
      @media screen and (max-width: 959px) {
        .contact ul.contat-list li.entry input[type="text"], .contact ul.contat-list li.entry input[type="email"], .contact ul.contat-list li.entry textarea {
          width: 100%; } }
.contact .req {
  background: #ec1212;
  color: #ffffff;
  font-size: 1.4rem;
  line-height: 1.3;
  display: inline-block;
  padding: 0.3rem 0.6rem;
  border-radius: 0.2rem;
  margin-left: 1.0rem;
  margin-right: 1.0rem; }
.contact .send-wrap {
  text-align: center;
  margin: 4.0rem auto; }
  .contact .send-wrap input[type="submit"] {
    background: #ec1212;
    color: #ffffff;
    font-size: 2rem;
    font-weight: bold;
    padding: 2.0rem 6.0rem;
    border-radius: 0.2rem;
    cursor: pointer;
    transition: all ease-in-out .2s; }
    .contact .send-wrap input[type="submit"]:hover {
      opacity: 0.6;
      transition: all ease-in-out .2s; }

/* single */
.meta {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  .meta li {
    font-size: 1.8rem;
    border-radius: 0.2rem;
    margin-left: 1.5rem; }
    .meta li.date {
      color: #999999; }
    .meta li.cat a {
      color: #ffffff;
      font-size: 1.6rem;
      display: inline-block;
      padding: 0.8rem 1.0rem;
      cursor: pointer; }
  .meta .exam {
    background: #003366; }
  .meta .news {
    background: #1d939b; }
  .meta .promotion {
    background: #ff8100; }
  .meta .manage {
    background: #43009e; }
  .meta .etc {
    background: #1d939b; }
  .meta .seminar {
    background: #800080; }

.user ol, .user ul {
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  .user ol > li, .user ul > li {
    font-size: 1.8rem;
    line-height: 1.8;
    text-align: justify;
    margin-top: 1.0rem;
    margin-bottom: 1.0rem; }
.user ol {
  padding-left: 3.0rem;
  list-style: decimal; }
  .user ol > li {
    list-style: decimal;
    padding-left: 0.5rem; }
.user ul {
  padding-left: 3.0rem;
  list-style-type: disc; }
  .user ul > li {
    list-style-type: disc; }
.user ol.indent {
  padding-left: 4.5rem; }
.user ul.indent {
  padding-left: 4.5rem; }
.user img {
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  .user img.line {
    border: 1px solid #cccccc; }
.user figure img {
  margin-top: 0;
  margin-bottom: 0; }
.user blockquote {
  background-color: #f3f3f3;
  font-size: 1.8rem;
  line-height: 2.0;
  text-align: justify;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
  padding: 1.5rem 3.0rem; }

/* search */
.search-list {
  border-top: solid 1px #f3f3f3; }
  .search-list li {
    border-bottom: solid 1px #f3f3f3;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem; }
    .search-list li a {
      display: flex;
      flex-direction: column;
      padding: 1.0rem 5.0rem 1.0rem 1.0rem;
      position: relative; }
      .search-list li a::after {
        content: '';
        width: 2.0rem;
        height: 2.0rem;
        border-top: solid 1px #999999;
        border-right: solid 1px #999999;
        transform: rotate(45deg);
        position: absolute;
        position: absolute;
        top: calc(50% - 1.0rem);
        right: 1.3rem; }
      .search-list li a h4 {
        font-size: 2rem;
        color: #2d84f2;
        line-height: 1.6;
        margin-bottom: 0.5rem; }
      .search-list li a p {
        line-height: 1.6;
        margin-top: 0;
        margin-bottom: 0.5rem; }

.no-seach {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6;
  margin-top: 1.0rem;
  margin-bottom: 1.5rem; }

/*-------------------------------------------
 jquery
-------------------------------------------*/
/* xo-event */
.xo-event-calendar table.xo-month .month-event-title {
  color: transparent !important; }

.news-list ul.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5.0rem; }
  .news-list ul.page-numbers li {
    margin-left: 2.0rem; }
    .news-list ul.page-numbers li span {
      border: 1px solid #f5f0d4;
      color: #49bf7a;
      padding: 1.0rem 1.8rem;
      border-radius: 0.2rem; }
    .news-list ul.page-numbers li a {
      background: #f5f0d4;
      color: #49bf7a;
      padding: 1.0rem 1.8rem;
      border: 1px solid #f5f0d4;
      border-radius: 0.2rem; }
      .news-list ul.page-numbers li a::after {
        content: none; }

/* slick */
.carousel-wrap {
  max-width: 100%;
  height: 470px;
  overflow: hidden; }
  @media screen and (max-width: 959px) {
    .carousel-wrap {
      padding-left: 0;
      padding-right: 0;
      height: auto; } }
  @media screen and (max-width: 767px) {
    .carousel-wrap {
      width: 100%;
      margin-bottom: 6.0rem;
      overflow: visible; } }
  .carousel-wrap .carousel {
    width: 1020px;
    margin: 2.0rem auto 0; }
    @media screen and (max-width: 959px) {
      .carousel-wrap .carousel {
        width: 100%;
        margin-top: 0; } }
  .carousel-wrap .slick-list {
    overflow: visible; }
  .carousel-wrap .slick-slide {
    margin: 0 1.0rem; }
    @media screen and (max-width: 959px) {
      .carousel-wrap .slick-slide {
        margin-left: 0;
        margin-right: 0; } }
  .carousel-wrap .slick-slide img {
    width: 100%;
    height: auto; }
  .carousel-wrap .slick-dots {
    bottom: 2.0rem; }
    @media screen and (max-width: 767px) {
      .carousel-wrap .slick-dots {
        bottom: -4.0rem; } }
    .carousel-wrap .slick-dots li button::before {
      color: #49bf7a;
      font-size: 2.0rem; }
  .carousel-wrap .slide-arrow {
    background: #333333;
    border-radius: 0.2rem;
    width: 5.0rem;
    height: 5.0rem;
    position: absolute;
    top: calc(50% - 2.0rem);
    cursor: pointer;
    z-index: 900;
    transition: all ease-in-out .2s; }
    @media screen and (max-width: 767px) {
      .carousel-wrap .slide-arrow {
        display: none !important; } }
    .carousel-wrap .slide-arrow:hover {
      opacity: 0.6;
      transition: all ease-in-out .2s; }
      @media screen and (max-width: 767px) {
        .carousel-wrap .slide-arrow:hover {
          opacity: 1.0; } }
    .carousel-wrap .slide-arrow::after {
      content: '';
      width: 2.0rem;
      height: 2.0rem;
      border-top: solid 2px #ffffff;
      border-right: solid 2px #ffffff;
      border-radius: 0.2rem;
      position: absolute;
      top: calc(50% - 1.0rem); }
  .carousel-wrap .slide-arrow-prev {
    left: 3.0rem; }
    .carousel-wrap .slide-arrow-prev::after {
      transform: rotate(-135deg);
      right: 1.0rem; }
  .carousel-wrap .slide-arrow-next {
    right: 3.0rem; }
    .carousel-wrap .slide-arrow-next::after {
      transform: rotate(45deg);
      left: 1.0rem; }

@media screen and (max-width: 767px) {
  .home .content {
    overflow: hidden; } }

/**/

/*# sourceMappingURL=style.css.map */
