.question-button {
	position: relative;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #808080;
	color: white;
	font-size: 15px;
	font-weight: bold;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	transition: background-color 0.3s, transform 0.2s;
	margin: auto 5px;
}
.question-button:hover {
	background-color: #606060;
	transform: scale(1.05);
}
.question-button:active {
	transform: scale(0.95);
}

.popup {
    display: none; /* 初期状態は非表示 */
    position: fixed; /* 表示位置をそのまま維持 */
    z-index: 1000;
    background-color: #ccc; /* 背景を白のまま */
    border: 1.5px solid #eee; /* 外枠を白で明確化 */
    padding: 5px; /* パディングを少し広げて余白を確保 */
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); /* シャドウで立体感を追加 */
    border-radius: 8px; /* 角を丸くして柔らかい印象に */
}

.popup-content {
    background-color: #f9f9f9; /* 内容部分を薄いグレーにして視認性を向上 */
    padding: 5px 15px;
    border: 1px solid #ddd; /* 内容部分にも薄い境界線を追加 */
    border-radius: 5px; /* 内容部分も少し角を丸く */
    max-width: 100%; /* 最大幅を維持 */
    width: 300px; /* 元の幅を維持 */
    margin: 0 auto; /* 水平方向の中央揃え */
    font-size: 14px; /* 読みやすい文字サイズ */
    line-height: 1.6; /* 行間を広げて視認性向上 */
    color: #333; /* テキストを濃いグレーにして読みやすく */
}

.close {
    color: #555; /* 閉じるボタンの色を少し濃くして目立たせる */
    float: right;
    font-size: 18px; /* ボタンを少し大きく */
    font-weight: bold;
    cursor: pointer; /* ポインターを表示 */
    transition: color 0.3s ease; /* ホバー時の色変化を滑らかに */
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}

/*
.popup {
 	display: none;
    position: fixed;
    z-index: 1000;
    background-color: white;
    border: 1px solid #ccc;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.popup-content {
	background-color: #fefefe;
	padding: 5px;
	border: 1px solid #888;
	max-width: 100%;
	width: 300px;
	margin: 0 auto;
}

.close {
	color: #aaa;
	float: right;
 	font-size: 15px;
	font-weight: bold;
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}
*/
.screen-only {
	visibility: visible; /* 画面用項目を表示 */
}
.pdf-only {
	visibility: hidden; /* PDF用項目を非表示 */
	display: none;
}

.print-area {
    height: 2000px; /* 高さを大きく設定して、スクロールを発生させる */
}

/* 印刷用のスタイル */
@media print {
    .right-print-only {
      display: block; /* 印刷時に表示 */
      position: absolute!important; /* 絶対位置に変更 */
      right: 0;
      top: 30px;
      transform: translateY(0);
      page-break-before: always;
    }

    /* 2ページ目以降に表示させない */
    body {
      position: relative!important;
    }

    .right-print-only {
      page-break-before: always; /* 1ページ目にのみ表示 */
    }

    .right-print-only + .right-print-only {
      display: none; /* 2ページ目以降の「個人用」を非表示にする */
    }
    .left_w {
        border-left: 3px double black; /* 左側に二重線を引く */
    }
	#keieiChart-radar{
		padding-top:100px;
		height: 440px!important;
	    width: 400px!important;
	}
    .print-only {
        display: block;
    }
    .no-print {
        display: none !important;
    }
    .print-layout {
        /* 印刷時にレイアウトを変更するスタイル */
        width: 100%;
        padding: 20px;
        background-color: #f8f8f8;
    }
    .print-area {
        max-height: none;
        height: auto;
        overflow: visible;
    }
    .print-margin-bottom-50 {
        margin-bottom: -50px;

    }
    .print-top-50 {
        margin-top: -50px;
        padding-top: -50px;

    }
    body, html {
        width: 100%;
        height: auto;
    }
    header {
    	display: none;
    	position: block;
  	}
  	footer{
  		display: none;
  	}
	div.print_header {
		font-size: 25px;
		font-weight: bold;
		display: block;  /* PDF出力用ヘッダーに使用 */
	}
	div.print_date {
		font-size: 18px;
		font-weight: bold;
		display: block;  /* PDF出力用ヘッダーに使用 */
	}
    #top, #bottom {
        display: none;  /* 不要な要素を印刷から除外する */
    }
    #printable-content {
        overflow: visible !important;
        height: auto;  /* 印刷時には高さを自動にして全体を印刷 */
    }
    .genka1 {
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
        background-color: #33ccff;
    }
    .genka2 {
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
        background-color: #33ff99;
    }
    .genka3 {
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
        background-color: #ff9999;
    }
    .genka4 {
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
        background-color: #ffe9a9;
    }
    .row_center {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center; /* 中央揃え */
    }
    .print_col_5 {
        flex: 0 0 42%;
        max-width: 42%;
    }
    .print_col-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .print_col-7 {
        flex: 0 0 58%;
        max-width: 58%;
    }
    /* 予備診断 PDF出力用 */
    .text-max150_print {
		height: 85px !important;
	}
	.div-max300_print {
		height: 150px !important;
	}
	.text-max300_print {
		height: 150px !important;
	}
	.text-max400_print {
		height: 200px !important;
	}
	.yobi_title_print {
		-webkit-print-color-adjust: exact;
		background-color: #9DC3E6 !important;
	}
	.yobi_kosyu_print {
		-webkit-print-color-adjust: exact;
		background-color: #B5E6A2 !important;
	}
	.yobi_pcetc_print {
		-webkit-print-color-adjust: exact;
		background-color: #FFCCCC !important;
	}
	.yobi_labels_print {
		-webkit-print-color-adjust: exact;
		background-color: #D9D9D9 !important;
	}
	.yobi_border_print {
		border: 1px solid #abb1b8 !important;
	}
	table.full_ip_print {
		width: 600px !important;
	}
	kosyu1_print {
		width: 780px !important";
	}
	kosyu2_print {
		width: 470px !important";
	}
	th.yobi_labels_print {
		-webkit-print-color-adjust: exact;
		background-color: #D9D9D9 !important;
	}
	td.yobi_labels_print {
		-webkit-print-color-adjust: exact;
		background-color: #D9D9D9 !important;
	}
	input[readonly], input[disabled] {
		-webkit-print-color-adjust: exact;
        background-color: #e9ecef !important;
    }
    div.yobi_print_main {
		margin:40px 1vw 70px;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 100%;
		vertical-align: baseline;
		letter-spacing: .05em;
		font-style: normal;
		font-weight: normal;
	}
	select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: none;
        padding: 5px;  /* 必要に応じて調整 */
    }
	input[type="month"], input[type="date"] {
		padding-right: 0 !important;
    }
	.col-md-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-md-2 {
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
}
	.col-md-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-md-4 {
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	 .col-md-5 {
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-md-7 {
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-md-8 {
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-md-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-md-10 {
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-md-11 {
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-md-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
	.postal-search {
        display: none;
    }
    .screen-only {
    	visibility: hidden !important; /* 画面用項目を非表示 */
    	display: none !important;
    }
    .pdf-only {
    	visibility: visible !important; /* PDF用項目を表示 */
    }
    div.pdf-box_print, td.pdf-box_print {
		-webkit-print-color-adjust: exact;
		background-color: #e3e3e3 !important;
		color:red;
	}
    /* 本診断（普及指導員用）PDF出力用 */
	.fukyu_color {
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
        background-color: #c3e6cb;
    }
    .fukyu_icon {
    	-webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    div.hon_print_fukyu_main {
		margin:30px 5px 100px 5px;
	}
	div.hon_print_header {
		font-size: 35px;
		font-weight: bold;
		display: block;  /* PDF出力用ヘッダーに使用 */
	}
	.hon_print_table {
		width: auto;
	}
    /* 本診断（士業用）PDF出力用 */
    .row {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-right: -15px;
		margin-left: -15px;
    }
	.col-md-6 {
	    -ms-flex: 0 0 50%;
	    flex: 0 0 50%;
    	max-width: 50%;
	}
	.px-1 {
  		padding-left: 0.25rem !important;
	}
	.mt-2,
	.my-2 {
  		margin-top: 0.5rem !important;
	}
	div.hon_print_main {
		margin:30px 5px 40px;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 100%;
		vertical-align: baseline;
		letter-spacing: .05em;
		font-style: normal;
		font-weight: normal;
	}
	.hon_box_print {
		-webkit-print-color-adjust: exact;
		background-color: #ddd !important;
	}
	th.hon_header1_print {
		-webkit-print-color-adjust: exact;
		 background-color: #89c3eb !important;
	}
	th.hon_header2_print {
		-webkit-print-color-adjust: exact;
		 background-color: #ff9999 !important;
	}
	th.hon_header3_print {
		-webkit-print-color-adjust: exact;
		 background-color: #9999ff !important;
	}
	th.hon_tate1_print {
		-webkit-print-color-adjust: exact;
		 background-color: #99cc99 !important;
	}
	th.hon_tate2_print {
		-webkit-print-color-adjust: exact;
		 background-color: #ffff66 !important;
	}
	td.hon-num-width{
		padding: 8px .75em 8px .75em !important;
    	width:24px;
	}
	td.hon_td_padding{
		vertical-align: middle;
		padding: 0px .75em 0px 0 !important;
	}
	.hon_td_komoku_print {
		width: 5%;
	}
	.hon_height_print {
		height: 180px !important;
	}
	/* 財務診断（法人） */
	.zaimusindan_t_head_print {
		max-height: none !important;
		height: auto;
    	overflow-y: visible !important;
	}
	.zaimusindan_thead_position {
		position: relative;
	}
	.zaimusindan_table_div {
		margin:0px 0.5vw 40px !important;
	}

	.zaimusindan_table_div2 {
		width: 98% !important;
	}

	/* 原価計算ツール */
	.genka_obi1_print {
		-webkit-print-color-adjust: exact;
		 background-color: #BAD3FF !important;
	}
	.genka_margin{
		margin-top: 10px!important;
	}
	/* 財務分析ツール */
	.ziamu_block {
        display: block !important;; /* フレックスを解除 */
        width: 100%; /* 横幅を100%に設定 */
    }
    .ziamu_block .col-md-5,
    .ziamu_block .col-md-7 {
        width: 100%; /* 各列も100%の横幅に */
        max-width: 100%; /* 最大幅も100%に */
        display: block; /* フレックスを解除 */
    }
    .ziamu_block canvas {
    	margin: 0 auto; /* 左右のマージンを自動にして中央寄せ */
        display: block; /* インライン要素のように扱う */
        margin-bottom: 20px; /* キャンバスの下に余白を追加 */
    }
	th.zaimutable_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #6c757d !important;
	}
	td.profit_print, div.profit_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #FF9999 !important;
	}
	td.safety_print, div.safety_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #33CCFF !important;
	}
	td.efficiency_print, div.efficiency_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #66FF99 !important;
	}
	td.rank1_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #DEEBF7 !important;
	}
	td.rank2_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #E2F0D9 !important;
	}
	td.rank3_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #FFFF9A !important;
	}
	td.rank4_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #FBE5D5 !important;
	}
	td.rank5_print {
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
		background-color: #FFCCFF !important;
	}
	/* 総合診断書 */
	div.print_summary_main {
		margin:30px 5px 100px 5px;
	}
	/* 改ページ制御用 */
	.print_page1 {
        break-inside: avoid;
    }
    .print_page2 {
        page-break-after: always;
    }

    .print_summary_table {
		width:80vw !important;
	}

	.print_summary_table_border {
		border-bottom: 2px solid #333 !important;
	}

	.full-width-text {
	    width: 100%;
	    height: 100%;
	    box-sizing: border-box; /* ボーダーやパディングを含めたサイズ計算 */
	    padding: 0; /* 内部の余白を削除 */
	    border: none; /* ボーダーが必要なければ削除 */
	    outline: none; /* フォーカス時の枠線を削除 */
	    height: 70px!important;      /* 高さを固定 */
	    overflow-y: hidden;   /* 必要に応じて縦スクロールを追加 */
	}
    /* ヘッダーをページ上部に固定 */
    thead {
        position: static!important;
        display: table-header-group;
        background-color: white;
    }

    /* テーブル全体を表示（スクロールを解除） */
    .scrollable-table {
        overflow: visible;
        max-height: none; /* スクロール制限を解除 */
    }

    /* ページ内の分割設定 */
    table {
        page-break-inside: auto;
    }
    tbody {
        display: table-row-group;
    }
    .question-button {
        display: none;
    }
	.summary_block{
		display: block !important; /* レスポンシブデザインの横並びを無効化 */
	}

	/* 原価計算結果 */
	.genkaprint{
		height:350px!important;
	}
	.pd-s {
		padding-left: 6px;
		padding-right: 6px;
	}
}

.item-center {
  align-content: center;
  padding-top: 5px;
  padding-bottom: 0px;
}
.input-right {
  margin: 0 0 0 auto;
}
.input_lb {
	align-content: center;
	padding-right: 5px;
	padding-left: 5px;
}
.h1_yobi {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    text-align: left!important;
    font-weight: bold;
    padding-left: 10px;
    height: 40px;
    background-color: #9DC3E6;
}
.h2_yobi {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    text-align: left!important;
    padding-left: 10px;
    height: 40px;
}
.h3_yobi {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    text-align: left!important;
    padding-left: 15px;
    height: 40px;
}
.tbh1_yobi {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
    height: 35px;
}
.tbh2_yobi {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    text-align: left!important;
    padding-left: 0px;
    height: 40px;
}
.highlight-box {
	border: 2px solid #FFC107;
    padding: 10px;
}
.h1_result {
    display: flex;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    padding: 20px;
    color: black;
    font-weight: bold;
    height: 40px;
	-webkit-print-color-adjust: exact;
}
.color_print {
	-webkit-print-color-adjust: exact;
}

.square-box {
	border: 2px solid black;;
    padding: 10px;
}
.bg-kosyu {
	background-color: #B5E6A2 !important;
}
.bg-pcetc {
	background-color: #FFCCCC !important;
}
.bg-yobi_labels {
	background-color: #D9D9D9 !important;
}
.table-bd th,
.table-bd td {
  	border: 1px solid #abb1b8 !important;
}
.table-bd2 th,
.table-bd2 td {
  	border: 2px solid #abb1b8 !important;
}
.bd-dark {
	border: 1px solid #343a40 !important;
}
.bdl-dark {
	border-left: 1px solid #343a40 !important;
}
.bdr-dark {
	border-right: 1px solid #343a40 !important;
}
.bdb-gray {
	border-bottom: 1px solid #abb1b8 !important;
}
.bdr-gray {
	border-right: 1px solid #abb1b8 !important;
}
.padding-0 {
	padding: 0 !important;
}
.padding-5 {
	padding: 5px; !important;
}
.padding-tnb {
    padding-top: 7px !important;
    padding-bottom: 5px !important;
}
.height-30 {
	height: 30px !important;
}
div.pdf-box {
	display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    text-align: left!important;
    padding-left: 50px;
	font-size:20px !important;
    height: 80px;
	background-color: #e3e3e3 !important;
	color: red;
}
td.pdf-box {
	padding-left:50px !important;
    height: 80px !important;
	vertical-align: middle !important;
	font-size:20px !important;
	background-color: #e3e3e3 !important;
	color: red !important;
}

/* 左端の「テーブル」部分 */
th.long-vertical-header {
    writing-mode: vertical-lr;
    text-align: center;
    white-space: nowrap;
    height: 100%;
    padding: 0;
}


.vertical-center {
  display: grid;
  justify-items: start;
  align-content: center;
  margin:0px;
}

@media screen and (min-width: 768px){
    .br-sp {
        display: none;
    }
    .desktop-only {
        display: block;
    }
    div.screen_header {
    	margin:0px 10vw 40px;
    	display: none;  /* PDF出力用ヘッダーに使用 */
    }
    div.hon_screen_main {
    	margin:20px 3vw 40px;
    }
    div.hon_screen_hukyu_main {
    	margin:20px 5px 100px 5px;
    }
    div.screen_summary_main {
    	margin:20px 5vw 100px;
    }
    div.zaimusindan_screen_main {
    	margin:20px 5px 40px;
    }
    div.yobi_screen_main {
    	margin:20px 3vw 50px;
    }
    div.list_screen_main {
    	margin:20px 1vw 50px;
    }
}

.txt_excerpt {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.td_width {
    margin-right:1px;
}
.en_position {
    margin-left:2px;
 }
 .input_width {
    width: 6em;
    max-width: 100%;
 }
 .hidden {
    display: none;
 }
body {
    font-family: 'ipaexg', sans-serif;
}
.thick-border {
    border: 2px solid #808080; /* 外枠を2pxの黒色の実線に設定 */
}
@media (max-width: 767px) {
    .text-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .text-center {
        position: static;
        transform: none;
    }
    .table-container {
        display: flex;
        align-items: center;
        height: 100%; /* 必要に応じて調整 */
        min-height: 200px; /* 必要に応じて調整 */
    }
    .desktop-only {
        display: none;
    }

    .responsive-table tr {
        display: block; /* 行を縦に並べる */
    }
    .responsive-table td {
        display: block; /* セルを縦に並べる */
        width: 100%;    /* 幅を100%に設定 */
        text-align: left; /* テキストを左寄せ */
    }
    /* 入力ボックスと単位を横並び */
	.input-and-str {
		margin-left:5vw;
	    display: inline-flex;
	    align-items: center; /* ボタンと文字の垂直方向を中央揃え */
	    gap: 5px; /* ボタンと文字の間に余白を追加 */
	}
    .input-expandable {
        width: 90vw; /* 画面幅の90%に拡大 */
        max-width: none; /* 最大幅の制限を解除 */
    }
    .questionnaire{
	  width: 100%;
	  height: auto;
	}
}
@media (min-width: 767px) {
    .table-container {
        display: flex;
        align-items: center;
        height: 100%; /* 必要に応じて調整 */
        min-height: 250px; /* 必要に応じて調整 */
    }
    /* 入力ボックスと単位を横並び */
	.input-and-str {
	    display: inline-flex;
	    align-items: center; /* ボタンと文字の垂直方向を中央揃え */
	    gap: 5px; /* ボタンと文字の間に余白を追加 */
	}
}
/* ボタンと文字を横並び */
.text-and-button {
    display: inline-flex;
    align-items: center; /* ボタンと文字の垂直方向を中央揃え */
    gap: 5px; /* ボタンと文字の間に余白を追加 */
}
.box {
    border: black 1px solid; /*境界線の指定*/
    padding:8px;
    margin-left: auto;
    width: 68px; /* ボックスの幅を指定 */
    height: 35px; /* ボックスの高さを指定 */
}
.box2 {
    border: 1px solid; /*境界線の指定*/
    width: 80vw; /* ボックスの幅を指定 */
    height: 25px; /* ボックスの高さを指定 */
}

.zai_sumauto{
	font-size:18px;
	background-color: #E9FFFE; /* 背景色を設定 */
}

.zai_header1{
	background-color: #FFA3C2; /* 背景色を設定 */
	padding: 0px!important; /* 内側の余白を設定 */
	color: #000; /* 文字色を設定 */
}
.zai_header2{
	background-color: #93C9FF; /* 背景色を設定 */
	padding: 0px!important; /* 内側の余白を設定 */
	color: #000; /* 文字色を設定 */
}
.zai_header3{
	background-color: #85F385; /* 背景色を設定 */
	padding: 0px!important; /* 内側の余白を設定 */
	color: #000; /* 文字色を設定 */
}
.sum_header{
	background-color: #FFD966; /* 背景色を設定 */
	padding: 0px!important; /* 内側の余白を設定 */
	color: #000; /* 文字色を設定 */
}

.hon_header1{
	background-color: #89c3eb; /* 背景色を設定 */
	padding: 0px!important; /* 内側の余白を設定 */
	color: #006eb0; /* 文字色を設定 */
}

.hon_header2{
    background-color: #ff9999; /* 背景色を設定 */
    padding: 0px!important; /* 内側の余白を設定 */
    color: #ff3333; /* 文字色を設定 */
}
.hon_header3{
    background-color: #9999ff; /* 背景色を設定 */
    padding: 0px!important; /* 内側の余白を設定 */
}
.hon_header4{
    background-color: #ff9999; /* 背景色を設定 */
    padding: 0px!important; /* 内側の余白を設定 */
}
.hon_tate1{
    background-color:#99cc99;/* 背景色を設定 */
    color: #006600; /* 文字色を設定 */
}
.hon_tate2{
    background-color:#ffff66;/* 背景色を設定 */
    color: #cc6633; /* 文字色を設定 */
}
.hon-border {
    border: 1px solid #000000; /* 外枠を2pxの黒色の実線に設定 */
}
.hon-komoku{
    writing-mode: vertical-lr;
    vertical-align: middle!important;
    text-align: center;
    padding:0px!important;
    margin:0px;
}
.hon-num-width{
	padding: 10px .75em 10px .75em !important;
    width:24px;
}
.zaimusin-border {
    border: 1px solid #fff; /* 外枠を1pxの白色の実線に設定 */
}
.full-width-input {
    width: 100%;
    height: 100%;
    box-sizing: border-box; /* ボーダーやパディングを含めたサイズ計算 */
    padding: 0; /* 内部の余白を削除 */
    border: none; /* ボーダーが必要なければ削除 */
    outline: none; /* フォーカス時の枠線を削除 */
}
.full-width-text {
    width: 100%;
    height: 100%;
    box-sizing: border-box; /* ボーダーやパディングを含めたサイズ計算 */
    padding: 0; /* 内部の余白を削除 */
    border: none; /* ボーダーが必要なければ削除 */
    outline: none; /* フォーカス時の枠線を削除 */
    height: 45px;      /* 高さを固定 */
    resize: none;       /* サイズ変更を無効化 */
    overflow: hidden;
}
.hon_td_padding{
	vertical-align: middle;
	padding: 0px .75em 0px 0 !important;
    /* padding-left:0px !important;  td内の余白調整 */
}
.hon_table_width1 {
    -ms-flex: 0 0 51.5%;
    flex: 0 0 51.5%;
    max-width: 51.5%;
}
.hon_table_width2 {
    -ms-flex: 0 0 48.5%;
    flex: 0 0 48.5%;
    max-width: 48.5%;
}
/* 長方形 */
.arrow_down {
	font-size: 100px;
	position: relative;
	width: 0.6em;
	height: 0.5em;
	background-color: #39a9d6;
}
/* 三角 */
.arrow_down::before {
	position: absolute;
	top: 0.4em;
	left: -0.5em;
	width: 0;
	height: 0;
	content: "";
	border-top: 0.7em solid #39a9d6;
	border-left: 0.8em solid transparent;
	border-right: 0.8em solid transparent;
}

/* 本診断（普及指導員用）用クラス */
/* 下矢印（長方形） */
.arrow_down_02 {
	font-size: 100px;
	position: relative;
	width: 0.6em;
	height: 0.6em;
	background-color: #fdd35c;
}
/* 下矢印（三角形） */
.arrow_down_02::before {
	position: absolute;
	top: 0.4em;
	left: -0.5em;
	width: 0;
	height: 0;
	content: "";
	border-top: 0.5em solid #fdd35c;
	border-left: 0.8em solid transparent;
	border-right: 0.8em solid transparent;
}

/* プラスマーク（縦線） */
.icon_plus {
    width: 100px;
    height: 30px;
    background-color: #fdd35c;
    top: 15px;
    left: 0;
    position: relative;
}
/* プラスマーク（横線） */
.icon_plus::before {
    content: "";
    display: block;
    width: 30px;
    height: 85px;
    background-color: #fdd35c;
    top: -27px;
    left: 35px;
    position: absolute;
}

/* セレクトボックス */
.hon_fukyu_select {
    width: 100%;
    height: 100%;
    display: block;
    border: none;
}

/*.hon_fukyu_select:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}*/

/* テキストボックス */
.hon_fukyu_input {
    field-sizing: content;
    width: 100%;
    height: 100%;
    display: block;
    border: none;
}

/* セル */
.hon_fukyu_table_number {
    width: 30px;
    border-bottom: 1px dotted;
    border-right: 1px dotted;
    vertical-align: middle;
}

.hon_fukyu_table_select {
    height:30px;
    width: 145px;
    border: none;
    border-bottom: 1px dotted;
    border-right: 1px dotted;
    vertical-align: middle;
}

.hon_fukyu_table_text {
    height:30px;
    width: 35vw;
    border: none;
    border-bottom: 1px dotted;
    border-right: 1px solid;
    vertical-align: middle;
}


/* セル_最終行 */
.hon_fukyu_table_number_last {
    width: 30px;
    border-right: 1px dotted;
    vertical-align: middle;
}

.hon_fukyu_table_select_last {
    height:30px;
    width: 145px;
    border: none;
    border-right: 1px dotted;
    vertical-align: middle;
}

.hon_fukyu_table_text_last {
    height:30px;
    width: 35vw;
    border: none;
    vertical-align: middle;
    border-right: 1px solid;
}

/* セル（優先して取り組むべき問題点） */
.hon_fukyu_yusen_table_number {
	height:30px;
    width: 30px;
    border-bottom: 1px dotted;
    border-right: 1px dotted;
    vertical-align: middle;"
}

.hon_fukyu_yusen_table_text {
    height:30px;
    width: 40vw;
    border: none;
    border-bottom: 1px dotted;
    border-right: 1px solid;
    vertical-align: middle;
}


/* セル（優先して取り組むべき問題点）_最終行 */
.hon_fukyu_yusen_table_number_last {
	height:30px;
    width: 30px;
    border-right: 1px dotted;
    vertical-align: middle;
}

.hon_fukyu_yusen_table_text_last {
    height:30px;
    width: 40vw;
    border: none;
    vertical-align: middle;
    border-right: 1px solid;
}

.hon-tuyomi-border{
    border: 2px solid #00bfff;
}
.hon-yowami-border{
    border: 2px solid #cc0000;
}

/* 総合診断書 */
.summary_table_text {
    height:100%;
    vertical-align: middle;
}

.summary_input {
    width: 75%;
    height:100%;
    display: block;
    border: none;
    text-align: right;
    display: inline-block;
}

.summary_input2 {
    width: 75%;
    height:100%;
    display: block;
    border: none;
    text-align: right;
}

.summary_input3 {
    width: 75%;
    height:100%;
    display: block;
    border: none;
    text-align: right;
}

.summary_lb {
	padding-right: 0px;
	padding-left: 0px;
	margin: 0 0 0 auto;
}
.summary_border{
	border:1px solid gray;
	margin-bottom:10px;
}

.kotei_table {
  position: sticky;
  top: 0;
  left: 0;
  border-top: none;
}

.zaimusindan_t_head {
    max-height: 80vh; /* 高さを指定 */
    overflow-y: auto; /* 縦スクロールを許可 */
}
.list_t_head{
	max-height: 70vh; /* 高さを指定 */
    overflow-y: auto; /* 縦スクロールを許可 */
}

.ul-home {
	display: flex;
	list-style: none;
}

.li-home {
  margin-right: 30px;
}

.li-home a {
  text-decoration: none;
  color: #333;
}

.notice-box {
	border: 2px solid #333;
	border-radius: 10px;
	background-color: #DEEBF7;
    padding: 10px;
}

.explain-box {
	background-color: #E2F0D9;
	padding: 10px;
}

.faq-box {
	background-color: #FBE5D6;
	padding: 10px;
}

.contact-box {
	background-color: #FFF2CC;
	padding: 10px;
}

.home-image {
    position: relative;
    display: inline-block;
    width: 600px; /* 画像の幅に合わせて調整 */
}

.home-jpg {
    width: 100%;
    height: auto;
}

.text-overlay {
    position: absolute;
    top: 10px; /* テキストの縦位置を調整 */
    left: 10px; /* テキストの横位置を調整 */
    color: black;
    background-color: white;
    padding: 5px; /* テキストの周りの余白 */
    z-index: 1;
}
/* ページ内リンク先移動時 */
.offset {
      padding-top: 100px; /* ヘッダーの高さ + 少し余裕 */
      margin-top: -100px; /* ヘッダーと重なるためのマイナスマージン */
}
/* textareaで150字が表示されるように高さ固定 */
.textarea-150 {
	height: 85px;
	resize: none;
	overflow-y: hidden;
}
.div-max150 {
	height: 85px;
}
/* textareaで300字が表示されるように高さ固定 */
.textarea-300 {
	height: 130px;
	resize: none;
	overflow-y: hidden;
}
.div-max300 {
	height: 130px;
}
/* textareaで400字が表示されるように高さ固定 */
.textarea-400 {
	height: 160px;
	resize: none;
	overflow-y: hidden;
}

.zaimusindan_td_padding{
    padding:0px !important; /* td内の余白調整 */
}
.zaimusindan_td_padname{
}
.zaimusindan_td_padtani{
    padding-left:0px !important; /* td内の余白調整 */
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
}
.center-text {
}
.zaimu_line{
	line-height: 1;
}

/* 中央寄せ用の親コンテナ */
.center-container {
    display: flex;
    justify-content: center; /* 左右中央 */
    align-items: center; /* 上下中央 */
    height: 30vh; /* 画面全体の高さを占める */
}

.center-container img {
    display: block;
    margin: auto;
}
/* 個人情報の取り扱い画面のクラス */
.personal_box {
  width: 80vw;                /* 横幅を指定 */
  height: 380px;               /* 縦幅を指定 */
  border: 1px solid #000;      /* わかりやすくボーダーを引く */
  overflow-y: scroll;          /* 縦方向にスクロール可能にする */
}
.kojin_check{
  transform: scale(1.5);
}
.susumu_btn[disabled] {
  border: 1px solid #333;
  background-color: #ccc;
}

.download-btn {
    display: inline-block;
    padding: 5px 10px; /* 内側の余白 */
    background-color: #0099f4; /* ボタンの背景色（青系） */
    color: #fff; /* 文字色 */
    border: solid 1px #aaa; /* 文字色 */
    text-decoration: none; /* 下線を消す */
    border-radius: 5px; /* 角を丸くする */
    font-size: 16px; /* フォントサイズ */
    font-weight: bold; /* 太字 */
    text-align: center; /* 文字を中央揃え */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 影を追加 */
    transition: background-color 0.3s ease, transform 0.2s ease; /* ホバーアニメーション */
    margin-bottom:5px;
    margin-left: auto; /* 自動で右に寄せる */
    margin-right: 50px;
    display: block; /* ブロック要素にする */
}

/* ここから追加CSS */
/* aタグをボタンに変更時、ボタンのデフォルトCSSを無効化 */
dl.like_a {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  padding: .5em 5%;
  line-height: 2;
}
.image-container {
  position: relative; /* 子要素の絶対位置の基準にする */
  width: 100%;        /* 画面幅に応じてリサイズ */
  max-width: 800px;   /* 最大幅を設定（任意） */
  margin: 0 auto;     /* 中央揃え */
  display: flex;
  justify-content: center; /* 水平方向に中央揃え */
}

/* 画像 */
.responsive-image {
  margin:100px;
  height: auto;       /* 縦横比を保持 */
  display: block;     /* 不要な隙間を消す */
}
.overlay-button {
  position: absolute; /* 絶対配置 */
  top: 70%;
  left: 70%;
  transform: translate(-50%, -50%); /* 中央に配置 */
  padding: 10px 20px;
  background-color: #FF9900;
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  font-size: 40px;
  white-space: nowrap;
}
.overlay-button:hover {
  background-color: #E68A00;
  color: #fff;
  text-decoration: none; /* ホバー時の下線も消す */
}

/* 入力ボックス内の文字色を変更 */
.form-control {
	color: #000 !important;
}