@import url("reset.css");

.dopc {
  display: none!important;
}

/*====================================
  共通設定
====================================*/
body {
  background: url("/recruit/img/recruit_bg.webp") #fdfdfd;
  background-repeat: repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center top;
  color: #111;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border: none;
}

a {
  color: #833A19;
  text-decoration: none;
}

div:after, ul:after, dl:after, .clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* a:hover {
  color: #ff7cad;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
} */

h1{
  text-align: center;
}

header h1{
  background-color: #ffe9f5;
}

.shop_title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}

.shop_text {
  font-size: 14px;
  line-height: 1.6;
}

.content-title {
  max-height: 100%;
}

section h2 {
  text-align: center;
  font-weight: bold;
  font-size: 17px;
  padding: 12px 0;
}

section h2 span {
  padding: 0 10px;
  font-weight: normal;
  font-size: inherit;
}

/*====================================
  header.php ヘッダー
====================================*/
header.dosp {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background-color: #161616;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 1000;
}

/* ロゴエリア */
#headLogo {
  width: 25%;
  text-align: left;
}

#headLogo img {
  /* max-height: 40px; */
  width: auto;
}

/* 電話エリア */
#navTel {
  width: 55%;
  text-align: center;
}

/* 「tel:」の部分 */
#navTel span:first-child {
  font-size: 16px;
  color: #666;
  margin-bottom: -3px; /* 番号との間隔を縮める */
}

/* 電話番号部分 */
#navTel span:last-child {
}


#navTel a {
  color: #ff7cad;
  font-weight: bold;
  text-decoration: none;
  font-size: 20px;
}

/* メニューボタンエリア */
#spMenuBtn {
  width: 15%;
  text-align: right;
  cursor: pointer;
}

/* ハンバーガーアイコン */
.hamburger-icon {
  width: 30px;
  height: 22px;
  position: relative;
  margin-left: auto;
  cursor: pointer;
}

.hamburger-icon .line {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #ff7cad;
  position: absolute;
  transition: all 0.3s ease;
  border-radius: 3px;
}

.hamburger-icon .line-1 {
  top: 0;
}

.hamburger-icon .line-2 {
  top: 50%;
  transform: translateY(-50%);
}

.hamburger-icon .line-3 {
  bottom: 0;
}

/* ハンバーガーアイコン */
#spMenuBtn.active .hamburger-icon .line-1 {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

#spMenuBtn.active .hamburger-icon .line-2 {
  opacity: 0;
}

#spMenuBtn.active .hamburger-icon .line-3 {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}

/* ナビメニュー */
#spNav {
  display: none;
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  z-index: 999;
}

#spNav li {
  border-bottom: 1px solid #eee;
  list-style: none;
}

#spNav li a {
  display: block;
  padding: 15px 20px;
  color: #333;
  text-decoration: none;
  font-size: 16px;
  transition: background-color 0.3s;
}

#spNav li a:hover {
  background-color: #ff7cad;
  color: white;
}

body.menu-open {
  overflow: hidden;
}


body {
  padding-top: 60px;
}


/*====================================
  footer.php フッター
====================================*/
footer {
  background-color: #f8f8f8;
  padding: 25px 0 10px;
  border-top: 1px solid #e0e0e0;
  margin-top: 30px;
}

/* フッターメニュー - スマホ版は縦並び */
#footerMenu {
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  width: 100%;
}

#footerMenu li {
  margin: 5px 0;
  width: 100%;
  text-align: center;
}

#footerMenu li a {
  display: block;
  padding: 8px 0;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  border-bottom: 1px solid #eee;
}

/* フッターのキャッチ画像 */
#footerCatch {
  text-align: center;
  margin-bottom: 20px;
}

#footerCatch img {
  max-width: 150px;
  height: auto;
}

/* フッターのコピーライトテキスト */
#footerText {
  text-align: center;
  font-size: 11px;
  color: #777;
  margin-top: 15px;
  padding: 0 10px;
  line-height: 1.5;
}

#footerText a {
  color: #555;
  text-decoration: none;
}


/*====================================
  index.php　トップページ
====================================*/
#mainContents {
  position: relative;
  padding-top: 66px; /* ヘッダーの高さ分のパディングを追加 */
  width: 100%;
  overflow: hidden; /* はみ出し防止 */
}

.main_section {
  width: 100%;
  background: rgba(255,255,255,1);
  margin-bottom: 20px; /* セクション間の余白 */
}

.main_section .main_image {
  width: 100%;
  overflow: hidden;
}

.main_section .main_image img {
  width: 100%;
  height: auto;
  display: block; /* 画像下の余白を削除 */
}

/* コンテンツの共通内部パディング */
.main_section .inner_content {
  padding: 0 15px; /* 左右の余白 */
}

/* メッセージ
-----------------*/
#widget1.content-block {
  background-color: rgba(255,255,255,0.8) !important;
}

.main_catch {
  background: #ffffff none repeat scroll 0 0;
  width: 100%;
  padding: 15px;
  position: relative;
  box-sizing: border-box;
}

.main_catch .main_text {
  margin: 0 auto;
  width: 100%;
}

#widget1 .content-title {
  color: #333333 !important;
  font-size: 18px;
  text-align: center;
  margin-bottom: 15px;
}

.main_catch .main_text p {
  width: 100%;
  white-space: normal;
  word-break: break-all;
  overflow: hidden;
  max-height: 100%;
  font-size: 14px;
  line-height: 1.6;
}

#widget1 .main-text {
  color: #333333 !important;
}

/* 特典
-----------------*/
.privilege_block {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.privilege_block .privilegeContents {
  margin-top: 15px;
}

/* タイトル */
.privilege_block .privilegeItem .itemMain .title {
  background-color: #ff7cad;
  color: #fff;
  border-radius: 3px;
  font-size: 16px;
  font-weight: bold;
  height: auto;
  line-height: 1.4;
  padding: 10px;
  text-align: left;
}

.privilege_block .privilegeItem .itemMain.color1 .title {
  background-color: #FF8C00;
}

/* メイン画像 */
.privilege_block .privilegeItem .itemMain .main_img {
  margin: 15px auto;
  padding: 0;
  text-align: center;
}

.privilege_block .privilegeItem .itemMain .main_img img {
  width: 100%;
  height: auto;
  max-width: 350px;
}

/* メインボックス */
.privilege_block .privilegeItem .itemMain .main_box {
  border-radius: 2px;
  height: auto;
  line-height: 1.4;
  margin: 0;
  padding: 10px;
}

.privilege_block .privilegeItem .itemMain.color1 .main_box {
  background-color: #FF8C00;
}

.privilege_block .privilegeItem .itemMain .main_box .main_title {
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  margin: 0;
}

/* テキストボックス */
.privilege_block .privilegeItem .itemMain .main_tbox {
  margin: 0 0 20px;
  padding: 10px 15px;
  border: 1px solid #E6EDEF;
  border-top: none;
  background-color: #FFFFFF;
}

.privilege_block .privilegeItem .itemMain .main_txt {
  word-wrap: break-word;
  word-break: break-all;
  padding-top: 0;
  font-size: 14px;
  line-height: 1.6;
}

/* 給与テーブル */
.privilege_block .privilegeItem .itemMain .salary_box {
  margin: 15px 0 20px;
}

.privilege_block .privilegeItem .itemMain .salary_box dl dt {
  background: #66aaff none repeat scroll 0 0;
  border-radius: 3px 3px 0 0;
  color: #fff;
  font-size: 14px;
  height: auto;
  line-height: 1.4;
  padding: 5px 0;
  text-align: center;
  width: 90px;
}

.privilege_block .privilegeItem .itemMain .salary_box dl dt h4 {
  margin: 0;
  font-size: 14px;
}

.privilege_block .privilegeItem .itemMain .salary_box dl dd {
  background: #ccddff none repeat scroll 0 0;
  border-top: medium none;
  margin-left: 0;
  padding: 3px 4px;
  float: none;
  width: 100%;
  box-sizing: border-box;
}

.privilege_block .privilegeItem .itemMain .salary_box .salary_tbl {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
  width: 100%;
}



.privilege_block .privilegeItem .itemMain .salary_box .salary_tbl th {
  background-color: #66aaff;
  color: #fff;
  border: 1px solid #66aaff;
  font-weight: bold;
  padding: 8px 3px;
  text-align: center;
  font-size: 12px;
  border-radius: 3px 3px 0 0;
}

.privilege_block .privilegeItem .itemMain .salary_box .salary_tbl td {
  background: #fff;
  border: 1px solid #66aaff;
  border-top: none;
  text-align: center;
  padding: 8px 3px;
  font-size: 13px;
  border-radius: 0 0 3px 3px;
  word-break: break-word;
}

.privilege_block .privilegeItem .privilege_info {
  margin-top: 25px;
}

.privilege_block .privilegeItem .privilege_info .title {
  background-color: #ff7cad;
  color: #fff;
  border-radius: 3px;
  font-size: 16px;
  font-weight: bold;
  height: auto;
  line-height: 1.4;
  padding: 10px;
  text-align: left;
}

.privilege_block .privilegeItem .itemMain .info_box {
  margin: 15px 0;
  background-color: #FFFFFF;
}



.privilege_block .privilegeItem .itemMain.color1 .info_box .info_tbl1 tr th {
  display: block;
  width: 100%;
  background-color: #FFF9E8;
  border: 1px solid #E6EDEF;
  padding: 8px 5px;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}

.privilege_block .privilegeItem .itemMain.color1 .info_box .info_tbl1 tr th h4 {
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
}

.privilege_block .privilegeItem .itemMain .info_box .info_tbl1 tr td {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.privilege_block .privilegeItem .itemMain .info_box .info_tbl1 tr .contents {
  background-color: #fff;
  border: 1px solid #E6EDEF;
  border-top: none;
  vertical-align: top;
  padding: 10px;
  font-size: 14px;
  line-height: 1.5;
}

.privilege_block .privilegeItem .itemMain .info_box .info_tbl1 tr .info_img {
  border: 1px solid #E6EDEF;
  border-top: none;
  text-align: center;
  padding: 10px;
}

.privilege_block .privilegeItem .itemMain .info_box .info_tbl1 tr .info_img img {
  max-width: 100%;
  height: auto;
}

/* テーブルレイアウトの修正 */
.privilege_block .privilegeItem .itemMain .info_box .info_tbl1 tr {
  display: block;
  margin-bottom: 20px;
}

.privilege_block .privilegeItem .itemMain.color1 .info_box .info_tbl1 tr:last-child {
  margin-bottom: 0;
}



/* 募集要項
-----------------*/
#widget6.content-block {
  background-color: rgba(238,238,238,0.8) !important;
}

section.recruit {
  background: rgba(238,238,238,.8);
  width: 100%;
  padding: 20px 0;
}

#widget6 .content-title {
  color: #333333 !important;
}

.recruit_item {
  width: 100%;
  margin: 15px auto;
}

.recruit_slider {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.recruit_slider_item {
  position: relative;
  padding-top: 15px;
  overflow: hidden;
  height: 100px!important;
  max-height: 200px;
}

.recruit_slider_item img{
  width:90%;
  margin:0 5% 5%;
}
.recruit_slider_item .slide_mask{
  position: absolute;
  top: 15px;
  left: 0px;
  width: 100%;
  height: 80px;
  background: rgba(238, 238, 238, .5);
}
.recruit_slider_item.slick-current .slide_mask{
  display:none;
}


.recruit_prev, .recruit_next {
  width: 50px !important;
  height: 50px !important;
  position: absolute;
  top: 30px;
  color: transparent;
  cursor: pointer;
  z-index: 100;
}

.recruit_prev {
  left: 25px;
  background: url(/recruit/img/arrow_prev.webp) no-repeat;
}

.recruit_next {
  right: 25px;
  background: url(/recruit/img/arrow_next.webp) no-repeat;
}








#widget6 .main-text {
  color: #333333 !important;
}

.recruit_text {
  width: 90%;
  margin: 0 auto;
}

#widget6 .recruit_text .text_list {
  border-color: #999999 !important;
}

.text_list {
  border-bottom: 1px solid #999;
  padding: 12px 0 10px;
  overflow: hidden; /* floatの解除 */
}

.recruit_text .recruit_subtitle {
  width: 100%; /* スマホでは横幅いっぱいに */
  float: none;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 5px;
}

.recruit_text .recruit_comment {
  width: 100%; /* スマホでは横幅いっぱいに */
  float: none;
  font-size: 13px;
  line-height: 1.5;
}

.recruit_text .recruit_comment .telicn {
  position: relative;
  height: 40px;
  width: auto;
}

#widget6 .main-link {
  color: #833A19 !important;
}

.recruit_text .recruit_comment a.main-link {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all; /* 必要な場所での改行を許可 */
  font-size: 12px; /* スマホではフォントサイズを少し小さく */
}


.lcdata {
  width: 100%;
  margin: 20px 0 0 0;
  border-collapse: collapse;
}

.lcdata th {
  background-color: #ffe5f2;
  text-align: left;
  padding: 8px 10px;
  border: 2px solid #ffe5f2;
  font-size: 14px;
}

.lcdata th i {
  position: relative;
  top: 2px;
  font-size: 18px;
  color: #d7231e;
}

.lcdata th span {
  margin-left: 5px;
  color: #b11856;
  font-weight: bold;
}

.lcdata td {
  padding: 8px 10px;
  background-color: #fff;
  border: 2px solid #ffe5f2;
  color: #333;
  font-size: 13px;
  line-height: 1.5;
}

.recruit_footer_btn {
  width: 80%;
  margin: 20px auto 0;
  text-align: center;
}

.recruit_footer_btn a {
  display: block;
  color: #fff;
  background: #db4d4c;
  text-decoration: none;
  padding: 15px 0;
  border-radius: 5px;
  font-size: 15px;
  font-weight: bold;
  transition: .2s;
  -ms-transition: .2s;
  -webkit-transition: .2s;
}

.recruit_footer_btn a .icon-circle-right {
  padding-right: 15px;
  font-size: 14px;
  display: inline-block;
  vertical-align: middle;
  color: #fff;
}


/* 応募方法
-----------------*/
#widget9-1.content-block {
  background-color: rgba(238,238,238,0.8) !important;
}

#widget9-1 .content-title {
  color: #333333 !important;
}

#widget9-1 .main-text {
  color: #333333 !important;
}

.free_text {
  width: 100%;
  margin: 15px auto;
  font-size: 13px;
  line-height: 1.6;
}

.work-text {
  max-height: 100%;
}

/* 応募方法コンテナ */
.application-methods {
  display: flex;
  flex-direction: column; /* スマホでは縦方向に並べる */
  margin: 20px 0;
}

/* 各応募方法のカード */
.application-method {
  /* width: 100%; */
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  padding: 20px 15px;
  margin-bottom: 15px;
  position: relative;
  min-height: auto; /* 高さは内容に合わせる */
}

/* アイコン部分 */
.method-icon {
  float: left; /* スマホでは左寄せにしてテキストを右に配置 */
  width: 50px;
  text-align: center;
  margin-right: 15px;
  margin-bottom: 0;
}

.method-icon i {
  font-size: 32px; /* スマホではやや小さく */
  color: #ff7cad;
}

/* コンテンツ部分 */
.method-content {
  margin-left: 65px; /* アイコンの幅+マージン */
  text-align: left; /* スマホでは左揃え */
}

.method-title {
  color: #333;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
  position: relative;
  padding-bottom: 8px;
}

.method-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0; /* スマホでは左揃え */
  width: 40px;
  height: 2px;
  background-color: #ff7cad;
  transform: none; /* 中央寄せの変換をリセット */
}

.method-description {
  color: #666;
  margin-bottom: 8px;
  font-size: 13px;
}


.phone-numbers {
  /* text-align: center; */
  margin-bottom: 10px;
}

.phone-number {
  margin-bottom: 8px;
}

.number-label {
  font-size: 13px;
  color: #666;
  margin-bottom: 2px;
}

.method-contact {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}


.method-contact {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 5px;
  word-break: break-all; /* 長いメールアドレスなどを折り返す */
}

.method-contact a {
  color: #005EEB !important;
  text-decoration: none;
}

.method-note {
  font-size: 12px;
  color: #777;
  font-style: italic;
}

/* タップ状態のスタイル */
.method-contact a:active {
  color: #ff7cad;
}

/* フッターテキスト */
.application-footer {
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
  color: #555;
  font-weight: bold;
}

.application-footer p {
  /* font-size: 20px; */
  border-bottom: 2px solid #ff7cad;
}


/* clearfix */
.application-method:after {
  content: "";
  display: table;
  clear: both;
}


/* 先輩ボイス
-----------------*/
#widget4.content-block {
  background-color: rgba(238,238,238,0.8) !important;
  padding: 20px 0;
}

section.senior {
  width: 100%;
  padding: 0;
}

#widget4 .content-title {
  color: #333333 !important;
  margin-bottom: 20px;
}

/* カルーセル全体のスタイル */
.senior_carousel {
  width: 90%;
  margin: 0 auto;
  position: relative;
}

/* カルーセルナビゲーション */
.carousel-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}

.prev-btn, .next-btn {
  background: none;
  border: none;
  color: #ff7cad;
  font-size: 20px;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
}

.prev-btn {
  margin-right: 20px; /* 左ボタンの右側に余白を追加 */
}

.next-btn {
  margin-left: 20px; /* 右ボタンの左側に余白を追加 */
}


.carousel-dots {
  display: flex;
  justify-content: center;
  width: 100px;
}

.dot {
  width: 8px;
  height: 8px;
  background-color: #ccc;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}

.dot.active {
  background-color: #ff7cad;
}

/* カルーセルコンテナ */
.carousel-container {
  overflow: hidden;
  position: relative;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease;
}

.carousel-slide {
  width: 100%;
  flex-shrink: 0;
}

/* ボイスカード */
.voice-card {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  margin: 5px;
}

.voice-img {
  width: 100%;
  height: 0;
  padding-bottom: 80%; /* アスペクト比の調整 */
  position: relative;
  overflow: hidden;
}

.voice-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voice-content {
  padding: 15px;
}

.voice-name {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin-bottom: 8px;
}

.voice-text {
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  margin: 0;
}



/* 求人ニュース
-----------------*/
#widget3.content-block {
  background-color: rgba(255,255,255,0.8) !important;
}
section.job_blog {
  width: 100%;
  padding: 2%;
  background: rgba(255,255,255,1);
}

.blog_list {
  width: 100%;
  margin: 0 auto;
}
/* 各ブログアイテムの基本スタイル */
.blog_item {
  display: flex;
  width: 100%;
  padding: 15px 0;
  border-bottom: 1px solid #FF9FC3;
}

/* アイテム内のリンクスタイル */
.blog_list a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
}


/* ブログ画像エリアのスタイル */
.blog_img {
  width: 30%;
}

/* テーブルレイアウトの設定 */
.img_table {
  display: table;
  width: 100%;
  height: 100%;
}

.img_cell {
  display: table-cell;
  vertical-align: middle;
}

/* 画像ボックスのサイズ指定 */
.img_box {
  position: relative;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

/* 画像自体のスタイル */
.img_box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 画像マスクのスタイル */
.item_mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  transition: all 0.3s ease;
}

/* ホバー時にマスクを非表示 */
.blog_item .item_mask {
  background: rgba(255, 255, 255, 0);
}

/* ブログテキストエリアのスタイル */
.blog_text {
  width: 65%;
}

/* 店舗情報/日付のスタイル */
.blog_store {
  font-size: 14px;
  margin: 0 0 5px;
  color: #666;
}

/* ブログタイトルのスタイル */
.blog_title {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 8px;
  line-height: 1.4;
  /* タイトルが長い場合に2行までに制限 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ブログコメントのスタイル */
.blog_comment {
  display: none;
}


.more_btn {
  margin-top: 20px;
  margin-bottom: 10px;
}




/* 当店のポイント
-----------------*/

#widget7.content-block {
  background-color: rgba(255,255,255,0.8) !important;
}

#widget7 .content-title {
  color: #333333 !important;
}

section.point .point_item {
  width: 90%;
  margin: 15px auto;
  line-height: 1.6;
}

#widget7 .main-text {
  color: #333333 !important;
}

.point_item .point_list {
  margin-bottom: 25px;
}

.point_free {
  width: 90%;
  margin: 20px auto;
  display: flex;
  flex-direction: column; /* スマホでは縦並びに */
}

.point_free .free_item {
  width: 100%;
  margin-bottom: 15px;
}

.free_item {
  position: relative;
}

.free_item a {
  display: block;
  position: relative;
  text-align: center;
  padding: 15px 10px;
  border-radius: 5px;
  background-color: #ff7cad;
  color: white;
  box-shadow: 0 3px 5px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  border: 2px solid #ff7cad;
}

/* タップ時のスタイル（hover代わり） */
.free_item a:active {
  background-color: white;
  color: #ff7cad;
}

.free_item p {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
}

/* タップ時のテキストカラー変更 */
.free_item a:active p {
  color: #ff7cad;
}

/* フリースペース2
-----------------*/
#widget9-2.content-block {
  background-color: rgba(255,255,255,0.8) !important;
}

section.freespace {
  background: rgba(238,238,238,0);
  width: 100%;
  padding: 15px 0;
}

#widget9-2 .content-title {
  color: #333333 !important;
}

#widget9-2 .main-text {
  color: #333333 !important;
}

.work-text.main_text {
  width: 90%;
  margin: 0 auto;
}

.work-text.main_text img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 10px auto;
}



/* グループ店舗
-----------------*/
.group_shop {
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
  box-sizing: border-box;
}

.group_shop.content-block > .group_shop > .group_shop_list.slides {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.group_shop_list li {
  position: relative;
  float: none;
  width: 48%;
  margin: 0 0 20px 0;
  padding: 0;
}

.group_shop_list li a {
  display: block;
  position: relative;
  width: 100%;
}

.group_shop_list .group_img {
  height: auto;
  width: 100%;
  overflow: hidden;
}

.group_shop_list .group_img .img_table {
  display: flex;
  justify-content: center;
  align-items: center;
}

.group_shop_list li .item_mask {
  background: rgba(255,255,255,.0);
}

/* タップ時にマスクを非表示 */
.group_shop_list li:active .item_mask {
  opacity: 0;
}

.group_shop_list .group_img img {
  height: auto;
  width: 100%;
  object-fit: cover;
}

#widget8 .main-link {
  color: #333333 !important;
  font-size: 14px;
}

.group_shop_list li > p:first-of-type {
  text-align: center;
  padding-top: 5px;
  margin: 5px 0;
}

#widget8 .main-text {
  color: #333333 !important;
}

.group_shop_list li > p:last-of-type {
  text-align: center;
  font-size: 11px;
  margin: 0 0 5px 0;
}




/* Q&A　よくある質問
-----------------*/
#widget10-1.content-block {
  background-color: rgba(238,238,238,0.8) !important;
}

section.dx_item_qa {
  background: rgba(238,238,238,0);
  width: 100%;
  padding: 15px 0;
}

#widget10-1 .content-title {
  color: #333333 !important;
}

.dx_item_qa_text {
  width: 90%;
  margin: 15px auto;
  font-size: 13px;
  line-height: 1.5;
}

#widget10-1 .recruit_text .text_list {
  border-color: #999999 !important;
}

.text_list {
  border-bottom: 1px solid #999;
  padding: 12px 0 10px;
}

table {
  border-collapse: collapse;
  width: 100%;
}

.q_text {
  font-size: 15px;
  font-weight: bold;
  vertical-align: baseline;
  line-height: 1.4;
}

.a_text {
  font-size: 14px;
  line-height: 1.5;
  vertical-align: baseline;
}

section.dx_item_qa table tr {
  padding-left: 10px;
  display: block;
}


section.dx_item_qa table tr td {
  padding: 0px 10px 20px 0px;
  vertical-align: top;
}

.q_icon {
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 50%;
  background: black;
  line-height: 30px;
  text-align: center;
  display: block;
  color: white;
  font-size: 18px;
}

#widget10-1 .q_icon_text {
  color: #EEEEEE !important;
}

#widget10-1 .q_icon {
  background: #333333 !important;
}

.a_icon {
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 50%;
  background: #FF7CAD;
  line-height: 30px;
  text-align: center;
  display: block;
  font-size: 18px;
}

#widget10-1 .head-line {
  color: #FFFFFF !important;
}

#widget10-1 .head-line {
  background-color: #FF7CAD !important;
}

/* 続きを見る */
#widget10-1 .read-more {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

.read-more + .more-btn-wrap {
  bottom: 0;
  display: none;
  padding: 13px 0 0;
  position: relative;
  text-align: center;
  width: 90%;
  margin: 0 auto;
}

.more_btn_l {
  display: block;
  position: relative;
  text-align: center;
  padding: 12px 10px;
  border-radius: 5px;
  background-color: #ff7cad;
  color: white;
  box-shadow: 0 3px 5px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  border: 2px solid #ff7cad;
  width: 80%;
  margin: 0 auto;
}

/* タップ時のスタイル（hover代わり） */
.more_btn_l:active {
  background-color: white;
}

.more_btn_l span {
  color: #ffffff;
  font-size: 14px;
}

.more_btn_l:active span {
  color: #ff7cad;
}

/* 続きを見るボタンを最初から表示 */
#widget10-1 .more-btn-wrap {
  display: block;
}

/* お店紹介
-----------------*/
#widget5.content-block {
  background-color: rgba(255,255,255,0.8) !important;
}

section.introduction {
  background: rgba(255,233,245,.8);
  width: 100%;
  padding: 15px 0;
}

.intro_item {
  width: 90%;
  margin: 10px auto;
}

.intro_top {
  margin-bottom: 25px;
  margin-top: 10px;
  height: auto !important;
}

.intro_top .top_left {
  float: none;
  width: 100%;
  margin-right: 0;
  margin-bottom: 15px;
  text-align: center;
}

.intro_top .top_left img {
  width: 80%;
  max-width: 240px;
}

.intro_top .top_right {
  float: none;
  width: 100%;
  height: auto;
  position: relative;
}

#widget5 .main-text {
  color: #333333 !important;
}

.intro_top .top_right p {
  font-size: 13px;
  line-height: 1.6;
}

.intro_bottom {
  display: flex;
  flex-direction: column;
  margin: 20px auto;
  width: 100%;
}

.intro_bottom_list {
  width: 100%;
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  margin-bottom: 15px;
}

.intro_list_img {
  width: 100%;
  overflow: hidden;
}

.intro_list_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.intro_list_text {
  width: 94%;
  padding: 10px;
  font-size: 13px;
  line-height: 1.4;
  color: #333;
  display: flex;
  align-items: center;
}

.intro_button {
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.intro_button a {
  color: #fff;
  width: 100%;
  text-align: center;
  padding: 15px 0;
  margin: 0 0 10px 0;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 5px;
  transition: .2s;
  -ms-transition: .2s;
  -webkit-transition: .2s;
}

.intro_button a:first-of-type {
  background: #eba438;
}

.intro_button a:last-of-type {
  background: #db4d4c;
}

.intro_button a .fa-arrow-circle-right {
  margin-right: 5px;
}

/* タップ状態 - スマホ用 */
.intro_button a:active {
  background: #fff;
}

.intro_button a:first-of-type:active {
  color: #eba438;
  border: 1px solid #eba438;
}

.intro_button a:last-of-type:active {
  color: #db4d4c;
  border: 1px solid #db4d4c;
}

/* clearfix代替 */
.intro_top:after {
  content: "";
  display: table;
  clear: both;
}


/*====================================
  blog.php 求人ニュースページ
====================================*/
.blog_page {
  background: rgba(255,255,255,.7);
  padding-top: 15px;
}


section.blog_page_list {
  width: 90%;
  background: rgba(255,255,255,.5);
  padding: 10px 15px;
  margin: 0 auto 15px;
  border-radius: 4px;
}

.voice_page_title {
  background: #ff7cad;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
  margin-bottom: 15px;
  padding: 6px 10px;
}

.blog_page_title {
  background: #ff7cad;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
  margin-bottom: 15px;
  padding: 6px 10px;
}

.maintext_title {
  color: #6699FF !important;
  font-size: 18px;
  font-weight: bold;
  margin: 0 2%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.blog_mainimg {
  position: relative;
  margin: 8px 0 0;
}

.blog_mainimg>img {
  width: 100%;
}


.blog_maintext .blog-date {
  font-size: 14px;
  font-weight: bold;
}


.mt_look {
  text-align: right;
  color: #333;
  font-weight: bold;
  padding-bottom: 5px;
  font-size: 14px;
}


.mt_look > span {
  color: #f00;
  font-size: 14px;
  font-weight: bold;
}

.shopPager {
  font-size: 14px;
  margin-bottom: 10px;
  text-align: center;
}

.shopPager > table {
  margin: 0 auto;
}

.shopPager > table td {
  text-align: center;
  width: 100px;
}
.shopPager > table td.prev {
  padding-right: 4px;
}

.shopPager > table td.next {
  padding-left: 4px;
}
#contentsBlock .shopPager a {
  color: #005EEB !important;
}



/*====================================
  voice.php 先輩ボイスページ
====================================*/
#mainContents {
  position: relative;
  padding-top: 66px; /* ヘッダーの高さ分のパディング */
}

.voice_page {
  background: rgba(255,255,255,.7);
  padding-top: 15px;
}

#contentsBlock .contents_item {
  background-color: rgba(255,255,255,1.0) !important;
}

section.voice_page_list {
  width: 90%;
  background: rgba(255,255,255,.5);
  padding: 10px 15px;
  margin: 0 auto 15px;
  border-radius: 4px;
}

.voice_page_title {
  background: #ff7cad;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
  margin-bottom: 15px;
  padding: 6px 10px;
}

.voice_list {
  width: 100%;
  margin: 0 auto;
}

.voice_contents .voice_list {
  margin-bottom: 20px;
  width: 100%;
}

.voice_list .voicebox {
  border-bottom: 1px dotted #ccc;
  padding: 10px 0 15px;
  position: relative;
  margin-bottom: 10px;
}

.voiceBoxL,
.voiceBoxR {
  overflow: hidden;
}

/* スマホではすべて同じレイアウトにする */
.voiceBoxL .voiceBoxText,
.voiceBoxR .voiceBoxText {
  float: none;
  width: 100%;
  margin-bottom: 10px;
  position: relative;
  clear: both;
}

#contentsBlock .main-text {
  color: #333333 !important;
}

#contentsBlock .line {
  border-color: #FF7CAD !important;
  border-bottom: 2px solid;
  margin-bottom: 10px;
}

.voiceBoxL .voiceBoxText .comment,
.voiceBoxR .voiceBoxText .comment {
  border: 3px solid #F7CDDE;
  border-radius: 5px;
  padding: 10px;
  position: relative;
  min-height: auto;
  font-size: 13px;
  line-height: 1.5;
}

/* 吹き出しの矢印位置を調整 */
.voiceBoxL .voice-rect,
.voiceBoxR .voice-rect {
  display: none;
  position: absolute;
  top: -16px;
  left: 20px;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-bottom: 10px solid #F7CDDE;
  border-width: 8px 12px;
}

.voiceBoxL .voice-sub_rect,
.voiceBoxR .voice-sub_rect {
  display: none;
  position: absolute;
  top: -9px;
  left: 21px;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-bottom: 10px solid #fff;
  border-width: 7px 10px;
}

.voiceBoxL .voiceBoxImg,
.voiceBoxR .voiceBoxImg {
  width: 100px;
  margin-bottom: 5px;
}

.voiceBoxL .voiceBoxImg,
.voiceBoxR .voiceBoxImg {
  float: left;
  margin-right: 10px;
}

.voiceBoxImg img {
  border-radius: 5px;
  border: 1px solid #999;
  height: auto;
  width: 100px;
  vertical-align: top;
}

#contentsBlock .voiceBoxL .balloon-line,
#contentsBlock .voiceBoxR .balloon-line {
  border-bottom-color: #FF7CAD !important;
  border-right-color: transparent !important;
  border-left-color: transparent !important;
}

#contentsBlock .voiceBoxL .balloon-bg,
#contentsBlock .voiceBoxR .balloon-bg {
  border-bottom-color: #FF7CAD !important;
  border-right-color: transparent !important;
  border-left-color: transparent !important;
}

.entryBlock {
  background-color: #FDE6D8;
  margin-bottom: 20px;
  padding: 15px;
  border-radius: 5px;
  clear: both;
}

.entryBox {
  overflow: hidden;
  margin-bottom: 10px;
}

.entryBoxImg {
  width: 100%;
  max-width: 200px;
  margin: 0 auto 10px;
  text-align: center;
}

.entryBoxImg img {
  max-width: 100%;
  height: auto;
}

.entryBlock .leadText {
  font-size: 13px;
  line-height: 1.5;
}

/*====================================
  qa.php Q&Aページ
====================================*/
.dx_item_page {
  background: rgba(255,255,255,.7);
  padding-top: 15px;
}

section.dx_item_page_list {
  width: 90%;
  background: rgba(255,255,255,.5);
  padding: 10px 15px;
  margin: 0 auto 15px;
  border-radius: 4px;
}

#qaBody .contents_item {
  background-color: rgba(255,255,255,1.0) !important;
}

.dx_item_page_title {
  background: #ff7cad;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
  margin-bottom: 15px;
  padding: 6px 10px;
}

.dx_item_contents {
  padding: 0 0 20px;
}

.dx_item_qa_text {
  width: 100%;
  margin: 15px auto;
  font-size: 13px;
  line-height: 1.5;
}

.dx_item_contents .dx_item_qa_text table {
  width: 100%;
}

.dx_item_contents .dx_item_qa_text table td {
  padding: 0px 10px 20px 0px;
  vertical-align: top;
}

/* Q&Aアイコンのスマホ調整 */
.dx_item_contents .q_icon,
.dx_item_contents .a_icon {
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 18px;
}

/* Q&Aテキストのスマホ調整 */
.dx_item_contents .q_text {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
}

.dx_item_contents .a_text {
  font-size: 14px;
  line-height: 1.5;
}

/*====================================
  map.php アクセスページ
====================================*/
#mapBody .contents_item {
  background-color: rgba(255,255,255,1.0) !important;
}

#map_page {
  background: rgba(255,255,255,.7);
  padding-top: 15px;
}

section.map_page_list {
  width: 90%;
  background: rgba(255,255,255,.5);
  padding: 10px 15px;
  margin: 0 auto 15px;
  border-radius: 4px;
}

.map_page_title {
  background: #ff7cad;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
  margin-bottom: 15px;
  padding: 6px 10px;
}

.mapbox {
  width: 100%;
  margin: 15px auto 0 auto;
}

.mapbox .googlemap {
  text-align: center;
  margin-bottom: 15px;
}

.map-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 75%; /* スマホではやや縦長に */
  margin-bottom: 20px;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

#dataBlock {
  margin-bottom: 25px;
  width: 100%;
}

#dataBlock .tableinfo {
  border-left: 1px solid #E1D6C2;
  border-right: 1px solid #E1D6C2;
}

#dataBlock table {
  display: table;
}

#dataBlock table {
  width: 100%;
  background-color: #ff7cad;
  border-collapse: separate;
  border-spacing: 0px 1px;
  table-layout: fixed;
}

#dataBlock table tr th {
  width: 30%; /* スマホでは少し幅を広げる */
  background-color: #ECE8DC;
  border: 1px solid #fff;
  text-align: left;
  vertical-align: top;
  padding: 8px 0px;
  font-size: 13px;
}

#dataBlock table tr th div {
  font-weight: bold;
  padding-left: 9px;
  padding-right: 5px;
}

#dataBlock table tr td {
  width: 70%;
  padding: 8px 0px;
  background-color: #fff;
  word-wrap: break-word;
  font-size: 13px;
  line-height: 1.5;
}

#dataBlock table tr td div {
  padding-left: 9px;
  padding-right: 9px;
}

#dataBlock table tr td a img {
  position: relative;
  height: 35px; /* スマホでは少し小さく */
  width: auto;
}

/* スマホでの店舗情報表示 */
.shop-info {
  text-align: center;
  margin: 10px 0;
  font-size: 13px;
  line-height: 1.5;
}

.shop-info p {
  margin-bottom: 5px;
}

/*====================================
  freespace.php フリースペースページ
====================================*/
.freespace_page {
  background: rgba(255,255,255,.7);
  padding-top: 15px;
}

section.freespace_page_list {
  width: 90%;
  background: rgba(255,255,255,.5);
  padding: 10px 15px;
  margin: 0 auto 15px;
  border-radius: 4px;
}

#infoBlock {
  margin-bottom: 20px;
  background-color: #F7CDDE;
  padding: 10px;
  border-radius: 4px;
}

#infoBlock h3 {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
  background: url(/recruit/img/iconCheck.webp) 0 50% no-repeat;
  background-size: 20px auto;
  line-height: 1.5;
  padding-bottom: 5px;
  border-bottom: 2px solid #ff39ad;
  padding: 0 0 5px 30px; /* スマホでは左パディングを小さく */
  margin: 0;
}

#infoBlock ul {
  padding: 0;
  margin: 10px 0 0 0;
  list-style: none;
}

#infoBlock ul li {
  margin: 8px 0;
  font-size: 13px;
  line-height: 1.4;
}

#contentsBlock .main-link {
  color: #005EEB !important;
}

#infoBlock ul li a {
  padding-left: 12px;
  background: url(/recruit/img/moreLinkList.webp) 0 50% no-repeat;
  display: block;
  word-break: break-all;
}

.freespace_page_title {
  background: #ff7cad;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  border-radius: 4px;
  margin-bottom: 15px;
  padding: 6px 10px;
}

#infoDetailBlock {
  margin-bottom: 20px;
  padding: 0 5px;
}

#infoDetailBlock .infoImg {
  text-align: center;
  margin: 0 0 10px 0;
}

#infoDetailBlock .infoImg img {
  max-width: 100%;
  height: auto;
}

/* スマホ向けテキスト調整 */
#infoDetailBlock p {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 15px;
}

/* テーブルがある場合の調整 */
#infoDetailBlock table {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0;
}

#infoDetailBlock table th,
#infoDetailBlock table td {
  padding: 8px;
  border: 1px solid #ddd;
  font-size: 12px;
  word-break: break-all;
}


/*====================================
  応募・質問のポップアップ
====================================*/
.popop {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  
  /* 配置を修正 - flexboxを確実に適用 */
  display: none;
  align-items: center;
  justify-content: center;
  overflow-y: auto; /* スクロール可能に */
  padding: 20px 0; /* 上下パディングを追加 */
}

/* アクティブ時の表示設定 */
.popop.active {
  display: flex;
}

/* ポップアップのコンテンツエリア */
.pop_wrap {
  background-color: white;
  border-radius: 8px;
  width: 85%; /* 幅を少し狭く */
  max-width: 400px;
  padding: 20px 15px;
  position: relative;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  margin: auto; /* 上下左右中央 */
  /* 確実に表示されるように */
  transform: translateY(0); /* 位置調整が入っていた場合リセット */
  top: auto;
  left: auto;
}

/* タイトルスタイル */
.pop_title {
  font-size: 16px; /* フォントサイズを小さく */
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
  text-align: center;
  border-bottom: 2px solid #ff7cad;
  padding-bottom: 8px;
}

/* 閉じるボタン */
.pop_close {
  position: absolute;
  top: 8px; /* 位置を少し調整 */
  right: 8px;
  font-size: 20px; /* サイズを少し小さく */
  color: #333;
  background-color: transparent;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  z-index: 10000;
}

/* アイコンのスタイル調整 */
.pop_close i {
  font-size: 24px;
}

/* タップエリアを広げる */
.pop_close:before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
}

/* SNS部分のスタイル */
.pop_info {
  background-color: #f9f9f9;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 15px;
}

.snsid {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.sns_icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.snstxt {
  font-weight: bold;
  margin-bottom: 8px;
  color: #333;
  font-size: 14px;
}

.sns-link-open {
  color: #ff7cad;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
}

.pop_info p {
  font-size: 13px;
  line-height: 1.5;
}

/* 電話部分のスタイル */
.connect1 {
  display: flex;
  align-items: center;
  border-top: 1px solid #eee;
  padding-top: 12px;
}

.connect_title {
  background-color: #ff7cad;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  margin-right: 10px;
  font-size: 12px;
}

.connect_list {
  font-size: 16px;
  font-weight: bold;
  color: #333;
}

/* アニメーション */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.popop.active {
  animation: fadeIn 0.3s ease-in-out;
}


