@charset "utf-8";

/* ----------------------------------------- */
/* CSS Version 20161208
/* ----------------------------------------- */

/* ----------------------------------------- */
/* テキスト リンク色
/* ----------------------------------------- */
/* 色1 */
.text_tag span button i.color1,
span.text_color1{
  color: #E50012;
}
/* 色2 */
.text_tag span button i.color2,
span.text_color2{
  color: #0012E5;
}
/* 文中リンク */
div[class^="parts"] a{
  color: #0033FF;
  text-decoration: underline;
}
div[class^="parts"] a:visited{
  color: #990099;
  text-decoration: underline;
}

/* ========================================= */
/* リンクボタン & フォームボタン */
/* ========================================= */

/* --- リンクボタン --- */
.link {
  background: transparent;
  border: none;
}
div[class^="parts"] .link a,
.link a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.36;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  position: relative;
  border-radius: 5px;
  min-height: 42px;
  padding: 10px 38px 10px 22px;
  transition: all 0.3s ease;
  color: #326E39;
  background-color: #ffffff;
  border: 1px solid #326E39;
}
div[class^="parts"] .link a:hover,
.link a:hover {
  color: #ffffff;
  background-color: #326E39;
  border: 1px solid #ffffff;
}
div[class^="parts"] .link a::before,
.link a::before {
  content: ""; 
  width: 20px;
  height: 20px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23326E39" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 18 15 12 9 6"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
div[class^="parts"] .link a:hover::before,
.link a:hover::before {
  /* ホバー時は「白色」のSVG画像に変更 */
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 18 15 12 9 6"/%3E%3C/svg%3E');
}

/* --- フォームボタン --- */
.link_form input.submit_button {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-weight: bold;
  font-style: normal;
  font-size: 1.5rem;
  line-height: 1.36;
  text-align: center;
  min-height: 42px;
  padding: 10px 38px 10px 22px;
  cursor: pointer;
  border-radius: 5px;
  transition: all 0.3s ease;
  color: #326E39;
  background-color: #ffffff;
  border: 1px solid #326E39;
  text-shadow: none;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23326E39" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 18 15 12 9 6"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 20px; 
}
.link_form input.submit_button:hover {
  color: #ffffff;
  background-color: #326E39;
  border: 1px solid #ffffff;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="9 18 15 12 9 6"/%3E%3C/svg%3E');
}

/* 表の文字レイアウト */
.parts07 table,
.parts08 table,
.parts09 table,
.parts10 table,
.parts11 table,
.parts28 table,
.parts29 table,
.parts30 table{
  font-size: 90%;
  line-height: 140%;
}
.parts11 table,
.parts12 table{
  font-size: 90%;
  line-height: 140%;
}

/* 余白設定 */
div[class^="parts"] th, div[class^="parts"] td{
padding: 10px;
}

div[class^="parts"] th img, div[class^="parts"] td img{
padding-top: 5px;
padding-bottom: 5px;
}

/* 区切り線の種類 */
hr{
  border-top: solid 1px #E5E5E5;
}
/* ----------------------------------------- */
/* 表の線種設定
/* ----------------------------------------- */
div[class^="parts"].frame,
div[class^="parts"].ch_frame .child,
div[class^="parts"] th,
div[class^="parts"] td{
  border: solid 1px #E5E5E5;
}
div[class^="parts"] th,
div[class^="parts"].frame_bold table{ /* 見出し太枠 */
  border: solid 3px #E5E5E5;
}
div[class*="parts"].title_color th{ /* 色付き見出し枠リセット*/
  border: solid 1px #E5E5E5;
}
div[class^="parts"].line_bottom_solid tr{ /* 下線（実線） */
  border-bottom: solid 1px #E5E5E5;
}
div[class^="parts"].line_bottom_dashed tr{ /* 下線（破線） */
  border-bottom: dashed 1px #E5E5E5;
}

/* ----------------------------------------- */
/* 背景色付き・見出し背景色・table
/* ----------------------------------------- */
.back_color,
.ch_back_color .child,
.h_back_color h3{
  background-color: #F9F6F1;
}
.title_color th,
.x_even_color tr:nth-child(even),
.y_even_color td:nth-child(even){
  background-color: #F9F6F1;
}

/* ----------------------------------------- */
/* Q & A 画像
/* ----------------------------------------- */
.parts16 .question,
.parts16 .answer {
  background-repeat: no-repeat;
  background-position: left top;
}
.parts16 p {
  margin: 0;
  line-height: 1.6;
}
.parts16.size_l .question {
  background-image: url(/parts_theme_image_recruit/q_l_img.png);
  padding-left: 105px;
}
.parts16.size_l .answer {
  background-image: url(/parts_theme_image_recruit/a_l_img.png);
  padding-left: 105px;
  min-height: 80px;
}
.parts16.size_l .question p {
  background-color: #f7f6f1;
  color: #3b2d26;
  font-size: 1.8rem;
  font-weight: 700;
  min-height: 60px;
  display: flex;
  align-items: center;
  padding: 10px 20px;
  box-sizing: border-box;
}
.parts16.size_l .answer p {
  padding-top: 0px;
}
.parts16.size_s .question {
  background-image: url(/parts_theme_image_recruit/q_s_img.png);
  padding-left: 60px;
}
.parts16.size_s .answer {
  background-image: url(/parts_theme_image_recruit/a_s_img.png);
  padding-left: 60px;
  min-height: 45px;
}
.parts16.size_s .question p {
  background-color: #f7f6f1;
  color: #3b2d26;
  font-size: 1.8rem;
  font-weight: 700;
  min-height: 45px;
  display: flex;
  align-items: center;
  padding: 5px 15px;
  box-sizing: border-box;
}
.parts16.size_s .answer p {
  padding-top: 5px;
}

/* ------------------------------- */
/* Before & After 画像
/* ------------------------------- */
.parts17.top_bottom .before img,
.parts17.left_right .before img{
/* 幅300px、高さ20px 以内 BEFOREの文字画像 */
  background-image: url(/parts_theme_image_hospital/before.png);
}
.parts17.top_bottom .after img,
.parts17.left_right .after img{
/* 幅300px、高さ20px 以内 AFTERの文字画像 */
  background-image: url(/parts_theme_image_hospital/after.png);
}
.parts17.top_bottom .before{
  /* 縦レイアウト用の矢印 幅300px、高さ45px以内 */
  background-image: url(/parts_theme_image_hospital/arrow_v.png);
}
.parts17.left_right .before{
  /* 横レイアウト用の矢印 幅100px、高さ80px以内 */
  background-image: url(/parts_theme_image_hospital/arrow_h.png);
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .parts17.left_right .before,
  .column1w .parts17.left_right .before,
  .column1s .parts17.left_right .before{
    /* 縦レイアウト用の矢印 幅300px、高さ45px以内 */
    background-image: url(/parts_theme_image/arrow_v.gif);
  }
}

/* ----------------------------------------- */
/* テキスト見出し フォント指定 及び 背景画像
/* ----------------------------------------- */

.parts18 h1, .parts18 h2, .parts18 h3, .parts18 h4 {
  font-family: 'Zen Old Mincho', serif;
  color: #333333;
  line-height: 1.3;
}
.parts18 h1{
  font-weight: 700;
  font-size: 3.4rem;
  letter-spacing: 8px;
  line-height: 1.4; 
  text-shadow:
    1px  1px 0px #ffffff,
   -1px  1px 0px #ffffff,
    1px -1px 0px #ffffff,
   -1px -1px 0px #ffffff,
    1px  0px 0px #ffffff,
   -1px  0px 0px #ffffff,
    0px  1px 0px #ffffff,
    0px -1px 0px #ffffff,
    0 0 2px  #ffffff,
    0 0 8px  #ffffff,
    0 0 16px #ffffff,
    0 0 24px #ffffff;
}
.parts18 h1 a,
.parts18 h1 a:visited{
  text-decoration: none;
  color: #333333;
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .parts18 h1{
  }
}

.parts18 h2{
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.4; 
  text-shadow:
    1px  1px 0px #ffffff,
   -1px  1px 0px #ffffff,
    1px -1px 0px #ffffff,
   -1px -1px 0px #ffffff,
    1px  0px 0px #ffffff,
   -1px  0px 0px #ffffff,
    0px  1px 0px #ffffff,
    0px -1px 0px #ffffff,
    0 0 2px  #ffffff,
    0 0 8px  #ffffff,
    0 0 16px #ffffff,
    0 0 24px #ffffff;
}
.parts18 h2 a,
.parts18 h2 a:visited{
  text-decoration: none;
  color: #333333;
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .parts18 h2{
  }
}


[class^="parts"] h3{
  width: 100%;
  font-size: 2.0rem;
  border: none;
}
 /* H3の表示面積が少ないパーツ対応 */
[class^="parts05"] h3,
[class^="parts06"] h3,
[class^="parts27"] h3,
[class^="parts14"] h3,
[class^="parts15"] h3,
[class^="parts34"] h3,
[class^="parts35"] h3{
  font-size: 1.8rem;
}

[class^="parts"] h3 a,
[class^="parts"] h3 a:visited{
  text-decoration: none;
  color: #333333;
}

 /* 画像見出しとHTMLコードは装飾無し */
[class^="parts19"] h3,
[class^="parts20"] h3,
[class^="parts21"] h3{
  width: 100%;
  background: none;
  border: none;
  padding: 0;
}
[class^="parts"] h4{
  font-size: 1.6rem;
}
[class^="parts"] h4 a,
[class^="parts"] h4 a:visited{
  text-decoration: none;
  color: #333333;
}

 /* 画像見出しとHTMLコードは装飾無し */
[class^="parts19"] h4,
[class^="parts20"] h4,
[class^="parts21"] h4{
  width: 100%;
  background: none;
  border: none;
  padding: 0;
}
/* ----------------------------------------- */
/* 下線
/* ----------------------------------------- */
[class^="parts"] h3 u,
u,
span.text_underline{
  text-decoration: none;
  background:linear-gradient(transparent 60%, #FFFF00 0%);
}

span[style*="text-decoration: underline"]{
  text-decoration: none !important;
  background:linear-gradient(transparent 60%, #FFFF00 0%);
}
/* テキスト縁取り */
.bordering .txt p {
  text-shadow:
    1px  1px 0px rgba(255, 255, 255, 0.7),
   -1px  1px 0px rgba(255, 255, 255, 0.7),
    1px -1px 0px rgba(255, 255, 255, 0.7),
   -1px -1px 0px rgba(255, 255, 255, 0.7),
    1px  0px 0px rgba(255, 255, 255, 0.7),
   -1px  0px 0px rgba(255, 255, 255, 0.7),
    0px  1px 0px rgba(255, 255, 255, 0.7),
    0px -1px 0px rgba(255, 255, 255, 0.7);
  font-weight: bold;
  color: #333333;
}
/* ================
   募集職種リスト
=================== */

div:has(> ul.bf_db) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
ul.bf_db > br {
  display: none;
}

ul.bf_db {
  --card-theme: #d96566;
  --card-bg: #fdf0f0; 
  --card-border: #e6b9b9;
  
  background-color: var(--card-bg);
  border: 2px solid var(--card-border);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 20px;
  padding-bottom: 70px;
  margin: 0 0 20px 0;
  list-style: none;
  height: auto;
  aspect-ratio: auto;
}
ul.bf_db li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* キャッチコピー */
ul.bf_db .db1 {
  position: relative;
  z-index: 3;
  margin-bottom: 12px;
}
ul.bf_db .db1 a {
  display: inline-block;
  background-color: var(--card-theme);
  font-family: 'Zen Old Mincho', serif;
  font-weight: 700;
  color: #ffffff;
  font-size: 1.4rem;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* 募集職種 */
ul.bf_db .db2 {
  position: relative;
  z-index: 2;
  margin-bottom: 10px;
  width: 55%;
  min-height: 60px;
  display: flex;
  align-items: center;
}
ul.bf_db .db2 a {
  display: block; 
  color: #333333;
  font-family: 'Zen Old Mincho', serif;
  font-weight: bold;
  line-height: 1.4;
  text-decoration: none;
  font-size: 1.8rem;
}
ul.bf_db .db2 a::first-line {
  font-size: 2.0rem;
  line-height: 1.2;
}

/* テキスト文 */
ul.bf_db .db3 {
  position: relative;
  z-index: 2;
  width: 55%;
}
ul.bf_db .db3 a {
  color: #444444;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.5;
  text-decoration: none;
  display: block;
  text-shadow: 1px 1px 2px var(--card-bg), -1px 1px 2px var(--card-bg), 1px -1px 2px var(--card-bg), -1px -1px 2px var(--card-bg), 0 0 3px var(--card-bg);
}

/* 画像エリア */
ul.bf_db .db4 {
  position: absolute;
  top: auto;
  bottom: 0;
  right: 0;
  width: 45%; 
  height: calc(100% - 30px);
  min-height: 250px;
  z-index: 1;
  pointer-events: none;
}
ul.bf_db .db4 a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
ul.bf_db .db4 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 95px 0 0 0; 
}

/* ボタンエリア */
ul.bf_db .db5 {
  position: absolute;
  bottom: 40px;
  left: 20px;
  width: 65%;
  z-index: 2;
}
ul.bf_db .db5 a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--card-theme);
  color: #ffffff;
  border: none;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
  text-decoration: none;
  padding: 10px;
  border-radius: 5px;
  transition: opacity 0.3s ease;
}
ul.bf_db .db5 a:hover {
  opacity: 0.8;
}
ul.bf_db .db5 a::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: translateY(-50%) rotate(45deg);
}

/* --- カラーテーマ --- */
ul.bf_db.pink,   ul.bf_db[class*="pink"]   { --card-theme: #d96566; --card-bg: #fdf0f0; --card-border: #e6b9b9; }
ul.bf_db.green,  ul.bf_db[class*="green"]  { --card-theme: #326e39; --card-bg: #eaf0eb; --card-border: #a4c2a5; }
ul.bf_db.orange, ul.bf_db[class*="orange"] { --card-theme: #f2af2c; --card-bg: #feeed3; --card-border: #f7d69b; }
ul.bf_db.gray,   ul.bf_db[class*="gray"]   { --card-theme: #1f2937; --card-bg: #f3f4f6; --card-border: #d1d5db; }
ul.bf_db.blue,   ul.bf_db[class*="blue"]   { --card-theme: #007ea7; --card-bg: #f0f8ff; --card-border: #99d6eb; }
ul.bf_db.brown,  ul.bf_db[class*="brown"]  { --card-theme: #3c2f2f; --card-bg: #fffaf0; --card-border: #d1c7c7; }

/* --- スマホビュー --- */
@media only screen and (max-width: 649px) {
  ul.bf_db {
    width: 100%;
    max-width: 340px;
    min-height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 80px;
  }
  ul.bf_db .db4 {
    height: calc(100% - 20px);
    min-height: 220px;
  }
  ul.bf_db .db5 {
    bottom: 22px; 
  }
}
/* --- PCビュー --- */
@media print, screen and (min-width: 650px) {
  ul.bf_db {
    width: calc((100% - 60px) / 3);
    margin: 0 30px 30px 0;
    padding-bottom: 80px;
    max-width: none;
  }
  ul.bf_db:nth-of-type(3n) {
    margin-right: 0;
  }
  ul.bf_db .db1 { margin-bottom: 4px; }
  ul.bf_db .db1 a { font-size: 1.6rem; padding: 4px 16px; }
  ul.bf_db .db2 { 
    width: 60%; 
    height: 58px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
  }
  ul.bf_db .db2 a { 
    font-size: 2.0rem; 
    position: relative;
    top: 4px;
  }
  ul.bf_db .db2 a::first-line { font-size: 2.4rem; }
  ul.bf_db .db3 { width: 65%; }
  ul.bf_db .db3 a { font-size: 1.5rem; }
  ul.bf_db .db4 { top: 30px; }
  ul.bf_db .db5 { bottom: 20px; width: 70%; }
  ul.bf_db .db5 a { font-size: 1.6rem; }
}