html {
  overflow-y: scroll; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

img {
  vertical-align: bottom; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li {
  list-style: none; }

caption, th {
  text-align: left; }

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

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

abbr, acronym {
  border: 0;
  font-variant: normal; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; }

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%; }

/*because legend doesn't inherit in IE */
legend {
  color: #000; }

del, ins {
  text-decoration: none; }

/**********************************

SLIDESHOW

**********************************/
.main-visual {
  position: relative; }
  .main-visual img {
    width: 100%;
    height: auto; }
  .main-visual .main-v-btn {
    position: absolute;
    z-index: 1;
    top: 67%;
    left: 7.2%;
    display: flex; }
    .main-visual .main-v-btn li a {
      display: block;
      height: 3.7vw;
      border-radius: 50rem;
      position: relative;
      transition: 0.5s;
      text-decoration: none;
      box-sizing: border-box; }
      .main-visual .main-v-btn li a .txt {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        font-size: 1.2vw;
        white-space: nowrap;
        font-weight: bold; }
      .main-visual .main-v-btn li a:hover {
        filter: brightness(1.3); }
    .main-visual .main-v-btn li.muryo {
      width: 20.2vw; }
      .main-visual .main-v-btn li.muryo a {
        border: 2px solid #ff4b18;
        background: #ff4b18;
        color: #fff; }
        .main-visual .main-v-btn li.muryo a .txt {
          color: #fff; }
    .main-visual .main-v-btn li.shien {
      width: 15vw;
      margin-left: 1vw; }
      .main-visual .main-v-btn li.shien a {
        border: 2px solid #063f87;
        background: #fff;
        color: #063f87; }
        .main-visual .main-v-btn li.shien a .txt {
          color: #063f87; }
        .main-visual .main-v-btn li.shien a:hover {
          filter: brightness(1);
          background: #e2f8fc; }
    @media screen and (max-width: 768px) {
      .main-visual .main-v-btn {
        top: 86%;
        left: 7vw; }
        .main-visual .main-v-btn li a {
          height: 14vw; }
          .main-visual .main-v-btn li a .txt {
            font-size: 3.6vw; }
        .main-visual .main-v-btn li.muryo {
          width: 51vw; }
        .main-visual .main-v-btn li.shien {
          width: 32vw;
          margin-left: 3vw; } }

/**********************************

CONTENTS

**********************************/
.lead {
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: left;
  letter-spacing: 10%; }
  .lead.center {
    text-align: center; }

.midashi {
  font-size: 3.6rem;
  line-height: 1.4;
  text-align: left;
  font-weight: bold;
  color: #063f87;
  letter-spacing: 10%; }
  .midashi.center {
    text-align: center; }
  @media screen and (max-width: 768px) {
    .midashi {
      font-size: 3rem; } }

.our-sec .midashi,
.support-sec .midashi,
.support-sec2 .midashi,
.use-sec .midashi,
.use-sec2 .midashi,
.faq-sec .midashi {
  margin-bottom: 3rem; }

.our-sec {
  background: #fff; }
  .our-sec .our-list01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2rem; }
    .our-sec .our-list01 li {
      width: 32%;
      margin-top: 2rem;
      box-sizing: border-box;
      background: #fff;
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
      border-radius: 1rem;
      padding: 2.5rem 2rem;
      border: 1px solid #d7f0ec; }
      .our-sec .our-list01 li .lead {
        font-size: 1.6rem;
        position: relative;
        padding-left: 4rem; }
        .our-sec .our-list01 li .lead .arrow {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: 0rem;
          max-width: 3rem; }
          .our-sec .our-list01 li .lead .arrow img {
            width: 100%;
            height: auto; }
      .our-sec .our-list01 li:nth-child(4) {
        width: 100%;
        background: #063f87;
        border: none;
        padding: 5rem 2rem; }
        .our-sec .our-list01 li:nth-child(4) .lead {
          font-size: 1.8rem;
          font-weight: bold;
          color: #fff;
          padding-left: 0rem; }
    @media screen and (max-width: 768px) {
      .our-sec .our-list01 {
        flex-wrap: wrap; }
        .our-sec .our-list01 li {
          width: 100%; }
          .our-sec .our-list01 li .lead {
            font-size: 2rem; }
          .our-sec .our-list01 li:nth-child(4) .lead {
            font-size: 2.2rem; } }

.support-sec {
  background: #ebf5fd; }
  .support-sec .sapp-list01 {
    display: flex;
    justify-content: space-between;
    padding-top: 2rem; }
    .support-sec .sapp-list01 li {
      width: 32%;
      margin-top: 2rem;
      box-sizing: border-box;
      background: #fff;
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
      border-radius: 1rem;
      padding: 2.5rem 3rem; }
      .support-sec .sapp-list01 li:before {
        content: "";
        position: absolute;
        height: 0.6rem;
        top: 0;
        left: 0;
        right: 0;
        background: #00a696; }
      .support-sec .sapp-list01 li .ttl-en {
        font-size: 3.6rem;
        font-weight: bold;
        line-height: 1.5;
        color: #00a696;
        opacity: 0.3; }
      .support-sec .sapp-list01 li .ttl-kana {
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.5;
        color: #063f87;
        margin-top: 1rem; }
      .support-sec .sapp-list01 li .lead {
        font-size: 1.5rem;
        position: relative;
        margin-top: 1rem; }
      .support-sec .sapp-list01 li:nth-child(2):before {
        background: #ff4b18; }
      .support-sec .sapp-list01 li:nth-child(2) .ttl-en {
        color: #ff4b18; }
    @media screen and (max-width: 768px) {
      .support-sec .sapp-list01 {
        flex-wrap: wrap; }
        .support-sec .sapp-list01 li {
          width: 100%; } }

.support-sec2 {
  background: #fff; }
  .support-sec2 .sapp-list02 {
    display: grid;
    grid-template-columns: 25% 25% 46%;
    grid-template-rows: auto auto;
    padding-top: 2rem;
    column-gap: 2%;
    box-sizing: border-box; }
    .support-sec2 .sapp-list02 li {
      background: #dff7f3;
      margin-top: 2rem;
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
      border-radius: 1rem;
      padding: 2.5rem 2rem; }
      .support-sec2 .sapp-list02 li .ttl {
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.5;
        color: #063f87;
        display: flex;
        align-items: center; }
        .support-sec2 .sapp-list02 li .ttl .sup-icon {
          width: 5rem;
          margin-right: 1.5rem; }
          .support-sec2 .sapp-list02 li .ttl .sup-icon img {
            width: 100%;
            height: auto; }
      .support-sec2 .sapp-list02 li .lead {
        margin-top: 1rem;
        font-size: 1.5rem; }
      .support-sec2 .sapp-list02 li:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2; }
      .support-sec2 .sapp-list02 li:nth-child(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 2; }
      .support-sec2 .sapp-list02 li:nth-child(3) {
        grid-column: 1 / 2;
        grid-row: 2 / 3; }
      .support-sec2 .sapp-list02 li:nth-child(4) {
        grid-column: 2 / 3;
        grid-row: 2 / 3; }
      .support-sec2 .sapp-list02 li:nth-child(5) {
        background: #095491;
        grid-column: 3 / 4;
        grid-row: 1 / 3;
        padding: 3rem 3rem; }
        .support-sec2 .sapp-list02 li:nth-child(5) .sapp-midashi {
          color: #fff;
          font-size: 2.4rem;
          font-weight: bold;
          margin-bottom: 3rem; }
          .support-sec2 .sapp-list02 li:nth-child(5) .sapp-midashi .c-yell {
            color: #ffdd55; }
        .support-sec2 .sapp-list02 li:nth-child(5) .lead {
          color: #fff; }
    @media screen and (max-width: 768px) {
      .support-sec2 .sapp-list02 {
        grid-template-columns: 48% 48%;
        grid-template-rows: auto auto auto;
        column-gap: 4%; }
        .support-sec2 .sapp-list02 li:nth-child(1) {
          grid-column: 1 / 2;
          grid-row: 1 / 2; }
        .support-sec2 .sapp-list02 li:nth-child(2) {
          grid-column: 2 / 3;
          grid-row: 1 / 2; }
        .support-sec2 .sapp-list02 li:nth-child(3) {
          grid-column: 1 / 2;
          grid-row: 2 / 3; }
        .support-sec2 .sapp-list02 li:nth-child(4) {
          grid-column: 2 / 3;
          grid-row: 2 / 3; }
        .support-sec2 .sapp-list02 li:nth-child(5) {
          grid-column: 1 / 3;
          grid-row: 3 / 4; } }

.use-sec {
  background: #f4fbfc; }
  .use-sec .use-list01 {
    display: flex;
    justify-content: space-between;
    padding-top: 2rem; }
    .use-sec .use-list01 li {
      width: 24%;
      margin-top: 2rem;
      background: #fff;
      box-sizing: border-box;
      position: relative;
      overflow: hidden;
      border-radius: 1rem;
      padding: 2.5rem 2rem;
      border: 1px solid #d7f0ec; }
      .use-sec .use-list01 li .ttl-en {
        font-size: 1.2rem;
        font-weight: bold;
        line-height: 1.5;
        color: #00a696; }
      .use-sec .use-list01 li .ttl-kana {
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.5;
        color: #063f87;
        margin-top: 0.5rem; }
      .use-sec .use-list01 li .lead {
        font-size: 1.5rem;
        position: relative;
        margin-top: 1rem;
        padding-right: 3.5rem; }
        .use-sec .use-list01 li .lead .arrow {
          position: absolute;
          top: 0.5rem;
          right: -1rem;
          max-width: 3rem; }
          .use-sec .use-list01 li .lead .arrow img {
            width: 100%;
            height: auto; }
    @media screen and (max-width: 768px) {
      .use-sec .use-list01 {
        flex-wrap: wrap; }
        .use-sec .use-list01 li {
          width: 49%; } }
    @media screen and (max-width: 500px) {
      .use-sec .use-list01 {
        flex-wrap: wrap; }
        .use-sec .use-list01 li {
          width: 100%; }
          .use-sec .use-list01 li .lead .arrow {
            transform: rotate(90deg); } }

.use-sec2 {
  background: #fff; }
  .use-sec2 .inner {
    max-width: 1000px; }
    .use-sec2 .inner .use-list02 {
      display: flex;
      justify-content: space-between;
      padding-top: 2rem; }
      .use-sec2 .inner .use-list02 li {
        width: 31%;
        margin-top: 2rem; }
      @media screen and (max-width: 768px) {
        .use-sec2 .inner .use-list02 {
          display: block;
          margin: auto;
          max-width: 330px; }
          .use-sec2 .inner .use-list02 li {
            width: 100%; } }

.faq-sec {
  background: #f4fbfc; }
  .faq-sec .inner {
    max-width: 1000px; }
    .faq-sec .inner .faq-list {
      padding-top: 1rem; }
      .faq-sec .inner .faq-list li {
        width: 100%;
        margin-top: 2rem;
        box-sizing: border-box;
        position: relative;
        overflow: hidden;
        border-radius: 1rem;
        padding: 2.5rem 3.5rem;
        background: #fff; }
        .faq-sec .inner .faq-list li:before {
          content: "";
          position: absolute;
          width: 0.6rem;
          top: 0;
          left: 0;
          bottom: 0;
          background: #00a696; }
        .faq-sec .inner .faq-list li .ttl {
          font-size: 1.8rem;
          font-weight: bold;
          line-height: 1.5;
          color: #063f87; }
        .faq-sec .inner .faq-list li .lead {
          margin-top: 1rem; }
        .faq-sec .inner .faq-list li .red-t {
          color: #f70b38;
          font-weight: bold; }

/**********************************

access

**********************************/
.access-sec {
  background: #00a797; }
  .access-sec .inner {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .access-sec .inner .left {
      width: 51%; }
      .access-sec .inner .left .midashi {
        color: #fff; }
      .access-sec .inner .left .lead {
        color: #fff;
        margin-top: 2rem; }
      .access-sec .inner .left .acc-img01 {
        margin-top: 3rem;
        max-width: 46rem; }
    .access-sec .inner .right {
      background: #fff;
      border-radius: 1rem;
      box-sizing: border-box;
      padding: 3rem 4rem;
      width: 45%; }
      .access-sec .inner .right .sec-top {
        padding: 0 6%; }
        .access-sec .inner .right .sec-top .ttl1 {
          color: #03818d;
          font-size: 1.6rem;
          font-weight: bold; }
        .access-sec .inner .right .sec-top .dial {
          color: #ff4b18;
          font-size: 3.6rem;
          font-weight: bold;
          line-height: 1.3; }
        .access-sec .inner .right .sec-top .mail {
          text-decoration: none;
          color: #333333;
          font-size: 1.6rem;
          font-weight: bold;
          cursor: pointer;
          margin-top: 1.5rem; }
      .access-sec .inner .right .sec-bottom {
        border-top: 1px solid #00a797;
        padding: 2rem 6% 0;
        margin-top: 2rem; }
        .access-sec .inner .right .sec-bottom .con-btn {
          margin-top: 2rem;
          margin-bottom: 2rem; }
  @media screen and (max-width: 768px) {
    .access-sec .inner {
      display: block; }
      .access-sec .inner .left {
        width: 100%; }
        .access-sec .inner .left .acc-img01 {
          max-width: none; }
      .access-sec .inner .right {
        width: 100%;
        margin-top: 4rem; } }
