@charset "UTF-8";
/*base is →　! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

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

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

img {
  border-style: none;
  vertical-align: top; }

table {
  border-collapse: collapse; }

button, input, select, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

textarea {
  overflow: auto;
  resize: vertical; }

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0; }

a, area, button, input, label, select, summary, textarea, [tabindex] {
  touch-action: manipulation; }

/* --------------- variables --------------------- */
/* Break Point */
/* Color */
/*サイトカラー*/
/*テキストに使うフォントカラー*/
/*テキスト内で使うリンクカラー*/
@media screen and (max-width: 768px) {
  :root {
    font-size: 10px; }
  body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.8;
    color: #36373a;
    font-size: 1.4rem;
    width: 100%;
    overflow-x: hidden; }
  .en {
    font-family: 'Viga', sans-serif; }
  a {
    text-decoration: none;
    color: #000; }
  .gradBtn {
    display: block;
    background: linear-gradient(90deg, #00bcc7 50%, #00c788 100%);
    background-size: 200% 100%;
    background-position: 100% 0;
    color: #fff; }
  .heddingH2 {
    position: relative;
    padding-top: 30px;
    display: flex;
    justify-content: center; }
    .heddingH2 .en {
      color: #daf0ff;
      font-size: 5rem;
      position: absolute;
      z-index: 1;
      top: 0;
      left: auto;
      right: auto;
      margin: 0 auto;
      line-height: 1;
      text-transform: uppercase; }
    .heddingH2 h2 {
      font-size: 2rem;
      font-weight: 700;
      position: relative;
      z-index: 3;
      line-height: 1.4; }
  .heddingH3 {
    color: #0071be;
    border-bottom: 1px solid #dedede;
    margin-top: 50px;
    font-size: 1.8rem;
    padding-bottom: 5px; }
  section > .inner {
    width: 90%;
    margin: 0 auto; }
  header {
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    background-color: #fff; }
    header .headerInner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 90%;
      margin: 0 auto;
      height: 60px; }
      header .headerInner #headerLogo {
        display: flex;
        align-items: center;
        height: 60px;
        line-height: 1;
        position: relative;
        z-index: 10; }
        header .headerInner #headerLogo .img {
          width: 100px;
          height: 17px; }
          header .headerInner #headerLogo .img img {
            width: 100%;
            height: auto; }
        header .headerInner #headerLogo .category {
          font-size: 1rem;
          line-height: 1;
          color: #0071be;
          margin-left: 1em; }
      header .headerInner #menuBtn {
        width: 40px;
        height: 40px;
        position: relative;
        z-index: 10; }
        header .headerInner #menuBtn span {
          display: block;
          width: 40px;
          height: 2px;
          background-color: #0071be;
          position: absolute;
          left: 0;
          transition: all .3s linear; }
          header .headerInner #menuBtn span:nth-of-type(1) {
            top: 9px; }
          header .headerInner #menuBtn span:nth-of-type(2) {
            top: 19px; }
          header .headerInner #menuBtn span:nth-of-type(3) {
            top: 30px; }
        header .headerInner #menuBtn.isOpen span:nth-of-type(1) {
          top: 19px;
          -webkit-transform: rotate(40deg);
                  transform: rotate(40deg); }
        header .headerInner #menuBtn.isOpen span:nth-of-type(2) {
          top: 19px;
          opacity: 0; }
        header .headerInner #menuBtn.isOpen span:nth-of-type(3) {
          top: 19px;
          -webkit-transform: rotate(-40deg);
                  transform: rotate(-40deg); }
      header .headerInner nav {
        width: 100%;
        height: 100vh;
        height: -webkit-fill-available;
        padding-top: 150px;
        background-color: rgba(255, 255, 255, 0.95);
        position: fixed;
        z-index: -1;
        top: 0;
        left: 100%;
        transition: all .3s; }
        header .headerInner nav.isOpen {
          left: 0; }
        header .headerInner nav ul {
          width: 80%;
          margin: 0 auto;
          list-style: none;
          font-size: 1.8rem; }
          header .headerInner nav ul li + li {
            margin-top: 25px;
            padding-top: 20px;
            border-top: 1px solid #0071be; }
          header .headerInner nav ul li a {
            color: #000;
            font-weight: 700;
            position: relative;
            display: block; }
            header .headerInner nav ul li a:after {
              content: "";
              display: block;
              width: 8px;
              height: 8px;
              border-top: 2px solid #0071be;
              border-right: 2px solid #0071be;
              -webkit-transform: rotate(45deg);
                      transform: rotate(45deg);
              position: absolute;
              top: calc(50% - 4px);
              right: 5px; }
            header .headerInner nav ul li a.gradBtn {
              padding: .5em 3em;
              font-size: 2rem;
              text-align: center;
              color: #fff;
              margin-top: 30px;
              border-radius: 5px; }
              header .headerInner nav ul li a.gradBtn:after {
                display: none; }
  #mv {
    position: relative;
    width: 100%;
    height: 100vh;
    height: -webkit-fill-available; }
    #mv img {
      width: 100%;
      height: auto; }
    #mv .scrollDown {
      display: flex;
      justify-content: center;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%; }
      #mv .scrollDown .sd {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        cursor: pointer; }
        #mv .scrollDown .sd:after {
          content: "";
          display: block;
          width: 1px;
          height: 40px;
          background: linear-gradient(0deg, #0071be 25%, #00c788 75%, #0071be 100%);
          background-size: 100% 200%;
          margin-top: 15px;
          -webkit-animation: sdAni 3s infinite linear;
                  animation: sdAni 3s infinite linear; }
  @-webkit-keyframes sdAni {
    0% {
      background-position: 0 100%; }
    100% {
      background-position: 0 -100%; } }
  @keyframes sdAni {
    0% {
      background-position: 0 100%; }
    100% {
      background-position: 0 -100%; } }
        #mv .scrollDown .sd span {
          font-size: 1rem;
          color: #0071be;
          line-height: 1; }
  #about {
    background-image: url(../images/about-bg.png);
    background-repeat: no-repeat;
    background-size: 367px auto;
    position: relative;
    padding-top: 60px; }
    #about .txt {
      position: relative;
      z-index: 3; }
      #about .txt p {
        margin-top: 30px; }
    #about .img {
      width: 100%;
      text-align: center;
      margin-top: 30px; }
      #about .img img {
        max-width: 100%;
        width: auto;
        height: auto; }
  #sectInfograph {
    margin-top: 60px;
    position: relative;
    z-index: 3; }
    #sectInfograph:before {
      content: "";
      display: block;
      background-image: url(../images/infograph-bg1.png);
      width: 303px;
      height: 412px;
      background-size: 100% auto;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      opacity: .6; }
    #sectInfograph:after {
      content: "";
      display: block;
      background-image: url(../images/infograph-bg2.png);
      width: 282px;
      height: 420px;
      background-size: 100% auto;
      position: absolute;
      left: 0;
      bottom: -200px;
      z-index: -1;
      opacity: .6; }
    #sectInfograph p.read {
      margin-top: 20px; }
    #sectInfograph #nums {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 40px; }
      #sectInfograph #nums .item {
        width: 100%;
        background-color: #daf0ff;
        margin-top: 2px;
        padding: 20px; }
        #sectInfograph #nums .item.half {
          width: 100%; }
        #sectInfograph #nums .item .itemInner {
          background-color: #fff;
          width: 100%;
          height: 100%;
          padding: 10px 15px;
          display: -ms-grid;
          display: grid;
          -ms-grid-columns: 40% 60%;
              grid-template-columns: 40% 60%;
          -ms-grid-rows: 35px 1fr;
              grid-template-rows: 35px 1fr; }
          #sectInfograph #nums .item .itemInner .title {
            font-size: 1.6rem;
            text-align: center;
            font-weight: 700;
            -ms-grid-row: 1;
            grid-row: 1;
            -ms-grid-column: 1;
            -ms-grid-column-span: 2;
            grid-column: 1 / span 2;
            border-bottom: 1px solid #000;
            padding-bottom: 10px; }
          #sectInfograph #nums .item .itemInner .img {
            display: flex;
            justify-content: center;
            align-items: center;
            -ms-grid-row: 2;
            grid-row: 2;
            -ms-grid-column: 1;
            grid-column: 1;
            aspect-ratio: 1 / 1;
            height: 110px; }
            #sectInfograph #nums .item .itemInner .img img {
              max-width: 100%;
              max-height: 100%;
              width: auto;
              height: auto; }
          #sectInfograph #nums .item .itemInner .num {
            text-align: center;
            font-size: 1.6rem;
            color: #0071be;
            line-height: 1.4;
            -ms-grid-row: 2;
            grid-row: 2;
            -ms-grid-column: 2;
            grid-column: 2;
            -ms-grid-row-align: center;
                align-self: center; }
            #sectInfograph #nums .item .itemInner .num .en {
              font-size: 3.6rem; }
            #sectInfograph #nums .item .itemInner .num .memo {
              font-size: 1rem;
              color: #000;
              display: block; }
  #benefit {
    margin-top: 60px; }
    #benefit p.read {
      margin-top: 20px; }
    #benefit .benefitImg {
      margin-top: 40px;
      width: 100%; }
      #benefit .benefitImg img {
        width: 100%;
        height: auto; }
    #benefit #taigu {
      margin-top: 30px; }
      #benefit #taigu .item {
        width: 100%;
        background-color: #eef2f5;
        padding: 20px;
        display: -ms-grid;
        display: grid;
        -ms-grid-rows: auto 1fr;
            grid-template-rows: auto 1fr;
        -ms-grid-columns: 30% 70%;
            grid-template-columns: 30% 70%; }
        #benefit #taigu .item + .item {
          margin-top: 15px; }
        #benefit #taigu .item .title {
          font-size: 1.8rem;
          font-weight: 700;
          color: #0071be;
          text-align: center;
          -ms-grid-row: 1;
          grid-row: 1;
          -ms-grid-column: 1;
          -ms-grid-column-span: 2;
          grid-column: 1 / span 2;
          padding-bottom: 10px; }
        #benefit #taigu .item .icon {
          text-align: center;
          padding: 10px 0 5px;
          -ms-grid-row: 2;
          grid-row: 2;
          -ms-grid-column: 1;
          grid-column: 1; }
          #benefit #taigu .item .icon img {
            max-width: 100%;
            width: auto;
            height: auto; }
        #benefit #taigu .item p {
          -ms-grid-row: 2;
          grid-row: 2;
          -ms-grid-column: 2;
          grid-column: 2;
          margin: 0;
          padding-left: 10px; }
          #benefit #taigu .item p span.blue {
            color: #0071be; }
        #benefit #taigu .item ul {
          list-style: none;
          padding-left: 10px; }
          #benefit #taigu .item ul li {
            padding-left: 1em;
            position: relative; }
            #benefit #taigu .item ul li:before {
              content: "";
              display: block;
              width: 5px;
              height: 5px;
              background-color: #0071be;
              position: absolute;
              top: 10px;
              left: 0; }
        #benefit #taigu .item.half {
          -ms-grid-rows: auto 1fr;
              grid-template-rows: auto 1fr;
          -ms-grid-columns: auto;
              grid-template-columns: auto; }
    #benefit .holiday h4 {
      font-size: 2.6rem;
      font-weight: 700;
      text-align: center; }
      #benefit .holiday h4 span {
        font-size: 5rem;
        font-weight: 400;
        color: #0071be; }
    #benefit .holiday .memo {
      text-align: center; }
    #benefit .holiday .hosoku {
      margin-top: 20px; }
    #benefit .others {
      display: flex;
      flex-direction: column;
      gap: 40px;
      margin-top: 40px; }
      #benefit .others .item .img {
        width: 100%; }
        #benefit .others .item .img img {
          width: 100%;
          height: auto; }
      #benefit .others .item .title {
        font-size: 1.8rem;
        text-align: center;
        border-bottom: 1px solid #0071be;
        color: #0071be;
        font-weight: 700;
        padding: 10px 0 5px; }
      #benefit .others .item p {
        margin-top: 5px; }
  #description {
    background-color: #daf0ff;
    margin-top: 60px;
    padding: 60px 0; }
    #description .heddingH2 {
      justify-content: center;
      padding-top: 25px; }
      #description .heddingH2 .en {
        font-size: 4rem;
        color: #c0e6ff;
        left: auto;
        right: auto;
        margin: 0 auto; }
    #description .desTab {
      display: flex;
      align-items: flex-end;
      gap: 1px;
      margin-top: 30px; }
      #description .desTab .obj {
        flex: 1;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        position: relative;
        color: #fff;
        font-size: 1.5rem;
        background-color: #b5c4ce;
        border-radius: 10px 10px 0 0; }
        #description .desTab .obj.now {
          background-color: #0071be;
          height: 70px; }
        #description .desTab .obj:after {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          border-right: 2px solid #fff;
          border-bottom: 2px solid #fff;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
    #description .page {
      background-color: #fff;
      padding: 20px; }
      #description .page .heddingH3:nth-of-type(1) {
        margin-top: 0; }
      #description .page p {
        margin-top: 20px; }
      #description .page .desH4 {
        margin-top: 30px;
        font-size: 2rem;
        font-weight: 700;
        color: #0071be;
        padding-left: .5em;
        position: relative; }
        #description .page .desH4:before {
          content: "";
          display: block;
          width: 3px;
          height: calc(100% - .6em);
          background-color: #0071be;
          top: .3em;
          left: 0;
          position: absolute; }
      #description .page .desH5 {
        position: relative;
        margin-top: 20px;
        list-style-position: 1em;
        padding-left: 1.5em;
        font-size: 1.4rem; }
        #description .page .desH5:before {
          content: "";
          display: block;
          width: 5px;
          height: 5px;
          background-color: #0071be;
          position: absolute;
          top: 10px;
          left: .8em; }
        #description .page .desH5 + p {
          margin-top: 0;
          padding-left: 1em; }
      #description .page .desTable {
        margin-top: 30px; }
        #description .page .desTable dl dt {
          background-color: #f4f4f4;
          font-weight: 700;
          padding: 15px; }
        #description .page .desTable dl dd {
          padding: 15px; }
          #description .page .desTable dl dd .m1e {
            margin-top: 1em; }
          #description .page .desTable dl dd strong {
            display: block; }
          #description .page .desTable dl dd p {
            margin: 0; }
            #description .page .desTable dl dd p + p {
              margin-top: 1em; }
          #description .page .desTable dl dd ul {
            list-style: none; }
            #description .page .desTable dl dd ul li {
              padding-left: 1em;
              position: relative; }
              #description .page .desTable dl dd ul li:before {
                content: "";
                display: block;
                width: 5px;
                height: 5px;
                background-color: #0071be;
                position: absolute;
                top: .9em;
                left: .2em;
                border-radius: 50%; }
      #description .page .entry {
        margin-top: 40px; }
        #description .page .entry a {
          width: 100%;
          height: 70px;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #fff;
          font-size: 3rem;
          text-decoration: none;
          position: relative;
          border-radius: 5px;
          margin: 0 auto; }
          #description .page .entry a:after {
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 6px);
            right: 20px; }
    #description #newGrad {
      display: none; }
  footer {
    padding-bottom: 30px;
    position: relative; }
    footer .underCatch {
      width: 100%;
      height: 200px;
      background-image: url(../images/under-catch-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 50%;
      display: flex;
      justify-content: center;
      align-items: center; }
      footer .underCatch img {
        width: 70%;
        height: auto; }
    footer .footerInner {
      width: 90%;
      margin: 30px auto 0; }
      footer .footerInner .footLogo {
        display: flex;
        align-items: center;
        line-height: 1;
        justify-content: center; }
        footer .footerInner .footLogo img {
          width: 100px;
          height: auto; }
        footer .footerInner .footLogo .en {
          font-size: 1rem;
          color: #0071be;
          margin-left: 1em; }
      footer .footerInner .footerContents {
        display: flex;
        flex-direction: column; }
        footer .footerInner .footerContents .footLeft .address {
          margin-top: 15px;
          font-size: 1.3rem;
          line-height: 2;
          text-align: center; }
        footer .footerInner .footerContents .footRright {
          margin-top: 30px; }
          footer .footerInner .footerContents .footRright ul {
            list-style: none;
            display: -ms-grid;
            display: grid;
            -ms-grid-rows: auto auto auto;
                grid-template-rows: auto auto auto;
            -ms-grid-columns: auto auto;
                grid-template-columns: auto auto;
            gap: 10px 20px;
            justify-content: center; }
            footer .footerInner .footerContents .footRright ul li a {
              text-decoration: none;
              font-size: 1.3rem;
              text-decoration: underline; }
              footer .footerInner .footerContents .footRright ul li a[target=_blank]:after {
                content: "";
                display: inline-block;
                background-image: url(../images/icon-blank.png);
                width: 13px;
                height: 13px;
                margin-left: .5em; }
      footer .footerInner .copy {
        margin-top: 25px;
        font-size: 1.2rem;
        text-align: center; }
  #pageTop {
    width: 45px;
    height: 45px;
    border-radius: 5px;
    background-color: #0071be;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: -80px;
    right: 20px;
    padding-top: 10px;
    cursor: pointer;
    transition: all .3s;
    z-index: 990; }
    #pageTop.isView {
      bottom: 20px; }
    #pageTop:before {
      content: "";
      display: block;
      width: 13px;
      height: 13px;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
  .engage {
    text-align: center;
    margin-top: 30px; }
    .engage .blankLink {
      margin-top: 20px; }
      .engage .blankLink img {
        max-width: 100%;
        width: auto;
        height: auto; }
  /* ココから下には記入禁止 */
  .forPC {
    display: none !important; } }

@media screen and (min-width: 800px) {
  :root {
    font-size: 10px; }
  body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.8;
    color: #36373a; }
  .en {
    font-family: 'Viga', sans-serif; }
  a {
    text-decoration: none;
    color: #000; }
  /* ココから下には記入禁止 */ }

@media print, screen and (min-width: 769px) {
  :root {
    font-size: 10px; }
  body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.8;
    color: #36373a;
    font-size: 1.5rem; }
  .en {
    font-family: 'Viga', sans-serif; }
  a {
    text-decoration: none;
    color: #000; }
  .gradBtn {
    display: block;
    background: linear-gradient(90deg, #00bcc7 50%, #00c788 100%);
    background-size: 200% 100%;
    background-position: 100% 0;
    color: #fff;
    transition: all .8s; }
    .gradBtn:hover {
      background-position: 0; }
  .heddingH2 {
    position: relative;
    padding-top: 90px;
    display: flex; }
    .heddingH2 .en {
      color: #daf0ff;
      font-size: 14rem;
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      line-height: 1;
      text-transform: uppercase; }
    .heddingH2 h2 {
      font-size: 3.8rem;
      font-weight: 700;
      position: relative;
      z-index: 3;
      line-height: 1.4; }
  .heddingH3 {
    color: #0071be;
    border-bottom: 1px solid #dedede;
    margin-top: 50px;
    font-size: 2.4rem;
    padding-bottom: 10px; }
  section > .inner {
    max-width: 1080px;
    width: 95%;
    margin: 0 auto; }
  .inView {
    opacity: 0;
    -webkit-transform: translateY(150px);
            transform: translateY(150px);
    transition: all 1s ease-out; }
    .inView.isShow {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0); }
  header {
    width: 100%;
    height: 67px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    background-color: #fff; }
    header .headerInner {
      display: flex;
      justify-content: space-between;
      padding-left: 2.5vw; }
      header .headerInner #headerLogo {
        display: flex;
        align-items: center;
        height: 67px;
        line-height: 1; }
        header .headerInner #headerLogo .category {
          font-size: 1.2rem;
          line-height: 1;
          color: #0071be;
          margin-left: 1em; }
      header .headerInner nav ul {
        list-style: none;
        display: flex;
        font-size: 1.4rem; }
        header .headerInner nav ul li + li {
          margin-left: 25px; }
        header .headerInner nav ul li a {
          display: flex;
          align-items: center;
          height: 67px;
          position: relative;
          font-weight: 700; }
          header .headerInner nav ul li a:after {
            content: "";
            display: block;
            width: 0;
            height: 0;
            position: absolute;
            bottom: 10px;
            left: 0;
            right: 0;
            margin: 0 auto;
            border-right: 2px solid #0071be;
            border-bottom: 2px solid #0071be;
            transition: all .3s;
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
            opacity: 0; }
          header .headerInner nav ul li a:hover:after {
            width: 10px;
            height: 10px;
            opacity: 1; }
          header .headerInner nav ul li a.gradBtn {
            padding: 0 3em;
            font-size: 2rem; }
            header .headerInner nav ul li a.gradBtn:after {
              display: none; }
  #mv {
    width: 100%;
    background-image: url(../images/top-bg.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding-top: 6vw;
    aspect-ratio: 144 / 80;
    position: relative; }
    #mv .topImg {
      width: 100%; }
      #mv .topImg img {
        width: 100%;
        height: auto; }
    #mv .scrollDown {
      display: flex;
      justify-content: center;
      position: absolute;
      left: 0;
      bottom: 10vw;
      width: 100%; }
      #mv .scrollDown .sd {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        cursor: pointer; }
        #mv .scrollDown .sd:after {
          content: "";
          display: block;
          width: 1px;
          height: 60px;
          background: linear-gradient(0deg, #0071be 25%, #00c788 75%, #0071be 100%);
          background-size: 100% 200%;
          margin-top: 15px;
          -webkit-animation: sdAni 3s infinite linear;
                  animation: sdAni 3s infinite linear; }
  @-webkit-keyframes sdAni {
    0% {
      background-position: 0 100%; }
    100% {
      background-position: 0 -100%; } }
  @keyframes sdAni {
    0% {
      background-position: 0 100%; }
    100% {
      background-position: 0 -100%; } }
        #mv .scrollDown .sd span {
          font-size: 1.2rem;
          color: #0071be;
          line-height: 1; }
  #about {
    background-image: url(../images/about-bg.png);
    background-repeat: no-repeat;
    position: relative;
    min-height: 778px;
    padding-top: 180px; }
    #about .txt {
      position: relative;
      z-index: 3; }
      #about .txt p {
        margin-top: 40px; }
    #about .img {
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 1;
      max-width: 50%;
      width: 798px; }
      #about .img img {
        width: 100%;
        height: auto; }
  #sectInfograph {
    margin-top: 150px;
    position: relative;
    z-index: 3; }
    #sectInfograph:before {
      content: "";
      display: block;
      background-image: url(../images/infograph-bg1.png);
      width: 606px;
      height: 824px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      opacity: .6; }
    #sectInfograph:after {
      content: "";
      display: block;
      display: block;
      background-image: url(../images/infograph-bg2.png);
      width: 564px;
      height: 840px;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: -1;
      opacity: .6; }
    #sectInfograph .heddingH2 {
      justify-content: flex-end; }
      #sectInfograph .heddingH2 .en {
        left: auto;
        right: 0; }
    #sectInfograph p.read {
      text-align: right;
      margin-top: 40px; }
    #sectInfograph #nums {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-top: 80px; }
      #sectInfograph #nums .item {
        width: calc((100% - 4px) /3);
        background-color: #daf0ff;
        margin-top: 2px;
        padding: 40px; }
        #sectInfograph #nums .item.half {
          width: calc((100% - 2px) / 2); }
        #sectInfograph #nums .item .itemInner {
          background-color: #fff;
          width: 100%;
          height: 100%;
          padding: 20px 40px; }
          #sectInfograph #nums .item .itemInner .title {
            font-size: 1.7rem;
            text-align: center;
            font-weight: 700; }
          #sectInfograph #nums .item .itemInner .img {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 110px; }
            #sectInfograph #nums .item .itemInner .img img {
              max-width: 100%;
              width: auto;
              height: auto; }
          #sectInfograph #nums .item .itemInner .num {
            border-top: 1px solid #000;
            text-align: center;
            font-size: 1.7rem;
            color: #0071be;
            line-height: 1.4;
            padding-top: 10px; }
            #sectInfograph #nums .item .itemInner .num .en {
              font-size: 4.2rem; }
            #sectInfograph #nums .item .itemInner .num .memo {
              font-size: 1.3rem;
              color: #000;
              display: block; }
  #benefit {
    margin-top: 150px; }
    #benefit .heddingH2 {
      justify-content: center; }
      #benefit .heddingH2 .en {
        right: auto;
        left: auto;
        margin: 0 auto; }
    #benefit p.read {
      margin-top: 30px;
      text-align: center; }
    #benefit .benefitImg {
      margin-top: 70px;
      width: 100%; }
      #benefit .benefitImg img {
        width: 100%;
        height: auto; }
    #benefit p {
      margin-top: 30px; }
    #benefit #taigu {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-top: 30px; }
      #benefit #taigu .item {
        width: calc((100% - 56px) / 3);
        background-color: #eef2f5;
        padding: 35px; }
        #benefit #taigu .item .title {
          font-size: 2rem;
          font-weight: 700;
          color: #0071be;
          text-align: center; }
        #benefit #taigu .item .icon {
          text-align: center;
          padding: 10px 0; }
        #benefit #taigu .item p span.blue {
          color: #0071be; }
        #benefit #taigu .item ul {
          list-style: none; }
          #benefit #taigu .item ul li {
            padding-left: 1em;
            position: relative; }
            #benefit #taigu .item ul li:before {
              content: "";
              display: block;
              width: 5px;
              height: 5px;
              background-color: #0071be;
              position: absolute;
              top: 10px;
              left: 0; }
        #benefit #taigu .item.half {
          width: calc((100% - 28px) / 2);
          margin-top: 28px;
          display: flex;
          align-items: center; }
          #benefit #taigu .item.half .title {
            text-align: left;
            width: 140px; }
          #benefit #taigu .item.half .p {
            flex: 1; }
    #benefit .holiday h4 {
      font-size: 3rem;
      font-weight: 700;
      text-align: center; }
      #benefit .holiday h4 span {
        font-size: 8rem;
        font-weight: 400;
        color: #0071be; }
    #benefit .holiday .memo {
      text-align: center; }
    #benefit .holiday .hosoku {
      margin-top: 30px; }
    #benefit .others {
      display: flex;
      justify-content: space-between;
      gap: 44px;
      margin-top: 40px; }
      #benefit .others .item {
        flex: 1; }
        #benefit .others .item .img {
          width: 100%; }
          #benefit .others .item .img img {
            width: 100%;
            height: auto; }
        #benefit .others .item .title {
          font-size: 2rem;
          text-align: center;
          border-bottom: 1px solid #0071be;
          color: #0071be;
          font-weight: 700;
          padding: 10px 0 5px; }
        #benefit .others .item p {
          margin-top: 15px; }
  #description {
    background-color: #daf0ff;
    margin-top: 150px;
    padding: 100px 0; }
    #description .heddingH2 {
      justify-content: center;
      padding-top: 80px; }
      #description .heddingH2 .en {
        font-size: 12.7rem;
        color: #c0e6ff;
        left: auto;
        right: auto;
        margin: o auto; }
    #description .desTab {
      display: flex;
      align-items: flex-end;
      gap: 1px;
      margin-top: 75px; }
      #description .desTab .obj {
        flex: 1;
        height: 75px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        color: #fff;
        font-size: 2rem;
        background-color: #b5c4ce;
        border-radius: 10px 10px 0 0;
        transition: all .3s;
        cursor: pointer; }
        #description .desTab .obj.now, #description .desTab .obj:hover {
          background-color: #0071be;
          height: 85px; }
        #description .desTab .obj:after {
          content: "";
          display: block;
          width: 12px;
          height: 12px;
          border-right: 2px solid #fff;
          border-bottom: 2px solid #fff;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          position: absolute;
          top: calc(50% - 8px);
          right: 30px; }
    #description .page {
      background-color: #fff;
      padding: 70px 50px; }
      #description .page .heddingH3:nth-of-type(1) {
        margin-top: 0; }
      #description .page p {
        margin-top: 30px; }
      #description .page .desH4 {
        margin-top: 40px;
        font-size: 2rem;
        font-weight: 700;
        color: #0071be;
        padding-left: .5em;
        position: relative; }
        #description .page .desH4:before {
          content: "";
          display: block;
          width: 3px;
          height: calc(100% - .6em);
          background-color: #0071be;
          top: .3em;
          left: 0;
          position: absolute; }
      #description .page .desH5 {
        position: relative;
        margin-top: 30px;
        list-style-position: 1em;
        padding-left: 1.5em;
        font-size: 1.5rem; }
        #description .page .desH5:before {
          content: "";
          display: block;
          width: 5px;
          height: 5px;
          background-color: #0071be;
          position: absolute;
          top: 10px;
          left: .8em; }
        #description .page .desH5 + p {
          margin-top: 0;
          padding-left: 1em; }
      #description .page .desTable {
        border-top: 1px solid #dedede;
        border-bottom: 1px solid #dedede;
        margin-top: 30px; }
        #description .page .desTable dl {
          display: flex; }
          #description .page .desTable dl + dl {
            border-top: 1px solid #dedede; }
          #description .page .desTable dl dt {
            background-color: #f4f4f4;
            font-weight: 700;
            width: 200px;
            padding: 30px 20px; }
          #description .page .desTable dl dd {
            flex: 1;
            padding: 20px 30px; }
            #description .page .desTable dl dd .m1e {
              margin-top: 1em; }
            #description .page .desTable dl dd strong {
              display: block; }
            #description .page .desTable dl dd p {
              margin: 0; }
              #description .page .desTable dl dd p + p {
                margin-top: 1em; }
            #description .page .desTable dl dd ul {
              list-style: none; }
              #description .page .desTable dl dd ul li {
                padding-left: 1em;
                position: relative; }
                #description .page .desTable dl dd ul li:before {
                  content: "";
                  display: block;
                  width: 5px;
                  height: 5px;
                  background-color: #0071be;
                  position: absolute;
                  top: .9em;
                  left: .2em;
                  border-radius: 50%; }
      #description .page .entry {
        margin-top: 40px; }
        #description .page .entry a {
          width: 480px;
          height: 90px;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #fff;
          font-size: 3rem;
          text-decoration: none;
          position: relative;
          border-radius: 5px;
          margin: 0 auto; }
          #description .page .entry a:after {
            content: "";
            display: block;
            width: 12px;
            height: 12px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff;
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 6px);
            right: 20px; }
    #description #newGrad {
      display: none; }
  footer {
    padding-bottom: 70px;
    position: relative; }
    footer .underCatch {
      width: 100%;
      height: 315px;
      background-image: url(../images/under-catch-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 50%;
      display: flex;
      justify-content: center;
      align-items: center; }
    footer .footerInner {
      max-width: 1080px;
      width: 95%;
      margin: 70px auto 0; }
      footer .footerInner .footLogo {
        display: flex;
        align-items: center;
        line-height: 1; }
        footer .footerInner .footLogo .en {
          font-size: 1.2rem;
          color: #0071be;
          margin-left: 1em; }
      footer .footerInner .footerContents {
        display: flex;
        justify-content: space-between; }
        footer .footerInner .footerContents .footLeft .address {
          margin-top: 30px;
          font-size: 1.3rem;
          line-height: 2; }
        footer .footerInner .footerContents .footRright ul {
          display: -ms-grid;
          display: grid;
          -ms-grid-rows: auto auto auto;
              grid-template-rows: auto auto auto;
          -ms-grid-columns: auto auto;
              grid-template-columns: auto auto;
          list-style: none; }
          footer .footerInner .footerContents .footRright ul li a {
            text-decoration: none; }
            footer .footerInner .footerContents .footRright ul li a:hover {
              text-decoration: underline; }
            footer .footerInner .footerContents .footRright ul li a[target=_blank]:after {
              content: "";
              display: inline-block;
              background-image: url(../images/icon-blank.png);
              width: 13px;
              height: 13px;
              margin-left: .5em; }
          footer .footerInner .footerContents .footRright ul li:nth-of-type(1) {
            -ms-grid-row: 1;
            grid-row: 1;
            -ms-grid-column: 1;
            grid-column: 1;
            padding-right: 2em; }
          footer .footerInner .footerContents .footRright ul li:nth-of-type(2) {
            -ms-grid-row: 2;
            grid-row: 2;
            -ms-grid-column: 1;
            grid-column: 1;
            padding-right: 2em;
            margin-top: 1.5em; }
          footer .footerInner .footerContents .footRright ul li:nth-of-type(3) {
            -ms-grid-row: 1;
            grid-row: 1;
            -ms-grid-column: 2;
            grid-column: 2;
            padding-right: 1.5em; }
          footer .footerInner .footerContents .footRright ul li:nth-of-type(4) {
            -ms-grid-row: 2;
            grid-row: 2;
            -ms-grid-column: 2;
            grid-column: 2;
            padding-right: 2em;
            margin-top: 1.5em; }
          footer .footerInner .footerContents .footRright ul li:nth-of-type(5) {
            -ms-grid-row: 1;
            grid-row: 1;
            -ms-grid-column: 3;
            grid-column: 3; }
          footer .footerInner .footerContents .footRright ul li:nth-of-type(6) {
            -ms-grid-row: 2;
            grid-row: 2;
            -ms-grid-column: 3;
            grid-column: 3;
            margin-top: 1.5em; }
      footer .footerInner .copy {
        margin-top: 25px;
        font-size: 1.2rem; }
  #pageTop {
    width: 70px;
    height: 70px;
    border-radius: 5px;
    background-color: #0071be;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: -80px;
    right: 20px;
    padding-top: 10px;
    cursor: pointer;
    transition: all .3s;
    z-index: 990; }
    #pageTop.isView {
      bottom: 20px; }
    #pageTop:before {
      content: "";
      display: block;
      width: 15px;
      height: 15px;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    #pageTop:hover {
      -webkit-animation: ptAni .5s forwards;
              animation: ptAni .5s forwards; }
  @-webkit-keyframes ptAni {
    0%, 100% {
      padding-top: 10px; }
    50% {
      padding-top: 0; } }
  @keyframes ptAni {
    0%, 100% {
      padding-top: 10px; }
    50% {
      padding-top: 0; } }
  .engage {
    text-align: center;
    margin-top: 40px; }
    .engage .blankLink {
      margin-top: 20px; }
  /* ココから下には記入禁止 */
  .forSP {
    display: none !important; } }

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