*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem !important;
  width: 100%;
  font-family: "Noto Serif JP", serif;
  /*font-family: "Noto Sans JP", sans-serif;*/
  font-weight: 400;
  font-style: normal;
  color: #000;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-x: hidden;
  overflow-y: scroll; }

ul {
  list-style-type: none;
  list-style-position: inside; }

h1, h2, h3, p, ul, li, dl, dt, dd, a {
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  letter-spacing: 0.1em; }

img {
  width: 100%;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #333; }
  a:hover {
    color: #333; }
  a:visited {
    color: #333; }

@media screen and (min-width: 1025px) {
  .pc {
    display: block !important; } }
@media screen and (max-width: 1024px) {
  .pc {
    display: none !important; } }
@media screen and (max-width: 600px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .tab {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .tab {
    display: block !important; } }
@media screen and (max-width: 600px) {
  .tab {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 600px) {
  .sp {
    display: block !important; } }

#wrap {
  width: 100%;
  min-height: 100vh; }
  @media screen and (max-width: 600px) {
    #wrap {
      height: 100%; } }
  #wrap #contents header {
    padding: 35px; }
    @media screen and (max-width: 600px) {
      #wrap #contents header {
        padding: 45px 0 25px; } }
    #wrap #contents header #logo {
      height: 67px;
      background: url("../img/logo_white.svg") no-repeat left center;
      background-size: contain;
      /*background-color: #fff;
      mask-image: url('../img/logo.svg');
      mask-repeat: no-repeat;
      mask-position: left center;
      mask-size: contain;*/ }
      @media screen and (max-width: 600px) {
        #wrap #contents header #logo {
          width: 100%;
          max-width: 200px;
          margin: 0 auto; } }
  #wrap #contents footer {
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 1024px) {
      #wrap #contents footer {
        padding: 20px 0 0; } }
    #wrap #contents footer #comapny {
      display: grid;
      grid-template-columns: auto auto;
      justify-content: center;
      align-items: center;
      gap: 0 100px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 600px) {
        #wrap #contents footer #comapny {
          grid-template-columns: 1fr;
          gap: 10px 0; } }
      #wrap #contents footer #comapny dl {
        display: grid;
        grid-template-columns: auto auto;
        justify-content: center;
        align-items: center;
        gap: 0 25px; }
        @media screen and (max-width: 600px) {
          #wrap #contents footer #comapny dl {
            grid-template-columns: 1fr;
            gap: 0; } }
        #wrap #contents footer #comapny dl dt {
          font-weight: 400;
          line-height: 43px; }
          @media screen and (max-width: 600px) {
            #wrap #contents footer #comapny dl dt {
              text-align: center;
              line-height: normal; } }
        #wrap #contents footer #comapny dl dd img {
          height: 43px; }
    #wrap #contents footer .copy {
      text-align: right;
      font-size: 0.6875em;
      font-weight: 500;
      line-height: 22px;
      letter-spacing: 0.05em;
      padding: 0 10px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 600px) {
        #wrap #contents footer .copy {
          text-align: center;
          margin: 20px 0 0;
          padding: 0;
          font-size: 0.625em; } }
