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

img {
  border: 0;
  vertical-align: bottom; }

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

ul, li {
  list-style: none; }

caption, th {
  text-align: left; }

@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans bold';
  src: url("../fonts/OpenSans-Bold.ttf") format("truetype");
  font-display: swap; }
/* html
------------------------------------------------- */
html {
  overflow-y: scroll;
  height: 100%;
  scroll-behavior: smooth; }

/* body
------------------------------------------------- */
body {
  width: 100%;
  height: 100%;
  color: #333;
  font-size: 16px;
  font-family: 'noto sans';
  line-height: 1.6;
  letter-spacing: 0.05em;
  _display: inline;
  _zoom: 1; }
  body .pc {
    display: block; }
  body .sp {
    display: none; }

@media (min-device-width: 641px) and (max-device-width: 1024px) {
  body {
    min-width: 1024px; } }
@media (max-width: 640px) {
  body {
    min-width: 320px;
    max-width: 640px;
    font-size: 13px; }
    body img {
      width: 100%;
      height: auto; }
    body .pc {
      display: none; }
    body .sp {
      display: block; } }
/* wrapper
------------------------------------------------- */
#wrapper {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  position: relative; }

/* header
------------------------------------------------- */
.header {
  border-bottom: 1px solid #eee;
  background: #fff;
  max-width: 1800px;
  margin: 0 auto;
  padding-bottom: 15px; }
  .header__upper {
    margin-bottom: 30px; }
    .header__upper--inner {
      max-width: 1160px;
      margin: 0 auto;
      padding: 20px 20px 0; }
      .header__upper--inner h1 {
        width: 252px;
        float: left;
        margin: 2px 0 0; }
        .header__upper--inner h1 img {
          width: 100%;
          height: auto; }
      .header__upper--inner .hnav {
        width: 530px;
        float: right;
        display: flex; }
        .header__upper--inner .hnav li:first-child {
          width: 152px;
          margin-right: 18px; }
          .header__upper--inner .hnav li:first-child a {
            display: block;
            border-radius: 10px;
            background: #f5f5f8;
            padding: 13px 0 13px 20px;
            text-align: center;
            color: #333;
            font-family: 'noto sans bold';
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__upper--inner .hnav li:first-child a span {
              position: relative; }
              .header__upper--inner .hnav li:first-child a span:before {
                content: "";
                position: absolute;
                top: 3px;
                left: -30px;
                background: url("../img/common/icon_login.png") no-repeat center center;
                width: 19px;
                height: 20px; }
            .header__upper--inner .hnav li:first-child a:hover {
              background: #c9ddff;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
        .header__upper--inner .hnav li:nth-child(2) {
          width: 152px;
          margin-right: 18px; }
          .header__upper--inner .hnav li:nth-child(2) a {
            display: block;
            border-radius: 10px;
            background: #f5f5f8;
            padding: 13px 0 13px 20px;
            text-align: center;
            color: #333;
            font-family: 'noto sans bold';
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__upper--inner .hnav li:nth-child(2) a span {
              position: relative; }
              .header__upper--inner .hnav li:nth-child(2) a span:before {
                content: "";
                position: absolute;
                top: 3px;
                left: -30px;
                background: url("../img/common/icon_cart.png") no-repeat center center;
                width: 19px;
                height: 20px; }
            .header__upper--inner .hnav li:nth-child(2) a:hover {
              background: #c9ddff;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
        .header__upper--inner .hnav li:nth-child(3) {
          width: 192px; }
          .header__upper--inner .hnav li:nth-child(3) a {
            display: block;
            border-radius: 10px;
            background: #2f70db;
            padding: 13px 0 13px 25px;
            text-align: center;
            color: #fff;
            font-family: 'noto sans bold';
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__upper--inner .hnav li:nth-child(3) a span {
              position: relative; }
              .header__upper--inner .hnav li:nth-child(3) a span:before {
                content: "";
                position: absolute;
                top: 5px;
                left: -30px;
                background: url("../img/common/icon_contact.png") no-repeat center center;
                width: 20px;
                height: 16px; }
            .header__upper--inner .hnav li:nth-child(3) a:hover {
              background: #79a6f2;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
  .header__nav--inner {
    max-width: 1160px;
    margin: 0 auto; }
    .header__nav--inner ul.nav {
      background: url("../img/common/bg_nav.png") no-repeat left center;
      display: flex; }
      .header__nav--inner ul.nav li {
        background: url("../img/common/bg_nav.png") no-repeat right center; }
        .header__nav--inner ul.nav li a {
          display: block;
          padding: 5px 71.5px;
          text-align: center;
          font-size: 16px;
          font-family: 'noto sans bold';
          line-height: 1.2;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .header__nav--inner ul.nav li a span {
            color: #8c8c8d;
            font-size: 12px;
            font-family: 'opensans'; }
          .header__nav--inner ul.nav li a:hover {
            color: #2f70db;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (min-width: 641px) and (max-width: 1160px) {
  .header__nav--inner ul.nav li a {
    padding: 5px 56px; } }
@media (max-width: 640px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    padding-bottom: 0;
    z-index: 9999; }
    .header__upper {
      margin-bottom: 0; }
      .header__upper--inner {
        max-width: 100%;
        padding: 0; }
        .header__upper--inner h1 {
          width: 50%;
          float: left;
          margin: 0.5% 0 0 3%; }
          .header__upper--inner h1 a {
            display: block; }
        .header__upper--inner .hnav {
          display: none; }
        .header__upper--inner .spmenu {
          width: 15%;
          float: right; }
          .header__upper--inner .spmenu #panel-btn #panel-btn-icon {
            display: block;
            background: url("../img/common/btn_menu_sp.png") no-repeat center center;
            background-size: cover;
            width: 100%;
            height: 100%;
            padding: 33.7% 0;
            position: relative;
            text-indent: -9999px;
            transition: 0.3s; }
            .header__upper--inner .spmenu #panel-btn #panel-btn-icon.close {
              background: url("../img/common/btn_menu_close_sp.png") no-repeat center center;
              background-size: cover;
              transition: 0.3s; }
    .header .menu-box {
      display: none;
      position: fixed;
      background: #2f70db;
      width: 100%;
      top: 8.5%;
      left: 0;
      bottom: 0;
      z-index: 9998;
      overflow-y: scroll; }
    .header__nav {
      margin: 0; }
      .header__nav:after {
        content: ""; }
      .header__nav--inner ul.nav {
        background: none;
        display: block;
        padding: 7% 10% 7%; }
        .header__nav--inner ul.nav li {
          background: none;
          width: 100%;
          margin: 0; }
          .header__nav--inner ul.nav li a {
            padding: 3% 0;
            color: #fff;
            font-size: 16px;
            letter-spacing: 0.1em; }
            .header__nav--inner ul.nav li a span {
              color: #fff;
              font-size: 10px; }
            .header__nav--inner ul.nav li a:hover {
              color: #fff; }
      .header__nav--inner .snav {
        display: flex;
        flex-wrap: wrap;
        padding: 0 10%; }
        .header__nav--inner .snav li:first-child {
          width: 48%;
          margin-right: 4%;
          margin-bottom: 4%; }
          .header__nav--inner .snav li:first-child a {
            display: block;
            border-radius: 5px;
            background: #f5f5f8;
            padding: 13px 0 13px 20px;
            text-align: center;
            color: #333;
            font-family: 'noto sans bold'; }
            .header__nav--inner .snav li:first-child a span {
              position: relative; }
              .header__nav--inner .snav li:first-child a span:before {
                content: "";
                position: absolute;
                top: 1px;
                left: -30px;
                background: url("../img/common/icon_login.png") no-repeat center center;
                width: 19px;
                height: 20px; }
            .header__nav--inner .snav li:first-child a:hover {
              text-decoration: none; }
        .header__nav--inner .snav li:nth-child(2) {
          width: 48%; }
          .header__nav--inner .snav li:nth-child(2) a {
            display: block;
            border-radius: 5px;
            background: #f5f5f8;
            padding: 13px 0 13px 20px;
            text-align: center;
            color: #333;
            font-family: 'noto sans bold'; }
            .header__nav--inner .snav li:nth-child(2) a span {
              position: relative; }
              .header__nav--inner .snav li:nth-child(2) a span:before {
                content: "";
                position: absolute;
                top: 1px;
                left: -30px;
                background: url("../img/common/icon_cart.png") no-repeat center center;
                width: 19px;
                height: 20px; }
            .header__nav--inner .snav li:nth-child(2) a:hover {
              text-decoration: none; }
        .header__nav--inner .snav li:nth-child(3) {
          width: 100%; }
          .header__nav--inner .snav li:nth-child(3) a {
            display: block;
            border-radius: 5px;
            border: 1px solid #fff;
            background: #2f70db;
            padding: 13px 0 13px 25px;
            text-align: center;
            color: #fff;
            font-family: 'noto sans bold'; }
            .header__nav--inner .snav li:nth-child(3) a span {
              position: relative; }
              .header__nav--inner .snav li:nth-child(3) a span:before {
                content: "";
                position: absolute;
                top: 3px;
                left: -30px;
                background: url("../img/common/icon_contact.png") no-repeat center center;
                background-size: cover;
                width: 18px;
                height: 14px; }
            .header__nav--inner .snav li:nth-child(3) a:hover {
              text-decoration: none; } }
/* article
------------------------------------------------- */
article {
  max-width: 1800px;
  margin: 0 auto; }

.mv {
  background: url("../img/top/img_mv.jpg") no-repeat center center;
  background-size: cover;
  max-width: 1800px;
  min-height: 150px;
  margin: 0 auto;
  overflow: hidden; }
  .mv__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
    overflow: hidden; }
    .mv__inner--en {
      padding-top: 3%;
      color: #8c8c8d;
      font-size: 16px;
      font-family: 'opensans';
      line-height: 1.2; }
    .mv__inner--jp {
      font-size: 40px;
      font-family: 'noto sans bold'; }

@media (max-width: 640px) {
  .mv {
    background: url("../img/top/img_mv.jpg") no-repeat center center;
    background-size: cover;
    max-width: 1800px;
    min-height: 0;
    margin-top: 15%; }
    .mv__inner {
      max-width: 94%;
      padding: 20% 0; }
      .mv__inner--en {
        padding-top: 0;
        font-size: 12px; }
      .mv__inner--jp {
        font-size: 20px; } }
.mvlow {
  background: url("../img/top/img_mv.jpg") no-repeat center center;
  background-size: cover;
  max-width: 1800px;
  min-height: 150px;
  margin: 0 auto;
  overflow: hidden; }
  .mvlow__inner {
    max-width: 1160px;
    margin: 0 auto;
    overflow: hidden; }
    .mvlow__inner .en {
      padding-top: 3%;
      color: #8c8c8d;
      font-size: 16px;
      font-family: 'opensans';
      line-height: 1.4; }
    .mvlow__inner h2 {
      font-size: 40px;
      font-family: 'noto sans bold'; }

@media (max-width: 640px) {
  .mvlow {
    min-height: 0;
    margin-top: 15%; }
    .mvlow__inner {
      max-width: 94%;
      padding: 20% 0; }
      .mvlow__inner .en {
        padding-top: 0;
        font-size: 12px; }
      .mvlow__inner h2 {
        font-size: 20px; } }
.btn_detail {
  width: 240px;
  margin: 0 auto; }
  .btn_detail a {
    display: block;
    border-radius: 7px;
    border: 1px solid #2f70db;
    background: #fff;
    padding: 14px 0;
    text-align: center;
    color: #2f70db !important;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    .btn_detail a span {
      position: relative; }
      .btn_detail a span:after {
        content: "";
        position: absolute;
        top: 9px;
        right: -25px;
        width: 5px;
        height: 5px;
        border-top: 1.5px solid #2f70db;
        border-right: 1.5px solid #2f70db;
        transform: rotate(45deg); }
    .btn_detail a:hover {
      background: #c9ddff;
      text-decoration: none;
      -moz-transition: .5s;
      -webkit-transition: .5s;
      -o-transition: .5s;
      -ms-transition: .5s;
      transition: .5s; }

@media (max-width: 640px) {
  .btn_detail {
    width: 60%; }
    .btn_detail a {
      padding: 3% 0;
      font-size: 14px; }
      .btn_detail a:hover {
        background: #fff; } }
.cta {
  background: url("../img/common/bg_cta.jpg") no-repeat center top;
  background-size: cover;
  max-width: 1800px;
  margin: 0 auto;
  padding: 100px 20px; }
  .cta__inner {
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.9);
    max-width: 1160px;
    margin: 0 auto;
    padding: 50px 0 60px; }
    .cta__inner--en {
      text-align: center;
      color: #8c8c8d;
      font-size: 16px;
      font-family: 'opensans'; }
    .cta__inner--ttl {
      margin-bottom: 20px;
      text-align: center;
      font-size: 40px;
      font-family: 'noto sans bold'; }
    .cta__inner--txt {
      margin-bottom: 20px;
      text-align: center;
      line-height: 1.8; }
    .cta__inner .tel {
      margin-bottom: 25px;
      text-align: center; }
      .cta__inner .tel a {
        padding-left: 25px;
        font-size: 40px;
        font-weight: bold;
        font-family: 'opensans bold';
        line-height: 0.8;
        position: relative;
        pointer-events: none; }
        .cta__inner .tel a:before {
          content: "";
          position: absolute;
          top: 20px;
          left: 0;
          background: url("../img/common/icon_tel.png") no-repeat center center;
          width: 20px;
          height: 20px; }
    .cta__inner ul {
      display: flex;
      flex-wrap: wrap;
      width: 640px;
      margin: 0 auto; }
      .cta__inner ul li:first-child {
        width: 48%;
        margin-right: 4%; }
        .cta__inner ul li:first-child a {
          display: block;
          border-radius: 10px;
          background: #2f70db;
          padding: 16px 0 16px 25px;
          text-align: center;
          color: #fff;
          font-family: 'noto sans bold';
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .cta__inner ul li:first-child a span {
            position: relative; }
            .cta__inner ul li:first-child a span:before {
              content: "";
              position: absolute;
              top: 5px;
              left: -30px;
              background: url("../img/common/icon_contact.png") no-repeat center center;
              width: 20px;
              height: 16px; }
          .cta__inner ul li:first-child a:hover {
            background: #79a6f2;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }
      .cta__inner ul li:nth-child(2) {
        width: 48%; }
        .cta__inner ul li:nth-child(2) a {
          display: block;
          border-radius: 10px;
          background: #2f70db;
          padding: 16px 0 16px 25px;
          text-align: center;
          color: #fff;
          font-family: 'noto sans bold';
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .cta__inner ul li:nth-child(2) a span {
            position: relative; }
            .cta__inner ul li:nth-child(2) a span:before {
              content: "";
              position: absolute;
              top: 2px;
              left: -25px;
              background: url("../img/common/icon_estimate.png") no-repeat center center;
              background-size: cover;
              width: 14px;
              height: 20px; }
          .cta__inner ul li:nth-child(2) a:hover {
            background: #79a6f2;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (max-width: 640px) {
  .cta {
    padding: 10% 0; }
    .cta__inner {
      max-width: 90%;
      margin: 0 auto;
      padding: 6% 0 8%; }
      .cta__inner--en {
        font-size: 12px; }
      .cta__inner--ttl {
        margin-bottom: 4%;
        font-size: 18px; }
      .cta__inner--txt {
        margin-bottom: 4%; }
      .cta__inner .tel {
        margin-bottom: 5%; }
        .cta__inner .tel a {
          font-size: 40px;
          line-height: 1.0;
          pointer-events: auto; }
          .cta__inner .tel a:hover {
            text-decoration: none; }
      .cta__inner ul {
        width: 100%; }
        .cta__inner ul li:first-child {
          width: 80%;
          margin: 0 auto 3%; }
          .cta__inner ul li:first-child a {
            padding: 5% 0 5% 25px; }
            .cta__inner ul li:first-child a span:before {
              top: 3px;
              left: -30px;
              background-size: cover;
              width: 18px;
              height: 14px; }
            .cta__inner ul li:first-child a:hover {
              background: #2f70db; }
        .cta__inner ul li:nth-child(2) {
          width: 80%;
          margin: 0 auto; }
          .cta__inner ul li:nth-child(2) a {
            padding: 5% 0 5% 25px; }
            .cta__inner ul li:nth-child(2) a span:before {
              top: 1px;
              left: -25px;
              width: 12px;
              height: 17px; }
            .cta__inner ul li:nth-child(2) a:hover {
              background: #2f70db; }
      .cta__inner dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 auto; }
        .cta__inner dl dd {
          width: 80%;
          margin: 0 auto; }
          .cta__inner dl dd a {
            padding: 5% 0 5% 25px; }
            .cta__inner dl dd a span:before {
              top: 3px;
              left: -30px;
              background-size: cover;
              width: 18px;
              height: 14px; }
            .cta__inner dl dd a:hover {
              background: #2f70db;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; } }
* html #pageTop {
  position: absolute; }

#pageTop {
  position: fixed;
  width: 60px;
  height: 60px;
  right: 2%;
  bottom: 2%;
  z-index: 900; }

@media (max-width: 640px) {
  * html #pageTopSp {
    position: absolute; }

  #pageTop {
    position: fixed;
    width: 10%;
    height: auto;
    right: 3%;
    bottom: 2%;
    z-index: 9997; } }
/* footer
------------------------------------------------- */
.footer {
  background: #f5f5f8;
  max-width: 1800px;
  margin: 0 auto;
  padding: 90px 0 70px; }
  .footer__inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 1160px;
    margin: 0 auto 70px;
    padding: 0 20px; }
    .footer__inner--profile {
      max-width: 300px;
      margin-right: 100px;
      padding-top: 25px; }
      .footer__inner--profile h1 {
        margin-bottom: 25px; }
        .footer__inner--profile h1 img {
          width: 100%;
          height: auto;
          vertical-align: middle; }
      .footer__inner--profile .name {
        margin-bottom: 10px;
        font-family: 'noto sans bold'; }
      .footer__inner--profile .add {
        margin-bottom: 10px;
        font-size: 14px;
        line-height: 1.8; }
      .footer__inner--profile .tel {
        font-size: 14px;
        line-height: 1.8; }
    .footer__inner--fnav {
      max-width: 260px;
      width: 100%;
      margin-right: 100px; }
      .footer__inner--fnav ul li {
        margin-top: 25px; }
        .footer__inner--fnav ul li a {
          display: block;
          font-family: 'noto sans bold';
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .footer__inner--fnav ul li a:hover {
            color: #999;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }
    .footer__inner--calender {
      border-radius: 10px;
      background: #fff;
      max-width: 400px;
      width: 100%;
      padding: 25px 0; }
      .footer__inner--calender .year {
        margin-bottom: 5px;
        text-align: center;
        font-size: 16px;
        font-family: 'noto sans bold'; }
      .footer__inner--calender table.table_calendar {
        width: 76%;
        margin: 0 auto;
        font-size: 15px; }
        .footer__inner--calender table.table_calendar th {
          background: #eee;
          padding: 5px 0;
          text-align: center;
          font-family: 'noto sans bold'; }
          .footer__inner--calender table.table_calendar th.sun {
            color: #c72421; }
          .footer__inner--calender table.table_calendar th.sat {
            color: #3968b1; }
        .footer__inner--calender table.table_calendar td {
          padding: 5px 0;
          text-align: center;
          font-family: 'noto sans bold'; }
          .footer__inner--calender table.table_calendar td.sun {
            background: #ffde94;
            color: #c72421; }
          .footer__inner--calender table.table_calendar td.sat {
            background: #ffde94;
            color: #3968b1; }
          .footer__inner--calender table.table_calendar td.mute {
            color: #bfbfbf; }
  .footer .snav {
    margin-bottom: 15px;
    overflow: hidden; }
    .footer .snav ul {
      position: relative;
      left: 50%;
      float: left; }
      .footer .snav ul li {
        position: relative;
        left: -50%;
        float: left;
        margin: 0 10px; }
        .footer .snav ul li a {
          color: #999;
          font-size: 14px; }
  .footer .copyright {
    text-align: center;
    color: #999;
    font-size: 12px; }

@media (min-width: 641px) and (max-width: 1160px) {
  .footer__inner {
    max-width: 96%;
    padding: 0; }
    .footer__inner--profile {
      max-width: 30%;
      margin-right: 5%; }
    .footer__inner--fnav {
      max-width: 25%;
      margin-right: 0; }
    .footer__inner--calender {
      max-width: 30%;
      padding: 25px 3%; }
      .footer__inner--calender table.table_calendar {
        width: 90%; } }
@media (max-width: 640px) {
  .footer {
    padding: 10% 0 6%; }
    .footer__inner {
      max-width: 94%;
      margin: 0 auto 6%;
      padding: 0; }
      .footer__inner--profile {
        max-width: 100%;
        width: 100%;
        margin: 0 0 5%;
        padding: 0; }
        .footer__inner--profile h1 {
          width: 70%;
          margin: 0 auto 4%; }
        .footer__inner--profile .name {
          margin-bottom: 2%;
          text-align: center; }
        .footer__inner--profile .add {
          margin-bottom: 2%;
          text-align: center;
          font-size: 12px; }
        .footer__inner--profile .tel {
          text-align: center;
          font-size: 12px; }
      .footer__inner--fnav {
        max-width: 100%;
        width: 100%;
        margin: 0 0 7%; }
        .footer__inner--fnav ul {
          display: flex;
          flex-wrap: wrap;
          width: 90%;
          margin: 0 auto; }
          .footer__inner--fnav ul li {
            width: 50%;
            margin-top: 5%;
            text-align: center; }
            .footer__inner--fnav ul li a:hover {
              color: #333; }
      .footer__inner--calender {
        max-width: 90%;
        margin: 0 auto;
        padding: 4% 0; }
        .footer__inner--calender .year {
          margin-bottom: 2%;
          font-size: 12px; }
        .footer__inner--calender table.table_calendar {
          width: 84%;
          font-size: 12px; }
    .footer .snav {
      margin-bottom: 3%; }
      .footer .snav ul li {
        margin: 0 10px; }
        .footer .snav ul li a {
          font-size: 12px; }
    .footer .copyright {
      font-size: 11px; } }
/* link
------------------------------------------------- */
a:link,
a:visited {
  color: #333;
  text-decoration: none; }

a:hover,
a:active {
  color: #333;
  text-decoration: underline; }

/* alpha
------------------------------------------------- */
a.alpha img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s; }

/* clearfix
------------------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     トップ
******************************************* */
#top .midashi_en {
  text-align: center;
  color: #8c8c8d;
  font-size: 16px;
  font-family: 'opensans'; }

#top h2.midashi {
  margin-bottom: 35px;
  text-align: center;
  font-size: 40px;
  font-weight: normal;
  font-family: 'noto sans bold';
  line-height: 1.2; }

@media (max-width: 640px) {
  #top .midashi_en {
    font-size: 12px; }

  #top h2.midashi {
    margin-bottom: 5%;
    font-size: 18px; } }
#top .cate {
  max-width: 1800px;
  margin: 0 auto; }
  #top .cate__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 90px 20px 90px; }
    #top .cate__inner ul {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 50px; }
      #top .cate__inner ul li {
        width: 31%;
        margin-right: 3.5%;
        text-align: center; }
        #top .cate__inner ul li:last-child {
          margin-right: 0; }
        #top .cate__inner ul li a figure {
          margin-bottom: 10px; }
          #top .cate__inner ul li a figure img {
            border-radius: 5px;
            width: 100%;
            height: auto; }
        #top .cate__inner ul li a h3 {
          font-size: 22px; }
        #top .cate__inner ul li a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #top .cate__inner {
    max-width: 94%;
    padding: 10% 0 8%; }
    #top .cate__inner ul {
      margin-bottom: 7%; }
      #top .cate__inner ul li {
        width: 80%;
        margin: 0 auto 5%; }
        #top .cate__inner ul li:last-child {
          margin: 0 auto; }
        #top .cate__inner ul li a figure {
          margin-bottom: 2%; }
        #top .cate__inner ul li a h3 {
          font-size: 14px; } }
#top .products {
  max-width: 1800px;
  margin: 0 auto; }
  #top .products__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #top .products__inner h1 {
      background: #2f70db;
      margin-bottom: 30px;
      padding: 5px 15px;
      color: #fff;
      font-size: 24px; }
    #top .products__inner ul {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 80px; }
      #top .products__inner ul li {
        width: 32%;
        margin-right: 2%; }
        #top .products__inner ul li:nth-child(3n) {
          margin-right: 0; }
        #top .products__inner ul li a img {
          width: 100%;
          height: auto; }
        #top .products__inner ul li a h2 {
          padding: 10px 0;
          margin: 0;
          font-size: 18px; }
        #top .products__inner ul li a .price {
          color: #b3af54; }
        #top .products__inner ul li a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #top .products__inner {
    max-width: 90%;
    margin: 0 auto;
    padding: 0; }
    #top .products__inner h1 {
      margin-bottom: 5%;
      padding: 2% 3%;
      font-size: 15px; }
    #top .products__inner ul {
      margin-bottom: 10%; }
      #top .products__inner ul li {
        width: 48%;
        margin: 0 0 2%; }
        #top .products__inner ul li:nth-child(odd) {
          margin-right: 4%; }
        #top .products__inner ul li a h2 {
          padding: 2% 0;
          font-size: 13px; } }
#top .contents {
  background: #f5f5f8;
  max-width: 1800px;
  margin: 0 auto; }
  #top .contents__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 90px 20px 90px; }
    #top .contents__inner ul {
      display: flex;
      flex-wrap: wrap; }
      #top .contents__inner ul li {
        width: 31%;
        margin-right: 3.5%;
        text-align: center; }
        #top .contents__inner ul li:last-child {
          margin-right: 0; }
        #top .contents__inner ul li a .h3_en {
          color: #8c8c8d;
          font-size: 14px;
          font-family: 'opensans';
          line-height: 1.2; }
        #top .contents__inner ul li a h3 {
          margin-bottom: 12px;
          font-size: 22px; }
        #top .contents__inner ul li a figure img {
          border-radius: 5px;
          width: 100%;
          height: auto; }
        #top .contents__inner ul li a:hover {
          text-decoration: none; }

@media (max-width: 640px) {
  #top .contents__inner {
    max-width: 94%;
    padding: 8% 0; }
    #top .contents__inner ul li {
      width: 80%;
      margin: 0 auto 10%; }
      #top .contents__inner ul li:last-child {
        margin: 0 auto; }
      #top .contents__inner ul li a .h3_en {
        font-size: 12px; }
      #top .contents__inner ul li a h3 {
        margin-bottom: 2%;
        font-size: 14px; } }
#top .news {
  max-width: 1800px;
  margin: 0 auto; }
  #top .news__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 90px 20px 100px; }
    #top .news__inner ul {
      margin-bottom: 40px; }
      #top .news__inner ul li {
        margin-bottom: 15px; }
        #top .news__inner ul li a {
          display: block;
          border-radius: 7px;
          background: #f5f5f8;
          padding: 17px 100px;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          #top .news__inner ul li a div {
            display: flex;
            flex-wrap: wrap; }
            #top .news__inner ul li a div .date {
              width: 15%;
              color: #999; }
            #top .news__inner ul li a div .title {
              width: 85%; }
          #top .news__inner ul li a:hover {
            background: #c9ddff;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (max-width: 640px) {
  #top .news__inner {
    max-width: 94%;
    padding: 10% 0 7%; }
    #top .news__inner ul {
      margin-bottom: 7%; }
      #top .news__inner ul li {
        margin-bottom: 3%; }
        #top .news__inner ul li a {
          padding: 4% 3%; }
          #top .news__inner ul li a div .date {
            width: 100%; }
          #top .news__inner ul li a div .title {
            width: 100%; }
          #top .news__inner ul li a:hover {
            background: #f5f5f8; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     お知らせ記事
******************************************* */
.page-main .page-main-inner h1 {
  border-bottom: 4px solid #79a6f2;
  margin-bottom: 20px;
  padding-bottom: 5px;
  font-size: 24px;
  font-family: 'noto sans bold'; }

.page-main .page-main-inner h2 {
  margin-bottom: 20px;
  font-size: 20px;
  font-family: 'noto sans bold'; }

.page-main .page-main-inner figure {
  margin-bottom: 40px; }

.page-main .page-main-inner .wp-block-cover, .wp-block-cover-image {
  margin-bottom: 40px; }

.page-main .page-main-inner ul {
  margin-bottom: 40px; }

.page-main .page-main-inner .wp-block-columns figure {
  margin-right: 5%; }

.page-main .page-main-inner code {
  margin-bottom: 40px; }

.page-main .page-main-inner blockquote {
  margin-bottom: 40px; }

@media (max-width: 640px) {
  .page-main .page-main-inner h1 {
    border-bottom: 3px solid #79a6f2;
    margin-bottom: 5%;
    padding-bottom: 1%;
    font-size: 16px; }

  .page-main .page-main-inner h2 {
    margin-bottom: 4%;
    font-size: 14px; }

  .page-main .page-main-inner figure {
    margin-bottom: 6%; }

  .page-main .page-main-inner .wp-block-cover, .wp-block-cover-image {
    margin-bottom: 6%; }

  .page-main .page-main-inner ul {
    margin-bottom: 6%; }

  .page-main .page-main-inner .wp-block-text-columns {
    margin-bottom: 6%; }

  .page-main .page-main-inner .wp-block-columns {
    margin-bottom: 6%; }

  .page-main .page-main-inner .wp-block-columns figure {
    margin-right: 0; }

  .page-main .page-main-inner code {
    margin-bottom: 6%; }

  .page-main .page-main-inner blockquote {
    margin-bottom: 6%; } }
/* *******************************************
     見積・サンプルご依頼フォーム
******************************************* */
.storefront-breadcrumb {
  padding: 1.41575em 0;
  margin: 0 0 3.706325903em; }
  .storefront-breadcrumb .col-full {
    max-width: 66.4989378333em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2.617924em;
    box-sizing: content-box; }
    .storefront-breadcrumb .col-full nav a {
      text-decoration: underline; }

@media (max-width: 640px) {
  .storefront-breadcrumb {
    margin: 0 0 1.618em;
    padding: 1em 0; }
    .storefront-breadcrumb .col-full {
      margin-left: 1.41575em;
      margin-right: 1.41575em;
      padding: 0; } }
.shoplist .col-full {
  max-width: 66.4989378333em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.617924em;
  box-sizing: content-box; }
  .shoplist .col-full h1 {
    background: #2f70db;
    margin-bottom: 30px;
    padding: 5px 15px;
    color: #fff; }
  .shoplist .col-full .storefront-sorting {
    display: flex;
    margin: 0 0 60px; }
    .shoplist .col-full .storefront-sorting select {
      margin-right: 20px;
      padding: 5px 10px; }
  .shoplist .col-full .products-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px; }
    .shoplist .col-full .products-list li {
      width: 22.5%;
      margin-right: 3.3333%;
      margin-bottom: 50px;
      text-align: center; }
      .shoplist .col-full .products-list li:nth-child(4n) {
        margin-right: 0; }
      .shoplist .col-full .products-list li a img {
        width: 100%;
        height: auto;
        margin-bottom: 10px; }
      .shoplist .col-full .products-list li a h2 {
        margin-bottom: 5px;
        font-size: 15px;
        line-height: 1.4; }
      .shoplist .col-full .products-list li a .price span {
        font-size: 12px; }
      .shoplist .col-full .products-list li a:hover {
        text-decoration: none; }

@media (max-width: 640px) {
  .shoplist .col-full {
    margin-left: 1.41575em;
    margin-right: 1.41575em;
    padding: 0; }
    .shoplist .col-full h1 {
      margin-bottom: 5%;
      padding: 2% 3%;
      font-size: 15px; }
    .shoplist .col-full .storefront-sorting {
      margin: 8% 0; }
      .shoplist .col-full .storefront-sorting select {
        padding: 3px 10px; }
    .shoplist .col-full .products-list li {
      width: 48%;
      margin-right: 0;
      margin-bottom: 8%; }
      .shoplist .col-full .products-list li:nth-child(odd) {
        clear: both;
        margin-right: 4%; }
      .shoplist .col-full .products-list li a img {
        margin-bottom: 3%; }
      .shoplist .col-full .products-list li a h2 {
        margin-bottom: 3%;
        font-size: 13px; }
      .shoplist .col-full .products-list li a .price span {
        font-size: 10px; } }
/* *******************************************
     見積・サンプルご依頼フォーム
******************************************* */
#contact .contact {
  max-width: 1800px;
  margin: 0 auto; }
  #contact .contact__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 80px 20px 100px; }
    #contact .contact__inner .kome {
      margin-bottom: 20px;
      font-size: 14px; }
      #contact .contact__inner .kome span {
        color: #f00; }
    #contact .contact__inner dl {
      border-top: 1px dashed #999;
      padding: 23px 0;
      display: flex;
      flex-wrap: wrap; }
      #contact .contact__inner dl.last {
        border-bottom: 1px dashed #999;
        margin-bottom: 40px; }
      #contact .contact__inner dl dt {
        width: 30%;
        line-height: 1.2; }
        #contact .contact__inner dl dt.required:after {
          content: '※';
          display: inline-block;
          margin-left: 5px;
          color: #f00;
          font-size: 14px; }
      #contact .contact__inner dl dd {
        width: 70%; }
        #contact .contact__inner dl dd input[type=text] {
          border-radius: 5px;
          border: 1px solid #aaa;
          padding: 10px 10px;
          color: #333;
          font-size: 16px;
          font-family: 'noto sans'; }
          #contact .contact__inner dl dd input[type=text].size01 {
            width: 50%; }
          #contact .contact__inner dl dd input[type=text].size02 {
            width: 10%; }
          #contact .contact__inner dl dd input[type=text].size03 {
            width: 90%; }
        #contact .contact__inner dl dd input[type=email] {
          border-radius: 5px;
          border: 1px solid #aaa;
          width: 50%;
          padding: 10px 10px;
          color: #333;
          font-size: 16px;
          font-family: 'noto sans'; }
        #contact .contact__inner dl dd select {
          border-radius: 5px;
          border: 1px solid #aaa;
          padding: 10px 10px;
          color: #333;
          font-size: 16px;
          font-family: 'noto sans'; }
          #contact .contact__inner dl dd select.sel01 {
            width: 40%; }
          #contact .contact__inner dl dd select.sel02 {
            width: 30%; }
        #contact .contact__inner dl dd textarea {
          border-radius: 5px;
          border: 1px solid #aaa;
          width: 90%;
          height: 140px;
          padding: 10px 10px;
          color: #333;
          font-size: 16px;
          font-weight: normal;
          font-family: 'noto sans'; }
        #contact .contact__inner dl dd ul.add li:nth-child(2) {
          margin: 15px 0; }
        #contact .contact__inner dl dd input[type=button].search {
          margin-left: 20px;
          padding: 10px 20px;
          cursor: pointer; }
        #contact .contact__inner dl dd .txt_sub {
          margin-top: 10px;
          color: #666;
          font-size: 14px; }
        #contact .contact__inner dl dd .zip {
          margin-right: 10px; }
        #contact .contact__inner dl dd .bar {
          margin: 0 10px; }
    #contact .contact__inner .contactform__doui {
      margin-bottom: 30px;
      text-align: center; }
      #contact .contact__inner .contactform__doui a {
        color: #0059c7;
        text-decoration: underline;
        cursor: pointer; }
        #contact .contact__inner .contactform__doui a:hover {
          text-decoration: underline; }
      #contact .contact__inner .contactform__doui input[type=checkbox] {
        display: none; }
      #contact .contact__inner .contactform__doui label {
        display: inline-block;
        cursor: pointer; }
      #contact .contact__inner .contactform__doui input[type=checkbox] + span {
        padding-left: 2em;
        display: inline-block;
        position: relative; }
      #contact .contact__inner .contactform__doui input[type=checkbox] + span::after,
      #contact .contact__inner .contactform__doui input[type=checkbox] + span::before {
        content: '';
        display: block;
        position: absolute;
        border-radius: 3px;
        border: 1px solid #999;
        width: 20px;
        height: 20px;
        top: 3px;
        left: 0; }
      #contact .contact__inner .contactform__doui input[type=checkbox] + span::after {
        opacity: 0;
        width: 8px;
        height: 13px;
        transform: rotate(45deg);
        left: 6px;
        border: none;
        border-right: 3.5px solid #2f70db;
        border-bottom: 3.5px solid #2f70db; }
      #contact .contact__inner .contactform__doui input[type=checkbox]:checked + span::after {
        opacity: 1; }
    #contact .contact__inner button[type=submit] {
      display: block;
      border-radius: 7px;
      border: none;
      background: #2f70db;
      width: 300px;
      margin: 0 auto;
      padding: 18px 0;
      text-align: center;
      color: #fff !important;
      font-size: 18px;
      font-family: 'noto sans';
      position: relative;
      cursor: pointer;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
      #contact .contact__inner button[type=submit]:hover {
        background: #79a6f2;
        text-decoration: none;
        -moz-transition: .5s;
        -webkit-transition: .5s;
        -o-transition: .5s;
        -ms-transition: .5s;
        transition: .5s; }

@media (max-width: 640px) {
  #contact .contact__inner {
    max-width: 94%;
    padding: 8% 0 10%; }
    #contact .contact__inner .kome {
      margin-bottom: 3%;
      font-size: 13px; }
    #contact .contact__inner dl {
      padding: 4% 0; }
      #contact .contact__inner dl.last {
        margin-bottom: 8%; }
      #contact .contact__inner dl dt {
        width: 100%;
        margin-bottom: 3%;
        color: #666;
        font-family: 'noto sans bold'; }
        #contact .contact__inner dl dt.required:after {
          font-size: 12px; }
      #contact .contact__inner dl dd {
        width: 100%; }
        #contact .contact__inner dl dd input[type=text] {
          padding: 2% 3%;
          font-size: 13px; }
          #contact .contact__inner dl dd input[type=text].size01 {
            width: 93.5%; }
          #contact .contact__inner dl dd input[type=text].size02 {
            width: 15%; }
          #contact .contact__inner dl dd input[type=text].size03 {
            width: 93.5%; }
        #contact .contact__inner dl dd input[type=email] {
          width: 93.5%;
          padding: 2% 3%;
          font-size: 13px; }
        #contact .contact__inner dl dd select {
          padding: 2% 3%;
          font-size: 13px; }
          #contact .contact__inner dl dd select.sel01 {
            width: 60%; }
          #contact .contact__inner dl dd select.sel02 {
            width: 45%; }
        #contact .contact__inner dl dd textarea {
          width: 93.5%;
          padding: 2% 3%;
          font-size: 13px; }
        #contact .contact__inner dl dd ul.add li:nth-child(2) {
          margin: 3% 0; }
        #contact .contact__inner dl dd input[type=button].search {
          margin-left: 4%;
          padding: 2% 4%; }
        #contact .contact__inner dl dd .txt_sub {
          margin-top: 2%;
          font-size: 12px; }
        #contact .contact__inner dl dd .zip {
          margin-right: 10px; }
        #contact .contact__inner dl dd .bar {
          margin: 0 10px; }
    #contact .contact__inner .contactform__doui {
      margin-bottom: 7%; }
      #contact .contact__inner .contactform__doui label {
        font-size: 13px; }
      #contact .contact__inner .contactform__doui input[type=checkbox] + span {
        padding-left: 2.3em; }
      #contact .contact__inner .contactform__doui input[type=checkbox] + span::after,
      #contact .contact__inner .contactform__doui input[type=checkbox] + span::before {
        width: 15px;
        height: 15px;
        top: 3px; }
      #contact .contact__inner .contactform__doui input[type=checkbox] + span::after {
        width: 6px;
        height: 10px;
        left: 4px;
        border-right: 3px solid #2f70db;
        border-bottom: 3px solid #2f70db; }
    #contact .contact__inner button[type=submit] {
      width: 75%;
      padding: 4% 0;
      font-size: 14px; }
      #contact .contact__inner button[type=submit]:hover {
        background: #2f70db; } }
/* *******************************************
     オンラインショップ
******************************************* */
.aboutclearfile {
  width: 100%;
  padding: 80px 0; }
  .aboutclearfile .en {
    text-align: center;
    color: #8c8c8d;
    font-size: 16px;
    font-family: 'opensans'; }
  .aboutclearfile h2 {
    margin-bottom: 35px;
    text-align: center;
    font-size: 30px;
    font-weight: normal;
    font-family: 'noto sans bold';
    line-height: 1.2; }
  .aboutclearfile__box01 {
    background: url("../img/products/bg_about.jpg") no-repeat center top;
    background-size: auto 100%;
    margin-bottom: 50px;
    padding: 70px 0; }
    .aboutclearfile__box01--inner {
      width: 45%;
      margin-left: 50%; }
      .aboutclearfile__box01--inner h3 {
        margin-bottom: 15px;
        font-size: 20px;
        line-height: 1.6; }
      .aboutclearfile__box01--inner ul li {
        margin-bottom: 10px;
        padding-left: 27px;
        position: relative; }
        .aboutclearfile__box01--inner ul li:before {
          content: "";
          position: absolute;
          top: 4px;
          left: 0;
          background: url("../img/products/icon_check.png") no-repeat center center;
          background-size: cover;
          width: 20px;
          height: 20px; }
        .aboutclearfile__box01--inner ul li:last-child {
          margin-bottom: 0; }
  .aboutclearfile__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 80px; }
    .aboutclearfile__list li {
      width: 30%;
      margin-right: 5%; }
      .aboutclearfile__list li:nth-child(3) {
        margin-right: 0; }
      .aboutclearfile__list li:nth-child(-n+3) {
        margin-bottom: 60px; }
      .aboutclearfile__list li:nth-child(4) {
        margin-left: 20%; }
      .aboutclearfile__list li figure {
        width: 60%;
        margin: 0 auto 20px; }
        .aboutclearfile__list li figure img {
          border-radius: 50%;
          width: 100%;
          height: auto; }
      .aboutclearfile__list li h4 {
        margin-bottom: 10px;
        text-align: center;
        font-size: 20px;
        line-height: 1.4; }
      .aboutclearfile__list li .txt {
        line-height: 1.8; }
      .aboutclearfile__list li .kome {
        margin-top: 10px;
        text-align: right;
        font-size: 12px; }
  .aboutclearfile__box02 {
    text-align: center; }
    .aboutclearfile__box02 figure {
      width: 60%;
      margin: 0 auto 20px; }
      .aboutclearfile__box02 figure img {
        width: 100%;
        height: auto; }
    .aboutclearfile__box02 h3 {
      font-size: 24px;
      line-height: 1.6; }

@media (max-width: 640px) {
  .aboutclearfile {
    padding: 10% 0 12%; }
    .aboutclearfile .en {
      font-size: 12px; }
    .aboutclearfile h2 {
      margin-bottom: 5%;
      font-size: 18px; }
    .aboutclearfile__box01 {
      background: url("../img/products/bg_about.jpg") no-repeat center top;
      background-size: cover;
      margin-bottom: 8%;
      padding: 8% 0; }
      .aboutclearfile__box01--inner {
        width: 50%;
        margin-left: 45%; }
        .aboutclearfile__box01--inner h3 {
          margin-bottom: 3%;
          font-size: 16px; }
        .aboutclearfile__box01--inner ul li {
          margin-bottom: 3%;
          padding-left: 20px; }
          .aboutclearfile__box01--inner ul li:before {
            top: 4px;
            width: 15px;
            height: 15px; }
    .aboutclearfile__list {
      margin-bottom: 8%; }
      .aboutclearfile__list li {
        width: 48%;
        margin: 0 0 6%; }
        .aboutclearfile__list li:nth-child(odd) {
          margin-right: 4% !important; }
        .aboutclearfile__list li:nth-child(-n+3) {
          margin-bottom: 6%; }
        .aboutclearfile__list li:nth-child(4) {
          margin-left: 0; }
        .aboutclearfile__list li:nth-child(5) {
          margin-left: 25%; }
        .aboutclearfile__list li figure {
          width: 60%;
          margin: 0 auto 4%; }
        .aboutclearfile__list li h4 {
          margin-bottom: 4%;
          font-size: 14px; }
        .aboutclearfile__list li .kome {
          margin-top: 4%;
          font-size: 12px; }
    .aboutclearfile__box02 figure {
      width: 80%;
      margin: 0 auto 4%; }
    .aboutclearfile__box02 h3 {
      margin-bottom: 3%;
      font-size: 16px;
      line-height: 1.4; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     当社のつよみ
******************************************* */
#feature .h3_en {
  text-align: center;
  color: #8c8c8d;
  font-size: 16px;
  font-family: 'opensans'; }

#feature h3 {
  margin-bottom: 40px;
  text-align: center;
  font-size: 40px;
  font-weight: normal;
  font-family: 'noto sans bold';
  line-height: 1.2; }

@media (max-width: 640px) {
  #feature .h3_en {
    font-size: 12px; }

  #feature h3 {
    margin-bottom: 5%;
    font-size: 18px; } }
#feature .sec01 {
  max-width: 1800px;
  margin: 0 auto; }
  #feature .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px 80px; }
    #feature .sec01__inner--block01 li {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 55px; }
      #feature .sec01__inner--block01 li figure {
        width: 48%; }
        #feature .sec01__inner--block01 li figure img {
          border-radius: 10px;
          width: 100%;
          height: auto; }
        #feature .sec01__inner--block01 li figure + div {
          width: 40%; }
          #feature .sec01__inner--block01 li figure + div h4 {
            margin-bottom: 15px;
            padding-top: 60px;
            font-size: 24px;
            font-family: 'noto sans bold';
            position: relative; }
          #feature .sec01__inner--block01 li figure + div p {
            margin-bottom: 15px;
            font-size: 16px; }
      #feature .sec01__inner--block01 li:first-child figure {
        margin-right: 4%; }
        #feature .sec01__inner--block01 li:first-child figure + div h4:before {
          content: "01";
          position: absolute;
          top: 0;
          left: 0;
          color: #d84a4a;
          font-size: 40px; }
      #feature .sec01__inner--block01 li:nth-child(2) figure {
        order: 2; }
        #feature .sec01__inner--block01 li:nth-child(2) figure + div {
          margin: 0 4% 0 8%;
          order: 1; }
          #feature .sec01__inner--block01 li:nth-child(2) figure + div h4:before {
            content: "02";
            position: absolute;
            top: 0;
            left: 0;
            color: #d84a4a;
            font-size: 40px; }
      #feature .sec01__inner--block01 li:nth-child(3) figure {
        order: 1; }
        #feature .sec01__inner--block01 li:nth-child(3) figure + div {
          margin: 0 4% 0 8%;
          order: 2; }
          #feature .sec01__inner--block01 li:nth-child(3) figure + div h4:before {
            content: "03";
            position: absolute;
            top: 0;
            left: 0;
            color: #d84a4a;
            font-size: 40px; }
    #feature .sec01__inner--block02 {
      border-bottom: 4px solid #f5f5f8;
      margin-bottom: 40px;
      padding-bottom: 50px; }
      #feature .sec01__inner--block02 .ttl {
        margin-bottom: 25px;
        text-align: center;
        font-size: 26px;
        font-family: 'noto sans bold'; }
      #feature .sec01__inner--block02 ul {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 50px; }
        #feature .sec01__inner--block02 ul li {
          width: 23%;
          margin-right: 2.6666%; }
          #feature .sec01__inner--block02 ul li figure {
            margin-bottom: 15px; }
            #feature .sec01__inner--block02 ul li figure img {
              border-radius: 10px;
              width: 100%;
              height: auto; }
          #feature .sec01__inner--block02 ul li h4 {
            margin-bottom: 12px;
            padding: 5px 0 0 45px;
            font-size: 18px;
            font-family: 'noto sans bold';
            position: relative; }
            #feature .sec01__inner--block02 ul li h4:before {
              position: absolute;
              top: 0;
              left: 0;
              border-radius: 50%;
              background: #1c1c1e;
              width: 40px;
              height: 35px;
              padding-top: 5px;
              text-align: center;
              color: #fff; }
          #feature .sec01__inner--block02 ul li:first-child h4:before {
            content: "01"; }
          #feature .sec01__inner--block02 ul li:nth-child(2) h4:before {
            content: "02"; }
          #feature .sec01__inner--block02 ul li:nth-child(3) h4:before {
            content: "03"; }
          #feature .sec01__inner--block02 ul li:last-child {
            margin-right: 0; }
            #feature .sec01__inner--block02 ul li:last-child h4:before {
              content: "04"; }
      #feature .sec01__inner--block02 .btn_estimate {
        width: 360px;
        margin: 0 auto; }
        #feature .sec01__inner--block02 .btn_estimate a {
          display: block;
          border-radius: 7px;
          background: #d84a4a;
          padding: 14px 0;
          text-align: center;
          color: #fff !important;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          #feature .sec01__inner--block02 .btn_estimate a span {
            position: relative; }
            #feature .sec01__inner--block02 .btn_estimate a span:after {
              content: "";
              position: absolute;
              top: 9px;
              right: -25px;
              width: 5px;
              height: 5px;
              border-top: 1.5px solid #fff;
              border-right: 1.5px solid #fff;
              transform: rotate(45deg); }
          #feature .sec01__inner--block02 .btn_estimate a:hover {
            background: #f27c7c;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }
    #feature .sec01__inner--block03 li {
      display: flex;
      flex-wrap: wrap; }
      #feature .sec01__inner--block03 li figure {
        width: 48%;
        margin-right: 4%; }
        #feature .sec01__inner--block03 li figure img {
          border-radius: 10px;
          width: 100%;
          height: auto; }
        #feature .sec01__inner--block03 li figure + div {
          width: 40%; }
          #feature .sec01__inner--block03 li figure + div h4 {
            margin-bottom: 15px;
            padding-top: 60px;
            font-size: 24px;
            font-family: 'noto sans bold';
            position: relative; }
            #feature .sec01__inner--block03 li figure + div h4:before {
              content: "03";
              position: absolute;
              top: 0;
              left: 0;
              color: #d84a4a;
              font-size: 40px; }
          #feature .sec01__inner--block03 li figure + div p {
            margin-bottom: 15px;
            font-size: 16px; }

@media (max-width: 640px) {
  #feature .sec01__inner {
    max-width: 94%;
    margin: 0 auto;
    padding: 0 0 8%; }
    #feature .sec01__inner--block01 li {
      margin-bottom: 8%; }
      #feature .sec01__inner--block01 li figure {
        width: 100%; }
        #feature .sec01__inner--block01 li figure + div {
          width: 100%; }
          #feature .sec01__inner--block01 li figure + div h4 {
            margin-bottom: 3%;
            padding: 2.5% 0 0 10%;
            font-size: 14px; }
          #feature .sec01__inner--block01 li figure + div p {
            margin-bottom: 2%;
            font-size: 12px; }
      #feature .sec01__inner--block01 li:first-child figure {
        margin: 0 0 2%; }
        #feature .sec01__inner--block01 li:first-child figure + div h4:before {
          font-size: 24px; }
      #feature .sec01__inner--block01 li:nth-child(2) figure {
        margin: 0 0 2%;
        order: 1; }
        #feature .sec01__inner--block01 li:nth-child(2) figure + div {
          margin: 0;
          order: 2; }
          #feature .sec01__inner--block01 li:nth-child(2) figure + div h4:before {
            font-size: 24px; }
      #feature .sec01__inner--block01 li:nth-child(3) figure {
        margin: 0 0 2%; }
        #feature .sec01__inner--block01 li:nth-child(3) figure + div {
          margin: 0; }
          #feature .sec01__inner--block01 li:nth-child(3) figure + div h4:before {
            font-size: 24px; }
    #feature .sec01__inner--block02 {
      border-bottom: 2px solid #f5f5f8;
      margin-bottom: 6%;
      padding-bottom: 8%; }
      #feature .sec01__inner--block02 .ttl {
        margin-bottom: 5%;
        font-size: 16px; }
      #feature .sec01__inner--block02 ul {
        margin-bottom: 5%; }
        #feature .sec01__inner--block02 ul li {
          width: 48%;
          margin-right: 0; }
          #feature .sec01__inner--block02 ul li figure {
            margin-bottom: 4%; }
          #feature .sec01__inner--block02 ul li h4 {
            margin-bottom: 3%;
            padding: 4px 0 0 37px;
            font-size: 14px; }
            #feature .sec01__inner--block02 ul li h4:before {
              width: 28px;
              height: 23px;
              padding-top: 5px;
              font-size: 12px; }
          #feature .sec01__inner--block02 ul li:nth-child(odd) {
            margin-right: 4%; }
          #feature .sec01__inner--block02 ul li:nth-child(-n+2) {
            margin-bottom: 4%; }
      #feature .sec01__inner--block02 .btn_estimate {
        width: 85%; }
        #feature .sec01__inner--block02 .btn_estimate a {
          padding: 3% 0;
          font-size: 14px; }
          #feature .sec01__inner--block02 .btn_estimate a span:after {
            top: 7px;
            right: -20px; }
          #feature .sec01__inner--block02 .btn_estimate a:hover {
            background: #d84a4a; }
    #feature .sec01__inner--block03 li figure {
      width: 100%;
      margin: 0 0 2%; }
      #feature .sec01__inner--block03 li figure + div {
        width: 100%; }
        #feature .sec01__inner--block03 li figure + div h4 {
          margin-bottom: 3%;
          padding: 2.5% 0 0 10%;
          font-size: 14px; }
          #feature .sec01__inner--block03 li figure + div h4:before {
            font-size: 24px; }
        #feature .sec01__inner--block03 li figure + div p {
          margin-bottom: 3%;
          font-size: 12px; } }
#feature .sec02 {
  background: #f5f5f8;
  max-width: 1800px;
  margin: 0 auto;
  padding: 80px 0; }
  #feature .sec02 figure {
    width: 100%;
    margin-bottom: 50px; }
    #feature .sec02 figure img {
      width: 100%;
      height: auto; }
  #feature .sec02__inner {
    max-width: 770px;
    margin: 0 auto; }
    #feature .sec02__inner h4 {
      margin-bottom: 20px;
      font-size: 24px;
      font-family: 'noto sans bold';
      line-height: 1.6; }
    #feature .sec02__inner p {
      text-indent: -1.0em;
      margin-left: 1.0em;
      margin-bottom: 15px;
      line-height: 1.8; }

@media (max-width: 640px) {
  #feature .sec02 {
    padding: 8% 0 6%; }
    #feature .sec02 figure {
      margin-bottom: 5%; }
    #feature .sec02__inner {
      max-width: 94%;
      margin: 0 auto; }
      #feature .sec02__inner h4 {
        margin-bottom: 3%;
        font-size: 14px; }
      #feature .sec02__inner p {
        margin-bottom: 3%; } }
#feature .sec03 {
  max-width: 1800px;
  margin: 0 auto; }
  #feature .sec03__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 80px 20px 80px; }
    #feature .sec03__inner--box01 {
      background: url("../img/feature/img_about01.png") no-repeat center top;
      min-height: 500px;
      margin-bottom: 40px;
      overflow: hidden; }
      #feature .sec03__inner--box01 div {
        width: 470px;
        float: right;
        margin: 60px 80px 0 0; }
        #feature .sec03__inner--box01 div h4 {
          margin-bottom: 25px;
          font-size: 24px;
          font-family: 'noto sans bold';
          line-height: 1.6; }
        #feature .sec03__inner--box01 div p {
          margin-bottom: 20px;
          line-height: 1.8; }
    #feature .sec03__inner--box02 {
      background: url("../img/feature/img_about02.png") no-repeat center top;
      min-height: 500px;
      margin-bottom: 60px;
      overflow: hidden; }
      #feature .sec03__inner--box02 div {
        width: 620px;
        margin: 60px 0 0 80px; }
        #feature .sec03__inner--box02 div h4 {
          margin-bottom: 25px;
          font-size: 24px;
          font-family: 'noto sans bold';
          line-height: 1.6; }
        #feature .sec03__inner--box02 div p {
          width: 470px;
          margin-bottom: 20px;
          line-height: 1.8; }
    #feature .sec03__inner .txt {
      margin-bottom: 25px;
      text-align: center;
      font-size: 24px;
      font-family: 'noto sans bold';
      line-height: 1.6; }
    #feature .sec03__inner figure {
      text-align: center; }

@media (max-width: 640px) {
  #feature .sec03__inner {
    max-width: 94%;
    padding: 8% 0; }
    #feature .sec03__inner--box01 {
      background: url("../img/feature/img_about01.png") no-repeat center top;
      min-height: 0;
      margin-bottom: 6%; }
      #feature .sec03__inner--box01 div {
        width: 94%;
        float: none;
        margin: 8% auto; }
        #feature .sec03__inner--box01 div h4 {
          margin-bottom: 3%;
          font-size: 14px; }
        #feature .sec03__inner--box01 div p {
          margin-bottom: 3%; }
    #feature .sec03__inner--box02 {
      background: url("../img/feature/img_about02.png") no-repeat center top;
      min-height: 0;
      margin-bottom: 8%; }
      #feature .sec03__inner--box02 div {
        width: 94%;
        margin: 8% auto; }
        #feature .sec03__inner--box02 div h4 {
          margin-bottom: 3%;
          font-size: 14px; }
        #feature .sec03__inner--box02 div p {
          width: 100%;
          margin-bottom: 3%; }
    #feature .sec03__inner .txt {
      margin-bottom: 5%;
      font-size: 14px; }
    #feature .sec03__inner figure {
      width: 90%;
      margin: 0 auto; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     特定商取引法に基づく表記
******************************************* */
#law .law {
  max-width: 1800px;
  margin: 0 auto; }
  #law .law__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px 100px; }
    #law .law__inner .table_low {
      border-top: 1px solid #ccc;
      border-left: 1px solid #ccc;
      width: 100%;
      margin: 0 auto; }
      #law .law__inner .table_low th {
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        background: #f5f5f8;
        width: 25%;
        padding: 18px 20px; }
      #law .law__inner .table_low td {
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        padding: 18px 20px; }
        #law .law__inner .table_low td .indent01 {
          text-indent: -3.2em;
          margin-left: 3.2em; }
        #law .law__inner .table_low td .indent02 {
          text-indent: -0.5em;
          margin-left: 0.5em; }
          #law .law__inner .table_low td .indent02.mb {
            margin-bottom: 15px; }
        #law .law__inner .table_low td a {
          color: #2f70db;
          text-decoration: underline; }

@media (max-width: 640px) {
  #law .law__inner {
    max-width: 94%;
    padding: 0 0 10%; }
    #law .law__inner .table_low {
      border-top: none;
      border-left: none;
      width: 100%; }
      #law .law__inner .table_low tr {
        display: block; }
      #law .law__inner .table_low th {
        display: list-item;
        list-style: none;
        border-right: none;
        border-bottom: none;
        width: 94%;
        padding: 2% 3%; }
      #law .law__inner .table_low td {
        display: list-item;
        list-style: none;
        border-right: none;
        border-bottom: none;
        padding: 2% 3% 7%; }
        #law .law__inner .table_low td .indent02.mb {
          margin-bottom: 4%; } }
/* *******************************************
     プライバシーポリシー
******************************************* */
#privacy .privacy {
  max-width: 1800px;
  margin: 0 auto; }
  #privacy .privacy__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px 100px; }
    #privacy .privacy__inner h3 {
      margin-bottom: 5px;
      font-size: 20px;
      font-family: 'noto sans bold'; }
    #privacy .privacy__inner .read {
      margin-bottom: 50px;
      line-height: 1.8; }
    #privacy .privacy__inner h4 {
      margin-bottom: 5px;
      font-size: 18px;
      font-family: 'noto sans bold'; }
    #privacy .privacy__inner .indent01 li {
      text-indent: -0.5em;
      margin-left: 0.5em;
      margin-bottom: 5px; }
    #privacy .privacy__inner .mb {
      margin-bottom: 25px; }
    #privacy .privacy__inner .date {
      margin-bottom: 40px;
      text-align: right; }
    #privacy .privacy__inner .pmark {
      width: 100px;
      margin: 0 auto 15px; }
      #privacy .privacy__inner .pmark img {
        width: 100%;
        height: auto; }
    #privacy .privacy__inner .ptxt {
      text-align: center; }

@media (max-width: 640px) {
  #privacy .privacy__inner {
    max-width: 94%;
    padding: 0 0 10%; }
    #privacy .privacy__inner h3 {
      margin-bottom: 2%;
      font-size: 16px; }
    #privacy .privacy__inner .read {
      margin-bottom: 8%; }
    #privacy .privacy__inner h4 {
      margin-bottom: 1%;
      font-size: 13px; }
    #privacy .privacy__inner .indent01 li {
      margin-bottom: 2%; }
    #privacy .privacy__inner .mb {
      margin-bottom: 6%; }
    #privacy .privacy__inner .date {
      margin-bottom: 8%;
      text-align: right; }
    #privacy .privacy__inner .pmark {
      width: 20%;
      margin: 0 auto 3%; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     ご利用ガイド
******************************************* */
#guide .guide {
  max-width: 1800px;
  margin: 0 auto; }
  #guide .guide__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px 100px; }
    #guide .guide__inner .block {
      border-bottom: 1px dashed #ccc;
      margin-bottom: 30px;
      padding-bottom: 30px; }
      #guide .guide__inner .block h3 {
        margin-bottom: 10px;
        color: #2f70db;
        font-size: 20px;
        font-family: 'noto sans bold'; }
      #guide .guide__inner .block h4 {
        margin-bottom: 10px;
        font-size: 18px;
        font-family: 'noto sans bold'; }
      #guide .guide__inner .block .mb {
        margin-bottom: 20px; }

@media (max-width: 640px) {
  #guide .guide__inner {
    max-width: 94%;
    padding: 8% 0 10%; }
    #guide .guide__inner .block {
      margin-bottom: 5%;
      padding-bottom: 3%; }
      #guide .guide__inner .block h3 {
        margin-bottom: 2%;
        font-size: 16px; }
      #guide .guide__inner .block h4 {
        margin-bottom: 2%;
        font-size: 13px; }
      #guide .guide__inner .block .mb {
        margin-bottom: 5%; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'opensans';
  src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     よくあるご質問
******************************************* */
#faq .pnav {
  max-width: 1800px;
  margin: 0 auto; }
  #faq .pnav__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px 100px; }
    #faq .pnav__inner ul {
      display: flex;
      flex-wrap: wrap; }
      #faq .pnav__inner ul li {
        width: 19%;
        margin-right: 1.25%; }
        #faq .pnav__inner ul li:last-child {
          margin-right: 0; }
        #faq .pnav__inner ul li a {
          display: block;
          border-radius: 7px;
          border: 1px solid #2f70db;
          background: #fff;
          padding: 14px 0;
          text-align: center;
          color: #2f70db !important;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          #faq .pnav__inner ul li a:hover {
            background: #c9ddff;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (max-width: 640px) {
  #faq .pnav__inner {
    max-width: 94%;
    padding: 0 0 10%; }
    #faq .pnav__inner ul li {
      width: 49%;
      margin-right: 2%; }
      #faq .pnav__inner ul li:nth-child(even) {
        margin-right: 0; }
      #faq .pnav__inner ul li:nth-child(-n+4) {
        margin-bottom: 2%; }
      #faq .pnav__inner ul li a {
        padding: 5% 0; }
        #faq .pnav__inner ul li a:hover {
          background: #fff; } }
#faq .faq {
  max-width: 1800px;
  margin: 0 auto; }
  #faq .faq__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px 100px; }
    #faq .faq__inner h3 {
      background: #2f70db;
      padding: 5px 15px;
      color: #fff;
      font-size: 24px; }
    #faq .faq__inner--box {
      margin-bottom: 80px; }
      #faq .faq__inner--box dl {
        border-bottom: 1px dashed #2f70db; }
        #faq .faq__inner--box dl dt {
          padding: 30px 60px 30px 25px;
          position: relative;
          cursor: pointer; }
          #faq .faq__inner--box dl dt:before {
            content: "Q";
            position: absolute;
            top: 30px;
            left: 0;
            color: #2f70db;
            font-family: 'noto sans bold'; }
          #faq .faq__inner--box dl dt:after {
            content: "";
            position: absolute;
            top: 45%;
            right: 20px;
            width: 8px;
            height: 8px;
            border-top: 1.5px solid #2f70db;
            border-right: 1.5px solid #2f70db;
            transform: rotate(135deg); }
          #faq .faq__inner--box dl dt.open:after {
            content: "";
            position: absolute;
            top: 52%;
            right: 22px;
            width: 8px;
            height: 8px;
            border-top: 1.5px solid #2f70db;
            border-right: 1.5px solid #2f70db;
            transform: rotate(315deg); }
        #faq .faq__inner--box dl dd {
          padding: 0 60px 30px 25px;
          position: relative; }
          #faq .faq__inner--box dl dd:before {
            content: "A";
            position: absolute;
            top: 0;
            left: 1px;
            color: #f00;
            font-family: 'noto sans bold'; }
          #faq .faq__inner--box dl dd a {
            color: #2f70db;
            text-decoration: underline; }

@media (max-width: 640px) {
  #faq .faq__inner {
    max-width: 94%;
    margin: 0 auto;
    padding: 0 0 8%; }
    #faq .faq__inner h3 {
      padding: 2% 3%;
      font-size: 15px; }
    #faq .faq__inner--box {
      margin-bottom: 8%; }
      #faq .faq__inner--box dl dt {
        padding: 20px 6% 20px 20px; }
        #faq .faq__inner--box dl dt:before {
          top: 19px; }
        #faq .faq__inner--box dl dt:after {
          top: 40%;
          right: 5px;
          width: 5px;
          height: 5px; }
        #faq .faq__inner--box dl dt.open:after {
          top: 45%;
          right: 4px;
          width: 5px;
          height: 5px; }
      #faq .faq__inner--box dl dd {
        padding: 0 6% 20px 20px; } }
@media (max-width: 640px) {
  #faq01, #faq02, #faq03, #faq04, #faq05 {
    margin-top: -16%;
    padding-top: 16%; } }
