/* CSS Document */

:root{
--color-base:#333333;
--color-R:#ff0000;
--color-B:#0071b9;
--color-gray-B:#b3b3b3;
--color-gray-C:#cccccc;
--color-gray-E:#e6e6e6;
--color-gray-F:#f6f6f6;
}

#contents_second_main *{
	box-sizing: border-box;
}
#contents_second_main *[thanks]{
	padding: 80px;
	text-align: center;
}

.title_second_01{
	color:var(--color-B);
	font-size: 40px;
	font-weight: 700;
	line-height: 1em;
}

.contact_cate{
	margin: 40px 0 70px;
	display: flex;
	justify-content: space-between;
}
.contact_cate a{
	color:var(--color-base);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5em;
	width:238px;
	height:270px;
	border: solid 1px var(--color-gray-B);
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	z-index: 2;
	gap:2em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.contact_cate a::before{
	content:'';
	display: block;
	position: absolute;
	width:100%;
	height:100%;
	z-index: -1;
	background:-moz-linear-gradient(0deg, var(--color-gray-E), var(--color-gray-F));
  background:-webkit-linear-gradient(0deg, var(--color-gray-E), var(--color-gray-F));
  background:linear-gradient(0deg, var(--color-gray-E), var(--color-gray-F));
	mix-blend-mode: multiply;
}
.contact_cate a:hover,
.contact_cate a[current]{
	background-color:var(--color-B);
	color:#FFF;
	text-decoration: none;
}
.contact_cate a > div{
	word-break: break-word;
	text-align: center;
	width: 100%;
	min-height: calc(3 * 1.5em);
	line-height: 1.5em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact_cate:not([sub]) a[href*="c=2"] > div{width: min(7em, 100%);}
.contact_cate a > svg *{fill:gray;}
.contact_cate a:hover > svg *,
.contact_cate a[current] > svg *{fill:#FFF;}
.contact_cate[sub]{margin-bottom: 45px; gap:48px;}
.contact_cate[sub] a{flex-grow: 1; height:100px;}

#contents_second_main h2{
	border-left: solid 3px var(--color-B);
	padding-left: 7px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1em;
	margin-bottom: 1em;
}
form *[prewrap]{white-space: pre-wrap;}
form .conf_msg{margin-bottom: 55px;}
form dl{
	border-bottom: solid 1px var(--color-gray-B);
	padding: 1em 0;
	display:flex;
	align-items: center;
}
form h2 + dl,
form .conf_msg + dl{border-top: solid 1px var(--color-gray-B);}
form .conf_msg ~ dl{
	gap: 0.5em;
	flex-direction: column;
}
form dt{
	flex-grow: 1;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4em;
}
form dt > *{
	gap:1em;
	display:flex;
	align-items: center;
}
form dt > * span{
	background-color: var(--color-R);
	color:#FFF;
	font-size: 12px;
	line-height: 1em;
	border-radius: 0.5em;
	padding: 0.25em 0.5em;
	display:flex;
	align-items: center;
}
form dd{width:470px;}
form dd input[type="text"],
form dd input[type="email"],
form dd input[type="tel"],
form dd input[type="date"],
/* form dd *:not(label) input[type="file"], */
form dd textarea,
form .item_set .i input{
	font-size: 1em;
	line-height: 1.5em;
	border-radius: 0.5em;
	padding: 0.25em 1em;
	display: block;
	width:100%;
	min-height:40px;
	border: solid 1px var(--color-gray-E);
}
/* form dd *:not(label) input[type="file"]{padding: 20px;} */
form dd input[type="number"]::-webkit-inner-spin-button,
form dd input[type="number"]::-webkit-outer-spin-button{
	-webkit-appearance: none;
	-moz-appearance:textfield;
	margin: 0;
}
form dd input::placeholder{color:var(--color-gray-C);}
form dd *[radio]{
	gap: 0.5em 2em;
	display:flex;
	flex-wrap: wrap;
	align-items: center;
}
form dd *[radio] label{gap: 0.5em; display:flex; align-items: center;}
form dd *[radio] label input{font-size: 1em; width:1em; height:1em;}
form dd *[file] label{
	cursor: pointer;
	border-radius: 0.5em;
	padding: 20px;
	border: solid 1px var(--color-gray-E);
	position: relative;
	z-index: 2;
	gap: 1em;
	display: flex;
	align-items: center;
}
form dd *[file] label + label{margin-top: 0.5em;}
form dd *[file] label input{
	cursor: pointer;
	opacity:0;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: 2;
}
form dd *[file] label .btn{
	border: solid 1px var(--color-gray-C);
	background-color: var(--color-gray-F);
	color:var(--color-gray-C);
	border-radius: 0.5em;
	padding: 0.25em 1em;
	min-width: 7.5em;
	text-align: center;
}
form dd *[file] label .prev{
	gap:1em;
	display: flex;
	align-items: center;
}
form dd *[file] label .prev img{width:10em;min-width: 10em;}
form dd *[file] .file_conf{
	margin-top: 0.5em;
	gap:1em;
	display: flex;
	align-items: center;
}
form dd *[file] .file_conf img{max-width: 20em;}
form dd *[file] .file_conf + .file_conf{
	border-top: dotted 1px var(--color-gray-E);
	padding-top: 1em;
	margin-top: 1em;
}
form dd *[date] label{
	position: relative;
	display: flex;
	align-items: center;
}
form dd *[date] label *{cursor: pointer;}
form dd *[date] label img{width: auto; height:calc(1em * 18 / 14); position: absolute; left: 1em;}
form dd *[date] label input{padding-left: 3em;}
form dd *[caution],
form *[erm]{
	margin-top: 7px;
	white-space: pre-wrap;
	font-size: 13px;
	line-height: 18px;
}
form *[erm]{color:var(--color-R);}
form .conf_msg ~ dl dt,
form .conf_msg ~ dl dd{width:100%;}
form .honey{
	display: flex;
	flex-direction: column;
	align-items: center;
}
form *[name="honey"],
form .submit label input{display:none;}
form .submit{
	gap:1em 2em;
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
form .submit label,
form .submit a{
	border: solid 1px var(--color-gray-C);
	background-color: var(--color-B);
	color:#FFF;
	font-size: 17px;
	font-weight: 700;
	line-height: 1em;
	width:250px;
	height:50px;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}
form .submit label.back,
form .submit label[for*="back"]{background-color: var(--color-gray-B);}
form .submit label:hover{opacity:0.7;text-decoration: none;}

form .item_set{margin-bottom: 45px;}
form .item_set .t{
	border: solid 1px var(--color-gray-B);
	min-height: 73px;
	font-size: 21px;
	font-weight: 700;
	line-height: 1em;
	padding-left: 40px;
	display: flex;
	align-items: center;
}
form .item_set .t *{font-size: 1em;}
form .item_set .t .btn{
	position: relative;
	width: 71px;
	height:71px;
	margin-left: auto;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}
form .item_set .t .btn::before,
form .item_set .t .btn::after{
	content:'';
	display: block;
	background-color: var(--color-base);
	width:3px;
	height:3px;
	position: absolute;
	margin: auto;
}
form .item_set .t .btn::before{width:1em;}
form .item_set .t .btn::after{height:1em;}
form .item_set.active .t .btn::after{display: none;}
form .item_set .t:hover,
form .item_set.active .t{
	border-color: var(--color-B);
	background-color: var(--color-B);
	color:#FFF;
}
form .item_set .t:hover .btn::before,
form .item_set .t:hover .btn::after,
form .item_set.active .t .btn::before,
form .item_set.active .t .btn::after{background-color: #FFF;}
form .item_set .i{display: none;}
form .item_set .i > *{
	border: solid 1px var(--color-gray-B);
	border-top: none;
	min-height: 73px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1em;
	padding: 0 50px;
	display: flex;
	align-items: center;
}
form .item_set .i img{display: block; width:60px; margin-right: 2em;}
form .item_set .i input{
	text-align: right;
	margin-left: auto;
	margin-right: 1em;
	width: 170px;
}
form *[item] table tr td{text-align: right; padding-left: 0.5em;}

/* リキャプチャと被るため移動 */
#pagetop{bottom: 85px;}