/* autoprefixer grid: autoplace */
@charset "UTF-8";

*html {
	font-size: calc((100vw - 320px) / 140 + 16px);
}

*body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	/*
	font-size: 1rem;
*/
	font-size: 20px;
	line-height: 160%;
	animation: fadeIn 2s ease 0s 1 normal;
}

@-moz-keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@-o-keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}


img {
	vertical-align: bottom;
	vertical-align: text-bottom;
	border: none;
	-ms-interpolation-mode: bicubic;
}

a.color_FFF:link {
	color: #FFF;
	text-decoration: underline;
}

a {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

a:hover {
	color: var(--theme-color-red);
}

a:visited {
	color: var(--theme-fontcolor);
}

a.color_FFF:link:hover {
	color: #666;
	text-decoration: underline;
}

a.colortextlink {
	color: var(--theme-color-red);
}


.navipanel-on {
	z-index: 1000000000000 !important;
}

.close-navipanel {
	display: block;
	margin-top: 1rem;
	margin-bottom: 2rem;
	padding-right: 1rem;
	z-index: 1100000000000 !important;
}

.close-navipanel {
	display: none;
}

.modal-content {
	display: none;
}

.close-navipanel {
	display: none;
}

.modal-content {
	display: none;
}

@media screen and (max-width: 767px) {
	.close-navipanel .panelclose {
		box-sizing: border-box;
		display: block;
		width: 8rem;
		margin-left: auto;
		margin-right: 0;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 600;
		padding-top: 0.2em;
		padding-bottom: 0.2em;
		padding-left: 0.5em;
		padding-right: 0.5em;
		border: #000000 1px solid;
		background-color: #FFFFFF;
	}

	.close-navipanel .panelclose span {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 600;
	}

	.close-navipanel .panelclose span::before {
		display: inline-block;
		content: "Ｘ";
		padding-right: 0.2em;
	}

	.close-navipanel .panelclose img {
		width: 100%;
	}
}

/*
.modal-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 auto;
}

.modal-content .item {
	width: 100%;
	text-align: center !important;
	margin: 0 auto;
	margin-bottom: 5vh;
}

.modal-content .item:last-child {
	margin-bottom: 0;
}

.modal-content .item a {
	font-weight: 100;
	font-size: 2vw;
	line-height: 100%;
	color: #FFFFFF;
}

.modal-content .item a:hover {
	color: #00b7fb;
}
*/

#navipanel {
	width: 40% !important;
	left: 60% !important;
	background-color: rgba(255, 255, 255, 0.6);
	background-color: rgba(0, 0, 0, 0.6);
}

@media screen and (max-width: 767px) {
	#navipanel {
		width: 60% !important;
		left: 40% !important;
	}
}

@media screen and (max-width: 767px) {

	.close-navipanel {
		box-sizing: border-box;
		display: inline-block;
		width: 100%;
		text-align: center;
		margin-top: 1rem;
		margin-bottom: 1rem;
	}

	.close-navipanel .panelclose {
		box-sizing: border-box;
		display: block;
		width: 8rem;
		margin-left: auto;
		margin-right: 0;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 600;
		padding-top: 0.2em;
		padding-bottom: 0.2em;
		padding-left: 0.5em;
		padding-right: 0.5em;
		border: #000000 1px solid;
		border: #FFFFFF 1px solid;
	}

	.close-navipanel .panelclose span {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 600;
	}

	.close-navipanel .panelclose span::before {
		display: inline-block;
		content: "Ｘ";
		padding-right: 0.2em;
	}

	.close-navipanel .panelclose img {
		width: 100%;
	}


	/*
	.modal-content {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin: 0 auto;
	}

	.modal-content .item {
		width: 100%;
		margin-bottom: 5vh;
	}

	.modal-content .item:last-child {
		margin-bottom: 0;
	}

	.modal-content .item a {
		font-weight: 100;
		font-size: 5vw;
		line-height: 100%;
		color: #FFFFFF;
	}

	.modal-content .item a:hover {
		color: #00b7fb;
	}
*/
	.modal-content {
		box-sizing: border-box;
		display: block;
		width: 100%;
		text-align: right;
		padding-top: 0.8rem;
		padding-bottom: 0.8rem;
		border-top: #CCCCCC 1px solid;
		border-top: #FFFFFF 1px solid;
	}

	.modal-content .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		text-align: right;
		padding: 0.5em;
		border-bottom: #CCCCCC 1px solid;
		border-bottom: #FFFFFF 1px solid;
	}

	.modal-content .item .categorytop {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 500;
		line-height: 120%;
		margin-bottom: 0.8em;
		color: #FFFFFF;
	}

	.modal-content .item .subpages {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.modal-content .item .subpages .page {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 120%;
		margin-bottom: 1em;
		color: #FFFFFF;
	}

	#navipanel {
		width: 70% !important;
		left: 30% !important;
	}
}


header {
	box-sizing: content-box;
	display: block;
	/*
	position: fixed;
	z-index: 10000000000;
	width: 100vw;
*/
	background-color: rgba(0, 0, 0, 0.5);
	background-color: rgba(0, 0, 0, 0.6);
	background-color: #696961;
	background-color: #FFFFFF;
}

.top_header {
	position: absolute;
	top: 0;
	z-index: 10000000000;
	width: 100vw;
	background: none;
}

header .container {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	max-width: var(--width);
	grid-template-columns: 22% auto;
	justify-content: space-between;
	align-items: center;
	padding-right: 2rem;
	margin: 0 auto;
}

header .container .logo {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 24% auto;
	column-gap: 0.5em;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
	padding-left: 0.6rem;
	padding-right: 0.8rem;
	background-color: var(--theme-color-red);
}

header .container .logo h1 {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(19.5 / var(--width) * 100vw);
	font-weight: 400;
	line-height: 1em;
	letter-spacing: -0.05em;
	transform: scaleX(0.99);
	color: #ffffff;
}

header .container .logo h2 {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(19.5 / var(--width) * 100vw);
	font-weight: 400;
	line-height: 1em;
	letter-spacing: -0.05em;
	transform: scaleX(0.99);
	color: #ffffff;
}

header .container .logo .logomark {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

header .container .logo .logomark img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

/*
header .container .logo {
	box-sizing: border-box;
	display: grid;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
	padding-left: 1rem;
	padding-right: 1rem;
	background-color: var(--theme-color-red);
}

h1.logo {
	margin: 0;
}

header .container .logo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-right: 1rem;
}
*/

header .container .mainnavi {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	gap: calc(40 / 1440 * 100vw);
	justify-content: space-between;
	align-items: center;
}

header .container .mainnavi a {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(22 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 400;
	/*
	color: #ffffff;
*/
}

header .container .mainnavi a:hover {
	text-decoration: underline;
	color: var(--theme-color-superred);
}

header .container .mainnavi2 {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	gap: calc(40 / 1440 * 100vw);
	justify-content: space-between;
	align-items: center;
}

header .container .mainnavi2 a:hover {
/*
	color: var(--theme-color-red);
*/
	color: #999999;
	text-decoration: underline;
}


header .container .mainnavi2 a {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(22 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 400;
	color: #ffffff;
}

header .container .mainnavi2 a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}



header .container .mainnavi .contactbtn {
	padding-top: 0.4em;
	padding-bottom: 0.4em;
	padding-left: 1em;
	padding-right: 1em;
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	border-radius: 1em 1em 1em 1em;
	border: #ffffff solid 1px;
}

header .container .mainnavi .contactbtn:hover {
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	background-color: #ffffff;
	text-decoration: none;
}

.navi {
	display: none;
}

@media screen and (max-width: 767px) {
	header {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0 auto;
	}

	header .container {
		width: 100%;
		margin: 0 auto;
		box-sizing: border-box;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
		padding-right: 1rem;
	}

	header .container .logo {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: 24% auto;
		column-gap: 0.5em;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		padding-left: 0.8rem;
		padding-right: 0.8rem;
		background-color: var(--theme-color-red);
	}

	header .container .logo h1 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(14.5 / var(--width) * 100vw);
		font-weight: 400;
		line-height: 1em;
		letter-spacing: -0.05em;
		transform: scaleX(0.99);
		color: #ffffff;
	}

	header .container .logo h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(14.5 / var(--width) * 100vw);
		font-weight: 400;
		line-height: 1em;
		letter-spacing: -0.05em;
		transform: scaleX(0.99);
		color: #ffffff;
	}

	header .container .logo .logomark {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	header .container .logo .logomark img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

/*
	header .container .logo {
		box-sizing: border-box;
		display: grid;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		padding-left: 1rem;
		padding-right: 0.5rem;
		background-color: var(--theme-color-red);
	}

	header .container .logo img {
		width: 100%;
	}
*/
	header .container .mainnavi {
		display: none;
	}

	header .container .mainnavi2 {
		display: none;
	}

	header .container .navi {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: 2rem;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		height: auto;
	}

	header .container .navi img {
		width: 100%;
	}
}

.static {
	position: static !important;
}

.linkbtn {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 2em;
	padding-right: 2em;
	font-size: calc(16 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 600;
	line-height: 100%;
	color: var(--theme-color-red);
	color: #FFFFFF;
	border: var(--theme-color-red) solid 1.5px;
	border: none;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: #ffffff;
	background-color: #333333;
	background-color: var(--theme-color-superred);
}

.linkbtn:visited {
	color: var(--theme-color-red);
	color: #FFFFFF;
}

.linkbtn:hover {
/*
	color: #888888;
	border: #888888 solid 1px;
*/
	color: #ffffff;
	border: none;
	background-color: var(--theme-color-superred-hover);
}

.linkbtn_s {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 2em;
	padding-right: 2em;
	font-size: calc(14 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 600;
	line-height: 100%;
	color: var(--theme-color-red);
	color: #FFFFFF;
	border: var(--theme-color-red) solid 2px;
	border: none;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: #ffffff;
	background-color: #333333;
	background-color: var(--theme-color-superred);
}

.linkbtn_s:visited {
	color: var(--theme-color-red);
	color: #FFFFFF;
}

.linkbtn_s:hover {
	color: #888888;
	border: #888888 solid 1px;
	color: #ffffff;
	border: none;
	background-color: var(--theme-color-superred-hover);
}

@media screen and (max-width: 767px) {
	.linkbtn {
		margin: 0 auto;
		padding-top: 0.2em;
		padding-bottom: 0.2em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(32 / 1440 * 100vw);
		font-size: var(--regular-p-font-size-SS);
		font-weight: 600;
		line-height: 100%;
/*
		color: var(--theme-color-red);
*/
		color: #FFFFFF;
/*
		border: var(--theme-color-red) solid 1.5px;
*/
		border: none;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
/*
		background-color: #ffffff;
*/
		background-color: var(--theme-color-superred);
	}

	.linkbtn:visited {

	}

	.linkbtn:hover {
		color: #888888;
		border: #888888 solid 1px;
		border: none;
		color: #ffffff;
		background-color: var(--theme-color-superred-hover);
	}

	.linkbtn_s {
		margin: 0 auto;
		padding-top: 0.2em;
		padding-bottom: 0.2em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(24 / 1440 * 100vw);
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 600;
		line-height: 100%;
		color: var(--theme-color-red);
		color: #FFFFFF;
		border: var(--theme-color-red) solid 2px;
		border: none;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: #ffffff;
		background-color: #333333;
		background-color: var(--theme-color-superred);
	}

	.linkbtn_s:visited {
		color: var(--theme-color-red);
		color: #FFFFFF;
	}

	.linkbtn_s:hover {
		color: #888888;
		border: #888888 solid 1px;
		color: #ffffff;
		border: none;
		background-color: var(--theme-color-superred-hover);
	}
}

/*
.annotation {
	font-size: 1rem;
	font-weight: 300;
	line-height: 160%;
	color: var(--theme-color-red);
}
.annotation::before {
	font-size: calc(10 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
	color: var(--theme-color-red);
	content: "\02749";
	margin-right: 1em;
}
*/


section {}

@media screen and (max-width: 767px) {
	section {
		max-width: initial !important;
	}
}


footer {
	width: 100vw;
	margin: 0 auto;
	padding-top: 2rem;
	padding-bottom: 2rem;
	background-color: #3B4043;
}

footer .ftcabinet {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto auto auto auto auto auto 25%;
	grid-column-gap: 2rem;
	width: 90%;
	margin: 0 auto;
	margin-bottom: 3rem;
}

footer .ftcabinet .categorynavi {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

footer .ftcabinet .categorynavi .cattop {
	box-sizing: border-box;
	display: block;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 500;
	line-height: 120%;
	color: #dddddd;
	margin-bottom: 1rem;
}

footer .ftcabinet .categorynavi .cattop:last-child {
	margin-bottom: 0;
}

footer .ftcabinet .categorynavi .cattop:hover {
	text-decoration: underline;
}

footer .ftcabinet .categorynavi .links {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

footer .ftcabinet .categorynavi .links a {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-size: calc(11 / 1440 * 100vw);
	font-weight: 300;
	line-height: 120%;
	color: #dddddd;
	margin-bottom: 1rem;
}

footer .ftcabinet .categorynavi .links a:hover {
	text-decoration: underline;
}

footer .ftcabinet .cpinfo {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 25% 1fr;
	justify-content: flex-start;
	width: 100%;
	text-align: right;
}

footer .ftcabinet .cpinfo .ftlogo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

footer .ftcabinet .cpinfo .ftlogo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

footer .ftcabinet .cpinfo .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

footer .ftcabinet .cpinfo .caption h2 {
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 800;
	color: #dddddd;
	padding-top: 1em;
	margin-bottom: 1em;
}

footer .ftcabinet .cpinfo .caption .cpaddress {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-size: calc(15 / 1440 * 100vw);
	font-weight: 400;
	line-height: 160%;
	color: #dddddd;
}

footer .copyright {
	width: 100%;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: calc(14 / 1440 * 100vw);
	line-height: 100%;
	color: #dddddd;
	text-align: center;
}

footer .copyright span {
	font-family: 'Lato', sans-serif;
	font-weight: 800;
	color: #999999;
	margin-left: 0.3em;
	margin-right: 0.3em;
}

@media screen and (max-width: 767px) {
	footer {
		width: 100%;
		margin: 0 auto;
		padding-top: 1rem;
		padding-bottom: 1rem;
		background-color: #3B4043;
	}

	footer .ftcabinet {
		box-sizing: border-box;
		display: grid;
		display: block;
		grid-template-columns: none none none 100%;
		grid-column-gap: 1rem;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 3rem;
	}

	footer .ftcabinet .categorynavi {
		display: none;
	}

	footer .ftcabinet .cpinfo {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: 12% auto;
		column-gap: 0.1rem;
		align-items: flex-start;
		width: 100%;
	}

	footer .ftcabinet .ftlogo {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	footer .ftcabinet .ftlogo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	footer .ftcabinet .caption .cpinfo {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	footer .ftcabinet .caption .cpinfo h2 {
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 160%;
		color: #dddddd;
		padding-top: 1rem;
		text-align: left;
	}

	footer .ftcabinet .caption .cpinfo .cpaddress {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		line-height: 160%;
		color: #dddddd;
	}

	footer .copyright {
		width: 100%;
		font-family: 'Lato', sans-serif;
		font-weight: 400;
		font-size: calc(32 / 1440 * 100vw);
		line-height: 100%;
		color: #dddddd;
		text-align: center;
	}

	footer .copyright span {
		font-family: 'Lato', sans-serif;
		font-weight: 800;
		color: #999999;
		margin-left: 0.3em;
		margin-right: 0.3em;
	}
}


.tablecabinet {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: var(--block-margin-bottom);
}

.tablecabinet table {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: 3%;
	border-top: 1px solid #DDD;
}

.tablecabinet table tr th {
	border-bottom: solid 1px #CCCCCC;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 140%;
	color: #666666;
	width: 20%;
	padding: 1em;
	text-align: right;
}

.tablecabinet table tr th span {
	font-size: 60%;
	font-weight: normal !important;
	color: #999999;
	display: block;
}

.tablecabinet table tr th span.SPAN993300 {
	color: #CC0000;
	display: inline;
}

.tablecabinet table tr td {
	padding: 1em;
	padding-left: 2em;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 130%;
	border-bottom: solid 1px #CCCCCC;
}

.tablecabinet table tr .button {
	text-align: center;
	/*
	border-left: solid 1px #cccccc;
	border-right: solid 1px #cccccc;
*/
	background-color: #dddddd;
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.bordernon {
	border-bottom: none !important;
}

.tablecabinet table tr td ul li,
table.mailform tr td ul,
table.mailform tr td ol,
table.mailform tr td ol li {
	list-style: disc;
	margin: 0;
	margin-left: 1.2em;
	margin-bottom: 2%;
	line-height: 120%;
}

.tablecabinet table tr td ol {
	padding-top: 1rem;
}

.tablecabinet table tr td select {
	padding: 0.2em;
	font-size: 1em;
}

.tablecabinet table tr td textarea {
	width: 50%;
}

@media screen and (max-width: 767px) {
	.tablecabinet {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: var(--block-margin-bottom);
	}

	.tablecabinet table {
		width: 100%;
		padding: 0;
		padding-top: 3%;
		padding-bottom: 2%;
		border-top: 1px solid #DDD;
	}

	.tablecabinet table tr th {
		display: block;
		border-bottom: none;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 600;
		text-align: left;
		line-height: 140%;
		color: #666666;
		width: 100%;
		padding: 0;
		padding-top: 3%;
		padding-bottom: 2%;
		padding-right: 0;
	}

	.tablecabinet table tr th span {
		font-size: 60%;
		font-weight: normal !important;
		color: #999999;
		display: block;
	}

	.tablecabinet table tr th span.SPAN993300 {
		color: #CC0000;
		display: inline;
	}

	.tablecabinet table tr td {
		display: block;
		width: auto;
		padding: 1em;
		padding: 0;
		padding-left: 0;
		padding-bottom: 3%;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 140%;
		border-bottom: solid 1px #CCCCCC;
	}

	.bordernon {
		border-bottom: none !important;
	}

	.tablecabinet table tr td ul li,
	table.mailform tr td ul,
	table.mailform tr td ol,
	table.mailform tr td ol li {
		list-style: none;
		margin: 0;
		margin-bottom: 1em;
		font-size: 95%;
		line-height: 120%;
	}

	.tablecabinet table tr td ol li span {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 140%;
		margin-right: 0.5rem;
	}

	.tablecabinet table tr td ol li input {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 140%;
		margin-top: 0.5em;
	}

	.tablecabinet table tr td select {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 140%;
	}

	.tablecabinet table tr td select option {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size-S);
		font-weight: 300;
		line-height: 140%;
	}

	.tablecabinet table tr .button {
		padding: 1em;
		text-align: center;
		border-left: solid 1px #cccccc;
		border-right: solid 1px #cccccc;
		background-color: #dddddd;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

.tablecabinet_faq {
	box-sizing: border-box;
	width: 100%;
	padding-top: 2rem;
	margin: 0 auto;
	margin-bottom: 2rem;
}

.tablecabinet_faq table {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 3%;
	border-top: 1px solid #999999;
	border-left: 1px solid #999999;
}

.tablecabinet_faq table tr th {
	border-bottom: solid 1px #999999;
	border-right: 1px solid #999999;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 600;
	line-height: 140%;
	width: 20%;
	padding: 1em;
	text-align: center;
}

.tablecabinet_faq table tr td {
	padding: 1em;
	padding-left: 2em;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 300;
	line-height: 130%;
	border-bottom: solid 1px #999999;
	border-right: 1px solid #999999;
}

@media screen and (max-width: 767px) {
	.tablecabinet_faq {
		box-sizing: border-box;
		width: 100%;
		padding-top: 2rem;
		margin: 0 auto;
		margin-bottom: 2rem;
		overflow: auto;
	}

	.tablecabinet_faq table {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding: 3%;
		border-top: 1px solid #999999;
		border-left: 1px solid #999999;
	}

	.tablecabinet_faq table tr th {
		border-bottom: solid 1px #999999;
		border-right: 1px solid #999999;
		font-size: var(--regular-p-font-size-S);
		font-weight: 600;
		line-height: 140%;
		width: 20%;
		padding: 1em;
		text-align: center;
		white-space: nowrap
	}

	.tablecabinet_faq table tr td {
		padding: 1em;
		padding-left: 2em;
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 130%;
		border-bottom: solid 1px #999999;
		border-right: 1px solid #999999;
	}
}




input {
	border: #cccccc solid 1px;
	padding: 0.2rem;
}

.mfp_element_textarea {
	width: 100% !important;
	border: #cccccc solid 1px !important;
	padding: 0.2rem !important;
}

button.send {
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 2em;
	padding-right: 2em;
	font-size: var(--regular-p-font-size);
	font-weight: 300;
	line-height: 100%;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 2px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: #ffffff;
}

button.send:hover {
	background-color: var(--theme-color-red);
	color: #ffffff;
}

@media screen and (max-width: 767px) {
	button.send {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 2em;
		padding-right: 2em;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 100%;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 2px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: #ffffff;
	}

	button.send:hover {
		background-color: var(--theme-color-red);
		color: #ffffff;
	}
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
	border: solid 1px #CCC;
	border-radius: 3px;
	box-shadow: none !important;
	padding: 3px 8px;
	margin: 2px;
	vertical-align: middle;
}


.jumper {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 5%;
	margin: auto;
	width: 50px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	-js-display: flex;
	display: -moz-box;
	display: flex;
	-webkit-justify-content: flex-end;
	-ms-justify-content: flex-end;
	-webkit-box-pack: end;
	-moz-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	z-index: 10000000000;
	opacity: 0.5;
}

.jumper a {
	display: block;
	width: 50px;
	height: 50px;
}

.jumper a img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.jumper {
		position: fixed;
		left: auto;
		right: 1%;
		bottom: 10vh;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		-js-display: flex;
		display: -moz-box;
		display: flex;
		-webkit-justify-content: flex-end;
		-ms-justify-content: flex-end;
		-webkit-box-pack: end;
		-moz-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		width: 50px;
		margin-left: auto;
		margin-right: auto;
		z-index: 10000000000;
		opacity: 0.5;
	}

	.jumper a {
		display: block;
		width: 40px;
		height: 40px;
	}

	.jumper a img {
		width: 100%;
	}
}


.ymd {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	width: 100%;
	overflow: hidden;
}

.ymd .item {
	margin-right: 1em;
}

.ymd .item:last-child {
	margin: 0;
}

.ymd .year {
	width: 8em;
}

.ymd .date {
	width: 4em;
}


ul.stdlist {
	list-style: disc;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

ul.stdlist li {
	font-size: 100%;
	font-weight: 600;
	line-height: 160%;
	margin-left: 1.5em;
	margin-bottom: 1.2em;
}

ul.stdlist_inner {
	list-style: disc;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	margin-left: 1.5em;
}

ul.stdlist_inner li {
	font-weight: 600;
	line-height: 160%;
	color: #00275f;
	margin-left: 1.5em;
	margin-bottom: 0.6em;
}

@media screen and (max-width: 767px) {
	ul.stdlist {
		list-style: disc;
		margin-top: 1.5em;
		margin-bottom: 1.5em;
		margin-left: 1.5em;
	}

	ul.stdlist li {
		font-size: 6vw;
		font-weight: 600;
		line-height: 160%;
		margin-left: 1.5em;
		margin-bottom: 0.6em;
	}

	ul.stdlist_inner {
		list-style: disc;
		margin-top: 1.5em;
		margin-bottom: 1.5em;
		margin-left: 1.5em;
	}

	ul.stdlist_inner li {
		font-weight: 600;
		line-height: 160%;
		color: #00275f;
		margin-left: 1.5em;
		margin-bottom: 0.6em;
	}
}



.bluefont {
	color: #4a447b;
}

.e00c73 {
	color: #E00C73;
}

ul.stdlist_num {
	list-style: decimal;
	margin-top: 1em;
	margin-bottom: 1em;
}

ul.stdlist_num li {
	font-weight: bold;
	margin-left: 2em;
	margin-bottom: 0.5em;
}

p.appeal {
	margin-left: 1.2em;
	text-indent: -1.2em;
	font-size: 70% !important;
	font-weight: 400;
	color: #E00C73;
}

p.footnote {
	margin-left: 1.2em;
	text-indent: -1.2em;
	font-size: 90% !important;
	font-weight: 400;
	color: #e97227;
}

.footnote2 {
	box-sizing: border-box;
	display: block;
	font-size: 80% !important;
	font-weight: 300;
	line-height: 150%;
	text-indent: -1.2em;
	padding-left: 1.2em;
	color: #666666;
	margin-bottom: 1em;
}

.footnote2:last-child {
	box-sizing: border-box;
	display: block;
	font-size: 80% !important;
	font-weight: 300;
	line-height: 150%;
	text-indent: -1.2em;
	padding-left: 1.2em;
	color: #666666;
	margin-bottom: 0em;
}

@media screen and (max-width: 767px) {
	ul.stdlist {
		list-style: disc;
		margin-top: 1em;
		margin-bottom: 1em;
	}

	ul.stdlist li {
		font-size: 90%;
		line-height: 160%;
		margin-left: 1.5em;
		margin-bottom: 1em;
	}

	ul.stdlist_num {
		list-style: decimal;
		margin-top: 1em;
		margin-bottom: 1em;
	}

	ul.stdlist_num li {
		font-size: 80%;
		line-height: 140%;
		margin-left: 1.2em;
		margin-bottom: 1em;
	}

	ul.appeallist {
		margin-top: 1.5em;
		margin-bottom: 1.5em;
		list-style: none;
	}

	ul.appeallist li {
		font-size: 85%;
		font-weight: bold;
		margin-bottom: 0.5em;
	}
}

dl.appeallist {
	margin-top: 2em;
	margin-bottom: 2em;
}

dl.appeallist dt {
	font-weight: bold;
	color: #E00C73;
	margin-bottom: 0.8em;
}

dl.appeallist dd {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 85%;
	font-weight: normal;
	padding: 1em;
	margin-bottom: 2em;
	border: 1px solid #DDD;
	border-right: none;
	border-bottom: none;
	padding-left: 0.7em;
}

.bordertop {
	border-top: 1px solid #d1d1d1;
}

.borderbottom {
	border-bottom: 1px solid #d1d1d1;
}

.bottomzero {
	margin-bottom: 0 !important;
}

.top5 {
	margin-top: 5%;
}

.bottomnarrow {
	margin-bottom: 5%;
}

.bottomsupernarrow {
	margin-bottom: 0%;
}

.bottom10 {
	margin-bottom: 10% !important;
}

.bottom15 {
	margin-bottom: 15% !important;
}

.bottom2 {
	margin-bottom: 2% !important;
}

.bottom5 {
	margin-bottom: 5% !important;
}

.leftmargin {
	margin-left: 3%;
}

@media screen and (max-width: 767px) {
	.bottom5 {
		margin-bottom: 15% !important;
	}
}

.bottom5resp {
	margin-bottom: 5% !important;
}

@media screen and (max-width: 767px) {
	.bottom5resp {
		margin-bottom: 10% !important;
	}
}

@media screen and (max-width: 767px) {
	.mobilebottom {
		margin-bottom: 25%;
	}
}

.top3 {
	margin-top: 3% !important;
}

.topadd {
	margin-top: 5% !important;
}

.topaddm {
	margin-top: 0% !important;
}

@media screen and (max-width: 767px) {
	.topaddm {
		margin-top: 5% !important;
	}

	.top3 {
		margin-top: 5% !important;
	}
}

.topadd10 {
	margin-top: 10% !important;
}

.topadd10bottomadd10 {
	margin-top: 10% !important;
	margin-bottom: 10% !important;
}

.topzero {
	margin-top: 0 !important;
}



ul.astlist {
	margin-top: 1%;
}

ul.astlist li {
	text-indent: -1.2em;
	list-style-type: none;
	line-height: 140%;
	font-size: 65%;
	font-weight: 400;
	color: #CC3366;
	margin-bottom: 0.5em;
}


span.wine {
	color: #4a447b;
}

span.red {
	color: #dd0000;
}

span.SPAN993300 {
	color: #993300;
}

#mfp_phase_stat {
	display: none !important;
}

.asterisk {
	font-size: 0.8em;
	font-weight: 600;
	vertical-align: super;
	padding-left: 0.2em;
	padding-right: 0.2em;
	color: #993300;
}

.annotation {
	font-size: calc(10 / 1440 * 100vw);
	font-weight: 600;
	line-height: 160%;
	color: #993300;
}

.annotation::before {
	font-size: calc(10 / 1440 * 100vw);
	font-weight: 400;
	line-height: 160%;
	color: #993300;
	content: "\02749";
	margin-right: 1em;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.alertsup {
	color: #8D0000;
}

.alertcaption {
	font-size: 80% !important;
	font-weight: 600;
	color: #8D0000;
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	.alertcaption {
		font-size: 3.2vw !important;
		font-weight: 600;
		color: #8D0000;
		margin-top: 1em;
	}
}

.alertcaption2 {
	font-size: 70% !important;
	font-weight: 600;
	color: #666666;
	margin-top: 1em;
}

@media screen and (max-width: 767px) {
	.alertcaption2 {
		font-size: 3vw !important;
		font-weight: 600;
		color: #666666;
		margin-top: 1em;
	}
}

.appeal {
	box-sizing: border-box;
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 1.2em;
	text-indent: -1.2em;
	font-size: 70% !important;
	font-weight: 400;
	color: #E00C73;
}


sup {
	font-size: 50%;
	vertical-align: super;
	position: relative;
	top: -0.1em;
	margin-right: 0.5rem;
}

div#mfp_hidden {
	display: none !important;
}

/*
div#mfp_overlay_background {
	display: none!important;
}
div#mfp_loading_screen {
	display: none!important;
}

div#mfp_loading {
	display: none!important;
}
*/