/*
Theme Name: Lightning Child
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.5.1
*/


/* =========================================================
	pdf印刷禁止
========================================================= */

.no-rclick {
margin:0 auto !important; 
text-align: center;
}

/*--iframe-------------*/
/* デフォルト（PC表示想定） */
.iframe-pdf {
 width: 100%;
 height: 99vh;
margin-bottom: 0;
 } 

/* スマホやタブレット（横幅768px以下） */ 
@media (max-width: 768px) {
 .iframe-pdf {
 height: 99vh; 
} 
} 

/*--印刷禁止-------------*/
@media print {
 .iframe-pdf {
 display: none !important; 
} 
}


/* =========================================================
	非表示
========================================================= */

/*--ヘッダー非表示-------------*/
#site-header {
	display: none !important;
}

/*--ハンバーガーメニュー非表示-------------*/
.vk-mobile-nav-menu-btn {
	display: none;
}


/* =========================================================
	共通
========================================================= */

/*--リンク-------------*/
a {
	text-decoration: underline  !important;
}

/*--スマホ左寄せ-------------*/

@media screen and (min-width: 768px){   
.taC-switch {
	text-align: center;
}
}
@media screen and (max-width: 768px){   
.taC-switch {
	text-align: left;
}
}

/*--text-align-------------*/
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}


/*--border-radius-------------*/
.boR10 { border-radius: 10px !important;}	
.boR20 { border-radius: 20px !important;}
.boR30 { border-radius: 30px !important;}




/* =========================================================
	区切り線
========================================================= */

/*--区切り線（デフォルト）-------------*/
.wp-block-separator {
	border: none;
	height: 4px; /* ドットの高さ */
	background-image: radial-gradient(circle, #999 1.5px, transparent 1.5px);
	background-size: 8px 4px; /* 横の間隔 */
	background-repeat: repeat-x;
	margin:2rem 0 !important;
}

/*--区切り線（マージンなし）-------------*/
.wp-block-separator-mg0 {
	border: none;
	height: 4px; /* ドットの高さ */
	background-image: radial-gradient(circle, #999 1.5px, transparent 1.5px);
	background-size: 8px 4px; /* 横の間隔 */
	background-repeat: repeat-x;
	margin:0 !important;
}

/*--区切り線（マージンなし・細）-------------*/
.wp-block-separator-mg0thin {
	border: none;
	height: 2px; /* ドットの高さ */
	background-image: radial-gradient(circle, #BABABA 1.5px, transparent 1.5px);
	background-size: 6px 3px; /* 横の間隔 */
	background-repeat: repeat-x;
	margin:0 !important;
}


/* =========================================================
	リストの装飾
========================================================= */

/*-- liの下に区切り線-------------*/
.list-underline li {
  padding: 0.8rem 0; /* 上下余白はお好みで */
  position: relative; /* 擬似要素の基準にする */
}

.list-underline li::after {
  content: "";
  position: absolute; /* ← ここ重要！ */
  left: 0;    /* li の左端から */
  right: 0;   /* li の右端まで */
  bottom: 0;  /* li の下にくっつける */
  height: 3px; /* ← ドットの太さを細めに */
  background-image: radial-gradient(circle, #bababa 1px, transparent 1px);
  background-size: 6px 3px; /* ← ドット感を細かめに */
  background-repeat: repeat-x;
}


/* =========================================================
	ステップの装飾・調整
========================================================= */

.vk_step_item_content {
	padding-top:0.2rem;
}
@media screen and (max-width: 768px){   
.vk_step_item_content {
	padding-top:0.4rem;
}
}
@media screen and (max-width: 768px){   
.vk_step .vk_step_item {
	padding: 0 0 0 calc(var(--vk-size-text) * 3.5 );
}
}

/*-- タイトル文字サイズ大-------------*/
.vk_step_item_content h4 {
	font-size: 1.3rem !important;
	margin-bottom:1rem;
	margin-top:0.5rem;
}
@media screen and (max-width: 768px){   
.vk_step_item_content h4 {
	font-size: 1.2rem !important;
	margin-bottom:0.7rem;
}
}


/*-- キャプション文字サイズ大-------------*/
.step-fsL .vk_step_item_dot_caption {
	font-size: calc(var(--vk-size-text) * 0.8 ) !important;
}
.step-fsL .vk_step_item_dot_num {
	font-family: "Noto Sans JP",sans-serif;
	font-size: calc(var(--vk-size-text) * 1.2 ) !important;
}


/* =========================================================
	カラム
========================================================= */

/*--角丸枠---------------*/
.roundedbox {
	padding: 1.5rem 2rem 2rem 2rem !important;
	border-radius: 20px;
}
@media screen and (max-width: 768px){   
.roundedbox {
	padding: 1rem !important;
	border-radius: 20px;
}
}

/*--角丸グレー枠---------------*/
.roundedbox-border {
	padding: 1.5rem !important;
	border-radius: 20px;
	border: 3px solid #dcdcdc !important;
	background-color: #fff;
}

@media screen and (max-width: 768px){   
.roundedbox-border {
	padding: 1rem!important;
}
}


/* =========================================================
	ボタン
========================================================= */


/* ===============================
   ボタンのサブテキスト
================================== */

.vk_button .vk_button_link_subCaption{
	font-size: 75% !important;

}
.vk_button_link {
	text-decoration: none  !important;
}

/* ===============================
   ページトップ
================================== */

.page_top_btn {
	position: fixed;
	right: 2%;
	bottom: 3%;
	z-index: 99999;
	width: 42px;
	height: 42px;
	background: #81c3d7;
	border: none; /* 枠線なし */
	border-radius: 5px; /* 角丸 */
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); /* ふわっと影を追加 */
	background-image: var(--ver_page_top_button_url);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0;
	transition: opacity .3s;
	text-decoration: none;
	color: transparent;
}

.scrolled .page_top_btn {
	display: block;
	opacity: 1;
}



/* =========================================================
	タイトル
========================================================= */

h1,h2,h3,h4,h5 {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #444;
}


/* ===============================
   大タイトル
================================== */

.titleL {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 700;
	color: #555;
	text-align: center !important;
	font-size: 2.4rem !important;
	background-image: url(../../uploads/back_title-L.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top:90px !important;

}


@media screen and (max-width: 768px){   
.titleL {
	font-size: 2rem !important;
	padding-top:90px !important;
}
}

.titleL-sub{
	font-family: 'Mulish', sans-serif !important;
	font-size: 0.9rem !important;
	margin-top:0.8rem !important;
	margin-bottom:2rem !important;
	font-weight: 400 !important;
	text-align: center !important;
}


/*--各種情報サービス案内---------------*/
.titleL-service {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 700;
	color: #555;
	text-align: center !important;
	font-size: 2.8rem !important;
	margin-bottom:0 !important;
	background-image: url(../../uploads/back_title-L.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top:90px !important;

}

@media screen and (max-width: 768px){   
.titleL-service {
	font-size: 2.4rem !important;
	padding-top:90px !important;
}
}

.titleL-service-sub{
	font-family: 'Mulish', sans-serif !important;
	font-size: 0.9rem !important;
	margin-top:0.8rem !important;
	margin-bottom:2rem !important;
	font-weight: 400 !important;
	text-align: center !important;
}


/* ===============================
   中タイトル
================================== */

/*--メイン----------------*/
.titleM {
	width:100%;
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: left !important;
	font-size: 2rem !important;
	padding: 0.5em 0.8em;
	border-radius: 8px;
	display: inline-block;
background: linear-gradient(90deg,
  #e9e1f0, /* 薄パープル */
  #fbe8d1, /* パステルオレンジ */
  #d9ecf2, /* パステルブルー */
  #f9d9e7, /* ピンク */
  #deefe2  /* グリーン */
);
}
@media screen and (max-width: 768px){   
.titleM {
	font-size: 1.6rem !important;
}
}


/*--共通サブタイトル---------------*/
.titleM-sub{
	font-family: 'Mulish', sans-serif !important;
	font-size: 0.8rem !important;
	margin-top:0.7rem !important;
	margin-bottom:2rem !important;
	font-weight: 400 !important;
	text-align: center !important;
}


/*--グリーン-------------*/
.titleM-Green {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: center !important;
	font-size: 2.2rem !important;
	margin-bottom:0 !important;
	background-image: url(../../uploads/back_title-green.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top:2rem !important;
}
@media screen and (max-width: 768px){   
.titleM-Green {
	font-size: 1.8rem !important;
}
}


/*--ブルー---------------*/
.titleM-Blue {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: center !important;
	font-size: 2.2rem !important;
	margin-bottom:0 !important;
	background-image: url(../../uploads/back_title-blue.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top:2rem !important;
}
@media screen and (max-width: 768px){   
.titleM-Blue {
	font-size: 1.8rem !important;
}
}


/*--ミント---------------*/
.titleM-Mint {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: center !important;
	font-size: 2.2rem !important;
	margin-bottom:0 !important;
	background-image: url(../../uploads/back_title-mint.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top:2rem !important;
}
@media screen and (max-width: 768px){   
.titleM-Mint {
	font-size: 1.8rem !important;
}
}


/*--健康保険組合担当者様へ---------------*/

.titleM-tantou {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	text-align: center !important;
	position: absolute;
	font-size: 2rem;
	top: -1.8em;  /* ボックスから浮かせる位置 */
	left: 50%;
	transform: translateX(-50%);
	color: #555;
	padding: 1.8rem 3rem 1.8rem;
	border-radius: 10px;
	white-space: nowrap;
	background-color: #d9e4ef;
}

@media screen and (max-width: 1024px){   
.titleM-tantou {
	font-size: 1.8rem !important;
	white-space: nowrap;
}
}

@media screen and (max-width: 575px){   
.titleM-tantou {
	white-space: nowrap;
	font-size: 1.8rem !important;
	top: -2em;  /* ボックスから浮かせる位置 */
	padding: 1.2rem 2rem 1.8rem;
}
}


/* ===============================
   小タイトル レインボー線
================================== */

.titleS {
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	font-size: 1.8rem !important;
	display: inline-block;
	position: relative;
	padding: 0 0.7em 0.4em;
	margin-bottom: 1rem;
}

.titleS::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 6px;
	width: 100%;
	border-radius: 4px;
	background: linear-gradient(90deg, 
	rgba(207, 176, 222, 0.5),
	rgba(246, 190, 106, 0.5),
	rgba(129, 195, 215, 0.5),
	rgba(242, 168, 200, 0.5),
	rgba(140, 201, 157, 0.5)
	);
}

@media screen and (max-width: 768px){   
.titleS {
	font-size: 1.4rem !important;
}
}


/* ===============================
   背景パステル
================================== */

/*--パープル---------------*/
.titleSS-bgPurple {
	width:100%;
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: left !important;
	font-size: 1.5rem !important;
	padding: 0.8rem 0.8rem;
	border-radius: 8px;
	display: inline-block;
	background-color: #d0b2df30;
	margin:1rem 0;
	);
}

@media screen and (max-width: 768px){   
.titleSS-bgPurple {
	font-size: 1.3rem !important;
	padding: 0.6rem 0.6rem;

}
}

/*--オレンジ---------------*/
.titleSS-bgOrange {
	width:100%;
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: left !important;
	font-size: 1.5rem !important;
	padding: 0.8rem 0.8rem;
	border-radius: 8px;
	display: inline-block;
	background-color: #f6be6a30;
	margin:1rem 0;
	);
}

@media screen and (max-width: 768px){   
.titleSS-bgOrange {
	font-size: 1.3rem !important;
	padding: 0.6rem 0.6rem;
}
}

/*--ブルー---------------*/
.titleSS-bgBlue {
	width:100%;
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: left !important;
	font-size: 1.5rem !important;
	padding: 0.8rem 0.8rem;
	border-radius: 8px;
	display: inline-block;
	background-color: #81c3d730;
	margin:1rem 0;
	);
}

@media screen and (max-width: 768px){   
.titleSS-bgBlue {
	font-size: 1.3rem !important;
	padding: 0.6rem 0.6rem;
}
}

/*--ピンク---------------*/
.titleSS-bgPink {
	width:100%;
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: left !important;
	font-size: 1.5rem !important;
	padding: 0.8rem 0.8rem;
	border-radius: 8px;
	display: inline-block;
	background-color: #e8a3c130;
	margin:1rem 0;
	);
}

@media screen and (max-width: 768px){   
.titleSS-bgPink {
	font-size: 1.3rem !important;
	padding: 0.6rem 0.6rem;
}
}

/*--グリーン---------------*/
.titleSS-bgGreen {
	width:100%;
	font-family: 'Kiwi Maru', serif !important;
	font-weight: 600;
	color: #555;
	text-align: left !important;
	font-size: 1.5rem !important;
	padding: 0.8rem 0.8rem;
	border-radius: 8px;
	display: inline-block;
	background-color: #8cc99d30;
	margin:1rem 0;
	);
}

@media screen and (max-width: 768px){   
.titleSS-bgGreen {
	font-size: 1.3rem !important;
	padding: 0.6rem 0.6rem;
}
}


/* =========================================================
	テーブル
========================================================= */

/*--パープル---------------*/
.table01-purple table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}
.table01-purple thead td {
	background: #f0e7f5;
	color: #444;
	font-weight: bold;
	text-align: center;
	border: 1px solid #dcdcdc;
	padding: 10px;
	font-size: 1rem;
}
.table01-purple tbody td {
	padding: 10px 12px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}
.table01-purple tbody tr:nth-child(even) {
	background: #F7F2FA;
}
.table01-purple tbody tr:nth-child(odd) {
	background: #fff;
}
.table01-purple tbody td:first-child,
.table01-purple thead td:first-child {
	font-weight: 600;
	color: #333;
	width: 33% !important;
	text-align: center;
}

/*--オレンジ---------------*/
.table01-orange table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}
.table01-orange thead td {
	background: #fcebd0;
	color: #444;
	font-weight: bold;
	text-align: center;
	border: 1px solid #dcdcdc;
	padding: 10px;
	font-size: 1rem;
}
.table01-orange tbody td {
	padding: 10px 12px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}
.table01-orange tbody tr:nth-child(even) {
	background: #FFF9F0;
}
.table01-orange tbody tr:nth-child(odd) {
	background: #fff;
}
.table01-orange tbody td:first-child,
.table01-orange thead td:first-child {
	font-weight: 600;
	color: #333;
	width: 33% !important;
	text-align: center;
}

/*--ブルー---------------*/
.table01-blue table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}
.table01-blue thead td {
	background: #d7ecf2;
	color: #444;
	font-weight: bold;
	text-align: center;
	border: 1px solid #dcdcdc;
	padding: 10px;
	font-size: 1rem;
}
.table01-blue tbody td {
	padding: 10px 12px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}
.table01-blue tbody tr:nth-child(even) {
	background: #eff7fd;
}
.table01-blue tbody tr:nth-child(odd) {
	background: #fff;
}
.table01-blue tbody td:first-child,
.table01-blue thead td:first-child {
	font-weight: 600;
	color: #333;
	width: 33% !important;
	text-align: center;
}


/*--ピンク---------------*/
.table01-pink table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}
.table01-pink thead td {
	background: #f8e2ec;
	color: #444;
	font-weight: bold;
	text-align: center;
	border: 1px solid #dcdcdc;
	padding: 10px;
	font-size: 1rem;
}
.table01-pink tbody td {
	padding: 10px 12px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}
.table01-pink tbody tr:nth-child(even) {
	background: #FAF0F4;
}
.table01-pink tbody tr:nth-child(odd) {
	background: #fff;
}
.table01-pink tbody td:first-child,
.table01-pink thead td:first-child {
	font-weight: 600;
	color: #333;
	width: 33% !important;
	text-align: center;
}


/*--グリーン---------------*/
.table01-green table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}
.table01-green thead td {
	background: #D4EBDA;
	color: #444;
	font-weight: bold;
	text-align: center;
	border: 1px solid #dcdcdc;
	padding: 10px;
	font-size: 1rem;
}
.table01-green tbody td {
	padding: 10px 12px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}
.table01-green tbody tr:nth-child(even) {
	background: #f0f6f0;
}
.table01-green tbody tr:nth-child(odd) {
	background: #fff;
}
.table01-green tbody td:first-child,
.table01-green thead td:first-child {
	font-weight: 600;
	color: #333;
	width: 33% !important;
	text-align: center;
}



/*--がん標準治療とは？---------------------------------------------*/

/*--よくある誤解と正しい理解---------------*/

/*--誤解---------------*/
.table-st01 table {
	font-size: 1rem;
  width: 100%;
  border-collapse: separate;   /* セル間にスペースを作る */
  border-spacing: 10px ;        /* セルとセルの間のスペース */
  border: none;
  background: transparent;
  table-layout: fixed;         /* 幅の指定を反映させるため */
}

/* 全てのセル */
.table-st01 table td {
  padding: 12px 16px;
  border: none;
  background: #fff;
  box-sizing: border-box;
  border-radius: 8px;
}

/* 左列（1列目） */
.table-st01 table td:first-child {
  width: 15%;
  text-align: center;
  vertical-align: middle;      /* 縦中央揃え */
  font-weight: 600;
}

/* 1行目 左セル */
.table-st01 table tr:nth-child(1) td:first-child {
  background: #7ebbcd40; /* 薄いブルー */
}

@media screen and (max-width: 768px) {
  .table-st01 table,
  .table-st01 tbody,
  .table-st01 tr,
  .table-st01 td {
    display: block;       /* テーブルをブロック表示に */
    width: 100%;          /* 幅を100%に */
  }

  /* 1つの行をカードっぽく */
  .table-st01 tr {
    margin-bottom: 0;  /* 行ごとに余白 */
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    padding: 0.5rem;
  }

  /* 左セルのスタイル調整 */
  .table-st01 table td:first-child {
    width: 100%;           /* 横幅いっぱい */
    text-align: left;      /* 左寄せに変更（お好みで） */
    margin-bottom: 0; /* 下にちょっと余白 */
  }

  /* 右セル（中身部分） */
  .table-st01 table td:not(:first-child) {
    padding-left: 0.5rem;
  }
}

/*--正しい理解---------------*/
.table-st02 table {
	font-size: 1rem;
  width: 100%;
  border-collapse: separate;   /* セル間にスペースを作る */
  border-spacing: 10px ;        /* セルとセルの間のスペース */
  border: none;
  background: transparent;
  table-layout: fixed;         /* 幅の指定を反映させるため */
}

/* 全てのセル */
.table-st02 table td {
  padding: 12px 16px;
  border: none;
  background: #fff;
  box-sizing: border-box;
  border-radius: 8px;
}

/* 左列（1列目） */
.table-st02 table td:first-child {
  width: 15%;
  text-align: center;
  vertical-align: middle;      /* 縦中央揃え */
  font-weight: 600;
}

/* 1行目 左セル */
.table-st02 table tr:nth-child(1) td:first-child {
  background: #fb647440; /* 薄いピンク */
	font-size: 1.1em;
}
@media screen and (max-width: 768px) {
  .table-st02 table,
  .table-st02 tbody,
  .table-st02 tr,
  .table-st02 td {
    display: block;       /* テーブルをブロック表示に */
    width: 100%;          /* 幅を100%に */
  }

  /* 1つの行をカードっぽく */
  .table-st02 tr {
    margin-bottom: 0;  /* 行ごとに余白 */
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    padding: 0.5rem;
  }

  /* 左セルのスタイル調整 */
  .table-st02 table td:first-child {
    width: 100%;           /* 横幅いっぱい */
    text-align: left;      /* 左寄せに変更（お好みで） */
    margin-bottom: 0; /* 下にちょっと余白 */
  }

  /* 右セル（中身部分） */
  .table-st02 table td:not(:first-child) {
    padding-left: 0.5rem;
  }
}


/*--高額療養費-----------------------------------------------------*/

/* スマホ　幅調整 */
@media screen and (max-width: 768px) {
.highcost-wrap .table01-pink tbody td:first-child,
.highcost-wrap .table01-pink thead td:first-child {
	width: 40% !important;
}
}




/*--障害年金-----------------------------------------------------*/

/*--ピンク---------------*/
/* 通常（PC） */
.table-pePink table {
  font-size: 1rem;
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px;
  border: none;
  background: transparent;
  table-layout: fixed;
}

.table-pePink table td {
  padding: 12px 16px;
  border: none;
  background: #e8a3c120;
  box-sizing: border-box;
  border-radius: 8px;
}

.table-pePink table td:first-child {
  width: 20%;
  text-align: center;
  vertical-align: middle;
  font-weight: 600;
}

.table-pePink table tr td:first-child {
  background: #e8a3c150;
}

/* --- スマホ用（幅768px以下の時） --- */
@media screen and (max-width: 768px) {
  .table-pePink table,
  .table-pePink tbody,
  .table-pePink tr,
  .table-pePink td {
    display: block;
    width: 100%;
  }

  /* 行ごとにカード風に */
  .table-pePink tr {
    margin-bottom: 20px;
  }

.table-pePink table td:first-child {
  width: 40%;
}

  /* 左列セルを見出しっぽく */
  .table-pePink td:first-child {
    border-radius: 8px 8px 0 0;
    font-weight: bold;
  }

  /* 右セルを本文っぽく */
  .table-pePink td:not(:first-child) {
    border-radius: 0 0 8px 8px;
  }
}

/*--グリーン---------------*/
/* 通常（PC） */
.table-peGreen table {
  font-size: 1rem;
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px;
  border: none;
  background: transparent;
  table-layout: fixed;
}

.table-peGreen table td {
  padding: 12px 16px;
  border: none;
  background: #8cc99d20;
  box-sizing: border-box;
  border-radius: 8px;
}

.table-peGreen table td:first-child {
  width: 20%;
  text-align: center;
  vertical-align: middle;
  font-weight: 600;
}

.table-peGreen table tr td:first-child {
  background: #8cc99d50;
}

/* --- スマホ用（幅768px以下の時） --- */
@media screen and (max-width: 768px) {
  .table-peGreen table,
  .table-peGreen tbody,
  .table-peGreen tr,
  .table-peGreen td {
    display: block;
    width: 100%;
  }

  /* 行ごとにカード風に */
  .table-peGreen tr {
    margin-bottom: 20px;
  }

.table-peGreen table td:first-child {
  width: 40%;
}

  /* 左列セルを見出しっぽく */
  .table-peGreen td:first-child {
    border-radius: 8px 8px 0 0;
    font-weight: bold;
  }

  /* 右セルを本文っぽく */
  .table-peGreen td:not(:first-child) {
    border-radius: 0 0 8px 8px;
  }
}


/*--グレー---------------*/
/* 通常（PC） */
.table-peGray table {
  font-size: 1rem;
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px;
  border: none;
  background: transparent;
  table-layout: fixed;
}

.table-peGray table td {
  padding: 12px 16px;
  border: none;
  background: #f3f3f3;
  box-sizing: border-box;
  border-radius: 8px;
}

.table-peGray table td:first-child {
  width: 20%;
  text-align: center;
  vertical-align: middle;
  font-weight: 600;
}

.table-peGray table tr td:first-child {
  background: #dedede;
}

/* --- スマホ用（幅768px以下の時） --- */
@media screen and (max-width: 768px) {
  .table-peGray table,
  .table-peGray tbody,
  .table-peGray tr,
  .table-peGray td {
    display: block;
    width: 100%;
  }

  /* 行ごとにカード風に */
  .table-peGray tr {
    margin-bottom: 20px;
  }

.table-peGray table td:first-child {
  width: 40%;
}

  /* 左列セルを見出しっぽく */
  .table-peGray td:first-child {
    border-radius: 8px 8px 0 0;
    font-weight: bold;
  }

  /* 右セルを本文っぽく */
  .table-peGray td:not(:first-child) {
    border-radius: 0 0 8px 8px;
  }
}

/*--socialcontributionactivities がん支援社会貢献活動---------------*/

/* スマホ　幅調整 */
@media screen and (max-width: 768px) {
.social-wrap .table01-green tbody td:first-child,
.social-wrap .table01-green thead td:first-child {
	width: 50% !important;
}
}

/*--group01 アフラックの取り扱いについて---------------*/

.table-group01 table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}

.table-group01 td {
	padding: 10px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}

/* 加入件数（1行目1列目） */
.table-group01 tr:first-child td:first-child {
	font-weight: 600;
	color: #333;
	text-align: center;
	width: 25%;
	background: #81c3d730;
}

/* 給付（2行目1列目＝rowspanセル） */
.table-group01 tr:nth-child(2) td:first-child {
	font-weight: 600;
	color: #333;
	text-align: center;
	width: 25%;
	background: #81c3d730;
}

@media screen and (max-width: 768px){   
.table-group01 tr:first-child td:first-child,
.table-group01 tr:nth-child(2) td:first-child {
	width: 20%;
}
}
/*--group01-02 アフラックの取り扱いについて（加入件数無しバージョン）---------------*/

.table-group01-02 table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}

.table-group01-02 td {
	padding: 10px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}

/* 給付（1行目1列目） */
.table-group01-02 tr:first-child td:first-child {
	font-weight: 600;
	color: #333;
	text-align: center;
	width: 25%;
	background: #81c3d730;
}

/* 未使用（2行目1列目＝rowspanセル） */
/*
.table-group01-02 tr:nth-child(2) td:first-child {
	font-weight: 600;
	color: #333;
	text-align: center;
	width: 25%;
	background: #81c3d730;
}
*/

@media screen and (max-width: 768px){   
.table-group01-02 tr:first-child td:first-child,
.table-group01-02 tr:nth-child(2) td:first-child {
	width: 20%;
}
}
/* =========================================================
	各種情報サービス案内
========================================================= */

/*--ボタン上揃え---------------------------*/

.servicebox .vk_buttons_col {
	align-items: flex-start;
}


/*--重要アイコン---------------------------*/

/*重要アイコン（１）*/
.important01 {
	margin: 10px 0 0 0 !important;
	padding:  0 !important;
	position: relative;
	height:39px;
}
.important01 img {
	position: absolute;
	left: 55%;
	top: 0;
	transform: translateX(-50%);
}

@media screen and (max-width: 991px){   
.important01 {
	margin: 10px 0 0 0 !important;
}
.important01 img {
	left: 17%;
}
}
@media screen and (max-width: 575px){   
.important01 {
	margin: 10px 0 0 0 !important;
}
.important01 img {
	left: 7%;
}
}


/*重要アイコン（２）*/
.important02 {
	margin: 0 -10px 0 0 !important;
	
}


.important03 {
	margin: 10px 0 0 0 !important;
	padding:  0 !important;
	position: relative;
	height:39px;
}
.important03 img {
	position: absolute;
	left: 55%;
	top: 0;
	transform: translateX(-50%);
}


/*重要アイコン（３）*/
@media screen and (min-width: 1684px){   
.important03 {
	margin: -5px 0 0 0 !important;
}
}

@media screen and (min-width: 1400px) and (max-width: 1683px) {   
.important03 {
	margin: -25px 0 0 0 !important;
}
}

@media screen and (min-width: 992px) and (max-width: 1399px) {   
.important03 {
	margin: -5px 0 0 0 !important;
}
}

@media screen and (max-width: 991px){   
.important03 {
	margin: 10px 0 0 0 !important;
}
.important03 img {
	left: 17%;
}
}
@media screen and (max-width: 575px){   
.important03 {
	margin: 10px 0 0 0 !important;
}
.important03 img {
	left: 7%;
}
}


/*--グリッドカラム　余白調整---------------*/

.service .col-12 {
	padding-right: 30px;
	padding-left: 30px;
}
@media screen and (max-width: 768px){   
.service .col-12 {
	padding-right: 10px;
	padding-left: 10px;
}
}
.servicebox .col-6 {
	padding-right: 11px;
	padding-left: 11px;
}




/* =========================================================
	各種情報サービス案内
========================================================= */

/*--グリーン---------------*/
.servicebox-Green {
	padding: 0.5rem 3rem 2.5rem 3rem !important;
	border: 10px solid #eef9f1;
	border-radius: 20px;
	background:#e3f4e8;
	box-shadow: inset 0 0 0 3px #fff;
}

@media screen and (max-width: 768px){   
.servicebox-Green {
	padding: 0.5rem 1.5rem 2rem 1.5rem !important;
}
}


/*--ブルー---------------*/
.servicebox-Blue {
	padding: 0.5rem 3rem 2.5rem 3rem !important;
	border: 10px solid #edf7fb;
	border-radius: 20px;
	background:#e0f2f8;
	box-shadow: inset 0 0 0 3px #fff;
}
@media screen and (max-width: 768px){   
.servicebox-Blue {
	padding: 0.5rem 1.5rem 2rem 1.5rem !important;
}
}


/*--ミント---------------*/
.servicebox-Mint {
	padding: 0.5rem 3rem 2.5rem 3rem !important;
	border: 10px solid #edf8f7;
	border-radius: 20px;
	background:#e1f3f2;
	box-shadow: inset 0 0 0 3px #fff;
}
@media screen and (max-width: 768px){   
.servicebox-Mint {
	padding: 0.5rem 1.5rem 2rem 1.5rem !important;
}
}


/*--健康保険組合ご担当者様へ---------------*/
.servicebox-Navy {
	text-align: center !important;
	position: relative;
	padding: 2.5rem 3rem !important;
	border: 10px solid #e9eff5;
	border-radius: 20px;
	background:#d9e4ef;
	box-shadow: inset 0 0 0 3px #fff;
}
@media screen and (max-width: 768px){   
.servicebox-Navy {
	padding: 2rem 1.5rem !important;
}
}

.servicebox-Navy .col-12 {
	padding-right: 11px;
	padding-left: 11px;
}

@media screen and (min-width: 1200px){   
.servicebox-Navy {
	width:70% !important;
	margin:auto !important;
}
}


/*--万が一がんと診断されたとき---------------*/
.servicebox-red {
	border-radius: 20px !important;
}

@media screen and (max-width: 768px){   
.vk_borderBox.is-style-vk_borderBox-style-solid-kado-iconFeature > .vk_borderBox_title_container {
	text-align: center !important;
}
.vk_borderBox .vk_borderBox_title_container .vk_borderBox_title {
	line-height:1.6;
}
}


/*--がん医療情報サイト---------------*/
.servicebox-White {
	padding: 0.5rem 3rem 2.5rem 3rem !important;
}
@media screen and (max-width: 768px){   
.servicebox-White {
	padding: 0.5rem 1.5rem 2rem 1.5rem !important;
}
}


/* =========================================================
	「がん保険相談コーナー」のご案内
========================================================= */

/*--画像の配置（右の地図）---------------*/
.photo-left img {
  display: block;
  max-width: 100%;   /* はみ出し防止 */
  height: auto;
  margin: 0;         /* デフォルトは左寄せ */
}

/* スマホ用 */
@media screen and (max-width: 768px) {
  .photo-left img {
    display: block;
    width: 100%;
    margin: 0 auto;     /* 中央寄せ */
  }
}

/*--画像の配置（左の社内写真）---------------*/
.photo-right img {
  display: block;
  max-width: 100%;   /* はみ出し防止 */
  max-height: auto;
  margin: 0 0 0 auto;   /* デフォルトは右寄せ */
}

/* スマホ用 */
@media screen and (max-width: 768px) {
  .photo-right img {
    width: 70%;         /* 画面の70%サイズ */
    margin: 0 auto;     /* 中央寄せ */
  }
}




/* =========================================================
	高額療養費
========================================================= */

.table01-highcost table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 1rem;
	color: #444;
	border: 1px solid #dcdcdc;
}
.table01-highcost thead td {
	background: #f8e2ec;
	color: #444;
	font-weight: bold;
	text-align: center;
	border: 1px solid #dcdcdc;
	padding: 10px;
	font-size: 1rem;
}
.table01-highcost tbody td {
	padding: 10px 12px;
	border: 1px solid #dcdcdc;
	vertical-align: middle;
	word-break: break-word;
}
.table01-highcost tbody tr:nth-child(even) {
	background: #FCF2F6;
}
.table01-highcost tbody tr:nth-child(odd) {
	background: #fff;
}
.table01-highcost tbody td:first-child,
.table01-highcost thead td:first-child {
	font-weight: 600;
	color: #333;
	width: 33% !important;
	text-align: center;
}


/* =========================================================
	↓↓デザ修正前　※※後日消去になるはず※※
========================================================= */
.title-l {
	font-weight: 600;
	color: #444;
	text-align: center !important;
	font-size: 3rem !important;
	padding-bottom:1.5rem !important;
	background: url(../../uploads/back_title-l.png) center bottom no-repeat;


@media screen and (max-width: 768px){   
.title-l {
	font-size: 2.4rem !important;
}
}
.title-m {
	font-weight: 500;
	color: #444;
	text-align: center !important;
	font-size: 2.2rem !important;
	padding-bottom:1.4rem !important;
	background: url(../../uploads/back_title-m.png) center bottom no-repeat;
}

@media screen and (max-width: 768px){   
.title-m {
	font-size: 1.6rem !important;
}
}
.title-tantou {
	font-weight: 500;
	text-align: center !important;
	position: absolute;
	font-size: 2rem;
	top: -1.8em;  /* ボックスから浮かせる位置 */
	left: 50%;
	transform: translateX(-50%);
	color: #444;
	padding: 1.8rem 3rem 1.4rem;
	border-radius: 10px;
	white-space: nowrap;
	background-color: #dcdcdc;
	background-image: url(../../uploads/back_title-m.png);
	background-repeat: no-repeat;
	background-position: center bottom;
}
@media screen and (max-width: 1024px){   
.title-tantou {
	font-size: 1.8rem !important;
	white-space: nowrap;
}
}
@media screen and (max-width: 575px){   
.title-tantou {
	white-space: nowrap;
	font-size: 1.6rem !important;
	top: -1.6em;  /* ボックスから浮かせる位置 */
	padding: 1.2rem 2rem 1.4rem;
}
}
.servicebox-green {
	padding: 2.5rem 3rem !important;
	border: 10px solid #daf5e2;
	border-radius: 20px;
	background:#c2eed0;
}
@media screen and (max-width: 768px){   
.servicebox-green {
	padding: 2rem 1.5rem !important;
}
}
.servicebox-blue {
	padding: 2.5rem 3rem !important;
	border: 10px solid #daf1fa;
	border-radius: 20px;
	background:#c3e9f6;
}
@media screen and (max-width: 768px){   
.servicebox-blue {
	padding: 2rem 1.5rem !important;
}
}
.servicebox-gray {
	text-align: center !important;
	position: relative;
	padding: 2.5rem 3rem !important;
	border: 10px solid #ededed;
	border-radius: 20px;
	background:#dcdcdc;
}
@media screen and (max-width: 768px){   
.servicebox-gray {
	padding: 2rem 1.5rem !important;
}
}
.servicebox-gray .col-12 {
	padding-right: 11px;
	padding-left: 11px;
}
@media screen and (min-width: 1200px){   
.servicebox-gray {
	width:70% !important;
	margin:auto !important;
}
}

/* =========================================================
	↑↑デザ修正前　※※後日消去になるはず※※
========================================================= */


