@charset "utf-8";
/* Generic-child-joint : main.content ONLY
    固定ページ・投稿ページ・カスタム投稿タイプページで投稿できる要素に対する装飾と
    下層ページで汎用的に使える汎用スタイル
    ※一部editor-style.cssと同期
        【投稿アイテム用スタイル】
        ・メールアドレス記載時ルール
　　　　・メインコンテンツ内ヘッダ・h要素・画像キャプション
        ・リスト（ul , ol）
        ・定義リスト（dl）
        ・テーブル（table）
        ・PDF EmbedderでPDFを埋め込んだときのスタイル上書き
        ・Advances Editor Tools 追加スタイル
        【汎用スタイル】
        【メディアクエリ 】
*/
/*
    font-family: "IBM Plex Sans", sans-serif;
    font-family: "Noto Sans JP", sans-serif;
    font-family: "Noto Serif JP", serif;
*/
/* Color 
Purple : rgba(37,26,142,1.00)
Pink : rgba(251,37,118,1.00)
*/


/*メールアドレス記載時ルール------------------------------------------*/
/*メールアドレスの表記：以下htmlコード記載例
<span class="mail-address">hoge<span class="domain">domain.jp</span></span>
*/
.mail-address span.domain::before{ content: "@"; display: inline; }


/* 【固定ページ・投稿ページ共用】メインコンテンツ内ヘッダ・h要素
------------------------------------------------------------ */
/* ============================================
   メインコンテンツ見出しスタイル
   ============================================ */

/* 共通設定 */
main.content h1,
main.content h2,
main.content h3,
main.content h4,
main.content h5,
main.content h6 {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.4;
  text-align: left;
  color: rgba(37,26,142,1);
  margin-bottom: 1rem; /* 後の余白は固定 */
}

/* ============================================
   h1 大見出し
   ============================================ */
main.content h1 {
  border-top: 1px solid rgba(37,26,142,1);
  border-bottom: 1px solid rgba(37,26,142,1);
  font-size: 2rem;
  font-weight: normal;
  padding: 1rem 0;
  margin-top: 2rem;
}

/* ============================================
   h2 見出し
   ============================================ */
main.content h2 {
  border-left: 12px solid rgba(37,26,142,1); /* 太くして強調 */
  padding-left: 10px;
  font-size: 1.75rem;
  margin-top: 2rem;
}

/* h2 2回目以降は余白を広く */
main.content .entry-content h2:not(:first-of-type) {
  margin-top: 3em;
}

/* 段落直後のh2余白補正 */
main.content p + h2 {
  margin-top: 2em;
}

/* h2擬似装飾（左の強調ライン） */
main.content h2::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 100%;
  background-color: rgba(37,26,142,1);
  margin-right: 6px;
}

/* ============================================
   h3 背景付き見出し
   ============================================ */
main.content h3 {
  background-color: rgba(37,26,142,0.85);
  color: #fff;
  font-size: 1.5rem;
  padding: 0.6rem 0.8rem;
  margin-top: 2em;
  margin-bottom: 1rem;
}

/* 段落直後のh3余白補正 */
main.content p + h3 {
  margin-top: 2em;
}

/* ============================================
   h4 サブ見出し
   ============================================ */
main.content h4 {
  font-size: 1.25rem;
  border-bottom: 3px solid #cdcdcd;
  padding: 0.5rem 0;
  position: relative;
  margin-top: 2em;
  margin-bottom: 1rem;
}

main.content h4::before {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 50%;
  height: 3px;
  background-color: rgba(37,26,142,0.85);
}

/* ============================================
   h5 小見出し
   ============================================ */
main.content h5 {
  display: inline-block;        /* 文字幅に合わせる */
  font-size: 1.125rem;
  padding-bottom: 2px;          /* 文字と線の間隔 */
  margin-top: 2em;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid rgba(37,26,142,1);
}


/* ============================================
   h6 小見出し2
   ============================================ */
main.content h6 {
  font-size: 1rem;
  margin-top: 2em;
  margin-bottom: 1rem;
}

main.content h6::before {
  content: "●";
  color: rgba(37,26,142,1);
  margin-right: 0.25rem;
}

/* ============================================
   段落直後のh4〜h6余白補正
   ============================================ */
main.content p + h4,
main.content p + h5,
main.content p + h6 {
  margin-top: 2em;
}
main.content h5 + p {
    margin-top: 0.25rem !important;
}

/* h5直下のul/olの余白を狭く */
main.content h5 + ul,
main.content h5 + ol {
    margin-top: 0.25rem; /* 見出しとリストの距離を詰める */
}


/* ============================================
   li直下のh4〜h6を崩さず表示
   ============================================ */
main.content ol li h4,
main.content ol li h5,
main.content ol li h6 {
    margin: 0.5em 0;             /* 上下余白を微調整 */
    padding-left: 0;              
    border-bottom: none;
}
main.content ol li h4:nth-of-type(n+2),
main.content ol li h5:nth-of-type(n+2),
main.content ol li h6:nth-of-type(n+2) {
    margin-top: 1em;             
}

/* h4直下のマーカー */
li.h4-item::marker {
    color: rgba(37,26,142,0.85);
    font-size: 1.25rem;
    font-weight: 700;
}

/* h5直下のマーカー */
li.h5-item::marker {
    color: rgba(37,26,142,0.85);
    font-size: 1.125rem;
    font-weight: 700;
}

/* h6直下のマーカー */
li.h6-item::marker {
    color: rgba(37,26,142,0.85);
    font-size: 1rem;
    font-weight: 700;
}

main.content ol li> h4 {
    font-size: 1.25rem;
    padding: 0.5rem 0;
    position: relative;
}

main.content ol li> h4::before {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 50%;
    height: 3px;
    background-color: transparent;
}

main.content ol li> h5 {
    font-size: 1.125rem;
    padding-bottom: 2px;
    background-color: transparent;
}

main.content ol li> h6 {
    font-size: 1rem;
}

/* メインコンテンツ内画像キャプション・引用
------------------------------------------------------------ */
/*メインコンテンツ - メインカラム - エントリーコンテンツ - 画像キャプション */
main.content .entry-content .wp-caption-text{
    color: #666;
    font-size: .75rem;
    margin: 0 auto 1em;
    max-width: fit-content;
}
/*メインコンテンツ - メインカラム - エントリーコンテンツ - 引用 */
blockquote {
    background: #f7f7f7;
    border: 3px solid #ddd;
    margin: 0;
    padding: 1rem 2rem;
    position: relative;
}
blockquote::before {
    color: #ddd;
    content: "\f10d";
    display: block;
    font-family: FontAwesome;
    font-size: 1.5rem;
    position: absolute;
        left: .5rem;
        top: .5rem;
}
blockquote::after {
    color: #ddd;
    content: "\f10e";
    display: block;
    font-family: FontAwesome;
    font-size: 1.5rem;
    position: absolute;
        bottom: .5rem;
        right: .5rem;
}

/* リスト
ul li , ol li , ul class="no-mark" ul , ol , li , .no-mark
---------------------------------------------------- */
/* リスト形式（デフォルト・discあり） */
.content ul {
	margin: 0 auto 1.5em 1.5em;
	padding: 0;
}
.content ul li {
	line-height: 1.25;
    margin: 0 0 1em;
}
.content ul li:last-child {
	margin-bottom: 0;
}
/* 順序リスト形式 */
.content ol {
	list-style-type: decimal;
	margin: 0 auto 1.5em 1.5em;
	padding: 0;
}
.content ol li {
	line-height: 1.25;
    margin: 0 0 1em;
}
.content ol li:last-child {
	margin-bottom: 0;
}
/* リスト形式（・discなし） */
.content ul.no-mark {
	margin: 0 auto 1.5em auto;
	padding: 0;
}
.content ul.no-mark li {
	list-style-type: none;
    margin: 0 0 .5em;
}

/* 横並びのリスト（リストマークなし）
------------------------------------------------------------ */
.content ul.sbs-nodisc {
	list-style: none;
	margin: 0 auto 30px auto;
	padding: 0;
	width: auto;
}
.content ul.sbs-nodisc:after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	visibility: hidden;
}
.content ul.sbs-nodisc li {
	float: left;
	line-height: 1.8em;
	margin: 0 1.5em 0 0;
}

/* 横並びのリスト（リストマークあり）
------------------------------------------------------------ */
.content ul.sbs {
	margin: 0 auto 30px 1.0em;
	padding: 0;
	width: auto;
}
.content ul.sbs::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	visibility: hidden;
}
.content ul.sbs li {
	float: left;
	line-height: 1.8em;
	margin: 0 2.5em 0 0;
	color: #014C7E;
}
.content ul.sbs li span{
	color: #333;
}

/* 定義リスト
dl , dt , dd
---------------------------------------------------- */
.content dl {
	margin: 0 auto 1.5em auto;
	padding: 0;
}
.content dl dt {
    font-weight: bold;
    margin: 0 0 .5em;
}

/* 説明リスト形式　横並び
------------------------------------------------------------ */
.content dl.sbs {
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    line-height: 1.5;
    margin: 0 0 30px 0;
    padding: 0;
    width: 100%;
}
.content dl.sbs > dt {
    margin: 0 1em .5em 0;
}
.content dl.sbs > dd {
    margin: 0 0 .5em 0;
    flex: 1;
}

/* テーブル
table thead tbody tfoot tr th td 
---------------------------------------------------- */
/* 基本 */
.content table {
    background-color: #fff;
    line-height: 1.25;
	margin: 0 auto 1.5em auto;
	padding: 0;
	width: 100%;
	word-break: break-all;
}
.content table th,
.content table td {
	border: 1px solid rgba(37, 26, 142, .5);
    line-height: 150%;
	padding: .75em;
    vertical-align: middle;
	overflow-wrap: anywhere;
}
.content table th {
	background-color: rgba(37,26,142,0.15);
}
.content table td ul{
    margin: 0;
}
.content table td ul li{
    line-height: 150%;
    list-style-position: inside;
    margin: 0;
}
.content table td dl {
    margin: .5em auto 0 ;
}
.content table td dl:first-child {
    margin: 0 auto;
}
.content table td dl dt {
    margin: 0;
}
/* セル均等割テーブル */
.content table.fix {
	table-layout: fixed;
}

.content .scroll:has( table.overflow-table ){
    width: 100%;
    overflow-x: scroll;
}
.content table.overflow-table {
    font-size: unset;
    max-width: 767px !important;
    table-layout: fixed;
    width: 767px !important;
}



/*PDF EmbedderでPDFを埋め込んだときのスタイル上書き---------------------------*/
main.content .entry-content div.pdfemb-viewer {
    background-color: #f7f7f7;
    border: #ddd solid 1px ;
}

/*リンクの種類によるアイコン付与---------------------------*/
/*common*/
.content a::before{
    content: "";
    display: inline;
    font-family: FontAwesome;
    padding: 0 .25em 0 0;
}
/*外部サイトへのリンク（リンク先が target="_blank" の時）*/
.content a[target="_blank"]::before{
    content: "\f24d";
}

/*PDFファイルリンク（拡張子.pdf）*/
.content a[href$='.pdf']::before ,
.content a[href$='.pdf'][target="_blank"]::before{
    color: #c1272d;
    content: "\f1c1";
}
/*Wordファイルリンク（拡張子：.doc .docx）*/
.content a[href$='.doc']::before , a[href$='.docx']::before,
.content a[href$='.doc'][target="_blank"]::before , a[href$='.docx'][target="_blank"]::before{ 
    color: #0069A8;
    content: "\f1c2";
}
/*EXCELファイルリンク（拡張子：.xls　.xlsx）*/
.content a[href$='.xls']::before , a[href$='.xlsx']::before,
.content a[href$='.xls'][target="_blank"]::before , a[href$='.xlsx'][target="_blank"]::before{ 
    color: #39b54A;
    content: "\f1c3";
}
/*PowerPointファイルリンク（拡張子：.ppt）*/
.content a[href$='.ppt']::before,
.content a[href$='.ppt'][target="_blank"]::before{ 
    color: #f25a24;
    content: "\f1c4";
}
/*その他ファイルリンク（拡張子：.zip）*/
.content a[href$='.zip']::before,
.content a[href$='.zip'][target="_blank"]::before{
    color: #9079b6;
    content: "\f019";
}

/* リンク内に img がある場合は非表示 */
/* imgリンク（画像拡張子で終わるもの）には before アイコンを表示しない */
.content a[href$=".jpg"]::before,
.content a[href$=".jpeg"]::before,
.content a[href$=".png"]::before,
.content a[href$=".gif"]::before,
.content a[href$=".webp"]::before,
.content a[href$=".svg"]::before,
.content a:has(img)::before {
  content: none !important;
}
/*メールアドレス（mailto:）*/
.content a[href^="mailto:"]::before{
    content: "\f003";
}
/*電話番号リンク（tel:）*/
.content a[href^="tel:"]{
    color: rgba(123,161,48,1.00);
    text-decoration: underline;
}
.content a[href^="tel:"]:hover{
    text-decoration: none;
}
.content a[href^="tel:"]::before{
    content: "\f095";
}

/*Advances Editor Tools 追加スタイル------------------------------------------*/
/*下点線追加*/
main.content .entry-content .border-btm{
    border-bottom: #ddd dashed 1px;
    padding: .5rem;
}
/*強調枠 - 青ライン*/
p.border-blue{
    border: rgba(37,26,142,.50) solid 2px;
    padding: 1rem;
}
/*強調枠 - グレー背景*/
p.bg-gray{
    background-color: #f7f7f7;
    padding: 1rem;
}
/*ボタンリンク（ハイパーリンクに追加）*/
a.btn {
    background-color: rgba(37,26,142,1.00);
    border: 1px solid rgba(37,26,142,1.00);
    color: #fff;
    display: inline-block;
    padding:1em 2em;
    text-align: center;
    text-decoration: none !important;
    transition: all .3s;
}
a.btn:hover {
    background-color: #fff;
    color: rgba(37,26,142,1.00);
    text-decoration: none;
}
/*グレーボタンリンク（ハイパーリンクに追加）*/
a.btn_gray {
    background-color: #eee;
    border: 2px solid #eee;
    color: #333;
    display: inline-block;
    padding: 1em 2em;
    text-align: center;
    text-decoration: none !important;
    transition: .3s;
}
a.btn_gray:hover {
    background-color: #f7f7f7;
}
/*動画ボタンリンク（ハイパーリンクに追加）*/
a.btn_movie {
    background-color: rgba(37,26,142,1.00);
    border: 1px solid rgba(37,26,142,1.00);
    color: #fff;
    display: inline-block;
    padding:1em 2em;
    text-align: center;
    text-decoration: none !important;
    transition: all .3s;
}
a.btn_movie:hover {
    background-color: #fff;
    color: rgba(37,26,142,1.00);
    text-decoration: none;
}
a.btn_movie::after {
    content: "\f144";
    font-family: FontAwesome;
    font-size: 1.5rem;
    padding: 0 0 0 .5rem;
}

/* 【汎用スタイル】
    ・テキスト装飾
    ・margin・padding スタイル
    ・width スタイル
    ・フレキシブルボックス（.flex , flex-sb , flex-c ）
---------------------------------------------------- */
/*テキスト装飾------------------------------------------*/
/*文字の横位置*/
.al-l{ text-align: left; }
.al-r{ text-align: right; }
.al-c{ text-align: center; }
/*文字の縦位置*/
.vl-t{ vertical-align: top!important; }/*上寄せ*/
.vl-m{ vertical-align: middle!important; }/*中央寄せ*/
.vl-b{ vertical-align: bottom!important; }/*下寄せ*/
/*フォントの装飾*/
.b{ font-weight: bold!important; } /*太字*/
.txtBld { font-weight: bold!important; } /*太字*/
.normal{ font-weight: normal!important; }/*太字を解除*/
/*フォントサイズの設定*/
.big{ font-size: 1.2em!important; }
.big2{ font-size: 1.5em!important; }
.big3{ font-size: 1.8em!important; }
.small{ font-size: 0.8em!important; }
.f08em{ font-size: 0.8em; }
.f09em{ font-size: 0.9em; }
.f10em{ font-size: 1.0em; }
.f11em{ font-size: 1.1em; }
.f12em{ font-size: 1.2em; }
.f13em{ font-size: 1.3em; }
.f14em{ font-size: 1.4em; }
.f15em{ font-size: 1.5em; }
.f16em{ font-size: 1.6em; }
.f17em{ font-size: 1.7em; }
.f18em{ font-size: 1.8em; }
.f19em{ font-size: 1.9em; }
.f20em{ font-size: 2.0em; }
.f21em{ font-size: 2.1em; }
.f22em{ font-size: 2.2em; }
.f23em{ font-size: 2.3em; }
.f24em{ font-size: 2.4em; }
.f25em{ font-size: 2.5em; }
.f26em{ font-size: 2.6em; }
.f27em{ font-size: 2.7em; }
.f28em{ font-size: 2.8em; }
.f29em{ font-size: 2.9em; }
.f30em{ font-size: 3.0em; }
/*フォントの色設定*/
.red{ background-color: transparent !important; color: #e53935!important; }/*赤*/
.blue{background-color: transparent !important; color: #0000dd!important; }/*青*/
.green{background-color: transparent !important; color: #4caf50!important; }/*緑*/
.yellow{background-color: transparent !important; color: #ffff00!important; }/*黄*/
.navy{background-color: transparent !important; color: #3f51b5!important; }/*紺*/
.orange{background-color: transparent !important; color: #ff9800!important; }/*橙*/
.pink{background-color: transparent !important; color: #ec407a!important; }/*ピンク*/
.purple{background-color: transparent !important; color: #9c27b0!important; }/*紫*/
.olive{background-color: transparent !important; color: #808000!important; }/*オリーブ*/
.lime{background-color: transparent !important; color: #00ff00!important; }/*黄緑*/
.aqua{background-color: transparent !important; color: #00bcd4!important; }/*水色*/
.black{background-color: transparent !important; color: #000!important; }/*黒*/
.gray{background-color: transparent !important; color: #ccc!important; }/*灰*/
.white{background-color: transparent !important; color: #fff!important; }/*白*/
.brown{background-color: transparent !important; color: #6d4c33!important; }/*茶*/
/*マーカー表示（背景に着色）*/
.box-key-green,
.box-yellow,
.box-orange,
.box-pink,
.box-lime,
.box-gray{ padding: 2px; }
.box-key-green{ background-color: #00beaf; }/*キーカラー*/
.box-yellow{ background-color: #ff6; }/*黄*/
.box-orange{ background-color: #f90; }/*橙*/
.box-pink{ background-color: #ffccff; }/*ピンク*/
.box-lime{ background-color: #9f9; }/*黄緑*/
.box-gray{ background-color: #ccc; }/*灰*/

/*margin・paddingスタイル------------------------------------------*/
/* 下マージンリセット */
.no-mb { margin-bottom: 0 !important; }
/*周りのブロックからの距離（margin）*/
.m0{ margin: 0!important; }/*周りからのmarginを0に*/
.m0-t{ margin-top: 0!important; }/*上からのmarginを0に*/
.m0-r{ margin-right: 0!important; }/*右からのmarginを0に*/
.m0-b{ margin-bottom: 0!important; }/*下からのmarginを0に*/
.m0-l{ margin-left: 0!important; }/*左からのmarginを0に*/
.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }
.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }
.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }
.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }
.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }
.m30{ margin: 30px!important; }
.m30-t{ margin-top: 30px!important; }
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
.m30-l{ margin-left: 30px!important; }
.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }
.m50{ margin: 50px!important; }
.m50-t{ margin-top: 50px!important; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }
.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }
.m70{ margin: 70px!important; }
.m70-t{ margin-top: 70px!important; }
.m70-r{ margin-right: 70px!important; }
.m70-b{ margin-bottom: 70px!important; }
.m70-l{ margin-left: 70px!important; }
.m80{ margin: 80px!important; }
.m80-t{ margin-top: 80px!important; }
.m80-r{ margin-right: 80px!important; }
.m80-b{ margin-bottom: 80px!important; }
.m80-l{ margin-left: 80px!important; }
.m90{ margin: 90px!important; }
.m90-t{ margin-top: 90px!important; }
.m90-r{ margin-right: 90px!important; }
.m90-b{ margin-bottom: 90px!important; }
.m90-l{ margin-left: 90px!important; }
.m100{ margin: 100px!important; }
.m100-t{ margin-top: 100px!important; }
.m100-r{ margin-right: 100px!important; }
.m100-b{ margin-bottom: 100px!important; }
.m100-l{ margin-left: 100px!important; }
.m120{ margin: 120px!important; }
.m120-t{ margin-top: 120px!important; }
.m120-r{ margin-right: 120px!important; }
.m120-b{ margin-bottom: 120px!important; }
.m120-l{ margin-left: 120px!important; }
.m150{ margin: 150px!important; }
.m150-t{ margin-top: 150px!important; }
.m150-r{ margin-right: 150px!important; }
.m150-b{ margin-bottom: 150px!important; }
.m150-l{ margin-left: 150px!important; }
.m200{ margin: 200px!important; }
.m200-t{ margin-top: 200px!important; }
.m200-r{ margin-right: 200px!important; }
.m200-b{ margin-bottom: 200px!important; }
.m200-l{ margin-left: 200px!important; }
.m300{ margin: 300px!important; }
.m300-t{ margin-top: 300px!important; }
.m300-r{ margin-right: 300px!important; }
.m300-b{ margin-bottom: 300px!important; }
.m300-l{ margin-left: 300px!important; }
/*周りのブロックからの距離（padding）*/
.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }
.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }
.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }
.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }
.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }
.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }
.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }
.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }
.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }
.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }
.p70{ padding: 70px!important; }
.p70-t{ padding-top: 70px!important; }
.p70-r{ padding-right: 70px!important; }
.p70-b{ padding-bottom: 70px!important; }
.p70-l{ padding-left: 70px!important; }
.p80{ padding: 80px!important; }
.p80-t{ padding-top: 80px!important; }
.p80-r{ padding-right: 80px!important; }
.p80-b{ padding-bottom: 80px!important; }
.p80-l{ padding-left: 80px!important; }
.p90{ padding: 90px!important; }
.p90-t{ padding-top: 90px!important; }
.p90-r{ padding-right: 90px!important; }
.p90-b{ padding-bottom: 90px!important; }
.p90-l{ padding-left: 90px!important; }
.p100{ padding: 100px!important; }
.p100-t{ padding-top: 100px!important; }
.p100-r{ padding-right: 100px!important; }
.p100-b{ padding-bottom: 100px!important; }
.p100-l{ padding-left: 100px!important; }

/*widthスタイル------------------------------------------*/
.w05{ width: 5%; }
.w10{ width: 10%; }
.w15{ width: 15%; }
.w20{ width: 20%; }
.w25{ width: 25%; }
.w30{ width: 30%; }
.w35{ width: 35%; }
.w40{ width: 40%; }
.w45{ width: 45%; }
.w48{ width: 48%; }
.w50{ width: 50%; }
.w55{ width: 55%; }
.w60{ width: 60%; }
.w65{ width: 65%; }
.w70{ width: 70%; }
.w75{ width: 75%; }
.w80{ width: 80%; }
.w85{ width: 85%; }
.w90{ width: 90%; }
.w95{ width: 95%; }
.w100{ width: 100%; }

/* フレキシブルボックス
.flex , flex-sb , flex-c 
---------------------------------------------------- */
/*flex（デフォルト） */
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
/*flex-sb（始終端を揃えて子要素を均等配置） */
.flex-sb {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
/*flex-c（子要素を中央揃え） */
.flex-c {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}


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

/* メディアとテキストのラップ */
.entry-content .media-text {
    display: flex;           /* 横並び */
    gap: 20px;               /* 写真とテキストの間隔 */
    align-items: flex-start;
    margin-bottom: 30px;
}

/* 写真部分 */
.entry-content .media-left {
    flex: 1;                 /* 1割 */
    max-width: 33.333%;      /* 1:2比率の1部分 */
}

.entry-content .media-left img.bd {
    width: 100%;
    height: auto;
    border: 1px solid #eee;
    display: block;
}

.entry-content .media-left .cap {
    display: block;
    padding-top: 8px;
    font-size: 12px;
    line-height: 1.4;
    color: #333;
}

/* テキスト部分 */
.entry-content .media-right {
    flex: 2;                 /* 2割 */
}


/*施設紹介*/

main.content #page-822 table thead th{
    font-size: 0.85em;
}
main.content #page-822 table#results tr td:first-of-type{
    background-color: rgba(37, 26, 142, 0.15);
}

main.content .tkopPageBox {
    margin-top: 2em;
    padding: 1em;
    border:1px solid rgba(37, 26, 142, 1);
}
main.content .tkopPageBox h4{
    margin-top: 0;
}
main.content .tkopPageBox .btn {
    display: block;
    max-width: 270px;
    background-color: rgba(37, 26, 142, 1);
    padding: 0.75rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
    margin: auto;
    text-align: center;
}
main.content .tkopPageBox .btn a{
    color: #fff;
    text-decoration: none;
}
main.content .tkopPageBox .btn:hover a {
    color: rgba(37, 26, 142, 1);

}
main.content .tkopPageBox .btn:hover {
    color: rgba(37, 26, 142, 0.8);
    border:1px solid  rgba(37, 26, 142, 0.8);
    background-color: #fff;
}

main.content .td-alc td{
    text-align: center;
}
.metaslider {
    margin: 2em auto;}

.hospital-recruit-box {
    clear: both; 
    background-color: rgba(37, 26, 142, 0.05);
    border: 1px solid rgba(37, 26, 142, 0.2);
    border-radius: 8px;
    padding: 1.5rem 0 2rem;
    margin-top: 4rem;
    text-align: center;
}

.hospital-recruit-box p {
    color: #251a8e;
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.hospital-recruit-button-wrap {
    text-align: center;
}

.btn-hospital-contact {
    display: inline-block;
    background-color: rgba(37, 26, 142, 1);
    color: #fff;
    padding: 0.75rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.btn-hospital-contact:hover {
    color: rgba(37, 26, 142, 0.8);
    border:1px solid  rgba(37, 26, 142, 0.8);
    background-color: #fff;
}


/*【メディアクエリ】*/
@media(max-width:1024px) {}
@media(min-width:769px) {}
@media(max-width:768px) {
/*----- 【各ページ・複数ページ 共通】 -----*/
/* メインコンテンツ内ヘッダ・h要素
------------------------------------------------------------ */
    /*メインコンテンツ - メインカラム - エントリーコンテンツ - h2 明朝見出し（見出し2） */
    main.content .entry-content h2{
        font-size: 1.5em;
    }
    /*メインコンテンツ - メインカラム - エントリーコンテンツ - h3 背景カラー見出し（見出し3） */
    main.content .entry-content h3{
        font-size: 1.25em;
    }
    
/* ブロック要素
div class="article-body article-sub" .article-sbody , .article-sub
---------------------------------------------------- */
    .content .article-body {
        margin: 0 auto 25px auto;
    }
    .content .article-body .article-sub  {
        margin: 0 auto 12.5px auto;
    }
    
/* 【汎用スタイル】*/
/*フレキシブルボックス
.flex , flex-sb , flex-c
（汎用スタイル使用時は768px以下でflexible解除・子要素横幅100%）
---------------------------------------------------- */
    /*flex（デフォルト） */
    .flex , .flex-sb , .flex-c {
        flex-direction: column;
        justify-content: flex-start;
    }
    .flex > div , .flex-sb > div , .flex-c > div ,
    .flex > p , .flex-sb > p , .flex-c > p {
        width: 100% !important;
    }
}
@media(max-width:767px) {
    .entry-content .media-text {
        flex-direction: column;  /* 縦並び */
    }

    .entry-content .media-left,
    .entry-content .media-right {
        max-width: 100%;
    }

    .entry-content .media-left {
        margin-bottom: 15px;    /* 写真とテキストの間隔 */
    }
}


@media only screen and (max-width: 640px) {


}

@media(max-width:576px) {
/* 投稿からの右寄せ・左寄せ・中央寄せのリセット
---------------------------------------------------- */
    .alignleft , 
    .alignright , 
    .aligncenter {
        clear: both;
        display: block;
        float: none;
        margin: 30px auto;
    }
    
/* テーブル
table thead tbody tfoot tr th td 
---------------------------------------------------- */
    .content .scroll {
        width: 100%;
        overflow-x: scroll;
    }
    .content table {
        font-size: unset;
        max-width: 767px !important;
        table-layout: fixed;
        width: 767px !important;
    }
    /* 基本 */
    .content table th,
    .content table td {
        width: auto !important;
        word-break: keep-all;
    }
    /*スクロールヒントスタイル上書き*/
    .scroll-hint-icon {
        top: 25px;
    } 
}
@media(max-width:350px) {}