/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 22 2026 | 05:23:06 */
/* ここにCSSコードを追加

例:
.example {
    color: red;
}

CSS の知識に磨きをかけるためにご覧ください。
http://www.w3schools.com/css/css_syntax.asp

コメント終わり */


/*------------------------------------------------------
全ページ共通：HTMLタグ
------------------------------------------------------*/
#article p {
	line-height: 1.75;
	margin-bottom: 2rem;
}

#article mark.has-inline-color {
	text-decoration: none !important;
}

/*------------------------------------------------------
全ページ共通：ヘッダーメニュー（MENU）
------------------------------------------------------*/
/*----- ヘッダメニュー（TCD） -----*/
#global_menu ul li {
	font-size: 0.9rem;
}
#global_menu ul ul li {
	font-size: 0.9rem;
}

#global_menu_button:after {
	display: block;
	content: "MENU";
	font-size: 7px;
	color: #1A1A1A;
	margin-top: 7px;
	position: absolute;
	left: 50%;
	top:37px;
	transform: translateX(-50%);
	line-height:1em;
}


/*------------------------------------------------------
全ページ共通：フッターエリア（FOOTER）
------------------------------------------------------*/

/*----------
#footer {
	color: #FFFFFF;
	background: #0F181C;
}
#return_top2 {
	background: #FFFFFF;
}
#return_top2 a:hover {
	color: #FFFFFF;
	background: #F2F2F2;
}
#footer_top {
	border-top: none;
}
#footer_logo {
	
}
#footer #footer_menu a {
	color: #FFFFFF;
}
#footer_menu_bottom a {
	color: #FFFFFF;
}
-------------*/


/*------------------------------------------------------
TOPページ：レイアウト調整（TOP）
------------------------------------------------------*/

/*----- ヘッダースライダー：キャッチコピー -----*/
#header_slider .caption h2 {
	font-weight: 900;
	/* text-shadow: 3px 3px 0px #FFFFFF; */
	text-shadow: 0 0 7px rgb(15, 24, 28, 0.7);
}

/*----- ヘッダースライダー：ナビゲーション用キャッチフレーズ -----*/
#header_slider_nav .nav_item {
	border-radius: 5px;
}
#header_slider_nav .nav_item .nav_catch {
}
#header_slider_nav .nav_item:after {
	background-color: rgba(255, 255, 255, 0.9) !important;
}
#header_slider_nav .nav_item .nav_image {
}

/*----- ニュースティッカー -----*/
#index_news_ticker_wrap {
	background-color: #F7F7F7; /*#F2F2F2*/
}

/*----- TCDボタン -----*/
.design_button a {
	border: #0F181C 1px solid;
}

/*----- お知らせ一覧：ニュース（NEWS） -----*/
.news_list .category {
	width: 130px;
}

@media screen and (max-width: 900px) {
 .news_list .category {
	width: 110px;
}
}

/*----- タブコンテンツ（TAB） -----*/
#cb_content_2 .image_area_inner .image {
	border-radius: 10px;
}

/*----- 製品一覧（PRODUCTS） -----*/
#cb_content_4 {
	background: #F7F7F7;
}

/*------------------------------------------------------
固定ページ共通：アイキャッチ（EYE）
------------------------------------------------------*/
#article #post_image2 {
	border-radius: 11px;
}
@media screen and (max-width: 900px) {
	#article #post_image2 {
		border-radius: 0px;
	}
}
#article #post_image {
	border-radius: 11px;
}
@media screen and (max-width: 900px) {
	#article #post_image {
		border-radius: 0px;
	}
}

/*----- 製品情報TOPページ：サムネイル -----*/
/* 角丸は “外側の箱” で掛けて中身をクリップ */
#blog_list .item .image_wrap {
	border-radius: 7px;
	overflow: hidden;           /* ←これが重要（はみ出しを切る） */
}
/* 中身とオーバーレイも角丸を継承 */
#blog_list .item .image {
	border-radius: inherit;     /* 念のため継承 */
	/* もし transform で拡大する演出があるなら */
	transition: transform .35s ease;
}
#blog_list .item a:hover .image {
	transform: scale(1.04);     /* 拡大しても image_wrap がクリップ */
}
/* オーバーレイ（使っている場合）にも角丸を継承 */
#blog_list .item .image::before,
#blog_list .item .image::after {
	border-radius: inherit;
}


/*------------------------------------------------------
固定ページ共通：ヘッダーエリア（HEADER）
------------------------------------------------------*/
/*----- ヘッダータイトル -----*/
#page_header_inner h1 {
	text-shadow: 0px 1px 17px #012F7D;
}


/*------------------------------------------------------
製品ページ共通：フッターエリア（FOOTER）
------------------------------------------------------*/
/*----- 関連ページヘッダー（デフォルト変更） -----*/
h2.design_headline2 span.title {
	display: inline-block;
	border-top: 3px solid #39464D !important;
	padding-top: 20px; 
	margin-top: -1px;
}

/*------------------------------------------------------
固定ページ共通：ボタン（BUTTON）
------------------------------------------------------*/
/*----- リンクボタン -----*/
.btn-base {
	width: 100%;
	display:block;
}
.btn-base a {
	margin-bottom:15px;
	text-decoration: none;
}
.btn-base .btn-common {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 61px;
	position: relative;
	background: #0F181C; /*#122f3b*/
	border: 1px solid #0F181C;
	border-radius: 7px;
	box-sizing: border-box;
	padding: 0 37px 0 17px;
	color: #fff;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	transition-duration: 0.3s;
	margin:35px auto;
}
a.btn-common:after {
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f105';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 21px;
}
a.btn-common:hover {
	background: #fff;
	color: #0F181C !important;
	text-decoration: none;
}
a.btn-common:hover:after {
	color: #0F181C;
}
a.btn-common:before {
	content: '';
	width: 1px;
	height: 30px;
	border: 0;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	right: 46px;
	margin-top: -15px;
}
a.btn-common:hover:before {
	border-right: 1px solid #0F181C;
}

/*----- PDFリンクボタン -----*/
.btn-base .btn-pdf {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 61px;
	position: relative;
	background: #B30E02; /*#0F181C*/
	border: 1px solid #B30E02; /*#0F181C*/
	border-radius: 7px;
	box-sizing: border-box;
	padding: 0 37px 0 17px;
	color: #fff;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	transition-duration: 0.3s;
	margin:35px auto;
}
a.btn-pdf:after {
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f1c1';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 13px;
}
a.btn-pdf:hover {
	background: #fff;
	color: #B30E02 !important;
	text-decoration: none;
}
a.btn-pdf:hover:after {
	color: #B30E02;
}
a.btn-pdf:before {
	content: '';
	width: 1px;
	height: 30px;
	border: 0;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	right: 46px;
	margin-top: -15px;
}
a.btn-pdf:hover:before {
	border-right: 1px solid #B30E02;
}

/*----- trget="_blank"リンクボタン -----*/
a.link-anothertab {
	position: relative;
	padding-right: 1.5em;
}
a.link-anothertab::after{
	color: #39464D; /*アイコン色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコン表示に必要なウエイト*/
	content: "\f08e"; /*アイコンの種類*/
	-webkit-font-smoothing: antialiased;
	position: absolute;
	right: 0; /*右端からのアイコンまでの距離*/
}

/*----- カタログイメージなし：文中リンクのみ -----*/
a.link-pdf {
	position: relative;
	padding-left: 1.5em;
}
a.link-pdf::before {
	color: #B30E02; /*アイコン色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコン表示に必要なウエイト*/
	content: "\f1c1"; /*アイコンの種類*/
	position: absolute;
	left : 0; /*左端からのアイコンまでの距離*/
}

/*------------------------------------------------------
固定ページ共通：タイトル（HEADING）
------------------------------------------------------*/

/*----- 固定ページ：H2 -----*/
#article h2.heading {
	color: #0F181C;
	font-size: 1.75rem;
	text-align: center;
	position: relative;
	border-bottom: 1px solid #0F181C;
	padding-bottom: 0.5em;
	margin-bottom: 1.5em;
}
#article h2.heading::after {
	content: attr(data-en);
	display: block;
	color: #0F181C;
	font-size: 0.9rem;
	text-transform: uppercase;
	opacity: 0.85;
	position: relative;
	top: 0.5em;
	margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
#article h2.heading {
	font-size: 1.65rem;
}}

/*----- 固定ページ：H3 -----*/
#article h3.heading {
	color: #0F181C;
	font-size: 1.5rem;
	font-weight: bold;
	position: relative;
	padding-left: 1em;
	margin-bottom: 1.5em;
}
#article h3.heading:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 5px;
	height: 80%;
	content: '';
	background: #0F181C;
	border-radius: 3px;
}

/*----- 固定ページ：H4 -----*/
#article h4.heading {
	color: #0F181C;
	font-size: 1.25rem;
	font-weight: bold;
	position: relative;
	padding: 1rem 0.75em;
	border-bottom: 1px solid #F2F2F2;
	margin-bottom: 1.5em;
}
#article h4.heading:before {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 15%;
	height: 1px;
	content: '';
	background: #0F181C;
}

/*----- セクションおわり：H2 -----*/
#article h2.heading-pagebtm {
	position: relative;
	color: #0F181C;
	text-align: left;
	align-items: center;
	font-size: 1.5rem;
	margin-bottom: 1.5em;
	padding: 0.75em 0.75em 0.75em 1.75em;
	background-color: #F2F2F2;
	border-radius: 7px;
}
#article h2.heading-pagebtm:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 19px;
	width: 5px;
	height: 50%;
	content: '';
	background: #0F181C;
	border-radius: 3px;
}


/*------------------------------------------------------
固定ページ共通：リスト（LIST）
------------------------------------------------------*/
/*----- ul：リスト装飾なし -----*/
ul.list {
	margin: 0 0 1.5em 0 !important;
	padding: 0 !important;
	position: relative;
}
ul.list li {
	line-height: 1.25;
	padding: 0.5em 0 0.25em 0;
	list-style-type: none !important;
}
/*----- ol：連番表示あり -----*/
ol.list {
	margin: 0 0 1.5em 0 !important;
	padding: 0 !important;
	position: relative;
}
ol.list li {
	line-height: 1.25;
	margin-left: 1em;
	padding: 0.5em 0 0.25em 0.25em;
}
/*----- ul：矢印アイコンあり -----*/
ul.list-common {
	margin: 0 0 1.5em 0 !important;
	padding: 0 !important;
	position: relative;
}
ul.list-common li {
	line-height: 1.5;
	padding: 0.5em 0 0.5em 1.5em;
	list-style-type: none !important;
}
ul.list-common li:before {
	color: #39464d; /*アイコン色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコン表示に必要なウエイト*/
	content: "\f138"; /*アイコンの種類（f138）*/
	position: absolute;
	left : 0; /*左端からのアイコンまでの距離*/
}
/*----- ul：PDFアイコンあり -----*/
ul.list-pdf {
	margin: 0 0 1.5em 0 !important;
	padding: 0 !important;
	position: relative;
}
ul.list-pdf li {
	line-height: 1.5;
	padding: 0.5em 0 0.5em 1.5em;
	list-style-type: none !important;
}
ul.list-pdf li:before {
	color: #B30E02; /*アイコン色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコン表示に必要なウエイト*/
	content: "\f1c1"; /*アイコンの種類*/
	position: absolute;
	left : 0; /*左端からのアイコンまでの距離*/
}
/*----- ul：PINアイコンあり -----*/
ul.list-location {
	margin: 0 0 1.5em 0 !important;
	padding: 0 !important;
	position: relative;
}
ul.list-location li {
	line-height: 1.5;
	padding: 0.5em 0 0.5em 1.5em;
	list-style-type: none !important;
}
ul.list-location li:before {
	color: #39464d; /*アイコンの色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコンのウエイト*/
	content: "\f3c5"; /*アイコンの種類*/
	position: absolute;
	left : 0; /*左端からのアイコンまでの距離*/
}
/*----- dl：罫線表示あり -----*/
dl.list-common {
	position: relative;
	margin: 0 0 1.5em 0 !important;
	/* padding: 0 !important; */
	padding: 25px !important; /* BOXあり */
	border: #cfd5e6 1px solid; /* BOXあり */
	border-radius: 5px; /* BOXあり */
}
dl.list-common dt {
	position: relative;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.25;
	border-left: 2px solid #39464D; /* 左端の縦線 */
	padding: 0.75em 0 0.5em 0.75em; /* 左余白で縦線と間隔 */
}
dl.list-common dd {
	position: relative;
	line-height: 1.25;
	border-left: 2px solid #39464D; /* 左端の縦線 */
	padding: 0.5em 0 0.5em 0.75em;
}
/* デフォルトは下線なし＆下マージンなし */
dl.list-common dd {
	margin-bottom: 0;
}
/* 連続する dd の「最後の dd」にだけ下マージンあり */
dl.list-common dd:not(:has(+ dd)) {
	margin-bottom: 10px;
}
/* 連続する dd の「最後の dd」にだけ下線あり */
dl.list-common dd:not(:has(+ dd))::after {
	content: "";
	display: block;
	position: relative;
	top: 15px;              /* 下にずらす */
	height: 1px;           /* 線の太さ */
	background-color: #F2F2F2; /* 線の色 */
}
/*----- ul：注釈用 -----*/
ul.list-annotation {
	margin: 0 0 1.5em 0 !important;
	padding: 0 !important;
	position: relative;
}
ul.list-annotation li {
	font-size: 0.9rem;
	line-height: 1.25;
	list-style-type: none !important;
	text-indent: -1em; /* 1行目を左にずらす */
	padding-left: 1em; /* 全体を右にずらす → 結果的に2行目以降だけ余白が付く */
	padding-top: 0.5em;
	padding-right: 0;
	padding-bottom: 0.25em;
}

/*------------------------------------------------------
固定ページ共通：テーブル（TABLE）
------------------------------------------------------*/

/*----- テーブル：about/overview/ -----*/
#article table.table-overview {
	width: 100%;
}
#article .table-overview th {
	color: #39464D;
	font-weight: bold;
	text-align: left;
	width: 20%;
	background: #FFFFFF;
	border-top: none;
	border-bottom: none;
	border-left: none;
	border-right: none;
	margin: 0;
	padding: 15px 15px 15px 0 !important;
}
#article .table-overview td {
	background: #FFFFFF;
	border-top: none;
	border-bottom: none;
	border-left: #F2F2F2 1px solid;
	border-right: none;
	margin: 0;
	padding: 15px 0 15px 35px !important;
	overflow-wrap: break-word;/*文字の*/
	word-wrap: break-word;/*折り返し*/
	white-space: normal;/*が効かない時*/
}

/*----- テーブル：labo/items/ -----*/
#article table.table-item {
	width: 100%;
}
#article .table-item th {
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	width: 25%;
	background: #39464D;
	border-top: none;
	border-bottom: #FFFFFF 1px solid;
	border-left: none;
	border-right: none;
	margin: 0;
	padding: 11px !important;
}
#article .table-item td {
	background: #FFFFFF;
	border-top: none;
	border-bottom: none;
	border-left: #F2F2F2 1px solid;
	border-right: none;
	margin: 0;
	padding: 11px 0 11px 11px !important;
	overflow-wrap: break-word;/*文字の*/
	word-wrap: break-word;/*折り返し*/
	white-space: normal;/*が効かない時*/
}

/*------------------------------------------------------
企業情報（COMPANY）：
------------------------------------------------------*/

/*----- 代表取締役サイン -----*/
/*.sign_hayashi {
	display: inline-block;
	width: 80px;
	height: 35px;
	background-image: url('https://ktc2596.xsrv.jp/wp-ktc/wp-content/uploads/sign_hayashi.png');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	text-indent: -9999px;
	vertical-align: middle;
	margin-left: 11px;
}*/
.sign_hayashi {
	display: inline-block;
	width: 80px;
	height: 35px;
	background: url('https://ktc2596.xsrv.jp/wp-ktc/wp-content/uploads/sign_hayashi.png') no-repeat center center;
	background-size: contain;
	overflow: hidden;
	/* Safariでズレる場合はここをpx指定に変更 */
	vertical-align: middle; 
	margin-left: 11px;
	/* 古いWebKit（Safari）に最も優しい画像置換手法 */
	text-indent: 100%;
	white-space: nowrap;
}


/*------------------------------------------------------
投稿｜カタログ（CATALOG）：ダウンロード
------------------------------------------------------*/

/*----- カタログイメージあり：ダウンロード -----*/
figure.catalog-dl {
	text-align: center;
	margin-bottom: 50px;
}
figure.catalog-dl a {
}
figure.catalog-dl a img {
	max-height: 200px;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
	/*box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;*/
	border-radius: 5px;
}
figure.catalog-dl figcaption {
	position: relative;	
	font-size: 1rem;
	line-height: 1.25;
	text-align: center;
	margin: 1em 0 0 0;
}
figure.catalog-dl figcaption a { /* （link-pdfと同じ設定） */
	position: relative;
	padding-left: 1.5em;
}
figure.catalog-dl figcaption a::before {
	color: #B30E02; /*アイコン色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコン表示に必要なウエイト*/
	content: "\f1c1"; /*アイコンの種類*/
	position: absolute;
	left : 0; /*左端からのアイコンまでの距離*/
}

figure.catalog-dl figcaption ul.list-common {
	position: relative;
	margin: 1.5em 0 1.5em 0 !important;
	padding: 15px !important;
	border: #cfd5e6 1px solid;
	border-radius: 5px;
}
figure.catalog-dl figcaption ul.list-common li {
	font-size: 0.8em;
	text-align: left;
	line-height: 1.25;
	padding: 0.5em 0 0.5em 1.5em;
	list-style-type: none !important;
}
figure.catalog-dl figcaption ul.list-common li:before {
	color: #39464d; /*アイコン色*/
	font-family: "Font Awesome 5 Free";
	font-weight: 900; /*アイコン表示に必要なウエイト*/
	content: "\f138"; /*アイコンの種類（f138）*/
	position: absolute;
	left : 15px; /*左端からのアイコンまでの距離*/
}

/*------------------------------------------------------
投稿｜製品情報（PRODUCTS）：レイアウト
------------------------------------------------------*/

/*----- 図画レイアウト：縦横比率が違う画像の場合 -----*/
figure.img-right {
	width: 48%;
	margin: 0 0 1em 1.25em;
	float: right;
}
figure.img-right img {
	width: 100%;
}
figure.img-right figcaption {
	font-size: .9rem;
	line-height: 1.5;
	text-align: center;
	margin: .5em 0 0 0;
}

/*----- 図画レイアウト：PC3カラム／SP2カラム -----*/
/* コンテナ */
.col3to2_box_container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;                /* ← 横・縦の余白をまとめて管理 */
	justify-content: flex-start;
	align-items: flex-start;  /* figureの縦位置を上揃え */
	box-sizing: border-box;
	margin: 0 0 1.5em 0;
	padding: 0;
}
/* 各ボックス */
.col3to2_box {
	flex: 0 0 calc((100% - 40px) / 3);
	/* 100%からgap 20px × 2列ぶんを引き → 3分割 */
	box-sizing: border-box;
	margin: 0; /* gapで管理するので不要 */
}
/* SP（689px以下）は2カラムに切替 */
@media screen and (max-width: 689px) {
	.col3to2_box_container {
		gap: 10px;                /* ← 横・縦の余白をまとめて管理 */
	}
	.col3to2_box {
		flex: 0 0 calc((100% - 10px) / 2);
		/* 100%からgap 10px × 1列ぶんを引き → 2分割 */
	}
}
/* figure・画像・キャプション */
.col3to2_box figure { margin: 0; padding: 0; width: 100%; }
.col3to2_box figcaption { font-size: .9rem; line-height: 1.5; text-align: center; margin: .5em 0 0 0; }
.col3to2_box img { display: block; width: 100%; height: auto; max-width: 100%; }


/*----- 図画レイアウト：PC2カラム／SP2カラム -----*/
.col2_box_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start; /* ← 左寄せ */
	align-items: flex-start;     /* ← 上揃え */
	gap: 20px;                   /* 行間/列間（最近のブラウザOK） */
	box-sizing: border-box;
	margin: 0 0 1.5em 0;
	padding: 0;
}
.col2_box {
	width:calc(50% - 10px);      /* gap:20px の半分を引くイメージ */
	margin: 0;                   /* gapで管理 */
	box-sizing: border-box;
}

@media screen and (max-width: 689px) {
	.col2_box_container {
		gap: 10px;                   /* 行間/列間（最近のブラウザOK） */
	}
	.col2_box {
		width:calc(50% - 5px);      /* gap:10px の半分を引くイメージ */
	}
}

.col2_box:empty { display: none; }

.col2_box figure { margin: 0; padding: 0; width: 100%; }
.col2_box figcaption { font-size: .9rem; line-height: 1.25; text-align: center; margin: .5em 0 0 0; }
.col2_box img { display: block; width: 100%; height: auto; max-width: 100%; }


/*------------------------------------------------------
投稿｜製品情報（PRODUCTS）：表示設定
------------------------------------------------------*/
#next_prev_post { display:none; }


/*------------------------------------------------------
お問い合わせ（CONTACT）：フォーム（FORM）
------------------------------------------------------*/
/*----- コンタクトフォーム -----*/
/* コンタクトフォーム：デフォルトclass設定 */
div.wpcf7 {
	border: none;
	margin: 0px;
	padding: 0px;
}
form.wpcf7-form {
	margin: 0px !important;
	padding: 0px !important;
	background: #F5F7FA;
}
/* コンタクトフォーム：追加class設定（フォーム・項目） */
.table-contactform7 input,
.table-contactform7 textarea {
	width: 100%;
	margin: 0;
	padding: 11px !important;
	border: #cfd5e6 1px solid !important;
	border-radius: 5px;
	background: #F5F7FA;
}
.table-contactform7 select {
	font-size: 1rem;
	padding: 11px !important;
	border: #cfd5e6 1px solid !important;
	border-radius: 5px;
	background: #F5F7FA;
}
.table-contactform7 p {
	margin: 0 !important;
	padding: 0;
}
.table-contactform7 td .user-zipcode3 {
	width: 100px;
	margin: 0;
}
.table-contactform7 td .user-zipcode4 {
	width: 150px;
	margin: 0;
}
.table-contactform7 td .user-email {
	font-size: 1.2em;
}
.table-contactform7 td .user-time {
	width: 250px;
}
.table-contactform7 td .user-message {
	height: 150px;
}
/* コンタクトフォーム：フォームデザイン（https://inthecom.net/635） */
.table-contactform7 {
	overflow: hidden;
	table-layout: fixed;
	margin: 0px;
	padding: 0px;
}
.required-contactform7 {
	font-size: 0.7em;
	color: #FFFFFF;
	padding: 5px 7px;
	background: #39464D;
	border-radius: 3px;
	margin-right: 11px;
}
.unrequired-contactform7 {
	font-size: 0.7em;
	color: #39464D;
	padding: 5px 7px;
	background: #FFFFFF;
	border: #39464D 1px solid;
	border-radius: 3px;
	margin-right: 11px;
}
#article .table-contactform7 th {
	color: #39464D;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
	background: #FFFFFF;
	border: #FFFFFF 1px solid;
	padding: 0 0 20px 0 !important;
}
#article .table-contactform7 td {
	background: #FFFFFF;
	border: #FFFFFF 1px solid;
	padding: 0 0 20px 0 !important;
}
@media screen and (min-width: 900px) {
  #article .table-contactform7 th {
	width: 31%;
}
}
@media screen and (max-width: 900px) {
.table-contactform7 {
	display: block;
}    
#article .table-contactform7 tbody,
#article .table-contactform7 tr {
	display: block;
	width: 100%;
}
#article .table-contactform7 th {
	width: 100%;
	display: block;
	margin: 0 auto;
	padding: 0 0 13px 0 !important;
	border: none;
	background: #fff;
	border-radius: 0
}
#article .table-contactform7 td {
	display: list-item;
	list-style-type: none;
	margin: 0;
	padding: 0 0 19px 0 !important;
	width: 100%;
	border: none !important;
}
}
/* コンタクトフォーム：デフォルトclass設定（レスポンスメッセージ） */
/* 共通デザイン */
.wpcf7 .wpcf7-response-output {
	font-size: 1.1rem;
	text-align: center;
	border-radius: 5px;
	transition: all 0.3s ease; /* アニメーションで自然に */
	width: 80%;
	max-width: 720px;               /* 任意：幅の上限をつけると整う */
	display: block;                 /* 念のためブロックに */
	float: none !important;         /* 念のためフロート解除 */
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 20px !important;
}
/* 成功（送信完了） */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.accepted .wpcf7-response-output {       /* まれに accepted を使う拡張も */
	color: #0058E6;
	background: #FFFFFF;
	border: 1px solid #0058E6 !important;
}
/* 入力不備（バリデーションエラー） */
.wpcf7 form.invalid .wpcf7-response-output {
	color: #721c24;
	background: #f8d7da;
	border-color: #f5c6cb;
}
/* 送信失敗（メール送信NG） */
.wpcf7 form.failed .wpcf7-response-output {
	color: #721c24;
	background: #f8d7da;
	border-color: #f5c6cb;
}
/* 中断（aborted） */
.wpcf7 form.aborted .wpcf7-response-output {
	color: #856404;
	background: #fff3cd;
	border-color: #ffeeba;
}
/* スパム判定（spam） */
.wpcf7 form.spam .wpcf7-response-output {
	color: #0c5460;
	background: #d1ecf1;
	border-color: #bee5eb;
}


/*----- コンタクトフォーム：デフォルトclass設定（送信ボタン） -----*/
/* 既定の最適化 */
input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
span.wpcf7-spinner { display: none; }

/* ラッパー（親） */
.btn-submit-base { text-align: center; }

.btn-submit {
	display: inline-block;
	position: relative; /* ::after の基準 */
}

/* ボタン本体 */
.btn-submit input[type="submit"] {
	font-size: 1rem;
	width: 300px;
	height: 61px;
	padding: 0px 40px 0px 10px; /* 右アイコンのための余白 */
	border-radius: 7px;
	background-color: #0F181C;   /* 背景 */
	border: 1px solid #0F181C;   /* 枠線 */
	color: #FFFFFF;              /* テキスト */
	cursor: pointer;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* 親:hover で色反転（=ボタン全体にホバーで発火） */
.btn-submit:hover input[type="submit"],
.btn-submit:has(input[type="submit"]:hover) input[type="submit"] { /* :has()は保険 */
	background-color: #FFFFFF;
	color: #0F181C;
	border: 1px solid #0F181C !important; /* ← border一括指定にする */
}

/* アイコン（親の疑似要素として描画） */
.btn-submit::after {
	content: "\f0e0";                 /* Font Awesome: angle-right */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: #FFFFFF;                   /* 通常：白 */
	pointer-events: none;             /* クリック妨げない */
	transition: color 0.3s ease;
}

/* 親:hover でアイコンも反転 */
.btn-submit:hover::after,
.btn-submit:has(input[type="submit"]:hover)::after { /* :has()は保険 */
	color: #0F181C;
}

/* キーボード操作でも反転させたい場合（推奨） */
.btn-submit input[type="submit"]:focus-visible {
	outline: 2px solid #0F181C;
	outline-offset: 2px;
	background-color: #FFFFFF;
	color: #0F181C;
	border: 1px solid #0F181C !important; /* ← border一括指定にする */
}

/*-----
メモ：コンタクトフォーム：submitに::before使用できない
-----*/


/*------------------------------------------------------
カスタム投稿｜医療従事者向けページ：医療従事者確認画面
------------------------------------------------------*/
.ktc-medical-overlay {
	position: fixed; inset: 0; display: none; z-index: 99999;
	background: rgba(0,0,0,.65);
	/* 背面だけをぼかす（子要素は非ブラー） */
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.ktc-medical-overlay .choice-area {
	width: 80%; max-width: 640px; margin: 6em auto; padding: 2em;
	/* 不透明白 → 半透明白（テキストは透けさせない） */
	background: rgba(255,255,255,.85);
	border-radius: 8px;
	/* box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px; */
	box-shadow: rgba(0, 0, 0, 0.35) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.35) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.2) 0px 0px 0px 1px inset;
}

.ktc-medical-overlay .choice-area .message {
	color: #0F181C;
	font-size: 1.5rem;
	text-align: center;
	position: relative;
}

.ktc-medical-overlay .choice-area p {
	line-height: 1.75;
}

.ktc-medical-overlay .choice-area .choice-section {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start; /* ← 左寄せ */
	align-items: flex-start;     /* ← 上揃え */
	gap: 20px;                   /* 行間/列間（最近のブラウザOK） */
	box-sizing: border-box;
	margin: 0 0 1.5em 0;
	padding: 0;
}
.ktc-medical-overlay .choice-area .choice-section .choice-btn {
	width:calc(50% - 10px);      /* gap:20px の半分を引くイメージ */
	margin: 0;                   /* gapで管理 */
	box-sizing: border-box;
}
@media screen and (max-width: 689px) {
	.ktc-medical-overlay .choice-area .choice-section {
		gap: 10px;                   /* 行間/列間（最近のブラウザOK） */
	}
	.ktc-medical-overlay .choice-area .choice-section .choice-btn {
		width:calc(50% - 5px);      /* gap:10px の半分を引くイメージ */
	}
}
.ktc-medical-overlay .choice-area .choice-section .choice-btn:empty { display: none; }

/*----- YES：リンクボタン -----*/
.ktc-medical-overlay .choice-area .choice-yes {
	width: 100%;
	display:block;
}
.ktc-medical-overlay .choice-area .choice-yes a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	height: 61px;
	position: relative;
	background: #0079ED; /*#0F181C*/
	border: 1px solid #0079ED;
	border-radius: 7px;
	box-sizing: border-box;
	padding: 0 37px 0 17px;
	color: #fff;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	transition-duration: 0.3s;
	margin:35px auto;
}
.ktc-medical-overlay .choice-area .choice-yes a:after {
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f105';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 21px;
}
.ktc-medical-overlay .choice-area .choice-yes a:hover {
	background: #fff;
	color: #0079ED !important;
	text-decoration: none;
}
.ktc-medical-overlay .choice-area .choice-yes a:hover:after {
	color: #0079ED;
}
.ktc-medical-overlay .choice-area .choice-yes a:before {
	content: '';
	width: 1px;
	height: 30px;
	border: 0;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	right: 46px;
	margin-top: -15px;
}
.ktc-medical-overlay .choice-area .choice-yes a:hover:before {
	border-right: 1px solid #0079ED;
}

@media screen and (max-width: 900px) {
	.ktc-medical-overlay .choice-area .choice-yes a {
		width: 150px; /*250px*/
		height: 51px; /*61px*/
		padding: 0 27px 0 7px; /*0 37px 0 17px*/
		margin: 25px auto; /*35px auto*/
	}
	.ktc-medical-overlay .choice-area .choice-yes a:after {
		right: 11px; /*21px*/
	}
	.ktc-medical-overlay .choice-area .choice-yes a:before {
		height: 30px; /*30px*/
		right: 31px; /*46px*/
		margin-top: -15px; /*-15px*/
	}
}

/*----- NO：リンクボタン -----*/
.ktc-medical-overlay .choice-area .choice-no {
	width: 100%;
	display:block;
}
.ktc-medical-overlay .choice-area .choice-no a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 250px;
	height: 61px;
	position: relative;
	background: #5D7791;
	border: 1px solid #5D7791;
	border-radius: 7px;
	box-sizing: border-box;
	padding: 0 37px 0 17px;
	color: #fff;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	transition-duration: 0.3s;
	margin:35px auto;
}
.ktc-medical-overlay .choice-area .choice-no a:after {
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f015';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
}
.ktc-medical-overlay .choice-area .choice-no a:hover {
	background: #fff;
	color: #5D7791 !important;
	text-decoration: none;
}
.ktc-medical-overlay .choice-area .choice-no a:hover:after {
	color: #5D7791;
}
.ktc-medical-overlay .choice-area .choice-no a:before {
	content: '';
	width: 1px;
	height: 30px;
	border: 0;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	right: 46px;
	margin-top: -15px;
}
.ktc-medical-overlay .choice-area .choice-no a:hover:before {
	border-right: 1px solid #5D7791;
}

@media screen and (max-width: 900px) {
	.ktc-medical-overlay .choice-area .choice-no a {
		width: 150px; /*250px*/
		height: 51px; /*61px*/
		padding: 0 27px 0 7px; /*0 37px 0 17px*/
		margin: 25px auto; /*35px auto*/
	}
	.ktc-medical-overlay .choice-area .choice-no a:after {
		right: 9px; /*21px*/
	}
	.ktc-medical-overlay .choice-area .choice-no a:before {
		height: 30px; /*30px*/
		right: 31px; /*46px*/
		margin-top: -15px; /*-15px*/
	}
}

/*------------------------------------------------------
カスタム投稿｜一般・患者の皆様向けページ：TOP
------------------------------------------------------*/
#project_archive .archive_desc {
	text-align: left !important;
}

/*------------------------------------------------------
技工部ユーザー専用サイト：about/overview/
------------------------------------------------------*/
/*----- ログイン画面 -----*/
div.passster-form {
	margin-top: 70px !important;
	margin-bottom: 70px !important;
	/* 不透明白 → 半透明白（テキストは透けさせない） */
	background: rgba(255,255,255,.85);
	border-radius: 8px !important;
	box-shadow: rgba(9, 30, 66, 0.25) 0px 4px 8px -2px, rgba(9, 30, 66, 0.08) 0px 0px 0px 1px;
}
div.passster-form form.passster-form {
	border-radius: 8px !important;
}
div.passster-form form.passster-form span.ps-form-headline {
	margin-bottom: 30px;
	/* 以下、効いてないか */
	display: block !important;
	text-align: !important;
}
#passster-password-hint {
	margin-bottom: 30px;
}

/*----- テーブル -----*/
#article table.table-item {
	width: 100%;
}
#article .table-item th {
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	width: 25%;
	background: #39464D;
	border-top: none;
	border-bottom: #FFFFFF 1px solid;
	border-left: none;
	border-right: none;
	margin: 0;
	padding: 11px !important;
}
#article .table-item td {
	background: #FFFFFF;
	border-top: none;
	border-bottom: none;
	border-left: #F2F2F2 1px solid;
	border-bottom: #F2F2F2 1px solid;
	border-right: none;
	margin: 0;
	padding: 11px 0 11px 20px !important;
	overflow-wrap: break-word;/*文字の*/
	word-wrap: break-word;/*折り返し*/
	white-space: normal;/*が効かない時*/
}

