@charset "UTF-8";
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400, medium: 500, bold: 700 */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400 */
/*@mixin font-deco {
	font-family: "Fuggles", cursive;
	font-weight: 400;
	font-style: normal;
}*/
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* 縦書き */
/* 内径 */
/* breadblock
---------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  .breadblock {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse; } }

/* anchor
---------------------------------------------------------------------------*/
.anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 242px;
  height: 57px;
  padding: 0 34px;
  border-radius: 28.5px;
  background-color: #F7F6F0;
  color: #2E919F; }
  @media screen and (max-width: 1300px) {
    .anchor {
      width: 18.6153846154vw;
      height: 4.3846153846vw;
      padding: 0 2.6153846154vw;
      border-radius: 2.1923076923vw; } }
  @media screen and (max-width: 480px) {
    .anchor {
      width: 64.5333333333vw;
      height: 15.2vw;
      padding: 0 9.0666666667vw;
      border-radius: 7.6vw;
      margin-top: 8vw; } }
  .anchor li {
    font-size: 16px;
    font-weight: 700; }
    @media screen and (max-width: 1300px) {
      .anchor li {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .anchor li {
        font-size: 4.2666666667vw; } }
    .anchor li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      padding-right: 23px; }
      @media screen and (max-width: 1300px) {
        .anchor li a {
          padding-right: 1.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .anchor li a {
          padding-right: 6.1333333333vw; } }
      .anchor li a::after {
        position: absolute;
        content: "";
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        border-top: 12px solid #2E919F;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent; }
        @media screen and (max-width: 1300px) {
          .anchor li a::after {
            border-top-width: 0.9230769231vw;
            border-left-width: 0.4615384615vw;
            border-right-width: 0.4615384615vw; } }
        @media screen and (max-width: 480px) {
          .anchor li a::after {
            border-top-width: 3.2vw;
            border-left-width: 1.6vw;
            border-right-width: 1.6vw; } }

/* about
---------------------------------------------------------------------------*/
.about {
  /* 1080 */
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 148px; }
  @media screen and (max-width: 1300px) {
    .about {
      width: 84.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .about {
      width: 88vw; } }
  @media screen and (max-width: 1300px) {
    .about {
      margin-bottom: 11.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .about {
      margin-bottom: 27.7333333333vw; } }
  .about dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    @media screen and (max-width: 480px) {
      .about dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
    .about dl dt, .about dl dd {
      line-height: 1.7;
      font-size: 16px;
      letter-spacing: .1em; }
      @media screen and (max-width: 1300px) {
        .about dl dt, .about dl dd {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .about dl dt, .about dl dd {
          font-size: 4.2666666667vw; } }
      @media screen and (max-width: 480px) {
        .about dl dt, .about dl dd {
          font-size: 4vw; } }
    .about dl dt {
      width: 200px;
      font-weight: 500; }
      @media screen and (max-width: 1300px) {
        .about dl dt {
          width: 15.3846153846vw; } }
      @media screen and (max-width: 480px) {
        .about dl dt {
          width: 100%;
          font-weight: 700; } }
    .about dl dd {
      font-weight: 400; }
      @media screen and (max-width: 1300px) {
        .about dl dd {
          width: 69.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .about dl dd {
          width: 100%; } }
    .about dl + dl {
      border-top: 1px dashed #E0E0E0;
      padding-top: 16px;
      margin-top: 16px; }
      @media screen and (max-width: 1300px) {
        .about dl + dl {
          padding-top: 1.2307692308vw;
          margin-top: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .about dl + dl {
          padding-top: 6.4vw;
          margin-top: 6.4vw; } }

/* business
---------------------------------------------------------------------------*/
.business {
  /* 1080 */
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: 104px; }
  @media screen and (max-width: 1300px) {
    .business {
      width: 84.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .business {
      width: 88vw; } }
  @media screen and (max-width: 1300px) {
    .business {
      margin-bottom: 8vw; } }
  @media screen and (max-width: 480px) {
    .business {
      margin-bottom: 27.7333333333vw; } }
  .business article + article {
    margin-top: 50px; }
    @media screen and (max-width: 1300px) {
      .business article + article {
        margin-top: 3.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .business article + article {
        margin-top: 13.3333333333vw; } }
  .business-ttl {
    color: #2E919F;
    font-family: "Hiragino Mincho ProN", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-size: 24px;
    letter-spacing: .1em;
    margin-bottom: 10px;
    font-weight: 600; }
    @media screen and (max-width: 1300px) {
      .business-ttl {
        font-size: 1.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .business-ttl {
        font-size: 6.4vw; } }
    @media screen and (max-width: 1300px) {
      .business-ttl {
        margin-bottom: 0.7692307692vw; } }
    @media screen and (max-width: 480px) {
      .business-ttl {
        margin-bottom: 2.6666666667vw; } }
  .business-desc {
    font-size: 16px;
    letter-spacing: .1em;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .business-desc {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .business-desc {
        font-size: 4.2666666667vw; } }
    @media screen and (max-width: 480px) {
      .business-desc {
        font-size: 4vw; } }
  .business-shop {
    margin-top: 80px;
    margin-bottom: 50px; }
    @media screen and (max-width: 1300px) {
      .business-shop {
        margin-top: 6.1538461538vw;
        margin-bottom: 3.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .business-shop {
        margin-top: 17.0666666667vw;
        margin-bottom: 17.0666666667vw; } }
    .business-shop-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      font-size: 24px;
      font-family: "Hiragino Mincho ProN", serif;
      font-optical-sizing: auto;
      font-weight: 300;
      font-style: normal;
      color: #2E919F;
      letter-spacing: .1em;
      font-weight: 600;
      margin-bottom: 26px; }
      @media screen and (max-width: 1300px) {
        .business-shop-ttl {
          font-size: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .business-shop-ttl {
          font-size: 6.4vw; } }
      @media screen and (max-width: 1300px) {
        .business-shop-ttl {
          margin-bottom: 2vw; } }
      @media screen and (max-width: 480px) {
        .business-shop-ttl {
          font-size: 8.5333333333vw;
          margin-bottom: 10.6666666667vw; } }
      .business-shop-ttl::before, .business-shop-ttl::after {
        content: "";
        height: 1px;
        flex-grow: 1;
        border-top: 1px dashed #2E919F; }
      .business-shop-ttl::before {
        margin-right: 30px; }
        @media screen and (max-width: 1300px) {
          .business-shop-ttl::before {
            margin-right: 2.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-ttl::before {
            margin-right: 5.3333333333vw; } }
      .business-shop-ttl::after {
        margin-left: 30px; }
        @media screen and (max-width: 1300px) {
          .business-shop-ttl::after {
            margin-left: 2.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-ttl::after {
            margin-left: 5.3333333333vw; } }
    .business-shop article {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .business-shop article + article {
        margin-top: 80px; }
        @media screen and (max-width: 1300px) {
          .business-shop article + article {
            margin-top: 6.1538461538vw; } }
        @media screen and (max-width: 480px) {
          .business-shop article + article {
            margin-top: 19.2vw; } }
    .business-shop-img {
      width: 400px; }
      @media screen and (max-width: 1300px) {
        .business-shop-img {
          width: 30.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .business-shop-img {
          width: 100%;
          margin-bottom: 8vw; } }
      .business-shop-img img {
        width: 100%;
        height: 240px;
        border-radius: 20px; }
        @media screen and (max-width: 1300px) {
          .business-shop-img img {
            height: 18.4615384615vw;
            border-radius: 1.5384615385vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-img img {
            height: 53.3333333333vw;
            border-radius: 4.5333333333vw; } }
    .business-shop-tx {
      width: 620px; }
      @media screen and (max-width: 1300px) {
        .business-shop-tx {
          width: 47.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .business-shop-tx {
          width: 100%;
          margin-top: 8.5333333333vw; } }
      .business-shop-tx .name {
        font-family: "Hiragino Mincho ProN", serif;
        font-optical-sizing: auto;
        font-weight: 300;
        font-style: normal;
        font-size: 20px;
        letter-spacing: .1em;
        margin-bottom: 1.5em; }
        @media screen and (max-width: 1300px) {
          .business-shop-tx .name {
            font-size: 1.5384615385vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-tx .name {
            font-size: 5.3333333333vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-tx .name {
            font-size: 5.8666666667vw;
            line-height: 1.5; } }
      .business-shop-tx .addr {
        font-size: 16px;
        letter-spacing: .1em;
        margin-bottom: 1.5em;
        line-height: 1.5; }
        @media screen and (max-width: 1300px) {
          .business-shop-tx .addr {
            font-size: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-tx .addr {
            font-size: 4.2666666667vw; } }
      .business-shop-tx .tel {
        font-size: 16px;
        letter-spacing: .1em;
        line-height: 1.5; }
        @media screen and (max-width: 1300px) {
          .business-shop-tx .tel {
            font-size: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-tx .tel {
            font-size: 4.2666666667vw; } }
      .business-shop-tx .sns {
        color: #2E919F;
        font-size: 16px;
        letter-spacing: .1em;
        line-height: 1.5; }
        @media screen and (max-width: 1300px) {
          .business-shop-tx .sns {
            font-size: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-tx .sns {
            font-size: 4.2666666667vw; } }
        .business-shop-tx .sns a {
          text-decoration: underline; }
      .business-shop-tx .icons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 14px;
        margin-top: 26px; }
        @media screen and (max-width: 1300px) {
          .business-shop-tx .icons {
            margin-top: 2vw;
            gap: 1.0769230769vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-tx .icons {
            margin-top: 3.2vw;
            gap: 3.2vw; } }
        .business-shop-tx .icons li {
          width: 40px; }
          @media screen and (max-width: 1300px) {
            .business-shop-tx .icons li {
              width: 3.0769230769vw; } }
          @media screen and (max-width: 480px) {
            .business-shop-tx .icons li {
              width: 10.6666666667vw; } }
    .business-shop-map {
      width: 100%;
      margin-top: 48px; }
      @media screen and (max-width: 1300px) {
        .business-shop-map {
          margin-top: 3.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .business-shop-map {
          margin-top: 3.7333333333vw; } }
      .business-shop-map .ttl {
        text-align: center;
        font-family: "Hiragino Mincho ProN", serif;
        font-optical-sizing: auto;
        font-weight: 300;
        font-style: normal;
        font-size: 24px;
        letter-spacing: .1em;
        margin-bottom: 8px; }
        @media screen and (max-width: 1300px) {
          .business-shop-map .ttl {
            font-size: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-map .ttl {
            font-size: 6.4vw; } }
        @media screen and (max-width: 1300px) {
          .business-shop-map .ttl {
            margin-bottom: 0.6153846154vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-map .ttl {
            font-size: 8vw;
            margin-bottom: 3.7333333333vw; } }
      .business-shop-map .gmap iframe {
        display: block;
        width: 100%;
        height: 275px; }
        @media screen and (max-width: 1300px) {
          .business-shop-map .gmap iframe {
            height: 21.1538461538vw; } }
        @media screen and (max-width: 480px) {
          .business-shop-map .gmap iframe {
            height: 93.3333333333vw; } }
  .business .deco li {
    position: absolute; }
    .business .deco li.deco01 {
      width: 238px;
      height: 269px;
      top: -134px;
      left: -141px; }
      @media screen and (max-width: 1300px) {
        .business .deco li.deco01 {
          width: 18.3076923077vw;
          height: 20.6923076923vw;
          top: -10.3076923077vw;
          left: -10.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .business .deco li.deco01 {
          width: 31.4666666667vw;
          height: 34.6666666667vw;
          top: -10.6666666667vw;
          left: -14.1333333333vw; } }
    .business .deco li.deco02 {
      width: 202px;
      height: 226px;
      top: -185px;
      right: -187px; }
      @media screen and (max-width: 1300px) {
        .business .deco li.deco02 {
          width: 15.5384615385vw;
          height: 17.3846153846vw;
          top: -14.2307692308vw;
          right: -14.3846153846vw; } }
      @media screen and (max-width: 480px) {
        .business .deco li.deco02 {
          width: 20.2666666667vw;
          height: 21.3333333333vw;
          top: -8vw;
          right: -11.7333333333vw; } }
    .business .deco li.deco03 {
      width: 325px;
      height: 326px;
      top: 17px;
      right: -191px; }
      @media screen and (max-width: 1300px) {
        .business .deco li.deco03 {
          width: 25vw;
          height: 25.0769230769vw;
          top: 1.3076923077vw;
          right: -14.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .business .deco li.deco03 {
          width: 36.8vw;
          height: 33.8666666667vw;
          top: 4.2666666667vw;
          right: -13.3333333333vw; } }

/* history
---------------------------------------------------------------------------*/
.history {
  background-color: #F7F6F0;
  padding: 60px 0 198px; }
  @media screen and (max-width: 1300px) {
    .history {
      padding: 4.6153846154vw 0 15.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .history {
      padding: 14.4vw 0 27.7333333333vw; } }
  .history-wrap {
    /* 1080 */
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media screen and (max-width: 1300px) {
      .history-wrap {
        width: 84.6153846154vw; } }
    @media screen and (max-width: 480px) {
      .history-wrap {
        width: 88vw; } }
  .history-block01 {
    padding-left: 220px; }
    @media screen and (max-width: 1300px) {
      .history-block01 {
        padding-left: 16.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .history-block01 {
        padding-left: 0;
        padding-bottom: 13.3333333333vw; } }
  .history-block02 {
    padding-left: 490px;
    margin-top: 80px; }
    @media screen and (max-width: 1300px) {
      .history-block02 {
        padding-left: 37.6923076923vw;
        margin-top: 6.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .history-block02 {
        padding-left: 0;
        margin-top: 0; }
        .history-block02 dl:last-of-type {
          position: relative; }
          .history-block02 dl:last-of-type::before {
            position: absolute;
            content: "";
            left: 0;
            top: 2.4vw;
            width: 4.8vw;
            height: 100%;
            background-color: #F7F6F0; } }
  @media screen and (max-width: 480px) {
    .history-block01, .history-block02 {
      position: relative; }
      .history-block01::before, .history-block02::before {
        position: absolute;
        content: "";
        top: 0;
        left: 2.4vw;
        width: 1px;
        height: 100%;
        border-left: 1px dashed #2E919F; } }
  .history dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 480px) {
      .history dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: 7.3333333333vw; } }
    .history dl dt {
      position: relative;
      color: #2E919F;
      font-family: "Hiragino Mincho ProN", serif;
      font-optical-sizing: auto;
      font-weight: 300;
      font-style: normal;
      font-weight: 600;
      font-size: 18px;
      letter-spacing: .1em;
      padding-left: 46px; }
      @media screen and (max-width: 1300px) {
        .history dl dt {
          font-size: 1.3846153846vw; } }
      @media screen and (max-width: 480px) {
        .history dl dt {
          font-size: 4.8vw; } }
      @media screen and (max-width: 1300px) {
        .history dl dt {
          padding-left: 3.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .history dl dt {
          padding-left: 0; } }
      .history dl dt::before {
        position: absolute;
        content: "";
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background-color: #2E919F;
        left: 0;
        top: 0; }
        @media screen and (max-width: 1300px) {
          .history dl dt::before {
            width: 1.3846153846vw;
            height: 1.3846153846vw; } }
        @media screen and (max-width: 480px) {
          .history dl dt::before {
            width: 4.8vw;
            height: 4.8vw;
            left: -7.3333333333vw; } }
    .history dl dd {
      font-size: 16px;
      letter-spacing: .1em;
      margin-left: 40px; }
      @media screen and (max-width: 1300px) {
        .history dl dd {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .history dl dd {
          font-size: 4.2666666667vw; } }
      @media screen and (max-width: 1300px) {
        .history dl dd {
          margin-left: 3.0769230769vw; } }
      @media screen and (max-width: 480px) {
        .history dl dd {
          margin-left: 0;
          font-size: 4vw;
          margin-top: 2.1333333333vw;
          line-height: 1.3; } }
    .history dl + dl {
      margin-top: 42px; }
      @media screen and (max-width: 1300px) {
        .history dl + dl {
          margin-top: 3.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .history dl + dl {
          margin-top: 13.3333333333vw; } }
      .history dl + dl dt::after {
        position: absolute;
        content: "";
        left: 9px;
        top: -42px;
        width: 1px;
        height: 42px;
        border-left: 1px dashed #2E919F; }
        @media screen and (max-width: 1300px) {
          .history dl + dl dt::after {
            left: 0.6923076923vw;
            top: -3.2307692308vw;
            height: 3.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .history dl + dl dt::after {
            display: none; } }
  @media screen and (max-width: 480px) {
    .history .deco {
      display: none; } }
  .history .deco li {
    position: absolute; }
    .history .deco li.deco02 {
      width: 202px;
      height: 226px;
      top: 209px;
      left: 44px; }
      @media screen and (max-width: 1300px) {
        .history .deco li.deco02 {
          width: 15.5384615385vw;
          height: 17.3846153846vw;
          top: 16.0769230769vw;
          left: 3.3846153846vw; } }
    .history .deco li.deco03 {
      width: 325px;
      height: 326px;
      top: 354px;
      left: -60px; }
      @media screen and (max-width: 1300px) {
        .history .deco li.deco03 {
          width: 25vw;
          height: 25.0769230769vw;
          top: 27.2307692308vw;
          left: -4.6153846154vw; } }
