/*========================================================================
追加上書き用CSS
=========================================================================*/
@charset "ut-8";

:root {
  --theme-color: #4a6b44;
}
/* スムーススクロール */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 126px;
}
#top {
  height: 71px;
}
.navbar {
  height: 56px;
}
@media screen and (max-width: 768px) {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 71px;
  }
  .navbar {
    height: initial;
  }
}
/* 最新情報 */
#news {
  padding: 0 !important;
  max-width: 1000px;
  margin: -200px auto 0;
}
.list_top {
  width: 100%;
  max-width: 1000px;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .list_top a:nth-child(3) {
    display: none !important;
  }
}

/* ナビゲーションバー */
.new_icon {
  font-size: 10px;
  background-color: #b85e0f;
  border-radius: 5px;
  padding: 1px 3px 2px;
  margin-right: 2px;
  vertical-align: 2px;
}

/* フッター固定予約ボタン スマホのみ */
.footer_bar {
  height: 50px;
  background-color: var(--theme-color);
  position: fixed;
  bottom: -1px;
  right: 0;
  left: 0;
  z-index: 1030;
}
.footer_bar_wrap {
  display: flex;
  align-items: center;
  text-align: center;
  height: 100%;
}
.footer_bar a {
  font-size: 18px;
  color: #fff;
  text-decoration: none !important;
  display: block;
  width: 50%;
}
.footer_bar a:nth-child(1) {
  border-right: 1px solid #9c9c9c;
}

/* カテゴリページ、投稿ページの切り替えナビ */
.category_navi {
  padding-left: 7px;
}
/* カテゴリタイトルのフォルダアイコン非表示 */
.archive-title span {
  display: none;
}
/* カテゴリタイトル */
#archive-title {
  padding-left: 7px;
}

/* ---- 20241009 added start ---- */
.modal_text_link a {
  transition: all 0.3s;
  color: #4a6b44 !important;
}
button.modal_text_link {
  background-color: #fff;
  font-weight: 600;
  line-height: 1.6;
}
button.modal_text_link a:hover {
  color: #b85e0f !important;
  text-decoration: underline #b85e0f 2px;
  text-underline-offset: 0.4em;
}
.modal-header {
  display: none;
}
.modal-body img {
  width: 100%;
}
/* ---- 20241009 added end ---- */
/* ---- 20240706 added start ---- */
@media screen and (min-width: 992px) {
  .balloon {
    position: relative;
    padding: 64px 0px 36px 7px;
    width: 200px;
    height: 200px;
    left: calc(50% + 280px);
    top: -360px;
    line-height: 34px;
    border-radius: 50%;
    text-align: center;
    color: #ffffff;
    letter-spacing: 0.2em;
    font-size: 20px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.55);
    white-space: nowrap;
  }
  .balloon span {
    font-size: 26px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .balloon {
    position: relative;
    padding: 64px 0px 36px 7px;
    width: 200px;
    height: 200px;
    left: calc(100% - 220px);
    top: -360px;
    line-height: 34px;
    border-radius: 50%;
    text-align: center;
    color: #ffffff;
    letter-spacing: 0.2em;
    font-size: 20px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5);
    white-space: nowrap;
  }
  .balloon span {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  #news {
    margin: 0 auto;
  }
}

/* ---- 20240706 added end ---- */

/* ---- 20240622 added start ---- */
campaign section div.campaign {
  width: clamp(100px, 95%, 800px);
  margin: 50px auto 0;
}

div.campaign img {
  width: 100%;
}

.bg-reason-alter {
  background-color: #deedeb;
}

@media (min-width: 992px) {
  /* lg */
  .shop_description {
    height: 280px;
  }
}

/* ---- 20240622 added end ---- */

/************ スライダー **************/

#slider {
  opacity: 0;
  transition: opacity 1s linear;
}

#slider.slick-initialized {
  opacity: 1;
}

.slider-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 10px;
}

.slick-slide {
  padding: 2px;
  margin: 0 auto;
}

#slider img {
  width: 100%;
}

#thumbs {
  width: 90%;
  margin: 10px auto;
}

#thumbs img {
  width: 100%;
  opacity: 0.3;
  transition: opacity 0.3s linear;
}

#thumbs .slick-current img {
  opacity: 1;
}

.slick-prev,
.slick-next {
  z-index: 2;
}

.slick-prev::before,
.slick-next::before {
  font-size: 40px;
  color: #000;
  transition: all 0.3s;
}

@media screen and (max-width: 768px) {
  .slick-prev {
    display: none !important;
  }

  .slick-next {
    display: none !important;
  }
}

.slick-next {
  right: 30px;
}

.slick-prev {
  left: 10px;
}

/************ カスタマイズ **************/

body {
  padding-top: 126px;
}

@media screen and (max-width: 768px) {
  body {
    padding-top: 73px;
  }

  /*div.navbar-subbox {
	display: none;
}*/

  /*div.fixed-top {
	border-bottom: solid 1px #bbb;
}*/

  .nav-padding0 {
    padding: 0 !important;
  }
}

.navber {
  display: none !important;
}

.pd-reserve_btn {
  margin-left: 5px;
  margin-bottom: 2px;
  width: 122px;
  transition: all 0.38s ease-out;
  color: #000;
  background-color: #f0f0f0;
}

.pd-reserve_btn:hover {
  color: #ffffff;
  background-color: #4b4936;
  border-color: #4b4936;
}

@media screen and (min-width: 768px) {
  .card-md-img {
    width: 200px !important;
  }
}

.no-gutter > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.bg-lightgreen {
  background-color: #e6ede9;
}

.jumbotron {
  background-image: url("../img/main_v_body-2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 70% 0%;
  /*height: 378px;*/
  height: 448px;
}

@media screen and (max-width: 840px) {
  .jumbotron {
    background-image: url("../img/main_v_body-2-sp5.jpg");
    background-position: bottom;
  }
}

.heading {
  border-left: 6px solid #aaa;
  padding: 0 0 0 10px;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: ">";
}

.footer-copyright {
  width: 100%;
  height: 60px;
  line-height: 42px;
  background-color: #f5f5f5;
}

.footer-arrow {
  position: relative;
  top: -60px;
}

.footer-logo {
  width: 8rem;
}

.footer_sns_icon {
  height: 3rem;
  width: auto;
}

.footer-logo_txt {
  color: #4a6b44;
  font-size: 0.8rem;
  font-weight: 500;
}

.bg_x-icon {
  background-color: #333;
}

.icon_txt {
  font-size: 0.8rem;
  font-weight: 500;
  color: #333;
}

footer a,
.icon-txt:hover {
  text-decoration: none !important;
  color: #333;
}

.sns_icons_shell {
  width: 100%;
  /* padding-right: 5px; */
  /* padding-left: 5px; */
  margin: 1rem auto 0 auto;
  max-width: 250px;
}

.br_mg {
  display: block;
  content: "";
  margin: -0.3rem 0;
}

@media screen and (min-width: 389px) {
  .footer-arrow {
    position: relative;
    top: 1px;
  }
}

@media screen and (min-width: 472px) {
  .footer_br_none {
    display: none;
  }
}

@media screen and (min-width: 576px) {
  .footer-arrow {
    position: absolute;
    top: 0;
    right: 0;
  }
}

.map iframe {
  width: 100%;
  height: 450px;
}

.btn-hp {
  color: #ffffff;
  background-color: #b02b5a;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.38s ease-out;
}

.btn-hp:hover {
  color: #ffffff7c;
  background-color: #b02b598c;
  box-shadow: none;
}

/* 大デバイス（デスクトップ, 992px 未満）
============================================== */
/*@media screen and (max-width: 991.98px) {
.footer-logo {
width: 100%;
}
} /* END */

/* 中デバイス（タブレット, 768px 未満）
============================================== */
@media screen and (max-width: 767.98px) {
  .gnav-item {
    display: block;
    width: 100%;
    border: none;
  }

  .gnav-item + .gnav-item {
    border: none;
  }

  table th,
  table td {
    padding: 0.25rem !important;
  }

  table th:first-child {
    width: 25%;
  }
}

/* END */

/* 小デバイス（縦向きモバイル, 576px 以上 デスクトップ, 992px 未満）
============================================== */
@media screen and (min-width: 576px) and (max-width: 767px) {
  #commitment {
    height: 522px;
  }
}

/* END */

/* 小デバイス（縦向きモバイル, 576px 以上）
============================================== */
@media screen and (min-width: 576px) {
  #commitment .message {
    left: 0;
  }
}

/* END */

/* 追加
============================================== */
.col-md-3.col-lg-3 {
  padding-right: 5px;
  padding-left: 5px;
}

/*
.col-md-6.col-lg-4 {
padding-left: 5px;
padding-right: 5px;
*/

.display-4-2 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.2;
}

.rounded-circle-course {
  border-radius: 18% !important;
  padding: 22px;
}

.rounded-circle-kado18 {
  border-radius: 18% !important;
}

#flow .arrow {
  width: 60px;
  height: 40px;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 25px solid #333;
}

#flow .square {
  width: 60px;
  height: 60px;
  background: #21386e;
  color: #ffffff;
  text-align: center;
  font-size: 2.4rem;
  border-radius: 50% !important;
}

.border-time {
  border: 1.5px solid #dee2e6 !important;
}

.h-98 {
  height: 98% !important;
}

/*.w_200 {
width: 200px;
}*/

/* 吹き出し↓*/

.balloon1 {
  position: relative;
  display: inline-block;
  /*margin-top: 1.2em;*/
  margin-bottom: 0.4rem;
  padding: 6px 48px;
  min-width: 120px;
  max-width: 100%;
  color: #ffffff;
  font-size: 16px;
  background: #b85e0f;
  border-radius: 9999px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  margin-left: -4px;
  border: 8px solid transparent;
  border-top: 8px solid #b85e0f;
}

.balloon1 p {
  margin: 0;
  padding: 0;
}

/*↑吹き出し*/

.bg-beauty-white {
  background-color: #fffde1;
}

.bg-velvet-green {
  background-color: var(--theme-color) !important;
}

.bg-monkey-green {
  background-color: #dde67b !important;
}

.bg-orange {
  background-color: #b85e0f;
}

.bg-orange02 {
  background-color: #f08100;
}

.bg-yellow-beige {
  background-color: #f8f4e3;
}

.bg-yellow-beige-2 {
  background-color: #f8f4e3;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20.5V18H0v-2h20v-2H0v-2h20v-2H0V8h20V6H0V4h20V2H0V0h22v20h2V0h2v20h2V0h2v20h2V0h2v20h2V0h2v20h2v2H20v-1.5zM0 20h2v20H0V20zm4 0h2v20H4V20zm4 0h2v20H8V20zm4 0h2v20h-2V20zm4 0h2v20h-2V20zm4 4h20v2H20v-2zm0 4h20v2H20v-2zm0 4h20v2H20v-2zm0 4h20v2H20v-2z' fill='%23f0ead1' fill-opacity='0.57' fill-rule='evenodd'/%3E%3C/svg%3E");
}

.bg-banner {
  background-color: #b4cda9 !important;
}

.heading-velvet-green {
  border-left: 6px solid #4a6b44;
  padding: 0 0 0 10px;
}

.badge-orange {
  color: #ffffff;
  background-color: #b85e0f;
  border-color: #b85e0f;
}

.badge-matcha {
  color: #4a6b44;
  background-color: #ffffff;
  border-color: #4a6b44;
  border: 2px solid #4a6b44;
  border-radius: 10rem;
  padding: 0.3rem 0.8rem 0.36rem 0.8rem;
}

.btn-velvet-green {
  color: #ffffff;
  background-color: #4a6b44;
  border-color: #4a6b44;
}

/*.btn-ep {
color: #ffffff;
background-color: #8fc31f;
border-color: #8fc31f;
}*/

.btn-ep {
  color: #ffffff;
  background-color: #64af4c;
  /*border-color: #64af4c;*/
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.38s ease-out;
}

.btn-ep:hover {
  color: #ffffff7c;
  background-color: #65af4ca2;
  /*border-color: #64af4c;*/
  box-shadow: none;
}

.btn-tel {
  color: #ffffff;
  background-color: #ed7000;
  border-color: #ed7000;
}

.text-middle-gray {
  color: #343a40;
}

.text-monkey-green {
  color: #dde67b;
}

.text-velvet-green {
  color: #4a6b44 !important;
}

.text-white {
  color: #fff !important;
}

.reserve-button-text {
  /*text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);*/
  font-weight: 600;
}

.text-taupe {
  color: #4b4936;
}

a {
  color: #4a6b44;
}

.kadomaru-025 {
  border-radius: 0.25rem;
}

hr {
  border-top: 2px solid rgba(184, 94, 15, 0.75);
}

.under-line-orange {
  background: linear-gradient(transparent 60%, #f4a243 146%);
  padding-bottom: 0.2rem;
  padding-right: 0.4rem;
  padding-left: 0.4rem;
}

/* PCでTELリンクを無効化する場合
@media(min-width: 414px){
a[href^="tel:"]{
pointer-events: none;
}
}
*/

/*.tt {
font-size: min(5vw, 10px);
font-size: max(5vw, 10px);
}*/

.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
  color: rgba(221, 230, 123, 1);
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 1);
}

.course_name {
  font-size: 1.4rem;
  font-weight: bold;
}

.course_name-2 {
  font-size: 0.98rem;
  margin-top: 0;
  margin-bottom: 0;
}

.kadomaru-50 {
  border-radius: 50rem;
}

.border_2 {
  border: 1.5px solid #4a6b44 !important;
  background-color: #4a6b44;
  /*box-shadow: 0 .125rem .25rem rgba(74,107,68,.5)!important;*/
}

.reserve_icon {
  height: 23px;
  width: auto;
}

.reserve_icon_e {
  height: 19px;
}

.border_big_circle {
  border: 5px solid #dde67b !important;
}

.card_app {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #ffffff;
  background-clip: border-box;
  border: 12px solid rgba(221, 230, 123, 1);
  border-radius: 0.5rem;
}

.course_badge {
  color: #ffffff;
  background-color: #b85e0f;
  /*border: 2px solid #b85e0f;*/
  /*font-weight: bolder;*/
  font-size: 1.1rem;
  /*white-space: nowrap;*/
  width: 300px;
  padding: 0.2rem;
  cursor: auto !important;
  position: relative;
}

@media screen and (max-width: 397px) {
  .course_badge {
    font-size: 1rem;
    width: 272px;
  }
}

@media screen and (max-width: 366px) {
  .course_badge {
    font-size: 0.8rem;
    width: 226px;
  }
}

.course_badge_balloon_shell {
  position: absolute;
  top: -2.8rem;
  left: 0;
}

.course_badge_balloon {
  position: relative;
  display: inline-block;
  padding: 4px 20px;
  font-size: 0.8rem;
  background: #fff;
  border: solid 2px #b85e0f;
  box-sizing: border-box;
  border-radius: 5rem;
}

.course_badge_balloon:before {
  content: "";
  position: absolute;
  bottom: -35px;
  left: 50%;
  margin-left: -15px;
  border: 18px solid transparent;
  border-top: 18px solid #fff;
  z-index: 2;
}

.course_badge_balloon:after {
  content: "";
  position: absolute;
  bottom: -37px;
  left: 50%;
  margin-left: -15px;
  border: 18px solid transparent;
  border-top: 18px solid #b85e0f;
  z-index: 1;
}

.course_badge_balloon p {
  margin: 0;
  padding: 0;
  color: #b85e0f;
  font-weight: 600;
}

.font_tel {
  font-size: 1.8rem;
}

/* グローバルメニュー折り返し防止 */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .container {
    max-width: 767px;
  }
}

@media screen and (max-width: 575px) {
  .mt_map_btn {
    margin-top: 0;
  }
}

@media screen and (min-width: 576px) {
  .mt_map_btn {
    margin-top: 1.5rem;
  }
}

.small_2 {
  font-size: 100%;
  font-weight: 499;
}

/*
.pl-9 {
padding-left: 9rem;
} 

.m-kdm50 {
margin: 1.2rem!important;
}
*/

/* フェードイン */
/* 画面外にいる状態 */
.fadein {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-duration: 2s;
  transition-timing-function: ease;
}

/* トップへ戻るの矢印 */
.arrow {
  position: relative;
  display: inline-block;
  padding: 10px;
}

.arrow::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  position: absolute;
  left: 5px;
  top: 8px;
}

.arrow.arrow-top::before {
  transform: rotate(-45deg);
  top: 10px;
}

/* 拡張クラス */

.h-50px {
  height: 50px;
}

/* 汎用クラス */

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  color: #333333;
}

a {
  text-decoration: none;
}

p {
  line-height: 1.5em;
  font-size: 1.1em;
  color: #333333;
}

h2 {
  position: relative;
  padding-top: 0.75em;
  color: #333333;
}

.accordion-header {
  padding-top: 0 !important;
}

h2::before {
  position: absolute;
  top: -2.5rem;
  left: -7px;
  z-index: -1;
  color: #d9f4ff;
  font-size: 1.3em;
  line-height: 1;
  content: attr(data-word);
  pointer-events: none;
}

/* Bootstrap拡張 */

.logo-img {
  width: 100%;
  height: 55px;
  object-fit: contain;
}

.container {
  max-width: 1000px;
}

@media (max-width: 576px) {
  .container {
    max-width: 1000px;
  }
}

.nav-container {
  max-width: 1000px;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.navbar-toggler-custom {
  border-color: rgb(0, 0, 0, 0.5) !important;
}

.navbar-toggler-icon-custom {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.jumbotron-image {
  width: 100%;
  position: relative;
  display: block;
}

.jumbotron-text {
  position: absolute;
  top: 5%;
  left: 5%;
  margin-right: 5%;
  padding: 20px;
  color: #ffffff;
  background-color: rgb(74, 107, 68, 0.7);
  font-size: 10vw;
  text-align: center;
}

.jumbotron-text-small {
  font-size: 5vw;
}

.jumbotron-text-extend {
  position: absolute;
  top: 5%;
  left: 5%;
  color: black;
  background: rgb(255, 255, 255, 0.7);
  font-size: 1em;
  font-weight: bold;
  width: fit-content;
  height: fit-content;
  padding: 1rem;
}

.nav-link-extend {
  color: rgb(255, 255, 255, 1) !important;
  font-size: 1em;
}

.navbar-box {
  border: none;
  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.5);
}

.card-title-extand {
  font-size: 1.2rem !important;
  letter-spacing: 0;
}

.card-text {
  line-height: 1.5em;
}

.column-count-2 {
  column-count: 2;
}

.column-count-3 {
  column-count: 3;
}

.fas-extend {
  position: relative;
  bottom: 3px;
}

.fixed-bottom-right {
  position: fixed;
  right: 20px;
  bottom: 40px;
  z-index: 1030;
  --bs-bg-opacity: 0.5;
  width: 50px;
  height: 50px;
}

/*
.btn:not(:disabled):not(.disabled) {
cursor: auto;
}
*/

.menu_tax {
  font-size: 60%;
}

.course {
  border-bottom: 1px solid #eee;
  margin-bottom: 2rem;
}

.course_price {
  white-space: nowrap;
}

.course-item {
  margin-bottom: 3rem;
  background-color: #f9f8f2;
  text-align: center;
  padding: 1rem;
  position: relative;
}

.course-text {
  font-size: 0.95em;
  position: relative;
  text-align: left;
}

.course-text p {
  font-size: 1em;
  /*border-radius: 5px;*/
  border: 1px solid #b85e0f;
  padding: 14px;
  margin: 1rem 0 0.6rem 0;
  text-align: left;
}

.course-item > div.course-text > span.point {
  position: absolute;
  top: -14px;
  left: 15px;
  color: #b85e0f;
  background-color: #f9f8f2;
  padding: 0 8px;
  font-size: 1.2rem;
}

.course_price {
  font-weight: bold;
}

div.row {
  align-items: center;
}

.underline {
  border-bottom: 2px dotted #4a6b44;
}

span.icon {
  width: fit-content;
  color: #fff;
  background-color: #b85e0f;
  border-radius: 5px;
  padding: 3px 8px;
  margin: 5px 5px 5px 0px;
  white-space: nowrap;
}

.justfy-content-evenly {
  justify-content: space-evenly;
}

.w-155px {
  width: 154.97px;
}

.w-80px {
  width: 80px;
}

.map-frame {
  border: 0;
  width: 100%;
}

/* 文字装飾 */
#Navbar {
  font-size: clamp(14px, 1vw, 20px);
}

#Navbar > ul > li > a {
  position: relative;
}

#Navbar > ul > li > a::after {
  position: absolute;
  left: 10%;
  content: "";
  width: 80%;
  height: 1px;
  background: rgb(255, 255, 255, 1);
  bottom: 0px;
  /*アンダーラインがaタグの下端から現れる*/
  transform: scale(0, 1);
  /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
  transform-origin: left top;
  /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
  transition: transform 0.3s;
  /*変形の時間*/
}

#Navbar > ul > li > a:hover::after {
  transform: scale(1, 1);
  /*ホバー後、x軸方向に1（相対値）伸長*/
}

/* 募集要項 テーブル書式 */

table.tbl_recruit {
  width: 100%;
  border-top: 1px solid #ccc;
  border-collapse: separate;
  border-spacing: 0;
  color: #000;
  vertical-align: top;
}

table.tbl_recruit th {
  width: 7em;
  padding: 10px 15px;
  white-space: nowrap;
  border-bottom: 1px solid #ccc;
  border-right: 1px dotted #ccc;
  background-color: #f2f2f2;
  text-align: left;
  color: #000;
  font-weight: normal;
  vertical-align: top;
}

table.tbl_recruit td {
  padding: 10px 15px;
  border-bottom: 1px solid #ccc;
  color: #000;
  background-color: #ffffff;
}

/* セクション画像ぼかし */

#sec1 {
  background: url(../img/skill.webp) rgba(255, 255, 255, 0.5) no-repeat;
  background-blend-mode: multiply;
  background-size: 100% auto !important;
  background-position: right !important;
  text-shadow: 2px 2px 5px #ffffff, -2px 2px 5px #ffffff, 2px -2px 5px #ffffff,
    -2px -2px 5px #ffffff;
}

#sec2 {
  background: url(../img/point.webp) rgba(255, 255, 255, 0.5) no-repeat;
  background-blend-mode: multiply;
  background-size: 100% auto !important;
  background-position: right !important;
  text-shadow: 2px 2px 5px #ffffff, -2px 2px 5px #ffffff, 2px -2px 5px #ffffff,
    -2px -2px 5px #ffffff;
}

/* メディアクエリ追加 */

@media (min-width: 418px) {
  #sec1 {
    background: url(../img/skill.webp) no-repeat;
    background-blend-mode: multiply;
    background-size: 70% auto !important;
    background-position: right !important;
    text-shadow: 2px 2px 5px #ffffff, -2px 2px 5px #ffffff, 2px -2px 5px #ffffff,
      -2px -2px 5px #ffffff;
  }

  #sec2 {
    background: url(../img/point.webp) no-repeat;
    background-blend-mode: multiply;
    background-size: 70% auto !important;
    background-position: right !important;
    text-shadow: 2px 2px 5px #ffffff, -2px 2px 5px #ffffff, 2px -2px 5px #ffffff,
      -2px -2px 5px #ffffff;
  }
}

@media (min-width: 576px) {
  .jumbotron-text-extend {
    font-size: 2em;
  }

  .jumbotron-text {
    position: absolute;
    top: 5%;
    left: 5%;
    margin-right: 5%;
    padding: 20px;
    color: #ffffff;
    background-color: rgb(74, 107, 68, 0.8);
    font-size: 3vw;
    text-align: center;
  }

  .jumbotron-text-small {
    font-size: 1.5vw;
  }
}

@media (min-width: 768px) {
  h2::before {
    bottom: 0.75em;
  }

  #sec1 {
    background: url(../img/skill.webp) no-repeat;
    background-blend-mode: multiply;
    background-size: 30% auto !important;
    background-position: right !important;
  }

  #sec2 {
    background: url(../img/point.webp) no-repeat;
    background-blend-mode: multiply;
    background-size: 30% auto !important;
    background-position: right !important;
  }

  .break {
    display: none;
  }
}

@media (min-width: 1000px) {
  h2::before {
    bottom: 0.75em;
  }

  #sec1 {
    background: url(../img/skill.webp) no-repeat;
    background-blend-mode: lighten;
    background-size: 30% auto !important;
    background-position: right !important;
  }

  #sec2 {
    background: url(../img/point.webp) no-repeat;
    background-blend-mode: lighten;
    background-size: 30% auto !important;
    background-position: right !important;
  }

  .break {
    display: none;
  }
}

@media (min-width: 1600px) {
  .jumbotron-text-extend {
    font-size: 2.5em;
  }

  h2::before {
    bottom: 0.75em;
  }

  #sec1 {
    background: url(../img/skill.webp) no-repeat;
    background-blend-mode: lighten;
    background-size: 30% auto !important;
    background-position: right !important;
  }

  #sec2 {
    background: url(../img/point.webp) no-repeat;
    background-blend-mode: lighten;
    background-size: 30% auto !important;
    background-position: right !important;
  }

  .break {
    display: none;
  }
}

/* お知らせ */

.close_info {
  border: 4px double #dde67b;
  padding: 2rem 1rem 1rem 1rem;
  margin: 1.5rem 0rem 0 0rem;
}

.close_info p {
  line-height: 1.5em;
  font-size: 1em;
}

.info_ttl {
  font-size: 1.1rem;
  padding-bottom: 1rem;
  line-height: 1.5em;
}

.lh_1 {
  line-height: 1.2rem !important;
}

/* お知らせメディアクエリ */

@media screen and (min-width: 366px) {
  .br_sp {
    display: none;
  }
}

@media screen and (min-width: 576px) {
  .info_ttl {
    font-size: 1.5rem;
  }
}

/* FAQ */

.accordion-faq {
  margin-bottom: 7px;
  background-color: #f8f4e3;
  border-radius: 5px;
  font-size: 1em;
}

.accordion-faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em;
  color: #4a6b44;
  font-weight: 600;
  cursor: pointer;
  font-size: 1.1em;
}

.accordion-faq summary::-webkit-details-marker {
  display: none;
}

.accordion-faq summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #4a6b44;
  border-right: 3px solid #4a6b44;
  content: "";
  transition: transform 0.3s;
}

.accordion-faq[open] summary::after {
  transform: rotate(225deg);
}

.accordion-faq p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0.3em 2em 1.5em;
  color: #333333;
  transition: transform 0.5s, opacity 0.5s;
}

.accordion-faq[open] p {
  transform: none;
  opacity: 1;
}

.accordion-faq a,
.flow_content_area a {
  color: #4a6b44;
  font-weight: bold;
  text-underline-offset: 38%;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.accordion-faq a,
.flow_content_area a:hover {
  color: #b85e0f;
  text-decoration: underline;
  transition: all 0.2s ease-in-out;
}

/*========================================================================
新規CSS
=========================================================================*/

.zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku-gothic-new-black {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.noto-serif-jp-extralight {
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  font-style: normal;
}

.noto-serif-jp-light {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-style: normal;
}

.noto-serif-jp-regular {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
}

.noto-serif-jp-medium {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-style: normal;
}

.noto-serif-jp-semibold {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 600;
  font-style: normal;
}

.noto-serif-jp-bold {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-style: normal;
}

.noto-serif-jp-black {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.poppins-extralight-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.poppins-light-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.poppins-regular-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.poppins-medium-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.poppins-semibold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.poppins-bold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.poppins-extrabold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.poppins-black-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: italic;
}

.niconne-regular {
  font-family: "Niconne", cursive;
  font-weight: 400;
  font-style: normal;
}

.svg-icon-btn-arrow {
  width: 16px;
}

.main_v_catch h1 {
  font-family: serif;
  font-weight: bold;
  font-size: calc(20px + 20 * ((100vw - 320px) / 1600));
}

.main_v_catch span {
  font-size: 173%;
}

.main_v_catch ul {
  list-style: none;
  font-weight: bolder;
  font-size: calc(20px + 16 * ((100vw - 320px) / 1600));
  text-shadow: 1px 1px 2px white;
}

@media screen and (min-width: 448px) {
  .pc_none {
    display: none;
  }

  .diagonal {
    margin-top: -0.8rem;
  }
}

.double_line {
  position: relative;
  display: inline-block;
  padding: 0 50px;
  font-size: 1rem;
}

.double_line:before,
.double_line:after {
  content: "";
  position: absolute;
  top: 48%;
  display: inline-block;
  width: 45px;
  height: 4px;
  border-top: solid 1px #4b4936;
  border-bottom: solid 1px #4b4936;
}

.double_line:before {
  left: 0;
}

.double_line:after {
  right: 0;
}

.annotation {
  font-size: 90%;
  font-weight: 400;
}

.diagonal {
  position: relative;
  display: inline-block;
  padding: 0 25px;
}

.diagonal:before,
.diagonal:after {
  content: "";
  position: absolute;
  top: 54%;
  display: inline-block;
  width: 60px;
  height: 3px;
  background-color: #4a6b44;
  border-radius: 25px;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.diagonal:before {
  left: -30px;
  transform: rotate(60deg);
}

.diagonal:after {
  right: -30px;
  transform: rotate(-60deg);
}

.diagonal span {
  color: #b85e0f;
}

.percent_n {
  font-size: 4rem;
  margin-left: 8px;
}

/*.percent_u {
font-size: 0.5rem;
}*/

.diagonal_last {
  font-size: clamp(1.38rem, 5vw, 2rem);
}

.attention {
  font-size: clamp(1.6rem, 5vw, 2.3rem);
}

@media screen and (min-width: 371px) {
  .br_annotation {
    display: none;
  }
}

@media screen and (min-width: 380px) {
  .double_line_text_br_pc_none {
    display: none;
  }
}

@media screen and (min-width: 376px) {
  .diagonal_br_pc_none {
    display: none;
  }
}

@media screen and (min-width: 436px) {
  .double_line {
    font-size: 120%;
  }
}

@media screen and (min-width: 576px) {
  .double_line {
    font-size: 163% !important;
  }

  .double_line:before,
  .double_line:after {
    top: 50%;
  }

  .message .diagonal {
    font-size: 2.8rem;
  }

  .percent_n {
    font-size: 4.8rem;
  }

  .diagonal:before,
  .diagonal:after {
    top: 72%;
    width: 80px;
    height: 4px;
  }
}

@media screen and (min-width: 768px) {
  .double_line {
    font-size: 185% !important;
  }
}

.text-orange {
  color: #b85e0f;
  font-weight: 600;
}

/* ==============悩みPC/SP共通==================== */
.bg-worries {
  background-color: #b85e0f;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='18' viewBox='0 0 100 18'%3E%3Cpath fill='%23f8f4e3' fill-opacity='0.05' d='M61.82 18c3.47-1.45 6.86-3.78 11.3-7.34C78 6.76 80.34 5.1 83.87 3.42 88.56 1.16 93.75 0 100 0v6.16C98.76 6.05 97.43 6 96 6c-9.59 0-14.23 2.23-23.13 9.34-1.28 1.03-2.39 1.9-3.4 2.66h-7.65zm-23.64 0H22.52c-1-.76-2.1-1.63-3.4-2.66C11.57 9.3 7.08 6.78 0 6.16V0c6.25 0 11.44 1.16 16.14 3.42 3.53 1.7 5.87 3.35 10.73 7.24 4.45 3.56 7.84 5.9 11.31 7.34zM61.82 0h7.66a39.57 39.57 0 0 1-7.34 4.58C57.44 6.84 52.25 8 46 8S34.56 6.84 29.86 4.58A39.57 39.57 0 0 1 22.52 0h15.66C41.65 1.44 45.21 2 50 2c4.8 0 8.35-.56 11.82-2z'%3E%3C/path%3E%3C/svg%3E");
}

.check-box-icon {
  position: relative;
  top: -3px;
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
}

.check-box-icon img {
  all: unset;
  display: block;
  flex-shrink: 0;
  padding-top: 0.2rem;
  -webkit-flex-shrink: 0;
  min-width: 0;
  flex-basis: auto;
  object-fit: contain;
  display: block;
  transform: scale(1);
  width: 26px;
  height: auto;
}

.check-box-txt {
  position: relative;
  top: 0;
  left: 6px;
}

.worries_box h2 {
  font-size: clamp(1.5rem, 5vw, 1.8rem);
}

@media screen and (min-width: 436px) {
  .worries_ttl_pc_none {
    display: none;
  }
}

/* ==============悩みPC==================== */
.worries_list {
  display: grid;
  grid-template-columns: repeat(2, auto);
}

.worries_box ul {
  list-style: none;
  padding: 0.3em;
  border: solid 2px #b85e0f;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  background-color: #ffffff;
}

.worries_box li {
  border-bottom: dotted 2px #f4a243;
  position: relative;
  padding: 0.8em 0;
  line-height: 1.5em;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: -0.06em;
}

.bbn {
  border-bottom: none !important;
}

@media screen and (max-width: 716px) {
  .worries_sp_none {
    display: none;
  }

  .check-box-icon {
    top: -2.5px;
  }

  .check-box-txt {
    left: 3px;
  }

  .check-box-icon img {
    width: 24px;
    height: auto;
  }
}

/* ===================悩みSP===================== */
.worries ul {
  list-style: none;
  padding: 0.3em;
  border: solid 2px #b85e0f;
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  background-color: #ffffff;
}

.worries ul li {
  border-bottom: dotted 2px #f4a243;
  position: relative;
  padding: 0.8em 0;
  line-height: 1.5em;
  font-weight: bold;
  font-size: 1.1rem;
}

.worries ul li:last-of-type {
  border-bottom: none;
}

@media screen and (min-width: 717px) {
  .worries_pc_none {
    display: none;
  }
} /* end */

.triangle {
  position: relative;
  z-index: 0;
  border-top-right-radius: 0.5rem;
  border-top-left-radius: 0.5rem;
}

.triangle::after {
  border-color: rgb(184, 94, 15) transparent transparent transparent;
}

.triangle::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: calc(50% - 22px / 2);
  border-style: solid;
  border-width: 18px 11px 0 11px;
}

.triangle {
  position: relative;
  z-index: 0;
}

.triangle::after {
  border-color: rgb(184, 94, 15) transparent transparent transparent;
}

.triangle::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: calc(50% - 22px / 2);
  border-style: solid;
  border-width: 18px 11px 0 11px;
}

.solving_shell {
  max-width: 750px;
  margin: 0 auto;
  position: relative;
}

.solving_shell p {
  max-width: 1000px;
  margin: 0 auto;
}

.solving_area {
  display: flex;
  justify-content: center;
}

.solving_area img {
  width: 50px;
  height: auto;
}

.solving_area::before {
  content: "";
  display: inline-block;
  width: clamp(1rem, 10vw, 5rem);
  height: auto;
  background-size: contain;
  vertical-align: middle;
  background-image: url(../img/dot_line_left_y-green.png);
  background-repeat: no-repeat;
  margin: 0 auto;
  /* padding-right: 0.2rem; */
  position: relative;
  left: clamp(0.5rem, 2vw, 2.5rem);
}

.solving_area::after {
  content: "";
  display: inline-block;
  width: clamp(1rem, 10vw, 5rem);
  height: auto;
  background-size: contain;
  vertical-align: middle;
  background-image: url(../img/dot_line_right_y-green.png);
  background-repeat: no-repeat;
  /*margin-right: clamp(0.02rem, 5vw, 1rem);
	margin-left: clamp(0.02rem, 5vw, 1rem);*/
  margin: 0 auto;
}

.solving_1 {
  /*font-size: 1rem;*/
  font-size: clamp(1rem, 5vw, 1.8rem);
  margin-bottom: 0.5rem;
}

.solving_2 {
  /* font-size: 1.18rem; */
  font-size: clamp(1.18rem, 5vw, 2rem);
}

.solving_last {
  font-size: clamp(1rem, 5vw, 1.7rem);
  font-weight: 600;
  color: #b85e0f;
  margin-bottom: 0.25rem;
  /*display: inline;
	background: linear-gradient(transparent 70%, #f4a243 70%);*/
}

.attention_2 {
  font-size: clamp(1.2rem, 5vw, 2rem);
}

/*@media screen and (max-width: 540px) {
.solving_area .text-velvet-green .h4 {
font-size: 100%;
}

.solving_area .text-velvet-green .h3 {
font-size: 113%;
}
}*/

/*.voice {
position: relative;
padding: 24px;
min-width: 298px;
min-height: 107px;
font-size: 106%;
line-height: 1.5;
border-radius: 7px;
border: 3px solid #4f4b45;
}*/

/* =================== 声タイトルシンプル ===================== */
.c-voice h2 {
  font-size: 1.8em;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
  display: inline-block;
}

.c-voice h2 span {
  font-size: 12px;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #4a6b44;
  background: #f8f4e3;
  display: inline-block;
  width: fit-content;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  padding: 0 4px;
  margin: 4px auto 0;
}

.c-voice h2::after {
  content: "";
  width: 100%;
  height: 1.5px;
  background: #4a6b44;
  display: block;
  margin: auto;
  position: absolute;
  bottom: 2px;
  z-index: -1;
}

/* end */

blockquote {
  position: relative;
  padding: 10px 15px 10px 60px;
  box-sizing: border-box;
  font-size: 0.96rem;
  background: #ffffff;
  color: #777777;
  border-left: 4px solid #dde67b;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14);
}

blockquote:before {
  display: inline-block;
  position: absolute;
  top: 15px;
  left: 15px;
  content: "\f10d";
  font-family: FontAwesome;
  color: #dde67b;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
}

blockquote p {
  padding: 0;
  margin: 7px 0;
  line-height: 1.7;
}

blockquote cite {
  display: block;
  text-align: right;
  font-size: 0.9em;
}

.flat_ribbon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 80px;
  width: 100%;
  /*リボンの高さ*/
  line-height: 40px;
  /*リボンの高さ*/
  text-align: center;
  padding: 0 50px;
  /*横の大きさ*/
  font-weight: 500;
  background: #4a6b44;
  /*塗りつぶし色*/
  color: #ffffff;
  /*文字色*/
  box-sizing: border-box;
}

.flat_ribbon h3 {
  margin-top: 0.5rem;
  font-size: 1.3rem !important;
}

.flat_ribbon h3:before,
.flat_ribbon h3:after {
  position: absolute;
  content: "";
  width: 0px;
  height: 0px;
  z-index: 1;
}

.flat_ribbon h3:before {
  top: 0;
  left: 0;
  border-width: 40px 0px 40px 32px;
  border-color: transparent transparent transparent #ffffff;
  border-style: solid;
}

.flat_ribbon h3:after {
  top: 0;
  right: 0;
  border-width: 40px 30px 50px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

/* =================== グラデーション下向き三角 pc ===================== */

.down_arrow_pc {
  margin: auto;
  /* はみ出し部分は非表示にする */
  overflow: hidden;
  position: relative;
  width: 428px;
  height: 128px;
}

.down_arrow_pc::after {
  content: "";
  position: absolute;
  width: 303px;
  height: 303px;
  /* 図形のCSS */
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1),
    #4a6b44
  );
  top: -152px;
  left: 62px;
  transform: scaleY(0.6) rotate(45deg);
}

@media screen and (max-width: 767px) {
  .down_arrow_sp_none {
    display: none;
  }
}

/* =================== グラデーション下向き三角 sp ===================== */

.down_arrow_sp {
  margin: auto;
  /* はみ出し部分は非表示にする */
  overflow: hidden;
  position: relative;
  width: 248px;
  height: 74px;
}

.down_arrow_sp::after {
  content: "";
  position: absolute;
  width: 176px;
  height: 176px;
  /* 図形のCSS */
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1),
    rgba(255, 255, 255, 0.1),
    #4a6b44
  );
  top: -89px;
  left: 36px;
  transform: scaleY(0.6) rotate(45deg);
}

@media screen and (min-width: 768px) {
  .down_arrow_pc_none {
    display: none;
  }
}

.t_l_h {
  height: 5rem;
}

/* ==================== 理由 ==================== */

.reason {
  position: relative;
}

.reason .service-item {
  box-shadow: 0 1.4px 2.4px rgba(0, 0, 0, 0.14);
}

.reason h2,
.app_step_list .font-weight_600 {
  display: inline;
  background: linear-gradient(transparent 70%, #dde67b 70%);
}

.reason h2 {
  font-size: clamp(1.59rem, 5vw, 2.2rem);
}

.reason p {
  font-size: 0.98rem;
}

.reason_icon_area {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 56px;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 240%;
  text-align: center;
  color: #ffffff;
  border-radius: 50%;
  z-index: 100;
  margin-top: -20px;
}

.reason_icon_area small {
  position: absolute;
  font-size: 57%;
  font-weight: 600;
  top: 20px;
}

.reason_icon_area small span {
  font-size: 52%;
}

.reason_icon_area .icn_laurel {
  position: absolute;
  top: 10px;
  width: 67%;
}

.reason_icon_area .icn_station {
  width: 100%;
}

.reason_icon_area .icn_hand {
  width: 70%;
}

.reason_icon_area .icn_menu {
  width: 100%;
}

.reason_icon_area .icn_certification {
  width: 90%;
}

.line_h_1_2 {
  line-height: 1.2rem;
}

.reason_box {
  position: relative;
  z-index: 20;
}

.reason_box .bg-white {
  border-radius: 20px;
  box-shadow: 0 1.4px 2.4px rgba(0, 0, 0, 0.14);
}

.reason_icon_pl {
  padding-left: 3.6rem;
}

@media screen and (min-width: 465px) {
  .reason_br_pc_none {
    display: none;
  }
}

@media screen and (min-width: 440px) {
  .br_menu {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .br_certification {
    display: none;
  }
  .reason_icon_area .icn_laurel {
    width: 60%;
  }
  .reason_icon_area small {
    font-size: 52%;
  }
}

@media screen and (max-width: 509px) {
  .br_certification {
    display: block;
  }
}

/* =================== MV_catch案1_version2 ================== */
.mv_check-icn {
  position: absolute;
  top: 38px;
  left: 30px;
}

.mv_text_line {
  transform: translateX(22%) rotate(-10deg);
}

.mv_text_line_last {
  position: relative;
  left: -2rem;
  font-size: 1.28rem !important;
}

.mv_text {
  position: absolute;
  top: 3rem;
  left: 0;
  z-index: 30;
  color: #ffffff;
  text-shadow: 3px 3px 4px #322e2d, -1px -1px 2px #a69c9a;
}

.mv_text div {
  font-size: 1.35rem;
  line-height: 1;
}

.mv_text span {
  letter-spacing: -0.08em;
}

.mv_text img {
  width: 8%;
  filter: drop-shadow(3px 3px 4px #322e2d);
}

@media screen and (min-width: 400px) {
  .mv_text_line_last {
    left: -2rem;
    font-size: 1.42rem !important;
  }

  .mv_check-icn {
    left: 37px;
  }
}

@media screen and (min-width: 460px) {
  .mv_text_line_last {
    left: -1.6rem;
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 575px) {
  .mv_text {
    top: -10px !important;
    line-height: 0.85;
  }

  .mv_check-icn {
    top: 40px;
    left: 31px !important;
  }

  .mv_text div {
    font-size: 1.1rem !important;
  }

  .mv_text_line_last {
    top: 0.4rem;
    left: -2rem;
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 769px) {
  .mv_check-icn {
    /*position: absolute;*/
    top: 33px !important;
    left: 38px;
  }
  .mv_text_line_last {
    left: -1rem;
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 930px) {
  .mv_text div {
    font-size: 1.2rem;
    line-height: 0.95;
  }
  .mv_text_line_last {
    top: 0;
    left: -1.5rem;
    font-size: 1.3rem !important;
  }
  .mv_check-icn {
    top: 33px;
    left: 38px;
  }
}

@media screen and (max-width: 1069px) {
  .mv_circle-1,
  .mv_circle-2 {
    font-size: 100% !important;
    width: 160px !important;
    height: 160px !important;
  }
  .mv_circle-1 {
    transform: translate(44px, -28px) !important;
  }
  .mv_circle-2 {
    transform: translate(0px, 90px) !important;
  }
  .mv_text {
    top: -40px;
    left: 0;
    background-color: rgb(245 245 245 / 0.25);
    -webkit-backdrop-filter: blur(10px) brightness(90%);
    backdrop-filter: blur(10px) brightness(90%);
    padding: 1rem 5rem 2.1rem 0;
    clip-path: polygon(20% 0%, 100% 0, 100% 80%, 80% 100%, 0 100%, 0% 20%);
  }
}

@media screen and (min-width: 1200px) {
  .mv_text {
    top: -0.8rem;
  }

  .mv_text div {
    font-size: 1.5rem;
    line-height: 1.1;
  }

  .mv_check-icn {
    top: 46px;
    left: 52px;
  }

  .mv_text_line_last {
    top: 0.4rem;
    left: -2rem;
    font-size: 1.8rem !important;
  }
}

@media screen and (min-width: 1580px) {
  .mv_text {
    left: 10%;
  }
}

@media screen and (max-width: 575px) {
  .mv_check-icn {
    top: 28px !important;
  }
}

/* end */

/* =================== MV_catch案2 ================== */
.mv_text_bg {
  position: absolute;
  left: 2.2rem;
  z-index: 20;
  opacity: 0.5;
}

.mv_text-2 {
  position: absolute;
  top: 4rem;
  left: 0.1rem;
  transform: rotate(-10deg);
  z-index: 30;
}

.mv_text-2 p {
  font-size: 1.5rem;
}

.mv_text-2 span {
  letter-spacing: -0.12em;
}

img.bg_leaf {
  width: 245px;
  height: auto;
}

@media screen and (min-width: 576px) {
  .mv_text-2 p {
    font-size: 2rem;
  }

  .mv_text_bg {
    top: -1.2rem;
  }

  img.bg_leaf {
    width: 300px;
    height: auto;
  }
}

@media screen and (min-width: 1400px) {
  .mv_text-2 p {
    font-size: 2.5rem;
  }
}

/* end  */

.spacing_-04 {
  letter-spacing: -0.4em;
  font-weight: 600;
}

.spacing_-009 {
  letter-spacing: -0.09em;
  font-weight: 600;
}

.spacing_-002 {
  letter-spacing: -0.02em;
  font-weight: 600;
}

.spacing_0 {
  letter-spacing: 0 !important;
}

.spacing_0079 {
  letter-spacing: 0.079em;
  font-weight: 600;
}

.spacing_027 {
  letter-spacing: 0.27em;
  font-weight: 600;
}

.font_size_1_2 {
  font-size: 1.2rem;
}

.font_size_1_3 {
  font-size: 1.3rem;
}

.font_size_1_4 {
  font-size: 1.4rem;
}

.font_size_1_5 {
  font-size: 1.5rem;
}

.font_size_1_45 {
  font-size: 1.45rem;
}

.font_size_1_6 {
  font-size: 1.6rem;
}

.font_size_150p {
  font-size: 150%;
}

.font_size_120p {
  font-size: 120%;
}

.badge_pill_w {
  width: 18rem;
  color: #ffffff !important;
  text-decoration: none !important;
  background-color: #4a6b44;
  background-image: none;
  border: 1px solid #4a6b44;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.badge_pill_w:hover {
  color: #ffffff;
  background-color: #4b4936;
  border-color: #4b4936;
  box-shadow: none;
}

@media screen and (min-width: 576px) {
  .badge_pill_w {
    width: 80%;
    padding: 0.8rem;
    font-size: 1.25rem;
    max-width: 1000px;
  }
}

/* =================== FAQ種別タイトル ================== */
.faq_area h3,
.course h3 {
  position: relative;
  color: #333;
  text-shadow: 0 0 2px white;
}

.faq_area h3:before,
.course h3:before {
  content: "";
  position: absolute;
  background: #dde67b;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  top: 50%;
  /* border: dashed 1px white; */
  left: -15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}

/* end */

/* =================== フロー（改） ================== */

.relaxation_flow {
  background-color: #ffffff;
  max-width: 400px;
  border-radius: 20px;
  box-shadow: 0 1.4px 2.4px rgba(0, 0, 0, 0.14);
}

.flow_arrow_box {
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 70px;
  height: 24px;
}

.flow_arrow_box::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 50px;
  background: #b85e0f;
  top: -26px;
  left: 10px;
  transform: scaleY(0.7) rotate(45deg);
  box-shadow: 0 2.4px 4.4px rgba(0, 0, 0, 0.14);
}

.step_ttl {
  font-size: 0.8rem;
  margin-bottom: -10px !important;
}

.step_number {
  font-size: 2rem;
}

.flow_step_area {
  border-right: 2px dotted rgba(184, 94, 15, 0.75);
}

.flow_step_area p {
  margin-top: 0rem;
  margin-bottom: 0rem;
}

.flow_icon_area img {
  width: 4.5rem;
}

.flow_content_area p {
  font-size: 1em;
}

@media screen and (min-width: 576px) {
  .step_ttl {
    font-size: 0.9rem;
    margin-bottom: -12px !important;
  }

  .step_number {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 768px) {
  .relaxation_flow {
    max-width: 900px;
  }
}

@media screen and (min-width: 992px) {
  .flow_icon_area img {
    width: 5rem;
  }
}

/* end */

/*  =============== お客様の声 ============== */

.bg-voice {
  background-color: #f9fdfa;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23b2b8b2' fill-opacity='0.4'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3Cpath d='M6 5V0H5v5H0v1h5v94h1V6h94V5H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* ==== 声タイトルリボン ====*/

.c-voice-2 {
  display: inline-block;
  position: relative;
  height: 45px;
  text-align: center;
  box-sizing: border-box;
  z-index: 10;
}

.c-voice-2:before {
  /*左側のリボン端*/
  content: "";
  position: absolute;
  width: 10px;
  bottom: -11px;
  left: -26px;
  z-index: -2;
  border: 20px solid #7fab77;
  /*border: 20px solid #d47119;*/
  border-left-color: transparent;
  /*山形に切り抜き*/
  z-index: 10;
  box-shadow: 2px 1px 2px 0px rgba(0, 0, 0, 0.27);
}

.c-voice-2:after {
  /*右側のリボン端*/
  content: "";
  position: absolute;
  width: 10px;
  bottom: -11px;
  right: -26px;
  z-index: -2;
  border: 20px solid #7fab77;
  /*border: 20px solid #d47119;*/
  border-right-color: transparent;
  /*山形に切り抜き*/
  z-index: 10;
  box-shadow: -2px 1px 2px 0px rgba(0, 0, 0, 0.27);
}

.c-voice-2 h3 {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0 54px;
  line-height: 46px;
  font-size: 21px;
  color: #ffffff;
  background: #5e9154;
  /*background: #b85e0f;*/
  /*真ん中の背景色*/
  z-index: 20;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.27);
}

.c-voice-2 h3:before {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 15px #4a6b44;
  /*border-right: solid 15px #934704;*/
  /*左の折り返し部分*/
  z-index: 20;
}

.c-voice-2 h3:after {
  position: absolute;
  content: "";
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-left: solid 15px #4a6b44;
  /*border-right: solid 15px #934704;*/
  /*右の折り返し部分*/
  z-index: 20;
}

/* end */

/* ===== 声の続きを読む ===== */

.cp_box *,
.cp_box *:before,
.cp_box *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cp_box {
  width: auto;
  margin: 0 auto;
  max-width: 840px;
}

.cp_box label {
  font-weight: bold;
  position: relative;
  display: block;
  width: 80%;
  max-width: 500px;
  margin: 1px auto 18px auto;
  padding: 0.3em 1em;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
  color: #4a6b44;
  border: 1.4px solid #4a6b44;
  border-radius: 3px;
  background-color: #fff;
}

.cp_box label:hover {
  transition: all 0.3s;
  color: #4a6b44;
  background: #dde67b;
  border: 1.4px solid #dde67b;
}

.cp_box label::after {
  font-family: "FontAwesome";
  content: " \f067";
  color: #4a6b44;
}

.cp_box label:hover::after {
  color: #4a6b44;
}

.cp_box input:checked ~ label::after {
  font-family: "FontAwesome";
  content: " \f068";
  color: #4a6b44;
}

.cp_box input:checked ~ label:hover::after {
  color: #4a6b44;
}

.cp_box input {
  display: none;
}

.cp_box .cp_container {
  position: relative;
  z-index: 10;
  overflow: hidden;
  height: 0;
  margin-top: -1px;
  transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
  /*background: rgba(255, 255, 255, 0.5);*/
}

.cp_box input:checked ~ div {
  transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
}

/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box input:checked ~ div.cp_container {
  /*height: 600px;*/
  height: auto;
}

@media screen and (min-width: 576px) {
  .bg-voice {
    clip-path: polygon(
      20% 0%,
      80% 0%,
      100% 10%,
      100% 90%,
      80% 100%,
      20% 100%,
      0 90%,
      0 10%
    );
    max-width: 1100px;
  }

  .voice_btn_sp {
    display: none;
  }

  .cp_box_forsp {
    display: none;
  }

  /*.cp_box input:checked ~ div.cp_container {
    height: 300px !important;
  }*/
}

@media screen and (max-width: 575px) {
  .voice_btn_pc {
    display: none;
  }

  .cp_box_forpc {
    display: none;
  }

  .blockquote {
    margin: 0 0 2rem;
  }
}

/*@media (max-width: 575px) and (min-width: 320px) {
  .cp_box input:checked ~ div.cp_container {
    height: auto;
  }
}*/

@media screen and (min-width: 992px) {
  .bg-voice {
    clip-path: polygon(
      30% 0%,
      70% 0%,
      100% 20%,
      100% 80%,
      70% 100%,
      30% 100%,
      0 80%,
      0 20%
    );
  }
}

/*@media screen and (min-width: 1400px) {
.cp_box_forpc {
max-width: 1352px;
}
}*/
/* end */

/* =============== 店舗一覧 =============== */

.shop_select {
  font-size: clamp(0.8rem, 4vw, 1.2rem);
}

.shop_name {
  font-size: clamp(1.092rem, 2.8vw, 1.5rem);
  font-weight: 600;
}

.fa-play_rotate {
  transform: rotate(90deg);
  margin-left: 0.4rem;
}

/*.text-start a.location {
color: #4a6b44;  
transition: all .3s ease-out;  
}

.text-start a.location:hover {
color: #b85e0f;
text-decoration: none;
}*/

.text-start a.location {
  transition: transform 0.3s;
}

.text-start a.location {
  color: #b85e0f;
}

.text-start a.location {
  color: #4a6b44;
  padding: 6px 1px;
  text-decoration: none;
  position: relative;
  font-size: 1.5rem;
  transition: all 0.3s ease-out;
}

.text-start a.location:hover {
  color: #b85e0f;
}

.text-start a.location::before {
  background: #b85e0f;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 11px;
  bottom: 5px;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}

.text-start a.location:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/* ===== 店舗詳細アイコン ===== */

.detail_icon_wrapper {
  display: block;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.detail_icon {
  display: inline-block;
  position: absolute;
  top: -63px;
  right: -20px;
  margin: 0px;
  padding: 7px 0 0 2px;
  z-index: 2;
  width: 4rem;
  height: 4rem;
  text-align: center;
  border: 2px solid #ffffff;
  font-size: 1.1rem;
  font-weight: 500;
  background-color: #4a6b44;
  border-radius: 10%;
  color: #ffffff;
  line-height: 1.3em;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.38s ease-out;
}

.detail_icon:hover {
  color: #ffffff7c;
  background-color: #4a6b44cc;
  /*background-color: #4b4936;*/
  border-color: #ffffff7c;
  box-shadow: none;
}

.detail_icon_box {
  position: relative;
  transition: all 0.38s ease-out;
}

.detail_icon_box:hover {
  opacity: 0.6;
}

.detail_icon_box img {
  position: absolute;
  top: -75px;
  right: -38px;
  width: 140px;
  filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8));
  transition: all 0.38s ease-out;
}

.detail_icon_box:hover.detail_icon_box img {
  filter: none;
}

.detail_icon_box small {
  position: absolute;
  top: -48px;
  right: 1px;
  font-size: 100%;
  font-weight: 400;
  color: #ffffff;
}

@media screen and (min-width: 433px) {
  .br_shop_select {
    display: none;
  }
}

@media screen and (min-width: 500px) and (max-width: 767px) {
  .detail_icon {
    top: -93px;
    right: -18px;
    padding: 19px 0 0 2px;
    width: 6rem;
    height: 6rem;
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .detail_icon {
    top: 1px;
    right: 0px;
    padding: 15px 0 0 2px;
    width: 5rem;
    height: 5rem;
    font-size: 1.2rem;
  }

  .detail_icon_box img {
    top: -32px;
    right: -32px;
    width: 180px;
  }

  .detail_icon_box small {
    top: 7px;
    right: 27px;
  }

  .point_img_md {
    margin-top: -96px;
  }

  .text-start p {
    width: clamp(460px, 60vw, 630px);
  }
}

@media screen and (min-width: 992px) {
  .detail_icon {
    right: -20px;
    margin: 0px;
    padding: 7px 0 0 2px;
    width: 4rem;
    height: 4rem;
    font-size: 1.1rem;
  }

  .point_img_md {
    margin-top: 10px;
  }

  .shop_name {
    font-size: 1.17rem;
  }

  .text-start {
    width: unset;
  }
}

.detail_icon p {
  color: #ffffff;
}

/* end */

.font_size_0_85 {
  font-size: 0.85rem;
}

.font_size_0_9 {
  font-size: 0.9rem;
}

.font_size_0_98em {
  font-size: 0.98em;
}

.font_size_1 {
  font-size: 1rem;
}

.font_size_1_1 {
  font-size: 1.1rem !important;
}

.font_size_1_18--1_3 {
  font-size: 1.3rem;
}

@media screen and (min-width: 768px) and (max-width: 818px) {
  .font_size_1_18--1_3 {
    font-size: 1.18rem;
  }
}

/* ===================== 新アプリの案内 ======================= */

.app_underline {
  position: relative;
}

.app_underline:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 100%;
  height: 10px;
  background: -webkit-repeating-linear-gradient(
    -45deg,
    #dde67b,
    #dde67b 2px,
    #fff 2px,
    #fff 4px
  );
  background: repeating-linear-gradient(
    -45deg,
    #dde67b,
    #dde67b 2px,
    #fff 4px,
    #fff 6px
  );
}

.thinking {
  position: relative;
  padding: 10px 8px 16px 8px;
  margin-left: clamp(30px, 20%, 290px);
  background: #f8f4e3;
  border-radius: 999px;
  text-align: center;
  max-width: 400px;
}

.thinking:before {
  font-family: "Font Awesome 5 Free";
  content: "\f111";
  font-weight: 900;
  position: absolute;
  font-size: 18px;
  left: 46%;
  bottom: -45%;
  color: #f8f4e3;
}

.thinking:after {
  font-family: "Font Awesome 5 Free";
  content: "\f111";
  font-weight: 900;
  position: absolute;
  font-size: 38px;
  left: 40%;
  bottom: -28%;
  color: #f8f4e3;
}

.coupon_500 {
  max-width: 500px;
}

.app_area {
  max-width: 1000px;
}

.app_point {
  position: relative;
  /*text-shadow: 1px 2px 2px #5d750e9c;*/
}

.app_point h3 {
  position: absolute;
  top: -9%;
  left: -13%;
  z-index: 6;
  transform: rotate(-16deg);
  color: #dde67b;
  font-size: 2.6rem;
}

.app_point h3 span {
  font-size: 6rem;
}

.app_point img {
  width: 13.2rem;
  height: auto;
  z-index: 2;
  position: relative;
  left: 0.333333%;
}

/*.app_point p {
position: absolute;
bottom: -72px;
left: 15.5%;
padding: 10px 0px 10px 0px;
min-width: 70%;
background-color: #4a6b44;
color: #ffffff;
border-radius: 10px;
}*/

.app_balloon {
  position: relative;
  top: 4px;
  left: auto;
  z-index: 10;
}

.app_balloon p {
  color: #ffffff;
  font-size: 1rem;
  /*position: relative;
	top: -8rem;
	z-index: 20;
	left: auto;*/
}

.balloon1-top {
  position: relative;
  display: inline-block;
  /*margin: 1.5em 0;*/
  padding: 7px 10px;
  /* min-width: 120px; */
  width: 176px;
  /* max-width: 100%; */
  height: 88px;
  color: #ffffff;
  font-size: 16px;
  background: #4a6b44;
  border-radius: 10px;
}

.balloon1-top:before {
  content: "";
  position: absolute;
  top: -50px;
  left: 50%;
  margin-left: -25px;
  border: 25px solid transparent;
  border-bottom: 33px solid #4a6b44;
}

.balloon1-top p {
  margin: 0;
  padding: 0;
}

.app_balloon .br1 {
  padding-top: 0.7rem;
}

/*end*/

.dl_shell {
  margin: 2em 0;
  background: -webkit-repeating-linear-gradient(
    -45deg,
    #f0f3d2,
    #f0f3d2 2px,
    #fcfef5 3px,
    #fcfef5 6px
  );
  background: repeating-linear-gradient(
    -45deg,
    #f0f3d2,
    #f0f3d2 2px,
    #fcfef5 3px,
    #fcfef5 6px
  );
  border-radius: 8px;
}

.dl_shell .box-title {
  background: #dde67b;
  text-align: center;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.05em;
  border-radius: 8px 8px 0 0;
}

.dl_shell p,
.dl_shell div {
  padding: 15px 20px;
  margin: 0;
}

.app_dl {
  display: inline-flex;
  position: relative;
}

.app_dl_arrow.-bottom {
  position: absolute;
  top: -32px;
  left: 50%;
  width: 5px;
  height: 55px;
  border-left: 1.8px solid #4a6b44;
  border-bottom: 1.8px solid #4a6b44;
  transform: skewY(135deg);
}

.app_step {
  border-top: solid #4a6b44 2px;
  border-bottom: solid #4a6b44 2px;
  /*padding: 1em 1em 0.5em 1em;*/
}

.app_notes {
  font-size: 1rem;
  line-height: 1.4em;
  margin-bottom: 0.5rem;
  text-align: left;
}

.app_notes li {
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 0em;
  list-style-type: none !important;
  text-align: left;
  font-size: 1rem;
}

.app_notes li::before {
  font-family: FontAwesome;
  content: "\f14a";
  position: relative;
  left: -0.25em;
  color: #4a6b44;
}

.app_step ol {
  counter-reset: number;
  list-style-type: none !important;
  max-width: 655px;
}

.app_step ol li {
  /*line-height: 1.5;*/
  /*padding: 0.5em 0;*/
  position: relative;
  /*padding-left: 30px;*/
  line-height: 1.5em;
  padding: 0.5em;
}

.app_step ol li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #4a6b44;
  color: white;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 15px;
  border-radius: 50%;
  /*top: 50%;*/
  top: 1.29rem;
  left: -20px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.font-weight_600 {
  font-weight: 600;
}

.app_store_img {
  width: auto;
}
@media screen and (max-width: 380px) {
  .app_store_img {
    width: auto;
    margin-bottom: 1rem;
  }
}

@media screen and (min-width: 577px) and (max-width: 991px) {
  .app_point img {
    width: 10.8rem;
  }
}

@media screen and (max-width: 991px) {
  .app_point h3 {
    position: relative;
    top: 70px;
    left: -90px;
    z-index: 1;
  }
}

@media (min-width: 768px) {
  .thinking {
    margin-left: clamp(20px, 0%, 30px);
  }
}

@media screen and (max-width: 767px) {
  .point_img_sp {
    margin: -118px -55px -14px -55px;
  }
}

@media screen and (min-width: 576px) and (max-width: 767px) {
  .thinking:before {
    font-size: 16px;
    left: 46%;
    bottom: -46%;
  }
}

@media (max-width: 440px) {
  .thinking {
    margin-left: clamp(0px, 0vw, 290px);
  }
}

/* end */

/* ===================== 新規向けメニュー ======================= */

/*.for_new_customers {
position: relative;
border-top: solid 2px #ecbb10;
border-bottom: solid 2px #ecbb10;
background: #fff4ce;
line-height: 1.4;
padding: 0.4em 0.5em;
margin: 1em 0 1.5em;
max-width: 350px;
text-align: center;
font-size: 1.5rem;
}

.for_new_customers:after {
position: absolute;
font-family: "Font Awesome 5 Free",'poppins','Avenir','Arial',sans-serif;
font-weight: 600;
content: 'CHECK!';
background: #ecbb10;
color: #ffffff;
left: 0px;
bottom: 100%;
border-radius: 5px 5px 0 0;
padding: 5px 7px 3px;
font-size: 0.6em;
line-height: 1;
letter-spacing: 0.1em;
}*/

.for_new_customers {
  position: relative;
  background: #fff5b9;
  /* border: 2px solid #b85e0f; */
  border: 2px solid #b85e0f9a;
  padding: 10px 14px 10px 38px;
  font-size: 21px;
  color: #333333;
  border-radius: 0 10px 10px 0;
  width: fit-content;
  margin-left: 2rem;
  margin-bottom: 1.8rem;
}

.for_new_customers:before {
  font-family: "Font Awesome 5 Free";
  content: "CHECK!";
  font-size: 0.7rem;
  letter-spacing: 0.08rem;
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0.8rem 0.5rem 0.5rem 0.5rem;
  color: white;
  background: #b85e0f;
  font-weight: 900;
  width: 4rem;
  /* text-align: center; */
  height: 4rem;
  line-height: 40px;
  left: -3em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.29);
  border-bottom: solid 2px #544437a2;
  z-index: 0;
}

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
}

.tab-wrap:after {
  content: "";
  width: 100%;
  height: 3px;
  background: #4a6b44;
  display: block;
  order: -1;
}

.tab-label {
  color: #e2e1d8;
  background: #aeada1;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px 0.5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}

.tab-label:not(:last-of-type) {
  margin-right: 5px;
}

.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.tab-switch:checked + .tab-label {
  background: #4a6b44;
}

.tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: 0.5s opacity;
  /*box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);*/
  border: 1px solid #4a6b44;
}

.tab-switch {
  display: none;
}

.tab-switch:checked + .tab-label {
  background: #4a6b44;
  margin-top: -0.5rem;
  transition: margin 0.3s;
  align-items: center;
  display: flex;
  justify-content: center;
  color: #ffffff;
}

.tab-label {
  border-radius: 0;
  position: relative;
}

.tab-label:after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 0;
  border-width: 0 16px 16px 0;
  border-style: solid;
  border-color: #fff #fff #d0cfc4 #d0cfc4;
  box-shadow: -1px 1px 2px rgba(0, 0, 0, 0.1);
}

.tab_course_name {
  font-size: 0.8rem;
  padding: 1rem 0;
}

.tab_box {
  border: 1px solid #cfcfcf;
  padding: 0.5rem;
}

/* end */

.tab_box .special_price {
  font-size: 1.8rem;
  font-weight: 600;
}

.tab_box .special_price span {
  font-size: 1rem;
}

.regular_price {
  font-size: 1rem;
}

.regular_price_n {
  font-size: 1.4rem;
}

.regular_price_y {
  font-size: 0.9rem;
}

.regular_price_arrow {
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 16px;
  height: 10px;
}

.regular_price_arrow::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: #4a6b44;
  top: -7px;
  left: 2px;
  transform: scaleY(1.3) rotate(45deg);
}

/*.price_notes p {
text-indent: -1em;
padding-left: 1em;
font-size: 0.9rem;
}*/

.tab_course_notes {
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}

.tab_course_notes ul {
  padding-left: 1rem;
}

.tab_course_notes li {
  line-height: 1.4;
  padding: 0.5em 0.5em 0.5em 0em;
  list-style-type: none !important;
  text-align: left;
  font-size: 1.05rem;
}

.tab_course_notes li:before {
  font-family: FontAwesome;
  content: "\f058";
  position: relative;
  left: -0.25em;
  color: #4a6b44;
}

@media (max-width: 575px) {
  .tab_course_name {
    font-size: 1.1rem;
    /*padding: 1rem 0;*/
  }

  .tab_box .special_price {
    font-size: 2.2rem;
    /*font-weight: 600;*/
  }

  .tab_box .special_price span {
    font-size: 1.1rem;
  }

  .regular_price {
    font-size: 1.2rem;
  }

  .regular_price_n {
    font-size: 1.6rem;
  }

  .regular_price_y {
    font-size: 1rem;
  }

  .regular_price_arrow {
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 28px;
    height: 16px;
  }

  .regular_price_arrow::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background: #4a6b44;
    top: -11px;
    left: 4px;
    transform: scaleY(1.2) rotate(45deg);
  }
}

@media (min-width: 992px) {
  .tab_course_name {
    font-size: 1.15rem;
    /*padding: 1rem 0;*/
  }

  .tab_box .special_price {
    font-size: 2.2rem;
    /*font-weight: 600;*/
  }

  .tab_box .special_price span {
    font-size: 1.1rem;
  }

  .regular_price {
    font-size: 1.2rem;
  }

  .regular_price_n {
    font-size: 1.6rem;
  }

  .regular_price_y {
    font-size: 1rem;
  }

  .regular_price_arrow {
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 28px;
    height: 16px;
  }

  .regular_price_arrow::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    background: #4a6b44;
    top: -11px;
    left: 4px;
    transform: scaleY(1.2) rotate(45deg);
  }
}

.course h3 {
  margin-bottom: 2rem;
}

.course_other {
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}

.course_other li {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none !important;
}

.course_other li {
  font-family: FontAwesome;
  content: "\f058";
  position: absolute;
  left: 1em;
  color: #b85e0f;
}

/*========================================================================
店舗ページ
=========================================================================*/

/* ===== 3つのボタン ==== */
.reserve_button_line {
  max-width: 400px;
}

.reserve_phone,
.reserve_hpb,
.reserve_epark {
  display: flex;
  font-size: 1rem;
  justify-content: center;
  align-items: center;
}

.badge_shop_phone {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 15rem;
  color: #ffffff;
  background-color: #4a6b44;
  background-image: none;
  /*border: 1px solid #4a6b44;*/
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  padding: 0.7rem 0.6rem 0.8rem 0.6rem;
  border-radius: 0.25rem;
  transition: all 0.38s ease-out;
}

.badge_shop_phone:hover {
  color: #ffffff7c;
  background-color: #4a6b4488;
  box-shadow: none;
}

.badge_shop_hpb {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 15rem;
  color: #ffffff;
  background-color: #b02b5a;
  background-image: none;
  /*border: 1px solid #B02B5A;*/
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  padding: 0.7rem 0.6rem 0.8rem 0.6rem;
  border-radius: 0.25rem;
  transition: all 0.38s ease-out;
}

.badge_shop_hpb:hover {
  color: #ffffff7c;
  background-color: #b02b598c;
  box-shadow: none;
}

.badge_shop_epark {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 15rem;
  color: #ffffff;
  background-color: #64af4c;
  background-image: none;
  /*border: 1px solid #64af4c;*/
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  padding: 0.7rem 0.6rem 0.8rem 0.6rem;
  border-radius: 0.25rem;
  transition: all 0.38s ease-out;
}

.badge_shop_epark:hover {
  color: #ffffff7c;
  background-color: #65af4ca2;
  box-shadow: none;
}

/* ===== 2つのボタン ==== */

/* ドロップダウンボタン  */

.about_shop {
  position: relative;
}

.s_name {
  position: relative;
  top: 0;
  left: 0;
}

.s_contact {
  position: absolute;
  top: 0;
  right: -3px;
}

.btn_s_contact {
  color: #21381c;
  /*background-color: #f8f4e3;*/
  background-color: #dde67b;
  width: 164px;
  transition: all 0.3s;
}

.btn_s_contact:hover {
  color: #ffffff;
  /*background-color: #94a960;*/
  background-color: #4a6b44;
}

/*.dropdown-item_edit {
display: block;
width: 100%;
padding: .25rem 1rem;
clear: both;
font-weight: 400;
color: #212529;
text-align: inherit;
text-decoration: none;
white-space: nowrap;
background-color: transparent;
border: 0;
}*/

.dropdown ul {
  color: #ffffff;
}

.dropdown-menu {
  background-color: #dde67b7e;
  color: #fff;
}

.dropdown-item:hover {
  /*background-color: #21381c;*/
  background-color: #4a6b44;
  color: #ffffff;
}

/* ===== PC カルーセルなし==== */

.shop_shell img {
  border-radius: 8px;
  width: 100%;
}

/* ====== sp カルーセル ===== */

/* 全体設定 */
.css-carousel-slider2 {
  width: 100%;
  max-width: 600px;
  overflow: hidden;
  position: relative;
  left: 0.24rem;
}

.css-carousel-slider2 img {
  width: 98%;
  height: auto;
  vertical-align: top;
  border-radius: 8px;
}

/* スライダーアニメーションの設定 */
@keyframes css-carousel-slider2 {
  0% {
    transform: translateX(0);
  }

  40% {
    transform: translateX(calc(1 / 2 * -100%));
  }

  50% {
    transform: translateX(calc(1 / 2 * -100%));
  }

  90% {
    transform: translateX(calc(2 / 2 * -100%));
  }

  100% {
    transform: translateX(calc(2 / 2 * -100%));
  }
}

@keyframes css-carousel-slider-main2 {
  0% {
    transform: translateX(100%);
  }

  50% {
    transform: translateX(100%);
  }

  90% {
    transform: translateX(0%);
  }
}

.shop_detail hr {
  border-top: 2px dotted #4a6b44;
  background-color: unset;
  opacity: 0.25;
  width: 100%;
}

.shop_detail h2 {
  padding-top: 0;
}

.font_weight_600 {
  font-weight: 600;
}

.shop_detail p,
.shop_detail ul {
  font-size: 0.95rem;
  margin-bottom: 0;
}

a.telephone {
  color: #4a6b44;
  padding: 6px 1px;
  text-decoration: none;
  position: relative;
  font-size: 1.5rem;
  transition: all 0.3s ease-out;
}

a.telephone:hover {
  color: #b85e0f;
}

a.telephone::before {
  background: #b85e0f;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}

a.telephone:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.shop_detail .row > * {
  flex-shrink: inherit;
}

@media screen and (max-width: 576px) {
  .shop_detail h5 {
    font-size: 1.1rem;
  }
}

@media screen and (min-width: 510px) {
  .shop_br_pc_none {
    display: none;
  }
}

/* ========== トップへ戻るボタン ========== */

.gotop {
  display: block;
  width: 70px;
  height: 70px;
  box-sizing: border-box;
  background: #dde67b;
  border: 2px solid #fff;
  border-radius: 50px;
  padding-top: 10px;
  text-align: center;
  letter-spacing: 1.2px;
  font-size: 84%;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-decoration: none;
  color: #333;
  opacity: 0.8;
  position: fixed;
  bottom: 20px;
  right: 10px;
  z-index: 10000;
  box-shadow: 0 2px 4px rgba(61, 61, 61, 0.4);
  transition: all 0.4s ease-out;
}

.gotop:hover {
  opacity: 1;
  color: #4a6b44;
  transform: translateY(-4px);
}

.br_gotop {
  display: block;
  content: "";
  margin: -0.4rem 0;
}

@media (max-width: 750px) {
  .gotop {
    width: 40px;
    height: 40px;
    bottom: 64px;
    right: 10px;
  }

  .gotop i.h4 {
    font-size: 128%;
  }

  .sp_txt_none {
    display: none;
  }
}

/* スクロールアニメーションのキーフレーム */
@keyframes scroll {
  0% {
    margin-left: 0%;
  }
  16.666% {
    margin-left: 0%;
  }
  20% {
    margin-left: -100%;
  }
  36.666% {
    margin-left: -100%;
  }
  40% {
    margin-left: -200%;
  }
  56.666% {
    margin-left: -200%;
  }
  60% {
    margin-left: -300%;
  }
  76.666% {
    margin-left: -300%;
  }
  80% {
    margin-left: -400%;
  }
  96.666% {
    margin-left: -400%;
  }
  100% {
    margin-left: -500%;
  }
}

/* カルーセルの子要素にスクロールアニメーションを設定 */
.top-carousel > :first-child {
  animation-name: scroll;
  animation-duration: 60s; /* 各画像10秒×6で合計60秒 */
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/* ========== バナー ========== */

.t-slider {
  margin: 0 auto;
  max-width: 800px;
  width: 80%;
}
.t-slider-img img {
  height: auto;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .t-slider {
    width: 90%;
  }
}

/* ========== 足湯 ========== */

.course-banner img {
  width: 90%;
  max-width: 400px;
  box-shadow: 0 1.4px 2.4px rgba(0, 0, 0, 0.14);
}

@media screen and (min-width: 430px) {
  .course-banner .c-banner_s {
    display: none;
  }
}

@media screen and (max-width: 429px) {
  .course-banner .c-banner_l {
    display: none;
  }
}
/* マップの高さ */
#commonMap {
  height: 500px;
}

/* コース名：cocoonのhoverを無効化 */
.course_badge:hover {
  opacity: initial;
  color: #fff;
}

/* 最新情報 */
#news {
  padding: 0 !important;
  max-width: 1000px;
  /*margin: -200px auto 0;*/
  margin: -10px auto 0;
}
.list_top {
  width: 100%;
  max-width: 1000px;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .list_top a:nth-child(3) {
    display: none !important;
  }
}
#news a {
  text-decoration: none !important;
}
#news a:hover {
  background-color: #f8f4e3;
}

/* ---- 20241009 added start ---- */
a.modal_text_link {
  font-weight: bold;
  transition: color 0.3s;
}
button.modal_text_link {
  appearance: none;
  border: 0;
  background-color: #fff;
}
.modal_text_link:hover {
  color: #777;
}
.modal-header {
  display: none;
}
.modal-body img {
  width: 100%;
}
/* ---- 20241009 added end ---- */
/* ---- 20240706 added start ---- */
@media screen and (min-width: 992px) {
  .balloon {
    position: relative;
    padding: 64px 0px 36px 7px;
    width: 200px;
    height: 200px;
    left: calc(50% + 280px);
    top: -360px;
    line-height: 34px;
    border-radius: 50%;
    text-align: center;
    color: #ffffff;
    letter-spacing: 0.2em;
    font-size: 20px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.55);
    white-space: nowrap;
  }
  .balloon span {
    font-size: 26px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .balloon {
    position: relative;
    padding: 64px 0px 36px 7px;
    width: 200px;
    height: 200px;
    left: calc(100% - 220px);
    top: -360px;
    line-height: 34px;
    border-radius: 50%;
    text-align: center;
    color: #ffffff;
    letter-spacing: 0.2em;
    font-size: 20px;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.5);
    white-space: nowrap;
  }
  .balloon span {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  #news {
    margin: 0 auto;
  }
}
.welcome {
  background: linear-gradient(transparent 70%, #dde67b 70%);
  font-size: clamp(1.1rem, 5vw, 1.5rem);
}
/* ---- 20240706 added end ---- */

/* 大デバイス（デスクトップ, 992px 未満）
============================================== */
/*@media screen and (max-width: 991.98px) {
.footer-logo {
width: 100%;
}
} /* END */

/* 中デバイス（タブレット, 768px 未満）
============================================== */
@media screen and (max-width: 767.98px) {
  .gnav-item {
    display: block;
    width: 100%;
    border: none;
  }

  .gnav-item + .gnav-item {
    border: none;
  }

  table th,
  table td {
    padding: 0.25rem !important;
  }

  table th:first-child {
    width: 25%;
  }
}

/* END */

/* 追加
============================================== */
.col-md-3.col-lg-3 {
  padding-right: 5px;
  padding-left: 5px;
}

/*
.col-md-6.col-lg-4 {
padding-left: 5px;
padding-right: 5px;
*/

.display-4-2 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.2;
}

.rounded-circle-course {
  border-radius: 18% !important;
  padding: 22px;
}

.rounded-circle-kado18 {
  border-radius: 18% !important;
}

#flow .arrow {
  width: 60px;
  height: 40px;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 25px solid #333;
}

#flow .square {
  width: 60px;
  height: 60px;
  background: #21386e;
  color: #ffffff;
  text-align: center;
  font-size: 2.4rem;
  border-radius: 50% !important;
}

.border-time {
  border: 1.5px solid #dee2e6 !important;
}

.h-98 {
  height: 98% !important;
}

/*.w_200 {
width: 200px;
}*/

/* 吹き出し↓*/

.balloon1 {
  position: relative;
  display: inline-block;
  /*margin-top: 1.2em;*/
  margin-bottom: 0.4rem;
  padding: 6px 48px;
  min-width: 120px;
  max-width: 100%;
  color: #ffffff;
  font-size: 16px;
  background: #b85e0f;
  border-radius: 9999px;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 98%;
  left: 50%;
  margin-left: -4px;
  border: 8px solid transparent;
  border-top: 8px solid #b85e0f;
}

.balloon1 p {
  margin: 0;
  padding: 0;
}

/*↑吹き出し*/

.btn-orange {
  color: #ffffff;
  background-color: #b85e0f;
  /*border-color: #b85e0f;*/
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.38s ease-out;
}

.btn-orange:hover {
  color: #ffffff7c;
  background-color: #b85e0f96;
  /*border-color: #4b4936;*/
  box-shadow: none;
}

.btn-orange-2 {
  color: #fff;
  background-color: #b85e0f;
  border-color: #b85e0f;
}

.btn-orange-2:hover {
  color: #fff;
  background-color: #4b4936;
  border-color: #4b4936;
}

.btn-matcha02 {
  color: white;
  background-color: #4a6b44;
  background-image: none;
  border-color: #4a6b44;
}

.btn-matcha02:hover {
  background-color: #4b4936;
  background-image: none;
  border-color: #4b4936;
  color: white;
}

.btn-matcha02:active {
  background-color: #343a40;
  background-image: none;
  border-color: #343a40;
  color: white;
}

.box_hpb_ep {
  position: relative;
  margin: 2em 0;
  padding: 50px 4px 30px !important;
  border: solid 2px #dde67b;
  /*background-color: #dde67b;*/
}

.box_hpb_ep .box-title {
  position: absolute;
  display: inline-block;
  top: -2px;
  left: -2px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  /*font-size: 17px;*/
  background: #dde67b;
  color: #4a6b44;
  font-weight: bold;
}

.box_hpb_ep p {
  margin: 0;
  padding: 0;
}

/*========================================================================
新規CSS
=========================================================================*/

.zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku-gothic-new-black {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.noto-serif-jp-extralight {
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  font-style: normal;
}

.noto-serif-jp-light {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-style: normal;
}

.noto-serif-jp-regular {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
}

.noto-serif-jp-medium {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-style: normal;
}

.noto-serif-jp-semibold {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 600;
  font-style: normal;
}

.noto-serif-jp-bold {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-style: normal;
}

.noto-serif-jp-black {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.poppins-extralight-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.poppins-light-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.poppins-regular-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.poppins-medium-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.poppins-semibold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.poppins-bold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.poppins-extrabold-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.poppins-black-italic {
  font-family: "Poppins", sans-serif;
  font-weight: 900;
  font-style: italic;
}

.niconne-regular {
  font-family: "Niconne", cursive;
  font-weight: 400;
  font-style: normal;
}

.svg-icon-btn-arrow {
  width: 16px;
}

.main_v_catch h1 {
  font-family: serif;
  font-weight: bold;
  font-size: calc(20px + 20 * ((100vw - 320px) / 1600));
}

.main_v_catch span {
  font-size: 173%;
}

.main_v_catch ul {
  list-style: none;
  font-weight: bolder;
  font-size: calc(20px + 16 * ((100vw - 320px) / 1600));
  text-shadow: 1px 1px 2px white;
}

@media screen and (min-width: 448px) {
  .pc_none {
    display: none;
  }

  .diagonal {
    margin-top: -0.8rem;
  }
}

.double_line {
  position: relative;
  display: inline-block;
  padding: 0 50px;
  font-size: 1rem;
}

.double_line:before,
.double_line:after {
  content: "";
  position: absolute;
  top: 48%;
  display: inline-block;
  width: 45px;
  height: 4px;
  border-top: solid 1px #4b4936;
  border-bottom: solid 1px #4b4936;
}

.double_line:before {
  left: 0;
}

.double_line:after {
  right: 0;
}

.annotation {
  font-size: 90%;
  font-weight: 400;
}

.diagonal {
  position: relative;
  display: inline-block;
  padding: 0 25px;
}

.diagonal:before,
.diagonal:after {
  content: "";
  position: absolute;
  top: 54%;
  display: inline-block;
  width: 60px;
  height: 3px;
  background-color: #4a6b44;
  border-radius: 25px;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.diagonal:before {
  left: -30px;
  transform: rotate(60deg);
}

.diagonal:after {
  right: -30px;
  transform: rotate(-60deg);
}

.diagonal span {
  color: #b85e0f;
}

.percent_n {
  font-size: 4rem;
  margin-left: 8px;
}

/*.percent_u {
font-size: 0.5rem;
}*/

.diagonal_last {
  font-size: clamp(1.38rem, 5vw, 2rem);
}

.attention {
  font-size: clamp(1.6rem, 5vw, 2.3rem);
}

@media screen and (min-width: 371px) {
  .br_annotation {
    display: none;
  }
}

@media screen and (min-width: 380px) {
  .double_line_text_br_pc_none {
    display: none;
  }
}

@media screen and (min-width: 376px) {
  .diagonal_br_pc_none {
    display: none;
  }
}

@media screen and (min-width: 436px) {
  .double_line {
    font-size: 120%;
  }
}

@media screen and (min-width: 600px) {
  .double_line {
    font-size: 172% !important;
  }

  .double_line:before,
  .double_line:after {
    top: 50%;
  }

  .message .diagonal {
    font-size: 2.8rem;
  }

  .percent_n {
    font-size: 4.8rem;
  }

  .diagonal:before,
  .diagonal:after {
    top: 72%;
    width: 80px;
    height: 4px;
  }
}

@media screen and (min-width: 768px) {
  .double_line {
    font-size: 185% !important;
  }
}

.text-orange {
  color: #b85e0f;
  font-weight: 600;
}

.btn-outline-vg {
  color: #4a6b44;
  background-color: transparent;
  background-image: none;
  border: 1px solid #4a6b44;
}

.btn-outline-vg:hover {
  color: #ffffff;
  background-color: #4b4936;
  border-color: #4b4936;
}

.btn-outline-vg span {
  font-weight: 500;
}

.btn-vg {
  color: #ffffff;
  background-color: #4a6b44;
  background-image: none;
  border: 1px solid #4a6b44;
}

.btn-vg:hover {
  color: #ffffff;
  background-color: #4b4936;
  border-color: #4b4936;
}

.btn-vg span {
  font-weight: 500;
}

.btn-apply {
  display: block;
  width: 88%;
  padding: 20px;
  margin: 0 auto;
  color: white;
  font-size: larger;
}

.text-333 {
  color: #333 !important;
}

.mv_text_area {
  position: relative;
  max-width: 1720px;
}

.reason_bg {
  background-color: #ffffff;
}

.reason_ttl_shell {
  position: relative;
  /*background-color: #ffffff;*/
  z-index: 500;
}

.reason_ttl {
  position: relative;
  color: #333;
  display: inline-block;
  margin: 47px 0;
  z-index: -1;
  /*text-shadow: 0 0 2px white;*/
}

.reason_ttl:before {
  content: "";
  position: absolute;
  background: #b85e0f;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -2;
}

/* ========== 理由 改 ========== */

.service_icon {
  margin-top: -50px;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
}

.service_txt {
  margin-top: -1.5rem;
  z-index: 100;
  min-height: 8rem;
}

h3.h6.text-center.mx-auto {
  font-size: 1.1rem;
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .service_txt {
    min-height: 15rem;
  }

  h3.h6.text-center.mx-auto {
    height: 3.2rem;
    /* vertical-align: middle; */
    /* display: inline-block; */
  }
}

@media screen and (min-width: 992px) {
  .service_txt {
    min-height: 17.6rem;
  }
}

hr {
  border-top: 3px solid rgb(248 244 227);
  margin: 0 auto 0.5rem auto;
  width: 90%;
}

.rounded__ {
  border-radius: 0.5rem !important;
}

.rounded_top {
  border-top-left-radius: 0.5rem !important;
  border-top-right-radius: 0.5rem !important;
}

/*.dropdown-item_edit {
display: block;
width: 100%;
padding: .25rem 1rem;
clear: both;
font-weight: 400;
color: #212529;
text-align: inherit;
text-decoration: none;
white-space: nowrap;
background-color: transparent;
border: 0;
}*/

/* スライド設定 */
.css-carousel-slider2 .slide-wrap {
  width: 200%;
  position: absolute;
  display: flex;
  top: 0;
  left: 0;
  z-index: 0;
  animation: css-carousel-slider2 10s infinite;
  animation-delay: 2s;
}

.css-carousel-slider2 .slide-wrap-main {
  width: 100%;
  z-index: 1;
  animation: css-carousel-slider-main2 10s infinite;
  animation-delay: 2s;
}

.css-carousel-slider2 .slide {
  width: 100%;
}

/*========================================================================
バナー
=========================================================================*/

/*.top_banner {
width: 100%;
min-width: 300px;
max-width: 900px;
}*/

.top-carousel {
  width: 90vw;
  max-width: 800px;
  height: auto;
  min-width: 300px;
  display: flex;
  overflow: hidden;
  margin: 0 auto;
}

/* カルーセル内の画像 */
.top-carousel img {
  flex-shrink: 0; /* 画像の縮小を防ぐ */
  width: 100%; /* 親要素に合わせて画像の幅を調整 */
  height: auto; /* アスペクト比を保つ */
  max-width: 100%; /* 親要素の幅を超えない */
  min-width: 100%; /* 親要素の幅に合わせて画像を拡大 */
  margin: 0;
  padding: 0;
  display: block;
}

/* =========== mvの円 =========== */

.mv_circle-1 span,
.mv_circle-2 span {
  position: absolute;
  left: 12%;
  top: 27%;
}

.mv_circle-1,
.mv_circle-2 {
  color: #fff;
  text-align: center;
  font-size: 110%;
  /*padding: 6.5% 2%;*/
  width: 180px;
  height: 180px;
  margin: 0 -18px;
  border-radius: 50%;
  position: relative;
}

.mv_circle-1 {
  /*background-color: rgba(184, 94, 15, 0.7);*/
  background-color: rgb(203 134 32 / 60%);
  transform: translateY(-40px);
}

.mv_circle-2 {
  /*background-color: rgba(220, 150, 30, 0.7);*/
  background-color: rgb(200 201 100 / 60%);
  transform: translateY(40px);
}

.mv_circle_space_inner {
  position: absolute;
  top: 50%;
  right: 0;
}

.mv_circle_space {
  position: relative;
  top: 50%;
  right: 18px;
}

.mv_circle_line {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 20px;
}

.welcome_2 {
  background: linear-gradient(transparent 70%, #dde67b 70%);
  font-size: clamp(1rem, 5vw, 1.5rem);
  line-height: 1.6;
}

/* =========== 最新情報編集 =========== */

.list-title-in {
  color: #4a6b44;
  font-size: clamp(1rem, 3.8vw, 1.4rem);
  font-weight: 600;
}

.list-title-in:before,
.list-title-in:after {
  background-color: #4a6b44;
}

a.list-more-button {
  border-color: #4a6b44;
}

a.list-more-button:hover {
  background-color: #aeada1 !important;
  border-color: #aeada1;
  color: #ffffff;
}

/* =========== 悩み編集 =========== */

@media (min-width: 992px) {
  #worries {
    padding-bottom: 3rem !important;
  }
}

.triangle:before {
  background-color: transparent;
}

/* =========== コース一覧内 新規ボタン =========== */

.new-customers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.new-customers .btn {
  background-color: #fff7c7;
  border: 2px solid #b85e0f;
  width: 280px;
  margin: 1rem 1rem 0.2rem 1rem;
  transition: 0.4s;
}

.new-customers .btn:hover {
  background-color: #4a6b44;
  border-color: #4a6b44;
}

.btn_hover {
  transition: 0.4s;
}

.new-customers .btn:hover .btn_hover {
  color: #ffffff;
}

.new-customers .btn p {
  font-size: 1rem;
  margin-bottom: 0;
  color: #b85e0f;
  font-weight: 600;
}

.new-customers .btn p.limit {
  color: initial;
  font-weight: 400;
}

.new-customers .btn:before {
  font-family: "FontAwesome";
  font-size: 1.5rem;
  line-height: 1;
  position: absolute;
  /*top: calc(50% - 0.4rem);*/
  right: 0.3rem;
  margin: 0;
  padding: 0;
  content: "\f055";
  color: #b85e0f;
}

.new-customers .btn:hover::before {
  color: #ffffff;
}

/* =========== header編集 =========== */

@media screen and (max-width: 530px) {
  .header-logo {
    display: none !important;
  }
}

@media screen and (max-width: 376px) {
  .sp--btn {
    padding: 0.75rem 0.75rem;
    font-size: 0.8rem;
    line-height: 1;
    width: auto;
    max-width: 100px;
  }
}

/* =========== 店舗情報編集 =========== */

.closingday {
  font-size: 0.9em;
}

/* =========== 閉店用 =========== */

.badge-gray {
  background-color: #d7d7d7;
  border-color: #d7d7d7;
}

.btn-gray {
  background-color: #d7d7d7;
}

.txt-gray {
  color: #d7d7d7;
}

/* 新規限定コース(2店舗共通) */
.common_new_service_bg {
  background-color: #fffde1;
  border: 1px solid #4a6b44;
  /*padding: 3rem 0 1rem 0 !important;*/
  margin: 15px;
}

.common_new_service_bg .tab_course_notes {
  padding: 0.5em 1em 0em 2.3em;
}

.f_n_c_common_new_service {
  margin-bottom: -2.5rem !important;
  margin-left: 1.5rem;
  background-color: #b85e0f;
  color: white;
}

h2.for_new_customers.f_n_c_common_new_service:before {
  color: #753100;
  background: #ffc107;
  font-size: 0.69rem;
}

.t_c_n_exp {
  font-size: 1.2rem;
  font-weight: 600;
}

@media (max-width: 575px) {
  .t_c_n_exp {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 576px) {
  .f_n_c_common_new_service {
    margin-left: 2.2rem;
  }
  h2.for_new_customers.f_n_c_common_new_service:before {
    width: 5rem;
    height: 5rem;
    font-size: 0.95rem;
    letter-spacing: 0.09rem;
    padding: 1.2rem 0.5rem 0.5rem 0.5rem;
  }
}

@media screen and (min-width: 576px) and (max-width: 767px) {
  .col-sm-5__ {
    -ms-flex: 0 0 48%;
    max-width: 48%;
    flex: 0 0 48%;
  }
  .t_c_n_exp {
    font-size: 1.25rem;
  }
  .r_p_exp {
    font-size: 1.2rem;
  }
}

@media (min-width: 992px) {
  .t_c_n_exp {
    font-size: 1.4rem;
  }
}

/* h1⇒h2修正時調整 */
.list-title {
  padding-top: 0;
}

/*  店名＋キャッチコピー */
.brand-title {
  font-size: 1.4em;
  text-align: center;
  background-color: #4a6b44;
  padding-top: 0.3em;
  padding-bottom: 0.4em;
  padding-left: 1rem;
  padding-right: 1rem;
  line-height: 0.98;
  color: #dddddd;
}

.brand-title .highlight-text {
  font-size: 0.7em;
}

@media (max-width: 991px) {
  .text-separator {
    display: none;
  }
}

@media (max-width: 991px) {
  .brand-title {
    display: flex;
    align-items: flex-start;
    gap: 0.5em;
    flex-wrap: nowrap;
    padding-bottom: 0.2em;
    line-height: 1.4;
    text-align: justify;
  }

  .brand-title .shop-name {
    flex-shrink: 0;
    white-space: nowrap;
    padding-top: 0.2em;
  }

  .brand-title .highlight-text {
    flex: 1;
    word-break: break-word;
  }
}

@media (max-width: 575px) {
  .brand-title {
    display: block;
    text-align: center;
  }

  .brand-title .shop-name,
  .brand-title .highlight-text {
    display: block;
    margin-top: -0.3em;
    margin-bottom: 0.3em;
  }

  .brand-title .highlight-text {
    font-size: 0.7em;
    text-align: justify;
  }
} /*end*/

/* 新規向けボタン */
.badge_pill_w_org {
  width: 18rem;
  color: #ffffff !important;
  text-decoration: none !important;
  background-color: #b85e0f;
  background-image: none;
  border: 1px solid #b85e0f;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.badge_pill_w_org:hover {
  color: #ffffff;
  background-color: #4b4936;
  border-color: #4b4936;
  box-shadow: none;
}

@media screen and (min-width: 576px) {
  .badge_pill_w_org {
    width: 80%;
    padding: 0.8rem;
    font-size: 1.25rem;
    max-width: 1000px;
  }
} /*end*/

/* 他店舗へのリンク */
.link_to_other_shop img {
  max-width: 680px;
  transition: opacity 0.3s ease;
}

.link_to_other_shop img:hover {
  opacity: 0.6;
}
