.wrap_1200, .about_inner, .info_inner, .business_inner, .works_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto; }

@media screen and (max-width: 800px) {
  .wrap_1200, .about_inner, .info_inner, .business_inner, .works_inner {
    width: 84%; } }
/* ========================================

common

======================================== */
.jp_r {
  font-weight: 400; }

.jp_b {
  font-weight: 700; }

.jp_bl {
  font-weight: 900; }

.p_hover a:hover {
  opacity: 0.6; }

.svg.c_white svg {
  fill: #fff; }
.svg.c_black svg {
  fill: #000; }

.img-fit {
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .img-fit::before {
    width: 100%;
    height: 0;
    content: '';
    display: block;
    padding-top: 60%;
    position: relative; }
  .img-fit img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-position: 50% 50%;
    background-size: cover;
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 1; }

.replace_img {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%; }

.l_tel {
  pointer-events: none; }

@media screen and (max-width: 800px) {
  .l_tel {
    pointer-events: auto; } }
/* ========================================

button

======================================== */
.link_line {
  font-size: 32px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 12px; }
  .link_line a {
    padding: 0 4px 4px;
    border-bottom: 1px solid #000;}

  .link_line a.txt-link {
      background-color: #897970;
      color: #fff;
      padding: 0.2em 0.7em;
    }

.btn_line {
  font-size: 35.4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .btn_line a {
    color: #fff;
    display: block;
    position: relative;
    padding: 14px 20px 20px;
    background-color: #897970;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .btn_line a::before, .btn_line a::after {
      width: 100%;
      height: 2px;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      background-color: #fff; }
    .btn_line a::before {
      top: 2px; }
    .btn_line a::after {
      bottom: 2px; }

@media screen and (max-width: 800px) {
  .link_line {
    font-size: 13px; }

  .btn_line {
    font-size: 15px; }
    .btn_line a {
      padding: 8px 10px 10px; }
      .btn_line a::before, .btn_line a::after {
        height: 1px; } }
/* ========================================

about

======================================== */
.about {
  text-align: center;
  margin-bottom: 120px; }
  .about .player {
    margin-bottom: 105px; }
    .about .player video {
      width: 100%; }
  .about h2 {
    font-size: 46.7px;
    margin-bottom: 55px; }
  .about .txt {
    font-size: 20px;
    line-height: 2;
    margin-bottom: 75px; }

@media screen and (max-width: 800px) {
  .about {
    margin-bottom: 60px; }
    .about .player {
      margin-bottom: 30px; }
    .about h2 {
      font-size: 20px;
      margin-bottom: 26px; }
    .about .txt {
      font-size: 10px;
      margin-bottom: 40px; } }
/* ========================================

info

======================================== */
.info {
  margin: 130px 0 115px; }
  .info_inner {
    max-width: 870px; }
  .info h2 {
    font-size: 42.5px;
    font-weight: 900;
    margin-bottom: 45px; }
  .info ul {
    font-size: 24px;
    max-width: 730px;
    margin-bottom: 80px; }
    .info ul li {
      margin-bottom: 33px; }
      .info ul li a {
        display: block;
        position: relative;
        padding-right: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .info ul li a::before {
          width: 100%;
          height: 2px;
          content: '';
          display: block;
          position: absolute;
          top: calc(50% + 2px);
          left: 0;
          background-color: #000;
          z-index: 0; }
        .info ul li a::after {
          width: 22px;
          height: 2px;
          content: '';
          display: block;
          position: absolute;
          z-index: 0;
          top: calc(50% - 6px);
          right: -3px;
          background-color: #000;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
        .info ul li a span {
          background-color: #fff;
          position: relative;
          z-index: 2; }
        .info ul li a .cat {
          padding-right: 1em;
          -ms-flex-negative: 0;
              flex-shrink: 0; }
        .info ul li a .tit {
          line-height: 1.3;
          padding-right: 0.6em; }

@media screen and (max-width: 800px) {
  .info {
    margin: 60px 0; }
    .info h2 {
      font-size: 15.5px;
      margin-bottom: 20px; }
    .info ul {
      font-size: 10px;
      margin-bottom: 40px; }
      .info ul li {
        margin-bottom: 15px; }
        .info ul li a {
          padding-right: 40px; }
          .info ul li a::before {
            height: 1px;
            top: 50%; }
          .info ul li a::after {
            width: 10px;
            height: 1px;
            top: calc(50% - 3px);
            right: -2px; }
          .info ul li a .cat {
            padding-right: 1em;
            -ms-flex-negative: 0;
                flex-shrink: 0; } }
/* ========================================

business

======================================== */
.business {
  text-align: center;
  margin-bottom: 110px; }
  .business_inner {
    max-width: 870px; }
  .business h2 {
    font-size: 42.5px;
    font-weight: 900;
    text-align: left;
    margin-bottom: 45px; }
  .business .img {
    margin-bottom: 80px; }
  .business h3 {
    margin-bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .business h3 .jp {
      font-size: 46.8px; }
    .business h3 .en {
      font-size: 28.2px;
      padding-top: 4px;
      margin-left: 0.5em; }
  .business .txt {
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 70px; }

@media screen and (max-width: 800px) {
  .business {
    margin-bottom: 60px; }
    .business h2 {
      font-size: 15.5px;
      margin-bottom: 20px; }
    .business .img {
      margin-bottom: 30px; }
    .business h3 {
      margin-bottom: 20px; }
      .business h3 .jp {
        font-size: 15px; }
      .business h3 .en {
        font-size: 11px;
        padding-top: 4px;
        margin-left: 0.5em; }
    .business .txt {
      font-size: 10px;
      margin-bottom: 30px; } }

/* 20231025追記 */
.business_inner_cuvic {
  margin-top: 100px;
}
@media screen and (max-width: 800px) {
  .business_inner_cuvic {
    margin-top: 50px;
  }
}

/* ========================================

works

======================================== */
.works {
  text-align: center; }
  .works ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .works ul li {
      width: 366px; }
      .works ul li a {
        display: block; }
        .works ul li a:hover {
          opacity: 0.7; }
      .works ul li .img {
        margin-bottom: 50px; }
      .works ul li h2 {
        font-size: 32.5px;
        margin-bottom: 35px; }
      .works ul li .txt {
        font-size: 20px;
        line-height: 1.5; }
      .works ul li a.txt-link {
        font-size: 19px;
        line-height: 1.5;
        margin-top: 1em;
        background-color: #897970;
        color: #fff;
        padding: 0.3em 0.7em;
        display: inline-block; }

@media screen and (max-width: 800px) {
  .works ul {
    display: block; }
    .works ul li {
      width: 100%; }
      .works ul li:not(:last-of-type) {
        margin-bottom: 30px; }
      .works ul li .img {
        width: 62%;
        margin: 0 auto;
        margin-bottom: 20px; }
      .works ul li h2 {
        font-size: 15.5px;
        margin-bottom: 15px; }
      .works ul li .txt {
        font-size: 10px; }
      .works ul li a.txt-link {
        font-size: 9px; }
}

/*# sourceMappingURL=top.css.map */



/* 20251127 aboutから移動 */
.wrap_1200, .company_inner, .about_inner, .access_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto; }

@media screen and (max-width: 800px) {
  .wrap_1200, .company_inner, .about_inner, .access_inner {
    width: 84%; } }
.wrap_1200, .company_inner, .about_inner, .access_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto; }

@media screen and (max-width: 800px) {
  .wrap_1200, .company_inner, .about_inner, .access_inner {
    width: 84%; } }

/* ========================================

access

======================================== */
.access h2 {
  font-size: 42.5px;
  font-weight: 900;
  margin-bottom: 45px; }
.access h3 {
  font-size: 28.3px;
  margin-bottom: 30px; }
.access .txt {
  font-size: 17px;
  margin-bottom: 50px; }
.access .map {
  height: 652px; }
  .access .map iframe {
    width: 100%;
    height: 100%;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%); }

@media screen and (max-width: 800px) {
  .access h2 {
    font-size: 15.5px;
    margin-bottom: 20px; }
  .access h3 {
    font-size: 11.3px;
    margin-bottom: 10px; }
  .access .txt {
    font-size: 10px;
    margin-bottom: 20px; }
  .access .map {
    height: 48vw; } }
