@charset "UTF-8";
/* Scss Document */
.title-wrap {
  margin-top: 100px; }
  @media screen and (max-width: 767px) {
    .title-wrap {
      padding: 15px; } }
  @media screen and (max-width: 575px) {
    .title-wrap {
      margin-top: 40px; } }
  .title-wrap .page-title {
    text-align: center;
    letter-spacing: 4px; }
    @media screen and (max-width: 767px) {
      .title-wrap .page-title {
        margin-bottom: 40px; } }

.introduction {
  margin-top: 30px;
  background-color: rgba(217, 200, 159, 0.1);
  border: solid 3px rgba(217, 200, 159, 0.4);
  padding: 30px 95px;
  line-height: 40px;
  border-radius: 5px; }
  .introduction p {
    font-size: 1.1rem; }
  @media screen and (max-width: 767px) {
    .introduction {
      padding: 15px;
      font-size: 1rem;
      line-height: 35px; } }
  @media screen and (max-width: 575px) {
    .introduction {
      line-height: 33px; } }

.info-title {
  border-left: solid 5px #44af35;
  padding: 0 20px;
  margin-bottom: 30px;
  margin-top: 50px;
  font-size: 1.5rem;
  font-weight: 500; }
  .info-title p {
    font-size: 1.1rem; }
  @media screen and (max-width: 767px) {
    .info-title {
      font-size: 1.375rem;
      margin-top: 30px;
      margin-bottom: 15px; } }

#user {
  padding: 0 15px; }
  #user ul {
    margin-left: -22px;
    line-height: 45px;
    font-size: 1.25rem; }
    @media screen and (max-width: 991px) {
      #user ul {
        font-size: 1.125rem;
        line-height: 40px; } }
    @media screen and (max-width: 767px) {
      #user ul {
        font-size: 1rem; } }
    @media screen and (max-width: 575px) {
      #user ul {
        line-height: 33px; } }
  #user .recommend-txt {
    font-size: 1.1rem;
    line-height: 1.8; }
  #user .icon-wrap .use-icon {
    display: inline-block;
    text-align: center;
    padding: 5px 15px;
    border: solid 0.8px rgba(51, 51, 51, 0.3);
    color: rgba(51, 51, 51, 0.3);
    margin-right: 15px;
    margin-top: 10px;
    font-size: 1rem; }
    @media screen and (max-width: 575px) {
      #user .icon-wrap .use-icon {
        padding: 6px;
        margin-right: 0;
        width: 82px; } }
  #user .icon-wrap .use-icon-responce {
    background-color: #FCC356;
    color: #fff;
    border: none;
    padding-top: 7px;
    padding-bottom: 7px; }

.btn-wrap {
  text-align: center;
  padding-top: 40px;
  margin-left: -20px; }
  @media screen and (max-width: 767px) {
    .btn-wrap {
      margin-left: -5px; } }
  @media screen and (max-width: 575px) {
    .btn-wrap {
      padding: 30px 0; } }
  .btn-wrap .btn-item {
    margin-left: 20px;
    flex-wrap: nowrap; }
    @media screen and (max-width: 767px) {
      .btn-wrap .btn-item {
        margin-left: 5px; } }
    @media screen and (max-width: 575px) {
      .btn-wrap .btn-item {
        padding-left: 0;
        padding-right: 0; } }
    .btn-wrap .btn-item .mod_btn-r-tryangle {
      padding-top: 15px;
      padding-bottom: 15px; }
      .btn-wrap .btn-item .mod_btn-r-tryangle::after {
        content: '\▼';
        font-size: 1rem; }
      @media screen and (max-width: 575px) {
        .btn-wrap .btn-item .mod_btn-r-tryangle {
          padding: 10px 0 27px;
          margin-left: 0; }
          .btn-wrap .btn-item .mod_btn-r-tryangle::after {
            top: 70%;
            right: 75px; } }

@media screen and (max-width: 767px) {
  #service {
    padding: 0 15px; } }
#service .acms-entry p {
  font-size: 1.1rem;
  line-height: 1.1; }
@media screen and (max-width: 767px) {
  #service .show-wrap {
    position: relative; } }
@media screen and (max-width: 767px) {
  #service .show-wrap .show-more {
    position: absolute;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0%, white 100%);
    padding-top: 35px;
    width: 100%;
    height: 90px;
    text-align: center; }
    #service .show-wrap .show-more::before {
      position: absolute;
      content: '\▼';
      top: 65px;
      left: 48%; }
    #service .show-wrap .show-more::after {
      content: '\続きを読む';
      top: 35px;
      left: 38%; } }
#service .show-wrap .ac-child {
  line-height: 38px;
  font-size: 1.125rem; }
  @media screen and (max-width: 991px) {
    #service .show-wrap .ac-child {
      font-size: 1rem; } }
  @media screen and (max-width: 767px) {
    #service .show-wrap .ac-child {
      font-size: 0.875rem;
      max-height: 210px;
      line-height: 30px; } }
  #service .show-wrap .ac-child ul {
    padding-left: 20px; }
@media screen and (max-width: 767px) {
  #service .show-wrap.ac-active .ac-child {
    max-height: 100vh;
    padding-bottom: 70px; } }
@media screen and (max-width: 767px) {
  #service .show-wrap.ac-active .show-more::before {
    content: '\▲'; }
  #service .show-wrap.ac-active .show-more::after {
    content: '\閉じる';
    top: 35px;
    left: 45%; } }
@media screen and (max-width: 575px) {
  #service .show-wrap.ac-active .show-more::before {
    left: 48%; }
  #service .show-wrap.ac-active .show-more::after {
    left: 43%; } }

.section-title01 {
  margin-top: 100px; }
  @media screen and (max-width: 767px) {
    .section-title01 {
      margin-top: 30px; } }

@media screen and (max-width: 767px) {
  .info-title {
    font-size: 1.25rem; } }

#bnr {
  margin: 100px 0; }
  @media screen and (max-width: 767px) {
    #bnr {
      margin: 60px 0;
      padding: 0 15px; } }

@media screen and (max-width: 767px) {
  #locations {
    padding: 0 15px; } }
#locations .section-title01 {
  margin-bottom: 2px; }
@media screen and (max-width: 767px) {
  #locations .related-location {
    padding-left: 20px; } }
#locations .related-location a {
  color: #333; }
  #locations .related-location a:hover {
    text-decoration: none;
    color: #333; }
  #locations .related-location a .related-item {
    margin: 40px 0 20px;
    position: relative; }
    @media screen and (max-width: 767px) {
      #locations .related-location a .related-item {
        left: -10px;
        margin: 30px 0 0;
        padding-bottom: 20px;
        border-bottom: solid 0.8px #A0A0A0; } }
    #locations .related-location a .related-item::before {
      content: '\▶︎';
      display: block;
      font-family: "font Awesome 5 free";
      font-weight: bold;
      font-size: 1.25rem;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: -5px; }
      @media screen and (max-width: 767px) {
        #locations .related-location a .related-item::before {
          font-size: 1.125rem;
          left: -10px; } }
    #locations .related-location a .related-item .related-text {
      margin-left: 25px; }
      #locations .related-location a .related-item .related-text .related-icon {
        padding: 5px;
        border: solid 1px #464646;
        font-size: 1rem;
        display: inline-block;
        text-align: center; }
        @media screen and (max-width: 991px) {
          #locations .related-location a .related-item .related-text .related-icon {
            padding-left: 13px;
            padding-right: 13px;
            font-size: 0.9375rem; } }
        @media screen and (max-width: 767px) {
          #locations .related-location a .related-item .related-text .related-icon {
            padding-left: 15px;
            padding-right: 15px;
            font-size: 0.875rem; } }
      #locations .related-location a .related-item .related-text .related-name {
        font-size: 1.25rem;
        margin-top: 15px;
        letter-spacing: 1px; }
        @media screen and (max-width: 991px) {
          #locations .related-location a .related-item .related-text .related-name {
            font-size: 1.125rem; } }
        @media screen and (max-width: 767px) {
          #locations .related-location a .related-item .related-text .related-name {
            margin-top: 10px; } }

#service-list-area {
  background-color: rgba(217, 200, 159, 0.1);
  margin-top: 100px; }
  @media screen and (max-width: 767px) {
    #service-list-area {
      background-color: #FFFFFF;
      margin-top: 40px; } }
  #service-list-area .section-title01 {
    padding: 60px 0 25px; }
    @media screen and (max-width: 767px) {
      #service-list-area .section-title01 {
        padding: 30px 0;
        padding-left: 15px;
        padding-right: 15px; } }
  @media screen and (max-width: 767px) {
    #service-list-area .service-wrap {
      padding: 0 15px; } }
  #service-list-area .service-wrap .service-link-wrap {
    margin-right: -20px; }
    @media screen and (max-width: 767px) {
      #service-list-area .service-wrap .service-link-wrap {
        border-bottom: solid 0.8px #A0A0A0; } }
    @media screen and (max-width: 575px) {
      #service-list-area .service-wrap .service-link-wrap {
        margin: -5px; } }
    #service-list-area .service-wrap .service-link-wrap .service-link-item {
      padding: 25px 20px 25px 0; }
      @media screen and (max-width: 767px) {
        #service-list-area .service-wrap .service-link-wrap .service-link-item {
          padding: 0; } }
      @media screen and (max-width: 767px) {
        #service-list-area .service-wrap .service-link-wrap .service-link-item img {
          display: none; } }
      #service-list-area .service-wrap .service-link-wrap .service-link-item .service-text {
        font-size: 1.25rem; }
        @media screen and (max-width: 767px) {
          #service-list-area .service-wrap .service-link-wrap .service-link-item .service-text {
            margin: 0;
            border-top: solid 0.8px #A0A0A0;
            padding: 15px 10px;
            font-size: 1.25rem;
            text-align: left;
            cursor: pointer;
            position: relative; }
            #service-list-area .service-wrap .service-link-wrap .service-link-item .service-text::before {
              content: "";
              position: absolute;
              top: 50%;
              right: 8px;
              width: 18px;
              height: 2px;
              background: #000;
              transform: translateY(-50%); }
            #service-list-area .service-wrap .service-link-wrap .service-link-item .service-text::after {
              content: "";
              position: absolute;
              top: 48%;
              right: 8px;
              width: 18px;
              height: 2px;
              background: #000;
              transform: translateY(-50%);
              transform: rotate(90deg);
              transition: 0.8s; } }
        @media screen and (max-width: 575px) {
          #service-list-area .service-wrap .service-link-wrap .service-link-item .service-text {
            font-size: 1.125rem; } }
      #service-list-area .service-wrap .service-link-wrap .service-link-item.ac-active .ac-parent::after {
        transform: rotate(0deg); }
      #service-list-area .service-wrap .service-link-wrap .service-link-item .service-link-text a {
        line-height: 38px;
        font-size: 1.125rem;
        display: block;
        color: #333; }
        #service-list-area .service-wrap .service-link-wrap .service-link-item .service-link-text a:hover {
          color: #333;
          text-decoration: none; }
        @media screen and (max-width: 991px) {
          #service-list-area .service-wrap .service-link-wrap .service-link-item .service-link-text a {
            font-size: 1rem; } }
        @media screen and (max-width: 767px) {
          #service-list-area .service-wrap .service-link-wrap .service-link-item .service-link-text a {
            line-height: 26px;
            padding: 15px 0 15px 15px; }
            #service-list-area .service-wrap .service-link-wrap .service-link-item .service-link-text a:first-child {
              border-top: solid 0.8px #A0A0A0; } }
  #service-list-area .service-wrap .service-text {
    font-size: 1.25rem;
    font-family: source-han-sans-japanese, "Noto Sans Japanese", "Hiragino Sans", Meiryo, "sans-serif";
    margin: 20px 0 15px;
    color: #333;
    letter-spacing: 2px; }
    @media screen and (max-width: 991px) {
      #service-list-area .service-wrap .service-text {
        font-size: 1.125rem; } }
    @media screen and (max-width: 767px) {
      #service-list-area .service-wrap .service-text {
        font-size: 1rem; } }
    @media screen and (max-width: 575px) {
      #service-list-area .service-wrap .service-text {
        margin: 10px 0 30px; } }

.mod_servicebox {
  margin: 100px 0; }
  @media screen and (max-width: 767px) {
    .mod_servicebox {
      margin: 60px 0; } }

.mod-timeflow01 .flow-item .flow-title {
  font-size: 1.5rem; }
  @media screen and (max-width: 767px) {
    .mod-timeflow01 .flow-item .flow-title {
      font-size: 1.125rem; } }
.mod-timeflow01 .flow-item .flow-time {
  font-size: 1.5rem;
  padding: 30px 80px 0 0;
  text-align: right; }
  @media screen and (max-width: 767px) {
    .mod-timeflow01 .flow-item .flow-time {
      font-size: 1.125rem;
      padding: 15px 30px 0 0; } }
.mod-timeflow01 .flow-item .flow-text-wrap {
  padding: 30px 0 30px 70px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .mod-timeflow01 .flow-item .flow-text-wrap {
      padding: 15px 0 0 30px; } }
  .mod-timeflow01 .flow-item .flow-text-wrap:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #D9C89F;
    position: absolute;
    left: 0;
    top: 40px; }
    @media screen and (max-width: 767px) {
      .mod-timeflow01 .flow-item .flow-text-wrap:before {
        top: 17px; } }
  .mod-timeflow01 .flow-item .flow-text-wrap:after {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    background-color: #D9C89F;
    position: absolute;
    left: 9px;
    top: 0; }
  .mod-timeflow01 .flow-item .flow-text-wrap > p {
    padding-bottom: 30px;
    border-bottom: solid 1px #A0A0A0; }
    @media screen and (max-width: 767px) {
      .mod-timeflow01 .flow-item .flow-text-wrap > p {
        top: 15px; } }
.mod-timeflow01 .flow-item:first-child .flow-text-wrap::after {
  top: 40px;
  height: calc(100% - 30px); }
  @media screen and (max-width: 767px) {
    .mod-timeflow01 .flow-item:first-child .flow-text-wrap::after {
      top: 17px;
      height: calc(100% - 17px); } }
.mod-timeflow01 .flow-item:last-child .flow-text-wrap::after {
  height: 40px; }
  @media screen and (max-width: 767px) {
    .mod-timeflow01 .flow-item:last-child .flow-text-wrap::after {
      height: 17px; } }
