@charset "UTF-8";

/*
Theme Name: shimabukurodai
Theme URI: https://shimabukurodai.com/
Author: 島袋ダイ事務所
Description: 自由民主党 沖縄県支部連合 島袋ダイ 公式Webサイトテーマ
Version: 1.0.0
*/

/* cssファイルの読み込み（相対パス指定に修正）
---------------------------------------------------------------------------*/
@import url("assets/css/theme.css");
@import url("assets/css/parts.css");
@import url("assets/css/inview.css");

/* animation11のキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes animation1 {
	0% {right: -200px;}
	100% {right: 0px;}
}


/* opa1のキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/* 全体の設定
---------------------------------------------------------------------------*/
body * {box-sizing: border-box;}
html {
	font-size: clamp(12px, 0.585vw + 9.80px, 18px);	/*画面幅375px〜1400pxの間で、12px〜18pxに可変。下でrem管理しているものも連動します。*/
	overflow-x: visible;
}
body {
	margin: 0;padding:0;
	font-family: var(--base-font);	/*フォント指定。theme.cssのbase-fontを読み込みます。*/
	-webkit-text-size-adjust: none;
	background: var(--bg-color);	/*背景色。theme.cssのbg-colorを読み込みます。*/
	color: var(--bg-inverse-color);	/*文字色。theme.cssのbg-inverse-colorを読み込みます。*/
	line-height: 2;		/*行間*/
	overflow-x: hidden;
}

/* リセット */
figure {margin: 0;}
dd {margin: 0;}
nav,ul,li,ol {margin: 0;padding: 0;}
nav ul {list-style: none;}

/* table全般の設定 */
table {border-collapse:collapse;}

/* 画像全般の設定 */
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/* videoタグ */
video {max-width: 100%;}

/* iframeタグ */
iframe {width: 100%;}

/* 他 */
input {font-size: 1rem;}


/* section
---------------------------------------------------------------------------*/
section {
	padding: 0 var(--content-space-l);	/*上下、左右へのsection内の余白。左右については、theme.cssの--content-space-lを読み込みます。*/
	margin: var(--content-space-l) 0;	/*上下、左右へのsectionの外側にとるマージン。上下については、theme.cssの--content-space-lを読み込みます。*/
}


/* リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: inherit;
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
}

/* マウスオン時 */
a:hover {
	filter: brightness(1.1);	/*少しだけ明るくする*/
	text-decoration: none;
}


/* コンテナー（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	animation: opa1 0.2s 0.2s both;  /*0.2(2つ目の数字)秒待機後、0.2(1つ目の数字)秒かけてフェードイン*/
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}


/* contents
---------------------------------------------------------------------------*/
#contents {
	flex: 1;
	min-height: 0;
}


/* main
---------------------------------------------------------------------------*/
main {
	container-type: inline-size;
}

/* main内で使用するul,ol要素（リストタグ） */
main ul,main ol {
	margin-left: 2rem;
	margin-right: 2rem;
}


/* メニューオーバーレイ（メニュー領域外クリックで閉じる用）
---------------------------------------------------------------------------*/
#menubar-overlay {
	display: none;
	position: fixed;
	z-index: 99;	/*#menubar(100)の下、ページの上*/
	top: 0;left: 0;
	width: 100%;height: 100%;
	background: rgba(0,0,0,0.3);	/*半透明の黒。お好みで濃さを調整。*/
}

/* noscroll（メニュー表示中のスクロール禁止用） */
body.noscroll {
	overflow: hidden;
}


/* header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/* ヘッダー */
header {
    display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	height: 100px;	/*ヘッダーの高さ。お好みで。*/
	padding: 0 calc(70px + 1rem) 0 var(--content-space-l);
	line-height: 1.2;
	position: relative;
}

/* h1テキスト */
header h1 {
	font-size: 0.6rem;		/*文字サイズ60%*/
	font-weight: normal;	/*デフォルトだと太字なので、標準に*/
	position: absolute;		/*ヘッダーに対して絶対配置*/
	left: var(--content-space-l);	/*ヘッダーの左からの配置指定。theme.cssのcontent-space-lを読み込みます。*/
	top: 0;		/*ヘッダーの上からの配置指定。*/
}

/* ロゴ（※画像の場合） */
.logo {margin: 0;flex-shrink: 0;}
.logo img {
	display: block;
	width: 280px;	/*ロゴの幅。*/
	padding-top: 0.6rem;
}

/* ロゴ（※テキストの場合） */
.logo a {text-decoration: none;}
.logo {
	width: auto;
	font-size: 1.4rem;	/*文字サイズ。140%*/
}

/* header右側のブロック（TELや、各ボタン）
---------------------------------------------------------------------------*/
/* ヘッダーの右側ブロック（電話番号など） */
#header-box {
	font-size: 0.8rem;	/*文字サイズ80%*/
	display: flex;
	align-items: center;
	gap: 0.5rem;	/*ボックス内のブロック同士に空けるスペース。0.5文字分。*/
}

/* telブロック */
#header-box .tel {
	font-size: 1.3rem;	/*文字サイズ130%*/
}
/* telアイコン */
#header-box .tel strong i {
	color: var(--primary-color);	/*アイコン色。theme.cssのprimary-colorを読み込みます。*/
	margin-right: 0.2rem;	/*アイコンの右側に0.2文字分のスペースを空ける*/
}
/* telの下の受付時間などのテキスト */
#header-box .tel .small {
	font-size: 0.7rem;	/*文字サイズ70%*/
}

	/* 画面幅700px以下の追加指定 */
	@media (max-width:700px) {

	/* ヘッダーの右側ブロック（電話番号など） */
	#header-box {
		display: none;	/*画面が狭くなるので非表示にする*/
	}

	}/* 追加指定ここまで */

/* header内のボタン内の余白 */
header .btn1 a {
	padding: 1rem;
}


/* 開閉メニュー
---------------------------------------------------------------------------*/
/* メニューブロック共通 */
.small-screen #menubar {
	animation: animation1 0.2s both;
	position: fixed;overflow: auto;z-index: 100;
	right: 0px;top: -40px;
	width: 50%;	/*画面の半分の幅。お好みで。*/
	height: 100%;
	padding: 100px var(--content-space-l) 50px;	/*上下に100px、左右にtheme.cssのcontent-space-lで指定しているサイズ、下に50pxの余白*/
	background: #fff;	/*背景色*/
}

.small-screen #menubar {display: none;}

	/* 画面幅700px以下の追加指定 */
	@media (max-width:700px) {

	.small-screen #menubar {
		width: 100%;	/*幅を100%に*/
	}

	}/* 追加指定ここまで */


/* メニュー１個あたり */
.small-screen #menubar ul a {
	display: block;text-decoration: none;
	color: inherit;
	border: 1px solid #ccc;	/*枠線の幅、線種、色。*/
	margin-bottom: 1rem;	/*下に１文字分のスペースを空ける*/
	padding: 1rem 2rem;		/*メニュー内の余白。上下に１文字分、左右に２文字分。*/
	border-radius: 5px;		/*角を少し丸くする*/
}

/* 子メニュー（ドロップダウンメニュー） */
.small-screen #menubar ul ul a {
	border: none;
	margin-left: 2rem;	/*左に２文字分のスペースを空ける*/
	padding: 0.5rem 1.5rem;	/*メニュー内の余白。上下に0.5文字分、左右に1.5文字分。*/
}

/* ドロップダウンのアイコン */
a.ddmenu::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f078";		/*このアイコンを使う*/
	margin-right: 1em;		/*アイコンとメニューテキストとの間に空けるスペース。1文字分。*/
	font-size: 0.7em;		/*アイコンサイズ。70%*/
	vertical-align: middle;
	display: inline-block;
	line-height: 1;
}

/* ドロップダウン共通（デフォルトで非表示。チラつかないよう念の為。）
---------------------------------------------------------------------------*/
#menubar ul ul {display: none;}


/* menubar内のロゴ
---------------------------------------------------------------------------*/
.small-screen #menubar .logo {
	margin-bottom: 2rem;	/*画像の下に空けるスペース。2文字分。*/
}
.small-screen #menubar .logo img {
	margin-inline: auto;	/*画像をセンタリング*/
}

/* menubar内のtel
---------------------------------------------------------------------------*/
.small-screen #menubar .tel {
	text-align: center;	/*テキストをセンタリング*/
	font-size: 1.4rem;	/*文字サイズ140%*/
}

/* menubar内の「WEB予約」ボタン
---------------------------------------------------------------------------*/
.small-screen #menubar .btn1.primary a {
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
}


/* ３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
#menubar_hdr {
	display: none; /* デフォルトは非表示 */
	animation: opa1 0s 0.2s both;
	cursor: pointer;
	position: fixed;
	z-index: 101;
	right: 0px;	/*右からの配置場所*/
	top: 0px;	/*上からの配置場所*/
	width: 70px;	/*ボタンの幅*/
	height: 70px;	/*ボタンの高さ*/
	border-bottom-left-radius: 10px;	/*左下の角だけ丸くする*/
	background: var(--primary-color);	/*背景色。theme.cssのprimary-colorを読み込みます。*/
}

/* ハンバーガーアイコンの線 */
#menubar_hdr span {
	display: block;
	transition: 0.3s;
	position: absolute;
	left: 18px;
	width: 35px;
	height: 2px;		/*線の高さ*/
	background: var(--primary-inverse-color);	/*線の色。theme.cssのprimary-inverse-colorを読み込みます。*/
}

/* バツ印が出ている時のボタン色 */
#menubar_hdr.ham {
	background: #fff;	/*背景色*/
}
#menubar_hdr.ham span {
	background: #333;	/*線の色*/
}

/* 以下変更不要 */
#menubar_hdr span:nth-of-type(1) {
	top: 24px;
}
#menubar_hdr span:nth-of-type(2) {
	top: 34px;
}
#menubar_hdr span:nth-of-type(3) {
	top: 44px;
}
#menubar_hdr.ham span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}
#menubar_hdr.ham span:nth-of-type(2) {
	opacity: 0;
}
#menubar_hdr.ham span:nth-of-type(3) {
	transform: translateY(-10px) rotate(45deg);
}

/* 小さな画面での設定 */
.small-screen #menubar_hdr {
	display: flex;
}


/* 著作部分（※意図的に見えなくしたりしないで下さい。規約違反になります。）
---------------------------------------------------------------------------*/
.pr a {
	text-decoration: none;display: block;
	background: rgba(55,106,184,1.0);
	color: #fff;
	text-align: center;
	padding: 0.5rem 1rem;
	font-size: 0.8rem;
}


/* PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/* ボタンの設定 */
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	animation: opa1 1s 0.4s both;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/* bg1-parts
---------------------------------------------------------------------------*/
.bg1-parts {
	background-color: var(--bg-inverse-color);	/*背景色。theme.cssのbg-inverse-colorを読み込みます。*/
	color: var(--bg-color);		/*文字色。theme.cssのbg-colorを読み込みます。*/
}

/* bg1-primary
---------------------------------------------------------------------------*/
.bg1-primary-parts {
	background-color: var(--primary-color);		/*背景色。theme.cssのprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。theme.cssのprimary-inverse-colorを読み込みます。*/
}

/* bg1-light
---------------------------------------------------------------------------*/
.bg1-light-parts {
	background-color: var(--light-color);		/*背景色。theme.cssのlight-colorを読み込みます。*/
	color: var(--light-inverse-color);	/*背景色。theme.cssのlight-inverse-colorを読み込みます。*/
}

/* bg1-accent
---------------------------------------------------------------------------*/
.bg1-accent-parts {
	background-color: var(--accent-color);		/*背景色。theme.cssのaccent-colorを読み込みます。*/
	color: var(--accent-inverse-color);	/*背景色。theme.cssのaccent-inverse-colorを読み込みます。*/
}

/* bg-parts（bg1-primary-parts、bg1-light-parts、bg1-accent-partsとセットで使います）
---------------------------------------------------------------------------*/
.bg-parts {
	padding-top: var(--content-space-l);		/*ボックス内の上に空ける余白。theme.cssのcontent-space-lを読み込みます。*/
	padding-bottom: var(--content-space-l);	/*ボックス内の下に空ける余白。theme.cssのcontent-space-lを読み込みます。*/
}

/* 背景色が続く場合に隙間を空けない */
.bg-parts + .bg-parts {
	margin-top: calc(-1 * var(--content-space-l)) !important;
}


/* section内で画面両サイドいっぱいまで広げる場合（marginのみでもいいが安定版に）
---------------------------------------------------------------------------*/
.bleed-x-parts {
	--bleed-x: var(--content-space-l);	/*エイリアスに*/
	width: calc(100% + (var(--bleed-x) * 2));	/*section内容の幅＋両サイドpadding（対象要素の幅）*/
	margin-left: calc(var(--bleed-x) * -1);
	margin-right: calc(var(--bleed-x) * -1);
	max-width: none;
}


/* 左右によせる専用
---------------------------------------------------------------------------*/
.bleed-left-parts {
	width: calc(100% + var(--content-space-l));
	margin-left: calc(-1 * var(--content-space-l));
}
.bleed-right-parts {
	width: calc(100% + var(--content-space-l));
	margin-right: calc(-1 * var(--content-space-l));
}


/* その他
---------------------------------------------------------------------------*/
.color-check, .color-check a {color: #ff0000 !important;}
.bg1-accent-parts .color-check, .color-check a {color: #fef500 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 100%;display: block;}
.wl {width: 100%;display: block;}
.padding-x {padding: 0 var(--content-space-l);}
.mt0 {margin-top: 0px !important;}
.mt1rem {margin-top: 1rem !important;}
.mt3rem {margin-top: 3rem !important;}
.mb0 {margin-bottom: 0px !important;}
.mb1rem {margin-bottom: 1rem !important;}
.mb3rem {margin-bottom: 3rem !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee;border: 1px solid #ccc; color: #888; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}
.is-clip {overflow: hidden;}

/* 大きな画面の場合 */
.large-screen .ws {width: 50%;}
.large-screen .sh {display: none;}
.large-screen .pc {display: block;}


/* メイン画像
---------------------------------------------------------------------------*/
.mainimg * {margin: 0;padding: 0;}

/* ブロック全体 */
.mainimg {
	width: calc(100% - (var(--content-space-l) * 2));
	margin-inline: auto;
	position: relative;
	border-radius: 10px;	/*角を丸くする*/
	overflow: hidden;
	line-height: 1.8;
	box-shadow: 0px 0px 2rem rgba(0,0,0,0.1);	/*ボックスの影。右に0、下に0、ぼかす量2文字分、0,0,0は黒のことで0.1は色が10%出た状態。*/
}

.mainimg .slide {
	position: relative;
}

/* 画像 */
.mainimg .slide picture {
	position: absolute;
	inset: 0;
	z-index: 0;
}

	/* 画面幅700px以下の追加指定 */
	@media (max-width:700px) {

	/* 画像 */
	.mainimg .slide picture {
		position: static;
	}
		
	}/* 追加指定ここまで */


.mainimg .slide picture img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;	/*枠にフィットさせつつ縦横比を保ってトリミング*/
}


/* メイン画像上のテキスト
---------------------------------------------------------------------------*/
/* テキストブロック */
.mainimg .slide .text {
	position: relative;z-index: 1;
	width: 50%;		/*ブロックの幅。お好みで。*/
	padding: 2rem;	/*ブロック内の余白。2文字分。*/
	padding-bottom: 4rem;	/*下の余白だけ上書き。もし、メイン下部の横並びメニューを使わない場合は、この１行を削除。*/
	text-shadow: 0px 0px 4px #fff;	/*テキストの影*/
}

	/* 画面幅700px以下の追加指定 */
	@media (max-width:700px) {
	
	/* テキストブロック */
	.mainimg .slide .text {
		width: 100%;		/*幅を100%に*/
		margin-top: -4rem;	/*上のメイン画像に食い込ませる*/
	}

	}/* 追加指定ここまで */


/* ボタン上のtext-shadowは、なしに */
.mainimg .slide .text .btn1 {
	text-shadow: none;
}

/* h2（大きな文字） */
.mainimg .slide .text h2 {
	line-height: 1.5;	/*行間を少し狭く*/
	font-weight: 500;	/*テキストの太さ。100〜900まで指定可能。*/
	font-size: max(2.2rem, 4vw);	/*文字サイズ4.4vw。最初サイズは2.2remで*/
	letter-spacing: 0em;	/*文字間隔を少しだけ広く*/
	font-family: var(--serif-font), var(--base-font);	/*theme.cssのserif-fontに指定したフォントを読み込む。読み込めなければbase-fontで指定したフォントを読み込む。*/
	margin-bottom: 1rem;	/*下に空けるスペース。1文字分。*/
}
/* h2内のspan */
.mainimg .slide .text h2 span {
	color: var(--primary-color);	/*文字色。theme.cssのprimary-colorを読み込みます。*/
	font-size: max(2.0rem, 4.5vw);	/*文字サイズ6vw。最小サイズは2.2remでそれ以上小さくしない。*/
}

h2.text-blue {
    color: #3366cc !important;
}

/* p（説明テキスト部分） */
.mainimg .slide .text p {
	font-size: 0.75rem;	/*文字サイズ75%*/
}
/* p内のstrong（このテンプレの場合は「一生自分の歯で・・・」の１行） */
.mainimg .slide .text p strong {
	color: var(--primary-color);	/*文字色。theme.cssのprimary-colorを読み込みます。*/
	font-size: 1.2rem;	/*文字サイズ120%*/
}

/* ボタン（残りの設定は、下の「.btn1 a」にあります。） */
.mainimg .btn1 a {
	background: #fff;	/*背景色*/
	border: 1px solid var(--primary-color);	/*枠線の幅、線種、var以降は色の指定でtheme.cssのprimary-colorを読み込みます。*/
	color: var(--primary-color);	/*文字色。theme.cssのprimary-colorを読み込みます。*/
}
/* ボタン左のアイコン */
.mainimg .btn1 i {
	margin-right: 0.6rem;	/*アイコンとテキストの間に空けるスペース。0.6文字分。*/
	font-size: 1.4rem;		/*文字サイズ。140%*/
}
/* スマホメニュー内のSNSアイコンの枠線を消す */
.btn1no.sns2-parts li a {
    border: none !important;
    background: none !important; /* もし背景色も白などになっている場合はこれも追加 */
}

/* メイン画像直下の４つの横並びメニュー
---------------------------------------------------------------------------*/
/* ブロック全体 */
.mainimg-nav {
	margin-inline: auto;
	margin-top: -2rem;	/*上のメイン画像に少し食い込ませる*/
	position: relative;z-index: 2;
	background: #fff;	/*背景色*/
	border: 1px solid #ddd;	/*枠線の幅、線種、色*/
	border-radius: 1rem;	/*角を丸くする*/
	padding: 1rem 2rem;		/*上下に1文字分、左右に2文字分の余白。*/
	box-shadow: 0 3px 5px rgba(0,0,0,0.05);	/*ボックスの影。右に0、下に3px、ぼかす量5px、0,0,0は黒のことで0.05は色が5%出た状態。*/
}

/* メニュー */
.mainimg-nav ul {
	list-style: none;margin:0;
	display: grid;
	grid-template-columns: repeat(4, auto);	/*4列*/
	justify-content: space-between;
	gap: 1.5rem;	/*メニュー同士の間に空けるスペース*/
	font-size: max(0.8rem, 1.2vw);	/*テキストサイズ。1.2vw。最小は0.8remでこれ以上小さくしない。*/
}

	/* 画面幅800px以下の追加指定 */
	@media (max-width:800px) {

	/* メニュー */
	.mainimg-nav ul {
		grid-template-columns: repeat(2, auto);	/*2列にする*/
	}
	
	}/* 追加指定ここまで */


/* メニュー１個あたり */
.mainimg-nav ul li {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;	/*アイコンとテキストとの間に空けるスペース。0.5文字分。*/
}

.mainimg-nav li a {
	text-decoration: none;
	display: contents;
}

/* アイコン */
.mainimg-nav ul i {
	color: var(--accent-color);	/*アイコン色。theme.cssのaccent-colorを読み込みます。*/
	font-size: 1.8em;	/*文字サイズ180%*/
}


/* ボタン（btn1）
---------------------------------------------------------------------------*/
.btn-container {
	display: flex;
	gap: 1rem;
}

	/* 画面幅1000px以下の追加指定 */
	@media (max-width:1000px) {
	
	.btn-container {
		flex-direction: column;
	}

	}/* 追加指定ここまで */

/* ボタン共通 */
.btn1 a {
	display: block;
	text-decoration: none;
	text-align: center;
	border-radius: 5px;		/*角を少しだけ丸く*/
	padding: 0.5rem 2rem;	/*上下に0.2文字分、左右に2文字分の余白。*/
	background: var(--bg-inverse-color);	/*デフォルトの背景色。theme.cssのbg-inverse-colorを読み込みます。*/
	color: var(--bg-color);	/*デフォルトの文字色。theme.cssのbg-colorを読み込みます。*/
}

/* テキスト量にあったサイズ用 */
.btn1.fit {
	width: fit-content;
}

/* テキスト量にあったサイズ用の左右中央用 */
.btn1.fit.c {
	margin: 0 auto;
}

/* 色違い（primary） */
.btn1.primary a {
	background: var(--primary-color);		/*背景色。theme.cssのprimary-colorを読み込みます。*/
	color: var(--primary-inverse-color);	/*文字色。theme.cssのprimary-inverse-colorを読み込みます。*/
}

/* 色違い（light） */
.btn1.light a {
	background: var(--light-color);		/*背景色。theme.cssのlight-colorを読み込みます。*/
	color: var(--light-inverse-color);	/*文字色。theme.cssのlight-inverse-colorを読み込みます。*/
}

/* 色違い（accent） */
.btn1.accent a {
	background: var(--accent-color);		/*背景色。theme.cssのaccent-colorを読み込みます。*/
	color: var(--accent-inverse-color);		/*文字色。theme.cssのaccent-inverse-colorを読み込みます。*/
}

/* LINEカラー */
.btn1.line-color a {
	background: #188f8d;
	color: #fff;
}

/* ==========================================
   固定ページ専用 H2 タイトル（ヘッダー直下密着・レスポンシブ）
   ========================================== */
.page-title {
    /* フォントサイズ: スマホ(20px) 〜 PC(28px) 可変 */
    font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
    font-weight: bold;
    color: #ffffff !important;         /* テキストカラー：白 */
    background-color: #376ab8;        /* 背景カラー：青 */
    text-align: center;                /* 中央寄せ */
    
    /* 下線・角丸なし */
    border-bottom: none !important;
    border-radius: 0 !important;      /* 角丸なし */
    
    /* ヘッダーとの間の上のスペースを0にし、下側マージンを1.0remに設定 */
    margin-top: 0 !important;
    margin-bottom: 1.0rem !important;
    
    /* タイトル文字の上下内側スペース（確保） */
    padding-top: 4.5rem;
    padding-bottom: 3.5rem;
    
    /* 画面いっぱいに横幅を広げる処理 */
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    
    box-sizing: border-box;
    display: block;
    line-height: 1.4;
}

/* スマホ表示（画面幅768px以下）での微調整 */
@media (max-width: 768px) {
    .page-title {
        font-size: clamp(1.5rem, 4vw, 2.0rem);
        margin-top: 0 !important;
        margin-bottom: 1.0rem !important;
        padding-top: 4.5rem;
        padding-bottom: 3.5rem;
    }
}

/* ==========================================
   リストブロック全体を中央配置（テキストは左寄せ）
   ========================================== */
ul.list-center {
    width: fit-content;       /* リストの幅をコンテンツ（文字長）に合わせる */
    margin-left: auto;        /* 左右マージンautoでブロック全体を中央に */
    margin-right: auto;
    text-align: left;         /* テキストは左寄せ */
    padding-left: 1.5rem;     /* 箇条書きポッチ（・）の表示スペース */
    margin-top: 1.5rem;
    margin-bottom: 2rem;
}

/* リスト内のテキスト色と太さの指定 */
ul.list-center li {
    color: #3366cc !important;      /* テキストカラー：赤 */
    font-weight: bold !important;   /* 太字 */
}

/* スマホ閲覧時（画面幅が狭い時）の収まり調整 */
@media (max-width: 768px) {
    ul.list-center {
        max-width: 90%;       /* スマホで幅がはみ出ないように制限 */
    }
}
/* ==========================================
   テーブル
   ========================================== */
.tablesimple {
    /* width: 100%; */
    border-collapse: collapse;
    width: fit-content;       /* リストの幅をコンテンツ（文字長）に合わせる */
    margin-left: auto;        /* 左右マージンautoでブロック全体を中央に */
    margin-right: auto;
    text-align: left;         /* テキストは左寄せ */
}

.tablesimple th,td {
padding: 10px 15px;
border: 1px solid #ddd;
}

.tablesimple th {
background: #f4f4f4;
width: 15%;
text-align: left;
}

@media only screen and (max-width:479px) {
.tablesimple th,td {
width: auto;
display: block;
border-top: none;
}
.tablesimple tr:first-child {
border-top: 1px solid #d5d5d5;
}
}

/* ==========================================
   ボタン
   ========================================== */
.btn-gradient-3d-simple {
  display: inline-block;
  font-size: 1.25em;
  margin: 2.0em auto;
  padding: 1.0em 2.0em;
  text-decoration: none;
  border-radius: 4px;
  color: #ffffff;
  background-image: linear-gradient(#6795fd 0%, #67ceff 100%);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  border-bottom: solid 3px #5e7fca;
}

.btn-gradient-3d-simple:active {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  border-bottom: none;
}


@media only screen and (max-width:479px) {
.btn-gradient-3d-simple {
  display: inline-block;
  font-size: 1.5em;
  margin: 1.5em auto;
  padding: 1.0em 1.5em;
  text-decoration: none;
  border-radius: 4px;
  color: #ffffff;
  background-image: linear-gradient(#6795fd 0%, #67ceff 100%);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  border-bottom: solid 3px #5e7fca;
}
}
