@charset "utf-8";
/* =============
   グリッド（Bootstrap 5互換）
============= */
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px;
}

/* ガーター無し（Bootstrap 5: g-0） */
.row.g-0 {
  margin: 0;
}
.row.g-0 > [class*="col"] {
  padding: 0;
}

.row [class*="col"] {
  padding: 0 12px;
  box-sizing: border-box;
}

/* 等幅 */
.col {
  flex: 1 0 0%;
}

/* カラム指定 */
.col-1  { flex: 0 0 8.333%;   max-width: 8.333%; }
.col-2  { flex: 0 0 16.666%;  max-width: 16.666%; }
.col-3  { flex: 0 0 25%;      max-width: 25%; }
.col-4  { flex: 0 0 33.333%;  max-width: 33.333%; }
.col-5  { flex: 0 0 41.666%;  max-width: 41.666%; }
.col-6  { flex: 0 0 50%;      max-width: 50%; }
.col-7  { flex: 0 0 58.333%;  max-width: 58.333%; }
.col-8  { flex: 0 0 66.666%;  max-width: 66.666%; }
.col-9  { flex: 0 0 75%;      max-width: 75%; }
.col-10 { flex: 0 0 83.333%;  max-width: 83.333%; }
.col-11 { flex: 0 0 91.666%;  max-width: 91.666%; }
.col-12 { flex: 0 0 100%;     max-width: 100%; }

/* 自然幅 */
.col-auto {
  flex: 0 0 auto;
  width: auto;
}

/* オフセット */
.offset-1  { margin-left: 8.333%; }
.offset-2  { margin-left: 16.666%; }
.offset-3  { margin-left: 25%; }
.offset-4  { margin-left: 33.333%; }
.offset-5  { margin-left: 41.666%; }
.offset-6  { margin-left: 50%; }

/* 縦方向アライン（row） */
.align-items-start   { align-items: flex-start; }
.align-items-center  { align-items: center; }
.align-items-end     { align-items: flex-end; }

/* 縦方向アライン（col） */
.align-self-start   { align-self: flex-start; }
.align-self-center  { align-self: center; }
.align-self-end     { align-self: flex-end; }

/* 横方向アライン */
.justify-content-start   { justify-content: flex-start; }
.justify-content-center  { justify-content: center; }
.justify-content-end     { justify-content: flex-end; }
.justify-content-around  { justify-content: space-around; }
.justify-content-between { justify-content: space-between; }

/* 強制改行 */
.w-100 { width: 100%; }

/* カラム順序 */
.order-first { order: -1; }
.order-last  { order: 13; }
.order-1  { order: 1; }
.order-2  { order: 2; }
.order-3  { order: 3; }
.order-4  { order: 4; }
.order-5  { order: 5; }
.order-6  { order: 6; }
/* =============
   ヘッダーナビ
============= */
/* TOPページ スライダー上部補正 */
.LC_Page_Index .topfv-slider {
  margin-top: 92px !important; /* 本番環境でシステムバーが消えたら要確認・調整 */
}
/* TOPページ以外のcontainer補正 */
#container {
  margin-top: 92px;
}
/* TOPページのcontainerは補正不要（スライダーが間にある） */
.LC_Page_Index #container {
  margin-top: 0;
}
#header_nav_area ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center;
}
#header_nav_area ul li {
  margin: 0 15px;
}
#header_nav_area ul li a {
  white-space: nowrap;
  text-decoration: none;
}
#header_wrap {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 998;
  margin: 0 auto;
  padding: 1rem 0;
  background-color: var(--racfm-pink);
  box-sizing: border-box;
}
/* ロゴ */
#header_wrap #header #logo_area img {
  max-height: 60px;
}
/* ヘッダー上下中央揃え */
#header_wrap #header {
  display: flex;
  flex-direction: row;
  align-items: center;
}
#header_wrap #header #logo_area {
  margin-bottom: 0;
  margin-right: 30px !important;
}
#header_wrap #header #headerInternal {
  margin-bottom: 0;
  flex: 1;
}
/* 検索ボックス（ヘッダー下に展開） */
#header_wrap #header .search_box_area {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 997;
  background: var(--racfm-pink);
}
#header_wrap #header .search_box_area #search_form {
  width: 60%;
  margin: 0.5rem auto 25px;
}
/*検索と会員登録のアイコンを非表示*/
.user_search_btn,.user_signup_btn{
    display: none;
}
#header_nav_area ul li.nav-has-dropdown > span {
  color: #333333;
  white-space: nowrap;
  font-size: 14px;
  cursor: default;
}
@media screen and (max-width: 1000px) {
  #header_nav_area ul li {
    margin: 0 10px;
  }
}
/* =============
   ドロップダウンメニュー
============= */
#header_nav_area ul li.nav-has-dropdown {
  position: relative;
}

#header_nav_area ul li.nav-has-dropdown .nav-dropdown {
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--racfm-pink);
  min-width: 160px;
  z-index: 999;
  /*padding: 0.5rem 0;*/
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#header_nav_area ul li.nav-has-dropdown .nav-dropdown a {
  display: block;
  padding: 0.75rem 1.5rem;
  white-space: nowrap;
  text-decoration: none;
  color: #333333;
  font-size: 14px;
}

#header_nav_area ul li.nav-has-dropdown .nav-dropdown a:hover {
  background-color: var(--racfm-light-purple);
}

#header_nav_area ul li.nav-has-dropdown:hover .nav-dropdown {
  opacity: 1;
  visibility: visible;
}
/* =============
   スライダー
============= */
/* インジケーター中央揃え */
.topfv-slider .slick-dots {
  right: 0;
  text-align: center;
}
.topfv-slider img {
    height: auto;
    max-height: none;
    object-fit: unset;
    display: block;
}

/* =============
   フッター
============= */
.base_design #footer_company {
  border-top: 1px solid var(--racfm-purple);
  padding-top: 10px;
  padding-bottom: 10px;
}
.base_design #footer_company #footer_company_inner {
  justify-content: center;
}
.base_design #footer_company #footer_company_inner .company_link_group {
  display: flex;
  justify-content: center;
  width: 100%;
}
.base_design #footer_company #footer_company_inner .company_link_group ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  vertical-align: initial !important;
}
.base_design #footer_company #footer_company_inner .company_link_group ul li {
  margin: 0 15px;
  border-right: 1px solid #c7c7c7;
  padding-right: 30px;
}
.base_design #footer_company #footer_company_inner .company_link_group ul li:first-child {
  border-left: 1px solid #c7c7c7;
  padding-left: 30px;
}
.base_design #footer_company,
.base_design #copyright {
  background: var(--racfm-pink);
  color: var(--main-color);
}
.base_design #copyright {
  padding-top: 30px;
}
.base_design #footer_company #footer_company_inner .company_link_group ul li a {
  color: var(--main-color);
  margin-bottom: 0;
}
/* フッターSNSエリア */
#footer_sns {
  text-align: center;
  padding: 40px 0;
  background: var(--racfm-pink);
}
#footer_sns p {
  font-size: 1.5em;
}
#footer_sns #footer_sns_title {
  font-weight: bold;
  margin-bottom: 20px;
}
#footer_sns ul {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px;
}
#footer_sns ul li img {
  width: 40px;
}