.slick-slide.moving img {
  -webkit-animation: zoomUp 10s linear 0s;
  animation: zoomUp 8s linear 0s; }

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); } }
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); } }
.more_btn {
  display: flex;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end; }
  .more_btn .after-foot {
    padding-right: 50px;
    width: 230px; }
  .more_btn a img {
    width: 254px; }
  .more_btn.center {
    -webkit-justify-content: center;
    justify-content: center; }

.ttl {
  text-align: center;
  padding-bottom: 40px; }
  .ttl span {
    display: block; }
    .ttl span.main_ttl {
      font-size: 28px;
      font-size: 2.8rem;
      font-weight: bold;
      line-height: 1;
      padding-top: 20px; }
      .ttl span.main_ttl .new {
        width: 180px; }
      .ttl span.main_ttl .message {
        width: 140px; }
    .ttl span.sub_ttl {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1;
      padding-top: 20px;
      font-weight: normal; }

#main {
  margin-bottom: 70px;
  position: relative; }
  #main h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10;
    padding-bottom: 0; }
    #main h2 span {
      display: inline-block;
      background-color: #fff;
      font-size: 36px;
      font-size: 3.6rem;
      padding: 0.2em 0.5em; }
      #main h2 span.jp {
        margin-top: 18px; }
  #main #slide img {
    width: 100%;
    height: auto; }

#new {
  padding-bottom: 110px; }

.new_continar {
  border: 1px solid #BBBBBB;
  padding: 35px 65px; }
  .new_continar dl {
    padding-bottom: 2em; }
    .new_continar dl:last-of-type {
      padding-bottom: 0; }
    .new_continar dl dt {
      font-weight: bold;
      padding-bottom: 1em; }
      .new_continar dl dt .date {
        padding-right: 2em;
        letter-spacing: 0.05em;
        display: inline-block; }
    .new_continar dl dd {
      line-height: 1.5; }

#service {
  background-color: #f2f2f2;
  padding: 30px;
  display: flex;
  flex-wrap: wrap; }
  #service .txt {
    width: 47.5%;
    text-align: center; }
    #service .txt h4 {
      font-weight: bold;
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1.5;
      padding: 30px 0; }
    #service .txt p {
      max-width: 400px;
      width: 100%;
      margin: 0 auto;
      line-height: 1.5; }
      #service .txt p.name {
        font-weight: bold;
        padding-top: 30px;
        line-height: 1; }
  #service .photo {
    width: 52.5%; }

#message {
  padding-top: 135px;
  padding-bottom: 100px; }

.message_li {
  display: flex;
  flex-wrap: wrap;
  margin-left: -60px; }
  .message_li li {
    width: calc(33.333% - 60px);
    margin-left: 60px;
    margin-bottom: 50px; }
    .message_li li img {
      width: 100%;
      height: auto; }
    .message_li li p.message_ttl {
      font-size: 14px;
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.5;
      padding: 0.8em 0 0.5em; }
    .message_li li p.message_name {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.5; }

#application {
  padding-bottom: 130px; }
  #application .application_block {
    position: relative;
    display: block; }
    #application .application_block img {
      width: 100%; }
    #application .application_block p {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      text-align: center;
      background-color: #fff;
      width: 530px;
      line-height: 1.5;
      padding: 1em 0; }
  #application .appeal_block {
    display: flex;
    flex-wrap: wrap;
    padding: 70px 20px;
    margin-left: -45px; }
    #application .appeal_block dl {
      width: calc(33.333% - 45px);
      margin-left: 45px;
      border: 1px solid #BBBBBB;
      position: relative;
      padding: 30px 0;
      text-align: center; }
      #application .appeal_block dl:before {
        content: "";
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        border: 1px solid #BBBBBB;
        top: 4px;
        left: 4px;
        position: absolute; }
      #application .appeal_block dl dt {
        font-weight: bold;
        padding-bottom: 25px; }
        #application .appeal_block dl dt span {
          padding-top: 10px;
          display: block;
          font-size: 30px;
          font-size: 3.0rem;
          letter-spacing: 0.1em; }
      #application .appeal_block dl dd {
        line-height: 1.5; }

@media screen and (max-width: 1300px) {
  h2 {
    padding-bottom: calc(50 / 1300 * 100vw); }
    h2 .jp {
      font-size: calc(14 / 1300 * 100vw);
      padding-top: calc(20 / 1300 * 100vw); }

  .more_btn .after-foot {
    padding-right: calc(50 / 1300 * 100vw);
    width: calc(230 / 1300 * 100vw); }
  .more_btn a img {
    width: calc(254 / 1300 * 100vw); }
  .more_btn.center {
    width: calc(520 / 1300 * 100vw);
    margin: 0 auto; }

  .ttl {
    padding-bottom: calc(30 / 1300 * 100vw); }
    .ttl span.main_ttl {
      font-size: calc(28 / 1300 * 100vw);
      padding-top: calc(20 / 1300 * 100vw); }
      .ttl span.main_ttl .new {
        width: calc(180 / 1300 * 100vw); }
      .ttl span.main_ttl .message {
        width: calc(140 / 1300 * 100vw); }
    .ttl span.sub_ttl {
      font-size: calc(14 / 1300 * 100vw);
      padding-top: calc(10 / 1300 * 100vw); }

  #main {
    margin-bottom: calc(70 / 1300 * 100vw); }
    #main h2 {
      padding-bottom: 0; }
      #main h2 span {
        font-size: calc(36 / 1300 * 100vw); }
        #main h2 span.jp {
          margin-top: calc(18 / 1300 * 100vw); }

  #new {
    padding-bottom: calc(110 / 1300 * 100vw); }

  .new_continar {
    padding: calc(35 / 1300 * 100vw) calc(65 / 1300 * 100vw); }

  #service {
    padding: calc(30 / 1300 * 100vw); }
    #service .txt h4 {
      font-size: calc(32 / 1300 * 100vw);
      padding: calc(30 / 1300 * 100vw) 0; }
    #service .txt p {
      max-width: 100%;
      width: calc(400 / 1300 * 100vw); }
      #service .txt p.name {
        padding-top: calc(30 / 1300 * 100vw); }

  #message {
    padding-top: calc(135 / 1300 * 100vw);
    padding-bottom: calc(100 / 1300 * 100vw); }

  .message_li {
    margin-left: -4.6vw; }
    .message_li li {
      width: calc(33.333% - 4.6vw);
      margin-left: 4.6vw;
      margin-bottom: calc(50 / 1300 * 100vw); }
      .message_li li p.message_ttl {
        font-size: calc(14 / 1300 * 100vw); }
      .message_li li p.message_name {
        font-size: calc(12 / 1300 * 100vw); }

  #application {
    padding-bottom: 130px; }
    #application .application_block p {
      width: calc(530 / 1300 * 100vw);
      font-size: calc(16 / 1300 * 100vw); }
    #application .appeal_block {
      padding: calc(70 / 1300 * 100vw) calc(20 / 1300 * 100vw);
      margin-left: -3.4vw; }
      #application .appeal_block dl {
        width: calc(33.333% - 3.4vw);
        margin-left: 3.4vw;
        padding: calc(30 / 1300 * 100vw) 0; }
        #application .appeal_block dl dt {
          padding-bottom: calc(25 / 1300 * 100vw); }
          #application .appeal_block dl dt span {
            padding-top: calc(10 / 1300 * 100vw);
            font-size: calc(30 / 1300 * 100vw); }
        #application .appeal_block dl dd {
          font-size: calc(16 / 1300 * 100vw); } }
@media screen and (max-width: 768px) {
  h2 {
    padding-bottom: calc(70 / 768 * 100vw); }
    h2 .en {
      width: calc(406 / 768 * 100vw);
      margin: 0 auto; }
    h2 .jp {
      font-size: calc(24 / 768 * 100vw);
      padding-top: calc(25 / 768 * 100vw); }

  .more_btn .after-foot {
    padding-right: calc(40 / 768 * 100vw);
    width: calc(260 / 768 * 100vw); }
  .more_btn a img {
    width: calc(425 / 768 * 100vw); }
  .more_btn.center {
    padding-right: 0;
    width: 100%;
    background-color: #fff; }

  .ttl {
    padding-bottom: calc(80 / 768 * 100vw); }
    .ttl img {
      width: calc(100 / 768 * 100vw); }
    .ttl span.main_ttl {
      font-size: calc(56 / 768 * 100vw);
      padding-top: calc(40 / 768 * 100vw); }
      .ttl span.main_ttl .new {
        width: calc(360 / 768 * 100vw); }
      .ttl span.main_ttl .message {
        width: calc(270 / 768 * 100vw); }
    .ttl span.sub_ttl {
      font-size: calc(24 / 768 * 100vw);
      padding-top: calc(30 / 768 * 100vw); }

  #main {
    margin-bottom: calc(70 / 768 * 100vw); }
    #main h2 {
      padding-bottom: 0; }
      #main h2 span {
        font-size: calc(48 / 768 * 100vw); }
        #main h2 span.jp {
          margin-top: calc(20 / 768 * 100vw); }

  #new {
    padding: 0 calc(24 / 768 * 100vw) calc(125 / 768 * 100vw); }

  .new_continar {
    padding: calc(40 / 768 * 100vw) calc(30 / 768 * 100vw); }
    .new_continar dl {
      font-size: calc(28 / 768 * 100vw); }
      .new_continar dl dt {
        line-height: 1.5; }
        .new_continar dl dt .date {
          width: 100%;
          display: block;
          padding-bottom: 0.5em; }

  #service {
    padding: calc(80 / 768 * 100vw) calc(30 / 768 * 100vw) calc(65 / 768 * 100vw); }
    #service .txt {
      width: 100%;
      padding-bottom: calc(50 / 768 * 100vw); }
      #service .txt h4 {
        font-size: calc(48 / 768 * 100vw);
        padding: 0 0 calc(60 / 768 * 100vw);
        line-height: 1.66; }
      #service .txt p {
        max-width: 100%;
        width: 100%;
        text-align: left;
        font-size: calc(28 / 768 * 100vw);
        line-height: 1.8; }
        #service .txt p.name {
          padding-top: calc(40 / 768 * 100vw);
          text-align: center; }
    #service .photo {
      width: 100%;
      text-align: center; }
      #service .photo img {
        width: calc(600 / 768 * 100vw); }

  #message {
    padding: calc(140 / 768 * 100vw) calc(30 / 768 * 100vw) calc(190 / 768 * 100vw); }

  .message_li {
    margin-left: -6.5vw; }
    .message_li li {
      width: calc(50% - 6.5vw);
      margin-left: 6.5vw;
      margin-bottom: calc(60 / 768 * 100vw); }
      .message_li li p.message_ttl {
        font-size: calc(24 / 768 * 100vw); }
      .message_li li p.message_name {
        font-size: calc(24 / 768 * 100vw); }

  #application {
    padding-bottom: calc(120 / 768 * 100vw); }
    #application .application_block p {
      width: calc(600 / 768 * 100vw);
      padding-left: calc(60 / 768 * 100vw);
      padding-right: calc(60 / 768 * 100vw);
      font-size: calc(28 / 768 * 100vw); }
    #application .appeal_block {
      padding: calc(55 / 768 * 100vw) calc(35 / 768 * 100vw);
      margin-left: 0; }
      #application .appeal_block dl {
        width: 100%;
        margin-left: 0;
        margin-bottom: calc(25 / 768 * 100vw);
        padding: calc(55 / 768 * 100vw) 0;
        display: flex;
        flex-wrap: wrap;
        -webkit-align-items: center;
        align-items: center; }
        #application .appeal_block dl dt {
          padding-bottom: 0;
          width: 25vw;
          text-align: center;
          font-size: calc(24 / 768 * 100vw); }
          #application .appeal_block dl dt span {
            padding-top: calc(10 / 768 * 100vw);
            font-size: calc(40 / 768 * 100vw); }
        #application .appeal_block dl dd {
          width: calc(100% - 25vw);
          padding: 0 calc(30 / 768 * 100vw);
          text-align: left;
          font-size: calc(28 / 768 * 100vw); } }
