/* =====================
   共通（画面・印刷 両方）
===================== */

/* A4用の背景イメージを画面でも再現したいならここに書く */
.print-root0 .sheet {
  background: #fff;
 /* 必要ならコメントアウト外す*/
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 4mm 4mm;
  box-shadow: 0 0 3mm rgba(0,0,0,.1);
  
}

/* page-header */
.header_left dt, .header_left dd{
	display:inline-block;
}
.header_left, .header_right{
	width:40%;
}
.header_center{
	width:20%;
}
dl, dt, dd{
	font-weight:normal;
}

/* 画面と印刷を同じ見た目に統一 */
body.single-entry {
  font-size: 14px;      /* ← 画面で指定している値に合わせる */
  line-height: 1.2;     /* 行間も合わせる */
	padding:4mm;
}

.print-root button.btn-print{
	font-size:16px;
	cursor:pointer;
	background:#ddd;
	border:2px solid #0066cc;
}
.print-root button.btn-print:hover{
	background:#ff66cc;
	border:2px solid #ddd;
	color:#fff;
}
.print-root a.btn-edit{
	margin-left:60px;
}

/* ヘッダー3カラム配置 */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0;
	margin-bottom:4px;
}





/* header_left */

dl,dt,dd{
	margin:0;
}
dl.number, dl.nyusho{
	display:table;
	width:100%;
	border-collapse:collapse;
	border:1px solid #111;
}
dl.number dt, dl.number dd, dl.nyusho dt, dl.nyusho dd{
	border-bottom:1px solid #111;
	border-right:1px solid #111;
	display:table-cell;
}
dl.nyusho{
	margin-top:4px;
}
dl.number{
	height:35px;
}
dl.number dt{
	width:45%;
	text-align:center;
	vertical-align:middle;
}
dl.number dd{
	width:55%;
	vertical-align:middle;
}
dl.nyusho dt{
	width:15%;
	vertical-align:middle;
	text-align:center;
}
dl.nyusho dd{
	width:30%;
}
dl.nyusho dt:nth-of-type(2) {
width:15%;
}
dl.nyusho dd:nth-of-type(2) {
width:40%;
	vertical-align:middle;
	text-align:center;
}

/* header_center */
.header_center h1{
	border: 2px solid #111;
    border-radius: 35px;
    padding: 13px 10px 7px 10px;
    font-size: 22px;
    text-align: center;
    margin: 0;
    display: block;
    line-height: 2;
}


/* header_right */
.header_right table {
  width: 100%;
  border-collapse: collapse;
	table-layout: fixed;
	margin:0;
}

.header_right table td.header_right_item{
	border:1px solid #111;
	text-align:center;
	vertical-align:middle;
	font-size:1.3rem;
	height:30px;
}


.header_right table td {
  border: 1px solid #111;
  text-align: center;
  vertical-align: middle;
  height: 40px;
	font-size:1.3rem;
}


/* header_bottom */
.header_bottom{
	width:53.1%;
}
.header_bottom table{
	width:100%;
	border-collapse:collapse;
	margin:4px 0 0 0;
	}
.header_bottom table tr td{
	border: 1px solid #111;
    text-align: center;
    vertical-align: middle;
    height: 33px;
    font-size: 1.3rem;
}
.header_bottom table tr td{
	width:11.13%;
}
.header_bottom table tr td.tanto{
	width:33.3%;
	padding:2.5px 1px;
}
.header_bottom table tr td.shokai{
	width:33.3%;
}
.header_bottom table tr:first-child td{
	height:auto;
}

/* 免許リスト */
.licenses {
  display: table;
  padding: 0;
	margin:0;
	border-collapse: collapse; /* 枠線を重なりなく */
  width: 100%;
	table-layout:fixed;
}
.license-item {
  list-style: none;
  position: relative;
  display: table-cell;
  padding: 0.2px;
  line-height: 1.2;
	word-break:auto-phrase;
	border:1px solid #111;
	text-align:center;
	vertical-align:middle;
}
.license-label {
  position: relative;
	text-align:center;
  z-index: 2;
}
.license-item.is-selected::after {
  content: "\25EF"; /* 大きい白丸 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-45%);
  font-size: 30px;
  line-height: 1;
  opacity: 1;   /* 画面でも見やすく */
  pointer-events: none;
  z-index: 1;
}
@media (max-width:480px) {
  .licenses {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

/* はい/いいえ選択肢 */
.yn-choices {
  display: flex;
  gap: 5px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.yn-choices li {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.yn-choices .label {
  position: relative;
  display: inline-block;
  padding: 2px 6px;
  line-height: 1.6;
}
.yn-choices li.is-selected .label::after {
  content: "○";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-43%);
  font-size: 38px;
  line-height: 1;
  pointer-events: none;
}



/*  お申込者*/

.moshikomisha table{
	width:100%;
	border-collapse:collapse;
	margin:4px 0;
	border:2px solid #111;
}
.moshikomisha table tr td{
	border: 1px solid #111;
    text-align: center;
    vertical-align: middle;
    font-size: 1.3rem;
}
.moshikomisha table tr td.kana{
	width:185px;
	line-height:1.5;
}
.tategaki{
	writing-mode:vertical-rl;
	text-align:center;
}

.text-left{
	text-align:left;
}
.text-right{
	text-align:right;
}
.moshikomisha table tr td.furigana{
	border-bottom:1px dashed #111;
	}
}
.moshikomisha table tr td.kana{
	border-bottom:1px dashed #111;
}
.moshikomisha table tr td.seibetu{
	
}
.moshikomisha table tr td.seinenngappi{
	
}
.moshikomisha table tr td.namae{
	border-top:none;
	height:37px;
	font-size:16px;
}
.moshikomisha table tr td.jitaku{
	
}
.moshikomisha table tr td.honseki{
	height:45px;
}

.moshikomisha table tr td.jyusho{
	height:45px;
}
.moshikomisha table tr td.denwa{
	height:24px;
}
.moshikomisha table tr td.text-left{
	text-align:left;
	font-size:15px;
}


/* 健康状態 */

.kenko_jyotai{
	width:100%;
	margin-top:4px;
	border-top:2px solid #111;
	border-right:2px solid #111;
	border-left:2px solid #111;
}
.kenko_jyotai .section-title{
	text-decoration: underline;
    text-align: center;
    margin: 5px;
}
.kenko_jyotai table.qa{
	border:none;
	margin:0;
}
.kenko_jyotai table tr td{
	border-bottom:2px solid #111;
	font-size:14px;
	vertical-align:middle;
	padding:2px 0 2px 5px;
}
.kenko_jyotai table .yn-choices{
	margin:5px 5px 5px 20px;
}
.kenko_jyotai table .yn-choices li{
	white-space:nowrap;
}


/* 同意書 */

.doisho_area{
	display:flex;
	justify-content:space-between;
	margin-top:4px;
}
.doisho_area .doisho p{
	font-size:14px;
	line-height:1.3;
}
.doisho_area .doisho p.t-center{
	font-size:16px;
	line-height:1.3;
	margin:8px 0;
}
.doisho_area .doisho p.text-m{
	font-size:15px;
	line-height:1.3;
}
.inkan_area{
	width:130px;
}
.inkan_area table.uketuke{
	border-collapse:collapse;
	border:1px solid #111;
	}
.inkan_area table.shocho{
	border-collapse:collapse;
	border:2px solid #111;
	margin-bottom:15px;
}
.inkan_area table.uketuke tr td{
	border:1px solid #111;
	}
.inkan_area table.uketuke tr td.inkan, .inkan_area table.shocho tr td.inkan{
	height:20px;
	text-align:center;
	padding:3px;
}
.inkan_area table.shocho tr td{
	border:1px solid #111;
	height:40px;
}
.inkan_area table.uketuke tr:nth-child(2) td{
	height:90px;
}
.inkan_area table.shocho tr:nth-child(2) td{
	height:70px;
}

.doisho .nyushosya{
	margin-left:50px;
}

/* 適性検査 */
.tekisei_area{
	display:flex;
	width:100%;
}
.tekisei_area .tekisei{
	width:65%;
}
.tekisei_area .tekisei table{
	border:2px solid #111;
	border-collapse:collapse;
	text-align:center;
	margin:0;
	width:99.5%;
}
.tekisei_area .tekisei table tr td{
	border:1px solid #111;
	vertical-align:middle;
}
.tekisei_area .tekisei table tr td.dosuu span{
	display:block;
}

.tekisei_area .kakuninn{
	width:35%;
}
.tekisei_area .kakuninn table{
	border:2px solid #111;
	border-collapse:collapse;
	margin:0;
	text-align:center;
	width:100%;
	table-layout:fixed;
	height:123px;
}
.tekisei_area .kakuninn table tr td{
	border:1px solid #111;
	vertical-align:middle;
	height:24px;
}
.tekisei_area .kakuninn table tr:nth-child(3) td{
	height:72px;
}
.tekisei .hidari{
	text-align:left;
}
.tekisei .migi{
	text-align:right;
}

.tekisei .ue{
	display:block;
	margin:0 0 20px 0;
	
}
.tekisei .sita{
	display:block;
}
.tekisei .takasa5{
	height:24px;
}
.tekisei .yoko2{
	width:65px;
}
.tekisei .yoko8{
	width:48px;
}



/* 同意書_裏 */

.doisho_ura1{
	border-top:1px solid #111;
	border-right:1px solid #111;
	border-left:1px solid #111;
	border-bottom:1px dashed #111;
	padding:10px;
	margin:10px 11px 0 11px;
}
.doisho_ura1 .title{
	text-align:center;
	margin:10px 0;
}
.doisho_ura1 p{
	margin:10px 0;
	font-size:14px;
	line-height:1.5;
}
.doisho_ura1 p.normal{
	font-size:16px;
	margin-bottom:28px;
}
.doisho_ura1 table.qa{
	border:none;
	width:90%;
	margin:0 auto;
}

.doisho_ura1 table.qa tr td{
	padding:5px 0;
}
.doisho_ura1 table.qa tr td.space-b{
	padding-bottom:15px;
}
.doisho_ura1 table.qa tr td.space-t{
	padding-top:15px;
}
.doisho_ura2{
	border-top:none;
	border-right:1px solid #111;
	border-left:1px solid #111;
	border-bottom:1px solid #111;
	padding:10px;
	margin:0 11px 10px 11px;
}
.doisho_ura2 p{
	margin-bottom:10px;
}
.doisho_ura2 .end{
	margin:15px auto;
	width:fit-content;
}
/* まとめるカッコ */
/* まとめカッコ（左側） */
.with-brace{
  position: relative;
  padding-left: 22px;       /* 文字が線に重ならないように左余白 */
}
.with-brace::before{
  /* 縦線 | */
  content: "";
  position: absolute;
  left: 6px;                /* 線のX位置（お好みで） */
  top: 0;
  bottom: 0;
  width: 2px;               /* 線の太さ */
  background: #111;
}

/* 上端の横線 ─（「[」の上の横棒）*/
.brace-top::after{
  content: "";
  position: absolute;
  left: 6px;                /* 縦線の位置と揃える */
  top: 0;
  width: 14px;              /* 横棒の長さ（右方向に伸びる）*/
  border-top: 2px solid #111;
}

/* 下端の横線 ─（「[」の下の横棒）*/
.brace-bottom::after{
  content: "";
  position: absolute;
  left: 6px;                /* 縦線の位置と揃える */
  bottom: 0;
  width: 14px;              /* 横棒の長さ（右方向に伸びる）*/
  border-bottom: 2px solid #111;
}


/* 改ページ */
.sheet {
  width: 210mm;                 /* A4 横 */
  height: 297mm;            /* A4 縦 */
  margin: 0 auto 10mm;          /* センター配置 + ページ間余白 */
  padding: 4mm 6mm 4mm 4mm;                /* 余白（@page の margin 相当）*/
  background: #fff;             /* 紙の白 */
  box-shadow: 0 0 8px rgba(0,0,0,.15); /* 画面で紙感を出す影 */
  position: relative;
  box-sizing: border-box;
}
.avoid-break {
  break-inside: avoid;
  page-break-inside: avoid;
}


/* 印刷・画面の切替 */
.print-only { display: none; }
.screen-only { display: inline; }

/* =====================
   印刷専用
===================== */
@page { size: A4; margin: 0 /*?mm ?mm*/; }

@media print {

	body.single-entry {
    font-size: 14px !important;  /* 強制的に画面と同じにする */
    line-height: 1.2 !important;
    -webkit-print-color-adjust: exact; /* Chrome系 */
    print-color-adjust: exact;         /* 標準 */
  }
  /* 不要なUIは印刷で隠す */
  #wpadminbar,
  header, .site-header,
  nav, .main-navigation, .global-nav,
  .breadcrumbs, .breadcrumb, #breadcrumb,
  .sidebar, .widget-area, .pagination, .comments-area,
  .site-footer, footer,
  .no-print, .no-print * {
    display: none !important;
    visibility: hidden !important;
  }

  /* 印刷対象を強制表示 */
  html, body, #page, .site, .site-content, main,
  .print-root, .print-root .sheet {
    display: block !important;
    visibility: visible !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  /* 印刷では○を少し濃く＆大きめに */
  .license-item.is-selected::after { opacity: 1; }
  .yn-choices li.is-selected .label::after { font-size: 2.4em; }

  .screen-only { display: none !important; }
  .print-only  { display: inline !important; }

  a { color: inherit !important; text-decoration: none !important; }
}
