@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  word-break: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
  line-height: 1.6; }
  *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

html, body {
  overflow-x: hidden; }

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

li {
  list-style-type: none; }

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

a {
  text-decoration: none;
  color: inherit; }

img, picture {
  vertical-align: middle;
  max-width: 100%;
  height: auto; }

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

input, select {
  vertical-align: middle; }

br {
  line-height: 0; }

input, textarea, select {
  font: inherit;
  border: 1px solid #000;
  min-width: 0; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  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; }

/* -----------------------------------------------------
	basic
----------------------------------------------------- */
html {
  font-size: 62.5%; }

body {
  -webkit-text-size-adjust: 100%;
  font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  color: #333333;
  text-align: center;
  position: relative; }
  @media screen and (max-width: 768px) {
    body {
      -webkit-font-feature-settings: "palt" 1;
      font-feature-settings: "palt" 1; } }

section.bg_g {
  background: #f8f8f8; }

section.bg_b {
  background: #e2f2ff; }

section .inner {
  max-width: 988px;
  width: 90%;
  margin: 0 auto;
  padding: 44px 0 60px; }
  @media screen and (max-width: 768px) {
    section .inner {
      max-width: 100%;
      padding: 9.375vw 0 13.02083vw; } }

a {
  opacity: 1;
  -webkit-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s; }
  a:hover {
    opacity: 0.8; }
    @media screen and (max-width: 768px) {
      a:hover {
        opacity: 1; } }

sup {
  font-size: 60%;
  vertical-align: super; }

h2.ttl {
  margin-bottom: 4rem;
  line-height: 1.4;
  font-size: 3.6rem;
  font-weight: bold;
  color: #2f6087; }
  @media screen and (max-width: 768px) {
    h2.ttl {
      font-size: 8vw;
      line-height: 1.35em;
      margin-bottom: 7.8125vw; } }

h3.ttl {
  margin-bottom: 3rem;
  line-height: 1.4;
  font-size: 2.9rem;
  font-weight: bold;
  color: #2f6087; }
  @media screen and (max-width: 768px) {
    h3.ttl {
      font-size: 5.3vw;
      line-height: 1.35em;
      margin-bottom: 7.8125vw; } }

/* -------------------------
	header
--------------------------- */
header {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  width: 100%;
  height: 60px;
  background: #0075c2;
  letter-spacing: 0;
  padding: 0 30px;
  z-index: 10;
  position: fixed; }
  @media screen and (max-width: 1100px) {
    header {
      height: 90px; } }
  @media screen and (max-width: 768px) {
    header {
      height: 14.58333vw;
      background: #0075c2;
      padding: 0 5.20833vw;
      border-bottom: solid 0.52083vw rgba(0, 0, 0, 0.1); } }
  header .wrap {
    display: -webkit-box;
    /*Android4.3*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-align: center;
    /*IE10*/
    -webkit-box-align: center;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-align-items: center;
    /* Safari6.1以降 */
    align-items: center;
    width: 100%; }
    header .wrap .logo {
      font-size: 0; }
      header .wrap .logo img {
        width: 200px; }
        @media screen and (max-width: 768px) {
          header .wrap .logo img {
            width: 52.08333vw; } }
    header .wrap nav {
      display: -webkit-box;
      /*Android4.3*/
      display: -ms-flexbox;
      /*IE10*/
      display: -webkit-flex;
      /*PC-Safari,iOS8.4*/
      display: flex;
      -ms-flex-pack: justify;
      /*IE10*/
      -webkit-box-pack: justify;
      /* Android4.3以下、Safari3.1〜6.0 */
      -webkit-justify-content: space-between;
      /* Safari6.1以降 */
      justify-content: space-between;
      -ms-flex-align: center;
      /*IE10*/
      -webkit-box-align: center;
      /* Android4.3以下、Safari3.1〜6.0 */
      -webkit-align-items: center;
      /* Safari6.1以降 */
      align-items: center;
      width: 100%; }
      @media screen and (max-width: 1100px) {
        header .wrap nav {
          display: none;
          padding-left: 0;
          z-index: 2;
          position: fixed;
          top: 0;
          left: 0;
          opacity: 0;
          width: 100%;
          height: 100%;
          overflow: auto;
          -webkit-transition: all 0.5s ease 0s;
          -o-transition: all 0.5s ease 0s;
          transition: all 0.5s ease 0s;
          visibility: hidden;
          background: #0075c2 none repeat scroll 0 0; } }
      header .wrap nav .list {
        display: -webkit-box;
        /*Android4.3*/
        display: -ms-flexbox;
        /*IE10*/
        display: -webkit-flex;
        /*PC-Safari,iOS8.4*/
        display: flex;
        -ms-flex-align: center;
        /*IE10*/
        -webkit-box-align: center;
        /* Android4.3以下、Safari3.1〜6.0 */
        -webkit-align-items: center;
        /* Safari6.1以降 */
        align-items: center;
        padding: 0 0 0 20px; }
        @media screen and (max-width: 1100px) {
          header .wrap nav .list {
            display: block;
            margin-top: 100px;
            padding: 0 32px; } }
        @media screen and (max-width: 768px) {
          header .wrap nav .list {
            margin-top: 23.4375vw;
            padding: 0 4.16667vw; } }
        header .wrap nav .list li {
          padding-left: 24px;
          color: #fff;
          font-size: 1.6rem;
          font-weight: 500; }
          @media screen and (max-width: 1100px) {
            header .wrap nav .list li {
              padding-left: 0;
              font-size: 24px;
              text-align: left;
              border-bottom: solid 2px #fff; }
              header .wrap nav .list li a {
                display: block;
                padding: 24px 24px;
                position: relative; }
                header .wrap nav .list li a::after {
                  content: "";
                  display: inline-block;
                  position: absolute;
                  top: 50%;
                  right: 24px;
                  width: 16px;
                  height: 16px;
                  border-top: solid 2px #fff;
                  border-right: solid 2px #fff;
                  -webkit-transform: translateY(-50%) rotate(45deg);
                  -ms-transform: translateY(-50%) rotate(45deg);
                  transform: translateY(-50%) rotate(45deg); } }
          @media screen and (max-width: 768px) {
            header .wrap nav .list li {
              padding-left: 0;
              font-size: 4.16667vw;
              border-bottom: solid 0.26042vw #fff; }
              header .wrap nav .list li a {
                display: block;
                padding: 4.16667vw 3.125vw;
                position: relative; }
                header .wrap nav .list li a::after {
                  content: "";
                  display: inline-block;
                  position: absolute;
                  top: 50%;
                  right: 3.125vw;
                  width: 3.125vw;
                  height: 3.125vw;
                  border-top: solid 0.52083vw #fff;
                  border-right: solid 0.52083vw #fff;
                  -webkit-transform: translateY(-50%) rotate(45deg);
                  -ms-transform: translateY(-50%) rotate(45deg);
                  transform: translateY(-50%) rotate(45deg); } }
      header .wrap nav .contact {
        display: -webkit-box;
        /*Android4.3*/
        display: -ms-flexbox;
        /*IE10*/
        display: -webkit-flex;
        /*PC-Safari,iOS8.4*/
        display: flex;
        -ms-flex-align: center;
        /*IE10*/
        -webkit-box-align: center;
        /* Android4.3以下、Safari3.1〜6.0 */
        -webkit-align-items: center;
        /* Safari6.1以降 */
        align-items: center; }
        @media screen and (max-width: 1100px) {
          header .wrap nav .contact {
            display: block;
            margin-top: 40px;
            padding: 0 32px 40px; } }
  @media screen and (max-width: 1100px) and (max-width: 768px) {
    header .wrap nav .contact {
      margin-top: 9.11458vw;
      padding: 0 4.16667vw 7.29167vw; } }
        header .wrap nav .contact .tel a {
          color: #fff;
          font-size: 2rem; }
          @media screen and (min-width: 769px) {
            header .wrap nav .contact .tel a {
              pointer-events: none; } }
          @media screen and (max-width: 1100px) {
            header .wrap nav .contact .tel a {
              display: -webkit-box;
              /*Android4.3*/
              display: -ms-flexbox;
              /*IE10*/
              display: -webkit-flex;
              /*PC-Safari,iOS8.4*/
              display: flex;
              -ms-flex-pack: center;
              /*IE10*/
              -webkit-box-pack: center;
              /* Android4.3以下、Safari3.1〜6.0 */
              -webkit-justify-content: center;
              /* Safari6.1以降 */
              justify-content: center;
              -ms-flex-align: center;
              /*IE10*/
              -webkit-box-align: center;
              /* Android4.3以下、Safari3.1〜6.0 */
              -webkit-align-items: center;
              /* Safari6.1以降 */
              align-items: center;
              border: 2px solid #fff;
              height: 96px;
              font-size: 25px;
              border-radius: 4px; } }
          @media screen and (max-width: 768px) {
            header .wrap nav .contact .tel a {
              font-size: 4.6875vw;
              height: 12.5vw;
              border-radius: 0.78125vw; } }
        header .wrap nav .contact .btn_cv {
          margin: 0 10px 0 20px; }
          @media screen and (max-width: 1100px) {
            header .wrap nav .contact .btn_cv {
              margin: 20px 0; } }
          @media screen and (max-width: 768px) {
            header .wrap nav .contact .btn_cv {
              margin: 5.20833vw 0; } }
          header .wrap nav .contact .btn_cv a {
            display: -webkit-box;
            /*Android4.3*/
            display: -ms-flexbox;
            /*IE10*/
            display: -webkit-flex;
            /*PC-Safari,iOS8.4*/
            display: flex;
            -ms-flex-pack: center;
            /*IE10*/
            -webkit-box-pack: center;
            /* Android4.3以下、Safari3.1〜6.0 */
            -webkit-justify-content: center;
            /* Safari6.1以降 */
            justify-content: center;
            -ms-flex-align: center;
            /*IE10*/
            -webkit-box-align: center;
            /* Android4.3以下、Safari3.1〜6.0 */
            -webkit-align-items: center;
            /* Safari6.1以降 */
            align-items: center;
            color: #fff;
            text-decoration: none;
            background: #f7a42e;
            border-radius: 4px;
            font-weight: 700;
            line-height: 1.3;
            text-align: center;
            width: 180px;
            height: 40px; }
            @media screen and (max-width: 1100px) {
              header .wrap nav .contact .btn_cv a {
                width: 100%;
                height: 96px;
                font-size: 25px;
                letter-spacing: 0.08em; } }
            @media screen and (max-width: 768px) {
              header .wrap nav .contact .btn_cv a {
                height: 12.5vw;
                border-radius: 0.78125vw;
                font-size: 4.6875vw; } }
        header .wrap nav .contact .btn_cv_w a {
          display: -webkit-box;
          /*Android4.3*/
          display: -ms-flexbox;
          /*IE10*/
          display: -webkit-flex;
          /*PC-Safari,iOS8.4*/
          display: flex;
          -ms-flex-pack: center;
          /*IE10*/
          -webkit-box-pack: center;
          /* Android4.3以下、Safari3.1〜6.0 */
          -webkit-justify-content: center;
          /* Safari6.1以降 */
          justify-content: center;
          -ms-flex-align: center;
          /*IE10*/
          -webkit-box-align: center;
          /* Android4.3以下、Safari3.1〜6.0 */
          -webkit-align-items: center;
          /* Safari6.1以降 */
          align-items: center;
          color: #f7a42e;
          text-decoration: none;
          background: #fff;
          border-radius: 4px;
          font-weight: 700;
          line-height: 1.3;
          text-align: center;
          width: 180px;
          height: 40px;
          border: 2px solid #f7a42e; }
          @media screen and (max-width: 1100px) {
            header .wrap nav .contact .btn_cv_w a {
              width: 100%;
              height: 96px;
              font-size: 25px;
              letter-spacing: 0.08em; } }
          @media screen and (max-width: 768px) {
            header .wrap nav .contact .btn_cv_w a {
              height: 12.5vw;
              border-radius: 0.78125vw;
              font-size: 4.6875vw; } }

.nav_logo {
  display: none; }

.open .logo {
  position: relative;
  z-index: 3; }

@media screen and (max-width: 1100px) {
  .open .nav_logo {
    display: block; }
    .open .nav_logo img {
      width: 22.4vw; } }

@media screen and (max-width: 768px) {
  .open .nav_logo img {
    width: 52.08333vw; } }

@media screen and (max-width: 1100px) {
  .wrap.open nav {
    opacity: 1;
    -webkit-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
    visibility: visible;
    display: block; } }

/* -----------------------------------------------------
	menu
----------------------------------------------------- */
.menu {
  display: none; }
  @media screen and (max-width: 1100px) {
    .menu {
      display: block;
      z-index: 3; }
      .menu .menu-trigger {
        position: relative;
        width: 3.84vw;
        height: 2.56vw;
        cursor: pointer; }
      .menu .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0.24vw;
        background-color: #fff; }
      .menu .menu-trigger, .menu .menu-trigger span {
        display: inline-block;
        -webkit-transition: all .5s;
        -o-transition: all .5s;
        transition: all .5s; }
      .menu .menu-trigger span:nth-of-type(1) {
        top: 0; }
      .menu .menu-trigger span:nth-of-type(2) {
        top: 1.12vw; }
      .menu .menu-trigger span:nth-of-type(3) {
        bottom: 0; }
      .menu .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(1.12vw) rotate(315deg);
        -ms-transform: translateY(1.12vw) rotate(315deg);
        transform: translateY(1.12vw) rotate(315deg); }
      .menu .menu-trigger.active span:nth-of-type(2) {
        opacity: 0; }
      .menu .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-1.12vw) rotate(-315deg);
        -ms-transform: translateY(-1.12vw) rotate(-315deg);
        transform: translateY(-1.12vw) rotate(-315deg); }
      .menu .menu-trigger.active span {
        background-color: #fff; } }
  @media screen and (max-width: 768px) {
    .menu .menu-trigger {
      width: 7.29167vw;
      height: 4.16667vw; }
    .menu .menu-trigger span {
      height: 0.39063vw; }
    .menu .menu-trigger span:nth-of-type(2) {
      top: 1.82292vw; }
    .menu .menu-trigger.active span:nth-of-type(1) {
      -webkit-transform: translateY(1.82292vw) rotate(315deg);
      -ms-transform: translateY(1.82292vw) rotate(315deg);
      transform: translateY(1.82292vw) rotate(315deg); }
    .menu .menu-trigger.active span:nth-of-type(2) {
      opacity: 0; }
    .menu .menu-trigger.active span:nth-of-type(3) {
      -webkit-transform: translateY(-1.82292vw) rotate(-315deg);
      -ms-transform: translateY(-2.08333vw) rotate(-315deg);
      transform: translateY(-2.08333vw) rotate(-315deg); } }

/* -----------------------------------------------------
	breadcrumb
----------------------------------------------------- */
.breadcrumb {
  padding: 0.5rem 0;
  background: url(../img/bg-dotted.png); }
  @media screen and (max-width: 768px) {
    .breadcrumb {
      padding: 2.60417vw 0; } }
  .breadcrumb ul {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    padding: 5px 0;
    display: -webkit-box;
    /*Android4.3*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-align: center;
    /*IE10*/
    -webkit-box-align: center;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-align-items: center;
    /* Safari6.1以降 */
    align-items: center; }
    @media screen and (max-width: 768px) {
      .breadcrumb ul {
        display: block;
        padding: 1.30208vw 0; } }
    .breadcrumb ul li {
      color: #333333;
      font-size: .75em; }
      @media screen and (max-width: 768px) {
        .breadcrumb ul li {
          font-size: 3.64583vw;
          text-align: left; }
          .breadcrumb ul li:nth-of-type(n+2) {
            margin-top: 2.60417vw; } }
      .breadcrumb ul li a {
        display: inline-block;
        color: #5E6162; }

/* -----------------------------------------------------
	footer
----------------------------------------------------- */
footer {
  background: #0075c2; }
  footer .inner_f {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 20px 20px 30px; }
    @media screen and (max-width: 768px) {
      footer .inner_f {
        display: block;
        padding: 8.59375vw 5.20833vw 7.8125vw; } }
    footer .inner_f .footer_logo img {
      width: 200px; }
      @media screen and (max-width: 768px) {
        footer .inner_f .footer_logo img {
          width: 52.08333vw; } }
    footer .inner_f .footer_nav {
      font-size: 1.1rem;
      font-weight: 400;
      color: #FFF; }
      @media screen and (max-width: 768px) {
        footer .inner_f .footer_nav {
          font-size: 3.38542vw;
          text-align: center; } }
      footer .inner_f .footer_nav .footer_nav_col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        @media screen and (max-width: 768px) {
          footer .inner_f .footer_nav .footer_nav_col {
            display: block; } }
        footer .inner_f .footer_nav .footer_nav_col ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (max-width: 768px) {
            footer .inner_f .footer_nav .footer_nav_col ul.col3 {
              display: block;
              margin: 6.51042vw 0 7.8125vw; } }
          footer .inner_f .footer_nav .footer_nav_col ul.col3 li {
            margin-left: 20px; }
            @media screen and (max-width: 768px) {
              footer .inner_f .footer_nav .footer_nav_col ul.col3 li {
                margin-left: 0; } }
            footer .inner_f .footer_nav .footer_nav_col ul.col3 li a {
              font-size: 1.1rem;
              border-bottom: 1px solid #FFF; }
              @media screen and (max-width: 768px) {
                footer .inner_f .footer_nav .footer_nav_col ul.col3 li a {
                  font-size: 3.38542vw;
                  line-height: 2.2; } }
              @media (hover: hover) and (pointer: fine) {
                footer .inner_f .footer_nav .footer_nav_col ul.col3 li a:hover {
                  border-bottom: 0; } }
          @media screen and (max-width: 768px) {
            footer .inner_f .footer_nav .footer_nav_col ul.col2 {
              -webkit-box-pack: justify;
              -ms-flex-pack: justify;
              justify-content: space-between; } }
          footer .inner_f .footer_nav .footer_nav_col ul.col2 li {
            margin-left: 10px; }
            @media screen and (max-width: 768px) {
              footer .inner_f .footer_nav .footer_nav_col ul.col2 li {
                margin-left: 0;
                width: calc(100% / 2 - 8px); } }
            footer .inner_f .footer_nav .footer_nav_col ul.col2 li a {
              display: block;
              width: 121px;
              padding: 3px 0 4px;
              border: 1px solid #FFF;
              border-radius: 5px;
              -webkit-box-sizing: border-box;
              box-sizing: border-box; }
              @media screen and (max-width: 768px) {
                footer .inner_f .footer_nav .footer_nav_col ul.col2 li a {
                  width: 100%; } }
              footer .inner_f .footer_nav .footer_nav_col ul.col2 li a .contacts {
                font-size: 1.1rem;
                font-weight: 700;
                padding-left: 4px;
                line-height: 1.2;
                vertical-align: middle; }
                @media screen and (max-width: 768px) {
                  footer .inner_f .footer_nav .footer_nav_col ul.col2 li a .contacts {
                    font-size: 3.38542vw;
                    font-weight: 500;
                    line-height: 2.1; } }
              footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.tel_icon {
                height: 16px; }
                @media screen and (max-width: 768px) {
                  footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.tel_icon {
                    height: 4.42708vw; } }
              footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.mail_icon {
                height: 11px; }
                @media screen and (max-width: 768px) {
                  footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.mail_icon {
                    height: 3.38542vw; } }
      footer .inner_f .footer_nav .copyright {
        font-size: 1rem;
        text-align: right;
        letter-spacing: .04em;
        margin-top: 12px;
        font-weight: 400; }
        @media screen and (max-width: 768px) {
          footer .inner_f .footer_nav .copyright {
            font-size: 2.86458vw;
            text-align: center;
            margin-top: 7.8125vw; } }

/* -----------------------------------------------------
	br
----------------------------------------------------- */
br.pc {
  display: block; }
  @media screen and (max-width: 768px) {
    br.pc {
      display: none; } }

br.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    br.sp {
      display: block; } }

.pc_show {
  display: block; }
  @media screen and (max-width: 768px) {
    .pc_show {
      display: none; } }

.sp_show {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp_show {
      display: block; } }

/* -------------------------
	kv
--------------------------- */
.kv {
  padding-top: 60px; }
  @media screen and (max-width: 1100px) {
    .kv {
      padding-top: 90px; } }
  @media screen and (max-width: 768px) {
    .kv {
      padding-top: 14.58333vw; } }
  .kv .inner {
    max-width: 1920px;
    width: 90%;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .kv .inner {
        padding: 5.20833vw 0 6.51042vw; } }
  .kv .box {
    display: -webkit-box;
    /*Android4.3*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-align: center;
    /*IE10*/
    -webkit-box-align: center;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-align-items: center;
    /* Safari6.1以降 */
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    @media screen and (max-width: 768px) {
      .kv .box {
        display: block; } }
    .kv .box .text {
      width: 39%;
      padding: 0 4% 0 0; }
      @media screen and (max-width: 768px) {
        .kv .box .text {
          width: 100%;
          padding: 0;
          margin-bottom: 7.8125vw; } }
    .kv .box .cv_btn a {
      display: block;
      background: #f7a42e;
      border-radius: 6px;
      width: 330px;
      line-height: 64px;
      font-size: 2.0rem;
      font-weight: 500;
      color: #fff;
      text-align: center;
      margin: 32px auto 0;
      padding-left: 40px;
      -webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.3);
      box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.3);
      position: relative;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
      @media screen and (max-width: 768px) {
        .kv .box .cv_btn a {
          border-radius: 1.5625vw;
          width: 98%;
          line-height: 18.22917vw;
          font-size: 5.20833vw;
          margin: 6.51042vw auto 0;
          padding-left: 8.33333vw;
          -webkit-box-shadow: 0px 0px 2.08333vw 0px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 0px 2.08333vw 0px rgba(0, 0, 0, 0.3); } }
      .kv .box .cv_btn a::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 20%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 32px;
        height: 36px;
        background: url(../img/icon_cv.png) top no-repeat;
        background-size: contain; }
        @media screen and (max-width: 768px) {
          .kv .box .cv_btn a::before {
            left: 18.22917vw;
            width: 8.33333vw;
            height: 9.375vw; } }
      .kv .box .cv_btn a:hover {
        -webkit-box-shadow: none;
        box-shadow: none;
        opacity: 1; }
        @media screen and (max-width: 768px) {
          .kv .box .cv_btn a:hover {
            -webkit-box-shadow: 0px 0px 2.08333vw 0px rgba(0, 0, 0, 0.3);
            box-shadow: 0px 0px 2.08333vw 0px rgba(0, 0, 0, 0.3); } }
    @media screen and (max-width: 768px) {
      .kv .box .small {
        font-size: 3.125vw;
        margin-top: 3.90625vw;
        padding-left: 1em;
        text-indent: -1em;
        text-align: center;
        line-height: 1.2; } }
    .kv .box .thum {
      width: 43%; }
      @media screen and (max-width: 768px) {
        .kv .box .thum {
          width: auto;
          text-align: center; } }

@media screen and (max-width: 768px) {
  .link_area {
    width: 90%;
    margin: 0 auto; } }

.link_area li {
  margin-top: 40px; }
  .link_area li a {
    display: inline-block;
    color: #fff;
    max-width: 460px;
    width: 100%;
    margin: 0 auto;
    padding: 10px 0 10px 2em;
    border-radius: 6px;
    background-image: -moz-linear-gradient(0deg, #fdbb12 0%, #fa721e 35%, #f6292a 100%);
    background-image: -webkit-linear-gradient(0deg, #fdbb12 0%, #fa721e 35%, #f6292a 100%);
    background-image: -ms-linear-gradient(0deg, #fdbb12 0%, #fa721e 35%, #f6292a 100%);
    -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    position: relative; }
    @media screen and (max-width: 768px) {
      .link_area li a {
        max-width: 100%;
        font-size: 3.125vw;
        padding: 2.34375vw 0 2.34375vw 6.51042vw; } }
    .link_area li a::before {
      content: "";
      display: block;
      width: 32px;
      height: 35px;
      position: absolute;
      top: 50%;
      left: 2.6em;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      background: url(../img/btn_icon1.png) no-repeat left center/contain; }
      @media screen and (max-width: 768px) {
        .link_area li a::before {
          width: 5.85938vw;
          height: 6.38021vw;
          left: 10.41667vw; } }
    .link_area li a span {
      display: block;
      font-size: 2rem; }
      @media screen and (max-width: 768px) {
        .link_area li a span {
          font-size: 4.16667vw; } }
  @media screen and (max-width: 768px) {
    .link_area li {
      margin-top: 0; } }
  .link_area li:last-of-type {
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      .link_area li:last-of-type {
        margin-top: 3.90625vw; } }
    .link_area li:last-of-type a {
      background-image: -moz-linear-gradient(0deg, #10eff1 0%, #1290ce 35%, #1430ab 100%, white 100%);
      background-image: -webkit-linear-gradient(0deg, #10eff1 0%, #1290ce 35%, #1430ab 100%, white 100%);
      background-image: -ms-linear-gradient(0deg, #10eff1 0%, #1290ce 35%, #1430ab 100%, white 100%); }
      .link_area li:last-of-type a::before {
        width: 33px;
        height: 40px;
        background: url(../img/btn_icon2.png) no-repeat left center/contain; }
        @media screen and (max-width: 768px) {
          .link_area li:last-of-type a::before {
            width: 6.64063vw;
            height: 7.8125vw; } }

#banner .inner {
  padding: 50px 0 0; }

@media screen and (max-width: 768px) {
  #banner .inner {
    padding: 6vw 0 0; } }

#banner .inner figure.logo-list-pickup {
  width: 100%; }

#banner .inner figure.logo-list-pickup img {
  width: 100%; }

@media screen and (max-width: 768px) {
  #banner .inner figure.logo-list-pickup {
    width: 100%; }
  #banner .inner figure.logo-list-pickup img {
    width: 100%; } }

/* -------------------------
	award
--------------------------- */
#award .inner {
  max-width: 820px;
  padding: 80px 0 0; }

#award .inner .arrow_box {
  position: relative;
  background: #FFFFFF;
  padding: 35px 20px;
  text-align: left;
  -webkit-filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.2)); }

@media screen and (max-width: 768px) {
  #award .inner {
    padding: 10.41667vw 0 0; }
  #award .inner .arrow_box {
    padding: 7vw 0; } }

#award .inner .arrow_box::after {
  content: "";
  position: absolute;
  bottom: -5.5em;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -60px;
  border: 60px solid transparent;
  border-top-color: #fff; }

@media screen and (max-width: 768px) {
  #award .inner .arrow_box::after {
    bottom: -12.8vw;
    margin-left: -8vw;
    border: 8vw solid transparent;
    border-top-color: #fff; } }

#award .inner .arrow_box .arrow_box_col {
  position: relative;
  z-index: 10;
  text-align: center;
  display: block;
  margin: auto; }

#award .inner .arrow_box .arrow_box_col ul {
  display: inline-block; }

#award .inner .arrow_box .arrow_box_col ul li {
  text-align: left; }

#award .inner .arrow_box .arrow_box_col ul li + li {
  margin-top: 20px; }

#award .inner .arrow_box .arrow_box_col ul li span {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 1.5em;
  color: #2e6087;
  position: relative; }

@media screen and (max-width: 768px) {
  #award .inner .arrow_box .arrow_box_col ul li span {
    font-size: 3.5vw;
    padding-left: 6vw;
    letter-spacing: .04em; } }

@media screen and (max-width: 768px) {
  #award .inner .arrow_box .arrow_box_col ul li + li {
    margin-top: 3vw; } }

#award .inner .arrow_box .arrow_box_col ul li span::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 12px;
  height: 8px;
  border-left: 3px solid #2CA7FB;
  border-bottom: 3px solid #2CA7FB;
  -webkit-transform: rotate(-40deg);
  -ms-transform: rotate(-40deg);
  transform: rotate(-40deg); }

@media screen and (max-width: 768px) {
  #award .inner .arrow_box .arrow_box_col ul li span::before {
    top: 1.2vw;
    border-left: 0.53333vw solid #2CA7FB;
    border-bottom: 0.53333vw solid #2CA7FB;
    width: 3vw;
    height: 2vw; } }

#award .award_contact .award_contact_inner .contact_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col {
    display: block;
    width: 96%;
    margin: 0 auto; } }

#award .award_contact .award_contact_inner .contact_col .contact_link {
  width: 100%;
  max-width: 610px;
  padding-top: 2.0em; }

#award .award_contact .award_contact_inner .contact_col .contact_img {
  margin-right: -4.8em; }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col .contact_link {
    padding-top: 8vw; } }

#award .award_contact .award_contact_inner .contact_col .contact_link .contact_ttl {
  text-align: left;
  margin-bottom: 25px; }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col .contact_link .contact_ttl {
    width: 81.2vw;
    margin: 0 auto 6.66667vw; } }

#award .award_contact .award_contact_inner .contact_col .contact_link p {
  color: #FFF;
  text-align: left; }

#award .award_contact .award_contact_inner .contact_col .contact_link p.txt {
  font-size: 2.2rem;
  margin-bottom: 17px;
  letter-spacing: .06em; }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col .contact_link p.txt {
    font-size: 5.06667vw;
    margin-bottom: 4.8vw; } }

#award .award_contact .award_contact_inner .contact_col .contact_link .btn_commons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #f7a42e;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 90px;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4; }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col .contact_link .btn_commons {
    border-radius: 1vw;
    height: 16.8vw;
    font-size: 4.8vw; } }

#award .award_contact .award_contact_inner .contact_col .contact_link .btn_commons span {
  color: #fff;
  font-size: 1.8rem; }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col .contact_link .btn_commons span {
    font-size: 3.4vw; } }

@media screen and (max-width: 768px) {
  #award .award_contact .award_contact_inner .contact_col .contact_img {
    width: 62.8vw;
    margin: 8vw auto 0; } }

#award .award_contact {
  margin-top: -5em;
  background: #e2f2ff; }

@media screen and (max-width: 768px) {
  #award .award_contact {
    margin-top: -10vw; } }

/* #award .award_contact .award_contact_inner {
  max-width: 820px;
  width: 90%;
  margin: 0 auto;
  padding: 120px 0 0;
  position: relative; } */

#award .award_contact .award_contact_inner .award_contact_ttl {
  color: #2e6087;
  font-size: 3.6rem;
  margin-bottom: 30px; }

#award .award_contact .award_contact_inner .award_contact_ttl img {
  width: 336px;
  vertical-align: text-top; }

#award .award_contact .award_contact_inner .lead {
  color: #2e6087;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 50px; }

#award .award_contact .award_contact_inner .lead span {
  color: #207fc4;
  font-size: 2.2rem; }

@media screen and (max-width: 768px) {
  /* #award .award_contact .award_contact_inner {
    padding: 18.22917vw 0 0; } */
  #award .award_contact .award_contact_inner .award_contact_ttl {
    color: #2e6087;
    font-size: 8.85417vw;
    margin-bottom: 7.8125vw; }
  #award .award_contact .award_contact_inner .award_contact_ttl img {
    width: 82.29167vw; }
  #award .award_contact .award_contact_inner .lead {
    font-size: 3.90625vw;
    margin-bottom: 7.8125vw; }
  #award .award_contact .award_contact_inner .lead span {
    font-size: 5.20833vw; } }

/* -------------------------
	#first
--------------------------- */
#first .inner .first_ttl h3 {
  color: #777;
  font-size: 3.2rem;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  margin-bottom: 10px; }

@media screen and (max-width: 768px) {
  #first .inner .first_ttl h3 {
    font-size: 6.8vw;
    margin-bottom: 10px; } }

#first .inner .first_ttl h3 .min {
  font-size: 80%;
  letter-spacing: 2px; }

#first .inner .first_ttl h3 .strong {
  font-size: 140%;
  color: #2f6087;
  line-height: 1.2; }

#first .inner .first_ttl h3 img {
  vertical-align: baseline; }

@media screen and (max-width: 768px) {
  #first .inner .first_ttl h3 img {
    width: 66vw; } }

#first .inner .first_txt {
  color: #2e6087;
  font-size: 1.8rem;
  margin-bottom: 40px;
  line-height: 1.8; }

#first .inner .first_txt span {
  color: #207fc4;
  font-size: 2.2rem; }

@media screen and (max-width: 768px) {
  #first .inner .first_txt {
    font-size: 4vw;
    margin-bottom: 6vw; }
  #first .inner .first_txt span {
    color: #207fc4;
    font-size: 4.8vw; } }

/* -------------------------
	top_movie
--------------------------- */
@media screen and (min-width: 769px) {
  #top_movie .inner {
    max-width: 680px;
    margin: 0 auto; } }

#top_movie .inner h3 {
  color: #2f6087;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 12px; }
  @media screen and (max-width: 768px) {
    #top_movie .inner h3 {
      font-size: 6.4vw;
      margin-bottom: 2vw; } }
  #top_movie .inner h3 span {
    font-size: 4.2rem; }
    @media screen and (max-width: 768px) {
      #top_movie .inner h3 span {
        font-size: 10.6vw; } }
  #top_movie .inner h3 img {
    vertical-align: baseline; }
    @media screen and (max-width: 768px) {
      #top_movie .inner h3 img {
        width: 76vw; } }

#top_movie .inner .lead {
  color: #2e6087;
  font-size: 1.8rem;
  margin-bottom: 40px;
  line-height: 1.8; }
  @media screen and (max-width: 768px) {
    #top_movie .inner .lead {
      font-size: 4vw;
      margin-bottom: 6vw; } }

#top_movie .inner .btn_commons {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #f7a42e;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  margin: 40px 0 0;
  width: 100%;
  height: 90px;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4; }
  @media screen and (max-width: 768px) {
    #top_movie .inner .btn_commons {
      border-radius: 1vw;
      height: 16.8vw;
      font-size: 4.8vw;
      margin: 8vw 0 0; } }
  #top_movie .inner .btn_commons span {
    color: #fff;
    font-size: 1.8rem; }
    @media screen and (max-width: 768px) {
      #top_movie .inner .btn_commons span {
        font-size: 3.4vw; } }

#top_movie .inner .movie_area {
  max-width: 680px;
  margin: 0 auto;
  background: #fff;
  padding: 12px;
  position: relative; }
  @media screen and (max-width: 768px) {
    #top_movie .inner .movie_area {
      padding: 2vw; } }
  @media screen and (min-width: 769px) {
    #top_movie .inner .movie_area::before {
      position: absolute;
      display: block;
      content: "";
      background: url(/service/marunage/img/top/icn_kira.png) no-repeat left top/contain;
      width: 80px;
      height: 129px;
      top: 1.4em;
      left: -8em; }
    #top_movie .inner .movie_area::after {
      position: absolute;
      display: block;
      content: "";
      background: url(/service/marunage/img/top/icn_file.png) no-repeat right center/contain;
      width: 152px;
      height: 139px;
      top: 0;
      right: -10.8em;
      bottom: 0;
      margin: auto; } }

#top_movie .inner .movie_area .moviebox_inr {
  position: relative;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s; }

#top_movie .inner .movie_area .moviebox_inr:hover {
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08); }

#top_movie .inner .movie_area .moviebox_inr:hover .modal_btn::before {
  background: #ff0400; }

#top_movie .inner .movie_area .moviebox_inr:hover .modal_btn::after {
  color: white; }

#top_movie .inner .movie_area .moviebox_inr .modal_btn {
  display: block;
  position: relative; }

#top_movie .inner .movie_area .moviebox_inr .modal_btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100px;
  height: 60px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.6);
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s; }

#top_movie .inner .movie_area .moviebox_inr .modal_btn::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size: 26px;
  color: #fff;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s; }

#top_movie .inner .movie_area .moviebox_inr .thumb {
  position: relative; }

#top_movie .inner .movie_area .moviebox_inr .thumb img {
  width: 100%; }

#top_movie .inner .movie_area .moviebox_inr .js-modal-btn {
  border: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  background: none;
  line-height: 0; }

#top_movie .inner .movie_area .moviebox_inr .js-modal-btn:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: calc(100% - 20px);
  top: 0;
  left: 0; }

#top_movie .inner .movie_txt {
  margin: 10px 0 0;
  text-align: right;
  font-size: 1.3rem;
  font-weight: 400; }

@media screen and (max-width: 768px) {
  #top_movie .inner .movie_txt {
    font-size: 3.46667vw; } }

/* -------------------------
	reason
--------------------------- */
#reason .inner h3 {
  color: #2f6087;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    #reason .inner h3 {
      font-size: 6.4vw;
      margin-bottom: 6.51042vw;
      line-height: 1.2; } }
  #reason .inner h3 img {
    vertical-align: baseline; }
    @media screen and (max-width: 768px) {
      #reason .inner h3 img {
        width: 76vw; } }

#reason .inner .reason_box {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap;
  gap: 20px 0;
  counter-reset: number 0; }
  @media screen and (max-width: 768px) {
    #reason .inner .reason_box {
      gap: 7.29167vw 0; } }
  #reason .inner .reason_box .reason_item {
    width: calc(100% / 2 - 10px);
    background: #fff;
    padding: 36px 0;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    position: relative; }
    @media screen and (max-width: 768px) {
      #reason .inner .reason_box .reason_item {
        width: 100%;
        padding: 4.6875vw 0; } }
    #reason .inner .reason_box .reason_item .num {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 4em;
      height: 4em;
      -webkit-clip-path: polygon(0 100%, 0 0, 100% 0);
      clip-path: polygon(0 100%, 0 0, 100% 0);
      background-image: -moz-linear-gradient(-180deg, #8cd5ff 0%, #4faeff 100%);
      background-image: -webkit-linear-gradient(-180deg, #8cd5ff 0%, #4faeff 100%);
      background-image: -ms-linear-gradient(-180deg, #8cd5ff 0%, #4faeff 100%); }
      @media screen and (max-width: 768px) {
        #reason .inner .reason_box .reason_item .num {
          width: 14.32292vw;
          height: 14.32292vw; } }
      #reason .inner .reason_box .reason_item .num::before {
        counter-increment: number 1;
        content: counter(number) " ";
        display: block;
        top: 0;
        color: #fff;
        left: 0.25em;
        position: absolute;
        z-index: 2;
        font-size: 3rem;
        font-weight: 700; }
        @media screen and (max-width: 768px) {
          #reason .inner .reason_box .reason_item .num::before {
            left: 1.82292vw;
            font-size: 5.46875vw; } }
    #reason .inner .reason_box .reason_item:first-of-type {
      width: 100%; }
      #reason .inner .reason_box .reason_item:first-of-type .col2 {
        display: -webkit-box;
        /*Android4.3*/
        display: -ms-flexbox;
        /*IE10*/
        display: -webkit-flex;
        /*PC-Safari,iOS8.4*/
        display: flex;
        -ms-flex-pack: center;
        /*IE10*/
        -webkit-box-pack: center;
        /* Android4.3以下、Safari3.1〜6.0 */
        -webkit-justify-content: center;
        /* Safari6.1以降 */
        justify-content: center;
        -ms-flex-align: center;
        /*IE10*/
        -webkit-box-align: center;
        /* Android4.3以下、Safari3.1〜6.0 */
        -webkit-align-items: center;
        /* Safari6.1以降 */
        align-items: center; }
        @media screen and (max-width: 768px) {
          #reason .inner .reason_box .reason_item:first-of-type .col2 {
            display: block; } }
        #reason .inner .reason_box .reason_item:first-of-type .col2 p {
          text-align: left;
          width: 37%; }
          @media screen and (max-width: 768px) {
            #reason .inner .reason_box .reason_item:first-of-type .col2 p {
              text-align: center;
              width: 100%; } }
        #reason .inner .reason_box .reason_item:first-of-type .col2 .img_box {
          width: 52.8%; }
          @media screen and (max-width: 768px) {
            #reason .inner .reason_box .reason_item:first-of-type .col2 .img_box {
              width: 100%;
              padding: 5.20833vw 5.20833vw 2.60417vw; } }
    #reason .inner .reason_box .reason_item p {
      color: #2e6087;
      font-size: 1.8rem;
      font-weight: 400; }
      @media screen and (max-width: 768px) {
        #reason .inner .reason_box .reason_item p {
          font-size: 3.90625vw; } }
      #reason .inner .reason_box .reason_item p span {
        color: #217fc4;
        font-weight: bold; }

/* -------------------------
	new_about
--------------------------- */
@media screen and (max-width: 768px) {
  #new_about .inner .ttl {
    margin-bottom: 6vw; } }

#new_about .inner .ttl .em_num {
  font-size: 3.5em; }

@media screen and (max-width: 768px) {
  #new_about .inner .ttl .em_num {
    font-size: 12.8vw;
    line-height: 1.2; } }

#new_about .inner .about_box {
  background: #f8f8f8;
  padding: 50px 40px; }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box {
    padding: 2vw 6.51042vw 10.66667vw; } }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box h3 {
    font-size: 17px; } }

#new_about .inner .about_box .about_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 50px; }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box .about_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column; } }

#new_about .inner .about_box .about_flex .area {
  width: calc(100% / 3 - 25px); }

@media screen and (max-width: 961px) {
  #new_about .inner .about_box .about_flex .area {
    width: calc(100% / 3 - 8px); } }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box .about_flex .area {
    width: 100%; } }

#new_about .inner .about_box .about_flex .area .box {
  background: #fff;
  padding: 40px 0 0;
  position: relative; }

@media screen and (max-width: 961px) {
  #new_about .inner .about_box .about_flex .area .box {
    padding: 30px 8px; } }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box .about_flex .area .box {
    padding: 10vw 0 0;
    margin-top: 10vw; }
  #new_about .inner .about_box .about_flex .area .box .s_01 {
    width: 48.45vw; }
  #new_about .inner .about_box .about_flex .area .box .s_02 {
    width: 71.43; }
  #new_about .inner .about_box .about_flex .area .box .s_03 {
    width: 47vw; } }

#new_about .inner .about_box .about_flex .area .top_txt {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
  background: #217fc4;
  width: 90px;
  height: 30px;
  line-height: 32px;
  border-radius: 50vh;
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  margin: auto; }

@media screen and (max-width: 961px) {
  #new_about .inner .about_box .about_flex .area .top_txt {
    font-size: 1.4rem; } }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box .about_flex .area .top_txt {
    font-size: 4.53333vw;
    width: 23.4375vw;
    height: 7.8125vw;
    line-height: 8.33333vw;
    top: -3.90625vw; } }

@media screen and (max-width: 980px) {
  #new_about .inner .about_box .about_flex .area .top_txt_02 {
    line-height: 1.6; } }

#new_about .inner .about_box .about_flex .area .bottom_txt {
  font-size: 1.8rem;
  line-height: 1.4;
  color: #fff;
  padding: 12px 0;
  margin-top: 20px;
  background: #217fc4; }

#new_about .inner .about_box .about_flex .area .bottom_txt span {
  display: block;
  font-size: 2rem;
  line-height: 1; }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box .about_flex .area .bottom_txt {
    font-size: 6vw;
    margin-top: 7.8125vw;
    padding: 4.6875vw 0; }
  #new_about .inner .about_box .about_flex .area .bottom_txt span {
    font-size: 6.8vw; } }


#new_about .inner .about_box .about_flex .area .annotation {
  font-size: 13px;
  text-align: left;
  line-height: 1.7;
  color: #466387;
  margin-top: 10px; }

@media screen and (max-width: 768px) {
  #new_about .inner .about_box .about_flex .area .annotation {
    font-size: 2.66667vw; } }

@media screen and (max-width: 768px) {
  #new_about .inner .about_btn {
    padding: 0 2rem; } }

#new_about .inner .relief {
  margin-bottom: 30px; }

@media screen and (max-width: 768px) {
  #new_about .inner .relief {
    margin-bottom: 2.66667vw; } }

#new_about .inner .relief .relief_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

@media screen and (max-width: 768px) {
  #new_about .inner .relief .relief_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    margin-top: 5.33333vw; } }

#new_about .inner .relief .relief_flex .box {
  width: calc(100% / 3 - 35px);
  position: relative; }

@media screen and (max-width: 768px) {
  #new_about .inner .relief .relief_flex .box {
    width: 100%;
    margin-bottom: 5.33333vw; } }

#new_about .inner .relief .relief_flex .box:after {
  content: "";
  display: block;
  margin: 0 2.3rem;
  width: 1px;
  height: 100%;
  background-color: #466387;
  position: absolute;
  left: 100%;
  top: 0; }

@media screen and (max-width: 768px) {
  #new_about .inner .relief .relief_flex .box:after {
    display: none; } }

#new_about .inner .relief .relief_flex .box:last-child:after {
  display: none; }

#new_about .inner .relief .relief_flex .box p {
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.7;
  color: #466387;
  margin-top: 15px; }

@media screen and (max-width: 768px) {
  #new_about .inner .relief .relief_flex .box p {
    margin-top: 4vw;
    font-size: 4.53333vw; } }

#new_about .inner .notice .notice_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

@media screen and (max-width: 768px) {
  #new_about .inner .notice .notice_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column; } }

#new_about .inner .notice .notice_flex .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% / 2 - 15px);
  padding: 20px 30px;
  text-align: left; }

@media screen and (max-width: 768px) {
  #new_about .inner .notice .notice_flex .box {
    width: 100%;
    padding: 5.33333vw 4vw; } }

#new_about .inner .notice .notice_flex .box p {
  font-size: 13px;
  color: #466387;
  letter-spacing: 1px; }

@media screen and (max-width: 768px) {
  #new_about .inner .notice .notice_flex .box p {
    font-size: 2.66667vw;
    line-height: 1.7;
    letter-spacing: 0; } }

#new_about .inner .notice .notice_flex .box p span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #466387;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 3px; }

@media screen and (max-width: 768px) {
  #new_about .inner .notice .notice_flex .box p span {
    font-size: 4.53333vw;
    margin-bottom: 1.33333vw;
    letter-spacing: 0; } }

#new_about .inner .notice .notice_flex .notice_left {
  background: #fff; }

@media screen and (max-width: 768px) {
  #new_about .inner .notice .notice_flex .notice_left {
    margin-bottom: 4vw; } }

#new_about .inner .notice .notice_flex .notice_left .orange {
  color: #f7a42e; }

#new_about .inner .notice .notice_flex .notice_right {
  background: #e2f2ff; }

/* -------------------------
	table
--------------------------- */
#table .ttl_annotation {
  font-size: 18px;
  color: #2f6087;
  font-weight: bold;
  margin-bottom: 20px;
  letter-spacing: 1.6px; }

@media screen and (max-width: 768px) {
  #table .ttl_annotation {
    font-size: 3.46667vw; } }

#table .table_area__inner {
  overflow-x: auto;
  margin-bottom: 45px; }

#table .table_area table {
  width: 100%;
  color: #555;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.6em; }

@media screen and (min-width: 769px) {
  #table .table_area table td:not(:last-child) {
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff; }
  #table .table_area table td:not(tr:last-child td) {
    border-bottom: solid 2px #fff; } }

@media screen and (max-width: 768px) {
  #table .table_area table {
    display: none; }
  #table .table_area__inner {
    margin-bottom: 0px; } }

#table .table_area table tr {
  background: #217fc4; }

#table .table_area table tr:first-child {
  color: #fff; }

#table .table_area table tr:nth-child(2) {
  background: #cde3f2; }

#table .table_area table tr:nth-child(3) {
  background: #dbe2e7; }

#table .table_area table tr td {
  position: relative;
  width: 115px;
  padding: 20px 0;
  vertical-align: middle;
  letter-spacing: -0.5px; }

#table .table_area table tr td.bool_txt {
  font-size: 13px;
  letter-spacing: 0; }

#table .table_area table tr td.maru {
  background: url(../img/table_maru.png) no-repeat center center; }

#table .table_area table tr td.sankaku {
  background: url(../img/table_sankaku.png) no-repeat center center; }

#table .table_area table tr td.batsu {
  background: url(../img/table_batsu.png) no-repeat center center; }

#table .table_area table tr td:first-child, #table .table_area table tr td:nth-last-child(2) {
  width: 165px; }

#table .table_area .sp_table {
  display: none; }

@media screen and (max-width: 768px) {
  #table .table_area .sp_table {
    display: block; }
  #table .table_area .sp_table .ttl {
    background: #217fc4;
    color: #fff;
    width: 100%;
    height: 10.66667vw;
    font-size: 4.26667vw;
    font-weight: 700;
    line-height: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  #table .table_area .sp_table__inner h5 {
    background: #cde3f2;
    color: #555;
    width: 100%;
    height: 13.33333vw;
    font-size: 4.26667vw;
    font-weight: 700;
    line-height: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  #table .table_area .sp_table__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #fff;
    border-top: 0.4vw solid #e5e8ec; }
  #table .table_area .sp_table__item p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 50%;
    padding: 3.33333vw 2.66667vw 3.6vw;
    background: #f5f6f7;
    color: #555;
    font-size: 3.2vw;
    line-height: 1.6em;
    font-weight: bold; }
  #table .table_area .sp_table__item p:nth-child(2) {
    background: #e8f2f9;
    color: #555; }
  #table .table_area .sp_table__item p.maru {
    background: #e8f2f9 url(../img/table_maru.png) no-repeat center center;
    background-size: 9.33333vw; }
  #table .table_area .sp_table__item p.sankaku {
    background: #e8f2f9 url(../img/table_sankaku.png) no-repeat center center;
    background-size: 8.66667vw; }
  #table .table_area .sp_table__item p.batsu {
    background: #e8f2f9 url(../img/table_batsu.png) no-repeat center center;
    background-size: 6.66667vw; } }

#table .table_btn {
  display: inline-block;
  color: #fff;
  max-width: 460px;
  width: 100%;
  margin: 0 auto;
  padding: 14px 0 14px 2em;
  border-radius: 6px;
  background: #f73927;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
  position: relative; }
  @media screen and (max-width: 768px) {
    #table .table_btn {
      max-width: 100%;
      font-size: 3.125vw;
      padding: 2.34375vw 0 2.34375vw 6.51042vw; } }
  #table .table_btn::before {
    content: "";
    display: block;
    width: 32px;
    height: 35px;
    position: absolute;
    top: 50%;
    left: 2.6em;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(../img/btn_icon1.png) no-repeat left center/contain; }
    @media screen and (max-width: 768px) {
      #table .table_btn::before {
        width: 5.85938vw;
        height: 6.38021vw;
        left: 10.41667vw; } }
  #table .table_btn span {
    display: block;
    font-size: 2rem; }
    @media screen and (max-width: 768px) {
      #table .table_btn span {
        font-size: 4.16667vw; } }

/* -------------------------
	example
--------------------------- */
#example .inner {
  max-width: 1020px;
  padding: 44px 0 90px; }
  @media screen and (max-width: 768px) {
    #example .inner {
      width: 96%;
      padding: 9.11458vw 0 15.625vw; } }
  #example .inner .ttl {
    margin-bottom: 4rem; }
    @media screen and (max-width: 768px) {
      #example .inner .ttl {
        margin-bottom: 5.20833vw; } }
  #example .inner .example_slider {
    display: none; }
    #example .inner .example_slider.slick-initialized {
      display: block; }
    #example .inner .example_slider .slick-prev {
      left: -2%;
      width: 36px;
      height: 36px;
      border: 4px solid;
      border-color: transparent transparent #217fc4 #217fc4;
      -webkit-transform: translate(0, -50%) rotate(45deg);
      -ms-transform: translate(0, -50%) rotate(45deg);
      transform: translate(0, -50%) rotate(45deg); }
      @media screen and (max-width: 768px) {
        #example .inner .example_slider .slick-prev {
          width: 5.98958vw;
          height: 5.98958vw;
          border: 0.52083vw solid;
          border-color: transparent transparent #217fc4 #217fc4;
          top: auto;
          left: 26.04167vw;
          bottom: 0;
          -webkit-transform: translate(0, 0) rotate(45deg);
          -ms-transform: translate(0, 0) rotate(45deg);
          transform: translate(0, 0) rotate(45deg);
          z-index: 10; } }
    #example .inner .example_slider .slick-next {
      right: -2%;
      width: 36px;
      height: 36px;
      border: 4px solid;
      border-color: #217fc4 #217fc4 transparent transparent;
      -webkit-transform: translate(0, -50%) rotate(45deg);
      -ms-transform: translate(0, -50%) rotate(45deg);
      transform: translate(0, -50%) rotate(45deg); }
      @media screen and (max-width: 768px) {
        #example .inner .example_slider .slick-next {
          width: 5.98958vw;
          height: 5.98958vw;
          border: 0.52083vw solid;
          border-color: #217fc4 #217fc4 transparent transparent;
          top: auto;
          right: 26.04167vw;
          bottom: 0;
          -webkit-transform: translate(0, 0) rotate(45deg);
          -ms-transform: translate(0, 0) rotate(45deg);
          transform: translate(0, 0) rotate(45deg);
          z-index: 10; } }
    #example .inner .example_slider .example_item {
      color: #555;
      text-align: left;
      padding: 40px;
      background: #fff;
      border-radius: 8px; }
      @media screen and (max-width: 768px) {
        #example .inner .example_slider .example_item {
          padding: 6.51042vw; } }
      #example .inner .example_slider .example_item .example_company {
        display: -webkit-box;
        /*Android4.3*/
        display: -ms-flexbox;
        /*IE10*/
        display: -webkit-flex;
        /*PC-Safari,iOS8.4*/
        display: flex;
        -ms-flex-pack: justify;
        /*IE10*/
        -webkit-box-pack: justify;
        /* Android4.3以下、Safari3.1〜6.0 */
        -webkit-justify-content: space-between;
        /* Safari6.1以降 */
        justify-content: space-between;
        margin-bottom: 34px; }
        @media screen and (max-width: 768px) {
          #example .inner .example_slider .example_item .example_company {
            display: block;
            margin-bottom: 5.20833vw; } }
        @media screen and (max-width: 768px) {
          #example .inner .example_slider .example_item .example_company .company_img {
            margin-bottom: 3.90625vw; } }
        #example .inner .example_slider .example_item .example_company .company_info {
          width: 64%;
          margin-left: 2.4em; }
          @media screen and (max-width: 768px) {
            #example .inner .example_slider .example_item .example_company .company_info {
              width: 100%;
              margin-left: 0; } }
          #example .inner .example_slider .example_item .example_company .company_info h3 {
            font-size: 3.4rem;
            font-weight: 400;
            margin-bottom: 22px;
            padding-bottom: 10px;
            border-bottom: 1px solid #cbcbcb; }
            @media screen and (max-width: 768px) {
              #example .inner .example_slider .example_item .example_company .company_info h3 {
                font-size: 4.94792vw;
                margin-bottom: 3.38542vw;
                padding-bottom: 2.34375vw; } }
          #example .inner .example_slider .example_item .example_company .company_info p {
            font-size: 2rem; }
            @media screen and (max-width: 768px) {
              #example .inner .example_slider .example_item .example_company .company_info p {
                font-size: 3.38542vw; } }
      #example .inner .example_slider .example_item .example_box {
        padding: 54px 0 30px 30px;
        border-radius: 8px;
        position: relative; }
        @media screen and (max-width: 768px) {
          #example .inner .example_slider .example_item .example_box {
            padding: 9.375vw 3.64583vw 4.42708vw; } }
        #example .inner .example_slider .example_item .example_box.before {
          background: #f8f8f8;
          margin-bottom: 50px;
          position: relative; }
          @media screen and (max-width: 768px) {
            #example .inner .example_slider .example_item .example_box.before {
              margin-bottom: 10.41667vw; } }
          #example .inner .example_slider .example_item .example_box.before::before {
            content: "";
            display: inline-block;
            width: 0;
            height: 0;
            border-left: 26px solid transparent;
            border-right: 26px solid transparent;
            border-top: 24px solid #0075c2;
            position: absolute;
            left: 50%;
            bottom: -2em;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
            @media screen and (max-width: 768px) {
              #example .inner .example_slider .example_item .example_box.before::before {
                border-left: 5.20833vw solid transparent;
                border-right: 5.20833vw solid transparent;
                border-top: 4.6875vw solid #0075c2;
                bottom: -7.8125vw; } }
          #example .inner .example_slider .example_item .example_box.before .tag {
            background: #858585; }
          #example .inner .example_slider .example_item .example_box.before ul li::before {
            color: #858585; }
        #example .inner .example_slider .example_item .example_box.after {
          background: #e2f2ff; }
          #example .inner .example_slider .example_item .example_box.after .tag {
            background: #217fc4; }
          #example .inner .example_slider .example_item .example_box.after ul li::before {
            color: #217fc4; }
        #example .inner .example_slider .example_item .example_box .tag {
          position: absolute;
          top: 0;
          left: 0;
          color: #fff;
          width: 86px;
          padding: 4px 0;
          border-radius: 6px 0 10px 0;
          text-align: center;
          font-size: 1.7rem; }
          @media screen and (max-width: 768px) {
            #example .inner .example_slider .example_item .example_box .tag {
              width: 16.40625vw;
              font-size: 3.38542vw;
              padding: 0.78125vw 0; } }
        #example .inner .example_slider .example_item .example_box ul li {
          color: #2e6087;
          font-size: 1.7rem;
          font-weight: 400;
          padding-left: 1.4em;
          position: relative; }
          @media screen and (max-width: 768px) {
            #example .inner .example_slider .example_item .example_box ul li {
              font-size: 3.38542vw;
              padding-left: 3.64583vw; } }
          #example .inner .example_slider .example_item .example_box ul li + li {
            margin-top: 10px; }
            @media screen and (max-width: 768px) {
              #example .inner .example_slider .example_item .example_box ul li + li {
                margin-top: 2.86458vw; } }
          #example .inner .example_slider .example_item .example_box ul li::before {
            content: "●";
            display: block;
            font-size: 1rem;
            position: absolute;
            top: 50%;
            left: 0;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
            @media screen and (max-width: 768px) {
              #example .inner .example_slider .example_item .example_box ul li::before {
                font-size: 1.82292vw;
                top: 1.5625vw;
                -webkit-transform: translateY(0);
                -ms-transform: translateY(0);
                transform: translateY(0); } }
          #example .inner .example_slider .example_item .example_box ul li span {
            color: #217fc4;
            font-weight: 700; }

/* -------------------------
	top_price
--------------------------- */
#top_price {
  position: relative; }
  #top_price .small {
    position: absolute;
    right: 6.4em;
    bottom: 0;
    font-size: 1.2rem; }
    @media screen and (max-width: 768px) {
      #top_price .small {
        position: static;
        font-size: 2.86458vw;
        text-align: left;
        margin: 1.30208vw 0 0; } }
  #top_price .btn_wrap {
    width: 70%;
    margin-left: auto; }
    @media screen and (max-width: 768px) {
      #top_price .btn_wrap {
        width: 100%;
        margin-right: auto; } }
  #top_price .price_btn {
    display: inline-block;
    color: #fff;
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
    padding: 10px 0 10px 2em;
    border-radius: 6px;
    background: #1038ad;
    -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    position: relative; }
    @media screen and (max-width: 768px) {
      #top_price .price_btn {
        max-width: 100%;
        font-size: 3.125vw;
        padding: 2.34375vw 0 2.34375vw 6.51042vw; } }
    #top_price .price_btn::before {
      content: "";
      display: block;
      position: absolute;
      top: 50%;
      left: 2.6em;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 33px;
      height: 40px;
      background: url(../img/btn_icon2.png) no-repeat left center/contain; }
      @media screen and (max-width: 768px) {
        #top_price .price_btn::before {
          width: 6.64063vw;
          height: 7.8125vw;
          left: 10.41667vw; } }
    #top_price .price_btn span {
      display: block;
      font-size: 2rem; }
      @media screen and (max-width: 768px) {
        #top_price .price_btn span {
          font-size: 4.16667vw; } }

#top_price .inner {
  position: relative; }
  @media screen and (min-width: 769px) {
    #top_price .inner {
      padding: 60px 0 100px; } }

#top_price .inner::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 317px;
  height: 472px;
  background: url(../img/img_price.png) top center/contain no-repeat; }

@media screen and (max-width: 768px) {
  #top_price .inner::before {
    display: none; } }

#top_price .inner .ttl {
  margin-bottom: 5rem; }

@media screen and (max-width: 768px) {
  #top_price .inner .ttl {
    margin-bottom: 0; } }

#top_price .inner .supplement_pc {
  text-align: right;
  font-size: 2.1rem;
  font-weight: bold;
  color: #217fc4;
  padding-top: 25px;
  margin-bottom: 20px;
  letter-spacing: 0.04em; }

@media screen and (max-width: 768px) {
  #top_price .inner .supplement_pc {
    display: none; } }

#top_price .inner .price_area {
  width: 70%;
  margin: 0 0 0 auto;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area {
    width: 60%;
    margin: 0 auto;
    display: none !important; } }

@media screen and (max-width: 768px) and (max-width: 640px) {
  #top_price .inner .price_area {
    width: 100%; } }

#top_price .inner .price_area .supplement_sp {
  display: none; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .supplement_sp {
    display: block;
    color: #217fc4;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.6;
    margin-top: 20px; } }

@media screen and (max-width: 768px) and (max-width: 640px) {
  #top_price .inner .price_area .supplement_sp {
    font-size: 1.4rem; } }

#top_price .inner .price_area .price_box {
  background-color: #fff; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box {
    padding: 2rem 1.3rem; } }

#top_price .inner .price_area .price_box + .price_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 0 4rem 3.4rem;
  margin-left: 7.2rem;
  position: relative; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box + .price_box {
    margin: 3rem 0 0 0;
    padding: 2rem 1.3rem; } }

#top_price .inner .price_area .price_box + .price_box::before {
  content: "";
  position: absolute;
  top: 0;
  left: -22%;
  bottom: 35%;
  width: 64px;
  height: 64px;
  margin: auto;
  background: url(../img/icn_plus.png) top center/contain no-repeat; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box + .price_box::before {
    top: -4.2rem;
    left: 0;
    right: 0;
    width: 50px;
    height: 50px;
    margin: 0 auto; } }

#top_price .inner .price_area .price_box .monthly {
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  color: #fff;
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1;
  background: url(../img/bg_price.jpg) center/cover no-repeat; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box .monthly {
    padding: 1rem;
    font-size: 3rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: block; } }

#top_price .inner .price_area .price_box .monthly .min_txt {
  font-size: 2rem;
  margin-right: 1rem;
  line-height: 1.5; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box .monthly .min_txt {
    font-size: 1.6rem; } }

#top_price .inner .price_area .price_box .pt_txt {
  font-size: 16px;
  display: inline-block;
  color: #555555;
  font-weight: bold;
  margin-top: 10px; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box .pt_txt {
    font-size: 3.46667vw; } }

#top_price .inner .price_area .price_box .fee {
  text-align: left;
  font-size: 1.7rem;
  color: #555;
  font-weight: bold;
  line-height: 0.6; }

#top_price .inner .price_area .price_box .fee b {
  border-bottom: 5px solid #bfbfbf;
  padding: 0 0 0.1em; }

#top_price .inner .price_area .price_box .fee small {
  display: inline-block;
  margin: 0.4em 0 0;
  font-size: 1.4rem; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box .fee {
    font-size: 1.6rem; } }

#top_price .inner .price_area .price_box .fee .strong_txt {
  font-size: 3rem; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_area .price_box .fee .strong_txt {
    font-size: 2.8rem; } }

#top_price .inner .price_flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 655px;
  margin-left: auto; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    max-width: 100%; } }

#top_price .inner .price_flex .box a {
  line-height: 1.6; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_flex .box a {
    line-height: 1.3; } }

#top_price .inner .price_flex .box_02 a {
  padding: 25px 0 0 0; }

@media screen and (max-width: 768px) {
  #top_price .inner .price_flex .box_02 a {
    padding: 20px 0;
    margin: 0; } }

#top_price .inner .btn {
  max-width: 320px;
  width: 350px;
  height: 85px;
  padding: 10px;
  font-size: 20px;
  letter-spacing: 1px; }

@media screen and (max-width: 768px) {
  #top_price .inner .btn {
    margin: 0 0 5.33333vw 0;
    max-width: 100%;
    width: 100%;
    padding: 8px 0;
    height: auto;
    font-size: 5.06667vw; } }

#top_price .inner .btn .min {
  font-size: 1.5rem;
  letter-spacing: 1px; }

@media screen and (max-width: 768px) {
  #top_price .inner .btn .min {
    font-size: 3.2vw; } }

#top_price .inner .btn_02 {
  background: #fff;
  color: #f7a42e;
  border: 2px solid #f7a42e; }

@media screen and (min-width: 1025px) {
  .exp:hover {
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); } }

/* -------------------------
	modal
--------------------------- */
#modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 2000; }

#modal .modal_mask {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.85); }

#modal .modal_wrap {
  position: absolute;
  width: 80%;
  height: 90%;
  top: 0;
  left: 30px;
  right: 30px;
  bottom: 0;
  z-index: 200;
  margin: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0;
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

@media screen and (max-width: 768px) {
  #modal .modal_wrap {
    width: 98%;
    height: 40%;
    left: 0;
    right: 0; } }

#modal .modal_wrap .modal_content {
  width: 75%;
  height: 100%;
  overflow: auto;
  margin: 0 auto;
  display: none; }

@media screen and (max-width: 768px) {
  #modal .modal_wrap .modal_content {
    width: 100%;
    height: auto; } }

#modal .modal_wrap .modal_content .inners {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

@media screen and (max-width: 768px) {
  #modal .modal_wrap .modal_content .inners {
    padding: 0 1%; } }

#modal .modal_wrap .modal_content .modal_video {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #dadada; }

@media screen and (max-width: 768px) {
  #modal .modal_wrap .modal_content .modal_video {
    height: auto;
    width: 88%; } }

@media screen and (max-width: 768px) and (max-width: 640px) {
  #modal .modal_wrap .modal_content .modal_video {
    width: 100%; } }

#modal .modal_wrap .modal_content h3 {
  font-size: 2rem;
  text-align: center;
  margin: 0 auto; }

@media screen and (max-width: 768px) {
  #modal .modal_wrap .modal_content h3 {
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 2rem; } }

#modal .modal_wrap .modal_close_btn {
  display: block;
  position: absolute;
  top: -20px;
  right: 0;
  z-index: 300; }

@media screen and (max-width: 768px) {
  #modal .modal_wrap .modal_close_btn {
    right: 7.5%; } }

#modal .modal_wrap .modal_close_btn .icnArea {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 30px; }

#modal .modal_wrap .modal_close_btn .icnArea::before, #modal .modal_wrap .modal_close_btn .icnArea::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  -webkit-transition: transform 0.3s ease;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

#modal .modal_wrap .modal_close_btn .icnArea::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0; }

#modal .modal_wrap .modal_close_btn .icnArea::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  bottom: 0; }

/* -------------------------
	faq
--------------------------- */
@media screen and (max-width: 768px) {
  .faq .inner {
    padding: 15.625vw 0; } }

@media screen and (max-width: 640px) {
  .faq .inner {
    padding: 15.625vw 2.60417vw; } }

.s_01 .accordion_one .accordion_header {
  background-color: #FFF;
  color: #000;
  padding: 20px 3%;
  text-align: left;
  position: relative;
  z-index: +1;
  cursor: pointer;
  -webkit-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s; }

.s_01 .accordion_one:nth-child(even) .accordion_header {
  background-color: #E4E7EE; }

.s_01 .accordion_one .accordion_header:hover {
  opacity: .8; }

.s_01 .accordion_one .accordion_header .i_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 5%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s; }
  .s_01 .accordion_one .accordion_header .i_box .one_i {
    display: block;
    width: 18px;
    height: 18px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
    position: relative; }

.s_01 .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg); }

.s_01 .accordion_one .accordion_header .i_box .one_i:before, .s_01 .accordion_one .accordion_header .i_box .one_i:after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  content: '';
  background-color: #30638c;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center; }

.s_01 .accordion_one .accordion_header .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px; }

.s_01 .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none; }

.s_01 .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.s_01 .accordion_one .accordion_inner {
  display: none;
  text-align: left;
  padding: 30px 30px;
  border-left: 2px solid #FFF;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.s_01 .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
  color: #5E6162;
  font-size: 1.0em; }
  @media screen and (max-width: 768px) {
    .s_01 .accordion_one .accordion_inner p.txt_a_ac {
      font-size: 3.38542vw; } }

@media screen and (max-width: 1024px) {
  .s_01 .accordion_one .accordion_header {
    font-size: 18px; }
    .s_01 .accordion_one .accordion_header .i_box {
      width: 30px;
      height: 30px;
      margin-top: -15px; } }

@media screen and (max-width: 768px) {
  .s_01 .accordion_one .accordion_header {
    font-size: 3.64583vw;
    text-align: left;
    padding: 3.90625vw 13.02083vw 3.90625vw 3.90625vw; }
    .s_01 .accordion_one .accordion_header .i_box {
      width: 7.8125vw;
      height: 7.8125vw;
      margin-top: -3.90625vw; } }

.btn {
  max-width: 505px;
  width: 100%;
  padding: 2.2rem 0;
  display: inline-block;
  vertical-align: middle;
  z-index: 1;
  background-color: #217fc4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: bold;
  color: #ffffff;
  border-radius: 16px; }
  .btn .btn_txt {
    line-height: 1;
    position: relative;
    z-index: 10; }
  .btn.type_kv {
    max-width: 583px;
    padding: 2rem 0;
    background-color: #f7a42e;
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0.6rem;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }
    .btn.type_kv .icn {
      margin-right: 1.5rem; }
  .btn.type_kv_02 {
    max-width: 330px;
    padding: 1rem 1.5rem;
    background-color: #f7a42e;
    border: 2px solid #f7a42e;
    border-radius: 10px;
    font-size: 2.0rem;
    text-align: center;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }
    .btn.type_kv_02 .icn {
      margin-right: 0.5rem; }
  .btn.type_kv_03 {
    max-width: 680px;
    padding: 1.5rem 0;
    letter-spacing: 1px; }
  .btn.type_kv_03_2 {
    max-width: 680px;
    padding: 1.5rem 0;
    letter-spacing: 1px;
    display: block;
    margin: 0 auto; }
  .btn.type_kv_04 {
    max-width: 450px;
    padding: 1rem 0;
    letter-spacing: 0;
    font-size: 18px;
    background: #fff;
    color: #f7a42e;
    border: 2px solid #f7a42e; }
  .btn.type_kv_05 {
    font-size: 18px;
    color: #fff; }

@media screen and (max-width: 768px) {
  .btn {
    padding: 1rem 0;
    font-size: 1.4rem;
    border-radius: 8px; } }

@media screen and (max-width: 768px) {
  .btn.type_kv {
    padding: 1.5rem 0;
    letter-spacing: 2px;
    font-size: 5.33333vw; } }

@media screen and (max-width: 768px) {
  .btn.type_kv_02 {
    margin-bottom: 2rem;
    padding: 0.8rem 0;
    letter-spacing: 2px;
    font-size: 5.06667vw;
    width: 100%;
    max-width: 100%; } }

@media screen and (max-width: 768px) {
  .btn.type_kv_03 {
    padding: 1.0rem 0;
    font-size: 5.06667vw; } }

@media screen and (max-width: 768px) {
  .btn.type_kv_03 img {
    width: 6.5vw; } }

@media screen and (max-width: 768px) {
  .btn.type_kv_03_2 {
    padding: 1.0rem 0;
    font-size: 4.65vw; } }

@media screen and (max-width: 768px) {
  .btn.type_kv_03_2 img {
    width: 6.5vw; } }

.for-service {
  margin-top: 90px;
  font-size: 1.2em;
  font-weight: 600;
  text-align: center;
  margin-top: 50px;
  color: #5E6162; }

.add_mg {
  margin-top: 50px;
  text-align: center; }

@media screen and (max-width: 768px) {
  .btn.type_kv_04 {
    font-size: 5.06667vw;
    line-height: 1;
    padding: 1.7rem 0;
    max-width: 100%; } }

@media screen and (max-width: 768px) {
  .btn.type_kv_05 {
    font-size: 4vw;
    line-height: 1;
    padding: 1.7rem 0;
    max-width: 100%; } }

.add_mg {
  margin-top: 50px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .add_mg {
      margin-top: 13.02083vw; } }
