@charset "UTF-8";
/* Vendors - include bootrap
========================================================================== */
/* Helpers - helpers Variable file along with starting point Mixins and Placeholders.
========================================================================== */
/*
 * Variables
 */
@import url("//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");
/*
 * Function
 */
/*
* mixins
*/
/*
 * Placeholders
 */
/* Base - reset and typography.
========================================================================== */
/*
 * reset
 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }
  blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  background-color: transparent;
  outline: none;
  border: 0;
  cursor: pointer; }

/*
 * Typography
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #45918B;
  line-height: 1.4; }

h1 {
  font-size: 1.2rem;
  font-weight: 500;
  color: #2C2C2C; }

h2 {
  font-size: 4.1rem;
  line-height: 1.46341463;
  color: #7E6927; }

h3 {
  font-size: 2.4rem;
  color: #45918B;
  line-height: 1.45833333; }

.block-margins {
  margin: 1em 0; }

.unordered-list {
  list-style-type: disc; }

.ordered-list {
  list-style: decimal; }

/* Components - Re-usable site elements.
========================================================================== */
a {
  color: #2C2C2C;
  text-decoration: none; }
  a:visited {
    color: #2C2C2C;
    text-decoration: none; }
  a:hover, a:visited:hover {
    color: #45918B;
    text-decoration: none; }
  a:focus {
    outline: none;
    text-decoration: none; }

.italic {
  font-style: italic; }

.bold {
  font-weight: 700; }

.more {
  transition: all 300ms ease-in-out;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out; }

/* Layout - Structure and layout files.
========================================================================== */
/* -------------------->>> COMMON <<<-------------------- */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 10px; }

body {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  color: #2C2C2C;
  font-size: 1.6rem;
  line-height: 1.5;
  overflow-x: hidden;
  font-weight: 400;
  letter-spacing: 0;
  width: 100%; }
  body.is_active {
    height: 100vh;
    overflow: hidden;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: -1; }
    body.is_active::after {
      content: '';
      width: 100vw;
      height: 100vh;
      background: rgba(0, 0, 0, 0.33);
      position: fixed;
      overflow: hidden;
      top: 0;
      left: 0;
      z-index: 99; }

hr {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  border-color: #000 -moz-use-text-color -moz-use-text-color;
  -o-border-image: none;
     border-image: none;
  border-style: solid none none;
  border-width: 0.2em 0 0 0;
  margin: 0; }

.container {
  width: 100%;
  max-width: 103rem;
  padding: 0 1.5rem;
  margin: 0 auto; }

p {
  margin-bottom: 1.5rem; }

input:focus {
  outline: none; }

a > img {
  transition: all 400ms ease-in-out;
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  -o-transition: all 400ms ease-in-out; }
  a > img:hover {
    opacity: 0.7; }

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

.thumb-box a {
  display: block; }

.thumb-box img {
  width: 100%;
  height: auto; }

.img-cover figure {
  display: block;
  width: 100%;
  height: 100%; }

.img-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%; }

.thumb-over figure {
  display: block;
  position: relative;
  overflow: hidden; }
  .thumb-over figure::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
  .thumb-over figure img {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }

.thumb-over:hover figure::before {
  background: rgba(0, 0, 0, 0.5); }

.thumb-over:hover figure img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05); }

.scrollTop {
  position: fixed;
  bottom: -50px;
  right: 4rem;
  z-index: 10;
  height: 200px;
  text-align: center;
  -webkit-transition: bottom 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition: bottom 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 0;
  z-index: 999;
  width: 6rem; }
  .scrollTop__main {
    cursor: pointer; }
    .scrollTop__main:hover {
      opacity: 0.7; }
    .scrollTop__main img {
      width: 7.6rem; }
  .scrollTop.active {
    bottom: 0;
    opacity: 1; }

.w-100 {
  width: 100% !important; }

.text-center {
  text-align: center !important; }

.text-right {
  text-align: right !important; }

.d-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.justify-content-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.justify-content-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.justify-content-end {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-items-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-items-start {
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start; }

.align-items-end {
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end; }

.flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.pdt0 {
  padding-top: 0 !important; }

.error {
  font-size: 1.2rem;
  color: #ff0000; }

.result input.error {
  border-color: #e41919; }

.result div.error {
  margin-top: 20px;
  padding: 13px 20px;
  text-align: center;
  background: rgba(228, 25, 25, 0.75);
  color: #fff; }

.result div.success {
  margin-top: 20px;
  padding: 13px 20px;
  text-align: center;
  background: rgba(50, 178, 95, 0.75);
  color: #fff; }

.loader_wrap {
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  background: white;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0; }

.loader {
  border: 5px solid #f3f3f3;
  border-top: 5px solid #555;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.header {
  position: absolute;
  z-index: 999;
  width: 100%;
  top: 0;
  left: 0;
  background: #FFFFFF;
  -webkit-box-shadow: 0px 3px 6px #00000029;
          box-shadow: 0px 3px 6px #00000029; }
  .header__main {
    padding: 1.2rem 4rem; }
    .header__main .logo {
      width: 31rem; }
    .header__main--info .tel {
      width: 32.2rem; }
    .header__main--info .mail {
      width: 26rem;
      margin-right: 1rem; }
    .header__main--info .line {
      width: 26rem; }

@media (max-width: 991px) {
  .header {
    position: fixed; }
    .header__main {
      padding: 1rem 1.5rem; }
      .header__main .logo {
        width: 23.4rem; }
      .header__main--info .d-flex {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse; }
      .header__main--info a {
        display: block;
        margin-left: .6rem; }
      .header__main--info .tel {
        width: 4.2rem; }
      .header__main--info .mail {
        width: 4.2rem;
        margin-right: 0; }
      .header__main--info .line {
        width: 4.2rem; } }

.banner {
  padding-top: 6rem;
  background-image: url("../images/banner-bg.jpg");
  background-position: 0 0;
  background-repeat: repeat; }
  .banner__main {
    -webkit-transform: translateY(6rem);
        -ms-transform: translateY(6rem);
            transform: translateY(6rem); }

.head-box {
  margin-bottom: 5.5rem;
  text-align: center; }
  .head-box img {
    width: 6.7rem; }
  .head-box h2 {
    display: inline-block;
    position: relative;
    z-index: 9; }
    .head-box h2::before {
      content: '';
      display: block;
      width: 11.7rem;
      height: 11.7rem;
      position: absolute;
      top: -5rem;
      left: -8rem;
      z-index: -1;
      background-image: url("../images/line-1.png");
      background-position: 0 0;
      background-repeat: no-repeat;
      background-size: 100% 100%; }
    .head-box h2::after {
      content: '';
      display: block;
      width: 11.7rem;
      height: 11.7rem;
      position: absolute;
      bottom: -2rem;
      right: -8rem;
      z-index: -1;
      background-image: url("../images/line-2.png");
      background-position: 0 0;
      background-repeat: no-repeat;
      background-size: 100% 100%; }

.head-box-w h2 {
  color: #fff; }
  .head-box-w h2::before {
    background-image: url("../images/line-1-w.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%; }
  .head-box-w h2::after {
    background-image: url("../images/line-2-w.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%; }

.contact-box {
  padding: 9rem 0 5rem; }
  .contact-box .container {
    max-width: 83rem; }
  .contact-box__main {
    position: relative; }
    .contact-box__main .more-box {
      position: absolute;
      right: 2.6rem;
      bottom: 2.3rem;
      width: 36.3rem; }
      .contact-box__main .more-box a {
        display: block; }
      .contact-box__main .more-box a.sp {
        display: none; }
      .contact-box__main .more-box .mail {
        margin-bottom: .6rem; }

.various-box {
  background: #F6F4E9;
  padding: 5rem 0 6rem; }
  .various-box__main {
    overflow: hidden; }
    .various-box__main .d-flex {
      margin: 0 -.5rem; }
    .various-box__main .items {
      width: calc(100% / 3);
      padding: 0 .5rem;
      margin-bottom: 1rem; }
      .various-box__main .items main {
        display: block;
        width: 100%;
        height: 100%;
        background: #FFFFFF;
        -webkit-box-shadow: 0px 0px 6px #0000001A;
                box-shadow: 0px 0px 6px #0000001A;
        border-radius: 10px;
        padding: 1.5rem; }
      .various-box__main .items .thumb-box {
        margin-bottom: .8rem; }
      .various-box__main .items .text-box h3 {
        text-align: center;
        margin-bottom: .9rem; }
      .various-box__main .items .text-box p {
        margin-bottom: .7rem; }

.concerns-box {
  padding: 5rem 0 8rem;
  background: #3C4951; }
  .concerns-box__main .des {
    margin-bottom: 4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .concerns-box__main .des p {
      font-size: 1.8rem;
      color: #fff;
      margin-bottom: 0; }
  .concerns-box__main .text-box {
    width: calc(100% - 46.6rem);
    padding-right: 2.2rem;
    padding-top: 2.3rem; }
    .concerns-box__main .text-box ul li {
      margin-bottom: 3rem;
      line-height: 1.33333333;
      font-size: 2.4rem;
      font-weight: 700;
      color: #fff;
      position: relative;
      padding-left: 5.5rem; }
      .concerns-box__main .text-box ul li::before {
        content: '';
        display: block;
        width: 4.1rem;
        min-width: 4.1rem;
        height: 4.1rem;
        position: absolute;
        top: -2px;
        left: 0;
        background-image: url("../images/icon-1.png");
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: 100% 100%; }
      .concerns-box__main .text-box ul li span {
        color: #FFFF00; }
  .concerns-box__main .thumb-box {
    width: 46.6rem; }

.experienced-box {
  padding: 6rem 0 8rem; }
  .experienced-box .list-box {
    width: calc(100% - 48.2rem);
    padding-right: 2.7rem; }
    .experienced-box .list-box .items {
      margin-bottom: 1rem;
      background: #EFF7F6;
      border-radius: 10px;
      padding: .7rem;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .experienced-box .list-box .items .thumb-box {
        width: 12.6rem; }
      .experienced-box .list-box .items h3 {
        width: calc(100% - 12.6rem);
        font-size: 2.6rem;
        line-height: 1.19230769;
        color: #2C2C2C;
        padding-left: 1.9rem; }
        .experienced-box .list-box .items h3 span {
          color: #FD7F00; }
      .experienced-box .list-box .items:last-child {
        margin-bottom: 0; }
  .experienced-box .text-box {
    width: 48.2rem;
    border: .5rem solid #45918B;
    border-radius: 10px;
    padding: 1.8rem 1.9rem 2rem 0; }
    .experienced-box .text-box h3 {
      padding-left: 2.2rem;
      background: #45918B;
      line-height: 7.7rem;
      font-size: 2.9rem;
      color: #fff;
      margin-bottom: 1rem;
      -webkit-clip-path: polygon(100% 0, 95% 50%, 100% 100%, 0 100%, 0 0);
              clip-path: polygon(100% 0, 95% 50%, 100% 100%, 0 100%, 0 0); }
    .experienced-box .text-box ul {
      padding-left: 2.1rem; }
      .experienced-box .text-box ul li {
        padding-left: .5rem;
        font-size: 2rem;
        line-height: 2;
        color: #2C2C2C;
        font-weight: 700;
        border-bottom: 1px dashed #45918B; }

.mugen-box {
  padding-bottom: 4rem; }
  .mugen-box .head {
    text-align: center;
    padding: 1.9rem 1.5rem;
    margin-bottom: 4rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #88722C), color-stop(50%, #7E6927));
    background: -o-linear-gradient(top, #88722C 50%, #7E6927 50%);
    background: linear-gradient(to bottom, #88722C 50%, #7E6927 50%); }
    .mugen-box .head h2 {
      font-size: 4rem;
      color: #fff; }
  .mugen-box__main {
    overflow: hidden; }
    .mugen-box__main .d-flex {
      margin: 0 -2.5rem; }
    .mugen-box__main .items {
      width: 50%;
      padding: 0 2.5rem; }
      .mugen-box__main .items h3 {
        margin-bottom: 1rem;
        font-size: 2.9rem;
        line-height: 1;
        padding-left: 7.5rem;
        position: relative; }
        .mugen-box__main .items h3::before {
          content: '';
          display: block;
          width: 6.3rem;
          height: 5.9rem;
          background-image: url("../images/number-1.png");
          background-position: 0 0;
          background-repeat: no-repeat;
          background-size: 100% 100%;
          position: absolute;
          top: 0;
          left: 0; }
      .mugen-box__main .items .thumb-box {
        margin-bottom: 2.2rem; }
      .mugen-box__main .items p {
        margin-bottom: 0;
        font-size: 1.8rem;
        letter-spacing: 0.59px; }
      .mugen-box__main .items:nth-child(2) h3::before {
        background-image: url("../images/number-2.png"); }

.step-box {
  background: #F6F4E9;
  padding: 3.5rem 0 6rem; }
  .step-box .container {
    max-width: 83rem; }
  .step-box .head-box h2::after {
    right: -12rem; }
  .step-box__main {
    counter-reset: section; }
    .step-box__main .items {
      margin-bottom: 4.7rem;
      background: #FFFFFF;
      border: 3px solid #45918B;
      border-radius: 10px;
      padding: 3rem;
      position: relative; }
      .step-box__main .items::before {
        counter-increment: section;
        content: "STEP:0" counter(section) "";
        display: inline-block;
        width: 100%;
        max-width: 18.5rem;
        text-align: center;
        line-height: 3.6rem;
        background: #45918B;
        border-radius: 18px;
        font-size: 2rem;
        font-weight: 700;
        color: #fff;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .step-box__main .items::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-left: 2.1rem solid transparent;
        border-right: 2.1rem solid transparent;
        border-top: 2rem solid #45918B;
        position: absolute;
        left: 50%;
        bottom: 0;
        -webkit-transform: translate(-50%, 100%);
            -ms-transform: translate(-50%, 100%);
                transform: translate(-50%, 100%); }
      .step-box__main .items .thumb-box {
        width: 30rem; }
      .step-box__main .items .text-box {
        width: calc(100% - 30rem);
        padding-left: 2rem; }
        .step-box__main .items .text-box h3 {
          margin-bottom: .7rem;
          font-size: 2rem; }
        .step-box__main .items .text-box p {
          margin-bottom: 0; }
      .step-box__main .items:last-child {
        margin-bottom: 0; }
        .step-box__main .items:last-child::after {
          display: none; }

.inquiry-box {
  padding: 7rem 0 5rem;
  background-image: url("../images/inquiry-bg.png");
  background-position: 0 0;
  background-repeat: repeat; }
  .inquiry-box .head-box {
    margin-bottom: 7rem; }
    .inquiry-box .head-box h2::after {
      right: -10rem;
      bottom: -5rem; }
  .inquiry-box__main .des-box {
    margin-bottom: 3rem;
    text-align: center; }
    .inquiry-box__main .des-box p {
      margin-bottom: 0;
      font-size: 1.8rem; }
  .inquiry-box__main .form-group {
    padding: 2rem 0;
    border-top: 1px solid #7E6927;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .inquiry-box__main .form-group:first-child {
      border-top: none; }
    .inquiry-box__main .form-group .labels {
      width: 30.5rem;
      font-weight: 700;
      font-size: 2rem;
      line-height: 6.2rem; }
    .inquiry-box__main .form-group .input {
      width: calc(100% - 30.5rem);
      font-size: 1.8rem; }
      .inquiry-box__main .form-group .input select,
      .inquiry-box__main .form-group .input input[type='text'],
      .inquiry-box__main .form-group .input input[type='email'],
      .inquiry-box__main .form-group .input textarea {
        width: 100%;
        height: 6.2rem;
        padding: 0 2.4rem;
        background: #FFFFFF;
        border: 1px solid #BE9393;
        border-radius: 5px;
        -webkit-box-shadow: none;
                box-shadow: none;
        font-size: 16px; }
        .inquiry-box__main .form-group .input select:focus,
        .inquiry-box__main .form-group .input input[type='text']:focus,
        .inquiry-box__main .form-group .input input[type='email']:focus,
        .inquiry-box__main .form-group .input textarea:focus {
          outline: 0;
          outline: none; }
        .inquiry-box__main .form-group .input select::-webkit-input-placeholder, .inquiry-box__main .form-group .input input[type='text']::-webkit-input-placeholder, .inquiry-box__main .form-group .input input[type='email']::-webkit-input-placeholder, .inquiry-box__main .form-group .input textarea::-webkit-input-placeholder {
          font-size: 1.8rem;
          color: #9D9D9D; }
        .inquiry-box__main .form-group .input select::-moz-placeholder, .inquiry-box__main .form-group .input input[type='text']::-moz-placeholder, .inquiry-box__main .form-group .input input[type='email']::-moz-placeholder, .inquiry-box__main .form-group .input textarea::-moz-placeholder {
          font-size: 1.8rem;
          color: #9D9D9D; }
        .inquiry-box__main .form-group .input select:-ms-input-placeholder, .inquiry-box__main .form-group .input input[type='text']:-ms-input-placeholder, .inquiry-box__main .form-group .input input[type='email']:-ms-input-placeholder, .inquiry-box__main .form-group .input textarea:-ms-input-placeholder {
          font-size: 1.8rem;
          color: #9D9D9D; }
        .inquiry-box__main .form-group .input select::-ms-input-placeholder, .inquiry-box__main .form-group .input input[type='text']::-ms-input-placeholder, .inquiry-box__main .form-group .input input[type='email']::-ms-input-placeholder, .inquiry-box__main .form-group .input textarea::-ms-input-placeholder {
          font-size: 1.8rem;
          color: #9D9D9D; }
        .inquiry-box__main .form-group .input select::placeholder,
        .inquiry-box__main .form-group .input input[type='text']::placeholder,
        .inquiry-box__main .form-group .input input[type='email']::placeholder,
        .inquiry-box__main .form-group .input textarea::placeholder {
          font-size: 1.8rem;
          color: #9D9D9D; }
      .inquiry-box__main .form-group .input textarea {
        padding: 2rem 2.4rem;
        min-height: 25rem; }
      .inquiry-box__main .form-group .input select {
        max-width: 31.9rem; }
      .inquiry-box__main .form-group .input label {
        margin-right: 4rem; }
      .inquiry-box__main .form-group .input input[type='checkbox'] {
        background: #F2F2F2;
        border: 1px solid #9D9D9D;
        border-radius: 3px;
        width: 18px;
        height: 18px;
        margin: 0 8px 1rem 0;
        vertical-align: sub; }
    .inquiry-box__main .form-group.required .labels {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .inquiry-box__main .form-group.required .labels::after {
        content: '必須';
        display: block;
        width: 5.6rem;
        text-align: center;
        line-height: 2.4rem;
        font-size: 1.4rem;
        color: #fff;
        background: #FF9D00;
        border-radius: 36px;
        font-weight: 400;
        margin-left: 1rem; }
  .inquiry-box__main .more-box {
    text-align: center;
    padding-top: 3rem; }
    .inquiry-box__main .more-box .more {
      display: inline-block;
      width: 100%;
      max-width: 40rem;
      text-align: center;
      line-height: 7rem;
      background: #45918B;
      border: 3px solid #FFFFFF;
      border-radius: 35px;
      font-size: 2rem;
      color: #fff;
      font-weight: 700; }
      .inquiry-box__main .more-box .more:hover {
        background: #000; }

.thanks-box {
  padding: 11.5rem 0 6rem;
  text-align: center; }
  .thanks-box__main h2 {
    font-size: 2.9rem;
    color: #623030;
    margin-bottom: 3rem; }
  .thanks-box__main p {
    color: #623030;
    margin-bottom: 3rem; }
  .thanks-box__main .more-box {
    text-align: center; }
    .thanks-box__main .more-box .more {
      display: inline-block;
      width: 100%;
      max-width: 40rem;
      text-align: center;
      line-height: 7rem;
      background: #45918B;
      border: 3px solid #45918B;
      border-radius: 35px;
      font-size: 2rem;
      color: #fff;
      font-weight: 700; }
      .thanks-box__main .more-box .more:hover {
        background: #000; }

.footer {
  background: #fff;
  text-align: center;
  padding: 2.5rem 0; }
  .footer .logo {
    display: inline-block;
    width: 13.3rem;
    margin-bottom: 1.8rem; }
  .footer p {
    margin-bottom: 3rem;
    font-size: 2rem; }
    .footer p:last-child {
      margin-bottom: 0;
      font-size: 1.4rem; }

@media (max-width: 991px) {
  .footer .logo {
    width: 12.4rem; }
  .footer p {
    font-size: 1.4rem; } }

/* layout - Responsive .
========================================================================== */
.sp {
  display: none; }

@media screen and (max-width: 1200px) and (min-width: 992px) {
  html {
    font-size: 8px; } }

@media screen and (max-width: 1050px) and (min-width: 992px) {
  html {
    font-size: 7px; } }

@media (max-width: 991px) {
  html {
    font-size: 2.41546vw; }
  body {
    font-size: 1.4rem; }
  .pc {
    display: none; }
  .sp {
    display: block; }
  h2 {
    font-size: 2.9rem; }
  h3 {
    font-size: 2rem; }
  .container {
    padding: 0 1.5rem; }
  .banner {
    padding-top: 0;
    background: none; }
    .banner .container {
      padding: 0; }
    .banner__main {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
  .head-box img {
    width: 4.7rem; }
  .head-box h2 {
    display: block; }
    .head-box h2::before {
      width: 8.1rem;
      height: 8.1rem;
      top: -5rem;
      left: 0; }
    .head-box h2::after {
      width: 8.1rem;
      height: 8.1rem;
      bottom: -3rem;
      right: 0; }
  .contact-box {
    padding: 2.5rem 0 3.5rem; }
    .contact-box__main .more-box {
      position: absolute;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      bottom: 1.8rem;
      width: 100%;
      padding: 0 1.5rem; }
      .contact-box__main .more-box a {
        display: block;
        margin-bottom: .7rem; }
        .contact-box__main .more-box a:last-child {
          margin-bottom: 0; }
      .contact-box__main .more-box a.sp {
        display: block; }
      .contact-box__main .more-box .mail {
        margin-bottom: .7rem; }
  .various-box {
    padding: 1.5rem 0 3.5rem; }
    .various-box__main {
      overflow: hidden; }
      .various-box__main .d-flex {
        margin: 0 -.9rem; }
      .various-box__main .items {
        width: calc(100% / 2);
        padding: 0 .8rem;
        margin-bottom: 1.5rem; }
        .various-box__main .items main {
          padding: .8rem; }
  .concerns-box {
    padding: 4.5rem 0 5rem; }
    .concerns-box__main .des p {
      font-size: 1.6rem; }
    .concerns-box__main .text-box {
      width: 100%;
      padding-right: 0;
      padding-top: 0; }
      .concerns-box__main .text-box ul li {
        margin-bottom: 1.8rem;
        font-size: 1.8rem;
        padding-left: 4rem; }
        .concerns-box__main .text-box ul li::before {
          width: 3.3rem;
          min-width: 3.3rem;
          height: 3.3rem; }
    .concerns-box__main .thumb-box {
      width: 100%;
      padding-top: 3.5rem; }
  .experienced-box {
    padding: 4.5rem 0; }
    .experienced-box .list-box {
      width: 100%;
      padding-right: 0;
      margin-bottom: 3rem; }
      .experienced-box .list-box .items {
        padding: .6rem; }
        .experienced-box .list-box .items .thumb-box {
          width: 9.7rem; }
        .experienced-box .list-box .items h3 {
          width: calc(100% - 9.7rem);
          font-size: 2rem;
          padding-left: 1.5rem; }
    .experienced-box .text-box {
      width: 100%; }
      .experienced-box .text-box h3 {
        padding-left: 2rem;
        line-height: 7.3rem;
        font-size: 2.4rem;
        -webkit-clip-path: polygon(100% 0, 97% 50%, 100% 100%, 0 100%, 0 0);
                clip-path: polygon(100% 0, 97% 50%, 100% 100%, 0 100%, 0 0); }
      .experienced-box .text-box ul {
        padding-left: 2rem; }
        .experienced-box .text-box ul li {
          font-size: 1.8rem; }
  .mugen-box {
    padding-bottom: 0; }
    .mugen-box .head h2 {
      font-size: 2.9rem; }
    .mugen-box__main .d-flex {
      margin: 0; }
    .mugen-box__main .items {
      width: 100%;
      padding: 0;
      margin-bottom: 3rem; }
      .mugen-box__main .items h3 {
        font-size: 2.4rem;
        padding-left: 6.5rem; }
        .mugen-box__main .items h3::before {
          width: 5.1rem;
          height: 4.8rem; }
      .mugen-box__main .items .thumb-box {
        margin-bottom: 1.8rem; }
      .mugen-box__main .items p {
        font-size: 1.6rem; }
  .step-box {
    padding: 4.5rem 0 3.5rem; }
    .step-box .head-box h2::after {
      right: 0; }
    .step-box__main {
      padding: 0 2.2rem; }
      .step-box__main .items {
        padding: 3rem 2.3rem 2rem; }
        .step-box__main .items::before {
          max-width: 17rem;
          line-height: 3rem;
          border-radius: 17px;
          font-size: 1.6rem; }
        .step-box__main .items .thumb-box {
          width: 100%;
          margin-bottom: 1rem; }
        .step-box__main .items .text-box {
          width: 100%;
          padding-left: 0; }
          .step-box__main .items .text-box h3 {
            font-size: 1.8rem; }
  .inquiry-box {
    padding: 4.5rem 0; }
    .inquiry-box .head-box {
      margin-bottom: 6rem; }
      .inquiry-box .head-box h2::after {
        right: 0;
        bottom: -3rem; }
    .inquiry-box__main .des-box p {
      font-size: 1.6rem; }
    .inquiry-box__main .form-group .labels {
      width: 100%;
      font-size: 1.8rem;
      line-height: 2rem;
      margin-bottom: 1rem; }
    .inquiry-box__main .form-group .input {
      width: 100%;
      font-size: 1.6rem; }
      .inquiry-box__main .form-group .input textarea {
        min-height: 34rem; }
      .inquiry-box__main .form-group .input select {
        max-width: 100%; }
      .inquiry-box__main .form-group .input label {
        margin-right: 2.2rem; }
      .inquiry-box__main .form-group .input input[type='checkbox'] {
        width: 14px;
        height: 14px;
        margin-right: .5rem; }
    .inquiry-box__main .form-group.required .labels {
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .inquiry-box__main .form-group.required .labels::after {
        font-size: 1.2rem; }
    .inquiry-box__main .more-box .more {
      max-width: 30rem;
      line-height: 6rem;
      border-radius: 30px;
      font-size: 1.6rem; }
  .thanks-box__main h2 {
    font-size: 2.6rem; }
  .thanks-box__main .more-box .more {
    max-width: 30rem;
    line-height: 6rem;
    border-radius: 30px;
    font-size: 1.6rem; } }

/* ipad Portrait */
/* ipad Landscape */
