html {
  font-size: 62.5%; }

body {
  margin: 0;
  line-height: 1.6;
  font-family: sans-serif;
  font-size: 15px;
  color: #000;
  -webkit-text-size-adjust: 100%; }

img {
  max-width: 100%;
  height: auto; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  font-weight: normal; }

dl, dt, dd {
  margin: 0;
  padding: 0; }

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none; }

table, tr, th, td {
  margin: 0;
  padding: 0;
  text-align: left;
  font-weight: normal;
  border-spacing: 0; }

a {
  text-decoration: none; }

button {
  background: none;
  border: none; }

:focus {
  outline: none; }

header {
  position: fixed;
  width: 100%;
  z-index: 200;
  background: #fff; }
  header #menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    padding: 16px 0 19px;
    width: 96%; }
    header #menu .site-title {
      line-height: 0;
      z-index: 51;
      position: relative; }
    header #menu .sp-link {
      display: none; }
    header #menu a {
      color: #000; }
    header #menu nav {
      margin: 0 auto; }
      header #menu nav ul {
        display: flex; }
        header #menu nav ul li {
          margin-right: 4rem;
          font-size: 1.6rem; }
          header #menu nav ul li.pc-last {
            margin-right: 0; }
          header #menu nav ul li.sp_h-tel {
            display: none; }
          header #menu nav ul li a {
            position: relative; }
            header #menu nav ul li a:after {
              content: '';
              position: absolute;
              left: 0;
              bottom: 0;
              background: #1e17a8;
              width: 100%;
              height: 1px;
              transform: scale(0, 1);
              transition: .4s transform; }
            header #menu nav ul li a:hover:after {
              transform: scale(1); }
            header #menu nav ul li a.current:after {
              transform: scale(1); }
    header #menu .h-tel {
      background: url("../img/common/icon_tel.png") no-repeat center left/20px 21px;
      font-weight: bold;
      padding-left: 30px;
      font-family: "Barlow Condensed", sans-serif;
      font-size: 3.4rem; }

main {
  width: 100%;
  overflow-x: hidden; }
  main .wrapper {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto; }
    @media screen and (max-width: 810px) {
      main .wrapper {
        width: 85%; } }
    @media screen and (max-width: 500px) {
      main .wrapper {
        width: 100%;
        box-sizing: border-box; } }
  main .wrapper-min {
    max-width: 840px;
    width: 90%;
    margin: 0 auto; }
    @media screen and (max-width: 810px) {
      main .wrapper-min {
        width: 85%; } }
    @media screen and (max-width: 500px) {
      main .wrapper-min {
        width: 100%;
        box-sizing: border-box; } }
  main .back-gray {
    background: #ebebee; }
  main .back-blue {
    background: #1e17a8;
    color: #fff; }
  main .back-dark {
    background: #202020;
    color: #fff; }
  main .title01 {
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 4.2rem; }
  main .title02 {
    text-align: center;
    font-weight: bold;
    font-size: 2rem; }
  main .btn {
    position: relative;
    display: block;
    overflow: hidden;
    height: 56px;
    box-sizing: border-box;
    border-radius: 3rem; }
    main .btn .b-text {
      text-align: center;
      font-weight: bold;
      display: block;
      padding: 15px 5px;
      z-index: 2;
      position: relative; }
  main .btn:before, main .btn:after, main .btn .back:before, main .btn .back:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-color: rgba(255, 255, 255, 0.6);
    transition: 0.4s ease-in-out; }
  main .btn:after, main .btn .back:before {
    top: auto;
    bottom: 0; }
  main .btn .back:before, main .btn .back:after {
    transition-delay: 0.4s;
    z-index: 1; }
  main .btn:hover:before, main .btn:hover:after, main .btn:hover .back:before, main .btn:hover .back:after {
    height: 56px; }
  main .btn:active {
    background-color: #fff; }
  main #secondpage {
    padding-top: 9rem; }
    main #secondpage .second-title {
      text-align: center;
      padding: 2rem 0 3rem;
      margin-bottom: 5rem;
      color: #fff;
      background: #1e17a8; }
      main #secondpage .second-title p {
        font-size: 8rem;
        font-family: "Barlow Condensed", sans-serif;
        line-height: 10rem; }
      main #secondpage .second-title h1 {
        font-size: 2rem; }
    main #secondpage .second-wrap {
      padding: 0 5% 9rem; }

footer .f-contact {
  padding: 0 3rem 3rem;
  color: #fff;
  text-align: center; }
  footer .f-contact .f-contact-inner {
    padding: 4rem 5% 6rem;
    background: url("../img/common/bg_contact.jpg") no-repeat center/cover; }
    footer .f-contact .f-contact-inner h2 {
      font-family: "Barlow Condensed", sans-serif;
      font-size: 6rem;
      letter-spacing: 1rem; }
    footer .f-contact .f-contact-inner div {
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1000px;
      width: 90%;
      margin: 0 auto;
      margin-top: 2rem; }
      @media screen and (max-width: 810px) {
        footer .f-contact .f-contact-inner div {
          width: 85%; } }
      @media screen and (max-width: 500px) {
        footer .f-contact .f-contact-inner div {
          width: 100%;
          box-sizing: border-box; } }
      footer .f-contact .f-contact-inner div dl {
        width: calc(33.333% - 11rem/3); }
        footer .f-contact .f-contact-inner div dl:nth-child(2) {
          margin: 0 55px;
          padding: 0 54px;
          border-left: 1px solid #fff;
          border-right: 1px solid #fff; }
        footer .f-contact .f-contact-inner div dl dd {
          font-family: "Barlow Condensed", sans-serif;
          letter-spacing: 0.09rem; }
          footer .f-contact .f-contact-inner div dl dd a {
            color: #fff; }
        footer .f-contact .f-contact-inner div dl.f-con_tel dd a, footer .f-contact .f-contact-inner div dl.f-con_tel dd span {
          font-size: 5.3rem;
          line-height: 6.3rem; }
        footer .f-contact .f-contact-inner div dl.f-con_link dt {
          margin-bottom: 1rem; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn {
          position: relative;
          display: block;
          overflow: hidden;
          height: 56px;
          box-sizing: border-box;
          background: #b50005; }
          footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .b-text {
            text-align: center;
            font-weight: bold;
            display: block;
            padding: 15px 5px;
            z-index: 2;
            position: relative; }
          footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .b-text {
            background: url("../img/common/icon_arrow_w.png") no-repeat center right 25px/12px;
            font-weight: normal;
            font-size: 2rem;
            padding: 11px 5px; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn-r {
          border: 1px solid #b50005; }
          footer .f-contact .f-contact-inner div dl.f-con_link dd .btn-r:hover {
            color: #b50005; }
            footer .f-contact .f-contact-inner div dl.f-con_link dd .btn-r:hover .b-text {
              background: url("../img/common/icon_arrow_r.png") no-repeat center right 25px/12px; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:before, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:after, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .back:before, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .back:after {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 0;
          background-color: rgba(255, 255, 255, 0.6);
          transition: 0.4s ease-in-out; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:after, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .back:before {
          top: auto;
          bottom: 0; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .back:before, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn .back:after {
          transition-delay: 0.4s;
          z-index: 1; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:hover:before, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:hover:after, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:hover .back:before, footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:hover .back:after {
          height: 56px; }
        footer .f-contact .f-contact-inner div dl.f-con_link dd .btn:active {
          background-color: #fff; }
footer .top-item {
  display: flex; }
  footer .top-item .rising, footer .top-item .duskin {
    width: 50%;
    color: #fff;
    padding: 60px 0; }
    footer .top-item .rising dl, footer .top-item .duskin dl {
      width: 100%;
      display: flex; }
      footer .top-item .rising dl dd p:first-child, footer .top-item .duskin dl dd p:first-child {
        font-weight: bold; }
      footer .top-item .rising dl dd .mini, footer .top-item .duskin dl dd .mini {
        font-size: 1.2rem; }
        footer .top-item .rising dl dd .mini p, footer .top-item .duskin dl dd .mini p {
          font-weight: normal; }
  footer .top-item .rising {
    background: #ebebee;
    color: #000; }
    footer .top-item .rising dl {
      max-width: 48rem;
      margin: 0 50px 0 auto; }
      footer .top-item .rising dl dt {
        margin-right: 25px;
        width: 185px;
        height: 34px; }
      footer .top-item .rising dl dd {
        max-width: 267px;
        width: 100%; }
  footer .top-item .duskin {
    background: #202020; }
    footer .top-item .duskin dl {
      max-width: 44rem;
      margin: 0 auto 0 50px; }
      footer .top-item .duskin dl dt {
        margin-right: 45px;
        width: 145px;
        height: 52px; }
      footer .top-item .duskin dl dd {
        max-width: 225px;
        width: 100%; }
        footer .top-item .duskin dl dd .f-box {
          display: flex;
          align-items: center;
          justify-content: space-between; }
          footer .top-item .duskin dl dd .f-box p {
            margin-right: 2rem; }
          footer .top-item .duskin dl dd .f-box a {
            transition: opacity .3s;
            line-height: 0; }
            footer .top-item .duskin dl dd .f-box a:hover {
              opacity: .5; }
footer .under-item {
  background: #000;
  color: #666666;
  position: relative;
  overflow: hidden; }
  footer .under-item .f-slide {
    padding: 2rem 0;
    overflow: hidden;
    width: 1948px !important;
    height: 165px; }
    footer .under-item .f-slide .slick-slide {
      width: 1948px !important;
      height: 125px;
      background: url("../img/common/img_footer-text.png") no-repeat left top/cover; }
  footer .under-item .texts {
    display: flex;
    padding: 0 3rem 3rem;
    font-size: 1.2rem; }
    footer .under-item .texts a {
      margin-left: 25px;
      color: #666666;
      text-decoration: underline;
      transition: opacity .3s; }
      footer .under-item .texts a:hover {
        opacity: .5; }

.totop {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 105;
  line-height: 0; }

a[href^="tel:"] {
  pointer-events: none; }

@media screen and (max-width: 1290px) {
  footer .f-contact .f-contact-inner div {
    justify-content: center; }
    footer .f-contact .f-contact-inner div dl:nth-child(2) {
      margin: 0 20px;
      padding: 0 19px; } }
@media screen and (max-width: 1155px) {
  footer .f-contact .f-contact-inner {
    padding: 4rem 5%; }
    footer .f-contact .f-contact-inner h2 {
      font-size: 6rem; }
    footer .f-contact .f-contact-inner div {
      display: block;
      margin: 2rem auto 0;
      max-width: 40rem; }
      footer .f-contact .f-contact-inner div dl {
        width: 100%; }
        footer .f-contact .f-contact-inner div dl:nth-child(2) {
          margin: 3rem 0;
          padding: 3rem 0;
          border-left: none;
          border-right: none;
          border-top: 1px solid #fff;
          border-bottom: 1px solid #fff; }
        footer .f-contact .f-contact-inner div dl dd a {
          max-width: 30rem;
          width: 100%;
          margin: 0 auto; } }
@media screen and (max-width: 1000px) {
  a[href^="tel:"] {
    pointer-events: fill; }

  header #menu {
    position: relative;
    padding: 10px 0 10px 5%;
    width: 100%;
    box-sizing: border-box; }
    header #menu .site-title {
      margin: 0 auto 0 0; }
      header #menu .site-title img {
        height: 3rem;
        width: auto; }
    header #menu .sp-link {
      display: inline;
      background: #1e17a8;
      padding: 16px 10px 10px;
      text-align: center;
      width: 50px;
      height: 50px;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      right: 50px;
      z-index: 51; }
    header #menu nav {
      margin: 0 3rem 0 auto; }
      header #menu nav ul {
        position: fixed;
        overflow-y: scroll;
        right: -35rem;
        top: 0;
        width: 35rem;
        height: 110vh;
        background-color: #fff;
        transition: .3s;
        max-width: 100%;
        padding: 8rem 3rem 3rem;
        z-index: 50;
        box-sizing: border-box;
        display: block !important; }
        header #menu nav ul.open {
          right: 0;
          top: 0; }
        header #menu nav ul li {
          margin-right: 0;
          border-bottom: 1px solid #1e17a8;
          margin-bottom: 3rem; }
          header #menu nav ul li a {
            position: relative;
            display: block;
            text-align: center;
            padding-bottom: 1rem;
            transition: color .3s; }
            header #menu nav ul li a:after {
              content: none;
              transition: none; }
            header #menu nav ul li a:hover {
              color: #b50005; }
            header #menu nav ul li a.current {
              color: #b50005; }
          header #menu nav ul li.sp_h-tel {
            position: relative;
            z-index: 1;
            display: block;
            border: none; }
            header #menu nav ul li.sp_h-tel a {
              padding: 1.2rem 0.5rem;
              font-size: 2rem;
              font-weight: bold;
              border: 1px solid #1e17a8; }
              header #menu nav ul li.sp_h-tel a span {
                background: url("../img/common/icon_tel.png") no-repeat center left/25px;
                padding: 10px 0 10px 35px; }
    header #menu p {
      display: none; }
  header .res_menu_btn {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 20px;
    padding: 0;
    z-index: 100;
    cursor: pointer; }
  header .res_btn_line {
    display: block;
    position: relative;
    width: 100%;
    height: 2px;
    background-color: #1e17a8;
    transition: .2s; }
    header .res_btn_line::before, header .res_btn_line::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #1e17a8;
      transition: .5s; }
    header .res_btn_line::before {
      transform: translate(-13px, -9px); }
    header .res_btn_line::after {
      transform: translate(-13px, 9px); }
    header .res_btn_line.open {
      background-color: transparent; }
      header .res_btn_line.open::before, header .res_btn_line.open::after {
        content: "";
        background-color: #1e17a8;
        transition: .2s;
        right: 0; }
      header .res_btn_line.open::before {
        transform: rotate(45deg); }
      header .res_btn_line.open::after {
        transform: rotate(-45deg); }

  .noscroll .overlay {
    opacity: 0.7;
    display: block; }

  .overlay {
    background-color: #000;
    cursor: pointer;
    height: 100vh;
    top: 0;
    left: 0;
    position: fixed;
    width: 100vw;
    z-index: 80;
    display: none; }

  footer .top-item {
    display: block; }
    footer .top-item .rising, footer .top-item .duskin {
      width: 100%;
      padding: 3rem 5%;
      box-sizing: border-box; }
      footer .top-item .rising dl, footer .top-item .duskin dl {
        width: 270px;
        display: block;
        text-align: center;
        max-width: 100%;
        margin: 0 auto; }
        footer .top-item .rising dl dt, footer .top-item .duskin dl dt {
          margin: 0 auto; }
        footer .top-item .rising dl dd, footer .top-item .duskin dl dd {
          max-width: 100%;
          margin: 2rem auto 0; }
    footer .top-item .duskin dl dd .f-box {
      justify-content: center; }
  footer .under-item .texts {
    flex-direction: column-reverse;
    text-align: center; }
    footer .under-item .texts a {
      margin: 0 auto 1rem; } }
@media screen and (max-width: 700px) {
  main #secondpage {
    padding-top: 5rem; }
    main #secondpage .second-title {
      padding: 2rem 0;
      margin-bottom: 5rem; }
      main #secondpage .second-title p {
        font-size: 4rem;
        line-height: 5rem; }
      main #secondpage .second-title h1 {
        font-size: 1.5rem; }
    main #secondpage .second-wrap {
      padding: 0 5% 5rem; }
  main .title01 {
    font-size: 2rem; }

  footer .f-contact .f-contact-inner h2 {
    font-size: 4rem; }
  footer .f-contact .f-contact-inner div dl.f-con_tel dd {
    margin-top: 1rem; }
    footer .f-contact .f-contact-inner div dl.f-con_tel dd a, footer .f-contact .f-contact-inner div dl.f-con_tel dd span {
      font-size: 4rem;
      line-height: 3rem; }
  footer .top-item {
    display: block; }
    footer .top-item .rising, footer .top-item .duskin {
      width: 100%;
      padding: 3rem 5%;
      box-sizing: border-box; }
      footer .top-item .rising dl, footer .top-item .duskin dl {
        width: 100%;
        display: block;
        text-align: center;
        max-width: 100%;
        margin: 0 auto; }
        footer .top-item .rising dl dt, footer .top-item .duskin dl dt {
          margin: 0 auto; }
        footer .top-item .rising dl dd, footer .top-item .duskin dl dd {
          max-width: 100%;
          margin: 2rem auto 0; }
  footer .under-item .texts {
    flex-direction: column-reverse;
    text-align: center; }
    footer .under-item .texts a {
      margin: 0 auto 1rem; } }
@media screen and (max-width: 570px) {
  header #menu nav ul {
    right: -100%;
    width: 100%; }

  .btn-g {
    font-size: 1.6rem;
    line-height: 3rem; }
    .btn-g span {
      background-position: top 7px right; } }
@media screen and (max-width: 500px) {
  main .second-wrap {
    padding: 0 2rem 5rem; }

  footer .f-contact {
    padding: 0 2rem 3rem; } }
