@charset "UTF-8";
/*
* base
*/
/*
* 変数用scss(カラーコード以外)
*/
body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  line-height: 1;
  word-break: break-all; }

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, textarea {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

img {
  vertical-align: bottom; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section, div, address, iframe, canvas, hr, textarea {
  display: block;
  line-height: 1; }

iframe {
  width: 100% !important; }

a, label {
  cursor: pointer; }

blockquote {
  padding: 0;
  margin: 0;
  display: block; }

address, em {
  font-style: normal; }

hr {
  border: 0;
  margin: 0;
  padding: 0; }

ul, ol, li {
  list-style: none; }

textarea {
  resize: vertical;
  overflow: hidden;
  -webkit-appearance: none;
  border: none; }

input, button, select {
  vertical-align: middle;
  border-radius: 0px;
  border: none;
  background: transparent;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none; }

table {
  border-collapse: collapse; }

*:before,
*:after {
  padding: 0;
  margin: 0;
  line-height: 1; }

* {
  box-sizing: border-box; }

body {
  color: #1d1414;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; }
  @media screen and (max-width: 828px) {
    body.top {
      background: url(/assets/img/top/bg_body_sp.jpg) no-repeat center top; } }
  @media screen and (min-width: 829px) {
    body.top {
      background: url(/assets/img/top/bg_body.jpg) no-repeat center top; 
      background-size: contain; }}
  @media screen and (min-width: 829px) {
    body.lower.legal {
      background: url(/assets/img/legal/bg_legal_pc.jpg) no-repeat center 240px; 
      background-size: contain;} }
  @media screen and (min-width: 829px) {
    body.lower.arbitrary {
      background: url(/assets/img/legal/bg_legal_pc.jpg) no-repeat center 240px; } }

input:focus {
  outline: 0; }

select:focus {
  outline: 0; }

textarea:focus {
  outline: 0; }

.global {
  position: relative;
  z-index: 2; }

section {
  position: relative;
  z-index: 2; }

a {
  color: #1d1414;
  text-decoration: none;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  a:hover {
    opacity: .6; }

.inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1024px; }

p {
  line-height: 1.6;
  font-size: 16.67px;
  text-align: justify; }

@media screen and (max-width: 828px) {
  body {
    padding: 105px 0 0; }
  .sp-on {
    display: block; }
  img {
    max-width: 100%; }
  .pc-on {
    display: none !important; }
  .inner {
    width: 92%;
    margin: 0 auto; } }

@media screen and (min-width: 829px) {
  .pc-on {
    display: block; }
  .sp-on {
    display: none !important; }
  a {
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    a:hover {
      opacity: .6; } }

/*
* pages
*/
@media screen and (max-width: 828px) {
  body header {
    background: #FFF;
    position: relative;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
    body header .inner {
      width: 100%;
      max-width: 1024px;
      margin: 0 auto;
      padding: 20px 20px;
      overflow: hidden; }
      body header .inner h2 {
        display: block;
        float: left; }
      body header .inner .contact {
        float: right;
        margin: 10px 0 0; }
        body header .inner .contact .tel {
          display: inline-block; }
        body header .inner .contact .mail {
          display: inline-block;
          margin: 0 0 0 5px; }
      body header .inner > a {
        display: none; }
    body header.is-scroll {
      box-shadow: 2px 2px 6px 2px #CCC;
      position: fixed;
      z-index: 999;
      display: none; }
      body header.is-scroll h2 {
        display: none; }
      body header.is-scroll .inner > a {
        display: inline-block; }
  body .global {
    background: #FFF;
    width: 100%;
    padding: 0 0 20px; }
    body .global .inner {
      width: 100%; }
      body .global .inner ul {
        width: 100%;
        display: block;
        overflow: hidden; }
        body .global .inner ul li {
          background: #f4f3f3;
          float: left;
          text-align: center;
          display: block;
          padding: 30px 0; }
          body .global .inner ul li:nth-child(1) {
            width: 60%;
            margin: 0 0 10px; }
            body .global .inner ul li:nth-child(1) a:after {
              background: #bbbaba;
              content: "";
              display: block;
              width: 1px;
              height: 26px;
              position: absolute;
              top: 50%;
              right: 0;
              margin: -13px 0 0; }
          body .global .inner ul li:nth-child(2) {
            width: 14%;
            margin: 0 0 10px; }
          body .global .inner ul li:nth-child(3) {
            width: 30%; }
          body .global .inner ul li:nth-child(4) {
            width: 26%; }
          body .global .inner ul li:nth-child(5) {
            width: 30%; }
            body .global .inner ul li:nth-child(5) a:after {
              content: none; }
          body .global .inner ul li a {
            color: #686464;
            font-size: 26px;
            font-weight: 500;
            position: relative;
            display: block; }
            body .global .inner ul li a:after {
              background: #bbbaba;
              content: "";
              display: block;
              width: 1px;
              height: 26px;
              position: absolute;
              top: 50%;
              right: 0;
              margin: -13px 0 0; }
  body .sp-nav {
    display: none;
    position: fixed;
    background: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    top: 105px;
    left: 0;
    z-index: 998; }
    body .sp-nav .inner {
      width: 90%;
      margin: 0 auto;
      position: relative;
      padding: 240px 0 0; }
      body .sp-nav .inner .top-btn {
        position: absolute;
        display: block;
        width: 249px;
        height: 130px;
        top: 30px;
        left: 0; }
      body .sp-nav .inner .bottom-btn {
        position: relative;
        display: block;
        width: 99px;
        margin: 0 auto; }
      body .sp-nav .inner ul li {
        margin: 0 0 100px;
        text-align: center; }
        body .sp-nav .inner ul li a {
          color: #FFF;
          font-weight: 100;
          font-size: 36px;
          display: inline-block; }
        body .sp-nav .inner ul li.tel a {
          position: relative;
          line-height: 2.4;
          border: 1px solid #FFF;
          border-radius: 10px;
          padding: 0 30px 0 90px; }
          body .sp-nav .inner ul li.tel a:before {
            content: "";
            display: block;
            background: url(/assets/img/common/ico_tel.png) no-repeat;
            width: 39px;
            height: 64px;
            position: absolute;
            top: 50%;
            left: 30px;
            margin: -32px 0 0; } }

@media screen and (min-width: 829px) {
  body header {
    position: relative;
    padding: 20px 0 0; }
    body header .inner {
      width: 100%;
      max-width: 1024px;
      margin: 0 auto;
      padding: 10px 0;
      overflow: hidden; }
      body header .inner h2 {
        display: block;
        float: left; }
      body header .inner .contact {
        float: right; }
        body header .inner .contact .tel {
          display: inline-block; }
        body header .inner .contact .mail {
          display: inline-block;
          margin: 0 0 0 5px; }
      body header .inner .global {
        width: auto;
        float: right; }
        body header .inner .global .inner ul {
          width: 100%;
          display: block;
          overflow: hidden; }
          body header .inner .global .inner ul li {
            text-align: center;
            display: inline-block;
            vertical-align: middle; }
            body header .inner .global .inner ul li a {
              color: #686464;
              font-size: 16px;
              font-weight: 300;
              display: inline-block;
              padding: 0 1em; }
    body header.is-scroll {
      display: none; }
  body header {
    z-index: 2; }
  body .sp-nav {
    display: none; } }

@media screen and (max-width: 768px) {
  footer {
    background: #e9e7e8;
    position: relative;
    z-index: 3; }
    footer .totop {
      position: absolute;
      top: -50px;
      right: 5%; }
    footer .inner {
      padding: 30px 0;
      overflow: hidden; }
      footer .inner .footer-link {
        display: inline-block;
        width: 40%;
        vertical-align: middle; }
        footer .inner .footer-link ul li {
          text-align: center; }
          footer .inner .footer-link ul li a {
            color: #4f4b4b;
            font-size: 16px;
            position: relative;
            padding: 0 0 0 14px;
            display: inline-block; }
            footer .inner .footer-link ul li a:before {
              content: "";
              display: block;
              position: absolute;
              width: 0;
              height: 0;
              border-top: 6px solid transparent;
              border-left: 10px solid #62482e;
              border-right: 10px solid transparent;
              border-bottom: 6px solid transparent;
              top: 50%;
              left: 0;
              margin: -6px 0 0; }
      footer .inner .footer-txt {
        display: inline-block;
        width: 60%;
        vertical-align: middle; }
        footer .inner .footer-txt span {
          color: #4f4b4b;
          font-size: 16px;
          display: block; }
          footer .inner .footer-txt span:first-child {
            margin: 0 0 4px; }
    footer .copyright {
      background: #FFF;
      padding: 10px 0 20px; }
      footer .copyright p {
        color: #bebcbd;
        font-size: 16px;
        text-align: center; } }

@media screen and (min-width: 769px) {
  footer {
    background: #e9e7e8;
    position: relative;
    z-index: 3; }
    footer .totop {
      position: absolute;
      top: -110px;
      right: 14%; }
    footer .inner {
      padding: 30px 0;
      overflow: hidden; }
      footer .inner .footer-link {
        float: left;
        width: 20%; }
        footer .inner .footer-link ul li a {
          color: #4f4b4b;
          font-size: 12px;
          position: relative;
          padding: 0 0 0 14px; }
          footer .inner .footer-link ul li a:before {
            content: "";
            display: block;
            position: absolute;
            width: 0;
            height: 0;
            border-top: 4px solid transparent;
            border-left: 6px solid #4f4b4b;
            border-right: 6px solid transparent;
            border-bottom: 4px solid transparent;
            top: 50%;
            left: 0;
            margin: -4px 0 0; }
      footer .inner .footer-txt {
        float: left;
        width: 80%; }
        footer .inner .footer-txt span {
          color: #4f4b4b;
          font-size: 12px; }
          footer .inner .footer-txt span:last-child {
            margin: 0 0 0 10px; }
    footer .copyright {
      background: #FFF;
      padding: 18px 0; }
      footer .copyright p {
        color: #bebcbd;
        font-size: 12px;
        text-align: center; } }
