@charset "UTF-8";
/* //////////////////////////////////////////////////////////////////////////////////////////////////

PC

////////////////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 768px) {
  /*
  ========================================================================= */
  /* layout レイアウト
  ========================================================================= */
  .service_intro {
    background: url(../img/cmn/wave.png) no-repeat bottom, url(../img/organize/service_intro_bg.png);
  }
  .service_intro .service_intro_list {
    margin-top: calc(var(--var-1) * 40);
  }
  .service_intro .service_intro_list .service_intro_item {
    display: block;
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link {
    display: block;
    width: calc(var(--var-1) * 340);
    padding: calc(var(--var-1) * 20) calc(var(--var-1) * 20);
    background: var(--cl-white);
    border-radius: calc(var(--var-1) * 20);
    transition: 0.3s;
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link:hover {
    box-shadow: 0px calc(var(--var-1) * 0) 0px 0px rgba(88, 43, 3, 0.2);
    transform: translateY(calc(var(--var-1) * 8));
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_figure {
    width: calc(var(--var-1) * 300);
    height: calc(var(--var-1) * 172);
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_desc {
    margin-top: calc(var(--var-1) * 12);
    padding-left: calc(var(--var-1) * 12);
    font-size: calc(var(--var-1) * 20);
    line-height: 1.5;
    position: relative;
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_desc::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: calc(var(--var-1) * 12);
    display: block;
    width: calc(var(--var-1) * 20);
    height: calc(var(--var-1) * 21);
    background: url(../img/cmn/arw.png) no-repeat top/100%;
  }
  .service_support .service_support_desc {
    margin-top: calc(var(--var-1) * 30);
    line-height: 1;
    text-align: center;
  }
  .service_support .service_support_list {
    gap: calc(var(--var-1) * 60);
    margin-top: calc(var(--var-1) * 40);
  }
  .service_support .service_support_list .service_support_item {
    padding: calc(var(--var-1) * 40) calc(var(--var-1) * 45);
    border: calc(var(--var-1) * 3) solid var(--cl-brown);
    border-radius: calc(var(--var-1) * 8);
    scroll-margin-top: calc(var(--var-1) * 40);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top {
    gap: calc(var(--var-1) * 45);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_txt .service_support_lead {
    font-size: calc(var(--var-1) * 24);
    line-height: 1;
    padding-bottom: calc(var(--var-1) * 16);
    border-bottom: 1px solid var(--cl-brown);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_txt .service_support_item_desc {
    margin-top: calc(var(--var-1) * 14);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_item_figure {
    flex-shrink: 0;
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_item_figure .service_support_item_img {
    width: calc(var(--var-1) * 325);
    height: calc(var(--var-1) * 202);
    -o-object-fit: cover;
       object-fit: cover;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm {
    margin-top: calc(var(--var-1) * 34);
    padding: calc(var(--var-1) * 20) calc(var(--var-1) * 25);
    background: var(--cl-pink-light);
    border-radius: calc(var(--var-1) * 16);
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item {
    padding-left: calc(var(--var-1) * 20);
    padding-block: calc(var(--var-1) * 12);
    border-bottom: 1px solid var(--cl-brown);
    line-height: 1;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: calc(var(--var-1) * 7);
    height: calc(var(--var-1) * 7);
    margin-right: calc(var(--var-1) * 14);
    background: var(--cl-orange);
    border-radius: 50%;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item:first-child {
    padding-top: 0;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .voice {
    background: url(../img/cmn/cmn_bg.png) no-repeat top/cover;
  }
  .voice .voice_list {
    gap: calc(var(--var-1) * 50);
    margin-top: calc(var(--var-1) * 40);
  }
  .voice .voice_list .voice_item {
    padding: calc(var(--var-1) * 28) calc(var(--var-1) * 38);
    background: var(--cl-white);
    border: calc(var(--var-1) * 3) solid var(--cl-brown);
    border-radius: calc(var(--var-1) * 8);
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top {
    padding-bottom: calc(var(--var-1) * 20);
    border-bottom: 1px solid var(--cl-brown);
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_lead {
    font-size: calc(var(--var-1) * 24);
    line-height: 1;
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_feat {
    flex-shrink: 0;
    margin-left: calc(var(--var-1) * 20);
    padding: calc(var(--var-1) * 5) calc(var(--var-1) * 18);
    border: 1px solid var(--cl-brown);
    border-radius: calc(var(--var-1) * 14);
    font-weight: 500;
    line-height: 1;
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_feat .voice_age {
    margin-left: calc(var(--var-1) * 8);
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_feat:not(:has(.voice_feat)) .voice_age {
    margin-left: 0;
  }
  .voice .voice_list .voice_item .voice_txt .voice_desc {
    margin-top: calc(var(--var-1) * 8);
  }
  /*
  ========================================================================= */
  /* title タイトル
  ========================================================================= */
  .cmn_ttl {
    font-size: calc(var(--var-1) * 40);
    line-height: 1;
    text-align: center;
    position: relative;
  }
  .cmn_ttl::after {
    content: "";
    display: block;
    margin: calc(var(--var-1) * 30) auto 0;
    width: calc(var(--var-1) * 50);
    height: calc(var(--var-1) * 10);
    background: url(../img/cmn/cmn_ttl_dot.png) no-repeat top/100%;
  }
  /*
  ========================================================================= */
  /* text テキスト
  ========================================================================= */
  /*
  ========================================================================= */
  /* list リスト
  ========================================================================= */
  /*
  ========================================================================= */
  /* table テーブル
  ========================================================================= */
  /*
  ========================================================================= */
  /* tel 電話番号
  ========================================================================= */
  .cmn_info .tel {
    height: calc(var(--var-1) * 52);
  }
  .cmn_info .tel .tel_number {
    display: block;
    font-size: calc(var(--var-1) * 34);
    line-height: 1;
    letter-spacing: 0.1em;
    position: relative;
  }
  .cmn_info .tel .tel_number::before {
    content: "";
    position: absolute;
    top: calc(var(--var-1) * -2);
    left: calc(var(--var-1) * -45);
    width: calc(var(--var-1) * 35);
    height: calc(var(--var-1) * 35);
    background: url(../img/cmn/tel_icon.png) no-repeat top/100%;
    transform: translateY(calc(var(--var-1) * 4));
  }
  .cmn_info .tel img {
    display: block;
    margin: calc(var(--var-1) * 6) 0 0 auto;
  }
  /*
  ========================================================================= */
  /* times 営業時間・定休日
  ========================================================================= */
  /*
  ========================================================================= */
  /* btn ボタンの設計 
  ========================================================================= */
  .cmn_btn {
    display: block;
    width: calc(var(--var-1) * 350);
    padding: calc(var(--var-1) * 22) 0;
    background: var(--cl-orange);
    border-radius: calc(var(--var-1) * 30);
    font-size: calc(var(--var-1) * 18);
    line-height: 1;
    text-align: center;
    position: relative;
  }
  .cmn_btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: calc(var(--var-1) * 20);
    display: block;
    width: calc(var(--var-1) * 20);
    height: calc(var(--var-1) * 21);
    background: url(../img/cmn/arw.png) no-repeat top/100%;
  }
  /*
  ========================================================================= */
  /*  logo
  ========================================================================= */
  .logo {
    width: calc(var(--var-1) * 121);
    height: calc(var(--var-1) * 117);
  }
}
/* //////////////////////////////////////////////////////////////////////////////////////////////////

SP

////////////////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 767px) {
  /*
  ========================================================================= */
  /* layout レイアウト
  ========================================================================= */
  .service_intro {
    background: url(../img/cmn/wave.png) no-repeat bottom/200%, url(../img/organize/service_intro_bg.png);
  }
  .service_intro .service_intro_list {
    flex-wrap: wrap;
    gap: calc(var(--var-1) * 32);
    margin-top: calc(var(--var-1) * 56);
  }
  .service_intro .service_intro_list .service_intro_item {
    display: block;
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link {
    display: block;
    width: 100%;
    padding: calc(var(--var-1) * 32) calc(var(--var-1) * 18);
    background: var(--cl-white);
    border-radius: calc(var(--var-1) * 20);
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_figure {
    width: 100%;
    height: calc(var(--var-1) * 158);
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_figure img {
    width: 100%;
    height: calc(var(--var-1) * 158);
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_desc {
    margin-top: calc(var(--var-1) * 24);
    padding-left: calc(var(--var-1) * 8);
    font-size: calc(var(--var-1) * 16);
    line-height: 1.8;
    position: relative;
  }
  .service_intro .service_intro_list .service_intro_item .service_intro_list_link .service_intro_desc::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: calc(var(--var-1) * 12);
    display: block;
    width: calc(var(--var-1) * 20);
    height: calc(var(--var-1) * 21);
    background: url(../img/cmn/arw.png) no-repeat top/100%;
  }
  .service_support .service_support_desc {
    margin-top: calc(var(--var-1) * 32);
    line-height: 1;
    text-align: center;
  }
  .service_support .service_support_list {
    gap: calc(var(--var-1) * 40);
    margin-top: calc(var(--var-1) * 56);
  }
  .service_support .service_support_list .service_support_item {
    padding: calc(var(--var-1) * 32) calc(var(--var-1) * 24);
    border: calc(var(--var-1) * 3) solid var(--cl-brown);
    border-radius: calc(var(--var-1) * 8);
    scroll-margin-top: calc(var(--var-1) * 40);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top {
    flex-direction: column;
    gap: calc(var(--var-1) * 32);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_txt .service_support_lead {
    padding-bottom: calc(var(--var-1) * 16);
    border-bottom: 1px solid var(--cl-brown);
    font-size: calc(var(--var-1) * 18);
    line-height: 1.5;
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_txt .service_support_item_desc {
    margin-top: calc(var(--var-1) * 14);
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_item_figure {
    flex-shrink: 0;
  }
  .service_support .service_support_list .service_support_item .service_support_item_top .service_support_item_figure .service_support_item_img {
    width: 100%;
    height: calc(var(--var-1) * 160);
    -o-object-fit: cover;
       object-fit: cover;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm {
    margin-top: calc(var(--var-1) * 48);
    padding: calc(var(--var-1) * 24) calc(var(--var-1) * 16);
    background: var(--cl-pink-light);
    border-radius: calc(var(--var-1) * 12);
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item {
    padding-left: calc(var(--var-1) * 8);
    padding-block: calc(var(--var-1) * 16);
    border-bottom: 1px solid var(--cl-brown);
    font-size: calc(var(--var-1) * 13);
    line-height: 1;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: calc(var(--var-1) * 5);
    height: calc(var(--var-1) * 5);
    margin-right: calc(var(--var-1) * 12);
    background: var(--cl-orange);
    border-radius: 50%;
    transform: translateY(calc(var(--var-1) * 1));
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item:first-child {
    padding-top: 0;
  }
  .service_support .service_support_list .service_support_item .service_support_item_btm .service_support_item_btm_item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .voice {
    background: url(../img/cmn/cmn_bg.png) no-repeat top/cover;
  }
  .voice .voice_list {
    gap: calc(var(--var-1) * 40);
    margin-top: calc(var(--var-1) * 56);
  }
  .voice .voice_list .voice_item {
    padding: calc(var(--var-1) * 24) calc(var(--var-1) * 16);
    background: var(--cl-white);
    border: calc(var(--var-1) * 3) solid var(--cl-brown);
    border-radius: calc(var(--var-1) * 8);
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: calc(var(--var-1) * 20);
    border-bottom: 1px solid var(--cl-brown);
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_lead {
    font-size: calc(var(--var-1) * 16);
    line-height: 1.5;
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_feat {
    flex-shrink: 0;
    margin-top: calc(var(--var-1) * 8);
    padding: calc(var(--var-1) * 4) calc(var(--var-1) * 12);
    border: 1px solid var(--cl-brown);
    border-radius: calc(var(--var-1) * 14);
    font-size: calc(var(--var-1) * 12);
    font-weight: 500;
    line-height: 1;
    transform: translateY(calc(var(--var-1) * 2));
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_feat .voice_age {
    margin-left: calc(var(--var-1) * 8);
  }
  .voice .voice_list .voice_item .voice_txt .voice_txt_top .voice_feat:not(:has(.voice_feat)) .voice_age {
    margin-left: 0;
  }
  .voice .voice_list .voice_item .voice_txt .voice_desc {
    margin-top: calc(var(--var-1) * 8);
  }
  /*
  ========================================================================= */
  /* title タイトル
  ========================================================================= */
  .cmn_ttl {
    font-size: calc(var(--var-1) * 24);
    line-height: 1;
    text-align: center;
    position: relative;
  }
  .cmn_ttl::after {
    content: "";
    display: block;
    margin: calc(var(--var-1) * 24) auto 0;
    width: calc(var(--var-1) * 40);
    height: calc(var(--var-1) * 8);
    background: url(../img/cmn/cmn_ttl_dot.png) no-repeat top/100%;
  }
  /*
  ========================================================================= */
  /* text テキスト
  ========================================================================= */
  /*
  ========================================================================= */
  /* list リスト
  ========================================================================= */
  /*
  ========================================================================= */
  /* table テーブル
  ========================================================================= */
  /*
  ========================================================================= */
  /* tel 電話番号
  ========================================================================= */
  .cmn_info .tel {
    height: calc(var(--var-1) * 52);
  }
  .cmn_info .tel .tel_number {
    display: block;
    font-size: calc(var(--var-1) * 24);
    line-height: 1;
    letter-spacing: 0.1em;
    position: relative;
  }
  .cmn_info .tel .tel_number::before {
    content: "";
    display: inline-block;
    width: calc(var(--var-1) * 25);
    height: calc(var(--var-1) * 25);
    margin-right: calc(var(--var-1) * 4);
    background: url(../img/cmn/tel_icon.png) no-repeat top/100%;
    transform: translateY(calc(var(--var-1) * 3));
  }
  .cmn_info .tel img {
    display: block;
    margin: calc(var(--var-1) * 10) auto 0;
  }
  /*
  ========================================================================= */
  /* times 営業時間・定休日
  ========================================================================= */
  /*
  ========================================================================= */
  /* btn ボタンの設計 
  ========================================================================= */
  .cmn_btn {
    display: block;
    width: calc(var(--var-1) * 200);
    padding: calc(var(--var-1) * 16) 0;
    background: var(--cl-orange);
    border-radius: calc(var(--var-1) * 30);
    font-size: calc(var(--var-1) * 16);
    line-height: 1;
    text-align: center;
    position: relative;
  }
  .cmn_btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: calc(var(--var-1) * 20);
    display: block;
    width: calc(var(--var-1) * 18);
    height: calc(var(--var-1) * 19);
    background: url(../img/cmn/arw.png) no-repeat top/100%;
    transform: translateY(calc(var(--var-1) * 2));
  }
  /*
  ========================================================================= */
  /*  logo
  ========================================================================= */
  .logo {
    width: calc(var(--var-1) * 121);
    height: calc(var(--var-1) * 117);
  }
}
/* //////////////////////////////////////////////////////////////////////////////////////////////////

共通コンポーネント

////////////////////////////////////////////////////////////////////////////////////////////////// */
/*
========================================================================= */
/*  breadcrumb(パンくずリスト)
========================================================================= */
.breadcrumb {
  position: relative;
}
.breadcrumb .inner .breadcrumb_list {
  padding-top: calc(var(--var-1) * 32);
  position: absolute;
  gap: calc(var(--var-1) * 24);
  z-index: 100;
}
.breadcrumb .inner .breadcrumb_list .breadcrumb_top a {
  transition: 0.3s;
}
.breadcrumb .inner .breadcrumb_list .breadcrumb_top a:hover {
  opacity: 0.6;
}
.breadcrumb .inner .breadcrumb_list .breadcrumb_item_secondary,
.breadcrumb .inner .breadcrumb_list .breadcrumb_third {
  color: var(--cl-must);
}
.breadcrumb .inner .breadcrumb_list .arrow {
  position: relative;
}
.breadcrumb .inner .breadcrumb_list .arrow::before {
  content: ">";
  width: calc(var(--var-1) * 8);
  height: 100%;
  display: block;
  position: absolute;
  right: calc(-1 * var(--var-1) * 16);
}

@media screen and (max-width: 767px) {
  .breadcrumb {
    position: relative;
  }
  .breadcrumb .inner .breadcrumb_list {
    width: 84%;
    position: absolute;
    padding-top: calc(var(--var-1) * 24);
    gap: calc(var(--var-1) * 24);
    z-index: 100;
    overflow-x: scroll;
  }
  .breadcrumb .inner .breadcrumb_list .breadcrumb_item {
    display: inline-block;
    font-size: calc(var(--var-1) * 12);
    flex-shrink: 0;
  }
  .breadcrumb .inner .breadcrumb_list .breadcrumb_item:first-child {
    margin: 0;
  }
  .breadcrumb .inner .breadcrumb_list .breadcrumb_item_secondary,
  .breadcrumb .inner .breadcrumb_list .breadcrumb_third {
    color: var(--cl-must);
  }
  .breadcrumb .inner .breadcrumb_list .arrow {
    position: relative;
  }
  .breadcrumb .inner .breadcrumb_list .arrow::before {
    content: ">";
    width: calc(var(--var-1) * 8);
    height: 100%;
    display: block;
    position: absolute;
    right: calc(-1 * var(--var-1) * 16);
  }
}
/*
========================================================================= */
/*  no_post
========================================================================= */
.no_post {
  font-size: calc(var(--var-1) * 56);
  font-weight: 700;
  text-align: center;
}