@keyframes hoverin {
  0% {
    transform: translateX(-101%);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes hoverout {
  0% {
    transform: translateY(0);
    left: 0;
    opacity: 1; }
  100% {
    transform: translateY(0);
    left: 101%;
    opacity: 1; } }
@keyframes hoverin_reverse {
  0% {
    transform: translateX(101%);
    opacity: 1; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
@keyframes hoverout_reverse {
  0% {
    transform: translateY(0);
    left: 0;
    opacity: 1; }
  100% {
    transform: translateY(0);
    left: -101%;
    opacity: 1; } }
.buruburu {
  display: inline-block;
  animation: hurueru .1s  infinite; }

@keyframes hurueru {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg); }
  25% {
    transform: translate(2px, 2px) rotateZ(1deg); }
  50% {
    transform: translate(0px, 2px) rotateZ(0deg); }
  75% {
    transform: translate(2px, 0px) rotateZ(-1deg); }
  100% {
    transform: translate(0px, 0px) rotateZ(0deg); } }
@keyframes wave {
  0% {
    background-position: 0 0; }
  100% {
    background-position: round-decimal(8.3333333333vw, 3) 0; } }
@media screen and (min-width: 768px) {
  @keyframes wave {
    0% {
      background-position: 0 0; }
    100% {
      background-position: 100px 0; } } }
body.top #contents {
  padding: 60px 0 0; }
  body.top #contents a.btn {
    background: #464646;
    display: inline-block;
    width: 180px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    font-size: 12px; }
    body.top #contents a.btn i {
      display: inline-block;
      margin-right: 10px;
      position: relative; }
    body.top #contents a.btn i.icon_note {
      background: url("/images/icon_note@2x.png") no-repeat left top/9px 12px;
      width: 9px;
      height: 12px;
      top: 1px; }
    body.top #contents a.btn i.icon_triangle {
      background: url("/images/icon_triangle@2x.png") no-repeat left top/100% auto;
      width: 8px;
      height: 9px;
      top: 0px;
      transform: rotate(90deg); }
  body.top #contents span.btn {
    display: block;
    background: #464646;
    display: inline-block;
    width: 180px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    font-size: 12px; }
    body.top #contents span.btn i {
      display: inline-block;
      margin-right: 10px;
      position: relative; }
    body.top #contents span.btn i.icon_note {
      background: url("/images/icon_note@2x.png") no-repeat left top/9px 12px;
      width: 9px;
      height: 12px;
      top: 1px; }
    body.top #contents span.btn i.icon_triangle {
      background: url("/images/icon_triangle@2x.png") no-repeat left top/100% auto;
      width: 8px;
      height: 9px;
      top: 0px;
      transform: rotate(90deg); }
  body.top #contents main {
    padding: 0; }
  body.top #contents .kv {
    height: 527px;
    overflow: hidden;
    position: relative; }
    body.top #contents .kv img {
      width: 100%;
      height: auto;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 0; }
    body.top #contents .kv h1 {
      font-size: 20px;
      position: absolute;
      left: 0;
      top: 50px;
      font-weight: bold;
      text-align: center;
      width: 100%;
      line-height: 1.5;
      z-index: 10;
      text-indent: -0.85em; }
    body.top #contents .kv p {
      font-size: 14px;
      position: absolute;
      padding: 0 20px;
      color: #464646;
      left: 0;
      width: 100%;
      top: 140px;
      z-index: 10; }
  body.top #contents .news h2 {
    font-family: 'Alata', sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #4D956A;
    font-size: 24px;
    line-height: 1;
    border-bottom: 1px solid #A0A0A0;
    margin-bottom: 10px;
    padding-bottom: 10px; }
  body.top #contents .news .news_wrap {
    background: #D0EDDF;
    margin: -20px 0 0 20px;
    position: relative;
    padding: 20px 20px 70px; }
    body.top #contents .news .news_wrap .btn {
      position: absolute;
      right: 0;
      bottom: 0; }
    body.top #contents .news .news_wrap .news_entry {
      margin-top: 15px; }
  body.top #contents .news h3 {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.571; }
  body.top #contents .news time {
    font-size: 10px;
    font-weight: bold;
    color: #464646; }
  body.top #contents .news p {
    color: #464646;
    font-size: 11px;
    line-height: 1.818; }
  body.top #contents .news div.slide {
    display: none; }
  body.top #contents .news div.slide .news_entry {
    padding-top: 15px;
    margin-top: 0; }
  body.top #contents .campaign {
    padding: 40px 20px 0;
    font-size: 0;
    line-height: 1; }
    body.top #contents .campaign img {
      width: 100%;
      height: auto; }
  body.top #contents .service {
    padding: 40px 0 20px 20px;
    font-size: 0;
    line-height: 1;
    position: relative; }
    body.top #contents .service::before {
      content: '';
      width: 100%;
      height: 76px;
      background: #fff;
      z-index: 0;
      position: absolute;
      left: 0;
      top: 0px; }
    body.top #contents .service::after {
      content: '';
      width: 100%;
      height: 100%;
      background: #4D956A;
      z-index: -1;
      position: absolute;
      left: 0;
      top: 0px; }
    body.top #contents .service .wrap div {
      position: relative;
      clear: both;
      background: #fff;
      border-bottom: 10px solid #4D956A;
      font-size: 0;
      line-height: 1; }
      body.top #contents .service .wrap div img {
        width: 46.6%;
        /*width: 140px;*/
        height: auto;
        float: left;
        max-width: 168px; }
      body.top #contents .service .wrap div dl {
        display: block;
        zoom: 1;
        overflow: hidden;
        text-align: center;
        padding: 0 10px; }
        body.top #contents .service .wrap div dl dt {
          font-size: 16px;
          font-weight: bold;
          line-height: 1;
          padding: 20px 0 18px; }
        body.top #contents .service .wrap div dl dd {
          font-size: 12px;
          line-height: 1.333; }
      body.top #contents .service .wrap div .btn {
        clear: both;
        width: 100%;
        display: block; }
      body.top #contents .service .wrap div::after {
        content: '';
        clear: both;
        display: block; }
  body.top #contents .plan {
    margin-top: 40px;
    font-size: 0; }
    body.top #contents .plan img {
      width: 100%;
      height: auto;
      position: relative;
      z-index: 0; }
    body.top #contents .plan div {
      margin: -12px 0 0 40px;
      background: #EDF2F1;
      position: relative;
      z-index: 10;
      text-align: center;
      padding: 20px 10px 60px; }
      body.top #contents .plan div h2 {
        font-size: 16px;
        font-weight: bold;
        color: #1B2E22;
        line-height: 1;
        margin-bottom: 14px; }
        body.top #contents .plan div h2 i {
          border: 2px solid #EA7816;
          border-radius: 1px;
          color: #EA7816;
          font-size: 12px;
          font-weight: bold;
          line-height: 16px;
          padding: 0 6px;
          margin: 0 0 0 7px;
          position: relative;
          top: -2px; }
      body.top #contents .plan div p {
        font-size: 12px;
        line-height: 1.667; }
      body.top #contents .plan div .btn {
        position: absolute;
        right: 0;
        bottom: 0; }
  body.top #contents .plan + .plan div {
    margin: -12px 40px 0 0; }
  body.top #contents .plan.plan_nobtn div {
    padding-bottom: 20px; }
  body.top #contents .plan_slider .swiper-container {
    position: relative;
    margin-top: 60px; }
    body.top #contents .plan_slider .swiper-container .swiper-slide {
      width: 76.25vw !important;
      margin: 0 1.563vw 0;
      background: #EDF2F1;
      padding: 0 0 65px;
      min-height: 365px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide img {
        width: 100%;
        height: auto; }
      body.top #contents .plan_slider .swiper-container .swiper-slide h2 {
        font-size: 16px;
        line-height: 1.25;
        color: #1B2E22;
        text-align: center;
        font-weight: bold;
        padding: 0 5px 0;
        min-height: 2.6em;
        margin-top: 3px;
        margin-bottom: 3px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide dl {
        padding: 0 16px 0; }
        body.top #contents .plan_slider .swiper-container .swiper-slide dl dt {
          font-size: 11px;
          color: #4D956A;
          font-weight: bold;
          margin-bottom: 5px; }
        body.top #contents .plan_slider .swiper-container .swiper-slide dl dd {
          font-size: 11px;
          line-height: 1.455;
          color: #464646; }
          body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li {
            padding-left: 12px;
            position: relative; }
            body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li::before {
              content: '';
              border: 2px solid #4D956A;
              border-radius: 50%;
              position: absolute;
              left: 0;
              top: 5px;
              width: 8px;
              height: 8px; }
          body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li + li {
            margin-top: 7px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide span.btn {
        position: absolute;
        right: 0;
        bottom: 0; }
    body.top #contents .plan_slider .swiper-container::before {
      content: '';
      width: 100vw;
      height: 100%;
      background: rgba(255, 255, 255, 0.8);
      position: absolute;
      right: 50%;
      top: 0;
      z-index: 100;
      margin-right: 39.063vw; }
    body.top #contents .plan_slider .swiper-container::after {
      content: '';
      width: 100vw;
      height: 100%;
      background: rgba(255, 255, 255, 0.8);
      position: absolute;
      left: 50%;
      top: 0;
      z-index: 100;
      margin-left: 39.063vw; }
  body.top #contents .plan_slider .swiper-button-next,
  body.top #contents .plan_slider .swiper-button-prev {
    z-index: 150; }
  body.top #contents .support {
    background: #D0EDDF;
    padding: 45px 20px 50px;
    margin: 50px 0 0; }
    body.top #contents .support h2 {
      font-size: 18px;
      font-weight: bold;
      line-height: 1; }
    body.top #contents .support dl {
      margin-top: 36px; }
    body.top #contents .support dt {
      font-size: 16px;
      font-weight: bold;
      line-height: 1; }
    body.top #contents .support dd {
      margin-top: 16px; }
    body.top #contents .support dd li {
      padding: 0 0 0 18px;
      font-size: 12px;
      line-height: 1.5;
      position: relative; }
      body.top #contents .support dd li::after {
        content: '';
        border: 2px solid #4D956A;
        width: 8px;
        height: 8px;
        position: absolute;
        left: 0;
        top: 6px;
        border-radius: 50%; }
    body.top #contents .support p .btn,
    body.top #contents .support li a.btn {
      display: block;
      width: 100%;
      margin-top: 20px; }
    body.top #contents .support .bnr {
      position: relative;
      font-size: 0;
      line-height: 1;
      margin-top: 38px; }
      body.top #contents .support .bnr img {
        width: 100%;
        height: auto;
        position: relative;
        z-index: 0; }
      body.top #contents .support .bnr a.btn {
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: 10; }
      body.top #contents .support .bnr p {
        position: absolute;
        left: 0;
        top: 0;
        text-align: center;
        font-size: 12px;
        line-height: 1.417;
        width: 100%;
        display: flex;
        justify-content: center;
        height: 100%;
        align-items: center;
        padding-bottom: 50px; }

@media screen and (min-width: 480px) {
  body.top .kv {
    height: 632.4px; }
    body.top .kv h1 {
      font-size: 24px;
      top: 60px; }
    body.top .kv p {
      font-size: 16.8px;
      top: 168px; }
  body.top #contents .service .wrap div dl {
    padding: 0 12px; }
    body.top #contents .service .wrap div dl dt {
      font-size: 19.2px;
      padding: 24px 0 21.6px; }
    body.top #contents .service .wrap div dl dd {
      font-size: 14.4px; }
  body.top #contents .plan div {
    padding: 24px 12px 72px; }
    body.top #contents .plan div h2 {
      font-size: 19.2px;
      margin-bottom: 16.8px; }
      body.top #contents .plan div h2 i {
        border: 2.4px solid #EA7816;
        border-radius: 1.2px;
        font-size: 14.4px;
        line-height: 19.2px;
        padding: 0 7.2px;
        margin: 0 0 0 8.4px;
        position: relative;
        top: -2.4px; }
    body.top #contents .plan div p {
      font-size: 14.4px; }
  body.top #contents .plan.plan_nobtn div {
    padding-bottom: 24px; }
  body.top #contents .plan_slider .swiper-container .swiper-slide h2 {
    font-size: 19.2px;
    padding: 0 6px 0;
    margin-top: 3.6px;
    margin-bottom: 3.6px; }
  body.top #contents .plan_slider .swiper-container .swiper-slide dl {
    padding: 0 19.2px 0; }
    body.top #contents .plan_slider .swiper-container .swiper-slide dl dt {
      font-size: 13.2px;
      margin-bottom: 6px; }
    body.top #contents .plan_slider .swiper-container .swiper-slide dl dd {
      font-size: 13.2px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li {
        padding-left: 14.4px; }
        body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li::before {
          content: '';
          border: 2.4px solid #4D956A;
          top: 6px;
          width: 9.6px;
          height: 9.6px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li + li {
        margin-top: 2.188vw; }
  body.top #contents .support h2 {
    font-size: 21.6px; }
  body.top #contents .support dt {
    font-size: 19.2px; }
  body.top #contents .support dd li {
    padding: 0 0 0 21.6px;
    font-size: 14.4px; }
    body.top #contents .support dd li::after {
      border: 2.4px solid #4D956A;
      width: 9.6px;
      height: 9.6px;
      top: 7.2px; }
  body.top #contents .support .bnr p {
    font-size: 14.4px;
    /*padding-bottom: spx(50);*/ } }
/* 
	pc
************************************/
@media screen and (min-width: 768px) {
  body.top #contents {
    padding: 7.667vw 0 0; }
    body.top #contents a.btn {
      width: 16.667vw;
      line-height: 5vw;
      font-size: 1.167vw;
      transition: background 0.6s; }
      body.top #contents a.btn i {
        margin-right: 0.583vw; }
      body.top #contents a.btn i.icon_note {
        background: url("/images/icon_note@2x.png") no-repeat left top/0.75vw 1vw;
        width: 0.75vw;
        height: 1vw;
        top: 0.083vw; }
      body.top #contents a.btn i.icon_triangle {
        background: url("/images/icon_triangle@2x.png") no-repeat left top/100% auto;
        width: 0.667vw;
        height: 0.75vw; }
    body.top #contents a.btn:hover {
      background-color: #6B6B6B; }
    body.top #contents span.btn {
      width: 16.667vw;
      line-height: 5vw;
      font-size: 1.167vw;
      transition: background 0.6s; }
      body.top #contents span.btn i {
        margin-right: 0.583vw; }
      body.top #contents span.btn i.icon_note {
        background: url("/images/icon_note@2x.png") no-repeat left top/0.75vw 1vw;
        width: 0.75vw;
        height: 1vw;
        top: 0.083vw; }
      body.top #contents span.btn i.icon_triangle {
        background: url("/images/icon_triangle@2x.png") no-repeat left top/100% auto;
        width: 0.667vw;
        height: 0.75vw; }
    body.top #contents a.btn_wrap {
      display: block; }
    body.top #contents a.btn_wrap:hover span.btn {
      background-color: #6B6B6B; }
    body.top #contents .kv {
      height: 50vw; }
      body.top #contents .kv img {
        width: 133.333vw;
        height: auto;
        left: 50%;
        transform: translateX(-66.667vw); }
      body.top #contents .kv h1 {
        font-size: 2.667vw;
        left: 50%;
        top: 11.333vw;
        width: 50vw;
        line-height: 1.5; }
      body.top #contents .kv p {
        font-size: 1.5vw;
        padding: 0 1.667vw 0 0;
        left: 50%;
        width: 50vw;
        top: 22.083vw;
        line-height: 1.667;
        text-align: left; }
    body.top #contents .news {
      text-align: center; }
      body.top #contents .news h2 {
        font-size: 3.833vw;
        margin-bottom: 1.25vw;
        padding-bottom: 0.833vw; }
      body.top #contents .news .news_wrap {
        margin: -7.5vw auto 0;
        padding: 4vw 3.333vw 7.5vw;
        max-width: inherit;
        width: 75vw;
        text-align: left; }
        body.top #contents .news .news_wrap .news_entry {
          margin-top: 2.917vw; }
      body.top #contents .news h3 {
        font-size: 1.5vw;
        line-height: 1.571; }
      body.top #contents .news time {
        font-size: 0.833vw;
        margin-bottom: 0.5vw;
        display: block; }
      body.top #contents .news p {
        font-size: 1.167vw;
        line-height: 1.714; }
      body.top #contents .news div.slide .news_entry {
        margin-top: 2.917vw;
        padding-top: 0; }
    body.top #contents .campaign {
      padding: 100px 0px 0;
      max-width: 1200px;
      margin: 0 auto;
      width: 100%; }
      body.top #contents .campaign a {
        transition: opacity 0.6s; }
      body.top #contents .campaign a:hover {
        opacity: 0.8; }
    body.top #contents .service {
      padding: 100px 0 30px 0; }
      body.top #contents .service::before {
        content: '';
        width: 100%;
        height: 26.833vw;
        background: #fff;
        z-index: 0;
        position: absolute;
        left: 0;
        top: 0px; }
      body.top #contents .service::after {
        content: '';
        width: 100%;
        height: 100%;
        left: 0;
        top: 0px; }
      body.top #contents .service .wrap {
        width: 100vw;
        display: flex;
        justify-content: center; }
        body.top #contents .service .wrap div {
          border-bottom: none;
          margin: 0 1.667vw;
          width: 28.333vw;
          padding-bottom: 7.75vw; }
          body.top #contents .service .wrap div img {
            width: 100%;
            float: none;
            max-width: inherit; }
          body.top #contents .service .wrap div dl dt {
            font-size: 2.167vw;
            padding: 3.333vw 0 1.5vw; }
          body.top #contents .service .wrap div dl dd {
            font-size: 1.167vw;
            line-height: 1.857; }
          body.top #contents .service .wrap div .btn {
            clear: both;
            width: 20.833vw;
            display: block;
            position: absolute;
            right: 0;
            bottom: 0; }
            body.top #contents .service .wrap div .btn.long {
              width: 23.333vw; }
          body.top #contents .service .wrap div::after {
            content: '';
            clear: both;
            display: block; }
        body.top #contents .service .wrap div:last-child {
          border-bottom: none; }
    body.top #contents .plan {
      height: 46.667vw;
      position: relative;
      margin-top: 120px; }
      body.top #contents .plan img {
        width: 83.333vw;
        height: auto;
        position: absolute;
        right: 50%;
        margin-right: -16.667vw;
        top: 0; }
      body.top #contents .plan div {
        margin: 0;
        width: 50vw;
        height: 26.667vw;
        padding: 4.833vw 1.667vw 5.417vw;
        position: absolute;
        left: 50%;
        bottom: 0; }
        body.top #contents .plan div h2 {
          font-size: 2.5vw;
          margin-bottom: 2.333vw; }
          body.top #contents .plan div h2 i {
            border: 0.167vw solid #EA7816;
            border-radius: 0.083vw;
            color: #EA7816;
            font-size: 1.333vw;
            line-height: 2.5vw;
            padding: 0 1.5vw;
            margin: 0 0 0 1vw;
            position: relative;
            top: -0.417vw; }
        body.top #contents .plan div p {
          font-size: 1.333vw;
          line-height: 1.875; }
    body.top #contents .plan + .plan img {
      right: inherit;
      left: 50%;
      margin-right: 0;
      margin-left: -16.667vw; }
    body.top #contents .plan + .plan div {
      margin: 0;
      left: inherit;
      right: 50%; }
    body.top #contents .plan.plan_nobtn div {
      padding-bottom: 1.667vw; }
    body.top #contents .plan_slider .swiper-container {
      margin-top: 120px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide {
        width: 28.333vw !important;
        margin: 0 1.667vw 0;
        background: #EDF2F1;
        padding: 0 0 5.417vw;
        min-height: 36.25vw; }
        body.top #contents .plan_slider .swiper-container .swiper-slide h2 {
          font-size: 1.667vw;
          line-height: 1.2;
          padding: 0 0.417vw 0;
          min-height: 2.6em;
          margin-top: 1.167vw;
          margin-bottom: 0.333vw; }
        body.top #contents .plan_slider .swiper-container .swiper-slide dl {
          padding: 0 1.333vw 0;
          text-align: left; }
          body.top #contents .plan_slider .swiper-container .swiper-slide dl dt {
            font-size: 1vw;
            margin-bottom: 0.333vw; }
          body.top #contents .plan_slider .swiper-container .swiper-slide dl dd {
            font-size: 1vw;
            line-height: 1.5; }
            body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li {
              padding-left: 1vw;
              position: relative; }
              body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li::before {
                content: '';
                border: 0.167vw solid #4D956A;
                border-radius: 50%;
                position: absolute;
                left: 0;
                top: 0.417vw;
                width: 0.667vw;
                height: 0.667vw; }
            body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li + li {
              margin-top: 0.833vw; }
      body.top #contents .plan_slider .swiper-container::before {
        right: 50%;
        top: 0;
        z-index: 100;
        margin-right: 46.25vw; }
      body.top #contents .plan_slider .swiper-container::after {
        left: 50%;
        top: 0;
        z-index: 100;
        margin-left: 46.25vw; }
    body.top #contents .support {
      padding: 130px 20px 120px;
      margin: 50px 0 0; }
      body.top #contents .support h2 {
        font-size: 2.5vw; }
      body.top #contents .support .links {
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
        text-align: center; }
      body.top #contents .support dl {
        margin-top: 50px;
        text-align: left;
        width: 34.583vw;
        display: inline-block;
        vertical-align: top; }
      body.top #contents .support dl:last-child {
        width: auto; }
      body.top #contents .support dt {
        font-size: 1.5vw; }
      body.top #contents .support dd {
        margin-top: 11px; }
      body.top #contents .support dd li {
        padding: 0 0 0 1.5vw;
        font-size: 1.333vw;
        line-height: 1.875; }
        body.top #contents .support dd li::after {
          border: 0.167vw solid #4D956A;
          width: 0.667vw;
          height: 0.667vw;
          top: 1vw; }
        body.top #contents .support dd li + li {
          margin-top: 14px; }
      body.top #contents .support p .btn,
      body.top #contents .support li a.btn {
        margin-top: 0; }
      body.top #contents .support p a.btn {
        height: 6.667vw;
        max-width: 800px;
        line-height: 6.667vw;
        margin: 60px auto 0; }
      body.top #contents .support p ~ ul {
        display: flex;
        justify-content: center;
        max-width: 1200px;
        margin: 60px -10px 0; }
        body.top #contents .support p ~ ul li {
          width: calc(100% / 4);
          padding: 0 10px; }
      body.top #contents .support li a.btn {
        height: 6.667vw;
        width: 100%;
        line-height: 6.667vw; }
      body.top #contents .support .bnr {
        margin: 78px auto 0;
        max-width: 800px;
        overflow: hidden;
        width: 100%; }
        body.top #contents .support .bnr a.btn {
          width: 25.833vw; }
        body.top #contents .support .bnr p {
          font-size: 1.5vw;
          line-height: 1.667;
          padding-bottom: 3.75vw; } }
@media screen and (min-width: 1024px) {
  body.top #contents .news {
    text-align: left; }
    body.top #contents .news h2 {
      font-size: 46px;
      margin-bottom: 15px;
      padding-bottom: 10px; }
    body.top #contents .news .news_wrap {
      margin: -90px auto 0;
      padding: 48px 40px  90px;
      max-width: 900px;
      width: 100%; }
      body.top #contents .news .news_wrap .news_entry {
        margin-top: 35px; }
    body.top #contents .news h3 {
      font-size: 18px;
      line-height: 1.571; }
    body.top #contents .news time {
      font-size: 10px;
      margin-bottom: 6px;
      display: block; }
    body.top #contents .news p {
      font-size: 14px;
      line-height: 1.714; }
    body.top #contents .news div.slide .news_entry {
      margin-top: 35px; } }
@media screen and (min-width: 1200px) {
  body.top #contents {
    padding: 92px 0 0; }
    body.top #contents a.btn {
      width: 200px;
      line-height: 60px;
      font-size: 14px; }
      body.top #contents a.btn i {
        margin-right: 7px; }
      body.top #contents a.btn i.icon_note {
        background: url("/images/icon_note@2x.png") no-repeat left top/9px 12px;
        width: 9px;
        height: 12px;
        top: 1px; }
      body.top #contents a.btn i.icon_triangle {
        width: 8px;
        height: 9px; }
    body.top #contents span.btn {
      width: 200px;
      line-height: 60px;
      font-size: 14px; }
      body.top #contents span.btn i {
        margin-right: 7px; }
      body.top #contents span.btn i.icon_note {
        background: url("/images/icon_note@2x.png") no-repeat left top/9px 12px;
        width: 9px;
        height: 12px;
        top: 1px; }
      body.top #contents span.btn i.icon_triangle {
        width: 8px;
        height: 9px; }
    body.top #contents .kv {
      height: 600px; }
      body.top #contents .kv img {
        width: 1600px;
        transform: translateX(-800px); }
      body.top #contents .kv h1 {
        font-size: 32px;
        top: 136px;
        width: 600px; }
      body.top #contents .kv p {
        font-size: 18px;
        padding: 0 20px 0 0;
        width: 600px;
        top: 265px; }
    body.top #contents .service {
      padding: 100px 0 30px 0; }
      body.top #contents .service::before {
        content: '';
        width: 100%;
        height: 322px;
        background: #fff;
        z-index: 0;
        position: absolute;
        left: 0;
        top: 0px; }
      body.top #contents .service::after {
        content: '';
        width: 100%;
        height: 100%;
        left: 0;
        top: 0px; }
      body.top #contents .service .wrap {
        width: 1200px;
        display: flex;
        justify-content: center; }
        body.top #contents .service .wrap div {
          border-bottom: none;
          margin: 0 20px;
          width: 340px;
          padding-bottom: 93px; }
          body.top #contents .service .wrap div img {
            width: 100%;
            float: none;
            max-width: 340px; }
          body.top #contents .service .wrap div dl dt {
            font-size: 26px;
            padding: 40px 0 18px; }
          body.top #contents .service .wrap div dl dd {
            font-size: 14px;
            line-height: 1.857; }
          body.top #contents .service .wrap div .btn {
            clear: both;
            width: 250px;
            display: block;
            position: absolute;
            right: 0;
            bottom: 0; }
            body.top #contents .service .wrap div .btn.long {
              width: 280px; }
          body.top #contents .service .wrap div::after {
            content: '';
            clear: both;
            display: block; }
        body.top #contents .service .wrap div:last-child {
          border-bottom: none; }
    body.top #contents .plan {
      height: 560px; }
      body.top #contents .plan img {
        width: 1000px;
        margin-right: -200px; }
      body.top #contents .plan div {
        width: 600px;
        height: 320px;
        padding: 58px 20px 65px; }
        body.top #contents .plan div h2 {
          font-size: 30px;
          margin-bottom: 28px; }
          body.top #contents .plan div h2 i {
            border: 2px solid #EA7816;
            border-radius: 1px;
            color: #EA7816;
            font-size: 16px;
            line-height: 30px;
            padding: 0 18px;
            margin: 0 0 0 12px;
            top: -5px; }
        body.top #contents .plan div p {
          font-size: 16px; }
    body.top #contents .plan + .plan img {
      margin-left: -200px; }
    body.top #contents .plan.plan_nobtn div {
      padding-bottom: 20px; }
    body.top #contents .plan_slider .swiper-container {
      margin-top: 120px; }
      body.top #contents .plan_slider .swiper-container .swiper-slide {
        width: 340px !important;
        margin: 0 20px 0;
        background: #EDF2F1;
        padding: 0 0 65px;
        min-height: 435px; }
        body.top #contents .plan_slider .swiper-container .swiper-slide h2 {
          font-size: 20px;
          line-height: 1.2;
          padding: 0 5px 0;
          min-height: 2.6em;
          margin-top: 14px;
          margin-bottom: 4px; }
        body.top #contents .plan_slider .swiper-container .swiper-slide dl {
          padding: 0 16px 0;
          text-align: left; }
          body.top #contents .plan_slider .swiper-container .swiper-slide dl dt {
            font-size: 12px;
            margin-bottom: 4px; }
          body.top #contents .plan_slider .swiper-container .swiper-slide dl dd {
            font-size: 12px;
            line-height: 1.5; }
            body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li {
              padding-left: 12px;
              position: relative; }
              body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li::before {
                content: '';
                border: 2px solid #4D956A;
                border-radius: 50%;
                position: absolute;
                left: 0;
                top: 5px;
                width: 8px;
                height: 8px; }
            body.top #contents .plan_slider .swiper-container .swiper-slide dl dd li + li {
              margin-top: 10px; }
      body.top #contents .plan_slider .swiper-container::before {
        margin-right: 555px; }
      body.top #contents .plan_slider .swiper-container::after {
        margin-left: 555px; }
    body.top #contents .support h2 {
      font-size: 30px; }
    body.top #contents .support dl {
      width: 415px; }
    body.top #contents .support dl:last-child {
      width: auto; }
    body.top #contents .support dt {
      font-size: 18px; }
    body.top #contents .support dd {
      margin-top: 11px; }
    body.top #contents .support dd li {
      padding: 0 0 0 18px;
      font-size: 16px; }
      body.top #contents .support dd li::after {
        border: 2px solid #4D956A;
        width: 8px;
        height: 8px;
        top: 12px; }
      body.top #contents .support dd li + li {
        margin-top: 14px; }
    body.top #contents .support p a.btn {
      height: 80px;
      max-width: 800px;
      line-height: 80px;
      margin: 60px auto 0; }
    body.top #contents .support p ~ ul {
      display: flex;
      justify-content: center;
      max-width: 1200px;
      margin: 60px auto 0; }
      body.top #contents .support p ~ ul li {
        width: calc(100% / 3);
        padding: 0 10px; }
    body.top #contents .support li a.btn {
      height: 80px;
      width: 100%;
      line-height: 80px; }
    body.top #contents .support .bnr {
      margin: 78px auto 0;
      max-width: 800px; }
      body.top #contents .support .bnr a.btn {
        width: 310px; }
      body.top #contents .support .bnr p {
        font-size: 18px;
        line-height: 1.667;
        padding-bottom: 45px; } }
@media screen and (min-width: 1600px) {
  body.top #contents .kv {
    height: 600px;
    background: url("/images/top/mv@2x.jpg") no-repeat center center/cover; }
    body.top #contents .kv img {
      display: none; } }
