/* CSS Document */
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Yeseva+One&display=swap");
* {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-weight: 400;
  list-style: none;
  font-feature-settings: "palt"; }

html {
  font-family: "Noto Serif JP", serif; }

body {
  -webkit-text-size-adjust: 100%;
  color: #231815;
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: 0.065em;
  font-weight: 400;
  background: #ad8a87; }

img {
  width: 100%;
  height: auto;
  display: block; }

a {
  position: relative;
  display: block;
  text-decoration: none; }

.tgt {
  opacity: 0;
  transition: opacity 0.8s ease-out; }
  .tgt.on {
    opacity: 1; }

.sp {
  display: none; }

.footer {
  background: #000;
  color: #fff; }

.sub .content {
  color: #fff;
  overflow: hidden; }
  .sub .content .content-tit {
    text-align: center;
    line-height: 1;
    font-family: "Yeseva One", cursive;
    font-weight: 400;
    color: #fff; }
    .sub .content .content-tit span {
      display: block;
      font-family: "Noto Sans JP", sans-serif;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 0.08em; }
  .sub .content .inner .btn-back {
    background: #000; }
    .sub .content .inner .btn-back span {
      color: #fff;
      font-family: "Noto Sans JP", sans-serif; }

.sub.sub-w {
  background: #fff; }
  .sub.sub-w .content {
    color: #231815; }
    .sub.sub-w .content .content-tit {
      color: #231815; }

@keyframes btn-back-off {
  0% {
    left: 0%; }
  100% {
    left: -100%; } }

@keyframes btn-back-on {
  0% {
    left: 100%; }
  100% {
    left: 0; } }

@media screen and (min-width: 801px) {
  .sub .content {
    padding: 75px 0 70px;
    min-height: calc(100vh - 130px - 75px - 70px); }
    .sub .content .content-tit {
      font-size: 46px; }
      .sub .content .content-tit span {
        margin-top: 22px;
        font-size: 18px; }
    .sub .content .inner {
      margin: 50px auto 0;
      width: 95%;
      max-width: 750px; }
      .sub .content .inner .btn-back {
        margin: 40px 0 0;
        width: 215px;
        overflow: hidden; }
        .sub .content .inner .btn-back span {
          margin-left: 140px;
          line-height: 70px;
          z-index: 1; }
          .sub .content .inner .btn-back span::after {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            left: -105px;
            transform: translateY(-50%);
            width: 87px;
            height: 22px;
            background: url(../imgs/common/btn_arw_back.svg) center center no-repeat; }
        .sub .content .inner .btn-back::after {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          width: 100%;
          height: 100%;
          background: #936f6c;
          animation: btn-back-off 0.3s 1 forwards; }
        .sub .content .inner .btn-back:hover::after {
          width: 100%;
          animation: btn-back-on 0.3s 1 forwards; }
  .footer {
    height: 130px; }
    .footer .footer-box {
      margin: 0 auto;
      width: 95%;
      max-width: 1080px;
      display: flex;
      justify-content: space-between; }
      .footer .footer-box .footer-menu-box {
        padding-top: 48px;
        display: flex; }
        .footer .footer-box .footer-menu-box li {
          margin-right: 25px; }
          .footer .footer-box .footer-menu-box li:last-child {
            margin-right: 0; }
          .footer .footer-box .footer-menu-box li a {
            color: #fff;
            font-size: 18px;
            line-height: 33px;
            transition: color 0.3s ease-out; }
            .footer .footer-box .footer-menu-box li a:hover {
              color: #936f6c; }
      .footer .footer-box .copyright {
        padding-top: 48px;
        font-size: 14px;
        line-height: 33px;
        letter-spacing: 0.05em; }
      .footer .footer-box .sns-box {
        padding-top: 48px;
        width: 235px; }
        .footer .footer-box .sns-box .sns-tit {
          float: left;
          line-height: 33px;
          width: 115px;
          letter-spacing: 0.05em; }
        .footer .footer-box .sns-box .sns-box-inner {
          margin-left: 115px; }
          .footer .footer-box .sns-box .sns-box-inner .box {
            display: flex;
            justify-content: space-between; }
            .footer .footer-box .sns-box .sns-box-inner .box li {
              width: 33px;
              border-radius: 17px;
              border: 1px solid #fff;
              box-sizing: border-box;
              transition: opacity 0.3s ease-out; }
              .footer .footer-box .sns-box .sns-box-inner .box li:hover {
                opacity: 0.7; } }

@media screen and (max-width: 800px) {
  html {
    font-size: calc(100vw / 0.8); }
  body {
    font-size: 0.028rem; }
  .pc {
    display: none; }
  .sp {
    display: block; }
  .sub .content {
    padding: 0.08rem 0 0.04rem;
    min-height: calc(100vh - 0.285rem - 0.080rem - 0.040rem); }
    .sub .content .content-tit {
      font-size: 0.050rem;
      line-height: 1; }
      .sub .content .content-tit span {
        margin-top: 0.028rem;
        font-size: 0.024rem; }
    .sub .content .inner {
      margin: 0.050rem auto 0;
      width: 0.700rem; }
      .sub .content .inner .btn-back {
        margin: 0.040rem 0 0;
        width: 0.300rem;
        overflow: hidden; }
        .sub .content .inner .btn-back span {
          margin-left: 0.190rem;
          font-size: 0.024rem;
          line-height: 0.098rem;
          z-index: 1; }
          .sub .content .inner .btn-back span::after {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            left: -0.146rem;
            transform: translateY(-50%);
            width: 0.120rem;
            height: 0.030rem;
            background: url(../imgs/common/btn_arw_back.svg) center center no-repeat; }
  .footer {
    height: 0.285rem; }
    .footer .footer-box {
      margin: 0 auto;
      width: 0.700rem; }
      .footer .footer-box > li:nth-child(3) {
        position: absolute;
        top: 0.040rem;
        right: 0; }
      .footer .footer-box .footer-menu-box {
        padding-top: 0.040rem; }
        .footer .footer-box .footer-menu-box li a {
          color: #fff;
          font-size: 0.022rem;
          line-height: 0.046rem; }
      .footer .footer-box .copyright {
        margin-top: 0.030rem;
        font-size: 0.022rem;
        line-height: 1; }
      .footer .footer-box .sns-box .sns-tit {
        float: left;
        line-height: 0.046rem;
        width: 0.150rem;
        letter-spacing: 0.02em;
        font-size: 0.016rem; }
      .footer .footer-box .sns-box .sns-box-inner {
        margin-left: 0.150rem; }
        .footer .footer-box .sns-box .sns-box-inner .box {
          display: flex;
          justify-content: space-between; }
          .footer .footer-box .sns-box .sns-box-inner .box li {
            margin-right: 0.015rem;
            width: 0.046rem;
            border-radius: 0.023rem;
            border: 1px solid #fff;
            box-sizing: border-box; }
            .footer .footer-box .sns-box .sns-box-inner .box li:last-child {
              margin-right: 0; } }

@media screen and (min-width: 801px) {
  .sub .content.company-content .company-list {
    border-bottom: 1px #231815 solid; }
    .sub .content.company-content .company-list .list-tit {
      float: left;
      padding: 18px 0 18px 10px;
      font-size: 20px;
      line-height: 36px;
      border-top: 1px #231815 solid;
      width: 180px; }
    .sub .content.company-content .company-list .list-text-box {
      margin-left: 190px;
      padding: 18px 3px 18px 0;
      font-size: 18px;
      line-height: 36px;
      border-top: 1px #231815 solid; }
      .sub .content.company-content .company-list .list-text-box .list-text {
        margin-bottom: 1em; }
        .sub .content.company-content .company-list .list-text-box .list-text:last-child {
          margin-bottom: 0; }
  .sub .content.company-content .btn-company {
    margin: 40px auto 50px;
    width: 560px;
    border: 1px solid #231815;
    box-sizing: border-box;
    text-align: center;
    transition: background 0.3s ease-out; }
    .sub .content.company-content .btn-company span {
      display: inline-block;
      padding-right: 20px;
      color: #231815;
      font-size: 19px;
      font-weight: 700;
      line-height: 108px;
      background: url(../imgs/common/icon_link_brown.svg) right center no-repeat;
      background-size: 16px 14px; }
    .sub .content.company-content .btn-company:hover {
      background: #231815; }
      .sub .content.company-content .btn-company:hover span {
        color: #fff;
        background: url(../imgs/common/icon_link.svg) right center no-repeat;
        background-size: 16px 14px; } }

@media screen and (max-width: 800px) {
  .sub .content.company-content .company-list {
    border-bottom: 1px #231815 solid; }
    .sub .content.company-content .company-list .list-tit {
      float: left;
      padding: 0.042rem 0;
      font-size: 0.026rem;
      line-height: 0.042rem;
      border-top: 1px #231815 solid;
      width: 0.150rem; }
    .sub .content.company-content .company-list .list-text-box {
      margin-left: 0.150rem;
      padding: 0.042rem 0;
      font-size: 0.026rem;
      line-height: 0.042rem;
      border-top: 1px #231815 solid; }
      .sub .content.company-content .company-list .list-text-box .list-text {
        margin-bottom: 1em; }
        .sub .content.company-content .company-list .list-text-box .list-text:last-child {
          margin-bottom: 0; }
  .sub .content.company-content .btn-company {
    margin: 0.050rem auto;
    width: 0.640rem;
    border: 1px solid #231815;
    box-sizing: border-box;
    text-align: center;
    transition: background 0.3s ease-out; }
    .sub .content.company-content .btn-company span {
      display: inline-block;
      padding-right: 0.040rem;
      color: #231815;
      font-size: 0.024rem;
      font-weight: 700;
      line-height: 0.138rem;
      background: url(../imgs/common/icon_link_brown.svg) right center no-repeat;
      background-size: 0.02rem 0.017rem; } }
