:root{
  --brand-red:#D22E2E;
  --brand-red-dark:#B32424;
  --panel:#f6f6f1;
  --ink:#2B2B2B;
  --muted:#999;
  --line:#E4E6E0;
  --focus:#2643e9;
}

@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;600;700&display=swap');
html { scroll-behavior: smooth; }
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.75;
	color: #000;
	background: var(--brand-red);
	margin: 0;
	padding: 0;
	position: relative;
}

* {
	font-size: 1em;
	box-sizing: border-box;
	background-size: contain;
}

html, body, p, h1, h2, h3, h4, h5, ul, ol, li, dd, dl, dt, div {
	padding: 0;
	margin: 0;
	font-weight: 500;
}

img {
	border: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	vertical-align:top;
	max-width: 100%;
}

html { height: 100%; }
li { list-style-type: none; }
a {
	color: var(--brand-red);
	text-decoration: none;
}
a.underline,
.underline a { text-decoration: underline; }
.tcenter { text-align: center; }
.none { display: none; }
.sp { display: none; }
.pc { display: block; }

/* 選択色 */
::selection {
	background: var(--brand-red);
	color: #fff;
}

::-moz-selection {
	background: var(--brand-red);
	color: #fff;
}

main {
	width: 90%;
	max-width: 1000px;
	margin: 2em auto 0;
	background: #f6f6f1;
	padding: 2em;
	border-radius: 1em;
}

h1 { text-align: center; }
h1 img {
	width: 90%;
	max-width: 600px;
}

footer {
	text-align: center;
	padding: 1em;
	color: var(--panel);
}

.rf-field { margin-bottom: 1em; }
.rf-field .rf-label {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-weight:700;
}
.rf-field .rf-badge { color: #D22E2E; }
.rf-field .rf-control input[type="text"],
.rf-field .rf-control input[type="email"],
.rf-field .rf-control input[type="url"],
.rf-field .rf-control select,
.rf-field .rf-control textarea {
	width:100%;
	border:1px solid #E4E6E0;
	border-radius: 0.5em;
	background:#fff;
	padding: 0.75em;
}
.rf-field.is-error .rf-control input,
.rf-field.is-error .rf-control select,
.rf-field.is-error .rf-control textarea {
	border-color:#D13A3A;
	background:#FDECEC;
}
input[type="checkbox"] {
	position: relative;
	width: 1.25em;
	height: 1.25em;
	border-radius: 0.25em;
	border: 1px solid #E4E6E0;
	background:#fff;
	vertical-align: -0.5em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="checkbox"]:checked:before {
	position: absolute;
	top: 1px;
	left: 4px;
	transform: rotate(50deg);
	width: 4px;
	height: 8px;
	border-right: 4px solid #D13A3A;
	border-bottom: 4px solid #D13A3A;
	content: '';
}
a.ebidan-btn,
button[type="submit"] {
	cursor: pointer;
	border-radius: 0.5em;
	width: 15em;
	margin: auto;
	padding: 0.5em 2em;
	box-sizing: border-box;
	font-size: 125%;
	background: #D13A3A;
	border: none;
	color: #FFF;
	border-bottom: 5px solid rgba(0,0,0,0.3);
	transition: .3s;
}
a.ebidan-btn { display: block; }
.button.back { background: #999; }
.rf-error {
	color:#D13A3A;
	margin-top: 0.25em;
	display:flex;
	align-items:center;
	gap: 0.5em;
}
.rf-error::before {
	content:"✕";
	font-weight:700;
	line-height:1;
}

.rf-control { padding-left: 1em; }
.rf-control .group {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.rf-control.report {
	display: grid;
	grid-gap: 0;
	grid-template-columns: 1fr;
}

h1.ttl { padding: 2em 0 4em; }
small { font-size: 0.8em; }
small.sBox { display: block; line-height: 1.5; }
.red { color: var(--brand-red); }
.muted { color: var(--muted); }
.sTXT { padding-bottom: 1em; }

.k-field li {
	padding: 1em;
	border-bottom: #999 solid 1px;
}
.k-field li p { padding-left: 1em; }

.upImg {
	display: grid;
	grid-gap: 1em;
	grid-template-columns: 1fr 1fr 1fr;
}
.upImg li { border: 0; }
.whBox {
	background: #fff;
	padding: 2em;
	border-radius: 1em;
	border: #ddd solid 1px;
}
.dot li {
	text-indent: -1em;
	padding-left: 0.5em;
}
.dot li::before {
	content: '・';
}

@media all and (max-width: 736px) {
	img { max-width: 100%; }
	.sp { display: block; }
	.pc { display: none; }

	body {
		font-size: 2.7vw;
	}
	h1 img { width: 100%; }
	.upImg { grid-template-columns: 1fr; }
	.rf-control .group { grid-template-columns: 1fr; }
	button[type="submit"] { width: 11em; }
}