@charset "UTF-8";
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
*, *:before, *:after {
  box-sizing: border-box; }

html {
  text-size-adjust: 100%;
  font-size: 62.5%; }

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  background: #fff;
  font-size: 1.6rem;
  scrollbar-width: thin;
  scrollbar-color: #0172c5 #e5f4ff; }

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
figure {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

fieldset,
img {
  border: 0; }

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal; }

ol,
ul {
  list-style: none; }

caption,
th {
  text-align: left; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

q:before,
q:after {
  content: ""; }

abbr,
acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input,
textarea,
select,
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  /**font-size: 100%;
  border-radius: 0;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: inherit;*/ }

textarea {
  resize: vertical;
  display: block; }

button {
  padding: 0;
  cursor: pointer; }

legend {
  color: #000; }

main {
  position: relative;
  /*padding:ww(80) 0 0;
  
  @include pc{
    padding:80px 0 0;
  }
  @include mid{
    padding:ww(80) 0 0;
  }
  @include sm{
    padding:tw(60) 0 0;
  }
  @include sp{
    padding:sw(60) 0 0;
  }*/ }

a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s ease; }
  a:hover {
    opacity: .6; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

svg {
  display: block; }

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  font-feature-settings: "palt";
  image-rendering: -webkit-optimize-contrast; }

*::before,
*::after {
  box-sizing: border-box; }

::-webkit-scrollbar {
  width: 0.5vw; }
  @media screen and (min-width: 1201px) {
    ::-webkit-scrollbar {
      width: 6px; } }
  @media screen and (max-width: 768px) {
    ::-webkit-scrollbar {
      width: 1.0666666667vw; } }

::-webkit-scrollbar-track {
  background-color: #fff; }

::-webkit-scrollbar-thumb {
  background-color: #0172c5; }

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; } }

.hidden {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: inline-block; }

.move {
  transition: all 1s ease;
  opacity: 0;
  transform: translate(0, 3.3333333333vw);
  -webkit-transform: translate(0, 3.3333333333vw); }
  @media screen and (min-width: 1201px) {
    .move {
      transform: translate(0, 40px);
      -webkit-transform: translate(0, 40px); } }
  @media screen and (max-width: 768px) {
    .move {
      transform: translate(0, 5.3333333333vw);
      -webkit-transform: translate(0, 5.3333333333vw); } }

.move-in {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

#wrapper {
  width: calc(100vw - calc(100vw - 100%));
  overflow: hidden;
  position: relative; }

.inner {
  margin: 0 auto;
  padding: 0 3.3333333333vw;
  width: 100vw; }
  @media screen and (min-width: 1201px) {
    .inner {
      width: 1200px;
      padding: 0; } }
  @media screen and (max-width: 768px) {
    .inner {
      width: auto;
      padding: 0 5.3333333333vw; } }

header {
  width: 100vw;
  transition: 0.3s ease;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  height: 15vw;
  font-weight: 500;
  color: #fff; }
  @media screen and (min-width: 1201px) {
    header {
      height: 180px; } }
  @media screen and (max-width: 768px) {
    header {
      height: 16vw; } }
  header .wrap {
    display: flex;
    justify-content: space-between;
    align-items: start; }
  header .header-logo h1 {
    position: absolute;
    top: 2.5vw;
    left: 3.75vw; }
    @media screen and (min-width: 1201px) {
      header .header-logo h1 {
        top: 30px;
        left: 45px; } }
    @media screen and (max-width: 768px) {
      header .header-logo h1 {
        top: 1.3333333333vw;
        left: 5.3333333333vw; } }
    header .header-logo h1 a {
      display: inline-block; }
    header .header-logo h1 small {
      display: block;
      font-size: 1.1666666667vw;
      margin: 0 0 1em; }
      @media screen and (min-width: 1201px) {
        header .header-logo h1 small {
          font-size: 14px; } }
      @media screen and (max-width: 768px) {
        header .header-logo h1 small {
          font-size: 1.6533333333vw; } }
    header .header-logo h1 strong {
      display: block;
      background: url(../img/logo.png) no-repeat center/contain;
      width: 21.625vw;
      height: 5.75vw; }
      @media screen and (min-width: 1201px) {
        header .header-logo h1 strong {
          width: 259.5px;
          height: 69px; } }
      @media screen and (max-width: 768px) {
        header .header-logo h1 strong {
          width: 29.8666666667vw;
          height: 8vw; } }
  header .header-links {
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 2.5vw 2.5vw 0 0; }
    @media screen and (min-width: 1201px) {
      header .header-links {
        padding: 30px 30px 0 0; } }
    @media screen and (max-width: 768px) {
      header .header-links {
        padding: 2.6666666667vw 5.3333333333vw 0 0;
        align-items: start; } }
    header .header-links .header-links-blk .header-tel {
      display: flex;
      align-items: center;
      justify-content: end;
      margin: 0 0 2.5vw; }
      @media screen and (min-width: 1201px) {
        header .header-links .header-links-blk .header-tel {
          margin: 0 0 30px; } }
      @media screen and (max-width: 768px) {
        header .header-links .header-links-blk .header-tel {
          margin: 0; } }
      header .header-links .header-links-blk .header-tel .tel a {
        line-height: 1;
        display: inline-block;
        font-family: "Roboto", sans-serif;
        font-weight: 400;
        font-size: 2.8333333333vw;
        padding: 0 0 0 2.6666666667vw;
        background: url(../img/header-tel.png) no-repeat bottom 0.1666666667vw left/1.7916666667vw auto; }
        @media screen and (min-width: 1201px) {
          header .header-links .header-links-blk .header-tel .tel a {
            font-size: 34px;
            padding: 0 0 0 32px;
            background-size: 21.5px auto;
            background-position: bottom 2px left; } }
        @media screen and (max-width: 768px) {
          header .header-links .header-links-blk .header-tel .tel a {
            font-size: 0;
            width: 10.6666666667vw;
            height: 10.6666666667vw;
            background: #000 url(../img/header-tel.png) no-repeat center/4.2666666667vw auto;
            padding: 0;
            border-radius: 50%;
            overflow: hidden;
            text-indent: 100%;
            white-space: nowrap; } }
      header .header-links .header-links-blk .header-tel p {
        font-size: 1vw;
        margin: 0 0 0 1em; }
        @media screen and (min-width: 1201px) {
          header .header-links .header-links-blk .header-tel p {
            font-size: 12px; } }
        @media screen and (max-width: 768px) {
          header .header-links .header-links-blk .header-tel p {
            display: none; } }
    @media screen and (max-width: 768px) {
      header .header-links #header-navi {
        display: none; } }
    header .header-links #header-navi ul {
      display: flex;
      align-items: center;
      gap: 2.9166666667vw; }
      @media screen and (min-width: 1201px) {
        header .header-links #header-navi ul {
          gap: 35px; } }
      header .header-links #header-navi ul li a {
        display: block;
        position: relative;
        text-align: center; }
        header .header-links #header-navi ul li a:before {
          content: "";
          position: absolute;
          bottom: -0.8333333333vw;
          left: 50%;
          width: 0;
          height: 0.0833333333vw;
          background-color: #fff;
          transition: 0.3s ease; }
          @media screen and (min-width: 1201px) {
            header .header-links #header-navi ul li a:before {
              bottom: -10px;
              height: 1px; } }
        header .header-links #header-navi ul li a:hover {
          opacity: 1; }
          header .header-links #header-navi ul li a:hover:before {
            left: 0;
            width: 100%; }
      header .header-links #header-navi ul li span {
        font-size: 1.6666666667vw;
        font-weight: 500;
        font-family: "Roboto", sans-serif;
        display: block; }
        @media screen and (min-width: 1201px) {
          header .header-links #header-navi ul li span {
            font-size: 20px; } }
      header .header-links #header-navi ul li small {
        font-size: 1.1666666667vw;
        display: block; }
        @media screen and (min-width: 1201px) {
          header .header-links #header-navi ul li small {
            font-size: 14px; } }
    header .header-links .header-contact {
      margin: 0 0 0 2.5vw; }
      @media screen and (min-width: 1201px) {
        header .header-links .header-contact {
          margin: 0 0 0 30px; } }
      @media screen and (max-width: 768px) {
        header .header-links .header-contact {
          margin: 0 10.6666666667vw 0 2.6666666667vw; } }
      header .header-links .header-contact a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 10vw;
        height: 10vw;
        background-color: #0172c5;
        border-radius: 50%; }
        @media screen and (min-width: 1201px) {
          header .header-links .header-contact a {
            width: 120px;
            height: 120px; } }
        @media screen and (max-width: 768px) {
          header .header-links .header-contact a {
            width: 10.6666666667vw;
            height: 10.6666666667vw;
            overflow: hidden;
            text-indent: 100%;
            white-space: nowrap; } }
        header .header-links .header-contact a span {
          font-size: 1.1666666667vw;
          padding: 2.5vw 0 0;
          background: url(../img/icon-mail.png) no-repeat center top/2.6666666667vw auto; }
          @media screen and (min-width: 1201px) {
            header .header-links .header-contact a span {
              font-size: 14px;
              padding: 30px 0 0;
              background-size: 32px auto; } }
          @media screen and (max-width: 768px) {
            header .header-links .header-contact a span {
              font-size: 0;
              padding: 0;
              height: 8vw;
              width: 8vw;
              background-position: center;
              background-size: 5.3333333333vw auto; } }
  header.fixed {
    background-color: rgba(0, 0, 0, 0.3); }

.header-menu {
  display: none;
  position: fixed;
  top: 1.0416666667vw;
  right: 1.5625vw;
  z-index: 10010; }
  @media screen and (min-width: 1201px) {
    .header-menu {
      top: 20px;
      right: 30px; } }
  @media screen and (max-width: 768px) {
    .header-menu {
      display: block;
      top: 2.6666666667vw;
      right: 2.6666666667vw; } }
  .header-menu a {
    display: block;
    width: 3.125vw;
    height: 3.125vw;
    /*background-color:$white;*/
    border-radius: 50%;
    position: relative; }
    @media screen and (min-width: 1201px) {
      .header-menu a {
        width: 60px;
        height: 60px; } }
    @media screen and (max-width: 768px) {
      .header-menu a {
        width: 10.6666666667vw;
        height: 10.6666666667vw; } }
    .header-menu a span {
      display: inline-block;
      width: 1.0416666667vw;
      height: 0.0520833333vw;
      background-color: #fff;
      position: absolute;
      left: 1.6666666667vw;
      transition: .3s ease; }
      @media screen and (min-width: 1201px) {
        .header-menu a span {
          width: 20px;
          height: 1px;
          left: 20px; } }
      @media screen and (max-width: 768px) {
        .header-menu a span {
          width: 5.3333333333vw;
          height: 0.5333333333vw;
          left: 2.6666666667vw; } }
      .header-menu a span:nth-child(1) {
        top: 1.0416666667vw;
        transform: translate(0, 0) rotate(0deg); }
        @media screen and (min-width: 1201px) {
          .header-menu a span:nth-child(1) {
            top: 20px; } }
        @media screen and (max-width: 768px) {
          .header-menu a span:nth-child(1) {
            top: 3.7333333333vw; } }
      .header-menu a span:nth-child(2) {
        top: 1.5625vw;
        transform: translate(0, 0); }
        @media screen and (min-width: 1201px) {
          .header-menu a span:nth-child(2) {
            top: 30px; } }
        @media screen and (max-width: 768px) {
          .header-menu a span:nth-child(2) {
            top: 5.0666666667vw; } }
      .header-menu a span:nth-child(3) {
        bottom: 1.0416666667vw;
        transform: translate(0, 0) rotate(0deg); }
        @media screen and (min-width: 1201px) {
          .header-menu a span:nth-child(3) {
            bottom: 20px; } }
        @media screen and (max-width: 768px) {
          .header-menu a span:nth-child(3) {
            bottom: 3.7333333333vw; } }
  .header-menu.active a {
    background-color: rgba(0, 0, 0, 0.2); }
    .header-menu.active a span {
      background-color: #fff; }
      .header-menu.active a span:nth-child(1) {
        transform: translate(0, 0.46875vw) rotate(45deg); }
        @media screen and (min-width: 1201px) {
          .header-menu.active a span:nth-child(1) {
            transform: translate(0, 9px) rotate(45deg); } }
        @media screen and (max-width: 768px) {
          .header-menu.active a span:nth-child(1) {
            transform: translate(0, 1.3333333333vw) rotate(45deg); } }
      .header-menu.active a span:nth-child(2) {
        opacity: 0;
        transform: translate(0.5208333333vw, 0); }
        @media screen and (min-width: 1201px) {
          .header-menu.active a span:nth-child(2) {
            transform: translate(10px, 0); } }
        @media screen and (max-width: 768px) {
          .header-menu.active a span:nth-child(2) {
            transform: translate(2.6666666667vw, 0); } }
      .header-menu.active a span:nth-child(3) {
        transform: translate(0, -0.46875vw) rotate(-45deg); }
        @media screen and (min-width: 1201px) {
          .header-menu.active a span:nth-child(3) {
            transform: translate(0, -9px) rotate(-45deg); } }
        @media screen and (max-width: 768px) {
          .header-menu.active a span:nth-child(3) {
            transform: translate(0, -1.3333333333vw) rotate(-45deg); } }

#gnavi {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  background-color: #0172c5;
  color: #fff; }
  #gnavi .gmenu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; }
    @media screen and (max-width: 768px) {
      #gnavi .gmenu {
        display: block; } }
    #gnavi .gmenu .wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 62.5vw;
      margin: 0 auto; }
      @media screen and (min-width: 1201px) {
        #gnavi .gmenu .wrap {
          width: 1200px; } }
      @media screen and (max-width: 768px) {
        #gnavi .gmenu .wrap {
          width: 100%;
          padding: 16vw 0 0; } }
    #gnavi .gmenu ul {
      width: 41.6666666667vw; }
      @media screen and (min-width: 1201px) {
        #gnavi .gmenu ul {
          width: 500px; } }
      @media screen and (max-width: 768px) {
        #gnavi .gmenu ul {
          width: 80%;
          margin: 0 auto; } }
      #gnavi .gmenu ul li {
        border-bottom: solid 0.0833333333vw rgba(255, 255, 255, 0.8); }
        @media screen and (min-width: 1201px) {
          #gnavi .gmenu ul li {
            border-bottom: solid 1px rgba(255, 255, 255, 0.8); } }
        @media screen and (max-width: 768px) {
          #gnavi .gmenu ul li {
            border-bottom: solid 0.2666666667vw rgba(255, 255, 255, 0.8); } }
        #gnavi .gmenu ul li a {
          color: #fff;
          display: block;
          padding: 1.6666666667vw 0; }
          @media screen and (min-width: 1201px) {
            #gnavi .gmenu ul li a {
              padding: 20px 0; } }
          @media screen and (max-width: 768px) {
            #gnavi .gmenu ul li a {
              padding: 2.6666666667vw 0; } }
          #gnavi .gmenu ul li a span {
            font-size: 1.0416666667vw;
            display: block; }
            @media screen and (min-width: 1201px) {
              #gnavi .gmenu ul li a span {
                font-size: 20px; } }
            @media screen and (max-width: 768px) {
              #gnavi .gmenu ul li a span {
                font-size: 3.7333333333vw; } }
          #gnavi .gmenu ul li a small {
            font-size: 0.8333333333vw;
            display: block;
            opacity: .6; }
            @media screen and (min-width: 1201px) {
              #gnavi .gmenu ul li a small {
                font-size: 16px; } }
            @media screen and (max-width: 768px) {
              #gnavi .gmenu ul li a small {
                font-size: 2.6666666667vw; } }

.pagetop {
  position: fixed;
  bottom: 2.5vw;
  right: 1.6666666667vw;
  z-index: 100; }
  @media screen and (min-width: 1201px) {
    .pagetop {
      bottom: 30px;
      right: 20px; } }
  @media screen and (max-width: 768px) {
    .pagetop {
      bottom: 5.3333333333vw;
      right: 5.3333333333vw; } }
  .pagetop img {
    width: 5.8333333333vw;
    height: auto; }
    @media screen and (min-width: 1201px) {
      .pagetop img {
        width: 70px; } }
    @media screen and (max-width: 768px) {
      .pagetop img {
        width: 9.3333333333vw; } }

.btn-common {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0172c5;
  color: #fff;
  text-align: center;
  width: 25vw;
  height: 5vw;
  border-radius: 5vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    .btn-common {
      width: 300px;
      height: 60px;
      border-radius: 60px; } }
  @media screen and (max-width: 768px) {
    .btn-common {
      width: 80vw;
      height: 16vw;
      border-radius: 16vw; } }
  .btn-common:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.6666666667vw;
    background: url(../img/btn-arrow.png) no-repeat center/contain;
    width: 1.7083333333vw;
    height: 1.2083333333vw;
    transform: translateY(-50%);
    transition: 0.3s ease; }
    @media screen and (min-width: 1201px) {
      .btn-common:after {
        right: 20px;
        width: 20.5px;
        height: 14.5px; } }
    @media screen and (max-width: 768px) {
      .btn-common:after {
        right: 5.3333333333vw;
        width: 5.4666666667vw;
        height: 3.8666666667vw; } }
  .btn-common span {
    display: inline-block;
    font-size: 1.3333333333vw;
    letter-spacing: .05em;
    font-weight: 500; }
    @media screen and (min-width: 1201px) {
      .btn-common span {
        font-size: 16px; } }
    @media screen and (max-width: 768px) {
      .btn-common span {
        font-size: 3.7333333333vw; } }
  .btn-common:hover {
    opacity: 1; }
    .btn-common:hover:after {
      right: 1.25vw; }
      @media screen and (min-width: 1201px) {
        .btn-common:hover:after {
          right: 15px; } }
      @media screen and (max-width: 768px) {
        .btn-common:hover:after {
          right: 4vw; } }
  .btn-common.btn-contact:after {
    content: none; }
  .btn-common.btn-contact span {
    padding: 0 0 0 4vw;
    background: url(../img/icon-mail.png) no-repeat center left/2.6666666667vw auto; }
    @media screen and (min-width: 1201px) {
      .btn-common.btn-contact span {
        padding: 0 0 0 48px;
        background-size: 32px auto; } }
    @media screen and (max-width: 768px) {
      .btn-common.btn-contact span {
        padding: 0 0 0 6.4vw;
        background-size: 4.2666666667vw auto; } }
  .btn-common.btn-contact:hover {
    opacity: .7; }

.content-ttl h2 {
  font-size: 6.6666666667vw;
  font-weight: bold;
  color: #0172c5;
  font-family: "Roboto", sans-serif;
  line-height: 1.1; }
  @media screen and (min-width: 1201px) {
    .content-ttl h2 {
      font-size: 80px; } }
  @media screen and (max-width: 768px) {
    .content-ttl h2 {
      font-size: 9.6vw; } }
.content-ttl p {
  font-size: 1.6666666667vw;
  font-weight: 600;
  letter-spacing: .05em; }
  @media screen and (min-width: 1201px) {
    .content-ttl p {
      font-size: 20px; } }
  @media screen and (max-width: 768px) {
    .content-ttl p {
      font-size: 4.2666666667vw; } }

#footer-links .wrap {
  display: flex; }
  @media screen and (max-width: 768px) {
    #footer-links .wrap {
      display: block; } }
#footer-links .footer-links-cnt {
  width: 50%;
  height: 41.6666666667vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: 0.3s ease;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #footer-links .footer-links-cnt {
      height: 500px; } }
  @media screen and (max-width: 768px) {
    #footer-links .footer-links-cnt {
      width: auto;
      height: 64vw; } }
  #footer-links .footer-links-cnt .footer-links-cnt__wrap .content-ttl {
    color: #fff; }
    #footer-links .footer-links-cnt .footer-links-cnt__wrap .content-ttl h2 {
      color: #fff; }
  #footer-links .footer-links-cnt .footer-links-cnt__wrap .btn {
    padding: 11.6666666667vw 0 0; }
    @media screen and (min-width: 1201px) {
      #footer-links .footer-links-cnt .footer-links-cnt__wrap .btn {
        padding: 140px 0 0; } }
    @media screen and (max-width: 768px) {
      #footer-links .footer-links-cnt .footer-links-cnt__wrap .btn {
        padding: 16vw 0 0; } }
    #footer-links .footer-links-cnt .footer-links-cnt__wrap .btn .btn-common {
      border: solid #fff 1px; }
  #footer-links .footer-links-cnt a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: start;
    padding: 0 8.3333333333vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10; }
    @media screen and (min-width: 1201px) {
      #footer-links .footer-links-cnt a {
        padding: 0 100px; } }
    @media screen and (max-width: 768px) {
      #footer-links .footer-links-cnt a {
        padding: 0 10.6666666667vw; } }
    #footer-links .footer-links-cnt a:hover {
      opacity: 1; }
  #footer-links .footer-links-cnt figure {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    #footer-links .footer-links-cnt figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: 0.3s ease; }
  #footer-links .footer-links-cnt:hover figure img {
    scale: 1.05; }
  #footer-links .footer-links-cnt:hover .btn-common:after {
    right: 1.25vw; }
    @media screen and (min-width: 1201px) {
      #footer-links .footer-links-cnt:hover .btn-common:after {
        right: 15px; } }
    @media screen and (max-width: 768px) {
      #footer-links .footer-links-cnt:hover .btn-common:after {
        right: 4vw; } }

#footer-contact {
  padding: 10.8333333333vw 0 15.4166666667vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #footer-contact {
      padding: 130px 0 185px; } }
  @media screen and (max-width: 768px) {
    #footer-contact {
      padding: 16vw 0 16vw; } }
  #footer-contact:before {
    content: "";
    position: absolute;
    top: 9.1666666667vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #footer-contact:before {
        top: 110px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #footer-contact:before {
        top: 13.3333333333vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #footer-contact .content-ttl {
    text-align: center;
    margin: 0 0 3.75vw; }
    @media screen and (min-width: 1201px) {
      #footer-contact .content-ttl {
        margin: 0 0 45px; } }
    @media screen and (max-width: 768px) {
      #footer-contact .content-ttl {
        margin: 0 0 8vw; } }
  #footer-contact .content-cnt {
    text-align: center; }
    #footer-contact .content-cnt h3 {
      font-size: 1.3333333333vw;
      font-weight: 600; }
      @media screen and (min-width: 1201px) {
        #footer-contact .content-cnt h3 {
          font-size: 16px; } }
      @media screen and (max-width: 768px) {
        #footer-contact .content-cnt h3 {
          font-size: 3.7333333333vw; } }
      #footer-contact .content-cnt h3 strong {
        font-size: 2vw;
        font-weight: bold;
        margin: 0 0 0 .5em; }
        @media screen and (min-width: 1201px) {
          #footer-contact .content-cnt h3 strong {
            font-size: 24px; } }
        @media screen and (max-width: 768px) {
          #footer-contact .content-cnt h3 strong {
            font-size: 4.8vw; } }
  #footer-contact .footer-contact-row {
    display: flex;
    justify-content: space-between;
    padding: 4.1666666667vw 0 0; }
    @media screen and (min-width: 1201px) {
      #footer-contact .footer-contact-row {
        padding: 50px 0 0; } }
    @media screen and (max-width: 768px) {
      #footer-contact .footer-contact-row {
        display: block;
        padding: 8vw 0 0; } }
    #footer-contact .footer-contact-row .box {
      background-color: #fff;
      border-radius: 1.6666666667vw;
      box-shadow: 0 0 1.6666666667vw rgba(0, 0, 0, 0.3);
      width: 49%;
      padding: 2.9166666667vw 1.6666666667vw; }
      @media screen and (min-width: 1201px) {
        #footer-contact .footer-contact-row .box {
          border-radius: 20px;
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
          width: 590px;
          padding: 35px 20px; } }
      @media screen and (max-width: 768px) {
        #footer-contact .footer-contact-row .box {
          border-radius: 5.3333333333vw;
          box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.3);
          width: auto;
          padding: 5.3333333333vw 5.3333333333vw;
          margin: 0 0 5.3333333333vw; } }
      #footer-contact .footer-contact-row .box h4 {
        font-size: 2vw;
        font-weight: bold;
        margin: 0 0 1em; }
        @media screen and (min-width: 1201px) {
          #footer-contact .footer-contact-row .box h4 {
            font-size: 24px; } }
        @media screen and (max-width: 768px) {
          #footer-contact .footer-contact-row .box h4 {
            font-size: 4.8vw; } }
      #footer-contact .footer-contact-row .box .tel {
        font-size: 2.5vw;
        font-weight: bold;
        margin: 0 0 .5em;
        line-height: 1; }
        @media screen and (min-width: 1201px) {
          #footer-contact .footer-contact-row .box .tel {
            font-size: 30px; } }
        @media screen and (max-width: 768px) {
          #footer-contact .footer-contact-row .box .tel {
            font-size: 5.3333333333vw; } }
        #footer-contact .footer-contact-row .box .tel strong {
          font-size: 3.3333333333vw;
          font-weight: bold; }
          @media screen and (min-width: 1201px) {
            #footer-contact .footer-contact-row .box .tel strong {
              font-size: 40px; } }
          @media screen and (max-width: 768px) {
            #footer-contact .footer-contact-row .box .tel strong {
              font-size: 8vw; } }
      #footer-contact .footer-contact-row .box p {
        font-size: 1.3333333333vw;
        font-weight: 500; }
        @media screen and (min-width: 1201px) {
          #footer-contact .footer-contact-row .box p {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #footer-contact .footer-contact-row .box p {
            font-size: 3.7333333333vw; } }
      #footer-contact .footer-contact-row .box .btn {
        padding: 0.8333333333vw 0 0;
        display: flex;
        justify-content: center; }
        @media screen and (min-width: 1201px) {
          #footer-contact .footer-contact-row .box .btn {
            padding: 10px 0 0; } }
        @media screen and (max-width: 768px) {
          #footer-contact .footer-contact-row .box .btn {
            padding: 2.6666666667vw 0 0; } }

#footer-recruit {
  background: url(../img/footer-recruit-bg.jpg) no-repeat center/cover;
  padding: 10.4166666667vw 0 11.25vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #footer-recruit {
      padding: 125px 0 135px; } }
  @media screen and (max-width: 768px) {
    #footer-recruit {
      padding: 16vw 0 16vw; } }
  #footer-recruit:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/footer-recruit-icon.png) no-repeat center/contain;
    width: 42.3333333333vw;
    height: 36.125vw; }
    @media screen and (min-width: 1201px) {
      #footer-recruit:before {
        width: 508px;
        height: 433.5px; } }
    @media screen and (max-width: 768px) {
      #footer-recruit:before {
        width: 67.7333333333vw;
        height: 57.8vw; } }
  @media screen and (max-width: 768px) {
    #footer-recruit .content-ttl {
      text-align: center; } }
  #footer-recruit .content-cnt {
    text-align: center;
    padding: 2.5vw 0 0; }
    @media screen and (min-width: 1201px) {
      #footer-recruit .content-cnt {
        padding: 30px 0 0; } }
    @media screen and (max-width: 768px) {
      #footer-recruit .content-cnt {
        padding: 5.3333333333vw 0 0; } }
    #footer-recruit .content-cnt h3 {
      font-size: 3vw;
      font-weight: bold;
      margin: 0 0 6.6666666667vw; }
      @media screen and (min-width: 1201px) {
        #footer-recruit .content-cnt h3 {
          font-size: 36px;
          margin: 0 0 80px; } }
      @media screen and (max-width: 768px) {
        #footer-recruit .content-cnt h3 {
          font-size: 4.8vw;
          margin: 0 0 10.6666666667vw; } }
  #footer-recruit .btn {
    display: flex;
    justify-content: center; }

footer {
  background-color: #0172c5;
  color: #fff;
  padding: 5.8333333333vw 0 4.1666666667vw; }
  @media screen and (min-width: 1201px) {
    footer {
      padding: 70px 0 50px; } }
  @media screen and (max-width: 768px) {
    footer {
      padding: 10.6666666667vw 0 8vw; } }
  footer .wrap {
    display: flex;
    justify-content: space-between;
    align-items: start; }
    @media screen and (max-width: 768px) {
      footer .wrap {
        display: block; } }
  @media screen and (max-width: 768px) {
    footer .logo {
      text-align: center; } }
  footer .logo h2 {
    font-size: 1.1666666667vw;
    margin: 0 0 1em; }
    @media screen and (min-width: 1201px) {
      footer .logo h2 {
        font-size: 14px; } }
    @media screen and (max-width: 768px) {
      footer .logo h2 {
        font-size: 3.2vw; } }
  footer .logo figure {
    margin: 0 0 1.6666666667vw; }
    @media screen and (min-width: 1201px) {
      footer .logo figure {
        margin: 0 0 20px; } }
    @media screen and (max-width: 768px) {
      footer .logo figure {
        margin: 0 0 2.6666666667vw; } }
    footer .logo figure img {
      width: 21.625vw; }
      @media screen and (min-width: 1201px) {
        footer .logo figure img {
          width: 259.5px; } }
      @media screen and (max-width: 768px) {
        footer .logo figure img {
          width: 29.8666666667vw; } }
  footer .logo h3 {
    font-size: 1.3333333333vw;
    font-weight: 600;
    margin: 0 0 .2em; }
    @media screen and (min-width: 1201px) {
      footer .logo h3 {
        font-size: 16px; } }
    @media screen and (max-width: 768px) {
      footer .logo h3 {
        font-size: 3.7333333333vw; } }
  footer .logo p {
    font-size: 1.1666666667vw; }
    @media screen and (min-width: 1201px) {
      footer .logo p {
        font-size: 14px; } }
    @media screen and (max-width: 768px) {
      footer .logo p {
        font-size: 3.2vw; } }
  footer .logo .footer-tel {
    display: flex;
    align-items: center;
    padding: 1.6666666667vw 0 0; }
    @media screen and (min-width: 1201px) {
      footer .logo .footer-tel {
        padding: 20px 0 0; } }
    @media screen and (max-width: 768px) {
      footer .logo .footer-tel {
        justify-content: center;
        padding: 2.6666666667vw 0 0; } }
    footer .logo .footer-tel .tel a {
      line-height: 1;
      display: inline-block;
      font-family: "Roboto", sans-serif;
      font-weight: 400;
      font-size: 2.8333333333vw;
      padding: 0 0 0 2.6666666667vw;
      background: url(../img/header-tel.png) no-repeat bottom 0.1666666667vw left/1.7916666667vw auto; }
      @media screen and (min-width: 1201px) {
        footer .logo .footer-tel .tel a {
          font-size: 34px;
          padding: 0 0 0 32px;
          background-position: bottom 2px left;
          background-size: 21.5px auto; } }
      @media screen and (max-width: 768px) {
        footer .logo .footer-tel .tel a {
          font-size: 5.3333333333vw;
          padding: 0 0 0 24px;
          background-position: bottom 0.5333333333vw left;
          background-size: 16px auto; } }
    footer .logo .footer-tel p {
      font-size: 1vw;
      margin: 0 0 0 1em; }
      @media screen and (min-width: 1201px) {
        footer .logo .footer-tel p {
          font-size: 12px; } }
      @media screen and (max-width: 768px) {
        footer .logo .footer-tel p {
          font-size: 2.6666666667vw; } }
  footer .footer-menu {
    padding: 0.8333333333vw 0 0; }
    @media screen and (min-width: 1201px) {
      footer .footer-menu {
        padding: 10px 0 0; } }
    @media screen and (max-width: 768px) {
      footer .footer-menu {
        padding: 5.3333333333vw 0 0; } }
    footer .footer-menu .footer-menu-list {
      display: flex;
      gap: 5.8333333333vw;
      margin: 0 0 7.5vw; }
      @media screen and (min-width: 1201px) {
        footer .footer-menu .footer-menu-list {
          gap: 70px;
          margin: 0 0 90px; } }
      @media screen and (max-width: 768px) {
        footer .footer-menu .footer-menu-list {
          display: none;
          flex-direction: column;
          gap: 0;
          margin: 0 0 5.3333333333vw; } }
      footer .footer-menu .footer-menu-list ul li {
        margin: 0 0 1em;
        font-size: 1.3333333333vw;
        line-height: 1; }
        @media screen and (min-width: 1201px) {
          footer .footer-menu .footer-menu-list ul li {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          footer .footer-menu .footer-menu-list ul li {
            font-size: 3.7333333333vw; } }
        footer .footer-menu .footer-menu-list ul li:before {
          content: "▶︎ ";
          font-size: 0.5833333333vw;
          vertical-align: middle;
          margin: 0 .2em 0 0; }
          @media screen and (min-width: 1201px) {
            footer .footer-menu .footer-menu-list ul li:before {
              font-size: 7px; } }
          @media screen and (max-width: 768px) {
            footer .footer-menu .footer-menu-list ul li:before {
              font-size: 1.3333333333vw; } }
        footer .footer-menu .footer-menu-list ul li.child {
          padding: 0 0 0 1em;
          font-size: 1.1666666667vw; }
          @media screen and (min-width: 1201px) {
            footer .footer-menu .footer-menu-list ul li.child {
              font-size: 14px; } }
          @media screen and (max-width: 768px) {
            footer .footer-menu .footer-menu-list ul li.child {
              font-size: 3.2vw; } }
          footer .footer-menu .footer-menu-list ul li.child:before {
            content: "- ";
            font-size: 1.1666666667vw;
            vertical-align: baseline; }
            @media screen and (min-width: 1201px) {
              footer .footer-menu .footer-menu-list ul li.child:before {
                font-size: 14px; } }
            @media screen and (max-width: 768px) {
              footer .footer-menu .footer-menu-list ul li.child:before {
                font-size: 3.2vw; } }
    footer .footer-menu .copyright {
      text-align: right; }
      @media screen and (max-width: 768px) {
        footer .footer-menu .copyright {
          text-align: center; } }
      footer .footer-menu .copyright small {
        font-size: 1vw; }
        @media screen and (min-width: 1201px) {
          footer .footer-menu .copyright small {
            font-size: 12px; } }
        @media screen and (max-width: 768px) {
          footer .footer-menu .copyright small {
            font-size: 2.6666666667vw; } }

#mainvisual {
  width: 100%;
  height: 90vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #mainvisual {
      height: 1080px; } }
  @media screen and (max-width: 768px) {
    #mainvisual {
      height: 101.3333333333vw; } }
  #mainvisual .mv-copy {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10; }
    #mainvisual .mv-copy h2 {
      color: #fff;
      font-size: 5vw;
      font-weight: bold;
      text-shadow: 0 0 0.8333333333vw rgba(0, 0, 0, 0.5);
      padding: 0 0 2em;
      line-height: 1.6; }
      @media screen and (min-width: 1201px) {
        #mainvisual .mv-copy h2 {
          font-size: 60px;
          text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } }
      @media screen and (max-width: 768px) {
        #mainvisual .mv-copy h2 {
          font-size: 6.4vw;
          text-shadow: 0 0 2.6666666667vw rgba(0, 0, 0, 0.5);
          padding: 0 0 1em; } }
  #mainvisual .mv-slide {
    width: 100%;
    height: 100%; }
    #mainvisual .mv-slide figure {
      width: 100%;
      height: 90vw;
      overflow: hidden; }
      @media screen and (min-width: 1201px) {
        #mainvisual .mv-slide figure {
          height: 1080px; } }
      @media screen and (max-width: 768px) {
        #mainvisual .mv-slide figure {
          height: 101.3333333333vw; } }
      #mainvisual .mv-slide figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

#top-about {
  padding: 11.6666666667vw 0 12.5vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #top-about {
      padding: 140px 0 150px; } }
  @media screen and (max-width: 768px) {
    #top-about {
      padding: 16vw 0 16vw; } }
  #top-about:before {
    content: "";
    position: absolute;
    top: 9.1666666667vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #top-about:before {
        top: 110px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #top-about:before {
        top: 13.3333333333vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #top-about .wrap {
    position: relative;
    min-height: 58.3333333333vw;
    z-index: 2; }
    @media screen and (min-width: 1201px) {
      #top-about .wrap {
        min-height: 700px; } }
    @media screen and (max-width: 768px) {
      #top-about .wrap {
        min-height: auto; } }
  #top-about .inner {
    display: flex;
    justify-content: end; }
    @media screen and (max-width: 768px) {
      #top-about .inner {
        display: block; } }
  #top-about .content {
    width: 41.6666666667vw;
    padding: 5vw 0 0; }
    @media screen and (min-width: 1201px) {
      #top-about .content {
        width: 500px;
        padding: 60px 0 0; } }
    @media screen and (max-width: 768px) {
      #top-about .content {
        width: auto;
        padding: 0; } }
    #top-about .content .content-ttl {
      margin: 0 0 3.3333333333vw; }
      @media screen and (min-width: 1201px) {
        #top-about .content .content-ttl {
          margin: 0 0 40px; } }
      @media screen and (max-width: 768px) {
        #top-about .content .content-ttl {
          margin: 0 0 5.3333333333vw; } }
    #top-about .content .content-cnt {
      letter-spacing: .05em; }
      #top-about .content .content-cnt h3 {
        font-size: 4vw;
        line-height: 1.5;
        font-weight: bold;
        margin: 0 0 .75em; }
        @media screen and (min-width: 1201px) {
          #top-about .content .content-cnt h3 {
            font-size: 48px; } }
        @media screen and (max-width: 768px) {
          #top-about .content .content-cnt h3 {
            font-size: 5.3333333333vw; } }
      #top-about .content .content-cnt p {
        font-size: 1.3333333333vw;
        line-height: 2; }
        @media screen and (min-width: 1201px) {
          #top-about .content .content-cnt p {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #top-about .content .content-cnt p {
            font-size: 3.7333333333vw; } }
    #top-about .content .btn {
      display: flex;
      justify-content: end;
      padding: 3.3333333333vw 0 0; }
      @media screen and (min-width: 1201px) {
        #top-about .content .btn {
          padding: 40px 0 0; } }
      @media screen and (max-width: 768px) {
        #top-about .content .btn {
          justify-content: center;
          padding: 5.3333333333vw 0 0; } }
  #top-about figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 49%; }
    @media screen and (min-width: 1201px) {
      #top-about figure {
        width: 50%; } }
    @media screen and (max-width: 768px) {
      #top-about figure {
        position: static;
        width: 94%;
        padding: 10.6666666667vw 0 0; } }

#top-service {
  background-color: #e5f4ff;
  padding: 11.25vw 0 11.6666666667vw; }
  @media screen and (min-width: 1201px) {
    #top-service {
      padding: 135px 0 140px; } }
  @media screen and (max-width: 768px) {
    #top-service {
      padding: 16vw 0 18.6666666667vw; } }
  #top-service .content-ttl {
    text-align: center;
    margin: 0 0 11.6666666667vw; }
    @media screen and (min-width: 1201px) {
      #top-service .content-ttl {
        margin: 0 0 140px; } }
    @media screen and (max-width: 768px) {
      #top-service .content-ttl {
        margin: 0 0 16vw; } }
  #top-service .content-cnt article {
    position: relative;
    display: flex;
    margin: 0 0 9.375vw; }
    @media screen and (max-width: 768px) {
      #top-service .content-cnt article {
        display: block;
        margin: 0 0 16vw; } }
    #top-service .content-cnt article .article-cnt {
      width: 57.2916666667vw;
      background-color: #fff;
      border-radius: 0 1.0416666667vw 1.0416666667vw 0;
      position: relative;
      display: flex;
      justify-content: end;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #top-service .content-cnt article .article-cnt {
          display: block;
          width: auto;
          border-radius: 0 5.3333333333vw 5.3333333333vw 0;
          margin: 0 5.3333333333vw 0 0; } }
      #top-service .content-cnt article .article-cnt:before {
        content: "";
        position: absolute;
        top: -4.6875vw;
        left: -2.0833333333vw;
        background: url(../img/bg-icon.png) no-repeat center/contain;
        width: 28.7239583333vw;
        height: 26.1979166667vw; }
        @media screen and (max-width: 768px) {
          #top-service .content-cnt article .article-cnt:before {
            top: -13.3333333333vw;
            left: -5.3333333333vw;
            width: 73.6vw;
            height: 67.2vw; } }
      #top-service .content-cnt article .article-cnt .txt {
        width: 27.0833333333vw;
        margin: 0 11.1979166667vw 0 0;
        padding: 5.2083333333vw 0;
        position: relative;
        z-index: 2; }
        @media screen and (max-width: 768px) {
          #top-service .content-cnt article .article-cnt .txt {
            width: auto;
            margin: 0;
            padding: 10.6666666667vw 5.3333333333vw 16vw; } }
        #top-service .content-cnt article .article-cnt .txt h3 {
          font-size: 1.875vw;
          font-weight: bold;
          margin: 0 0 1.5625vw; }
          @media screen and (max-width: 768px) {
            #top-service .content-cnt article .article-cnt .txt h3 {
              font-size: 6.4vw;
              margin: 0 0 5.3333333333vw; } }
        #top-service .content-cnt article .article-cnt .txt h4 {
          font-size: 1.5625vw;
          color: #0172c5;
          font-weight: bold;
          margin: 0 0 0.78125vw; }
          @media screen and (max-width: 768px) {
            #top-service .content-cnt article .article-cnt .txt h4 {
              font-size: 4.8vw;
              margin: 0 0 2.6666666667vw; } }
        #top-service .content-cnt article .article-cnt .txt p {
          font-size: 0.8333333333vw;
          line-height: 2; }
          @media screen and (max-width: 768px) {
            #top-service .content-cnt article .article-cnt .txt p {
              font-size: 3.4666666667vw; } }
        #top-service .content-cnt article .article-cnt .txt ul {
          display: flex;
          flex-wrap: wrap;
          gap: 0.5208333333vw 3.125vw;
          padding: 0.78125vw 0 0; }
          @media screen and (max-width: 768px) {
            #top-service .content-cnt article .article-cnt .txt ul {
              gap: 2.6666666667vw 5.3333333333vw;
              padding: 2.6666666667vw 0 0; } }
          #top-service .content-cnt article .article-cnt .txt ul li {
            position: relative;
            padding: 0 0 0 1.5em;
            font-size: 0.8333333333vw;
            width: 30%; }
            @media screen and (max-width: 768px) {
              #top-service .content-cnt article .article-cnt .txt ul li {
                font-size: 3.4666666667vw;
                width: 50%; } }
            #top-service .content-cnt article .article-cnt .txt ul li:before {
              content: "●";
              color: #0172c5;
              position: absolute;
              top: 0;
              left: 0; }
    #top-service .content-cnt article figure {
      position: relative;
      width: 44.7916666667vw;
      height: 26.0416666667vw;
      overflow: hidden;
      border-radius: 1.6666666667vw;
      z-index: 10;
      margin: -4.1666666667vw 0 0 -7.2916666667vw; }
      @media screen and (min-width: 1201px) {
        #top-service .content-cnt article figure {
          /*width:860px;
          height:500px;
          border-radius:20px;
          margin:-80px 0 0 -340px;*/ } }
      @media screen and (max-width: 768px) {
        #top-service .content-cnt article figure {
          width: auto;
          height: 64vw;
          border-radius: 5.3333333333vw;
          margin: -10.6666666667vw -5.3333333333vw 0 5.3333333333vw; } }
      #top-service .content-cnt article figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    #top-service .content-cnt article:nth-child(even) {
      flex-direction: row-reverse; }
      #top-service .content-cnt article:nth-child(even) .article-cnt {
        border-radius: 1.0416666667vw 0 0 1.0416666667vw;
        justify-content: start; }
        @media screen and (max-width: 768px) {
          #top-service .content-cnt article:nth-child(even) .article-cnt {
            border-radius: 5.3333333333vw 0 0 5.3333333333vw; } }
        #top-service .content-cnt article:nth-child(even) .article-cnt:before {
          left: auto;
          right: -2.0833333333vw; }
          @media screen and (max-width: 768px) {
            #top-service .content-cnt article:nth-child(even) .article-cnt:before {
              right: -5.3333333333vw; } }
        #top-service .content-cnt article:nth-child(even) .article-cnt .txt {
          margin: 0 0 0 11.1979166667vw; }
          @media screen and (max-width: 768px) {
            #top-service .content-cnt article:nth-child(even) .article-cnt .txt {
              margin: 0; } }
      #top-service .content-cnt article:nth-child(even) figure {
        margin: -4.1666666667vw -7.2916666667vw 0 0; }
        @media screen and (max-width: 768px) {
          #top-service .content-cnt article:nth-child(even) figure {
            margin: -10.6666666667vw 5.3333333333vw 0 -5.3333333333vw; } }
    #top-service .content-cnt article:last-child {
      margin: 0; }
  #top-service .btn {
    display: flex;
    justify-content: center;
    padding: 4.1666666667vw 0 0; }
    @media screen and (max-width: 768px) {
      #top-service .btn {
        padding: 10.6666666667vw 0 0; } }
  #top-service.page-service {
    background-color: #fff;
    padding: 7.5vw 0 11.6666666667vw; }
    @media screen and (min-width: 1201px) {
      #top-service.page-service {
        padding: 90px 0 140px; } }
    @media screen and (max-width: 768px) {
      #top-service.page-service {
        padding: 10.6666666667vw 0 18.6666666667vw; } }
    #top-service.page-service .content-cnt article {
      display: block; }
      #top-service.page-service .content-cnt article .article-row {
        display: flex; }
        @media screen and (max-width: 768px) {
          #top-service.page-service .content-cnt article .article-row {
            display: block; } }
      #top-service.page-service .content-cnt article .article-cnt {
        overflow: visible; }
        #top-service.page-service .content-cnt article .article-cnt .txt {
          padding: 0 0 5.2083333333vw 0; }
          @media screen and (max-width: 768px) {
            #top-service.page-service .content-cnt article .article-cnt .txt {
              padding: 0 5.3333333333vw 16vw; } }
      #top-service.page-service .content-cnt article:nth-child(even) .article-row {
        flex-direction: row-reverse; }
    #top-service.page-service .article-works {
      padding: 3.3333333333vw 0 0; }
      @media screen and (min-width: 1201px) {
        #top-service.page-service .article-works {
          padding: 40px 0 0; } }
      @media screen and (max-width: 768px) {
        #top-service.page-service .article-works {
          padding: 10.6666666667vw 0 0; } }
      #top-service.page-service .article-works .content-ttl {
        text-align: left;
        margin: 0 0 3.3333333333vw; }
        @media screen and (min-width: 1201px) {
          #top-service.page-service .article-works .content-ttl {
            margin: 0 0 40px; } }
        @media screen and (max-width: 768px) {
          #top-service.page-service .article-works .content-ttl {
            margin: 0 0 5.3333333333vw; } }
        #top-service.page-service .article-works .content-ttl h2 {
          font-size: 5vw; }
          @media screen and (min-width: 1201px) {
            #top-service.page-service .article-works .content-ttl h2 {
              font-size: 60px; } }
          @media screen and (max-width: 768px) {
            #top-service.page-service .article-works .content-ttl h2 {
              font-size: 8vw; } }
        #top-service.page-service .article-works .content-ttl p {
          font-size: 1.5vw; }
          @media screen and (min-width: 1201px) {
            #top-service.page-service .article-works .content-ttl p {
              font-size: 18px; } }
          @media screen and (max-width: 768px) {
            #top-service.page-service .article-works .content-ttl p {
              font-size: 3.7333333333vw; } }
      #top-service.page-service .article-works .article-works-list .item {
        padding: 0 1.25vw; }
        @media screen and (min-width: 1201px) {
          #top-service.page-service .article-works .article-works-list .item {
            padding: 0 15px; } }
        @media screen and (max-width: 768px) {
          #top-service.page-service .article-works .article-works-list .item {
            padding: 0; } }
        #top-service.page-service .article-works .article-works-list .item figure {
          border-radius: 0.8333333333vw;
          width: 100%;
          height: 22.25vw;
          position: relative;
          transform: translate(0);
          overflow: hidden;
          margin: 0; }
          @media screen and (min-width: 1201px) {
            #top-service.page-service .article-works .article-works-list .item figure {
              border-radius: 10px;
              height: 267px; } }
          @media screen and (max-width: 768px) {
            #top-service.page-service .article-works .article-works-list .item figure {
              border-radius: 2.6666666667vw;
              height: 53.3333333333vw; } }
          #top-service.page-service .article-works .article-works-list .item figure img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: 0.3s ease; }
        #top-service.page-service .article-works .article-works-list .item p {
          font-size: 1.3333333333vw;
          padding: 1em 0 0;
          line-height: 2; }
          @media screen and (min-width: 1201px) {
            #top-service.page-service .article-works .article-works-list .item p {
              font-size: 16px; } }
          @media screen and (max-width: 768px) {
            #top-service.page-service .article-works .article-works-list .item p {
              font-size: 3.4666666667vw; } }
        #top-service.page-service .article-works .article-works-list .item a {
          display: block; }
          #top-service.page-service .article-works .article-works-list .item a:hover {
            opacity: 1; }
            #top-service.page-service .article-works .article-works-list .item a:hover figure img {
              transform: scale(1.05); }
      #top-service.page-service .article-works .article-works-list .slick-prev {
        width: 5.8333333333vw;
        height: 5.8333333333vw;
        background: url(../img/slide-arrow-l.png) no-repeat center/contain;
        left: -2.0833333333vw;
        top: 11vw;
        z-index: 10; }
        @media screen and (min-width: 1201px) {
          #top-service.page-service .article-works .article-works-list .slick-prev {
            width: 70px;
            height: 70px;
            left: -25px;
            top: 132px; } }
        @media screen and (max-width: 768px) {
          #top-service.page-service .article-works .article-works-list .slick-prev {
            width: 10.6666666667vw;
            height: 10.6666666667vw;
            left: -2.6666666667vw;
            top: 26.6666666667vw; } }
        #top-service.page-service .article-works .article-works-list .slick-prev:before {
          content: none; }
      #top-service.page-service .article-works .article-works-list .slick-next {
        width: 5.8333333333vw;
        height: 5.8333333333vw;
        background: url(../img/slide-arrow-r.png) no-repeat center/contain;
        right: -2.0833333333vw;
        top: 11vw;
        z-index: 10; }
        @media screen and (min-width: 1201px) {
          #top-service.page-service .article-works .article-works-list .slick-next {
            width: 70px;
            height: 70px;
            right: -25px;
            top: 132px; } }
        @media screen and (max-width: 768px) {
          #top-service.page-service .article-works .article-works-list .slick-next {
            width: 10.6666666667vw;
            height: 10.6666666667vw;
            right: -2.6666666667vw;
            top: 26.6666666667vw; } }
        #top-service.page-service .article-works .article-works-list .slick-next:before {
          content: none; }

#top-works {
  padding: 10.8333333333vw 0 2.5vw; }
  @media screen and (min-width: 1201px) {
    #top-works {
      padding: 130px 0 30px; } }
  @media screen and (max-width: 768px) {
    #top-works {
      padding: 16vw 0 5.3333333333vw; } }
  #top-works .content-ttl {
    text-align: center;
    margin: 0 0 4.1666666667vw; }
    @media screen and (min-width: 1201px) {
      #top-works .content-ttl {
        margin: 0 0 50px; } }
    @media screen and (max-width: 768px) {
      #top-works .content-ttl {
        margin: 0 0 8vw; } }
  #top-works .content-cnt .works-list .works-list-item {
    width: 25vw;
    padding: 0 1.0416666667vw; }
    @media screen and (max-width: 768px) {
      #top-works .content-cnt .works-list .works-list-item {
        width: 100%;
        padding: 0 5.3333333333vw; } }
    #top-works .content-cnt .works-list .works-list-item figure {
      width: 100%;
      height: 15.625vw;
      overflow: hidden;
      border-radius: 0.5208333333vw;
      margin: 0 0 1.0416666667vw; }
      @media screen and (max-width: 768px) {
        #top-works .content-cnt .works-list .works-list-item figure {
          height: 53.3333333333vw;
          border-radius: 2.6666666667vw;
          margin: 0 0 2.6666666667vw; } }
      #top-works .content-cnt .works-list .works-list-item figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: 0.3s ease; }
    #top-works .content-cnt .works-list .works-list-item p {
      font-size: 0.8333333333vw;
      line-height: 2;
      margin: 0 0 .6em; }
      @media screen and (max-width: 768px) {
        #top-works .content-cnt .works-list .works-list-item p {
          font-size: 3.4666666667vw; } }
    #top-works .content-cnt .works-list .works-list-item .cat {
      display: inline-block;
      background-color: #0172c5;
      color: #fff;
      font-size: 0.625vw;
      padding: .2em 1.2em;
      border-radius: 2.0833333333vw; }
      @media screen and (max-width: 768px) {
        #top-works .content-cnt .works-list .works-list-item .cat {
          font-size: 2.9333333333vw;
          border-radius: 10.6666666667vw; } }
    #top-works .content-cnt .works-list .works-list-item a {
      display: block; }
      #top-works .content-cnt .works-list .works-list-item a:hover {
        opacity: 1; }
        #top-works .content-cnt .works-list .works-list-item a:hover figure img {
          transform: scale(1.05); }
  #top-works .content-cnt .slick-prev {
    width: 3.6458333333vw;
    height: 3.6458333333vw;
    background: url(../img/slide-arrow-l.png) no-repeat center/contain;
    left: 12.5vw;
    top: 7.9166666667vw;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      #top-works .content-cnt .slick-prev {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        left: 2.6666666667vw;
        top: 26.6666666667vw; } }
    #top-works .content-cnt .slick-prev:before {
      content: none; }
  #top-works .content-cnt .slick-next {
    width: 3.6458333333vw;
    height: 3.6458333333vw;
    background: url(../img/slide-arrow-r.png) no-repeat center/contain;
    right: 12.5vw;
    top: 7.9166666667vw;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      #top-works .content-cnt .slick-next {
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        right: 2.6666666667vw;
        top: 26.6666666667vw; } }
    #top-works .content-cnt .slick-next:before {
      content: none; }
  #top-works .btn {
    display: flex;
    justify-content: center;
    padding: 3.125vw 0 0; }
    @media screen and (max-width: 768px) {
      #top-works .btn {
        padding: 8vw 0 0; } }

#top-news {
  padding: 16.6666666667vw 0 12.5vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #top-news {
      padding: 200px 0 150px; } }
  @media screen and (max-width: 768px) {
    #top-news {
      padding: 26.6666666667vw 0 21.3333333333vw; } }
  #top-news:before {
    content: "";
    position: absolute;
    top: 0;
    left: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #top-news:before {
        left: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #top-news:before {
        top: 0;
        left: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #top-news .wrap {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #top-news .wrap {
        display: block; } }
  #top-news .content-ttl {
    width: 20vw; }
    @media screen and (min-width: 1201px) {
      #top-news .content-ttl {
        width: 240px; } }
    @media screen and (max-width: 768px) {
      #top-news .content-ttl {
        width: auto;
        margin: 0 0 10.6666666667vw; } }
    #top-news .content-ttl .btn {
      width: 100%;
      padding: 12.5vw 0 0; }
      @media screen and (min-width: 1201px) {
        #top-news .content-ttl .btn {
          padding: 150px 0 0; } }
      @media screen and (max-width: 768px) {
        #top-news .content-ttl .btn {
          display: flex;
          justify-content: end;
          padding: 0; } }
      #top-news .content-ttl .btn a {
        width: 100%; }
        @media screen and (max-width: 768px) {
          #top-news .content-ttl .btn a {
            width: 50%;
            height: 10.6666666667vw; } }
        #top-news .content-ttl .btn a span {
          padding: 0 2em 0 0; }
          @media screen and (max-width: 768px) {
            #top-news .content-ttl .btn a span {
              padding: 0;
              font-size: 2.9333333333vw; } }
        @media screen and (max-width: 768px) {
          #top-news .content-ttl .btn a:after {
            right: 2.6666666667vw;
            width: 2.8vw;
            height: 2vw; } }
        @media screen and (max-width: 768px) {
          #top-news .content-ttl .btn a:hover:after {
            right: 1.3333333333vw; } }
  #top-news .content-cnt {
    width: 66.6666666667vw; }
    @media screen and (min-width: 1201px) {
      #top-news .content-cnt {
        width: 870px; } }
    @media screen and (max-width: 768px) {
      #top-news .content-cnt {
        width: auto; } }
    #top-news .content-cnt ul {
      border-top: solid #ccc 1px; }
      #top-news .content-cnt ul li {
        border-bottom: solid #ccc 1px;
        padding: 1.6666666667vw 0; }
        @media screen and (min-width: 1201px) {
          #top-news .content-cnt ul li {
            padding: 20px 0; } }
        @media screen and (max-width: 768px) {
          #top-news .content-cnt ul li {
            padding: 5.3333333333vw 0; } }
        #top-news .content-cnt ul li .meta {
          display: flex;
          align-items: center;
          margin: 0 0 0.8333333333vw; }
          @media screen and (min-width: 1201px) {
            #top-news .content-cnt ul li .meta {
              margin: 0 0 10px; } }
          @media screen and (max-width: 768px) {
            #top-news .content-cnt ul li .meta {
              margin: 0 0 2.6666666667vw; } }
          #top-news .content-cnt ul li .meta time {
            font-size: 1.5vw;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: 600;
            margin: 0 1em 0 0;
            color: #666; }
            @media screen and (min-width: 1201px) {
              #top-news .content-cnt ul li .meta time {
                font-size: 18px; } }
            @media screen and (max-width: 768px) {
              #top-news .content-cnt ul li .meta time {
                font-size: 3.7333333333vw; } }
          #top-news .content-cnt ul li .meta .cat {
            display: inline-block;
            background-color: #0172c5;
            color: #fff;
            font-size: 1vw;
            padding: .2em 1.2em;
            border-radius: 3.3333333333vw; }
            @media screen and (min-width: 1201px) {
              #top-news .content-cnt ul li .meta .cat {
                font-size: 12px;
                border-radius: 40px; } }
            @media screen and (max-width: 768px) {
              #top-news .content-cnt ul li .meta .cat {
                font-size: 2.9333333333vw;
                border-radius: 10.6666666667vw; } }
        #top-news .content-cnt ul li p {
          font-size: 1.3333333333vw;
          line-height: 2; }
          @media screen and (min-width: 1201px) {
            #top-news .content-cnt ul li p {
              font-size: 16px; } }
          @media screen and (max-width: 768px) {
            #top-news .content-cnt ul li p {
              font-size: 3.4666666667vw; } }

.page-header {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  overflow: hidden;
  position: relative;
  width: 100vw;
  height: 41.6666666667vw;
  display: flex;
  align-items: end;
  justify-content: center; }
  @media screen and (min-width: 1201px) {
    .page-header {
      height: 500px; } }
  @media screen and (max-width: 768px) {
    .page-header {
      height: 64vw; } }
  .page-header .wrap {
    position: relative;
    z-index: 2; }
    .page-header .wrap h2 {
      font-size: 6.6666666667vw;
      color: #0172c5;
      font-weight: bold;
      line-height: 1.2; }
      @media screen and (min-width: 1201px) {
        .page-header .wrap h2 {
          font-size: 80px; } }
      @media screen and (max-width: 768px) {
        .page-header .wrap h2 {
          font-size: 8.5333333333vw; } }
    .page-header .wrap p {
      font-size: 1.6666666667vw;
      font-weight: 600; }
      @media screen and (min-width: 1201px) {
        .page-header .wrap p {
          font-size: 20px; } }
      @media screen and (max-width: 768px) {
        .page-header .wrap p {
          font-size: 3.7333333333vw; } }
  .page-header:before {
    content: "";
    background: url(../img/page-header-circle.svg) no-repeat center/contain;
    width: 100vw;
    height: 100vw;
    position: absolute;
    bottom: -85vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    @media screen and (min-width: 1201px) {
      .page-header:before {
        width: 1200px;
        height: 1200px;
        bottom: -1020px; } }
    @media screen and (max-width: 768px) {
      .page-header:before {
        width: 80vw;
        height: 80vw;
        bottom: -53.3333333333vw; } }

.bcn {
  padding: 3.3333333333vw 0 5.8333333333vw; }
  @media screen and (min-width: 1201px) {
    .bcn {
      padding: 40px 0 70px; } }
  @media screen and (max-width: 768px) {
    .bcn {
      padding: 5.3333333333vw 0 10.6666666667vw; } }
  .bcn a:hover {
    text-decoration: underline; }

#page-header-about {
  background-image: url(../img/page-header-about.jpg); }

.about-content {
  position: relative; }
  .about-content .content-ttl {
    margin: 0 0 4.5833333333vw; }
    @media screen and (min-width: 1201px) {
      .about-content .content-ttl {
        margin: 0 0 55px; } }
    @media screen and (max-width: 768px) {
      .about-content .content-ttl {
        margin: 0 0 8vw; } }
    .about-content .content-ttl h2 {
      font-size: 5vw; }
      @media screen and (min-width: 1201px) {
        .about-content .content-ttl h2 {
          font-size: 60px; } }
      @media screen and (max-width: 768px) {
        .about-content .content-ttl h2 {
          font-size: 6.4vw; } }

#about-company {
  padding: 0 0 11.6666666667vw; }
  @media screen and (min-width: 1201px) {
    #about-company {
      padding: 0 0 140px; } }
  @media screen and (max-width: 768px) {
    #about-company {
      padding: 0 0 16vw; } }
  #about-company:before {
    content: "";
    position: absolute;
    top: 0vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #about-company:before {
        top: 0px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #about-company:before {
        top: 0vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #about-company .content-cnt table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.3333333333vw;
    line-height: 2;
    border-top: solid #ccc 1px; }
    @media screen and (min-width: 1201px) {
      #about-company .content-cnt table {
        font-size: 16px; } }
    @media screen and (max-width: 768px) {
      #about-company .content-cnt table {
        display: block;
        font-size: 3.4666666667vw; } }
    @media screen and (max-width: 768px) {
      #about-company .content-cnt table tr, #about-company .content-cnt table tbody {
        display: block; } }
    #about-company .content-cnt table th {
      text-align: left;
      vertical-align: top;
      font-weight: 600;
      padding: 2.0833333333vw 1.6666666667vw;
      border-bottom: solid #ccc 1px;
      color: #0172c5; }
      @media screen and (min-width: 1201px) {
        #about-company .content-cnt table th {
          padding: 25px 20px; } }
      @media screen and (max-width: 768px) {
        #about-company .content-cnt table th {
          display: block;
          padding: 5.3333333333vw 0 0;
          border: none; } }
    #about-company .content-cnt table td {
      text-align: left;
      vertical-align: top;
      font-weight: 600;
      padding: 2.0833333333vw 1.6666666667vw;
      border-bottom: solid #ccc 1px; }
      @media screen and (min-width: 1201px) {
        #about-company .content-cnt table td {
          padding: 25px 20px; } }
      @media screen and (max-width: 768px) {
        #about-company .content-cnt table td {
          display: block;
          padding: 0 0 5.3333333333vw; } }
      #about-company .content-cnt table td ul li {
        position: relative;
        padding: 0 0 0 1.5em; }
        #about-company .content-cnt table td ul li:before {
          position: absolute;
          top: 0;
          left: 0;
          content: "●";
          color: #0172c5; }

#about-access {
  padding: 11.6666666667vw 0 11.6666666667vw;
  background-color: #e5f4ff; }
  @media screen and (min-width: 1201px) {
    #about-access {
      padding: 140px 0 140px; } }
  @media screen and (max-width: 768px) {
    #about-access {
      padding: 16vw 0 16vw; } }
  #about-access:before {
    content: "";
    position: absolute;
    top: 9.1666666667vw;
    left: -3.3333333333vw;
    background: url(../img/bg-icon_wh.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #about-access:before {
        top: 110px;
        left: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #about-access:before {
        top: 13.3333333333vw;
        left: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #about-access .gmap iframe {
    display: block;
    width: 100%;
    height: 50vw;
    border-radius: 1.6666666667vw; }
    @media screen and (min-width: 1201px) {
      #about-access .gmap iframe {
        height: 600px;
        border-radius: 20px; } }
    @media screen and (max-width: 768px) {
      #about-access .gmap iframe {
        height: 64vw;
        border-radius: 5.3333333333vw; } }

#page-header-service {
  background-image: url(../img/page-header-service.jpg); }

#page-header-blog {
  background-image: url(../img/page-header-blog.jpg); }

#blog-column {
  padding: 0 0 11.6666666667vw; }
  @media screen and (min-width: 1201px) {
    #blog-column {
      padding: 0 0 140px; } }
  @media screen and (max-width: 768px) {
    #blog-column {
      padding: 0 0 16vw; } }
  #blog-column .column {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse; }
    @media screen and (max-width: 768px) {
      #blog-column .column {
        display: block; } }
  #blog-column .main-column {
    width: 66.6666666667vw; }
    @media screen and (min-width: 1201px) {
      #blog-column .main-column {
        width: 800px; } }
    @media screen and (max-width: 768px) {
      #blog-column .main-column {
        width: auto;
        margin: 0 0 16vw; } }
    #blog-column .main-column article {
      margin: 0 0 4.1666666667vw;
      padding: 0 0 4.1666666667vw;
      border-bottom: solid #ccc 1px; }
      @media screen and (min-width: 1201px) {
        #blog-column .main-column article {
          margin: 0 0 50px;
          padding: 0 0 50px; } }
      @media screen and (max-width: 768px) {
        #blog-column .main-column article {
          margin: 0 0 5.3333333333vw;
          padding: 0 0 5.3333333333vw; } }
      #blog-column .main-column article.nob {
        border-bottom: none;
        margin: 0; }
      #blog-column .main-column article .post-body {
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 768px) {
          #blog-column .main-column article .post-body {
            display: block; } }
        #blog-column .main-column article .post-body figure {
          width: 30vw;
          height: 20vw;
          overflow: hidden; }
          @media screen and (min-width: 1201px) {
            #blog-column .main-column article .post-body figure {
              width: 360px;
              height: 240px; } }
          @media screen and (max-width: 768px) {
            #blog-column .main-column article .post-body figure {
              width: auto;
              height: 53.3333333333vw;
              margin: 0 0 5.3333333333vw; } }
          #blog-column .main-column article .post-body figure img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        #blog-column .main-column article .post-body .txt {
          width: 34.1666666667vw; }
          @media screen and (min-width: 1201px) {
            #blog-column .main-column article .post-body .txt {
              width: 410px; } }
          @media screen and (max-width: 768px) {
            #blog-column .main-column article .post-body .txt {
              width: auto; } }
          #blog-column .main-column article .post-body .txt .meta {
            display: flex;
            align-items: center; }
            #blog-column .main-column article .post-body .txt .meta time {
              font-size: 1.3333333333vw;
              margin: 0 1em 0 0; }
              @media screen and (min-width: 1201px) {
                #blog-column .main-column article .post-body .txt .meta time {
                  font-size: 16px; } }
              @media screen and (max-width: 768px) {
                #blog-column .main-column article .post-body .txt .meta time {
                  font-size: 3.7333333333vw; } }
            #blog-column .main-column article .post-body .txt .meta .cat {
              color: #0172c5;
              font-size: 1.3333333333vw; }
              @media screen and (min-width: 1201px) {
                #blog-column .main-column article .post-body .txt .meta .cat {
                  font-size: 16px; } }
              @media screen and (max-width: 768px) {
                #blog-column .main-column article .post-body .txt .meta .cat {
                  font-size: 3.7333333333vw; } }
          #blog-column .main-column article .post-body .txt h2 {
            font-size: 1.5vw;
            font-weight: bold;
            margin: 1em 0 2em; }
            @media screen and (min-width: 1201px) {
              #blog-column .main-column article .post-body .txt h2 {
                font-size: 18px; } }
            @media screen and (max-width: 768px) {
              #blog-column .main-column article .post-body .txt h2 {
                font-size: 4.2666666667vw; } }
          #blog-column .main-column article .post-body .txt p {
            font-size: 1.3333333333vw;
            line-height: 2; }
            @media screen and (min-width: 1201px) {
              #blog-column .main-column article .post-body .txt p {
                font-size: 16px; } }
            @media screen and (max-width: 768px) {
              #blog-column .main-column article .post-body .txt p {
                font-size: 3.7333333333vw; } }
          #blog-column .main-column article .post-body .txt .more {
            text-align: right;
            padding: 2.5vw 0 0; }
            @media screen and (min-width: 1201px) {
              #blog-column .main-column article .post-body .txt .more {
                padding: 30px 0 0; } }
            @media screen and (max-width: 768px) {
              #blog-column .main-column article .post-body .txt .more {
                padding: 5.3333333333vw 0 0; } }
            #blog-column .main-column article .post-body .txt .more a {
              padding: 1em 3em;
              width: auto;
              height: auto;
              line-height: 1;
              display: inline-block; }
              #blog-column .main-column article .post-body .txt .more a:after {
                content: none; }
              #blog-column .main-column article .post-body .txt .more a:hover {
                opacity: .7; }
              #blog-column .main-column article .post-body .txt .more a span {
                font-size: 1.1666666667vw; }
                @media screen and (min-width: 1201px) {
                  #blog-column .main-column article .post-body .txt .more a span {
                    font-size: 14px; } }
                @media screen and (max-width: 768px) {
                  #blog-column .main-column article .post-body .txt .more a span {
                    font-size: 3.2vw; } }
    #blog-column .main-column .post-detail .txt figure {
      margin: 0 0 3.3333333333vw; }
      @media screen and (min-width: 1201px) {
        #blog-column .main-column .post-detail .txt figure {
          margin: 0 0 40px; } }
      @media screen and (max-width: 768px) {
        #blog-column .main-column .post-detail .txt figure {
          margin: 0 0 5.3333333333vw; } }
    #blog-column .main-column .post-detail .txt img {
      max-width: 100%;
      width: auto;
      height: auto; }
    #blog-column .main-column .post-detail .txt .meta {
      display: flex;
      align-items: center; }
      #blog-column .main-column .post-detail .txt .meta time {
        font-size: 1.3333333333vw;
        margin: 0 1em 0 0; }
        @media screen and (min-width: 1201px) {
          #blog-column .main-column .post-detail .txt .meta time {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #blog-column .main-column .post-detail .txt .meta time {
            font-size: 3.7333333333vw; } }
      #blog-column .main-column .post-detail .txt .meta .cat {
        color: #0172c5;
        font-size: 1.3333333333vw; }
        @media screen and (min-width: 1201px) {
          #blog-column .main-column .post-detail .txt .meta .cat {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #blog-column .main-column .post-detail .txt .meta .cat {
            font-size: 3.7333333333vw; } }
    #blog-column .main-column .post-detail .txt .ttl h2 {
      font-size: 2vw;
      font-weight: bold;
      margin: 1em 0 2em; }
      @media screen and (min-width: 1201px) {
        #blog-column .main-column .post-detail .txt .ttl h2 {
          font-size: 24px; } }
      @media screen and (max-width: 768px) {
        #blog-column .main-column .post-detail .txt .ttl h2 {
          font-size: 4.8vw; } }
    #blog-column .main-column .post-detail .txt p {
      font-size: 1.3333333333vw;
      line-height: 2.4;
      margin: 0 0 2.5em; }
      @media screen and (min-width: 1201px) {
        #blog-column .main-column .post-detail .txt p {
          font-size: 16px; } }
      @media screen and (max-width: 768px) {
        #blog-column .main-column .post-detail .txt p {
          font-size: 3.7333333333vw; } }
    #blog-column .main-column .post-detail .txt .img-col2 {
      text-align: center;
      display: flex;
      justify-content: center;
      gap: 2em;
      margin: 0 0 2.5em; }
      @media screen and (max-width: 768px) {
        #blog-column .main-column .post-detail .txt .img-col2 {
          flex-direction: column;
          text-align: center; } }
      #blog-column .main-column .post-detail .txt .img-col2 br {
        display: none; }
    #blog-column .main-column .btn {
      display: flex;
      justify-content: center;
      padding: 5vw 0 0; }
      @media screen and (min-width: 1201px) {
        #blog-column .main-column .btn {
          padding: 60px 0 0; } }
      @media screen and (max-width: 768px) {
        #blog-column .main-column .btn {
          padding: 10.6666666667vw 0 0; } }
  #blog-column .side-column {
    width: 25vw; }
    @media screen and (min-width: 1201px) {
      #blog-column .side-column {
        width: 300px; } }
    @media screen and (max-width: 768px) {
      #blog-column .side-column {
        width: auto; } }
    #blog-column .side-column aside {
      margin: 0 0 4.1666666667vw; }
      @media screen and (min-width: 1201px) {
        #blog-column .side-column aside {
          margin: 0 0 50px; } }
      @media screen and (max-width: 768px) {
        #blog-column .side-column aside {
          margin: 0 0 8vw; } }
      #blog-column .side-column aside h3 {
        font-size: 2.5vw;
        font-weight: bold;
        font-family: "Roboto", sans-serif;
        color: #0172c5;
        padding: 0 0 .2em;
        border-bottom: solid #0172c5 0.25vw;
        text-align: center; }
        @media screen and (min-width: 1201px) {
          #blog-column .side-column aside h3 {
            font-size: 30px;
            border-bottom-width: 3px; } }
        @media screen and (max-width: 768px) {
          #blog-column .side-column aside h3 {
            font-size: 5.3333333333vw;
            border-bottom-width: 0.8vw; } }
      #blog-column .side-column aside ul li {
        border-bottom: solid #ccc 1px; }
        #blog-column .side-column aside ul li a {
          display: block;
          padding: 1em;
          font-size: 1.3333333333vw;
          background: url(../img/link-arrow.svg) no-repeat center right/0.4166666667vw auto;
          background-position: center right 4.2666666667vw; }
          @media screen and (min-width: 1201px) {
            #blog-column .side-column aside ul li a {
              font-size: 16px;
              background-position: center right 15px;
              background-size: 5px auto; } }
          @media screen and (max-width: 768px) {
            #blog-column .side-column aside ul li a {
              font-size: 3.7333333333vw;
              background-position: center right 3.7333333333vw;
              background-size: 1.0666666667vw auto; } }
      #blog-column .side-column aside.side-recent {
        border: solid #0172c5 1px;
        border-radius: 0.8333333333vw;
        overflow: hidden; }
        @media screen and (min-width: 1201px) {
          #blog-column .side-column aside.side-recent {
            border-radius: 10px; } }
        @media screen and (max-width: 768px) {
          #blog-column .side-column aside.side-recent {
            border-radius: 2.6666666667vw; } }
        #blog-column .side-column aside.side-recent h3 {
          font-size: 1.5vw;
          font-weight: 500;
          font-family: "Noto Sans JP", sans-serif;
          color: #fff;
          padding: 1em;
          border-bottom: none;
          text-align: center;
          background-color: #0172c5; }
          @media screen and (min-width: 1201px) {
            #blog-column .side-column aside.side-recent h3 {
              font-size: 18px; } }
          @media screen and (max-width: 768px) {
            #blog-column .side-column aside.side-recent h3 {
              font-size: 3.7333333333vw; } }
        #blog-column .side-column aside.side-recent ul {
          padding: 0 1.6666666667vw; }
          @media screen and (min-width: 1201px) {
            #blog-column .side-column aside.side-recent ul {
              padding: 0 20px; } }
          @media screen and (max-width: 768px) {
            #blog-column .side-column aside.side-recent ul {
              padding: 0 5.3333333333vw; } }
          #blog-column .side-column aside.side-recent ul li a {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1.6666666667vw 0;
            background: none; }
            @media screen and (min-width: 1201px) {
              #blog-column .side-column aside.side-recent ul li a {
                padding: 20px 0; } }
            @media screen and (max-width: 768px) {
              #blog-column .side-column aside.side-recent ul li a {
                padding: 5.3333333333vw 0; } }
          #blog-column .side-column aside.side-recent ul li:last-child {
            border-bottom: none; }
          #blog-column .side-column aside.side-recent ul li figure {
            width: 7.5vw;
            height: 7.5vw;
            overflow: hidden; }
            @media screen and (min-width: 1201px) {
              #blog-column .side-column aside.side-recent ul li figure {
                width: 90px;
                height: 90px; } }
            @media screen and (max-width: 768px) {
              #blog-column .side-column aside.side-recent ul li figure {
                width: 21.3333333333vw;
                height: 21.3333333333vw; } }
            #blog-column .side-column aside.side-recent ul li figure img {
              width: 100%;
              height: 100%;
              object-fit: cover; }
          #blog-column .side-column aside.side-recent ul li .txt {
            width: 12.5vw; }
            @media screen and (min-width: 1201px) {
              #blog-column .side-column aside.side-recent ul li .txt {
                width: 150px; } }
            @media screen and (max-width: 768px) {
              #blog-column .side-column aside.side-recent ul li .txt {
                width: 48vw; } }
            #blog-column .side-column aside.side-recent ul li .txt h4 {
              font-size: 1.1666666667vw;
              margin: 0 0 .3em; }
              @media screen and (min-width: 1201px) {
                #blog-column .side-column aside.side-recent ul li .txt h4 {
                  font-size: 14px; } }
              @media screen and (max-width: 768px) {
                #blog-column .side-column aside.side-recent ul li .txt h4 {
                  font-size: 3.2vw; } }
            #blog-column .side-column aside.side-recent ul li .txt p {
              font-size: 1vw;
              line-height: 1.3; }
              @media screen and (min-width: 1201px) {
                #blog-column .side-column aside.side-recent ul li .txt p {
                  font-size: 12px; } }
              @media screen and (max-width: 768px) {
                #blog-column .side-column aside.side-recent ul li .txt p {
                  font-size: 2.9333333333vw; } }

.wp-pagenavi {
  text-align: center;
  display: flex;
  gap: .8em;
  justify-content: center;
  align-items: center;
  font-size: 1.3333333333vw; }
  @media screen and (min-width: 1201px) {
    .wp-pagenavi {
      font-size: 16px; } }
  @media screen and (max-width: 768px) {
    .wp-pagenavi {
      font-size: 3.7333333333vw; } }
  .wp-pagenavi a {
    width: 2.8333333333vw;
    height: 2.8333333333vw;
    line-height: 2.6666666667vw;
    background-color: #fff;
    color: #999;
    text-align: center;
    font-weight: bold;
    border: solid #999 1px; }
    @media screen and (min-width: 1201px) {
      .wp-pagenavi a {
        width: 34px;
        height: 34px;
        line-height: 32px; } }
    @media screen and (max-width: 768px) {
      .wp-pagenavi a {
        width: 8vw;
        height: 8vw;
        line-height: 7.4666666667vw; } }
    .wp-pagenavi a:hover {
      opacity: 1;
      background-color: #0172c5;
      color: #fff;
      border: solid #0172c5 1px; }
  .wp-pagenavi span {
    width: 2.8333333333vw;
    height: 2.8333333333vw;
    line-height: 2.6666666667vw;
    background-color: #0172c5;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border: solid #0172c5 1px; }
    @media screen and (min-width: 1201px) {
      .wp-pagenavi span {
        width: 34px;
        height: 34px;
        line-height: 32px; } }
    @media screen and (max-width: 768px) {
      .wp-pagenavi span {
        width: 8vw;
        height: 8vw;
        line-height: 7.4666666667vw; } }

#page-header-contact {
  background-image: url(../img/page-header-contact.jpg); }

#contact-top {
  padding: 0 0 11.6666666667vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #contact-top {
      padding: 0 0 140px; } }
  @media screen and (max-width: 768px) {
    #contact-top {
      padding: 0 0 16vw; } }
  #contact-top:before {
    content: "";
    position: absolute;
    top: 0vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #contact-top:before {
        top: 0px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #contact-top:before {
        top: 0vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #contact-top:after {
    content: "";
    position: absolute;
    bottom: 3.3333333333vw;
    left: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #contact-top:after {
        bottom: 40px;
        left: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #contact-top:after {
        bottom: 5.3333333333vw;
        left: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #contact-top .content-cnt {
    position: relative;
    z-index: 10; }
    #contact-top .content-cnt .desc {
      margin: 0 0 3.3333333333vw; }
      @media screen and (min-width: 1201px) {
        #contact-top .content-cnt .desc {
          margin: 0 0 40px; } }
      @media screen and (max-width: 768px) {
        #contact-top .content-cnt .desc {
          margin: 0 0 5.3333333333vw; } }
      #contact-top .content-cnt .desc p {
        font-size: 1.3333333333vw;
        line-height: 2;
        margin: 0 0 1em; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .desc p {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .desc p {
            font-size: 3.4666666667vw; } }
        #contact-top .content-cnt .desc p small {
          font-size: 1.1666666667vw;
          color: #ff0000; }
          @media screen and (min-width: 1201px) {
            #contact-top .content-cnt .desc p small {
              font-size: 14px; } }
          @media screen and (max-width: 768px) {
            #contact-top .content-cnt .desc p small {
              font-size: 3.2vw; } }
    #contact-top .content-cnt .box {
      width: 49.1666666667vw;
      padding: 3.3333333333vw 0;
      background-color: #fff;
      border-radius: 1.6666666667vw;
      margin: 0 auto;
      text-align: center;
      box-shadow: 0 0 1.6666666667vw rgba(0, 0, 0, 0.15); }
      @media screen and (min-width: 1201px) {
        #contact-top .content-cnt .box {
          width: 590px;
          padding: 40px 0;
          border-radius: 20px;
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); } }
      @media screen and (max-width: 768px) {
        #contact-top .content-cnt .box {
          width: auto;
          padding: 5.3333333333vw;
          border-radius: 5.3333333333vw;
          box-shadow: 0 0 5.3333333333vw rgba(0, 0, 0, 0.15); } }
      #contact-top .content-cnt .box h3 {
        font-size: 2vw;
        font-weight: bold;
        margin: 0 0 .5em; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .box h3 {
            font-size: 24px; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .box h3 {
            font-size: 4.2666666667vw; } }
      #contact-top .content-cnt .box .tel {
        font-size: 2.5vw;
        font-weight: bold;
        margin: 0 0 0.8333333333vw; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .box .tel {
            font-size: 30px;
            margin: 0 0 10px; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .box .tel {
            font-size: 4.8vw;
            margin: 0 0 1.3333333333vw; } }
        #contact-top .content-cnt .box .tel strong {
          font-size: 3.3333333333vw;
          font-weight: bold; }
          @media screen and (min-width: 1201px) {
            #contact-top .content-cnt .box .tel strong {
              font-size: 40px; } }
          @media screen and (max-width: 768px) {
            #contact-top .content-cnt .box .tel strong {
              font-size: 6.4vw; } }
      #contact-top .content-cnt .box p {
        font-size: 1.3333333333vw;
        font-weight: bold; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .box p {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .box p {
            font-size: 3.4666666667vw; } }
    #contact-top .content-cnt .flow {
      padding: 6.6666666667vw 0 4.1666666667vw; }
      @media screen and (min-width: 1201px) {
        #contact-top .content-cnt .flow {
          padding: 80px 0 50px; } }
      @media screen and (max-width: 768px) {
        #contact-top .content-cnt .flow {
          padding: 10.6666666667vw 0 5.3333333333vw; } }
    #contact-top .content-cnt .notice {
      margin: 0 0 3.3333333333vw;
      padding: 0 4.1666666667vw; }
      @media screen and (min-width: 1201px) {
        #contact-top .content-cnt .notice {
          margin: 0 0 40px;
          padding: 0 50px; } }
      @media screen and (max-width: 768px) {
        #contact-top .content-cnt .notice {
          margin: 0 0 5.3333333333vw;
          padding: 0; } }
      #contact-top .content-cnt .notice p {
        font-size: 1.3333333333vw;
        line-height: 2; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .notice p {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .notice p {
            font-size: 3.4666666667vw; } }
        #contact-top .content-cnt .notice p strong {
          font-size: 1.1666666667vw;
          color: #ff0000; }
          @media screen and (min-width: 1201px) {
            #contact-top .content-cnt .notice p strong {
              font-size: 14px; } }
          @media screen and (max-width: 768px) {
            #contact-top .content-cnt .notice p strong {
              font-size: 3.2vw; } }
      #contact-top .content-cnt .notice .btn {
        display: flex;
        justify-content: center;
        padding: 3.3333333333vw 0 0; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .notice .btn {
            padding: 40px 0 0; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .notice .btn {
            padding: 5.3333333333vw 0 0; } }
    #contact-top .content-cnt .contact-form {
      padding: 0 4.1666666667vw; }
      @media screen and (min-width: 1201px) {
        #contact-top .content-cnt .contact-form {
          padding: 0 50px; } }
      @media screen and (max-width: 768px) {
        #contact-top .content-cnt .contact-form {
          padding: 0; } }
      #contact-top .content-cnt .contact-form table {
        width: 100%;
        border-collapse: collapse;
        font-size: 1.3333333333vw; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .contact-form table {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .contact-form table {
            display: block;
            font-size: 3.4666666667vw; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .contact-form table tr, #contact-top .content-cnt .contact-form table tbody {
            display: block; } }
        #contact-top .content-cnt .contact-form table th {
          text-align: left;
          vertical-align: top;
          font-weight: 600;
          padding: 2.0833333333vw 0; }
          @media screen and (min-width: 1201px) {
            #contact-top .content-cnt .contact-form table th {
              padding: 25px 0; } }
          @media screen and (max-width: 768px) {
            #contact-top .content-cnt .contact-form table th {
              display: block;
              padding: 5.3333333333vw 0 2.6666666667vw;
              border: none; } }
          #contact-top .content-cnt .contact-form table th .req {
            display: inline-block;
            color: #ff0000;
            font-weight: bold;
            margin: 0 0 0 .5em; }
        #contact-top .content-cnt .contact-form table td {
          text-align: left;
          vertical-align: top;
          font-weight: 600;
          padding: 1.25vw 0; }
          @media screen and (min-width: 1201px) {
            #contact-top .content-cnt .contact-form table td {
              padding: 15px 0; } }
          @media screen and (max-width: 768px) {
            #contact-top .content-cnt .contact-form table td {
              display: block;
              padding: 0 0 5.3333333333vw; } }
          #contact-top .content-cnt .contact-form table td input {
            padding: .6em 1em;
            border: solid #ccc 1px;
            border-radius: 0.5vw;
            background-color: #fff;
            width: 100%; }
            @media screen and (min-width: 1201px) {
              #contact-top .content-cnt .contact-form table td input {
                border-radius: 6px; } }
            @media screen and (max-width: 768px) {
              #contact-top .content-cnt .contact-form table td input {
                border-radius: 1.6vw; } }
          #contact-top .content-cnt .contact-form table td textarea {
            padding: .6em 1em;
            border: solid #ccc 1px;
            border-radius: 0.5vw;
            background-color: #white;
            width: 100%; }
            @media screen and (min-width: 1201px) {
              #contact-top .content-cnt .contact-form table td textarea {
                border-radius: 6px; } }
            @media screen and (max-width: 768px) {
              #contact-top .content-cnt .contact-form table td textarea {
                border-radius: 1.6vw; } }
          #contact-top .content-cnt .contact-form table td.col .col-fl {
            display: flex;
            align-items: center;
            gap: 1em; }
            #contact-top .content-cnt .contact-form table td.col .col-fl input {
              width: 6em; }
          #contact-top .content-cnt .contact-form table td.radio .mwform-radio-field {
            display: inline-block;
            padding: 0.8333333333vw 0 0; }
            @media screen and (min-width: 1201px) {
              #contact-top .content-cnt .contact-form table td.radio .mwform-radio-field {
                padding: 10px 0 0; } }
            @media screen and (max-width: 768px) {
              #contact-top .content-cnt .contact-form table td.radio .mwform-radio-field {
                padding: 0; } }
            #contact-top .content-cnt .contact-form table td.radio .mwform-radio-field input {
              width: auto; }
      #contact-top .content-cnt .contact-form .btn {
        display: flex;
        justify-content: center;
        padding: 5vw 0 0; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .contact-form .btn {
            padding: 60px 0 0; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .contact-form .btn {
            padding: 10.6666666667vw 0 0; } }
        #contact-top .content-cnt .contact-form .btn .btn-wrap {
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: #0172c5;
          color: #fff;
          text-align: center;
          width: 25vw;
          height: 5vw;
          border-radius: 5vw;
          position: relative;
          overflow: hidden;
          cursor: pointer; }
          @media screen and (min-width: 1201px) {
            #contact-top .content-cnt .contact-form .btn .btn-wrap {
              width: 300px;
              height: 60px;
              border-radius: 60px; } }
          @media screen and (max-width: 768px) {
            #contact-top .content-cnt .contact-form .btn .btn-wrap {
              width: 80vw;
              height: 16vw;
              border-radius: 16vw; } }
          #contact-top .content-cnt .contact-form .btn .btn-wrap:after {
            content: "";
            position: absolute;
            top: 50%;
            right: 1.6666666667vw;
            background: url(../img/btn-arrow.png) no-repeat center/contain;
            width: 1.7083333333vw;
            height: 1.2083333333vw;
            transform: translateY(-50%);
            transition: 0.3s ease; }
            @media screen and (min-width: 1201px) {
              #contact-top .content-cnt .contact-form .btn .btn-wrap:after {
                right: 20px;
                width: 20.5px;
                height: 14.5px; } }
            @media screen and (max-width: 768px) {
              #contact-top .content-cnt .contact-form .btn .btn-wrap:after {
                right: 5.3333333333vw;
                width: 5.4666666667vw;
                height: 3.8666666667vw; } }
          #contact-top .content-cnt .contact-form .btn .btn-wrap input {
            background-color: transparent;
            display: inline-block;
            border: none;
            padding: 0;
            width: 100%;
            height: 100%;
            font-size: 1.3333333333vw;
            letter-spacing: .05em;
            font-weight: 500; }
            @media screen and (min-width: 1201px) {
              #contact-top .content-cnt .contact-form .btn .btn-wrap input {
                font-size: 16px; } }
            @media screen and (max-width: 768px) {
              #contact-top .content-cnt .contact-form .btn .btn-wrap input {
                font-size: 3.7333333333vw; } }
          #contact-top .content-cnt .contact-form .btn .btn-wrap:hover {
            opacity: 1; }
            #contact-top .content-cnt .contact-form .btn .btn-wrap:hover:after {
              right: 1.25vw; }
              @media screen and (min-width: 1201px) {
                #contact-top .content-cnt .contact-form .btn .btn-wrap:hover:after {
                  right: 15px; } }
              @media screen and (max-width: 768px) {
                #contact-top .content-cnt .contact-form .btn .btn-wrap:hover:after {
                  right: 4vw; } }
      #contact-top .content-cnt .contact-form .mw_wp_form_confirm table th {
        padding: 1.25vw 0; }
        @media screen and (min-width: 1201px) {
          #contact-top .content-cnt .contact-form .mw_wp_form_confirm table th {
            padding: 15px 0; } }
        @media screen and (max-width: 768px) {
          #contact-top .content-cnt .contact-form .mw_wp_form_confirm table th {
            padding: 5.3333333333vw 0 2.6666666667vw; } }

#page-header-works {
  background-image: url(../img/page-header-works.jpg); }

#works-list {
  padding: 0 0 10vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #works-list {
      padding: 0 0 120px; } }
  @media screen and (max-width: 768px) {
    #works-list {
      padding: 0 0 21.3333333333vw; } }
  #works-list:before {
    content: "";
    position: absolute;
    top: 0vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #works-list:before {
        top: 0px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #works-list:before {
        top: 0vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #works-list .works-list-cat {
    margin: 0 0 7.5vw; }
    @media screen and (min-width: 1201px) {
      #works-list .works-list-cat {
        margin: 0 0 90px; } }
    @media screen and (max-width: 768px) {
      #works-list .works-list-cat {
        margin: 0 0 10.6666666667vw; } }
    #works-list .works-list-cat ul {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      gap: 1.1666666667vw; }
      @media screen and (min-width: 1201px) {
        #works-list .works-list-cat ul {
          gap: 14px; } }
      @media screen and (max-width: 768px) {
        #works-list .works-list-cat ul {
          grid-template-columns: 1fr 1fr;
          gap: 2.6666666667vw; } }
      #works-list .works-list-cat ul li a {
        display: block;
        font-size: 1.3333333333vw;
        font-weight: 500;
        color: #0172c5;
        background-color: #fff;
        padding: 1em;
        border-radius: 3.3333333333vw;
        border: solid #0172c5 0.1666666667vw;
        text-align: center;
        cursor: pointer; }
        @media screen and (min-width: 1201px) {
          #works-list .works-list-cat ul li a {
            font-size: 16px;
            border-radius: 40px;
            border-width: 2px; } }
        @media screen and (max-width: 768px) {
          #works-list .works-list-cat ul li a {
            font-size: 3.2vw;
            border-radius: 10.6666666667vw;
            border-width: 0.5333333333vw; } }
        #works-list .works-list-cat ul li a:hover {
          opacity: 1;
          background-color: #0172c5;
          color: #fff; }
      #works-list .works-list-cat ul li.current a {
        background-color: #0172c5;
        color: #fff; }
  #works-list .works-list-content .content {
    display: none; }
    #works-list .works-list-content .content.current {
      display: block; }
    #works-list .works-list-content .content ul {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 2.5vw; }
      @media screen and (min-width: 1201px) {
        #works-list .works-list-content .content ul {
          gap: 30px; } }
      @media screen and (max-width: 768px) {
        #works-list .works-list-content .content ul {
          grid-template-columns: 1fr;
          gap: 5.3333333333vw; } }
      #works-list .works-list-content .content ul li {
        width: 100%;
        height: 23.75vw;
        overflow: hidden;
        border-radius: 0.8333333333vw;
        position: relative; }
        @media screen and (min-width: 1201px) {
          #works-list .works-list-content .content ul li {
            height: 285px;
            border-radius: 10px; } }
        @media screen and (max-width: 768px) {
          #works-list .works-list-content .content ul li {
            height: 64vw;
            border-radius: 2.6666666667vw; } }
        #works-list .works-list-content .content ul li figure {
          position: absolute;
          top: 0;
          left: 0;
          z-index: 1;
          width: 100%;
          height: 100%;
          overflow: hidden; }
          #works-list .works-list-content .content ul li figure img {
            width: 100%;
            height: 100%;
            object-fit: 100%;
            transition: 0.3s ease; }
          #works-list .works-list-content .content ul li figure:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            z-index: 2; }
        #works-list .works-list-content .content ul li .txt {
          position: relative;
          z-index: 2;
          text-align: center;
          padding: 0 1.6666666667vw; }
          @media screen and (min-width: 1201px) {
            #works-list .works-list-content .content ul li .txt {
              padding: 0 20px; } }
          @media screen and (max-width: 768px) {
            #works-list .works-list-content .content ul li .txt {
              padding: 0 5.3333333333vw; } }
          #works-list .works-list-content .content ul li .txt p {
            font-size: 1.5vw;
            font-weight: 500;
            text-shadow: 0 0 0.5vw rgba(0, 0, 0, 0.6); }
            @media screen and (min-width: 1201px) {
              #works-list .works-list-content .content ul li .txt p {
                font-size: 18px;
                text-shadow: 0 0 6px rgba(0, 0, 0, 0.6); } }
            @media screen and (max-width: 768px) {
              #works-list .works-list-content .content ul li .txt p {
                font-size: 3.7333333333vw;
                text-shadow: 0 0 1.0666666667vw rgba(0, 0, 0, 0.6); } }
          #works-list .works-list-content .content ul li .txt .cat {
            padding: 0.8333333333vw 0 0; }
            @media screen and (min-width: 1201px) {
              #works-list .works-list-content .content ul li .txt .cat {
                padding: 10px 0 0; } }
            @media screen and (max-width: 768px) {
              #works-list .works-list-content .content ul li .txt .cat {
                padding: 2.6666666667vw 0 0; } }
            #works-list .works-list-content .content ul li .txt .cat span {
              display: inline-block;
              padding: .4em 2em;
              background-color: #0172c5;
              font-size: 1vw;
              border-radius: 3.3333333333vw; }
              @media screen and (min-width: 1201px) {
                #works-list .works-list-content .content ul li .txt .cat span {
                  font-size: 12px;
                  border-radius: 40px; } }
              @media screen and (max-width: 768px) {
                #works-list .works-list-content .content ul li .txt .cat span {
                  font-size: 2.6666666667vw;
                  border-radius: 10.6666666667vw; } }
        #works-list .works-list-content .content ul li a {
          width: 100%;
          height: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #fff; }
          #works-list .works-list-content .content ul li a:hover {
            opacity: 1; }
            #works-list .works-list-content .content ul li a:hover figure img {
              transform: scale(1.05); }

#works-post {
  padding: 0 0 10.8333333333vw;
  position: relative; }
  @media screen and (min-width: 1201px) {
    #works-post {
      padding: 0 0 130px; } }
  @media screen and (max-width: 768px) {
    #works-post {
      padding: 0 0 21.3333333333vw; } }
  #works-post:before {
    content: "";
    position: absolute;
    top: 0vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #works-post:before {
        top: 0px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #works-post:before {
        top: 0vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #works-post .works-post-cnt {
    padding: 0 8.3333333333vw; }
    @media screen and (min-width: 1201px) {
      #works-post .works-post-cnt {
        padding: 0 100px; } }
    @media screen and (max-width: 768px) {
      #works-post .works-post-cnt {
        padding: 0; } }
    #works-post .works-post-cnt h2 {
      font-size: 2.5vw;
      font-weight: bold;
      line-height: 1.2;
      margin: 0 0 .5em; }
      @media screen and (min-width: 1201px) {
        #works-post .works-post-cnt h2 {
          font-size: 30px; } }
      @media screen and (max-width: 768px) {
        #works-post .works-post-cnt h2 {
          font-size: 4.8vw; } }
    #works-post .works-post-cnt .cat {
      margin: 0 0 3.3333333333vw; }
      @media screen and (min-width: 1201px) {
        #works-post .works-post-cnt .cat {
          margin: 0 0 40px; } }
      @media screen and (max-width: 768px) {
        #works-post .works-post-cnt .cat {
          margin: 0 0 5.3333333333vw; } }
      #works-post .works-post-cnt .cat span {
        display: inline-block;
        padding: .5em 1.2em;
        background-color: #0172c5;
        color: #fff;
        border-radius: 3.3333333333vw;
        font-size: 1.3333333333vw; }
        @media screen and (min-width: 1201px) {
          #works-post .works-post-cnt .cat span {
            border-radius: 40px;
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #works-post .works-post-cnt .cat span {
            border-radius: 10.6666666667vw;
            font-size: 3.4666666667vw; } }
    #works-post .works-post-cnt p {
      font-size: 1.3333333333vw;
      line-height: 2; }
      @media screen and (min-width: 1201px) {
        #works-post .works-post-cnt p {
          font-size: 16px; } }
      @media screen and (max-width: 768px) {
        #works-post .works-post-cnt p {
          font-size: 3.4666666667vw; } }
    #works-post .works-post-cnt .works-post-slide {
      padding: 3.3333333333vw 0 0; }
      @media screen and (min-width: 1201px) {
        #works-post .works-post-cnt .works-post-slide {
          padding: 40px 0 0; } }
      @media screen and (max-width: 768px) {
        #works-post .works-post-cnt .works-post-slide {
          padding: 5.3333333333vw 0 0; } }
      #works-post .works-post-cnt .works-post-slide figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      #works-post .works-post-cnt .works-post-slide .slide-main {
        margin: 0 0 2.5vw; }
        @media screen and (min-width: 1201px) {
          #works-post .works-post-cnt .works-post-slide .slide-main {
            margin: 0 0 30px; } }
        @media screen and (max-width: 768px) {
          #works-post .works-post-cnt .works-post-slide .slide-main {
            margin: 0 0 5.3333333333vw; } }
        #works-post .works-post-cnt .works-post-slide .slide-main figure {
          width: 100%;
          height: 62.5vw;
          overflow: hidden;
          border-radius: 0.8333333333vw; }
          @media screen and (min-width: 1201px) {
            #works-post .works-post-cnt .works-post-slide .slide-main figure {
              height: 750px;
              border-radius: 10px; } }
          @media screen and (max-width: 768px) {
            #works-post .works-post-cnt .works-post-slide .slide-main figure {
              height: 64vw;
              border-radius: 2.6666666667vw; } }
      #works-post .works-post-cnt .works-post-slide .slide-thumb figure {
        width: 16vw;
        height: 12vw;
        overflow: hidden;
        border-radius: 0.5vw; }
        @media screen and (min-width: 1201px) {
          #works-post .works-post-cnt .works-post-slide .slide-thumb figure {
            width: 192px;
            height: 144px;
            border-radius: 6px; } }
        @media screen and (max-width: 768px) {
          #works-post .works-post-cnt .works-post-slide .slide-thumb figure {
            height: 13.3333333333vw;
            border-radius: 1.0666666667vw; } }
      #works-post .works-post-cnt .works-post-slide .slide-thumb .slick-list {
        margin: 0 0 0 -0.6666666667vw; }
        @media screen and (min-width: 1201px) {
          #works-post .works-post-cnt .works-post-slide .slide-thumb .slick-list {
            margin: 0 0 0 -8px; } }
        @media screen and (max-width: 768px) {
          #works-post .works-post-cnt .works-post-slide .slide-thumb .slick-list {
            margin: 0 0 0 -1.6vw; } }
      #works-post .works-post-cnt .works-post-slide .slide-thumb .slick-slide {
        margin: 0 0.3333333333vw; }
        @media screen and (min-width: 1201px) {
          #works-post .works-post-cnt .works-post-slide .slide-thumb .slick-slide {
            margin: 0 4px; } }
        @media screen and (max-width: 768px) {
          #works-post .works-post-cnt .works-post-slide .slide-thumb .slick-slide {
            margin: 0 0.8vw; } }
  #works-post .btn {
    padding: 7.5vw 0 0;
    display: flex;
    justify-content: center; }
    @media screen and (min-width: 1201px) {
      #works-post .btn {
        padding: 90px 0 0; } }
    @media screen and (max-width: 768px) {
      #works-post .btn {
        padding: 10.6666666667vw 0 0; } }

#page-header-recruit {
  background-image: url(../img/page-header-recruit.jpg); }

#recruit-top {
  position: relative; }
  #recruit-top:before {
    content: "";
    position: absolute;
    top: 0vw;
    right: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #recruit-top:before {
        top: 0px;
        right: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #recruit-top:before {
        top: 0vw;
        right: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #recruit-top .content-cnt .content-row {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 768px) {
      #recruit-top .content-cnt .content-row {
        display: block; } }
    #recruit-top .content-cnt .content-row figure {
      width: 41.6666666667vw; }
      @media screen and (min-width: 1201px) {
        #recruit-top .content-cnt .content-row figure {
          width: 500px; } }
      @media screen and (max-width: 768px) {
        #recruit-top .content-cnt .content-row figure {
          width: auto;
          margin: 0 0 5.3333333333vw; } }
    #recruit-top .content-cnt .content-row .txt {
      width: 50vw; }
      @media screen and (min-width: 1201px) {
        #recruit-top .content-cnt .content-row .txt {
          width: 600px; } }
      @media screen and (max-width: 768px) {
        #recruit-top .content-cnt .content-row .txt {
          width: auto; } }
      #recruit-top .content-cnt .content-row .txt h3 {
        font-size: 2.1666666667vw;
        font-weight: bold;
        color: #0172c5;
        margin: 0 0 1em; }
        @media screen and (min-width: 1201px) {
          #recruit-top .content-cnt .content-row .txt h3 {
            font-size: 26px; } }
        @media screen and (max-width: 768px) {
          #recruit-top .content-cnt .content-row .txt h3 {
            font-size: 4.8vw; } }
      #recruit-top .content-cnt .content-row .txt p {
        font-size: 1.3333333333vw;
        margin: 0 0 1em;
        line-height: 2; }
        @media screen and (min-width: 1201px) {
          #recruit-top .content-cnt .content-row .txt p {
            font-size: 16px; } }
        @media screen and (max-width: 768px) {
          #recruit-top .content-cnt .content-row .txt p {
            font-size: 3.4666666667vw; } }
        #recruit-top .content-cnt .content-row .txt p:last-child {
          margin: 0; }

#recruit-info {
  position: relative; }
  #recruit-info:after {
    content: "";
    position: absolute;
    bottom: 3.3333333333vw;
    left: -3.3333333333vw;
    background: url(../img/bg-icon.png) no-repeat center/contain;
    width: 45.9583333333vw;
    height: 41.9166666667vw; }
    @media screen and (min-width: 1201px) {
      #recruit-info:after {
        bottom: 40px;
        left: -40px;
        width: 551.5px;
        height: 503px; } }
    @media screen and (max-width: 768px) {
      #recruit-info:after {
        bottom: 5.3333333333vw;
        left: -5.3333333333vw;
        width: 73.6vw;
        height: 67.2vw; } }
  #recruit-info .content-cnt table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.3333333333vw;
    line-height: 2;
    border-top: solid #ccc 1px; }
    @media screen and (min-width: 1201px) {
      #recruit-info .content-cnt table {
        font-size: 16px; } }
    @media screen and (max-width: 768px) {
      #recruit-info .content-cnt table {
        display: block;
        font-size: 3.4666666667vw; } }
    @media screen and (max-width: 768px) {
      #recruit-info .content-cnt table tr, #recruit-info .content-cnt table tbody {
        display: block; } }
    #recruit-info .content-cnt table th {
      text-align: left;
      vertical-align: top;
      font-weight: 600;
      padding: 2.0833333333vw 1.6666666667vw;
      border-bottom: solid #ccc 1px;
      color: #0172c5; }
      @media screen and (min-width: 1201px) {
        #recruit-info .content-cnt table th {
          padding: 25px 20px; } }
      @media screen and (max-width: 768px) {
        #recruit-info .content-cnt table th {
          display: block;
          padding: 5.3333333333vw 0 0;
          border: none; } }
    #recruit-info .content-cnt table td {
      text-align: left;
      vertical-align: top;
      font-weight: 600;
      padding: 2.0833333333vw 1.6666666667vw;
      border-bottom: solid #ccc 1px; }
      @media screen and (min-width: 1201px) {
        #recruit-info .content-cnt table td {
          padding: 25px 20px; } }
      @media screen and (max-width: 768px) {
        #recruit-info .content-cnt table td {
          display: block;
          padding: 0 0 5.3333333333vw; } }
      #recruit-info .content-cnt table td ul li {
        position: relative;
        padding: 0 0 0 1.5em; }
        #recruit-info .content-cnt table td ul li:before {
          position: absolute;
          top: 0;
          left: 0;
          content: "●";
          color: #0172c5; }

.recruit-content {
  margin: 0 0 7.5vw; }
  @media screen and (min-width: 1201px) {
    .recruit-content {
      margin: 0 0 90px; } }
  @media screen and (max-width: 768px) {
    .recruit-content {
      margin: 0 0 13.3333333333vw; } }
  .recruit-content .content-ttl {
    margin: 0 0 4.1666666667vw;
    position: relative;
    z-index: 10; }
    @media screen and (min-width: 1201px) {
      .recruit-content .content-ttl {
        margin: 0 0 50px; } }
    @media screen and (max-width: 768px) {
      .recruit-content .content-ttl {
        margin: 0 0 8vw; } }
    .recruit-content .content-ttl h2 {
      font-size: 5vw; }
      @media screen and (min-width: 1201px) {
        .recruit-content .content-ttl h2 {
          font-size: 60px; } }
      @media screen and (max-width: 768px) {
        .recruit-content .content-ttl h2 {
          font-size: 8vw; } }
    .recruit-content .content-ttl p {
      font-size: 1.5vw; }
      @media screen and (min-width: 1201px) {
        .recruit-content .content-ttl p {
          font-size: 18px; } }
      @media screen and (max-width: 768px) {
        .recruit-content .content-ttl p {
          font-size: 3.7333333333vw; } }
  .recruit-content .content-cnt {
    position: relative;
    z-index: 10; }

/*# sourceMappingURL=common.css.map */
