@charset "UTF-8";
/* ****************************************************
mixin
**************************************************** */
/* Grid Layout関連（Prepros非対応）　*/
/* center */
/* opacity */
/* text length */
/* fit */
/* border radius */
/* transition */
/* break point */
/* for Coding */
/* ****************************************************
color set
**************************************************** */
/* ****************************************************
font
**************************************************** */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP");
/* ****************************************************
basic
**************************************************** */
html,
body {
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  vertical-align: bottom;
  text-align: center;
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "FontAwesome", serif, Verdana, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  font-size: 62.5%;
  font-weight: normal;
  color: #707070; }
  html a,
  body a {
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    color: #707070; }
    html a:hover,
    body a:hover {
      opacity: 0.4;
      filter: alpha(opacity=40); }
  html img,
  body img {
    vertical-align: middle; }
  html p,
  body p {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    html p.txt_left,
    body p.txt_left {
      text-align: justify; }
    html p.txt_right,
    body p.txt_right {
      text-align: right; }

.pc {
  display: block;
  overflow: hidden; }

.sp {
  display: none; }

table {
  table-layout: fixed; }

@media (max-width: 1023px) {
  .pc {
    display: none; }
  .sp {
    display: block; } }

/*ツールバー使用時のみ
body {
    margin-top: -3.2rem;
}
*/
/* ****************************************************
common
**************************************************** */
.container {
  width: 140rem;
  text-align: center;
  margin: 0 auto; }
  .container .wrapper {
    width: 114rem;
    text-align: center;
    margin: 0 auto; }

@media (max-width: 1140px) {
  .container {
    width: 100%; }
    .container .wrapper {
      width: 90vw;
      margin: 0 auto; } }

header .container nav {
  padding: 10rem 0 5rem 0;
  padding: 5rem 0; }
  header .container nav ul {
    width: 25%;
    margin-left: 75%;
    text-align: left; }
    header .container nav ul li {
      color: #fff;
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 0.94118; }
      header .container nav ul li.title {
        margin-bottom: 5rem;
        margin-bottom: 3rem;
        padding: 0 0 1rem 0.5rem;
        border-bottom: 0.1rem solid #fff; }
      header .container nav ul li a {
        display: block;
        padding: 1rem 0 1rem 3rem;
        color: #fff;
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 0.94118; }
  header .container nav .sns {
    width: 25%;
    margin: 2rem 0 0 75%;
    padding-left: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
    header .container nav .sns a {
      display: block;
      width: 4rem;
      margin-right: 2rem; }
      header .container nav .sns a img {
        margin-right: 0.5rem;
        width: 100%;
        height: auto; }

@media (max-width: 1023px) {
  header .container nav {
    padding: 5vw 0; }
    header .container nav ul {
      width: 100%;
      height: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin-left: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      header .container nav ul li {
        width: 49.5vw;
        margin-bottom: 1vw; }
        header .container nav ul li.title {
          width: 100%; }
        header .container nav ul li a {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 2;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          background: rgba(255, 255, 255, 0.4);
          padding: 1vw 5vw; }
    header .container nav .sns {
      width: 100%;
      margin: 5vw 0 0 0;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }

footer {
  padding: 0;
  margin: 0;
  vertical-align: bottom;
  padding-top: 1.5rem;
  background: #1f91ed; }
  footer .footer {
    width: 100%;
    margin: 0;
    padding: 0; }
    footer .footer img {
      width: 100%;
      height: auto; }
  footer .container .wrapper {
    overflow: hidden;
    background: url(../images-home/index/footer_back.png) no-repeat bottom center; }
    footer .container .wrapper .button {
      margin: 8rem auto 0 auto; }
    footer .container .wrapper .sns_icon {
      margin-top: 5rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
      footer .container .wrapper .sns_icon p {
        margin: 0 .5rem; }
    footer .container .wrapper .copy {
      text-align: right;
      margin-top: 25rem;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.14286;
      color: #fff; }
  @media (max-width: 1140px) {
    footer .container .wrapper .button {
      margin-top: 7vw; } }
  @media (max-width: 1023px) {
    footer {
      padding: 0;
      margin: 0;
      vertical-align: bottom; }
      footer .container {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 151.5vw;
        background: url(../images-home/index/sp/footer_back.png) no-repeat bottom;
        background-size: contain;
        padding-top: 55vw; }
        footer .container .wrapper {
          background: none; }
          footer .container .wrapper .button {
            width: 72vw;
            height: auto;
            margin: 10vw auto 0 auto; }
            footer .container .wrapper .button img {
              width: 100%; }
          footer .container .wrapper .sns_icon {
            margin-top: 8vw; }
            footer .container .wrapper .sns_icon p {
              margin: 0 2vw; } }

/* ****************************************************
index
**************************************************** */
header {
  padding: 0;
  margin: 0;
  vertical-align: bottom;
  background: url(../images-home/index/index_back.png) repeat-x; }
  header .container {
    margin: 0 auto;
    padding: 0; }
    header .container p {
      padding: 0;
      margin: 0;
      vertical-align: bottom; }
      header .container p.key_visual {
        overflow: hidden;
        width: 100%;
        height: 74.2rem;
        position: relative; }
        header .container p.key_visual img {
          width: 140rem;
          position: absolute;
          left: 50%;
          margin-left: -70rem; }
  @media (max-width: 1140px) {
    header {
      background: none; }
      header .container p {
        padding: 0;
        margin: 0;
        vertical-align: bottom; }
        header .container p.key_visual {
          height: 53vw; }
          header .container p.key_visual img {
            width: 100%;
            height: auto;
            position: static;
            margin: 0; }
        header .container p img {
          width: 100%; } }

section {
  padding: 0;
  margin: 0;
  vertical-align: bottom; }
  section.profile {
    background: url(../images-home/index/profile_back.png) repeat-x; }
    section.profile .container {
      text-align: center; }
      section.profile .container p {
        padding: 0;
        margin: 0;
        vertical-align: bottom; }
      section.profile .container .button {
        margin: -17rem auto 10rem auto; }
    @media (max-width: 1140px) {
      section.profile {
        background: none; }
        section.profile p img {
          width: 100%; } }
    @media (max-width: 1023px) {
      section.profile .container .button {
        width: 72vw;
        height: auto;
        margin: 0 auto; }
        section.profile .container .button img {
          width: 100%; } }
  section.performance {
    background: url(../images-home/index/performance_back.png) repeat-x; }
    section.performance .container p {
      padding: 0;
      margin: 0;
      vertical-align: bottom; }
    section.performance .container .wrapper {
      margin: -46rem auto 0 auto;
      padding-bottom: 4rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      section.performance .container .wrapper .block {
        margin-bottom: 3rem; }
    @media (max-width: 1140px) {
      section.performance .container p img {
        width: 100%; }
      section.performance .container .wrapper {
        margin-top: -40vw; }
        section.performance .container .wrapper .block {
          width: 43vw; } }
    @media (max-width: 1023px) {
      section.performance {
        background: none; }
        section.performance p {
          padding: 0;
          margin: 0;
          vertical-align: bottom; }
          section.performance p img {
            width: 100%; } }
  section.performance2 {
    background: -webkit-repeating-linear-gradient(135deg, #fff 0, #fff 1rem, #eee 1rem, #eee 1.2rem);
    background: -o-repeating-linear-gradient(135deg, #fff 0, #fff 1rem, #eee 1rem, #eee 1.2rem);
    background: repeating-linear-gradient(-45deg, #fff 0, #fff 1rem, #eee 1rem, #eee 1.2rem); }
    section.performance2 .container {
      padding: 2rem 0 3rem 0; }
      section.performance2 .container .wrapper2 {
        width: 118.5rem;
        height: 59.5rem;
        margin: 0 auto;
        background: url(../images-home/index/performance2_back.png) no-repeat;
        position: relative; }
        section.performance2 .container .wrapper2 p {
          width: 39.5rem;
          -webkit-transform: rotate(-8deg);
          -ms-transform: rotate(-8deg);
          transform: rotate(-8deg);
          position: absolute;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.875; }
          section.performance2 .container .wrapper2 p.left_side {
            top: 22rem;
            left: 4.5rem; }
          section.performance2 .container .wrapper2 p.right_side {
            top: 45rem;
            left: 42.5rem; }
    @media (max-width: 1140px) {
      section.performance2 .container .wrapper2 {
        width: 100%;
        height: 50vw;
        background-size: contain; }
        section.performance2 .container .wrapper2 p {
          width: 33vw;
          font-size: 1.3vw; }
          section.performance2 .container .wrapper2 p.left_side {
            top: 17vw;
            left: 4vw; }
          section.performance2 .container .wrapper2 p.right_side {
            top: 36vw;
            left: 35vw; } }
    @media (max-width: 1023px) {
      section.performance2 {
        width: 100%;
        height: 220vw;
        background: url(../images-home/index/sp/performance2.png);
        background-size: cover; }
        section.performance2 .container .wrapper2 {
          background: none; }
          section.performance2 .container .wrapper2 p {
            width: 76vw;
            font-size: 4vw;
            line-height: 1.5; }
            section.performance2 .container .wrapper2 p.left_side {
              top: 29vw;
              left: 18vw; }
            section.performance2 .container .wrapper2 p.right_side {
              top: 133vw;
              left: 17vw; } }
  section.blog {
    background: rgba(43, 167, 255, 0.2); }
    section.blog .container {
      padding: 8rem 0 10rem 0; }
      section.blog .container .wrapper {
        text-align: left; }
        section.blog .container .wrapper h2 {
          margin-bottom: 4rem; }
        section.blog .container .wrapper article {
          margin-bottom: 5rem;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          section.blog .container .wrapper article p {
            width: 41%;
            padding: 0;
            margin: 0;
            vertical-align: bottom; }
            section.blog .container .wrapper article p img {
              width: 100%;
              height: auto;
              max-height: 23rem;
              -o-object-fit: cover;
              object-fit: cover; }
          section.blog .container .wrapper article dl {
            width: 55%;
            margin: 0; }
            section.blog .container .wrapper article dl dt {
              padding: 0 0 0.5rem 0;
              font-size: 17px;
              font-size: 1.7rem;
              line-height: 1.76471;
              border-bottom: 0.1rem solid #fff; }
            section.blog .container .wrapper article dl dd {
              margin: 0;
              padding: 0; }
              section.blog .container .wrapper article dl dd h3 {
                margin: 1rem 0 2rem 0;
                font-size: 21px;
                font-size: 2.1rem;
                line-height: 1.61905;
                font-weight: 500; }
                section.blog .container .wrapper article dl dd h3 a {
                  color: #2BA7FF;
                  font-weight: bold; }
              section.blog .container .wrapper article dl dd p {
                width: 100%;
                font-size: 17px;
                font-size: 1.7rem;
                line-height: 1.76471; }
      section.blog .container .button {
        margin: 8rem auto 0 auto; }
    @media (max-width: 1023px) {
      section.blog .container {
        padding: 2vw 0 10vw 0; }
        section.blog .container .wrapper h2 {
          margin-bottom: 2vw; }
        section.blog .container .wrapper article {
          margin-bottom: 3vw;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          section.blog .container .wrapper article p {
            width: 100%;
            padding: 0;
            margin: 0;
            vertical-align: bottom;
            margin-bottom: 2vw; }
            section.blog .container .wrapper article p img {
              width: 100%;
              height: auto; }
          section.blog .container .wrapper article dl {
            width: 100%;
            margin: 0; }
            section.blog .container .wrapper article dl dt {
              padding: 0;
              font-size: 17px;
              font-size: 1.7rem;
              line-height: 1.76471; }
            section.blog .container .wrapper article dl dd h3 {
              margin: 1rem 0 2rem 0;
              font-size: 19px;
              font-size: 1.9rem;
              line-height: 1.47368;
              font-weight: bold; }
            section.blog .container .wrapper article dl dd p {
              font-size: 17px;
              font-size: 1.7rem;
              line-height: 1.76471; }
        section.blog .container .button {
          width: 72vw;
          height: auto;
          margin: 10vw auto 0 auto; }
          section.blog .container .button img {
            width: 100%; } }
  section.policy .container {
    padding: 0 0 5rem 0; }
    section.policy .container .wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      section.policy .container .wrapper p {
        width: 100%; }
        section.policy .container .wrapper p img {
          width: 100%; }
        section.policy .container .wrapper p.banner {
          width: 55rem;
          height: 20rem; }
          section.policy .container .wrapper p.banner img {
            width: 100%; }
      section.policy .container .wrapper .banner {
        margin: 0 0 4rem 0; }
      section.policy .container .wrapper .banner1 {
        background: url(../images-home/index/policy_banner1.png) no-repeat; }
        section.policy .container .wrapper .banner1:hover {
          background: url(../images-home/index/policy_banner1_on.png) no-repeat; }
      section.policy .container .wrapper .banner2 {
        background: url(../images-home/index/policy_banner2.png) no-repeat; }
        section.policy .container .wrapper .banner2:hover {
          background: url(../images-home/index/policy_banner2_on.png) no-repeat; }
      section.policy .container .wrapper .banner3 {
        background: url(../images-home/index/policy_banner3.png) no-repeat; }
        section.policy .container .wrapper .banner3:hover {
          background: url(../images-home/index/policy_banner3_on.png) no-repeat; }
      section.policy .container .wrapper .banner4 {
        background: url(../images-home/index/policy_banner4.png) no-repeat; }
        section.policy .container .wrapper .banner4:hover {
          background: url(../images-home/index/policy_banner4_on.png) no-repeat; }
      section.policy .container .wrapper .banner5 {
        background: url(../images-home/index/policy_banner5.png) no-repeat; }
        section.policy .container .wrapper .banner5:hover {
          background: url(../images-home/index/policy_banner5_on.png) no-repeat; }
      section.policy .container .wrapper .banner6 {
        background: url(../images-home/index/policy_banner6.png) no-repeat; }
  @media (max-width: 1140px) {
    section.policy .container .wrapper p.banner {
/*      border: 1px solid red;
      border: 1px solid ;*/
      width: 44vw;
      height: 16vw;
      margin-bottom: 2vw;
      background-size: contain; }
      section.policy .container .wrapper p.banner:hover {
        background-size: contain; } }
  @media (max-width: 1023px) {
    section.policy p img {
      width: 100%; }
    section.policy .container .mod_panel .panelTitle, section.policy .container .mod_panel .mod_panel_inner {
      width: 100%;
      padding: 0;
      margin: 0;
      vertical-align: bottom;
      margin-bottom: 5vw; }
      section.policy .container .mod_panel .panelTitle a, section.policy .container .mod_panel .mod_panel_inner a {
        display: block;
        opacity: 1.0; }
        section.policy .container .mod_panel .panelTitle a img, section.policy .container .mod_panel .mod_panel_inner a img {
          width: 100%; }
    section.policy .container .mod_panel .mod_panel_inner img {
      width: 100%; }
    section.policy .container .mod_panel .mod_panel_inner .mod_panel_inner_btn .closebtn {
      width: 30vw;
      margin: 0 auto; }
      section.policy .container .mod_panel .mod_panel_inner .mod_panel_inner_btn .closebtn a {
        display: block; }
        section.policy .container .mod_panel .mod_panel_inner .mod_panel_inner_btn .closebtn a img {
          width: 100%; }
    section.policy .container .mod_panel .mod_panel_inner.open {
      display: block; }
    section.policy .container .mod_panel .mod_panel_inner.close {
      display: none; } }
  section.sns_tl {
    background: rgba(43, 167, 255, 0.2); }
    section.sns_tl .container {
      padding: 8rem 0; }
      section.sns_tl .container .wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
        section.sns_tl .container .wrapper .fb,
        section.sns_tl .container .wrapper .tw {
          width: auto;
          background: #fff; }
          section.sns_tl .container .wrapper .fb h3,
          section.sns_tl .container .wrapper .tw h3 {
            padding: 0;
            margin: 0;
            vertical-align: bottom;
            margin-bottom: 1rem; }
    @media (max-width: 1140px) {
      section.sns_tl .container .wrapper .fb, section.sns_tl .container .wrapper .tw {
        width: 44vw; }
        section.sns_tl .container .wrapper .fb h3, section.sns_tl .container .wrapper .tw h3 {
          width: 100%; }
          section.sns_tl .container .wrapper .fb h3 img, section.sns_tl .container .wrapper .tw h3 img {
            width: 100%; } }
    @media (max-width: 1023px) {
      section.sns_tl .container {
        padding: 8vw 0; }
        section.sns_tl .container .wrapper {
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          section.sns_tl .container .wrapper .fb,
          section.sns_tl .container .wrapper .tw {
            width: 100%; }
            section.sns_tl .container .wrapper .fb h3,
            section.sns_tl .container .wrapper .tw h3 {
              width: 100%; }
              section.sns_tl .container .wrapper .fb h3 img,
              section.sns_tl .container .wrapper .tw h3 img {
                width: 100%; }
          section.sns_tl .container .wrapper .fb {
            margin-bottom: 5vw; } }
