/*
Theme Name: ANDDINING
Author: ANDSMILE
Description: ANDDINING
Version: 1.0
*/


/*
 * TOPページ
*/
.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

/* video */
.video_wrap {
  position: fixed;
  overflow: hidden;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100vh;
  z-index: -9999;
}

.video_wrap video {
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  user-select: none;
}

/* 追従メニュー */
.following_btn {
  width: 20rem;
  height: 21.465rem;
  position: fixed;
  right: 5rem;
  bottom: 6.5rem;
  z-index: 9999;
}

/* fv */
.fv {
  display: block;
  width: 35.9rem;
  padding-top: 50.2rem;
  padding-bottom: 28.9rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.center_content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.index_heading {
  width: 35.9rem;
  height: 16.3rem;
  margin-bottom: 2.6rem;
  margin-left: auto;
  margin-right: auto;
}

.index_heading_link {
  display: inline-block;
}

.index_heading_logo {
  width: 100%;
  height: 100%;
}

.index_catchphrase {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.9rem;
  text-wrap: nowrap;
  text-align: center;
  color: #FFFFFF;
}

/* テキストエリア */
.index_textarea {
  background-color: rgba(43, 28, 1, 0.6);
  padding-top: 10rem;
  padding-bottom: 18.6rem;
  margin-top: 1rem;
}

.index_text,
.index_text_list {
  width: 91.1rem;
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.4rem;
  line-height: 2.45;
  color: #FFFFFF;
  margin-left: auto;
  margin-right: auto;
}

.index_text_list {
  counter-reset: my-counter;
  list-style: none;
}

.index_text_list li {
  position: relative;
  margin-left: 2.2rem;
}

.index_text_list li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #FFFFFF;
  border: 0.1rem solid #FFFFFF;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.4rem;
  height: 1.8rem;
  color: #333333;
  font-size: 1.2rem;
  position: absolute;
  top: 1.6rem;
  left: -2.2rem;
  padding: 0 0 0 0.4rem;
}

.index_textarea img {
  display: none;
}

/* キャッチコピー */
.catchcopy_list {
  width: 100%;
  overflow: hidden;
}

.catchcopy_list_item {
  position: relative;
  width: 100%;
  height: 60rem;
  margin-bottom: 4.1rem;
}

.catchcopy_list_item:nth-of-type(2) {
  display: flex;
  flex-direction: row-reverse;
}

.catchcopy_list_item:nth-of-type(2) .catchcopy_text {
  width: 71.1rem;
  height: 29.739rem;
  left: 5rem;
}

.catchcopy_list_item:nth-of-type(3) .catchcopy_text {
  width: 43.484rem;
  height: 24.417rem;
  top: 30rem;
  right: 43rem;
}

.catchcopy_list_item:last-of-type {
  margin-bottom: 50rem;
}

.catchcopy_list_item .gradation {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.catchcopy_list_item:nth-of-type(2) .gradation {
  align-items: flex-end;
}

.gradation::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 60rem;
  top: 0;
  left: 0;
  background: linear-gradient(
    270deg,
    #00000000 0%,
    #000000 37%,
    #2B1C0100 100%
  );
}

.catchcopy_list_item:nth-of-type(2) .gradation::before {
  background: linear-gradient(
    90deg,
    #00000000 0%,
    #000000 37%,
    #2B1C0100 100%
  )
}

.catchcopy_person {
  width: 80rem;
  height: 60rem;
}

.catchcopy_text {
  width: 62.954rem;
  height: 28.215rem;
  position: absolute;
  top: 27rem;
  right: 13rem;
}

/* お知らせ */
.news {
  background-color: #2B1C01;
  padding-bottom: 20rem;
}

.news_heading_area {
  background-image: url(../anddining/img/news_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  height: 50rem;
}

.news_title_jp {
  width: 40rem;
  font-family: 'Shippori Mincho', serif;
  font-weight: bold;
  font-size: 5rem;
  letter-spacing: 1.5rem;
  color: #FFFFFF;
  border-bottom: 0.1rem solid #FFFFFF;
  text-align: center;
  padding-top: 20.7rem;
  padding-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
}

.news_title_en {
  width: 20.4rem;
  font-family: 'Shippori Mincho', serif;
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.9rem;
  color: #FFFFFF;
  text-align: center;
  margin-top: 1.1rem;
  margin-left: auto;
  margin-right: auto;
}

.news_list {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 10rem;
}

.news_list_item {
  width: 25.9rem;
  margin-left: 4.9rem;
}

.news_list_item:first-child {
  margin-left: 0;
}

.news_list_item .wp-post-image {
  border-radius: 1rem 1rem 1rem 1rem;
}

.news_list_item a {
  font-family: 'Shippori Mincho', serif;
  font-weight: bold;
  font-size: 2rem;
  color: #FFFFFF;
}

.news_list_item time {
  display: block;
  font-family: 'Noto Sans JP', serif;
  font-weight: bold;
  font-size: 1.5rem;
  padding-bottom: 0.5rem;
  margin-top: 0.5rem;
}

.news_thumbnail {
  height: 20rem;
}

.news_title {
  font-size: 2rem;
  line-height: 1.5;
  height: calc(2rem * 1.5 * 2);
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.news_thumbnail_wrap {
  width: 25.9rem;
  height: 20rem;
  position: relative;
  background-color: #E8E8E8;
  border: 0.1rem solid #707070;
  border-radius: 1rem 1rem 1rem 1rem;
}

.news_list_item .default_thumbnail {
  width: 10.2rem;
  height: 10.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* もっとみるボタン */
.index_more_btn {
  display: block;
  width: 80rem;
  height: 5.5rem;
  line-height: 5.5rem;
  transition: all 0.3s ease-out;
  text-align: center;
  background-color: #FFFFFF;
  color: #333333;
  font-family: 'Noto Sans JP', serif;
  font-weight: 400;
  font-size: 3rem;
  border-radius: 1rem;
  margin-top: 6rem;
  margin-left: auto;
  margin-right: auto;
}

.index_more_btn:hover {
  background-color: #B10000;
  color: #FFFFFF;
}

/* sp */
@media screen and (max-width: 680px) {

  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }

  /* アニメーション */
  /* アニメーション前の初期位置 (opacity: 0 の状態) のスタイルを上書き */
  [data-aos="fade-left"]:not(.aos-animate),
  [data-aos="fade-right"]:not(.aos-animate) {
    /* fade-left の初期状態（左へ移動）を打ち消す */
    transform: translate3d(0, 0, 0);
    /* fade-up の初期状態（下へ移動）を適用 */
    transform: translate3d(0, 42px, 0) !important;
  }

  /* アニメーション後の位置 (.aos-animate が付与された状態) のスタイルを上書き */
  [data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
  }

  /* 追従メニュー */
  .following_btn {
    display: none;
  }

  /* fv */
  .fv {
    width: 35.9rem;
    padding-top: 11.9rem;
    padding-bottom: 11.8rem;
  }

  .index_heading {
    width: 12.8rem;
    height: 5.8rem;
    margin-top: -2.2rem;
    margin-bottom: 0;
  }

  .index_heading_logo {
    margin-top: -1rem;
  }

  .index_catchphrase {
    font-size: 1.2rem;
    margin-top: -0.1rem;
    letter-spacing: 0.1rem;
  }

  /* テキストエリア */
  .index_textarea {
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-top: 2.4rem;
  }

  .index_textarea img {
    object-fit: contain;
  }

  .index_text,
  .index_text_list {
    width: auto;
    font-size: 1.5rem;
    letter-spacing: -0.062rem;
    line-height: 1.333;
    margin-left: 3rem;
  }

  .index_text_list li {
    margin-left: 1.3rem;
  }

  .index_text_list li::before {
    width: 1rem;
    height: 1rem;
    line-height: 1;
    top: 0.4rem;
    left: -1.3rem;
    padding: 0;
  }

  .index_textarea img {
    display: block;
    width: 31.5rem;
    height: 8.8rem;
    opacity: 0.3;
    margin-top: 2.5rem;
    margin-left: auto;
    margin-right: auto;
  }

  /* キャッチコピー */
  .catchcopy_list {
    background: rgba(43, 28, 1, 0.6);
  }

  .catchcopy_list_item {
    height: 55rem;
    background: initial;
    margin-bottom: 0;
  }

  .catchcopy_list_item:nth-of-type(2) {
    display: block;
    background: initial;
  }


  .catchcopy_list_item:nth-of-type(2) .catchcopy_text {
    width: 35.551rem;
    height: 14.869rem;
    top: 36rem;
    left: 1rem;
  }

  .catchcopy_list_item:nth-of-type(3) .catchcopy_text {
    width: 21.742rem;
    height: 12.209rem;
    top: 34rem;
    right: 9rem;
  }

  .catchcopy_list_item:last-of-type {
    margin-bottom: 0;
  }

  .gradation {
    width: 37.5rem;
    height: 40rem;
    position: static;
  }

  .gradation::before {
    position: static;
    background: initial;
  }

  .catchcopy_list_item:nth-of-type(2) .gradation::before {
    background: initial;
  }

  .catchcopy_person {
    width: 100%;
    height: 100%;
    object-position: 1%;
  }

  .catchcopy_text {
    width: 31.477rem;
    height: 14.107rem;
    top: 35rem;
    right: 3rem;
  }

  /* お知らせ */
  .news_heading_area {
    height: 15rem;
  }

  .news_title_jp {
    width: 20rem;
    font-size: 2.8rem;
    letter-spacing: 0.62rem;
    padding-top: 4.3rem;
    padding-bottom: 0rem;
  }

  .news_title_en {
    width: 10.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.48rem;
    margin-top: 0rem;
  }

  .news_list {
    display: flex;
    flex-direction: column;
    padding-top: 5rem;
  }

  .news_list_item {
    margin-left: 0;
    margin-bottom: 5rem;
  }

  .news_content_wrap {
    display: flex;
    flex-direction: column-reverse;
  }

  .news_list_item time {
    text-align: right;
    padding-bottom: 0rem;
  }

  .news_title {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  /* もっとみるボタン */
  .index_more_btn {
    width: 31.5rem;
    height: 4rem;
    line-height: 4rem;
    font-size: 2rem;
    margin-top: 5.3rem;
  }
}




/*
*   企業情報
*/

/* 
 背景色
PC,SP共通
  */
.Co_overview_p {
    background-color: #2B1C01;
}

/* 
代表取締役について
 */
.Co_represent_greeting {
    width: 99.6rem;
    margin: 0 auto;
    display: flex;
    gap: 10rem;
    padding-top: 10rem;
}

.ceo_image {
    width: 40rem;
    height: 46rem;
    object-fit: cover;
}

/* 
PC版：表示する
コンテナ＋画像（imgタグ）
 */
.only_pc_version {
    display: flex;
    width: 49.59rem;
    height: 46.842rem;
    flex-direction: row-reverse;
}

.appeal_text,
.dream_beginning {
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    text-align: left;
    padding-top: 0;
    writing-mode: vertical-rl;
}

.life_experience,
.ceo_name {
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.5em;
    letter-spacing: 0.05em;
    writing-mode: vertical-rl;
}

.life_experience {
    padding-right: 3.25rem;
    writing-mode: vertical-rl;
}

.ceo_name {
    padding-right: 4.75rem;
    text-align: right;
    writing-mode: vertical-rl;
}

.appeal_text {
  position: relative;
  padding: 1.5rem 0rem;
}
.appeal_text::before {
  content: "”";
  display: block;
  position: absolute;
  top: 0.375rem;
  right: 0;
  transform: rotate(270deg);
  margin: 0 0;
  width: 2.8rem;
  height: auto;
}
.appeal_text::after {
  content: "“";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0.15rem;
  transform: rotate(-90deg);
  margin: 0;
  width: 2.8rem;
  height: auto;
}

/* .ceo_slogan {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

/* 
PC版：表示しない
 コンテナ＋テキスト（Pタグ）
 */
.only_sp_version {
    display: none;
}

/* 
セクション：2つ
 */
.overview_section,
.group_Co_section {
    width: 118rem;
    margin: 0 auto;
}

.overview_section {
    padding-top: 10rem;
}

.group_Co_section {
    padding: 10.013rem 0 20rem;
}

.formal_name {
    font-weight: 500;
    font-size: 3.5rem;
    padding: 5rem 0 3.15rem;
    line-height: 1.5em;
}

.formal_name::before {
    content: "■";
    color: #B10000;
    padding-right: 0.8rem;
    line-height: 1.5em;
}

.Co_overview,
.group_Co_introduction {
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
    font-size: 5rem;
    line-height: 1.33em;
    letter-spacing: 1.5rem;
    text-align: center;
}

/* 
会社概要リスト
共通カラー
 */
.Co_p_terms,
.Co_P_description,
.Co_overview,
.group_Co_introduction,
.represent_call,
.formal_name,
.only_pc_version>p,
.only_sp_version>p,
.horizontal_line {
    color: #FFFFFF;
}

/* divタグ：修正 */
.horizontal_line {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-top: 0.1rem solid;
    border-bottom: 0.1rem solid;
}

.Co_p_terms {
    width: 25%;
    font-weight: 500;
    text-align: center;
    padding: 2.05rem 0;
}

.Co_p_description {
    width: 75%;
    font-weight: 400;
    padding: 2.05rem 0 2.05rem 4.975rem;
}

.Co_p_terms,
.Co_p_description {
    font-size: 2rem;
    line-height: 1.45em;
}

/* 
SP版：住所を改行しない
*/
.linefeed {
    display: none;
}

/* 
グループ企業について：ボタン
 */
.group_Co_button {
    display: flex;
    justify-content: space-between;
    column-gap: 8rem;
    text-align: center;
    padding-top: 5rem;
}

/* 
ボタン：初期状態
 */
.Co_info_list {
    width: 55rem;
    border-radius: 0.5rem;
    background-color: #FFFFFF;
    transition: background-color 0.3s;
}

.Co_info_link {
    display: block;
    width: 100%;
    color: #333333;
    transition: color 0.3s;
    font-weight: 400;
    font-size: 3rem;
    line-height: 1.467em;
    padding: 0.55rem 0;
}

/* 
ボタン：ホバー状態
 */
.Co_info_list:hover {
    background-color: #B10000;
}

.Co_info_link:hover {
    color: #FFFFFF;
}

/* 
b(SP版)：680px
余白：ヘッダー全体とコンテンツまで4.5rem
余白：フッターとコンテンツ20rem
 */
@media (width <=680px) {

    /* 
代表取締役について
 */
    .Co_represent_greeting {
        display: flex;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        width: 31.5rem;
        gap: 3.4rem;
        padding-top: 4.5rem;
    }

    .ceo_image {
        width: 25rem;
        height: 25rem;
    }

    /* 
PC版：表示する⇒SP版：表示しない
コンテナ＋画像（imgタグ）
 */
    .only_pc_version,
    .ceo_slogan {
        display: none;
    }

    /* 
PC版：表示しない⇒SP版：表示する
コンテナ＋テキスト（Pタグ）
     */
    .only_sp_version {
        display: block;
    }

    .appeal_text, 
    .dream_beginning {
        font-family: "Shippori Mincho", serif;
        font-weight: bold;
        font-size: 2rem;
        letter-spacing: normal;
        line-height: 1.5em;
        text-align: center;
        padding-top: 0;
        padding-right: 0;
        writing-mode: unset;
    }
    .life_experience,
    .ceo_name {
        font-family: "Shippori Mincho", serif;
        font-weight: 500;
        font-size: 1.5rem;
        letter-spacing: normal;
        line-height: 1.3em;
        padding-right: 0;
        writing-mode: unset;
    }

    .life_experience {
        padding-top: 3.25rem;
        padding-right: 0;
        letter-spacing: -0.075rem;
        writing-mode: unset;
    }

    .ceo_name {
        padding-top: 4.75rem;
        text-align: right;
        writing-mode: unset;
    }

    .appeal_text {
      position: unset;
      padding: 0 0.5rem;
    }
    .appeal_text::before {
      content: "“";
      display: inline;
      position: unset;
      width: auto;
      height: auto;
    }
    .appeal_text::after {
      content: "”";
      display: inline;
      position: unset;
      width: auto;
      height: auto;
    }

    /* 
セクション：2つ
 */
    .overview_section,
    .group_Co_section {
        width: 31.5rem;
    }

    .overview_section {
        padding-top: 5rem;
    }

    .group_Co_section {
        padding-top: 4.95rem;
    }

    .formal_name {
        font-size: 1.5rem;
        line-height: 1.4em;
        padding: 4.2rem 0 1.05rem;
    }

    .Co_overview,
    .group_Co_introduction {
        font-size: 2.5rem;
        line-height: 1.715em;
        letter-spacing: 0.75rem;
    }

    /* 
会社概要リスト
 */
    .Co_p_terms {
        text-align: left;
    }

    .Co_p_terms,
    .Co_p_description {
        font-size: 1.2rem;
        padding: 0.75rem 0;
        line-height: 1.417em;
    }

    /* 
SP版：住所を改行する
*/
    .linefeed {
        display: block;
    }

    /* 
グループ企業について：ボタン
*/
    .group_Co_button {
        display: flex;
        flex-direction: column;
        justify-content: center;
        row-gap: 1rem;
        text-align: center;
        padding-top: 4.2rem;
    }

    /* 
ボタン：初期状態
 */
    .Co_info_list {
        width: 100%;
    }

    .Co_info_link {
        font-size: 2rem;
    }

}

/*
*   お問い合わせフォーム
*/

.contact{
  background-image: url(./img/contact_background.jpg);
  padding: 10rem 0 13.1rem 0;
}
.reservation{
  width: 82rem;
  margin: 0 auto;
}
.reservation .reservation_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 82rem;
  height: 5.5rem;
  background-color: #FFFFFF;
  color: #333333;
  font-family: 'Noto Sans JP';
  font-size: 3rem;
  border: solid 0.1rem #333333;
  border-radius: 1rem;
}
.reservation .reservation_link:hover{
  background-color: #B10000;
  color: #FFFFFF;
}
@media screen and (max-width:699.98px){
  .contact{
    padding: 5rem 0 13.1rem 0;
  }
  .reservation{
    width: 31.5rem;
    margin: 0 auto;
  }
  .reservation .reservation_link{
    width: 31.5rem;
    height: 4rem;
    font-size: 2rem;
  }
  .reservation .reservation_link:hover{
    background-color: #B10000;
    color: #FFFFFF;
  }  
}
.contact_form{
  width: 82rem;
  margin: 5.9rem auto 0 auto;
}
.contact_form .form_list dt h4{
  color: #333333;
  font-family: 'Noto Sans JP';
  font-weight: bold;
  font-size: 2rem;
  margin: 0 0 1rem 0;
}
.contact_form .form_list .required{
  position: relative;
}
.contact_form .form_list .required .required_item{
  display: flex;
  column-gap: 0.5rem;
}
.contact_form .form_list .required .required_item::after{
  content: "必須";
  width: 5rem;
  height: 2.5rem;
  background-color: #B10000;
  color: #FFFFFF;
  font-family: 'Noto Sans JP';
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.1rem 0 0 0;
}
.contact_form .form_list .required .wpcf7-form-control-wrap {
  position: relative;
}
.contact_form .form_list .required:nth-of-type(1) .wpcf7-not-valid-tip{
  position: absolute;
  left: 12rem;
  top: -5.8rem;
  font-family: 'Noto Sans JP';
  font-size: 1.5rem;
  color: #B10000;
}
.contact_form .form_list .required:nth-of-type(2) .wpcf7-not-valid-tip{
  position: absolute;
  left: 14rem;
  top: -5.8rem;
  font-family: 'Noto Sans JP';
  font-size: 1.5rem;
  color: #B10000;
}
.contact_form .form_list .required:nth-of-type(3) .wpcf7-not-valid-tip{
  position: absolute;
  left: 20rem;
  top: -5.8rem;
  font-family: 'Noto Sans JP';
  font-size: 1.5rem;
  color: #B10000;
}
.contact_form .form_list .required:nth-of-type(4) .wpcf7-not-valid-tip{
  position: absolute;
  left: 22rem;
  top: -20.5rem;
  font-family: 'Noto Sans JP';
  font-size: 1.5rem;
  color: #B10000;
}
.contact_form .form_list dd .contact_input{
  width: 82rem;
  height: 5rem;
  border: solid 0.1rem #707070;
  border-radius: 0.5rem;
  font-size: 2rem;
  padding: 1.1rem 0 1rem 2rem;
  margin: 0 0 2rem 0;
}
.contact_form .form_list dd .contact_textarea{
  width: 82rem;
  height: 16rem;
  border: solid 0.1rem #707070;
  border-radius: 0.5rem;
  font-family: 'Noto Sans JP';
  font-size: 2rem;
  padding: 1.1rem 0 0rem 2rem;
  margin: 0 0 2rem 0;
}
.contact_form .contact_privacy h3{
  font-family: 'Noto Sans JP';
  font-size: 2rem;
  font-weight: bold;
  color: #333333;
  margin: 0 0 1.4rem 0;
}
.contact_form .contact_privacy .privacy_box{
  width: 82rem;
  height: 18.9rem;
  overflow-y: scroll;
  border: solid 0.1rem #707070;
  padding: 1rem;
  font-family: 'Noto Sans JP';
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.25em;
  letter-spacing: 0.02em;
  background-color: #FFFFFF;
}
.contact_form .contact_privacy .privacy_box h6{
  font-weight: 700;
}
.contact_form .contact_privacy .contact_checkbox{
  display: flex;
  justify-content: flex-end;
  margin: 2rem 0 0 0;
  font-family: "Noto Sans CJK JP";
  font-size: 1.5rem;
  font-weight: 500;
  color: #333333;
}
input[type="checkbox"] {
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  left: -0.6rem;
  top: 0.25rem;
}
.contact_form .contact_privacy .wpcf7-form-control-wrap {
  position: relative;
}
.contact_form .contact_privacy .wpcf7-not-valid-tip{
  position: absolute;
  left: 3.5rem;
  top: 1.8rem;
  font-family: 'Noto Sans JP';
  font-size: 1.5rem;
  color: #B10000;
}
.contact_form .contact_submit{
  width: 82rem;
  height: 5.5rem;
  margin: 5.1rem 0 0 0;
  font-family: 'Noto Sans JP';
  font-size: 3rem;
  color: #333333;
  background-color: #FFFFFF;
  border: solid 0.1rem #707070;
  border-radius: 1rem;
}
.contact_form .contact_submit:hover{
  background-color: #B10000;
  color: #FFFFFF;
}
@media screen and (max-width:699.98px){
  .contact_form{
    width: 31.5rem;
    margin: 1rem auto 0 auto;
  }
  .contact_form .form_list dt{
    color: #333333;
    font-family: 'Noto Sans JP';
    font-weight: bold;
    font-size: 1.5rem;
  }
  .contact_form .form_list dt h4{
    color: #333333;
    font-family: 'Noto Sans JP';
    font-weight: bold;
    font-size: 1.5rem;
    margin: 0 0 0.47rem 0;
  }
  .contact_form .form_list .required{
    position: relative;
  }
  .contact_form .form_list .required .required_item{
    display: flex;
    column-gap: 0.5rem;
  }
  .contact_form .form_list .required .required_item::after{
    width: 3.4rem;
    height: 1.7rem;
    font-size: 1.1rem;
    margin: 0.3rem 0 0 0;
  }
 .contact_form .form_list .required .wpcf7-form-control-wrap {
    position: relative;
  }
  .contact_form .form_list .required:nth-of-type(1) .wpcf7-not-valid-tip{
    position: absolute;
    left: 8.9rem;
    top: -3.5rem;
    font-size: 1rem;
  }
  .contact_form .form_list .required:nth-of-type(2) .wpcf7-not-valid-tip{
    position: absolute;
    left: 10.4rem;
    top: -3.5rem;
    font-size: 1rem;
  }
  .contact_form .form_list .required:nth-of-type(3) .wpcf7-not-valid-tip{
    position: absolute;
    left: 14.9rem;
    top: -3.5rem;
    font-size: 1rem;
  }
  .contact_form .form_list .required:nth-of-type(4) .wpcf7-not-valid-tip{
    position: absolute;
    left: 16.4rem;
    top: -14.5rem;
    font-size: 1rem;
  }
 .contact_form .form_list dd .contact_input{
    width: 31.5rem;
    height: 3rem;
    border: solid 0.1rem #707070;
    border-radius: 0.5rem;
    font-size: 1.5rem;
    padding: 0.5rem 0 0.5rem 1rem;
    margin: 0 0 2rem 0;
  }
  .contact_form .form_list dd .contact_textarea{
    width: 31.5rem;
    height: 10rem;
    border: solid 0.1rem #707070;
    border-radius: 0.5rem;
    font-family: 'Noto Sans JP';
    font-size: 1.5rem;
    padding: 0.5rem 0 0rem 1rem;
    margin: 0 0 2.5rem 0;
  }
  .contact_form .contact_privacy h3{
    font-size: 1.5rem;
    margin: 0 0 0.5rem 0;
  }
  .contact_form .contact_privacy .privacy_box{
    width: 31.5rem;
    height: 18.9rem;
    overflow-y: scroll;
    border: solid 0.1rem #707070;
    padding: 0.75rem;
    font-family: 'Noto Sans JP';
    font-weight: 500;
    font-size: 1rem;
    background-color: #FFFFFF;
  }
  .contact_form .contact_privacy .privacy_box h6{
    font-weight: 700;
  }
  .contact_form .contact_privacy .contact_checkbox{
    display: flex;
    justify-content: flex-end;
    margin: 1rem 0 0 0;
    font-family: "Noto Sans CJK JP";
    font-size: 1.5rem;
    font-weight: 500;
    color: #333333;
  }
  .contact_form .contact_privacy .wpcf7-not-valid-tip{
    font-size: 1rem;
  }
  .contact_form .contact_submit{
    width: 31.5rem;
    height: 3.5rem;
    margin: 6.1rem 0 0 0;
    font-family: 'Noto Sans JP';
    font-size: 2rem;
    color: #333333;
    background-color: #FFFFFF;
    border: solid 0.1rem #707070;
    border-radius: 1rem;
  }
  .contact_form .contact_submit:hover{
    background-color: #B10000;
    color: #FFFFFF;
  } 
}


/*
*   店舗情報
*/

.shop {
  width: 100%;
  max-width: 128rem;
  background-color: #2B1C01;
}

.shop_data:first-child {
  width: 100%;
  max-width: 128rem;
  padding: 10.5rem 0 0 1.28rem;
}

.shop_data:first-child h2 {
  font-family: "Shippori Mincho", serif;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 1.5rem;
  text-align: center;
  color: #FFFFFF;
  padding-left: 1.3rem;
}

.shop_data:last-child {
  width: 100%;
  max-width: 128rem;
  padding: 10.5rem 0 20rem 1.4rem;
}

.shop_data:last-child h2 {
  font-family: "Shippori Mincho", serif;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 1.5rem;
  text-align: center;
  color: #FFFFFF;
  padding-left: 1.3rem;
}

.shop_data_info {
  display: flex;
  width: 118rem;
  margin: 7rem auto 0;
  gap: 3rem;
}

.shop_data_info>img {
  width: 60rem;
  height: 40rem;
  object-fit: cover;
}

.shop_data_info_context {
  width: 55rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.shop_data_info_context address {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.9rem;
  letter-spacing: .1rem;
  text-align: left;
  color: #FFFFFF;
  margin-top: 19.9rem;
}

.address_tel {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  text-align: left;
  color: #FFFFFF;
  text-decoration: none;
}

.address_instagram {
  color: #FFFFFF;
  margin: 1.5rem 0 2.9rem 1.2rem;
}

.icon_instagram {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
}

.address_reserved {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 3rem;
  border: 1px solid #FFFFFF;
  padding: .5rem 10rem .6rem 14rem;
  color: #333333;
  background-color: #FFFFFF;
  border-radius: 1rem;
}

.address_reserved:hover {
  background-color: #b10000;
  color: #FFFFFF;
  border-color: #b10000;
}

@media screen and (max-width: 680px) {
  .shop_data:first-child {
    width: 84%;
    margin: 0 auto;
    padding: 4.98rem 0 0;
  }

  .shop_data:first-child h2 {
    font-size: 2.5rem;
    line-height: 1.4;
    letter-spacing: .25rem;
    text-align: center;
    padding-left: 0;
  }

  .shop_data:last-child {
    width: 84%;
    margin: 0 auto;
    padding: 4.65rem 0 20rem 0;
  }

  .shop_data:last-child h2 {
    font-size: 2.5rem;
    line-height: 1.4;
    letter-spacing: .25rem;
    text-align: center;
    padding-left: 0;
  }

  .shop_data_info {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 5rem auto 0;
    gap: 2rem;
  }

  .shop_data_info>img {
    width: 100%;
    height: auto;
    min-height: 21rem;
    object-fit: cover;
  }

  .shop_data_info_context {
    width: 100%;
  }

  .shop_data_info_context address {
    font-size: 1rem;
    margin-top: .4rem;
    letter-spacing: .15rem;
  }

  .address_tel {
    font-size: 1.2rem;
    padding-top: .7rem;
  }

  .address_instagram {
    font-size: 2.8rem;
    margin: 1rem 0 1.85rem 0;
  }

  .icon_instagram {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
  }

  .address_reserved {
    font-size: 2rem;
    padding: .5rem 6.5rem .6rem 6.5rem;
    border-radius: .5rem;
  }
}

/*
*   卒業者情報
*/

.independent_wrapper{
  padding: 15.2rem 0 20rem 0;
  background-image: url(img/contact_background.jpg);
}
.independent_wrapper ul{
  display: flex;
  flex-flow: column;
  row-gap: 5rem;
  align-items: center;
}
.independent_box{
  display: flex;
  column-gap: 2.3rem;
  width: 118rem;
  background-color: #2B1C01;
  color: #FFFFFF;
}
.independent_box img{
  width: 37.6rem;
  height: 38.036rem;
  margin: 5rem 0 2.964rem 3.9rem;
}
.independent_box .independent_text{
  margin: 3.4rem 0 0 0;
}
.independent_box .independent_text h3{
  font-family: "Shippori Mincho";
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.3em;
  line-height: 2em;
}
.independent_box .independent_text .text_box{
  overflow-wrap: anywhere;
  width: 70.2rem;
  margin: 1rem 0 2.964rem 0;
}
.independent_box .independent_text .text_box p{
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  line-height: 1.55em;
}

@media screen and (max-width:699.98px) {
  .independent_wrapper{
    padding: 5rem 0 20rem 0;
  }
  .independent_wrapper ul{
    row-gap: 3rem;
  }
  .independent_box{
    display: flex;
    flex-flow: column;
    row-gap: 2.8rem;
    width: 31.6rem;
    background-color: #2B1C01;
    color: #FFFFFF;
  }
  .independent_box img{
    width: 29.5rem;
    height: 29.5rem;
    object-fit: cover;
    margin: 1rem 0 0 1.1rem;
  }
  .independent_box .independent_text{
    margin: 0 0 0 1.1rem;
  }
  .independent_box .independent_text h3{
    font-family: "Shippori Mincho";
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.3em;
    line-height: unset;
  }
  .independent_box .independent_text .text_box{
    overflow-wrap: anywhere;
    width: 29.5rem;
    margin: 2.8rem 0 1.5rem 0;
  }
  .independent_box .independent_text .text_box p{
    font-family: "Noto Sans JP";
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    line-height: 2em;
  }
}

/*
*   お知らせ一覧
*/

/* news_archive */
.archive_bg {
  background-image: url(./img/contact_background.jpg);
  background-repeat: repeat;
}

.archive_wrap {
  margin: 0 auto;
  padding: 10.7rem 0 20rem;
  width: 118.2rem;
  font-family: "Noto Serif JP";
  font-weight: bold;
}

.swiper {
  width: 100%;
}
.swiper-slide {
  display: flex;
  flex-wrap: wrap;
  gap: 5.8rem;
}

.archive_content_box {
  background-color: #3333330f;
  height: 42.6rem;
  width: 35.5rem;
}

.archive_content_img {
  height: 26rem;
  width: 100%;
}

.archive_img_bg {
  align-items: center;
  background-color: #e8e8e8;
  display: flex;
  height: 26rem;
  justify-content: center;
  width: 100%;
}

.archive_logo {
  height: 10.2rem;
  width: 10.2rem;
}

.archive_content_time {
  color: #707070;
  display:block;
  font-size: 2rem;
  margin: 1rem 0.5rem 0.5rem;
}

.archive_content_title {
  font-size: 2rem;
  font-weight: bold;
  margin: 0 0.5rem;
}

.swiper-button-prev,
.swiper-button-next {
  height: 12.682rem;
  top: 54.9%;
  width: 6.44rem;
  transform: translateY(50%);
}

.swiper-button-prev {
  left: 2rem;
}

.swiper-button-next {
  right: 2rem;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 12.682rem;
  margin: auto;
  width: 6.44rem;
}
.swiper-button-prev::after {
  background-image: url(./img/archive_prev.png);
}
.swiper-button-next::after {
  background-image: url(./img/archive_next.png);
}

.swiper-pagination-bullet-active {
  background-color: #333333;
}

@media screen and (max-width: 680px) {
  .archive_wrap {
    padding: 5rem 3rem 20rem;
    width: 100%;
  }

  .swiper {
    height: 100%;
  }
  .swiper-wrapper {
    display: block;
  }

  .swiper-slide {
    column-gap: 2rem;
    row-gap: 4rem;
  }

  .swiper-slide:not(:first-of-type) {
    padding-top: 4rem;
  }

  .archive_content_box {
    height: 19.3rem;
    width: 14.7rem;
    position: relative;
  }

  .archive_content_img {
    height: 9.5rem;
  }

  .archive_img_bg {
    height: 9.5rem;
  }

  .archive_logo {
    height: 4rem;
    width: 4rem;
  }

  .archive_content_time {
    font-size: 1.2rem;
    bottom: 0;
    right: 0;
    position: absolute;
    margin: 0 0.3rem 0.3rem 0;
  }

  .archive_content_title {
    font-size: 1.2rem;
    margin: 1rem 0.5rem 0;
  }

  .swiper-button-prev,
  .swiper-button-next,
  .swiper-pagination {
    display: none;
  }
  .swiper-button-prev::after,
  .swiper-button-next::after {
    display: none;
  }
}

/* news_single */
.single_bg {
  background-image: url(./img/contact_background.jpg);
  background-repeat: repeat;
}
.single_wrap {
  padding: 13.3rem 5rem 20rem;
}

.single_content_title {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 5.8rem;
}

.single_content_time {
  display:block;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 8rem;
}

.single_content_box {
  display: flex;
  gap: 3rem;
}

.single_content_text {
  font-size: 2rem;
  line-height: 3rem;
  width: 50rem;
}

.single_content_img {
  height: 45rem;
  width: 65rem;
}

.single_noimg_text {
  font-size: 2rem;
  line-height: 3rem;
}

.single_bottom_nav {
  display: flex;
  margin-top: 19.4rem;
}

.single_bottom_nav_prev {
  font-size: 2rem;
  margin-left: 3.2rem;
  position: relative;
}

.single_bottom_nav_prev::before {
  border-bottom: 1.3rem solid transparent;
  border-left: 0;
  border-right: 2.3rem solid #333333;
  border-style: solid;
  border-top: 1.3rem solid transparent;
  content: "";
  height: 0;
  left: -3rem;
  position: absolute;
  top: 0.3rem;
  width: 0;
}

.single_bottom_nav_next {
  font-size: 2rem;
  margin-left: auto;
  margin-right: 3.2rem;
  position: relative;
}

.single_bottom_nav_next::after {
  border-bottom: 1.3rem solid transparent;
  border-left: 2.3rem solid #333333;
  border-right: 0;
  border-style: solid;
  border-top: 1.3rem solid transparent;
  content: "";
  height: 0;
  position: absolute;
  right: -3rem;
  top: 0.3rem;
  width: 0;
}
@media screen and (max-width: 680px) {
  .single_wrap {
    padding: 5rem 3rem 20rem;
  }

  .single_content_title {
    font-size: 2rem;
    margin-bottom: 2.9rem;
  }

  .single_content_time {
    font-size: 0.9rem;
    margin-bottom: 3.7rem;
  }

  .single_content_box {
    display: block;
  }

  .single_content_text {
    font-size: 1.4rem;
    line-height: 2.5rem;
    width: 100%;
  }

  .single_content_img {
    height: 25rem;
    margin-top: 5rem;
    width: 31.5rem;
  }

  .single_noimg_text {
    font-size: 1.4rem;
    line-height: 2.5rem;
  }

  .single_bottom_nav {
    margin-top: 0.6rem;
  }

  .single_bottom_nav_prev {
    font-size: 1.5rem;
    margin-left: 2.8rem;
  }

  .single_bottom_nav_prev::before {
    left: -2.8rem;
    top: 0;
  }

  .single_bottom_nav_next {
    font-size: 1.5rem;
    margin-right: 2.8rem;
  }

  .single_bottom_nav_next::after {
    right: -2.8rem;
    top: 0;
  }
}

.sp_only {
  display: none;
}

@media screen and (max-width: 680px) {
  .sp_only {
    display: block;
  }
  .pc_only {
    display: none;
  }
}


/*
*   採用ページ
*/

/* リクルートコンテンツ開始 */
.recruit{
  background-image: url(./img/contact_background.jpg);
  padding: 0 0 20rem 0;
}

.recruit_container {
  margin: 0 auto;
  padding: 8.5rem 0 0 0;
  width: 118rem;
}

.recruit_message {
  color: #333;
  font-size: 2rem;
  letter-spacing: 0.4rem;
  line-height: 6rem;
  margin: 0 auto;
  text-align: center;
}

.sp_only {
  display: none;
}

.img_container {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 2.3rem 0 0 0;
  width: 118rem;
}

.ut_149_png,
.ut_281_png {
  width: 56.8rem;
}

.application_container {
  margin: 0 auto;
  text-align: center;
  width: 118rem;
}

.application_form_title {
  font-family: "Noto Sans JP", Medium;
  font-size: 3rem;
  letter-spacing: 0.65rem;
  padding: 2.5rem 0.5rem 1.4rem 0.5rem;
}

.doda_link {
  background-color: #FFF;
  border: #333 solid 0.1rem;
  border-radius: 1rem;
  color: #333;
  display: inline-block;
  padding: 0.5rem 0;
  text-align: center;
  text-decoration: none;
  width: 80rem;
}

.doda_link:hover,
.alumni_link:hover {
  background-color: #B10000;
  color: #fff;
}

.doda_link p {
  font-family: 'Noto Sans JP';
  font-size: 3rem;
}

/* 卒業生コンテンツ開始 */
.alumni_link_container {
  margin: 0 auto;
  padding: 10.5rem 0 0 0;
  text-align: center;
  width: 118rem;
}

.alumni_link_title {
  font-family: "Shippori Mincho", serif;
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 1.45rem;
  margin: 0 0 2rem 0;
  padding: 0 0 2rem 0;
  position: relative;
}

.alumni_message {
  color: #333;
  font-size: 2rem;
  letter-spacing: 0.4rem;
  line-height: 6rem;
  margin: 0 auto;
  padding: 2.7rem 0 17rem 0;
  text-align: center;
}

.alumni_link {
  background-color: #FFF;
  border: #333 solid 0.1rem;
  border-radius: 1rem;
  color: #333;
  display: inline-block;
  font-size: 3rem;
  margin: 0 auto;
  padding: 0.5rem 0;
  text-align: center;
  text-decoration: none;
  width: 80rem;
}

.alumni_link p {
  font-family: "Noto Sans JP", "Regular";
  font-size: 3rem;
}

/* 開業支援開始 */
.est_support_container {
  font-family: "Noto Sans JP";
  margin: 0 auto;
  padding: 10rem 0;
  text-align: center;
  width: 118rem;
  /* 追記 */
  padding-bottom: 34.3rem;
}

.est_support_title {
  font-family: "Shippori Mincho", serif;
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 1.4rem;
  margin: 0 0 1.7rem 0;
  padding: 0 0 2rem 0;
  position: relative;
  text-align: center;
}

.business_pic {
  width: 43.9rem;
}

.restaurant_est_details,
.full_support_details,
.sales_up_details {
  width: 62.8rem;
}

/* 飲食店開業プラン開始 */
.restaurant_est_container {
  border: #707070 0.1rem solid;
  /* 追記 */
  margin: 0.125rem 0 0 0;
}

.restaurant_est_title {
  background-color: #333;
  color: #fff;

  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.6rem;
  line-height: 5rem;
}

.restaurant_est_box {
  display: flex;
  justify-content: space-between;
  padding: 4.8rem 3rem 2.5rem 3rem;
  text-align: left;
}

.est_target_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.5rem;
  margin: 0 0 2rem 0;
}

.est_target_list ul {
  font-size: 1.5rem;
  line-height: 2.5rem;
  list-style: inside;
  list-style-type: "・";
  margin: 0 0 4.5rem 0;
}

.est_service_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.8rem;
  margin: 0 0 2rem 0;
}

.est_service_dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 3rem;
}

.est_service_dl dd {
  font-size: 1.5rem;
  padding: 0 0 2.3rem 0;
}

.est_service_dl dd:last-child {
  padding: 0;
}

.change_contents {
  font-size: 1.5rem;
  padding: 0 0 2.3rem 0;
  text-align: left;
  white-space: nowrap;
}

.change_contents br {
  display: none;
}

.est_price_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.5rem;
  margin: 4.7rem 0 0 0;
}

.est_price_wrapper {
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  line-height: 2.5rem;
  margin: 2rem 0 0 0;
}

.est_warning_note {
  padding: 2.5rem 0;
}

/* フルサポート開業プラン開始 */
.full_support_container {
  border: #707070 0.1rem solid;
  margin: 4.9rem 0 0 0;
}

.full_support_title {
  background-color: #333;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.6rem;
  line-height: 5rem;
}

.full_support_box {
  display: flex;
  justify-content: space-between;
  padding: 4.6rem 3rem 1.5rem 3rem;
  text-align: left;
}

.full_target_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.5rem;
  margin: 0 0 2rem 0;
}

.full_target_list ul {
  font-size: 1.5rem;
  line-height: 2.5rem;
  list-style: inside;
  list-style-type: "・";
  padding: 0 0 2.5rem 0;
}

.full_consulting_text {
  font-size: 1.5rem;
  line-height: 2.5rem;
}

.full_consulting_text p:last-child {
  padding: 2.5rem 0 7rem 0;
}

.full_service_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.5rem;
  margin: 0 0 1.75rem 0;
}

.full_service_dl {
  margin: 1rem 0 0 0;
}

.full_service_dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 3rem;
}

.full_service_dl dd {
  font-size: 1.5rem;
  padding: 0 0 2.35rem 0;
}

.full_service_dl dd:last-child {
  padding: 0;
}

.full_price_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.5rem;
  margin: 10rem 0 2rem 0;
}

.full_price_wrapper {
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  line-height: 2.5rem;
  margin: 2rem 0 0 0;
}

.full_warning_note {
  padding: 2.5rem 0 2.3rem 0;
}

.full_price_value {
  margin: 2.5rem 0 0 0;
}

/* 既存店舗売上UPプラン開始 */
.sales_up_container {
  border: #707070 0.1rem solid;
  margin: 4.75rem 0 0 0;
}

.sales_up_title {
  background-color: #333;
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.6rem;
  line-height: 5rem;
}

.sales_up_box {
  display: flex;
  justify-content: space-between;
  padding: 4.8rem 3rem 5.2rem 3rem;
  text-align: left;
}

.sales_target_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.45rem;
  margin: 0 0 1.8rem 0;
}

.sales_target_list {
  font-size: 1.5rem;
}

.sales_target_list ul {
  font-size: 1.5rem;
  line-height: 2.5rem;
  list-style: inside;
  list-style-type: "・";
  padding: 0 0 2.5rem 0;
}

.sales_required_list {
  list-style: none;
  margin: 0;
}

.sales_required_list li {
  font-size: 1.5rem;
  line-height: 2.7rem;
  list-style-position: inside;
}

.sales_required_list li:first-child {
  list-style-type: "・";
}

.sales_required_list li:nth-child(2) {
  list-style-type: none;
  padding: 0 0 0 1rem;
}

.sales_service_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.4rem;
  margin: 2.5rem 0 1.8rem 0;
}

.sales_franchise_contract {
  font-size: 1.5rem;
  line-height: 2.5rem;
}

.non_breaking_text {
  white-space: nowrap;
}

.sales_price_title {
  border-bottom: #333 solid 0.1rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.58rem;
  line-height: 3.5rem;
  margin: 7.35rem 0 2rem 0;
}

.sales_price_wrapper {
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  line-height: 2.5rem;
  margin: 2rem 0 0 0;
}

/* 既存店舗売上UPプラン終了 */

/* Media Queries (スマートフォン版) */
@media screen and (max-width: 699.98px) {
  /* SP版リクルートコンテンツ開始 */
  .recruit_container {
    margin: 0 auto;
    padding: 5rem 0 0 0;
    width: 31.5rem;
  }

  .recruit_message {
    font-size: 1.5rem;
    letter-spacing: 0;
    line-height: 2rem;
    margin: 0 auto;
    text-align: left;
  }

  .img_container {
    display: block;
    margin: 0 auto;
    padding: 5rem 0 0 0;
    width: 31.5rem;
  }

  .ut_149_png {
    margin: 0 0 2.85rem 0;
    width: 31.5rem;
  }

  .ut_281_png {
    margin: 0 0 3rem 0;
    width: 31.5rem;
  }

  .application_container {
    margin: 0 auto;
    text-align: center;
    width: 31.5rem;
  }

  .application_form_title {
    font-size: 1.5rem;
    letter-spacing: 0.3rem;
    padding: 0 0.5rem 1.6rem 0.5rem;
  }

  .doda_link {
    border: #333 solid 0.1rem;
    border-radius: 1rem;
    background-color: #FFF;
    display: inline-block;
    padding: 0.5rem 0;
    text-align: center;
    text-decoration: none;
    width: 31.5rem;
  }

  .doda_link p {
    font-size: 2rem;
    letter-spacing: 0.4rem;
  }

  /* SP版卒業生コンテンツ開始 */
  .alumni_link_container {
    margin: 0 auto;
    padding: 5rem 0 0 0;
    text-align: center;
    width: 31.5rem;
  }

  .alumni_link_title {
    font-family: "Shippori Mincho", serif;
    font-size: 2.5rem;
    letter-spacing: 0.7rem;
    margin: 0 0 2rem 0;
    padding: 0 0 3.3rem 0;
    position: relative;
  }

  .alumni_message {
    font-size: 1.5rem;
    letter-spacing: 0.15rem;
    line-height: 2rem;
    margin: 0 auto;
    padding: 3rem 0 3rem 0;
    text-align: left;
  }

  .pc_only {
    display: none;
  }

  .alumni_link {
    border: #333 solid 0.1rem;
    border-radius: 1rem;
    display: inline-block;
    padding: 0.5rem 0;
    text-align: center;
    text-decoration: none;
    width: 31.5rem;
  }

  .alumni_link p {
    font-size: 2rem;
    letter-spacing: 0.4rem;
  }

  /* SP版開業支援開始 */
  .est_support_container {
    margin: 0 auto;
    padding: 5rem 0;
    text-align: center;
    width: 31.5rem;
    padding-bottom: 20rem;
  }

  .est_support_title {
    font-family: "Shippori Mincho", serif;
    font-size: 2.5rem;
    letter-spacing: 0.8rem;
    margin: 0 0 2rem 0;
    padding: 0 0 3.3rem 0;
    position: relative;
    text-align: center;
  }

  .restaurant_est_details,
  .full_support_details,
  .sales_up_details {
    width: 29.5rem;
  }

  /* SP版飲食店開業プラン */
  .restaurant_est_container {
    /* 追記 */
    margin: -0.2rem 0 0 0;
  }

  .restaurant_est_box {
    display: block;
    padding: 1rem 1rem 1.6rem 1rem;
    text-align: left;
  }

  .business_pic {
    height: 20rem;
    width: 29.5rem;
  }

  .est_target_title {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    line-height: 2.5rem;
    margin: 3.5rem 0 0 0;
  }

  .est_target_list ul {
    font-size: 1.2rem;
    line-height: 2rem;
    margin: 0.5rem 0 2.2rem 0;
  }

  .est_service_title {
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
    line-height: 3rem;
    margin: 0;
  }

  .est_service_dl dt {
    font-size: 1.2rem;
    line-height: 2.5rem;
  }

  .est_service_dl dd {
    font-size: 1.2rem;
    padding: 0 0 1.85rem 0;
  }

  .change_contents {
    white-space: normal;
    /* SP版で折り返しを有効化 */
  }

  .change_contents br {
    display: block;
    /* SP版で改行タグを有効化 */
  }

  .change_contents .sp-hide {
    display: none;
  }

  .est_price_title {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    line-height: 2.5rem;
    margin: 2.6rem 0 0 0;
  }

  .est_price_wrapper {
    font-size: 1.2rem;
    line-height: 2rem;
    margin: 0.5rem 0 0 0;
  }

  .est_warning_note {
    padding: 2rem 0;
  }

  /* SP版フルサポート開業プラン */
  .full_support_container {
    margin: 3rem 0 0 0;
  }

  .full_support_box {
    display: block;
    padding: 1rem 1rem 1.6rem 1rem;
    text-align: left;
  }

  .full_target_title {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    line-height: 2.5rem;
    margin: 2.5rem 0 0.05rem 0;
  }

  .full_target_list ul {
    font-size: 1.2rem;
    line-height: 2rem;
    padding: 0.2rem 0 2rem 0;
  }

  .full_consulting_text {
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .full_consulting_text p:last-child {
    padding: 2.3rem 0 3rem 0;
  }

  .full_service_title {
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
    line-height: 2rem;
    margin: 0 0 0 0;
  }

  .full_service_dl {
    margin: 0.4rem 0 0 0;
  }

  .full_service_dl dt {
    font-size: 1.2rem;
    line-height: 2rem;
  }

  .full_service_dl dd {
    font-size: 1.2rem;
    line-height: 2rem;
    padding: 0 0 2rem 0;
  }

  .full_price_title {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    line-height: 2.2rem;
    margin: 2.8rem 0 0 0;
  }

  .full_price_wrapper {
    font-size: 1.2rem;
    line-height: 2rem;
    margin: 0.5rem 0 0 0;
  }

  .full_warning_note {
    padding: 2rem 0 0 0;
  }

  .full_price_value {
    margin: 2rem 0 0 0;
  }

  /* SP版既存店舗売上UPプラン */
  .sales_up_container {
    margin: 3rem 0 0 0;
  }

  .sales_up_box {
    display: block;
    padding: 1rem 1rem 1.9rem 1rem;
    text-align: left;
  }

  .sales_target_title {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    line-height: 2.2rem;
    margin: 2.7rem 0 0.25rem 0;
  }

  .sales_target_list {
    font-size: 1.2rem;
  }

  .sales_target_list ul {
    font-size: 1.2rem;
    line-height: 2.1rem;
    padding: 0 0 2rem 0;
  }

  .sales_required_list li {
    font-size: 1.2rem;
    line-height: 2.2rem;
    list-style-position: inside;
  }

  .sales_required_list li:nth-child(2) {
    letter-spacing: -0.035rem;
    list-style-type: none;
    padding: 0 0 0 0;
  }

  .sales_service_title {
    font-size: 1.6rem;
    letter-spacing: 0.15rem;
    line-height: 2.5rem;
    margin: 0.5rem 0 0.2rem 0;
  }

  .sales_franchise_contract {
    font-size: 1.2rem;
    letter-spacing: -0.02rem;
    line-height: 2rem;
  }

  .non_breaking_text {
    white-space: nowrap;
  }

  .sales_price_title {
      font-size: 1.6rem;
      letter-spacing: 0.1rem;
      line-height: 2rem;
      margin: 7.3rem 0 0 0;
  }

  .sales_price_wrapper {
      font-size: 1.2rem;
      line-height: 2rem;
      margin: 0.35rem 0 0 0;
  }

  .sp_only {
    display: inline-block;
  }
}

/*
*   筆の跡が流れる
*/

/* 目印になるクラス */
.animation_before{
  position: relative;  
}
/* 表示領域に入ってきたら付与されるクラス */
.animation_write {
  position: relative;  
}
.animation_write::after {
  content: "";
  display: block;
  background: url(img/handwriting.png) no-repeat center center;
  position: absolute;
  top: 4.5rem;
  left: 40.5rem;
  background-size: cover;
  width: 45.885rem;
  height: 4.2rem;
  z-index: -1;
  overflow: hidden;
  animation: handwriting 1s cubic-bezier(0.8, 0.3, 0, 1);
}
@keyframes handwriting {
  0%{
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  }
  100%{
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
/* 採用ページの個別設定 */
.alumni_link_title.animation_write::after,
.est_support_title.animation_write::after{
  top: 5rem;
  left: 36rem;
}
/* 企業情報ページの個別設定 */
.Co_overview.animation_write::after,
.group_Co_introduction.animation_write::after{
  left: 35rem;
}
@media screen and (max-width:699.98px){
  .animation_write::after {
    top: 3rem;
    left: 3rem;
    width: 27.5rem;
    height: 2.517rem;
  } 
  .alumni_link_title.animation_write::after,
  .est_support_title.animation_write::after{
    top: 3.1rem;
    left: 2.5rem;
  }
  .Co_overview.animation_write::after,
  .group_Co_introduction.animation_write::after{
    top: 3.5rem;
    left: 1rem;
  }
}