@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;
}

/* FORMリンク */
.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');
}

/* リンクボタン */
.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 {
  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 #e6e6e6;
}
/* ----------------------------------------- */
/* 表の線種設定
/* ----------------------------------------- */
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_hospital/q_l_img.png);
  padding-left: 105px;
}
.parts16.size_l .answer {
  background-image: url(/parts_theme_image_hospital/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_hospital/q_s_img.png);
  padding-left: 60px;
}
.parts16.size_s .answer {
  background-image: url(/parts_theme_image_hospital/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;
}