@charset "UTF-8";
/* Scss Document */
html {
  box-sizing: border-box;
  font-size: 2.666666675vw; }

@media only screen and (min-width: 46.875em) {
  html {
    font-size: 1.92492782vw; } }
@media only screen and (min-width: 65em) {
  html {
    font-size: 125%; } }
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

body {
  color: #000;
  overflow-x: hidden;
  line-height: 1.75;
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif; }

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

svg {
  height: 100%;
  width: 100%; }

img[srcset] {
  width: 100%; }

.st-Layout * {
  color: inherit;
  font-size: 1em;
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
  transition-duration: .5s;
  transition-property: none;
  transition-timing-function: ease-in-out; }
  .st-Layout *::before, .st-Layout *::after {
    transition-duration: inherit;
    transition-property: inherit;
    transition-timing-function: inherit; }
.st-Layout li {
  list-style-type: inherit; }

.mincho {
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif; }

.gothic {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', YuGothic, 'Yu Gothic Medium', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; }

.st-Wrapper {
  overflow: hidden;
  position: relative; }

.st-Width {
  width: 100%;
  padding-left: calc(20rem / 20);
  padding-right: calc(20rem / 20); }

.home-fv .inner {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}

@media only screen and (min-width: 46.875em) {
  .st-Width {
    width: 100%;
    padding-left: calc(20rem / 20);
    padding-right: calc(20rem / 20); } }
@media only screen and (min-width: 65em) {
  .st-Width {
    margin-right: auto;
    margin-left: auto;
    width: calc(1040em / 20); } }
/* ------ */
.st-Header {
  background: #8b0307; }
  .st-Header .st-Header_Inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start; }
    .st-Header .st-Header_Inner .st-Logo {
      width: calc(90em / 20);
      margin-top: calc(5rem / 20); }
    .st-Header .st-Header_Inner .st-btn {
      width: calc(28em / 20);
      background: url(../img/sec1_btn1.png) no-repeat center;
      background-size: cover;
      width: calc(384rem / 20);
      height: calc(40rem / 20);
      color: #fff;
      font-size: calc(14rem / 20);
      font-weight: 700;
      text-align: center;
      margin-bottom: calc(5rem / 20);
      margin-top: calc(5rem / 20); }
      .st-Header .st-Header_Inner .st-btn a {
        display: block;
        height: calc(40rem / 20);
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -webkit-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center; }

@media only screen and (max-width: 46.875em) {
  .st-Header {
    padding-top: calc(10em / 20);
    padding-bottom: calc(10em / 20); }
    .st-Header .st-Header_Inner .st-Logo {
      width: calc(190em / 20); } }
.st-Hero {
  background: url("../img/fb_bg.jpg") no-repeat center top;
  position: relative; }
  .st-Hero::before {
    content: "";
    background: url("../img/fv_img1.png") no-repeat;
    background-size: calc(1605rem / 20);
    width: calc(1605rem / 20);
    height: calc(417rem / 20);
    z-index: 1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute; }
  .st-Hero .st-Hero_In {
    position: relative;
    height: calc(414rem / 20); }
    .st-Hero .st-Hero_In .img1 {
      position: absolute;
      top: 0;
      left: calc(100rem / 20);
      width: calc(799rem / 20); }
    .st-Hero .st-Hero_In .txt1 {
      position: absolute;
      left: 0;
      bottom: calc(20rem / 20);
      width: calc(186rem / 20); }
    .st-Hero .st-Hero_In .txt2 {
      position: absolute;
      right: calc(170rem / 20);
      top: calc(120rem / 20);
      width: calc(211rem / 20); }
    .st-Hero .st-Hero_In .txt3 {
      position: absolute;
      right: calc(0rem / 20);
      top: calc(245rem / 20);
      width: calc(497rem / 20); }
    .st-Hero .st-Hero_In .txt4 {
      position: absolute;
      right: calc(170rem / 20);
      top: calc(295rem / 20);
      width: calc(217rem / 20); }

@media only screen and (max-width: 46.875em) {
  .st-Main {
    overflow-x: hidden; }

  .st-Hero {
    background: url("../img/fb_bg.jpg") no-repeat center top; }
    .st-Hero::before {
      content: "";
      background: none;
      background-size: 0;
      width: 0; }
    .st-Hero .st-Hero_In {
      position: relative;
      height: calc(389rem / 20);
      overflow: hidden; }
      .st-Hero .st-Hero_In .img1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%; }
      .st-Hero .st-Hero_In .txt1 {
        position: absolute;
        left: calc(10rem / 20);
        bottom: calc(20rem / 20);
        width: calc(150rem / 20); }
      .st-Hero .st-Hero_In .txt2 {
        position: absolute;
        right: calc(50rem / 20);
        top: calc(70rem / 20);
        width: calc(280rem / 20); }
      .st-Hero .st-Hero_In .txt3 {
        position: absolute;
        right: calc(-50rem / 20);
        top: calc(230rem / 20);
        width: calc(497rem / 20); }
      .st-Hero .st-Hero_In .txt4 {
        position: absolute;
        right: calc(80rem / 20);
        top: calc(295rem / 20);
        width: calc(250rem / 20); } }
.home-sec1 {
  padding-top: calc(45rem / 20);
  position: relative;
  padding-bottom: calc(100rem / 20); }
  .home-sec1::after {
    content: "";
    position: absolute;
    background: url("../img/sec1_cl.png") no-repeat;
    background-size: calc(146rem / 20);
    width: calc(146rem / 20);
    height: calc(43rem / 20);
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(30rem / 20); }
  .home-sec1 .ttl {
    font-size: calc(25rem / 20);
    position: relative;
    text-align: center;
    padding-bottom: calc(9rem / 20);
    margin-bottom: calc(10rem / 20); }
    .home-sec1 .ttl::before {
      content: "";
      background: url("../img/sec1_ttl1.png") no-repeat;
      background-size: calc(92rem / 20);
      width: calc(92rem / 20);
      height: calc(65rem / 20);
      top: calc(-15rem / 20);
      left: calc(210rem / 20);
      position: absolute; }
    .home-sec1 .ttl::after {
      content: "";
      position: absolute;
      width: calc(250rem / 20);
      height: calc(5rem / 20);
      border-bottom: #8B0307 .2rem solid;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0; }
  .home-sec1 .txt1 {
    font-size: calc(14rem / 20);
    font-weight: 700;
    margin-bottom: calc(15rem / 20);
    text-align: center; }
    .home-sec1 .txt1 span {
      font-size: calc(17rem / 20);
      color: #8B0307; }
  .home-sec1 .btn {
    background: url("../img/sec1_btn1.png") no-repeat;
    background-size: calc(384rem / 20);
    width: calc(384rem / 20);
    height: calc(99rem / 20);
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    font-size: calc(15rem / 20);
    font-weight: 700;
    text-align: center;
    margin-bottom: calc(15rem / 20); }
    .home-sec1 .btn a {
      display: block;
      height: calc(99rem / 20);
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center; }
  .home-sec1 .txt-Box {
    position: relative;
    padding-left: calc(30rem / 20);
    padding-right: calc(22rem / 20);
    padding-top: calc(24rem / 20);
    height: calc(291rem / 20);
    margin-bottom: calc(50rem / 20); }
    .home-sec1 .txt-Box::before {
      content: "";
      background: url("../img/sec1_bg3.jpg") no-repeat;
      background-size: calc(1023rem / 20);
      width: calc(1023rem / 20);
      height: calc(291rem / 20);
      top: 0;
      left: calc(-11rem / 20);
      position: absolute;
      z-index: -1; }
    .home-sec1 .txt-Box .txt-Box_ttl {
      font-size: calc(18rem / 20);
      color: #8B0307; }
      .home-sec1 .txt-Box .txt-Box_ttl span {
        font-size: calc(23rem / 20); }
    .home-sec1 .txt-Box .box {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      .home-sec1 .txt-Box .box .txt {
        width: calc(415rem / 20);
        font-size: calc(13rem / 20); }
        .home-sec1 .txt-Box .box .txt span {
          font-size: calc(15rem / 20);
          color: #8B0307;
          text-decoration: underline; }
      .home-sec1 .txt-Box .box .img {
        width: calc(526rem / 20); }
  .home-sec1 .ttl2 {
    word-break: keep-all;
    overflow-wrap: break-word;
    font-size: calc(25rem / 20);
    position: relative;
    text-align: center;
    padding-bottom: calc(9rem / 20);
    margin-bottom: calc(10rem / 20); }
    .home-sec1 .ttl2 span {
      color: #8B0307; }
    .home-sec1 .ttl2::before {
      content: "";
      background: url("../img/sec1_ttl2.png") no-repeat;
      background-size: calc(29rem / 20);
      width: calc(29rem / 20);
      height: calc(29rem / 20);
      top: calc(-15rem / 20);
      left: calc(70rem / 20);
      position: absolute; }
    .home-sec1 .ttl2::after {
      content: "";
      background: url("../img/sec1_ttl3.png") no-repeat;
      background-size: calc(29rem / 20);
      width: calc(29rem / 20);
      height: calc(29rem / 20);
      bottom: calc(-5rem / 20);
      right: calc(70rem / 20);
      position: absolute; }
  .home-sec1 .ttl3 {
    text-align: center;
    font-size: calc(25rem / 20);
    line-height: 1.3; }
  .home-sec1 .ttl4 {
    position: relative;
    text-align: center;
    font-size: calc(25rem / 20);
    margin-top: calc(60rem / 20);
    margin-bottom: calc(30rem / 20); }
    .home-sec1 .ttl4::before {
      content: "";
      background: url("../img/sec1_ttl4.png") no-repeat center;
      background-size: calc(251rem / 20);
      width: calc(251rem / 20);
      height: calc(7rem / 20);
      bottom: calc(-5rem / 20);
      left: 50%;
      transform: translateX(-50%);
      position: absolute; }
  .home-sec1 .txt2 {
    font-size: calc(14rem / 20);
    padding-left: calc(40rem / 20);
    padding-right: calc(40rem / 20); }

@media only screen and (max-width: 46.875em) {
  .home-sec1 .ttl {
    font-size: calc(28rem / 20);
    padding-bottom: calc(9rem / 20);
    margin-bottom: calc(10rem / 20); }
    .home-sec1 .ttl::before {
      left: calc(10rem / 20); }
  .home-sec1 .txt1 {
    font-size: calc(22rem / 20); }
    .home-sec1 .txt1 span {
      font-size: calc(22rem / 20); }
  .home-sec1 .btn {
    background: url("../img/sec1_btn1.png") no-repeat;
    background-size: cover;
    width: calc(600rem / 20);
    height: calc(146rem / 20);
    font-size: calc(24rem / 20); }
    .home-sec1 .btn a {
      height: calc(146rem / 20); }
  .home-sec1 .txt-Box {
    padding-left: calc(30rem / 20);
    padding-right: calc(22rem / 20);
    padding-top: calc(24rem / 20);
    padding-bottom: calc(24rem / 20);
    height: auto;
    margin-bottom: calc(50rem / 20);
    background: #f3e5e5; }
    .home-sec1 .txt-Box::before {
      content: "";
      background: none; }
    .home-sec1 .txt-Box .txt-Box_ttl {
      font-size: calc(24rem / 20); }
      .home-sec1 .txt-Box .txt-Box_ttl span {
        font-size: calc(28rem / 20); }
    .home-sec1 .txt-Box .box {
      -webkit-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .home-sec1 .txt-Box .box .txt {
        width: 100%;
        font-size: calc(21rem / 20); }
        .home-sec1 .txt-Box .box .txt span {
          font-size: calc(21rem / 20); }
      .home-sec1 .txt-Box .box .img {
        width: 100%;
        margin-top: calc(21rem / 20); }
        .home-sec1 .txt-Box .box .img img {
          width: 100%; }
  .home-sec1 .ttl2 {
    font-size: calc(25rem / 20); }
    .home-sec1 .ttl2::before {
      content: "";
      background: url("../img/sec1_ttl2.png") no-repeat;
      background-size: calc(20rem / 20);
      width: calc(20rem / 20);
      height: calc(20rem / 20);
      top: calc(-15rem / 20);
      left: 0; }
    .home-sec1 .ttl2::after {
      content: "";
      background: url("../img/sec1_ttl3.png") no-repeat;
      background-size: calc(20rem / 20);
      width: calc(20rem / 20);
      height: calc(20rem / 20);
      bottom: calc(-5rem / 20);
      right: 0; }
  .home-sec1 .ttl3 {
    font-size: calc(28rem / 20);
    line-height: 1.4; }
  .home-sec1 .ttl4 {
    font-size: calc(28rem / 20); }
  .home-sec1 .txt2 {
    font-size: calc(21rem / 20);
    padding-left: 0;
    padding-right: 0; } }
.home-sec2 {
  background: #f3f3f3;
  padding-top: calc(60rem / 20);
  padding-bottom: calc(60rem / 20); }
  .home-sec2 .box1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .home-sec2 .box1 .unit1 {
      box-shadow: 0 0 .25rem .25rem #e0e0e0;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      width: calc(480rem / 20);
      background: #fff; }
      .home-sec2 .box1 .unit1 .img {
        width: calc(204rem / 20); }
      .home-sec2 .box1 .unit1 .txt-Area {
        width: calc(276rem / 20); }
        .home-sec2 .box1 .unit1 .txt-Area .name {
          font-size: calc(16rem / 20);
          line-height: 1.4;
          padding-top: calc(20rem / 20);
          padding-left: calc(20rem / 20);
          padding-right: calc(20rem / 20);
          padding-bottom: calc(16rem / 20);
          border-bottom: #8B0307 .2rem solid;
          background: url("../img/sec2_bg1.png") no-repeat left top;
          background-size: calc(207rem / 20); }
        .home-sec2 .box1 .unit1 .txt-Area .txt {
          font-size: calc(14rem / 20);
          line-height: 1.4;
          padding-top: calc(15rem / 20);
          padding-left: calc(20rem / 20);
          padding-right: calc(20rem / 20); }
  .home-sec2 .unit2 {
    background: url("../img/sec2_bg2.png") no-repeat left top #fff;
    background-size: calc(192rem / 20);
    box-shadow: 0 0 .25rem .25rem #e0e0e0;
    margin-top: calc(40rem / 20);
    padding-top: calc(20rem / 20);
    padding-left: calc(20rem / 20);
    padding-right: calc(20rem / 20);
    padding-bottom: calc(20rem / 20); }
    .home-sec2 .unit2:first-of-type {
      margin-top: 0; }
    .home-sec2 .unit2 h3 {
      font-size: calc(16rem / 20);
      position: relative;
      padding-bottom: calc(10rem / 20);
      margin-bottom: calc(10rem / 20); }
      .home-sec2 .unit2 h3::after {
        content: "";
        position: absolute;
        width: calc(175rem / 20);
        height: calc(3rem / 20);
        border-bottom: #8B0307 .1rem solid;
        left: 0;
        bottom: 0; }
    .home-sec2 .unit2 p {
      font-size: calc(14rem / 20); }

@media only screen and (max-width: 46.875em) {
  .home-sec2 .box1 {
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .home-sec2 .box1 .unit1 {
      box-shadow: 0 0 .25rem .25rem #e0e0e0;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      width: calc(600rem / 20);
      margin-left: auto;
      margin-right: auto;
      background: #fff;
      margin-bottom: calc(50rem / 20); }
      .home-sec2 .box1 .unit1 .img {
        width: calc(250rem / 20); }
        .home-sec2 .box1 .unit1 .img img {
          width: 100%; }
      .home-sec2 .box1 .unit1 .txt-Area {
        width: calc(350rem / 20); }
        .home-sec2 .box1 .unit1 .txt-Area .name {
          font-size: calc(24rem / 20); }
        .home-sec2 .box1 .unit1 .txt-Area .txt {
          font-size: calc(18rem / 20);
          line-height: 1.4;
          padding-top: calc(15rem / 20);
          padding-left: calc(20rem / 20);
          padding-right: calc(20rem / 20); }
  .home-sec2 .unit2 {
    width: calc(600rem / 20);
    margin-left: auto;
    margin-right: auto; }
    .home-sec2 .unit2 h3 {
      font-size: calc(24rem / 20); }
    .home-sec2 .unit2 p {
      font-size: calc(18rem / 20); } }
.home-sec3 {
  padding-top: calc(50rem / 20);
  padding-bottom: calc(70rem / 20);
  position: relative; }
  .home-sec3 .inner {
    position: relative; }
    .home-sec3 .inner::before {
      content: "";
      background: url("../img/sec3_bg1.png") no-repeat;
      background-size: calc(452rem / 20);
      width: calc(452rem / 20);
      height: calc(364rem / 20);
      top: calc(-70rem / 20);
      left: calc(-524rem / 20);
      position: absolute; }
  .home-sec3 .box1 {
    position: relative;
    padding-left: calc(30rem / 20);
    padding-right: calc(22rem / 20);
    padding-top: calc(50rem / 20);
    height: calc(341rem / 20);
    margin-bottom: calc(70rem / 20); }
    .home-sec3 .box1::before {
      content: "";
      background: url("../img/sec3_bg2.png") no-repeat;
      background-size: calc(1023rem / 20);
      width: calc(1023rem / 20);
      height: calc(341rem / 20);
      top: 0;
      left: calc(-11rem / 20);
      position: absolute;
      z-index: -1; }
    .home-sec3 .box1 .box1_in {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -webkit-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
      align-items: flex-start; }
    .home-sec3 .box1 .unit {
      width: calc(164rem / 20);
      text-align: center;
      margin-left: calc(30rem / 20);
      margin-right: calc(30rem / 20); }
      .home-sec3 .box1 .unit h3 {
        font-size: calc(14rem / 20);
        line-height: 1.4; }
    .home-sec3 .box1 .ttl {
      font-size: calc(25rem / 20);
      text-align: center;
      width: 100%;
      margin-bottom: calc(5rem / 20); }
      .home-sec3 .box1 .ttl span {
        color: #8B0307; }
        .home-sec3 .box1 .ttl span b {
          font-size: calc(40rem / 20);
          line-height: 1; }
  .home-sec3 .box2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding-left: calc(50rem / 20);
    padding-right: calc(50rem / 20); }
    .home-sec3 .box2 .txt-area {
      width: calc(480rem / 20); }
      .home-sec3 .box2 .txt-area h3 {
        font-size: calc(18rem / 20);
        line-height: 1.4;
        border-left: .3rem solid #8B0307;
        padding-left: calc(20rem / 20);
        margin-bottom: calc(20rem / 20); }
      .home-sec3 .box2 .txt-area p {
        font-size: calc(14rem / 20);
        margin-bottom: calc(20rem / 20); }
    .home-sec3 .box2 .img {
      width: calc(384rem / 20); }
      .home-sec3 .box2 .img p {
        background: #8B0307;
        color: #fff;
        font-size: calc(14rem / 20);
        text-align: center; }

@media only screen and (max-width: 46.875em) {
  .home-sec3 {
    padding-top: calc(50rem / 20);
    padding-bottom: calc(70rem / 20);
    position: relative; }
    .home-sec3 .inner {
      position: relative; }
      .home-sec3 .inner::before {
        content: "";
        background: none; }
    .home-sec3 .box1 {
      padding-left: calc(30rem / 20);
      padding-right: calc(22rem / 20);
      padding-top: calc(10rem / 20);
      height: calc(228rem / 20);
      margin-bottom: calc(70rem / 20); }
      .home-sec3 .box1::before {
        content: "";
        background: url("../img/sec3_bg2.png") no-repeat;
        background-size: 100%;
        width: 100%;
        height: calc(341rem / 20);
        top: 0;
        left: calc(-11rem / 20); }
      .home-sec3 .box1 .unit {
        width: calc(164rem / 20);
        text-align: center;
        margin-left: calc(10rem / 20);
        margin-right: calc(10rem / 20); }
        .home-sec3 .box1 .unit img {
          width: calc(124rem / 20); }
        .home-sec3 .box1 .unit h3 {
          font-size: calc(16rem / 20);
          line-height: 1.4; }
      .home-sec3 .box1 .ttl {
        font-size: calc(22rem / 20);
        text-align: center;
        width: 100%;
        margin-bottom: 0; }
        .home-sec3 .box1 .ttl span {
          color: #8B0307; }
          .home-sec3 .box1 .ttl span b {
            font-size: calc(40rem / 20);
            line-height: 1; }
    .home-sec3 .box2 {
      -webkit-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      padding-left: calc(20rem / 20);
      padding-right: calc(20rem / 20); }
      .home-sec3 .box2 .txt-area {
        width: 100%; }
        .home-sec3 .box2 .txt-area h3 {
          font-size: calc(24rem / 20);
          line-height: 1.4;
          border-left: .3rem solid #8B0307;
          padding-left: calc(20rem / 20);
          margin-bottom: calc(20rem / 20); }
        .home-sec3 .box2 .txt-area p {
          font-size: calc(21rem / 20);
          margin-bottom: calc(20rem / 20); }
      .home-sec3 .box2 .img {
        width: 100%; }
        .home-sec3 .box2 .img img {
          width: 100%; }
        .home-sec3 .box2 .img p {
          font-size: calc(21rem / 20); } }
.home-sec4 {
  background: url("../img/sec4_bg4.png") repeat-x top;
  padding-top: calc(45rem / 20); }
  .home-sec4 .inner {
    position: relative; }
    .home-sec4 .inner::before {
      content: "";
      background: url("../img/sec4_bg3.png") no-repeat;
      background-size: calc(436rem / 20);
      width: calc(436rem / 20);
      height: calc(351rem / 20);
      bottom: calc(-20rem / 20);
      right: calc(-524rem / 20);
      position: absolute; }
  .home-sec4 .ttl1 {
    text-align: center;
    line-height: 1.5;
    position: relative;
    margin-bottom: calc(20rem / 20); }
    .home-sec4 .ttl1::before {
      content: "";
      background: url("../img/sec4_ttl1.png") no-repeat;
      background-size: calc(298rem / 20);
      width: calc(298rem / 20);
      height: calc(107rem / 20);
      top: calc(-90rem / 20);
      left: calc(50rem / 20);
      position: absolute; }
    .home-sec4 .ttl1 span {
      color: #8B0307; }
  .home-sec4 .img-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-bottom: calc(80rem / 20); }
    .home-sec4 .img-area img:first-child {
      width: calc(898rem / 20);
      margin-bottom: calc(45rem / 20); }
    .home-sec4 .img-area img:nth-child(2) {
      width: calc(427rem / 20);
      margin-left: calc(23rem / 20);
      margin-right: calc(23rem / 20); }
    .home-sec4 .img-area img:nth-child(3) {
      width: calc(428rem / 20);
      margin-left: calc(23rem / 20);
      margin-right: calc(23rem / 20); }
  .home-sec4 .ttl2 {
    font-size: calc(25rem / 20);
    line-height: 1.4;
    position: relative;
    text-align: center;
    padding-bottom: calc(25rem / 20);
    margin-bottom: calc(70rem / 20); }
    .home-sec4 .ttl2 span {
      color: #8B0307; }
    .home-sec4 .ttl2::after {
      content: "";
      position: absolute;
      width: calc(250rem / 20);
      height: calc(5rem / 20);
      border-bottom: #8B0307 .2rem solid;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0; }
  .home-sec4 .unit {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: calc(10rem / 20); }
    .home-sec4 .unit .unit-img {
      width: calc(295rem / 20);
      font-size: calc(16rem / 20);
      text-align: center;
      margin-left: calc(14rem / 20);
      margin-right: calc(14rem / 20); }
      .home-sec4 .unit .unit-img h3 {
        margin-top: calc(5rem / 20);
        background: url("../img/sec4_bg2.png") no-repeat center;
        color: #fff; }
      .home-sec4 .unit .unit-img.u2 {
        width: calc(372rem / 20); }
    .home-sec4 .unit .unit-txtarea {
      background: url("../img/sec4_bg1.png") no-repeat center;
      color: #fff;
      width: calc(306rem / 20);
      height: calc(212rem / 20);
      font-size: calc(17rem / 20);
      line-height: 1.5;
      padding-left: calc(15rem / 20);
      padding-right: calc(15rem / 20);
      margin-left: calc(14rem / 20);
      margin-right: calc(14rem / 20); }
      .home-sec4 .unit .unit-txtarea h3 {
        text-align: center;
        font-size: calc(20rem / 20);
        border-bottom: .05rem solid #fff;
        padding-top: calc(5rem / 20);
        padding-bottom: calc(5rem / 20);
        margin-bottom: calc(10rem / 20); }
      .home-sec4 .unit .unit-txtarea li {
        font-size: calc(15rem / 20); }
        .home-sec4 .unit .unit-txtarea li::before {
          content: "●";
          margin-right: calc(2rem / 20);
          font-size: calc(16rem / 20);
          line-height: 0; }

@media only screen and (max-width: 46.875em) {
  .home-sec4 .inner::before {
    background: none; }
  .home-sec4 .ttl1 {
    font-size: calc(24rem / 20); }
    .home-sec4 .ttl1::before {
      top: calc(-100rem / 20);
      left: calc(20rem / 20); }
  .home-sec4 .img-area {
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .home-sec4 .img-area img:first-child {
      width: 100%; }
    .home-sec4 .img-area img:nth-child(2) {
      width: 48%;
      margin-left: 0;
      margin-right: 0; }
    .home-sec4 .img-area img:nth-child(3) {
      width: 48%;
      margin-left: 0;
      margin-right: 0; }
  .home-sec4 .ttl2 {
    font-size: calc(24rem / 20);
    line-height: 1.4;
    position: relative;
    text-align: center;
    padding-bottom: calc(25rem / 20);
    margin-bottom: calc(70rem / 20); }
  .home-sec4 .unit {
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(600rem / 20);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(50rem / 20); }
    .home-sec4 .unit .unit-img {
      width: 100%;
      font-size: calc(24rem / 20);
      text-align: center;
      margin-left: calc(14rem / 20);
      margin-right: calc(14rem / 20); }
      .home-sec4 .unit .unit-img img {
        width: 100%; }
      .home-sec4 .unit .unit-img h3 {
        margin-top: calc(5rem / 20);
        background: url("../img/sec4_bg2.png") no-repeat center;
        background-size: cover; }
      .home-sec4 .unit .unit-img.u2 {
        width: 100%; }
    .home-sec4 .unit .unit-txtarea {
      background: url("../img/sec4_bg1.png") no-repeat center;
      background-size: cover;
      color: #fff;
      width: 100%;
      height: auto;
      font-size: calc(21rem / 20);
      padding-bottom: calc(15rem / 20); }
      .home-sec4 .unit .unit-txtarea h3 {
        text-align: center;
        font-size: calc(20rem / 20);
        border-bottom: .05rem solid #fff;
        padding-top: calc(5rem / 20);
        padding-bottom: calc(5rem / 20);
        margin-bottom: calc(10rem / 20); }
      .home-sec4 .unit .unit-txtarea li {
        font-size: calc(15rem / 20); }
        .home-sec4 .unit .unit-txtarea li::before {
          content: "●";
          margin-right: calc(2rem / 20);
          font-size: calc(16rem / 20);
          line-height: 0; } }
.home-sec5 {
  background: url(../img/sec4_bg4.png) repeat-x top;
  padding-top: calc(45rem / 20);
  padding-bottom: calc(40rem / 20);
  position: relative; }
  .home-sec5::after {
    content: "";
    position: absolute;
    background: url(../img/sec1_cl.png) no-repeat;
    background-size: calc(146rem / 20);
    width: calc(146rem / 20);
    height: calc(43rem / 20);
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(-20rem / 20); }
  .home-sec5 .ttl1 {
    text-align: center;
    line-height: 1.5;
    position: relative;
    margin-bottom: calc(20rem / 20);
    font-size: calc(25rem / 20); }
    .home-sec5 .ttl1 span {
      color: #8B0307; }
    .home-sec5 .ttl1::before {
      content: "";
      background: url("../img/sec5_ico1.png") no-repeat;
      background-size: calc(85rem / 20);
      width: calc(85rem / 20);
      height: calc(49rem / 20);
      top: calc(-20rem / 20);
      left: calc(120rem / 20);
      position: absolute; }
  .home-sec5 .img-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: calc(50rem / 20); }
    .home-sec5 .img-area .img {
      width: calc(420rem / 20);
      margin-left: calc(30rem / 20);
      margin-right: calc(30rem / 20); }
      .home-sec5 .img-area .img p {
        background: #8B0307;
        padding-top: calc(5rem / 20);
        padding-bottom: calc(5rem / 20);
        color: #fff;
        font-size: calc(14rem / 20);
        font-weight: 700;
        text-align: center;
        line-height: 1.2; }
  .home-sec5 .ttl2 {
    text-align: center;
    line-height: 1.5;
    position: relative;
    margin-bottom: calc(20rem / 20);
    font-size: calc(25rem / 20); }
    .home-sec5 .ttl2 span {
      color: #8B0307; }

@media only screen and (max-width: 46.875em) {
  .home-sec5 .ttl1 {
    font-size: calc(25rem / 20); }
    .home-sec5 .ttl1 span {
      color: #8B0307; }
    .home-sec5 .ttl1::before {
      top: calc(-40rem / 20);
      left: calc(12rem / 20); }
  .home-sec5 .img-area {
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(600rem / 20);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(50rem / 20); }
    .home-sec5 .img-area .img {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: calc(30rem / 20); }
      .home-sec5 .img-area .img img {
        width: 100%; }
      .home-sec5 .img-area .img p {
        font-size: calc(18rem / 20);
        line-height: 1.5; } }
.home-sec6 {
  background: #f3f3f3;
  padding-top: calc(60rem / 20);
  padding-bottom: calc(60rem / 20); }
  .home-sec6 .box1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center; }
    .home-sec6 .box1 .unit1 {
      box-shadow: 0 0 .25rem .25rem #e0e0e0;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      width: calc(480rem / 20);
      background: #fff; }
      .home-sec6 .box1 .unit1 .img {
        margin: auto;
        width: calc(204rem / 20); }
      .home-sec6 .box1 .unit1 .txt-Area {
        width: calc(276rem / 20); }
        .home-sec6 .box1 .unit1 .txt-Area .name {
          font-size: calc(16rem / 20);
          line-height: 1.4;
          padding-top: calc(20rem / 20);
          padding-left: calc(20rem / 20);
          padding-right: calc(20rem / 20);
          padding-bottom: calc(16rem / 20);
          border-bottom: #8B0307 .2rem solid;
          background: url("../img/sec2_bg1.png") no-repeat left top;
          background-size: calc(207rem / 20); }
        .home-sec6 .box1 .unit1 .txt-Area .txt {
          font-size: calc(13rem / 20);
          line-height: 1.4;
          padding-top: calc(15rem / 20);
          padding-bottom: calc(15rem / 20);
          padding-left: calc(20rem / 20);
          padding-right: calc(20rem / 20); }

@media only screen and (max-width: 46.875em) {
  .home-sec6 .box1 {
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .home-sec6 .box1 .unit1 {
      box-shadow: 0 0 .25rem .25rem #e0e0e0;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      width: calc(600rem / 20);
      margin-left: auto;
      margin-right: auto;
      background: #fff;
      margin-bottom: calc(50rem / 20); }
      .home-sec6 .box1 .unit1 .img {
        width: calc(250rem / 20); }
        .home-sec6 .box1 .unit1 .img img {
          width: 100%; }
      .home-sec6 .box1 .unit1 .txt-Area {
        width: calc(350rem / 20); }
        .home-sec6 .box1 .unit1 .txt-Area .name {
          font-size: calc(24rem / 20); }
        .home-sec6 .box1 .unit1 .txt-Area .txt {
          font-size: calc(18rem / 20);
          line-height: 1.4;
          padding-top: calc(15rem / 20);
          padding-left: calc(20rem / 20);
          padding-right: calc(20rem / 20); } }
.home-Bnr .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center; }
  .home-Bnr .inner .txt {
    padding-left: calc(50rem / 20); }
    .home-Bnr .inner .txt h2 {
      font-size: calc(36rem / 20);
      font-weight: 300;
      line-height: 1.4;
      color: #8B0307; }
    .home-Bnr .inner .txt p {
      font-size: calc(25rem / 20); }
  .home-Bnr .inner .img {
    margin-right: calc(50rem / 20);
    width: calc(414rem / 20); }

@media only screen and (max-width: 46.875em) {
  .home-Bnr .inner {
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative; }
    .home-Bnr .inner .txt {
      padding-left: 0; }
      .home-Bnr .inner .txt h2 {
        font-size: calc(27rem / 20);
        font-weight: 300;
        line-height: 1.4;
        color: #8B0307;
        position: absolute;
        top: calc(50rem / 20);
        left: calc(20rem / 20); }
      .home-Bnr .inner .txt p {
        font-size: calc(18rem / 20);
        top: calc(150rem / 20);
        left: calc(20rem / 20);
        position: absolute; }
    .home-Bnr .inner .img {
      height: 100%; } }
.home-sec8 {
  background: url("../img/sec8_bg2.png") no-repeat center;
  padding-bottom: calc(35rem / 20); }
  .home-sec8 .inner {
    background: url("../img/sec8_bg1.png") no-repeat top right;
    padding-top: calc(35rem / 20);
    background-size: calc(379rem / 20);
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end; }
    .home-sec8 .inner .img {
      width: calc(240rem / 20);
      margin-left: calc(50rem / 20);
      margin-right: calc(55rem / 20); }
    .home-sec8 .inner .txt-area {
      width: calc(338rem / 20);
      margin-right: calc(25rem / 20); }
      .home-sec8 .inner .txt-area img:first-child {
        width: calc(211rem / 20);
        margin-bottom: calc(25rem / 20); }
    .home-sec8 .inner .txt-area2 {
      width: calc(211rem / 20);
      margin-right: calc(50rem / 20); }

@media only screen and (max-width: 46.875em) {
  .home-sec8 .inner {
    background-size: calc(379rem / 20);
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end; }
    .home-sec8 .inner .img {
      width: calc(220rem / 20);
      margin-left: calc(20rem / 20);
      margin-right: calc(20rem / 20); }
    .home-sec8 .inner .txt-area {
      width: calc(338rem / 20);
      margin-right: calc(25rem / 20); }
      .home-sec8 .inner .txt-area img:first-child {
        width: calc(211rem / 20);
        margin-bottom: calc(25rem / 20); }
    .home-sec8 .inner .txt-area2 {
      width: calc(280rem / 20);
      margin-right: 0; } }
.home-Contact {
  padding-top: calc(50rem / 20); }
  .home-Contact .ttl {
    width: calc(345rem / 20);
    margin-bottom: calc(30rem / 20); }
  .home-Contact .contct-table {
    width: 100%;
    border: none;
    font-size: calc(16rem / 20);
    margin-bottom: calc(20rem / 20); }
    .home-Contact .contct-table tr {
      border-bottom: 1px solid #ccc; }
      .home-Contact .contct-table tr:last-child {
        border-bottom: none; }
    .home-Contact .contct-table .mast {
      background: #8B0307;
      color: #fff;
      font-size: calc(12rem / 20);
      padding: calc(5rem / 20);
      border-radius: .1rem;
      float: right; }
    .home-Contact .contct-table th {
      text-align: left;
      vertical-align: top;
      padding-left: calc(20rem / 20);
      padding-right: calc(10rem / 20);
      padding-top: calc(20rem / 20);
      padding-bottom: calc(20rem / 20);
      border-right: 1px solid #ccc;
      width: calc(240rem / 20); }
    .home-Contact .contct-table td {
      padding-left: calc(20rem / 20);
      padding-top: calc(20rem / 20);
      padding-bottom: calc(20rem / 20); }
      .home-Contact .contct-table td .co1 {
        margin-left: calc(10rem / 20); }
    .home-Contact .contct-table input[name="御社名"] {
      width: calc(335rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20); }
    .home-Contact .contct-table input[name="姓"] {
      width: calc(220rem / 20);
      margin-right: calc(20rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20); }
    .home-Contact .contct-table input[name="名"] {
      width: calc(220rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20); }
    .home-Contact .contct-table input[name="email"] {
      width: calc(335rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20); }
    .home-Contact .contct-table input[name="num1"] {
      width: calc(105rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20);
      margin-right: calc(5rem / 20); }
    .home-Contact .contct-table input[name="num2"] {
      width: calc(105rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20);
      margin-right: calc(5rem / 20);
      margin-left: calc(5rem / 20); }
    .home-Contact .contct-table input[name="num3"] {
      width: calc(105rem / 20);
      border: 1px solid #000;
      height: calc(30rem / 20);
      margin-right: calc(5rem / 20);
      margin-left: calc(5rem / 20); }
    .home-Contact .contct-table textarea {
      width: calc(625rem / 20);
      height: calc(160rem / 20);
      border: 1px solid #000; }
    .home-Contact .contct-table ol {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      font-size: calc(12rem / 20); }
      .home-Contact .contct-table ol li {
        margin-right: calc(12rem / 20); }
  .home-Contact .btn {
    background: url("../img/sec1_btn1.png") no-repeat;
    background-size: calc(384rem / 20);
    width: calc(384rem / 20);
    height: calc(99rem / 20);
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    font-size: calc(15rem / 20);
    font-weight: 700;
    text-align: center;
    margin-bottom: calc(50rem / 20); }
    .home-Contact .btn button {
      width: 100%;
      display: block;
      height: calc(99rem / 20);
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center; }
  .home-Contact .priv-txt {
    background: #717171;
    color: #fff;
    text-align: center;
    font-size: calc(14rem / 20);
    font-weight: 700;
    margin-bottom: calc(50rem / 20); }
  .home-Contact .box {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: calc(70rem / 20); }
    .home-Contact .box img {
      margin-left: calc(25rem / 20);
      margin-right: calc(25rem / 20); }
      .home-Contact .box img:first-child {
        width: calc(150rem / 20); }
      .home-Contact .box img:nth-child(2) {
        width: calc(141rem / 20); }
      .home-Contact .box img:nth-child(3) {
        width: calc(120rem / 20); }
      .home-Contact .box img:nth-child(4) {
        width: calc(176rem / 20); }
  .home-Contact .ttl2 {
    text-align: center;
    color: #A8A9A9;
    font-size: calc(24rem / 20);
    line-height: 1.2;
    position: relative;
    padding-bottom: calc(25rem / 20);
    margin-bottom: calc(40rem / 20); }
    .home-Contact .ttl2::after {
      content: "";
      position: absolute;
      width: calc(250rem / 20);
      height: calc(5rem / 20);
      border-bottom: #8B0307 .2rem solid;
      left: 50%;
      transform: translateX(-50%);
      bottom: calc(5rem / 20); }
    .home-Contact .ttl2 span {
      display: block;
      font-size: calc(12rem / 20); }
  .home-Contact .company-table {
    width: calc(620rem / 20);
    margin-left: auto;
    margin-right: auto;
    border: none;
    font-size: calc(14rem / 20);
    margin-bottom: calc(70rem / 20); }
    .home-Contact .company-table th {
      width: calc(120rem / 20);
      text-align: left;
      vertical-align: top;
      padding-top: calc(10rem / 20);
      padding-bottom: calc(10rem / 20);
      padding-left: calc(10rem / 20);
      padding-right: calc(10rem / 20); }

@media only screen and (max-width: 46.875em) {
  .home-Contact .contct-table {
    width: 100%;
    border: none;
    font-size: calc(21rem / 20);
    margin-bottom: calc(20rem / 20); }
    .home-Contact .contct-table tr:last-child {
      border-bottom: none; }
    .home-Contact .contct-table th {
      display: block;
      width: 100%;
      padding-left: calc(20rem / 20);
      padding-top: calc(20rem / 20);
      padding-bottom: 0;
      border-right: none; }
    .home-Contact .contct-table td {
      display: block;
      width: 100%;
      padding-left: calc(20rem / 20);
      padding-top: calc(20rem / 20);
      padding-bottom: calc(20rem / 20); }
      .home-Contact .contct-table td .co1 {
        margin-left: calc(10rem / 20); }
    .home-Contact .contct-table input[name="御社名"] {
      width: 100%;
      height: calc(60rem / 20); }
    .home-Contact .contct-table input[name="姓"] {
      width: calc(300rem / 20);
      margin-right: calc(10rem / 20);
      height: calc(60rem / 20); }
    .home-Contact .contct-table input[name="名"] {
      width: calc(300rem / 20);
      height: calc(60rem / 20); }
    .home-Contact .contct-table input[name="email"] {
      width: 80%;
      height: calc(60rem / 20); }
    .home-Contact .contct-table input[name="num1"] {
      width: calc(160rem / 20);
      height: calc(60rem / 20);
      margin-right: calc(5rem / 20); }
    .home-Contact .contct-table input[name="num2"] {
      width: calc(160rem / 20);
      height: calc(60rem / 20);
      margin-right: calc(5rem / 20);
      margin-left: calc(5rem / 20); }
    .home-Contact .contct-table input[name="num3"] {
      width: calc(160rem / 20);
      height: calc(60rem / 20);
      margin-right: calc(5rem / 20);
      margin-left: calc(5rem / 20); }
    .home-Contact .contct-table textarea {
      width: 80%;
      height: calc(300rem / 20);
      border: 1px solid #000; }
    .home-Contact .contct-table ol {
      font-size: calc(20rem / 20); }
  .home-Contact .btn {
    background: url(../img/sec1_btn1.png) no-repeat;
    background-size: cover;
    width: calc(600rem / 20);
    height: calc(146rem / 20);
    font-size: calc(24rem / 20); }
    .home-Contact .btn button {
      height: calc(146rem / 20); }
  .home-Contact .priv-txt {
    font-size: calc(24rem / 20); }
  .home-Contact .box {
    margin-bottom: calc(70rem / 20); }
    .home-Contact .box img {
      margin-left: calc(10rem / 20);
      margin-right: calc(10rem / 20); }
  .home-Contact .ttl2 {
    font-size: calc(32rem / 20); }
    .home-Contact .ttl2 span {
      display: block;
      font-size: calc(20rem / 20); }
  .home-Contact .company-table {
    width: 100%;
    font-size: calc(21rem / 20); }
    .home-Contact .company-table th {
      width: calc(160rem / 20); } }
/* ------ */
.clearfix:after {
  clear: both;
  content: '';
  display: block; }

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
    *::before, *::after, *::first-letter, *::first-line {
      background: transparent !important;
      color: #000 !important;
      box-shadow: none !important;
      text-shadow: none !important; }

  a {
    text-decoration: underline; }
    a:visited {
      text-decoration: underline; }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr {
    page-break-inside: avoid; }

  img {
    page-break-inside: avoid;
    max-width: 100% !important; }

  p, h2, h3 {
    orphans: 3;
    widows: 3; }

  h2, h3 {
    page-break-after: avoid; } }
