/* autoprefixer grid: autoplace */

@charset "UTF-8";

.mainimage {
	box-sizing: border-box;
	display: block;
	width: 100%;
	/*
	margin-bottom: 6rem;
*/
	position: relative;
}


.mainimage .caption {
	position: absolute;
	/*
	top: 30%;
*/
	top: 30%;
	left: 5%;
	margin: auto;
	width: 60%;
	z-index: 1;
}

.mainimage .caption h2 {
	box-sizing: border-box;
	display: block;
	/*
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
*/
	font-family: "IBM Plex Sans JP", sans-serif;
	font-style: normal;
	/*
	font-family: dnp-shuei-nmincho-std, sans-serif;
	font-style: normal;
*/
	font-size: var(--mainimage-h2-font-size-M);
	font-weight: 400;
	line-height: 120%;
	letter-spacing: 0.2em;
	text-shadow: 1px 1px 0px rgba(59, 57, 41, 0.05),
		-1px 1px 0px rgba(59, 57, 41, 0.05),
		1px -1px 0px rgba(59, 57, 41, 0.05),
		-1px -1px 0px rgba(59, 57, 41, 0.05),
		1px 0px 0.1px rgba(59, 57, 41, 0.05),
		0px 1px 0.2px rgba(59, 57, 41, 0.05),
		-1px 0px 0.5px rgba(59, 57, 41, 0.08),
		0.01em 0.03em 0.16em rgba(59, 57, 41, 0.7);
	color: #ffffff;
}

/*
.mainimage .caption .trailer {
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding-left: 0rem;
	padding-right: 3rem;

	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;

	font-family: "IBM Plex Sans JP", sans-serif;
	font-style: normal;

	font-family: "RocknRoll One", sans-serif;
	font-weight: 400;
	font-style: normal;

	font-family: "ta-koigokoro", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: var(--mainimage-h2-font-size-M);
	color: #111111;
}
*/
.mainimage .caption .trailer {
	box-sizing: border-box;
	display: block;
	width: 90%;
	padding-top: 1rem;
}

.mainimage .caption .trailer img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.mainimage .caption .trailer_m {
	box-sizing: border-box;
	display: block;
	width: 90%;
	padding-top: 1rem;
}

.mainimage .caption .trailer2 {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 1rem;
}

.mainimage .caption .trailer2 img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.mainimage .caption .trailer2_m {
	display: none;
}

.mainimage .appointment {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 18% 38% 1fr;
	grid-template-rows: 1fr;
	justify-content: space-between;
	align-items: center;
	/*
	position: absolute;
	bottom: 0%;
	left: 0%;
	right: 0%;
	margin: auto;
*/
	width: 100%;
	background-color: #ffffff;
	z-index: 1;
}

.mainimage .appointment .btn {
	box-sizing: border-box;
	display: grid;
	grid-template-rows: subgrid;
	justify-content: center;
	align-items: center;
	height: 100%;
	/*
	aspect-ratio: 250 / 180;
*/
	/*	padding-top: calc(50 / 1440 * 100vw);
	padding-bottom: calc(50 / 1440 * 100vw);*/
	/*
	background-color: var(--theme-color-darkred);
*/
	background-color: var(--theme-color-superred);
}

.mainimage .appointment .btn:hover {
	background-color: var(--theme-color-superred-hover);
}

.mainimage .appointment .btn .wrapper {
	box-sizing: border-box;
	display: grid;
	justify-content: center;
}

.mainimage .appointment .btn .wrapper .text {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(24 / 1440 * 100vw);
	font-size: var(--slotcaption-p-font-size);
	font-weight: 500;
	line-height: 140%;
	color: #ffffff;
	margin-bottom: 0.3em;
	text-align: center;
}

.mainimage .appointment .btn .wrapper .triangle_bottom {
	box-sizing: border-box;
	display: inline-block;
	margin: 0 auto;
	background-color: #ffffff;
	width: calc(14 / 1440 * 100vw);
	height: calc(10 / 1440 * 100vw);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	margin-bottom: 0.5em;
}

.mainimage .appointment .btn .wrapper .appoint {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20 / 1440 * 100vw);
	font-size: 1rem;
	font-weight: 300;
	line-height: 120%;
	color: #ffffff;
	text-align: center;
}

.mainimage .appointment .style {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(22 / 1440 * 100vw);
	font-weight: 600;
	/*
	color: var(--theme-color-red);
*/
	margin-bottom: 1em;
}

.mainimage .appointment .preTel {
	box-sizing: border-box;
	display: block;
	grid-template-rows: subgrid;
	width: 100%;
	padding-top: calc(20 / 1440 * 100vw);
	padding-bottom: calc(20 / 1440 * 100vw);
	text-align: center;
}
.mainimage .appointment .preTel p {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 500;
	line-height: 140%;
}


.mainimage .appointment .telno {
	box-sizing: border-box;
	display: block;
	grid-template-rows: subgrid;
	width: 100%;
	padding-top: calc(20 / 1440 * 100vw);
	padding-bottom: calc(20 / 1440 * 100vw);
	text-align: center;
}

.mainimage .appointment .telno .tel {
	box-sizing: border-box;
	display: inline-block;
	margin-bottom: 1em;
	vertical-align: bottom;
}

.mainimage .appointment .telno .tel .hd {
	font-optical-sizing: auto;
	font-style: normal;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: calc(28 / 1440 * 100vw);
	/*
	color: var(--theme-color-red);
*/
	line-height: 1em;
}

.mainimage .appointment .telno .tel .no {
	font-optical-sizing: auto;
	font-style: normal;
	font-family: 'Lato', sans-serif;
	font-weight: 500;
	font-size: calc(42 / 1440 * 100vw);
	/*
	color: var(--theme-color-red);
*/
	line-height: 1em;
}

.mainimage .appointment .telno .alerttext {
	box-sizing: border-box;
	display: inline-block;
	vertical-align: bottom;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 300;
	margin-bottom: 0.5em;
}

.mainimage .appointment .telno .alerttext:last-child {
	margin-bottom: 0;
}

.mainimage .appointment .firstaccept {
	box-sizing: border-box;
	display: grid;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding-top: calc(15 / 1440 * 100vw);
	padding-bottom: calc(15 / 1440 * 100vw);
	/*
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
*/
	/*
	padding-left: 1rem;
*/
	background-color: #555555;
}

.mainimage .appointment .firstaccept h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-header-font-size-L);
	font-size: var(--regular-header-font-size);
	font-weight: 500;
	line-height: 120%;
	margin-bottom: 0.8rem;
	color: #ffffff;
}

.mainimage .appointment .firstaccept p {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-p-font-size-V);
	font-size: var(--regular-p-font-size-Z);
	font-size: var(--regular-p-font-size-SS);
	font-weight: 300;
	line-height: 140%;
	margin-bottom: 0.5em;
	color: #ffffff;
}

.mainimage .appointment .firstaccept a {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size-S);
	font-weight: 550;
	line-height: 120%;
	text-decoration: underline;
	/*
	color: var(--theme-color-red);
*/
	color: #ffffff;
	/*
	color: var(--theme-color-superred);
*/
}

.mainimage .appointment .firstaccept a:hover {
	color: #999999;
}

.mainimage .jumbotron {
	display: block;
	width: 100%;
}

.mainimage .jumbotron img {
	display: block;
	width: 100%;
}

.mainimage .jumbotron_m {
	display: none;
}

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

	.mainimage .caption {
		position: absolute;
		top: 40%;
		left: 5%;
		right: 5%;
		margin: auto;
		width: 90%;
		z-index: 1;
	}

	.mainimage .caption h2 {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--mainimage-h2-font-size-LL);
		font-weight: 350;
		line-height: 140%;
		letter-spacing: 0.2em;
		/*
		text-shadow: 0.015em 0.03em 0.14em rgba(59, 57, 41, 0.9);
*/
		text-shadow: 1px 1px 0px rgba(59, 57, 41, 0.03),
			-1px 1px 0px rgba(59, 57, 41, 0.03),
			1px -1px 0px rgba(59, 57, 41, 0.03),
			-1px -1px 0px rgba(59, 57, 41, 0.03),
			1px 0px 0px rgba(59, 57, 41, 0.03),
			0px 1px 0px rgba(59, 57, 41, 0.03),
			-1px 0px 0px rgba(59, 57, 41, 0.03),
			0.015em 0.03em 0.12em rgba(59, 57, 41, 0.9);
		color: #ffffff;
	}

	.mainimage .caption .trailer {
		box-sizing: border-box;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-left: 0rem;
		padding-right: 2rem;
		/*
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
*/
		/*
		font-family: "IBM Plex Sans JP", sans-serif;
		font-style: normal;
*/
		font-family: "ta-koigokoro", sans-serif;
		font-weight: 400;
		font-style: normal;
		/*
	background-color: rgba(255, 255, 255, 0.5);	
*/
	}

	.mainimage .caption .trailer2 {
		display: none;
	}

	.mainimage .caption .trailer2_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1rem;
	}

	.mainimage .caption .trailer2_m img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.mainimage .appointment {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: 30% 1fr;
		justify-content: flex-start;
		align-items: center;
		position: relative;
		bottom: 0%;
		left: auto;
		right: 0%;
		margin: auto;
		width: 100%;
		background-color: #ffffff;
		z-index: 1;
	}

	.mainimage .appointment .btn {
		box-sizing: border-box;
		display: grid;
		grid-template-rows: subgrid;
		justify-content: center;
		align-items: center;
		aspect-ratio: unset;
		padding-top: calc(12 / var(--width) * 100vw);
		padding-bottom: calc(12 / var(--width) * 100vw);
		background-color: var(--theme-color-darkred);
		background-color: var(--theme-color-superred);
	}

	.mainimage .appointment .btn:hover {
		background-color: var(--theme-color-superred-hover);
	}

	.mainimage .appointment .btn .wrapper {
		box-sizing: border-box;
		display: grid;
		grid-template-rows: auto auto;
		justify-content: center;
		align-items: center;
	}

	.mainimage .appointment .btn .wrapper .text {
		box-sizing: border-box;
		display: block;
		font-size: calc(14 / var(--width) * 100vw);
		line-height: 120%;
		color: #ffffff;
		margin-bottom: 0.7em;
		text-align: center;
	}

	.mainimage .appointment .btn .wrapper .triangle_bottom {
		box-sizing: border-box;
		display: inline-block;
		margin: 0 auto;
		background-color: #ffffff;
		width: calc(10 / var(--width) * 100vw);
		height: calc(8 / var(--width) * 100vw);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-bottom: 0.5em;
	}

	.mainimage .appointment .btn .wrapper .appoint {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(12 / var(--width) * 100vw);
		font-weight: 300;
		line-height: 120%;
		color: #ffffff;
	}

	.mainimage .appointment .telno {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: calc(12 / var(--width) * 100vw);
		padding-bottom: calc(12 / var(--width) * 100vw);
		text-align: center;
	}

	.mainimage .appointment .style {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(18 / var(--width) * 100vw);
		font-weight: 600;
		/*
		color: var(--theme-color-red);
*/
		margin-bottom: 0.5em;
	}

	.mainimage .appointment .telno .tel {
		box-sizing: border-box;
		display: inline-block;
		margin-bottom: 0em;
		vertical-align: bottom;
		margin-bottom: 0.5em;
	}

	.mainimage .appointment .telno .tel .hd {
		font-family: 'Lato', sans-serif;
		font-weight: 500;
		font-size: calc(24 / var(--width) * 100vw);
		line-height: 1em;
		/*
		color: var(--theme-color-red);
*/
		line-height: 1em;
	}

	.mainimage .appointment .telno .tel .no {
		font-family: 'Lato', sans-serif;
		font-weight: 500;
		font-size: calc(32 / var(--width) * 100vw);
		/*
		color: var(--theme-color-red);
*/
		line-height: 1em;
	}

	.mainimage .appointment .telno .alerttext {
		box-sizing: border-box;
		display: block;
		vertical-align: bottom;
		font-size: calc(12 / var(--width) * 100vw);
		font-size: var(--regular-p-font-size-SSSS);
		font-weight: 300;
		margin-bottom: 0.5em;
	}

	.mainimage .appointment .telno .alerttext:last-child {
		margin-bottom: 0;
	}

	.mainimage .appointment .firstaccept {
		display: none;
	}

	.mainimage .jumbotron {
		display: none;
	}

	.mainimage .jumbotron_m {
		display: block;
		width: 100%;
	}

	.mainimage .jumbotron_m img {
		display: block;
		width: 100%;
	}
}


.firstaccept_m {
	display: none;
}

@media screen and (max-width: 767px) {
	.firstaccept_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
		/*
		padding-top: calc(10 / var(--width) * 100vw);
		padding-bottom: calc(10 / var(--width) * 100vw);
*/
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		background-color: rgba(0, 0, 0, 0.06);
		background-color: #333333;
	}

	.firstaccept_m .caption {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}

	.firstaccept_m .caption h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-h2-font-size-S);
		font-weight: 600;
		line-height: 160%;
		margin-bottom: 0.2em;
		color: #ffffff;
	}

	.firstaccept_m .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 0.2em;
		color: #ffffff;
	}

	.firstaccept_m .caption a {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 500;
		line-height: 120%;
		text-decoration: underline;
		/*
		color: var(--theme-color-red);
*/
		color: var(--theme-color-superred);
		color: #ffffff;
	}
}



.breadcrumb {
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0;
	padding-top: 1rem;
	margin-bottom: var(--breadcrumb-bottom-margin);
}

.breadcrumb p {
	font-size: 0.8rem;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	/*
	color: var(--theme-color-red);
*/
}

.breadcrumb p.linker {
	display: inline;
}

.breadcrumb p.linker span.arrow {
	padding-left: 1em;
	padding-right: 1em;
	font-weight: normal;
	color: #CCCCCC;
}

.breadcrumb p.linker a {
	font-weight: normal;
	text-decoration: none;
	color: #CCCCCC;
}

.breadcrumb p.linker a:hover {
	color: var(--theme-color-red);
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.breadcrumb {
		width: 90%;
		margin: 0 auto;
		padding: 0;
		padding-top: 1rem;
		margin-bottom: 1rem;
		background: none;
		margin-bottom: var(--breadcrumb-bottom-margin);
	}

	.breadcrumb p {
		font-size: 3vw;
		font-size: calc(32 / 1440 * 100vw);
		font-weight: 400;
		/*
		color: var(--theme-color-red);
*/
	}

	.breadcrumb p.linker {
		display: inline;
	}

	.breadcrumb p.linker span.arrow {
		padding-left: 1em;
		padding-right: 1em;
		font-weight: normal;
		color: #CCCCCC;
	}

	.breadcrumb p.linker a {
		font-weight: normal;
		text-decoration: none;
		color: #CCCCCC;
	}

	.breadcrumb p.linker a:hover {
		color: var(--theme-color-red);
		text-decoration: underline;
	}
}



.sitetop_maincaption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1040px;
	margin: 0 auto;
}

.sitetop_maincaption .main_column {
	box-sizing: border-box;
	display: block;
	width: 100%;
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1040px;
	margin-bottom: 3rem;
}

/*
.sitetop_maincaption .main_column h2 {
	font-size: clamp(1.5rem, var(--maincaption-h2-font-size), 3rem);
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 2rem;
}
*/
.sitetop_maincaption .main_column h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 550;
	line-height: 140%;
	margin-bottom: 2rem;
}

.sitetop_maincaption .main_column h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 600;
	line-height: 160%;
	margin-bottom: 1rem;
}

.sitetop_maincaption .main_column p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1rem, var(--maincaption-p-font-size), 1.2rem);
	font-weight: 400;
	line-height: 180%;
	margin-bottom: 1rem;
}


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

	.sitetop_maincaption .main_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.sitetop_maincaption .main_column h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 500;
		line-height: 140%;
		margin-bottom: 1.5rem;
	}

	.sitetop_maincaption .main_column h4 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(20 / 1440 * 100vw);
		font-weight: 500;
		line-height: 160%;
		margin-bottom: 1rem;
	}

	.sitetop_maincaption .main_column p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 180%;
		margin-bottom: 1rem;
	}
}


.site_maincaption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1040px;
	margin: 0 auto;
}

.site_maincaption .main_column {
	box-sizing: border-box;
	display: block;
	width: 100%;
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1040px;
	margin-bottom: 3rem;
}

.site_maincaption .main_column h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--maincaption-h2-font-size), 3rem);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.site_maincaption .main_column h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 600;
	line-height: 160%;
	margin-bottom: 1rem;
}

.site_maincaption .main_column p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1rem, var(--maincaption-p-font-size), 1.2rem);
	font-weight: 200;
	line-height: 180%;
	margin-bottom: 1rem;
}

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

	.site_maincaption .main_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 3rem;
	}

	.site_maincaption .main_column h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 500;
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.site_maincaption .main_column h4 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(20 / 1440 * 100vw);
		font-weight: 600;
		line-height: 160%;
		margin-bottom: 1rem;
	}

	.site_maincaption .main_column p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 200;
		line-height: 180%;
		margin-bottom: 1em;
	}

}



.main_slot {
	box-sizing: border-box;
	display: block;
	width: 100%;
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1040px;
	margin: 0 auto;
	margin-bottom: var(--margin-bottom);
}

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

.main_slot .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 550;
	line-height: 140%;
	margin-bottom: 2rem;
}

/*
.main_slot .caption h2 {
	font-size: clamp(1.5rem, var(--maincaption-h2-font-size), 3rem);
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 2rem;
}
*/

.main_slot .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 1rem;
}

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

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

	.main_slot .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 500;
		line-height: 140%;
		margin-bottom: 1.5rem;
	}

	.main_slot .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 1rem;
	}
}


.wrapper_4column {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0 auto;
	/*
	margin-bottom: calc(150 / 1440 * 100vw);
*/
	margin-bottom: var(--block-margin-bottom);
}

.wrapper_4column .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 4rem;
}

.wrapper_4column .caption h3 {
	font-size: var(--maincaption-h2-font-size);
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 2rem;
}

.wrapper_4column .caption p {
	font-size: var(--maincaption-p-font-size);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 1rem;
}

.wrapper_4column .list {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	margin: 0 auto;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 4rem;
	grid-row-gap: 4rem;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--block-margin-bottom);
}

.wrapper_4column .list .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 0 1rem 2rem 1rem;
	border: var(--theme-color-border) 5px solid;
	border: #999999 1px solid;
	cursor: pointer;
	background-size: 70%;
	background-repeat: no-repeat;
	background-position: top 0.8rem center;
	position: relative;
	transition: .6s all;
	background-color: #FFFFFF;
}

.wrapper_4column .list .item:hover {
	border: var(--theme-color-superred) 10px solid;
}

.wrapper_4column .list .item:hover .label .title {
	color: var(--theme-color-superred);
}

.wrapper_4column .list .pain1 {
	background-image: url(../images/top_pain1.png);
}

.wrapper_4column .list .pain1:hover {
	background-image: url(../images/top_pain1_tr_Red.png);
}

.wrapper_4column .list .pain2 {
	background-image: url(../images/top_pain2.png);
}

.wrapper_4column .list .pain2:hover {
	background-image: url(../images/top_pain2_tr_Red.png);
}

.wrapper_4column .list .pain3 {
	background-image: url(../images/top_pain3.png);
}

.wrapper_4column .list .pain3:hover {
	background-image: url(../images/top_pain3_tr_Red.png);
}

.wrapper_4column .list .pain4 {
	background-image: url(../images/top_pain4.png);
}

.wrapper_4column .list .pain4:hover {
	background-image: url(../images/top_pain4_tr_Red.png);
}

.wrapper_4column .list .pain5 {
	background-image: url(../images/top_pain5.png);
}

.wrapper_4column .list .pain5:hover {
	background-image: url(../images/top_pain5_tr_Red.png);
}

.wrapper_4column .list .pain6 {
	background-image: url(../images/top_pain6.png);
}

.wrapper_4column .list .pain6:hover {
	background-image: url(../images/top_pain6_tr_Red.png);
}


.wrapper_4column .list .item .label {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 100%;
	text-align: center;
	bottom: 1rem;
	left: 0;
	right: 0;
	margin: auto;
}

.wrapper_4column .list .item .label .shoulder {
	box-sizing: border-box;
	display: block;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 300;
	line-height: 140%;
	margin-bottom: 0.5em;
}

.wrapper_4column .list .item .label .title {
	box-sizing: border-box;
	display: block;
	font-size: calc(25 / 1440 * 100vw);
	font-weight: 600;
	color: var(--theme-color-border);
	color: #666666;
	line-height: 140%;
}

.wrapper_4column .list .item .label .text {
	box-sizing: border-box;
	display: block;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
}

@media screen and (max-width: 767px) {
	.wrapper_4column .list {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		margin: 0 auto;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 0.5rem;
		grid-row-gap: 0.5rem;
		align-items: center;
		justify-content: space-between;
		margin-bottom: var(--block-margin-bottom);
	}

	.wrapper_4column .list .item {
		box-sizing: border-box;
		display: grid;
		justify-content: center;
		align-items: center;
		width: 100%;
		/*
		aspect-ratio: 1 / 1;
*/
		padding: 0 0.1rem 0.5rem 0.1rem;
		/*
		border: var(--theme-color-border) 2px solid;
*/
		border: #999999 1px solid;
	}

	.wrapper_4column .list .item .photo {
		box-sizing: border-box;
		display: grid;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 10%;
	}

	.wrapper_4column .list .item .photo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
		object-fit: contain;
		transition: 0.6s all;
	}

	.wrapper_4column .list .item .label {
		box-sizing: border-box;
		display: block;
		width: 100%;
		text-align: center;
	}

	.wrapper_4column .list .item .label .shoulder {
		box-sizing: border-box;
		display: block;
		font-size: calc(10 / var(--width) * 100vw);
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 300;
		line-height: 140%;
		margin-bottom: 0.5em;
	}

	.wrapper_4column .list .item .label .title {
		box-sizing: border-box;
		display: block;
		font-size: calc(12 / var(--width) * 100vw);
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 600;
		/*
		color: var(--theme-color-border);
*/
		color: #666666;
		line-height: 140%;
	}

	.wrapper_4column .list .item .label .text {
		box-sizing: border-box;
		display: block;
		font-size: calc(16 / 1440 * 100vw);
		font-weight: 300;
		line-height: 160%;
	}
}

.pagefull_wrapper {
	width: 100vw;
}


.photobg_slot {
	box-sizing: border-box;
	display: block;
	position: relative;
	aspect-ratio: 1920 / 720;
	overflow: hidden;
	width: 100%;
}

.photobg_slot .textblock {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1040px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: auto;
}

.photobg_slot .textblock .caption {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin-bottom: var(--block-margin-bottom);
}

.photobg_slot .textblock .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 550;
	line-height: 140%;
	margin-bottom: 0.5rem;
}

.photobg_slot .textblock .caption h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 600;
	color: var(--theme-color-superred);
	line-height: 140%;
	margin-bottom: 1.5rem;
}

.photobg_slot .textblock .caption p {
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 180%;
	margin-bottom: 1rem;
}

.photobg_slot .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.photobg_slot .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.photobg_slot .photo_m {
	display: none;
}

@media screen and (max-width: 767px) {
	.photobg_slot {
		box-sizing: border-box;
		display: block;
		position: relative;
		aspect-ratio: 1920 / 1200;
		overflow: hidden;
		width: 100%;
	}

	.photobg_slot .textblock {
		box-sizing: border-box;
		display: block;
		position: absolute;
		width: 95%;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: auto;
	}

	.photobg_slot .textblock .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 0.5rem;
	}

	.photobg_slot .textblock .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--photoovercaption-h2-font-size);
		font-weight: 550;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.photobg_slot .textblock .caption h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--photoovercaption-h3-font-size);
		font-size: var(--regular-p-font-size-S);
		font-weight: 550;
		/*
		color: var(--theme-color-red);
*/
		color: #999999;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.photobg_slot .textblock .caption p {
		font-size: var(--photoovercaption-p-font-size);
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 400;
		line-height: 160%;
		margin-bottom: 0.5em;
	}

	.photobg_slot .photo_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.photobg_slot .photo_m img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.photobg_slot .photo {
		display: none;
	}
}


.treatment_triple_slot {
	box-sizing: border-box;
	display: grid;
	max-width: var(--max-width);
	grid-template-columns: repeat(3, 1fr);
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}

.treatment_triple_slot .item {
	box-sizing: border-box;
	grid-template-rows: subgrid;
	grid-row: span 4;
	width: 100%;
	padding-top: 3rem;
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 3rem;
	text-align: center;
}

.treatment_triple_slot .item .icon {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	aspect-ratio: 1 / 1;
	width: 50%;
	width: calc(120 / 1440 * 100vw);
	max-width: calc(130 / 1440 * 100vw);
	padding-bottom: 1rem;
	margin: 0 auto;
	display: none;
}

.treatment_triple_slot .item .icon img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_triple_slot .item .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: calc(48 / 1440 * 100vw);
}

.treatment_triple_slot .item h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	line-height: 140%;
	color: #ffffff;
	margin-bottom: 1rem;
}

.treatment_triple_slot .item p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 300;
	line-height: 140%;
	color: #ffffff;
	margin-bottom: 1rem;
}

.treatment_triple_slot .item .linkbtn_s {
	box-sizing: border-box;
	display: inline-block;
}

/*
.treatment_triple_slot .item .caption {
	box-sizing: border-box;
	display: grid;
	grid-template-rows: repeat(3, 1fr);
	grid-template-rows: auto;
	grid-row: span 4;
	width: 100%;
	margin-bottom: calc(48 / 1440 * 100vw);
}

.treatment_triple_slot .item .caption h2 {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	line-height: 140%;
	color: #ffffff;
	margin-bottom: 1rem;
}

.treatment_triple_slot .item .caption .description {
	box-sizing: border-box;
	display: grid;
	grid-template-rows: subgrid;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 300;
	line-height: 140%;
	color: #ffffff;
}
*/

#treatment1 {
	background-color: #AD0200;
}

#treatment1 .linkbtn_s {
	border: none;
	color: #000000;
	background-color: #ffffff;
}

#treatment1 .linkbtn_s:hover {
	border: none;
	text-decoration: underline;
	background-color: #ffffff;
}

#treatment2 {
	background-color: #ef1e1e;
}

#treatment2 .linkbtn_s {
	border: none;
	color: #000000;
	background-color: #ffffff;
}

#treatment2 .linkbtn_s:hover {
	border: none;
	text-decoration: underline;
	background-color: #ffffff;
}

#treatment3 {
	background-color: #BEBCBC;
	background-color: #AAAAAA;
	background-color: #999999;
	background-color: #777777;
	background-color: #444444;
}

#treatment3 .linkbtn_s {
	border: none;
	color: #000000;
	background-color: #ffffff;
}

#treatment3 .linkbtn_s:hover {
	border: none;
	text-decoration: underline;
	background-color: #ffffff;
}

@media screen and (max-width: 767px) {
	.treatment_triple_slot {
		box-sizing: border-box;
		display: grid;
		max-width: var(--max-width);
		grid-template-columns: 1fr;
		justify-content: flex-start;
		align-items: center;
		margin: 0 auto;
	}

	.treatment_triple_slot .item {
		box-sizing: border-box;
		display: grid;
		/*
		grid-template-columns: 25% 1fr;
*/
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		column-gap: 1rem;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding-top: 1rem;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
		padding-bottom: 1rem;
		text-align: left;
	}

	.treatment_triple_slot .item .icon {
		box-sizing: border-box;
		display: flex;
		justify-content: space-between;
		align-items: center;
		grid-row: 1 / span 3;
		aspect-ratio: 1 / 1;
		/*
		width: calc(65 / var(--width) * 100vw);
		max-width: calc(65 / var(--width) * 100vw);
*/
		width: calc(75 / var(--width) * 100vw);
		max-width: calc(75 / var(--width) * 100vw);
		padding: 0.2em;
		padding-bottom: 0.6rem;
		margin: 0 auto;
		display: none;
	}

	.treatment_triple_slot .item .icon img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_triple_slot .item .caption {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 0;
	}

	.treatment_triple_slot .item h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 500;
		line-height: 140%;
		color: #ffffff;
		margin-bottom: 0.5rem;
		text-align: center;
	}

	.treatment_triple_slot .item p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 300;
		line-height: 140%;
		color: #ffffff;
		text-align: center;
	}

	.treatment_triple_slot .item .linkbtn_s {
		box-sizing: border-box;
		display: inline-block;
		margin-left: 0;
		margin-right: auto;
		margin: 0 auto;
	}

	/*
	#treatment1 {
		background-color: #AD0200;
	}

	#treatment2 {
		background-color: #C97A7A;
	}

	#treatment3 {
		background-color: #BEBCBC;
		background-color: #999999;
		background-color: #696961;
		background-color: #777777;
	}
*/
	#treatment1 {
		background-color: #AD0200;
	}

	#treatment1 .linkbtn_s {
		border: none;
		color: #000000;
		background-color: #ffffff;
	}

	#treatment1 .linkbtn_s:hover {
		border: none;
		text-decoration: underline;
		background-color: #ffffff;
	}

	#treatment2 {
		background-color: #ef1e1e;
	}

	#treatment2 .linkbtn_s {
		border: none;
		color: #000000;
		background-color: #ffffff;
	}

	#treatment2 .linkbtn_s:hover {
		border: none;
		text-decoration: underline;
		background-color: #ffffff;
	}

	#treatment3 {
		background-color: #BEBCBC;
		background-color: #AAAAAA;
		background-color: #999999;
		background-color: #777777;
		background-color: #444444;
	}

	#treatment3 .linkbtn_s {
		border: none;
		color: #000000;
		background-color: #ffffff;
	}

	#treatment3 .linkbtn_s:hover {
		border: none;
		text-decoration: underline;
		background-color: #ffffff;
	}
}



.doctor_slot {
	box-sizing: border-box;
	display: grid;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	grid-template-columns: auto 36%;
	column-gap: 3rem;
	justify-content: space-between;
	align-items: flex-start;
	/*
	padding-top: var(--block-margin-bottom-narrow);
*/
}

.doctor_slot .meettheDoctor {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot .meettheDoctor .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.doctor_slot .meettheDoctor .caption .jobtitle {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 300;
	margin-bottom: 1.5rem;
}

.doctor_slot .meettheDoctor .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	margin-bottom: 3rem;
}

.doctor_slot .meettheDoctor .caption h2 .name {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(40 / 1440 * 100vw);
	font-weight: 400;
	margin-right: 0.7rem;
}

.doctor_slot .meettheDoctor .caption h2 .en {
	font-family: 'Lato', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20/ 1440 * 100vw);
	font-weight: 300;
	color: var(--theme-color-superred);
}

.doctor_slot .meettheDoctor .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 180%;
}

.doctor_slot .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot .photo_m {
	box-sizing: border-box;
	display: none;
}

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

	.doctor_slot .meettheDoctor {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 4rem;
	}

	.doctor_slot .meettheDoctor .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.doctor_slot .meettheDoctor .caption .jobtitle {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 300;
		margin-bottom: 1rem;
	}

	.doctor_slot .meettheDoctor .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		margin-bottom: 1rem;
	}

	.doctor_slot .meettheDoctor .caption h2 .name {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(32 / var(--width) * 100vw);
		font-size: var(--slotcaption-h2-font-size-L);
		font-weight: 400;
		margin-right: 0;
		margin-bottom: 0.5em;
	}

	.doctor_slot .meettheDoctor .caption h2 .en {
		box-sizing: border-box;
		display: inline-block;
		font-family: 'Lato', sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(14/ var(--width) * 100vw);
		font-weight: 300;
		margin-left: 1em;
		/*
		color: var(--theme-color-red);
*/
		color: #666666;
	}

	.doctor_slot .meettheDoctor .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 180%;
	}

	.doctor_slot .caption .photo_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.doctor_slot .caption .photo_m img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot .photo {
		box-sizing: border-box;
		display: none;
	}

	#subdoctor_caption {
		margin-bottom: 2rem;
	}
}



.sectiontitle {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
/*
	padding-top: 4rem;
	padding-top: var(--sub-margin-bottom);
*/
}

.sectiontitle h2 {
	font-size: calc(48/ 1440 * 100vw);
	font-weight: 500;
	line-height: 120%;
}

@media screen and (max-width: 767px) {
	.sectiontitle {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
/*
		padding-top: 1rem;
		padding-top: var(--sub-margin-bottom-narrow);
*/
	}

	.sectiontitle h2 {
		font-size: var(--maincaption-h2-font-size);
		font-weight: 500;
		line-height: 120%;
	}
}


.sectiontitle_treatment {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
/*
	padding-top: var(--sub-margin-bottom);
*/
}

.sectiontitle_treatment .treatment_title {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	grid-template-columns: 20% 1fr;
	column-gap: 2rem;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: var(--block-margin-bottom);
}

.sectiontitle_treatment .treatment_title .icon {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.sectiontitle_treatment .treatment_title .icon img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.sectiontitle_treatment .treatment_title .type {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.sectiontitle_treatment .treatment_title .type h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--photoovercaption-h2-font-size);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 1.5rem;
}

.sectiontitle_treatment .treatment_title .type h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--appointmentbtn-p-font-size);
	font-weight: 500;
	line-height: 140%;
	color: var(--theme-color-superred);
}

.sectiontitle_treatment .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 4rem;
}

.sectiontitle_treatment h4 {
	box-sizing: border-box;
	display: inline-block;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	border: var(--theme-color-red) 1px solid;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 500;
	line-height: 1em;
	color: var(--theme-color-red);
	margin-bottom: 1.5rem;
}

.sectiontitle_treatment p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 300;
	line-height: 180%;
}

@media screen and (max-width: 767px) {
	.sectiontitle_treatment {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		/*
		padding-top: 2rem;
		padding-top: var(--sub-margin-bottom-narrow);
*/
	}

	.sectiontitle_treatment .treatment_title {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: 30% 1fr;
		column-gap: 0.5rem;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 1rem;
	}

	.sectiontitle_treatment .treatment_title .icon {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.sectiontitle_treatment .treatment_title .icon img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.sectiontitle_treatment .treatment_title .type {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.sectiontitle_treatment .treatment_title .type h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--photoovercaption-h2-font-size-L);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.sectiontitle_treatment .treatment_title .type h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 500;
		line-height: 140%;
		color: var(--theme-color-superred);
	}

	.sectiontitle_treatment .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 4rem;
	}

	.sectiontitle_treatment h4 {
		box-sizing: border-box;
		display: inline-block;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1em;
		padding-right: 1em;
		border: var(--theme-color-red) 1px solid;
		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: 1em;
		color: var(--theme-color-superred);
		margin-bottom: 1.5rem;
	}

	.sectiontitle_treatment p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 180%;
	}

	.sectiontitle_tretment_paddingtop {
		padding-top: 2rem;
	}
}



.doctor_slot_sub {
	box-sizing: border-box;
	display: grid;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	grid-template-columns: auto 40%;
	column-gap: 3rem;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: var(--sub-margin-bottom);
}

.doctor_slot_sub .meettheDoctor {
	box-sizing: border-box;
	display: block;
	width: 100%;
	/*
	padding-bottom: 3rem;
*/
}

.doctor_slot_sub .meettheDoctor .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 4rem;
}

.doctor_slot_sub .meettheDoctor .caption .jobtitle {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 300;
	margin-bottom: 1.5rem;
}

.doctor_slot_sub .meettheDoctor .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	margin-bottom: 3rem;
}

.doctor_slot_sub .meettheDoctor .caption h2 .name {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(40 / 1440 * 100vw);
	font-weight: 400;
	margin-right: 0.7rem;
}

.doctor_slot_sub .meettheDoctor .caption h2 .en {
	font-family: 'Lato', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(20/ 1440 * 100vw);
	font-weight: 300;
	color: var(--theme-color-red);
}

.doctor_slot_sub .meettheDoctor .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size-S);
	font-weight: 400;
	line-height: 180%;
}

.doctor_slot_sub .meettheDoctor .profile {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .meettheDoctor .profile h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(32 / 1440 * 100vw);
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	margin-bottom: 2rem;
}

.doctor_slot_sub .meettheDoctor .profile .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .meettheDoctor .profile .list .item {
	box-sizing: border-box;
	display: block;
	margin-bottom: 1rem;
	padding-bottom: 1em;
	border-bottom: #CCCCCC 1px solid;
}

.doctor_slot_sub .meettheDoctor .profile .list .item .date {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(14 / 1440 * 100vw);
	font-size: var(--slotcaption-p-font-size-S);
	font-weight: 300;
	line-height: 100%;
	margin-bottom: 1rem;
}

.doctor_slot_sub .meettheDoctor .profile .list .item .title {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(18 / 1440 * 100vw);
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 140%;
}

.doctor_slot_sub .meettheDoctor .profile .list .item:last-child {
	margin-bottom: 0;
}

.doctor_slot_sub .meettheDoctor .photo_m {
	display: none;
}

.doctor_slot_sub .photocolumn {
	box-sizing: border-box;
	display: block;
	width: 100%;
	background-color: var(--theme-gray-bg);
	/*
	padding-bottom: 6rem;
*/
	padding-bottom: 2rem;
}

.doctor_slot_sub .photocolumn .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}

.doctor_slot_sub .photocolumn .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .photocolumn .certificationcolumn {
	box-sizing: border-box;
	display: block;
	width: 90%;
	margin: 0 auto;
	background-color: var(--theme-gray-bg);
	padding-bottom: 3rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .certification {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 3rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .certification h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size-S);
	font-weight: 500;
	margin-bottom: 2rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .certification .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .photocolumn .certificationcolumn .certification .list .item {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size-SS);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 1rem;
	padding-bottom: 0.5em;
	border-bottom: #CCCCCC 1px solid;
}

.doctor_slot_sub .photocolumn .certificationcolumn .certification .list .item:last-child {
	margin-bottom: 0;
}

.doctor_slot_sub .photocolumn .certificationcolumn .affiliations {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .affiliations h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size-S);
	font-weight: 500;
	margin-bottom: 2rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list .item {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size-SS);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 0.5rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list .item:last-child {
	margin-bottom: 0;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size-S);
	font-weight: 500;
	margin-bottom: 2rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-bottom: 1em;
	border-bottom: #CCCCCC 1px solid;
	margin-bottom: 0.5rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item .date {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-family: 'Lato', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-p-font-size-SSS);
	font-weight: 400;
	line-height: 140%;
	color: #999999;
	margin-bottom: 0.5rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item .title {
	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(--slotcaption-p-font-size-SS);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 1rem;
}

.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item .journal {
	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-SSS);
	font-weight: 300;
	line-height: 140%;
}


.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list .item:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.doctor_slot_sub {
		box-sizing: border-box;
		display: grid;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		grid-template-columns: auto 40%;
		column-gap: 3rem;
		justify-content: space-between;
		align-items: flex-start;
	}

	.doctor_slot_sub .meettheDoctor {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .meettheDoctor .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
		margin-bottom: 3rem;
	}

	.doctor_slot_sub .meettheDoctor .caption .jobtitle {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 300;
		margin-bottom: 1rem;
	}

	.doctor_slot_sub .meettheDoctor .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		margin-bottom: 2rem;
	}

	.doctor_slot_sub .meettheDoctor .caption h2 .name {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--photoovercaption-h2-font-size-L);
		font-weight: 400;
		margin-right: 0.7rem;
	}

	.doctor_slot_sub .meettheDoctor .caption h2 .en {
		font-family: 'Lato', sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 300;
		color: var(--theme-color-red);
	}

	.doctor_slot_sub .meettheDoctor .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 180%;
	}

	.doctor_slot_sub .meettheDoctor .caption .photo_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-bottom: 1rem;
	}

	.doctor_slot_sub .meettheDoctor .caption .photo_m img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .photocolumn {
		box-sizing: border-box;
		display: block;
		width: 100%;
		/*
		background-color: var(--theme-gray-bg);
*/
		background: none;
		margin-bottom: 4rem;
		padding-bottom: 0;
	}

	.doctor_slot_sub .photocolumn .photo {
		box-sizing: border-box;
		display: block;
		width: 100%;
		display: none;
	}

	.doctor_slot_sub .photocolumn .photo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0 auto;
		/*
		background-color: var(--theme-gray-bg);
*/
		background: none;
		padding-top: 3rem;
		padding-bottom: 0;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .certification {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 3rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .certification h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 550;
		margin-bottom: 2rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .certification .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .certification .list .item {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-SS);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 1rem;
		padding-bottom: 1em;
		border-bottom: #CCCCCC 1px solid;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .certification .list .item:last-child {
		margin-bottom: 0;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .affiliations {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 3rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .affiliations h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 550;
		margin-bottom: 2rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list .item {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-SS);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .affiliations .list .item:last-child {
		margin-bottom: 0;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 550;
		margin-bottom: 2rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-bottom: 1em;
		border-bottom: #CCCCCC 1px solid;
		margin-bottom: 0.5rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item .date {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-family: 'Lato', sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 400;
		line-height: 140%;
		color: #999999;
		margin-bottom: 0.5rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item .title {
		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(--slotcaption-p-font-size-SS);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.doctor_slot_sub .photocolumn .certificationcolumn .papers .list .item .journal {
		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-SSS);
		font-weight: 300;
		line-height: 140%;
	}
}


.profile_slot {
	box-sizing: border-box;
	display: grid;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	grid-template-columns: auto 40%;
	column-gap: 3rem;
	justify-content: space-between;
	align-items: flex-start;
}

.profile_slot .profile_column {
	box-sizing: border-box;
	display: block;
	width: 100%;
	/*
	margin-bottom: 5rem;
*/
}

.profile_slot .profile_column .profile {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.profile_slot .profile_column .profile h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(32 / 1440 * 100vw);
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	margin-bottom: 2rem;
}

.profile_slot .profile_column .profile .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.profile_slot .profile_column .profile .list .item {
	box-sizing: border-box;
	display: block;
	margin-bottom: 1rem;
	padding-bottom: 1em;
	border-bottom: #CCCCCC 1px solid;
}

.profile_slot .profile_column .profile .list .item .date {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(14 / 1440 * 100vw);
	font-size: var(--slotcaption-p-font-size-S);
	font-weight: 300;
	line-height: 100%;
	margin-bottom: 1rem;
}

.profile_slot .profile_column .profile .list .item .title {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(18 / 1440 * 100vw);
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 140%;
}

.profile_slot .profile_column .profile .list .item:last-child {
	margin-bottom: 0;
}

.profile_slot .certificationcolumn {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--theme-gray-bg);
	padding-bottom: 5rem;
}

.profile_slot .certificationcolumn .certification {
	box-sizing: border-box;
	display: block;
	width: 80%;
	margin: 0 auto;
	margin-bottom: 2rem;
	/*
	padding-top: 2rem;
*/
}

.profile_slot .certificationcolumn .certification h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	margin-bottom: 2rem;
}

.profile_slot .certificationcolumn .certification .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.profile_slot .certificationcolumn .certification .list .item {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size-S);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 1rem;
	padding-bottom: 0.5em;
	border-bottom: #CCCCCC 1px solid;
}

.profile_slot .certificationcolumn .certification .list .item:last-child {
	margin-bottom: 0;
}

.profile_slot .certificationcolumn .affiliations {
	box-sizing: border-box;
	display: block;
	width: 80%;
	margin: 0 auto;
	padding-top: 2rem;
}

.profile_slot .certificationcolumn .affiliations h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	margin-bottom: 2rem;
}

.profile_slot .certificationcolumn .affiliations .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.profile_slot .certificationcolumn .affiliations .list .item {
	box-sizing: border-box;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size-S);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 0.5rem;
}

.profile_slot .certificationcolumn .affiliations .list .item:last-child {
	margin-bottom: 0;
}

.profile_slot ._prof1 {
	order: 1;
}

.profile_slot ._prof2 {
	order: 2;
}


@media screen and (max-width: 767px) {
	.profile_slot {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 2rem;
		justify-content: flex-start;
		align-items: flex-start;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
	}

	.profile_slot .profile_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: var(--sub-margin-bottom);
	}

	.profile_slot .profile_column .profile {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.profile_slot .profile_column .profile h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size-L);
		font-weight: 500;
		margin-bottom: 2rem;
	}

	.profile_slot .profile_column .profile .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.profile_slot .profile_column .profile .list .item {
		box-sizing: border-box;
		display: block;
		margin-bottom: 1rem;
		padding-bottom: 1em;
		border-bottom: #CCCCCC 1px solid;
	}

	.profile_slot .profile_column .profile .list .item .date {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(14 / var(--width) * 100vw);
		font-size: var(--slotcaption-p-font-size-S);
		font-weight: 300;
		line-height: 100%;
		margin-bottom: 0.5rem;
	}

	.profile_slot .profile_column .profile .list .item .title {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: calc(18 / var(--width) * 100vw);
		font-size: var(--slotcaption-p-font-size);
		font-weight: 500;
		line-height: 140%;
	}

	.profile_slot .profile_column .profile .list .item:last-child {
		margin-bottom: 0;
	}

	.profile_slot .certificationcolumn {
		box-sizing: border-box;
		display: block;
		width: 100%;
		height: 100%;
		background-color: var(--theme-gray-bg);
		padding-bottom: 2rem;
	}

	.profile_slot .certificationcolumn .certification {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 1rem;
	}

	.profile_slot .certificationcolumn .certification h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size-L);
		font-weight: 500;
		margin-bottom: 1.5rem;
	}

	.profile_slot .certificationcolumn .certification .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.profile_slot .certificationcolumn .certification .list .item {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 150%;
		margin-bottom: 1rem;
		padding-bottom: 0.5em;
		border-bottom: #CCCCCC 1px solid;
	}

	.profile_slot .certificationcolumn .certification .list .item:last-child {
		margin-bottom: 0;
	}

	.profile_slot .certificationcolumn .affiliations {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
	}

	.profile_slot .certificationcolumn .affiliations h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size-L);
		font-weight: 500;
		margin-bottom: 1.5rem;
	}

	.profile_slot .certificationcolumn .affiliations .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.profile_slot .certificationcolumn .affiliations .list .item {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 180%;
		margin-bottom: 0.5rem;
	}

	.profile_slot .certificationcolumn .affiliations .list .item:last-child {
		margin-bottom: 0;
	}

	.profile_slot ._prof1 {
		order: 2;
	}

	.profile_slot ._prof2 {
		order: 1;
	}
}




.facilities {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--margin-bottom);
	margin-bottom: 0;
}

.facilities .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}

.facilities .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--maincaption-h2-font-size), 3rem);
	font-weight: 400;
	color: var(--theme-fontcolor);
	line-height: 140%;
	margin-bottom: 2rem;
}

.facilities .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1rem, var(--maincaption-p-font-size), 1.2rem);
	font-weight: 200;
	color: var(--theme-fontcolor);
	line-height: 180%;
	margin-bottom: 2rem;
}

.facilities .list {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 2rem;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}

.facilities .list .item {
	box-sizing: border-box;
	display: block;
	position: relative;
	width: 100%;
}

.facilities .list .item .name {
	box-sizing: border-box;
	display: block;
	width: 100%;
	position: absolute;
	bottom: 0;
	padding: 1em;
	padding-bottom: 1.5em;
	background-color: rgba(0, 0, 0, 0.7);
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.8);
}

.facilities .list .item .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
	overflow: hidden;
}

.facilities .list .item .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
	object-fit: contain;
	transition: 0.6s all;
}

.facilities .list .item .photo_m {
	display: none;
}

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

.facilities .equipment .item {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	grid-template-columns: 35% auto;
	column-gap: 2rem;
	justify-content: space-between;
	align-items: flex-start;
	border: #CCCCCC 1px solid;
	margin-bottom: var(--block-margin-bottom);
}

.facilities .equipment .item .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.facilities .equipment .item .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.facilities .equipment .item .photo_m {
	display: none;
}

.facilities .equipment .item .introduction {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 4rem;
	padding-left: 0;
	padding-right: 3rem;
	padding-bottom: 3rem;
}

.facilities .equipment .item .introduction h3 {
	font-size: clamp(1.5rem, var(--slotcaption-h2-font-size), 3rem);
	font-weight: 300;
	line-height: 140%;
	margin-bottom: 2rem;
}

.facilities .equipment .item .introduction h4 {
	font-size: clamp(1rem, var(--slotcaption-p-font-size), 1.2rem);
	font-weight: 600;
	line-height: 160%;
	color: var(--theme-color-red);
	margin-bottom: 1rem;
}

.facilities .equipment .item .introduction p {
	font-size: clamp(1rem, var(--slotcaption-p-font-size), 1.2rem);
	font-weight: 300;
	line-height: 180%;
}

#facilities_bg {
	background-color: var(--theme-gray-bg);
	padding-top: 3rem;
	padding-bottom: 6rem;
	margin-bottom: 0;
}

#facilities {
	padding-top: 4rem;
}

@media screen and (max-width: 767px) {
	.facilities {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--sub-margin-bottom);
		margin-bottom: 0;
	}

	.facilities .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.facilities .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 400;
		color: var(--theme-fontcolor);
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.facilities .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 200;
		color: var(--theme-fontcolor);
		line-height: 180%;
		margin-bottom: 2rem;
	}

	.facilities .list {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: 1fr 1fr;
		column-gap: 1rem;
		row-gap: 1rem;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto;
	}

	.facilities .list .item {
		box-sizing: border-box;
		display: block;
		position: relative;
		width: 100%;
	}

	.facilities .list .item .name {
		box-sizing: border-box;
		display: block;
		width: 100%;
		position: absolute;
		bottom: 0;
		padding: 1em;
		padding-bottom: 1.5em;
		background-color: rgba(0, 0, 0, 0.7);
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 400;
		color: rgba(255, 255, 255, 0.8);
	}

	.facilities .list .item .photo {
		box-sizing: border-box;
		display: block;
		width: 100%;
		overflow: hidden;
	}

	.facilities .list .item .photo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
		object-fit: contain;
		transition: 0.6s all;
	}

	.facilities .list .item .photo_m {
		display: none;
	}

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

	.facilities .equipment .item {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 1rem;
		justify-content: center;
		align-items: flex-start;
		border: #CCCCCC 1px solid;
		margin-bottom: 1rem;
	}

	.facilities .equipment .item .photo_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.facilities .equipment .item .photo_m img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.facilities .equipment .item .photo {
		display: none;
	}

	.facilities .equipment .item .introduction {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 0;
		padding-left: 1rem;
		padding-right: 1rem;
		padding-bottom: 2rem;
	}

	.facilities .equipment .item .introduction h3 {
		font-size: var(--regular-header-font-size);
		font-weight: 300;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.facilities .equipment .item .introduction h4 {
		font-size: 0.8rem;
		font-weight: 600;
		line-height: 160%;
		color: var(--theme-color-red);
		margin-bottom: 1rem;
	}

	.facilities .equipment .item .introduction p {
		font-size: var(--regular-p-font-size-S);
		font-weight: 300;
		line-height: 180%;
	}

	#facilities_bg {
		background-color: var(--theme-gray-bg);
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	#facilities {
		padding-top: 2rem;
	}
}



.painlocation {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--block-margin-bottom);
}

.painlocation .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.painlocation .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--maincaption-h2-font-size), 3rem);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.painlocation .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1rem, var(--maincaption-p-font-size), 1.2rem);
	font-weight: 200;
	color: var(--theme-fontcolor);
	line-height: 180%;
	margin-bottom: 2rem;
}

#painlocation {
	padding-top: 4rem;
}

@media screen and (max-width: 767px) {
	.painlocation {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--margin-bottom);
		padding-top: 2rem;
	}

	.painlocation .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.painlocation .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 2rem;
	}

	.painlocation .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-p-font-size);
		font-weight: 200;
		color: var(--theme-fontcolor);
		line-height: 180%;
	}

	#painlocation {
		padding-top: 2rem;
	}
}


.symptomsandtreatments {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

.symptomsandtreatments h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--slotcaption-h2-font-size), 3rem);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.symptomsandtreatments .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.symptomsandtreatments .list .item {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	grid-template-columns: 20% 1fr;
	column-gap: 1rem;
	justify-content: flex-start;
	align-items: center;
	padding: 1rem;
	border: var(--theme-color-border) 2px solid;
	border: #CCCCCC 1px solid;
	margin-bottom: var(--block-margin-bottom);
}

.symptomsandtreatments .list .item .icon {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.symptomsandtreatments .list .item .icon img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.symptomsandtreatments .list .item .type {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.symptomsandtreatments .list .item .type h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size-S);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 1.5rem;
}

.symptomsandtreatments .list .item .type .treatments {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	grid-template-columns: auto auto;
	column-gap: 3rem;
	justify-content: flex-start;
	align-items: center;
}

.symptomsandtreatments .list .item .type .treatments a {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 300;
	text-decoration: underline;
	/*
	color: var(--theme-color-border);
*/
	line-height: 180%;
	margin-bottom: 1rem;
}

.symptomsandtreatments .list .item .type .treatments a::before {
	display: inline-block;
	content: "・";
}

.symptomsandtreatments .list .item .type .treatments a:hover {
	color: #999999;
}

@media screen and (max-width: 767px) {
	.symptomsandtreatments {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--sub-margin-bottom);
	}

	.symptomsandtreatments h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.symptomsandtreatments .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.symptomsandtreatments .list .item {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: 25% 1fr;
		column-gap: 1rem;
		justify-content: flex-start;
		align-items: flex-start;
		padding: 0.5rem;
		/*
		border: var(--theme-color-border) 2px solid;
*/
		border: #999999 1px solid;
		margin-bottom: var(--block-margin-bottom);
	}

	.symptomsandtreatments .list .item .icon {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.symptomsandtreatments .list .item .icon img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.symptomsandtreatments .list .item .type {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.symptomsandtreatments .list .item .type h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size-S);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.symptomsandtreatments .list .item .type .treatments {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: 1fr;
		column-gap: 0;
		justify-content: flex-start;
		align-items: center;
	}

	.symptomsandtreatments .list .item .type .treatments a {
		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;
		text-decoration: underline;
		/*
		color: var(--theme-color-border);
*/
		line-height: 160%;
		margin-bottom: 0.5rem;
	}

	.symptomsandtreatments .list .item .type .treatments a::before {
		display: inline-block;
		content: "・";
	}

	.symptomsandtreatments .list .item .type .treatments a:hover {
		color: #999999;
	}
}



.treatments_main {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--block-margin-bottom);
}

.treatments_main .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatments_main .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--maincaption-h2-font-size), 3rem);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: #CCCCCC 1px solid;
}

.treatments_main .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1rem, var(--maincaption-p-font-size), 1.2rem);
	font-weight: 200;
	color: var(--theme-fontcolor);
	line-height: 180%;
	margin-bottom: 2rem;
}

#treatments_main {
	padding-top: 4rem;
}

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

	.treatments_main .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatments_main .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 1rem;
		padding-bottom: 2rem;
		border-bottom: #CCCCCC 1px solid;
	}

	.treatments_main .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-p-font-size);
		font-weight: 200;
		color: var(--theme-fontcolor);
		line-height: 180%;
		margin-bottom: 2rem;
	}

	#treatments_main {
		padding-top: 2rem;
	}
}


.treatment_detail {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

.treatment_detail h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--slotcaption-h2-font-size), 3rem);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.treatment_detail .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail .list .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 2rem;
	border-top: #CCCCCC 1px solid;
	margin-bottom: var(--margin-bottom);
}

.treatment_detail .list .item .titleblock {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	grid-template-columns: 20% 1fr;
	column-gap: 2rem;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: var(--block-margin-bottom);
}

.treatment_detail .list .item .titleblock .icon {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail .list .item .titleblock .icon img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail .list .item .titleblock .type {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail .list .item .titleblock .type h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--photoovercaption-h2-font-size);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 1.5rem;
}

.treatment_detail .list .item .titleblock .type h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--appointmentbtn-p-font-size);
	font-weight: 500;
	line-height: 140%;
	/*
	color: var(--theme-color-red);
*/
	color: #999999;
	color: var(--theme-color-superred);
}

.treatment_detail .list .item .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.treatment_detail .list .item .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 300;
	line-height: 180%;
}

.treatment_detail .list .item .sublist {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail .list .item .sublist .subitem {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: var(--block-margin-bottom);
}

.treatment_detail .list .item .sublist .subitem h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-header-font-size-LL);
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	line-height: 140%;
	margin-bottom: 1rem;
}

.treatment_detail .list .item .sublist .subitem h3 span {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 0.7em;
	font-weight: 300;
	line-height: 140%;
	padding-left: 1rem;
}

.treatment_detail .list .item .sublist .subitem p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-p-font-size);
	font-size: var(--slotcaption-p-font-size);
	font-weight: 300;
	line-height: 180%;
}

.treatment_detail .list .item .sublist .subitem .solution {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 2rem;
}

.treatment_detail .list .item .sublist .subitem .solution h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 600;
	color: #666666;
	color: var(--theme-color-superred);
	line-height: 140%;
	border: none;
	padding: 0;
	margin-bottom: 1.5rem;
}

.treatment_detail .list .item .sublist .subitem .solution .solutionlist {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	column-gap: 1rem;
	row-gap: 1rem;
	justify-content: flex-start;
	align-items: flex-start;
}

.treatment_detail .list .item .sublist .subitem .solution .solutionlist .location {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 300;
	/*
	color: var(--theme-color-border);
*/
	color: #666666;
	line-height: 100%;
}

.treatment_detail .list .item .sublist .subitem .solution .solutionlist .location::before {
	display: inline-block;
	content: "・";
}

#categorytop {}

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

	.treatment_detail h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.treatment_detail .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail .list .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1rem;
		border-top: #CCCCCC 1px solid;
		margin-bottom: var(--margin-bottom);
	}

	.treatment_detail .list .item .titleblock {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: 25% 1fr;
		column-gap: 0.5rem;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: var(--block-margin-bottom);
	}

	.treatment_detail .list .item .titleblock .icon {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail .list .item .titleblock .icon img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail .list .item .titleblock .type {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail .list .item .titleblock .type h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--photoovercaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.treatment_detail .list .item .titleblock .type h4 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-S);
		font-weight: 500;
		line-height: 140%;
		/*
		color: var(--theme-color-red);

*/
		color: #666666;
	}

	.treatment_detail .list .item .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.treatment_detail .list .item .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 180%;
	}

	.treatment_detail .list .item .sublist {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail .list .item .sublist .subitem {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: var(--block-margin-bottom-wide);
	}

	.treatment_detail .list .item .sublist .subitem h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size-S);
		font-weight: 500;
		line-height: 140%;
		margin-bottom: 0.5rem;
	}

	.treatment_detail .list .item .sublist .subitem h3 span {
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 0.8em;
		font-weight: 300;
		line-height: 140%;
		padding-left: 0.2rem;
	}

	.treatment_detail .list .item .sublist .subitem p {
		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: 180%;
	}

	.treatment_detail .list .item .sublist .subitem .solution {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1.5rem;
	}

	.treatment_detail .list .item .sublist .subitem .solution h4 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 600;
		/*
		color: var(--theme-color-red);
*/
		line-height: 140%;
		border: none;
		padding: 0;
		margin-bottom: 1rem;
	}

	.treatment_detail .list .item .sublist .subitem .solution .solutionlist {
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		column-gap: 1rem;
		row-gap: 1rem;
		justify-content: flex-start;
		align-items: flex-start;
	}

	.treatment_detail .list .item .sublist .subitem .solution .solutionlist .location {
		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;
		/*
		color: var(--theme-color-border);
*/
		color: #666666;
		line-height: 100%;
	}

	.treatment_detail .list .item .sublist .subitem .solution .solutionlist .location::before {
		display: inline-block;
		content: "・";
	}

	#categorytop {
		width: 90%;
		max-width: 90%;
	}
}



.treatment_detail-script {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--block-margin-bottom-wide);
}


.treatment_detail-script .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.treatment_detail-script .caption h4 {
	box-sizing: border-box;
	display: inline-block;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	border: #000000 1px solid;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 500;
	line-height: 1em;
	/*
	color: var(--theme-color-red);
*/
	margin-bottom: 1.5rem;
}

.treatment_detail-script .caption h4 span {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1em;
	font-weight: 400;
	line-height: 160%;
	padding-left: 1rem;
}

.treatment_detail-script .caption .ingredients {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 400;
	line-height: 180%;
	/*
	color: var(--theme-color-red);
*/
	margin-bottom: 1rem;
}

.treatment_detail-script .caption .ingredients::before {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 180%;
	color: #000000;
	content: "基本成分｜";
}

.treatment_detail-script .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 1rem;
}

.treatment_detail-script .caption .solutions {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

.treatment_detail-script .caption .solutions .solutionitem {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 2rem;
	justify-content: flex-start;
	align-items: baseline;
	margin-bottom: 0.5rem;
}

.treatment_detail-script .caption .solutions .solutionitem .itemheader {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 0.9rem;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 140%;
	position: relative;
}

.treatment_detail-script .caption .solutions .solutionitem .itemheader::after {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 0.9em;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 100%;
	padding-left: 0.3em;
	padding-right: 0.3em;
	content: "...";
	position: absolute;
	top: -0.1em;
}

.treatment_detail-script .caption .solutions .solutionitem .itemcontent {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 140%;
}

.treatment_detail-script .caption .annotation {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-size: var(--regular-p-font-size);
	font-weight: 300;
	line-height: 160%;
	/*
	color: var(--theme-color-red);
*/
	color: #666666;
	margin-bottom: 0.5em;
}

.treatment_detail-script .caption .annotation::before {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
	line-height: 160%;
	/*
	color: var(--theme-color-red);
*/
	color: #666666;
	content: "\02749";
	margin-right: 1em;
}

.treatment_detail-script .indications {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.treatment_detail-script .indications h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 600;
	line-height: 140%;
	/*
	color: var(--theme-color-red);
*/
	margin-bottom: 1.5rem;
}

.treatment_detail-script .indications .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

.treatment_detail-script .indications .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-weight: 300;
	line-height: 180%;
}

.treatment_detail-script .indications .location {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	column-gap: 1rem;
	row-gap: 1rem;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: var(--block-margin-bottom-wide);
}

.treatment_detail-script .indications .location .item {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 400;
	/*
	color: var(--theme-color-border);
*/
	line-height: 100%;
}

.treatment_detail-script .indications .location .item::before {
	display: inline-block;
	content: "・";
}

.treatment_detail-script .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail-script .list .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 2rem;
	border-top: #CCCCCC 1px solid;
	margin-bottom: var(--margin-bottom);
}

.treatment_detail-script .list .item h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--slotcaption-p-font-size), 3rem);
	font-weight: 600;
	line-height: 140%;
	color: var(--theme-color-superred);
	margin-bottom: 1.5rem;
}

.treatment_detail-script .list .item p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	font-size: var(--firstTime-h2-font-size);
	font-weight: 300;
	line-height: 180%;
}

.treatment_detail-script .note {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.treatment_detail-script .note .title {
	box-sizing: border-box;
	display: inline-block;
	margin: 0 auto;
	/*
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 2em;
	padding-right: 2em;
	border: var(--theme-color-red) solid 1.5px;
	border-radius: 1em 1em 1em 1em;
	background-color: #ffffff;
*/
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 100%;
	color: var(--theme-color-superred);
	margin-bottom: 2rem;
	text-decoration: underline;
}

.treatment_detail-script .note p {
	font-size: var(--slotcaption-p-font-size);
	font-weight: 400;
	line-height: 180%;
}

@media screen and (max-width: 767px) {
	.treatment_detail-script {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--block-margin-bottom-wide);
		padding-top: 2rem;
	}


	.treatment_detail-script .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1.5rem;
	}

	.treatment_detail-script .caption h4 {
		box-sizing: border-box;
		display: inline-block;
		padding-top: 0.2em;
		padding-bottom: 0.2em;
		padding-left: 0.5em;
		padding-right: 0.5em;
		/*
		border: var(--theme-color-red) 1px solid;
*/
		border: #000000 1px solid;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size-S);
		font-weight: 500;
		line-height: 1em;
		margin-bottom: 1rem;
	}

	.treatment_detail-script .caption h4 span {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 0.8em;
		font-weight: 300;
		line-height: 160%;
		padding-left: 1rem;
	}

	.treatment_detail-script .caption .ingredients {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 160%;
		/*
		color: var(--theme-color-red);
*/
		margin-bottom: 0.5rem;
	}

	.treatment_detail-script .caption .ingredients::before {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		line-height: 180%;
		color: #000000;
		content: "基本成分｜";
	}

	.treatment_detail-script .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 1rem;
	}

	.treatment_detail-script .caption .solutions {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.treatment_detail-script .caption .solutions .solutionitem {
		box-sizing: border-box;
		display: flex;
		justify-content: flex-start;
		align-items: baseline;
		margin-bottom: 0.3rem;
		display: block;
	}

	.treatment_detail-script .caption .solutions .solutionitem .itemheader {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		line-height: 140%;
		text-decoration: underline;
		margin-bottom: 0.2rem;
	}

	.treatment_detail-script .caption .solutions .solutionitem .itemheader::after {
		display: none;
	}

	.treatment_detail-script .caption .solutions .solutionitem .itemcontent {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		line-height: 140%;
		display: block;
	}

	.treatment_detail-script .caption .annotation {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 0.8rem;
		font-weight: 300;
		line-height: 160%;
		/*
		color: var(--theme-color-red);
*/
		color: #666666;
		margin-bottom: 0.5em;
	}

	.treatment_detail-script .caption .annotation::before {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 0.8rem;
		font-weight: 300;
		line-height: 160%;
		/*
		color: var(--theme-color-red);
*/
		color: #666666;
		content: "\02749";
		margin-right: 0.5em;
	}

	.treatment_detail-script .indications {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.treatment_detail-script .indications h4 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size-S);
		font-weight: 600;
		line-height: 140%;
		/*
		color: var(--theme-color-red);
*/
		margin-bottom: 1rem;
	}

	.treatment_detail-script .indications .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.treatment_detail-script .indications .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 180%;
	}

	.treatment_detail-script .indications .location {
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		column-gap: 0.5rem;
		row-gap: 0.8rem;
		justify-content: flex-start;
		align-items: flex-start;
		margin-bottom: 1.5rem;
	}

	.treatment_detail-script .indications .location .item {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		/*
		color: var(--theme-color-border);
*/
		line-height: 100%;
	}

	.treatment_detail-script .indications .location .item::before {
		display: inline-block;
		content: "・";
	}

	.treatment_detail-script .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail-script .list .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1rem;
		border-top: #CCCCCC 1px solid;
		margin-bottom: 1.5rem;
	}

	.treatment_detail-script .list .item h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size);
		font-weight: 600;
		line-height: 140%;
		color: var(--theme-color-red);
		margin-bottom: 0.5rem;
	}

	.treatment_detail-script .list .item p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 180%;
	}

	.treatment_detail-script .note {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.treatment_detail-script .note .title {
		box-sizing: border-box;
		display: inline-block;
		margin: 0 auto;
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 100%;
		color: var(--theme-color-superred);
		/*
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 2em;
		padding-right: 2em;
		border: var(--theme-color-red) solid 1.5px;
		border-radius: 1em 1em 1em 1em;
		background-color: #ffffff;
*/
		margin-bottom: 2rem;
	}

	.treatment_detail-script .note p {
		font-size: var(--slotcaption-p-font-size);
		font-weight: 400;
		line-height: 180%;
	}

	#treatment_detail-script_paddingtop {
		padding-top: 0;
	}

	.treatment_detail-script_paddingtop {
		padding-top: 0;
	}
}


.faq {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

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

.faq .item .question {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-bottom: 1rem;
	border-bottom: #999999 1px solid;
	margin-bottom: var(--block-margin-bottom);
	margin-bottom: 1rem;
}

.faq .item .question p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 400;
	line-height: 160%;
}

.faq .item .question p::before {
	font-family: 'Lato', sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(60 / 1440 * 100vw);
	font-weight: 500;
	line-height: 160%;
	color: var(--theme-color-red);
	content: "Q";
	margin-right: 1rem;
}

.faq .item .answer p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
}

@media screen and (max-width: 767px) {
	.faq {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--sub-margin-bottom);
	}

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

	.faq .item .question {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-bottom: 0.5rem;
		border-bottom: #999999 1px solid;
		margin-bottom: var(--block-margin-bottom);
		margin-bottom: 1rem;
	}

	.faq .item .question p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size-S);
		font-weight: 400;
		line-height: 160%;
	}

	.faq .item .question p::before {
		font-family: 'Lato', sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 500;
		line-height: 160%;
		color: var(--theme-color-red);
		content: "Q";
		margin-right: 1rem;
	}

	.faq .item .answer p {
		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: 180%;
	}
}



.notices {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

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

.notices .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: clamp(1.5rem, var(--slotcaption-h2-font-size), 3rem);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.notices .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-p-font-size);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 1rem;
}

.notices .caption .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.notices .caption .list ol {
	box-sizing: border-box;
	display: block;
	list-style: decimal;
	padding-left: 2em;
}

.notices .caption .list ol li {
	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: 160%;
	margin-bottom: 1em;
}

.notices .toPatients {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.notices .toPatients h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-header-font-size);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.notices .toPatients p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 1rem;
}

.notices .toPatients .explanation {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.notices .toPatients .explanation h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 400;
	line-height: 160%;
	color: var(--theme-color-red);
	margin-bottom: 0.5em;
}

.notices .toPatients .explanation h4::before {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	color: var(--theme-color-red);
	content: "\02749";
	margin-right: 0.5em;
}

.notices .toPatients .explanation p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 0.8rem;
	font-weight: 300;
	line-height: 160%;
}

@media screen and (max-width: 767px) {
	.notices {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--sub-margin-bottom);
		padding-top: var(--sub-margin-bottom-narrow);
	}

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

	.notices .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 2rem;
	}

	.notices .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 1rem;
	}

	.notices .caption .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.notices .caption .list ol {
		box-sizing: border-box;
		display: block;
		list-style: decimal;
	}

	.notices .caption .list ol li {
		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: 160%;
		margin-bottom: 0.5em;
	}

	.notices .toPatients {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.notices .toPatients h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.notices .toPatients p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 2rem;
	}

	.notices .toPatients .explanation {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.notices .toPatients .explanation h4 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		line-height: 160%;
		color: var(--theme-color-red);
		margin-bottom: 0.5em;
	}

	.notices .toPatients .explanation h4::before {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		line-height: 160%;
		color: var(--theme-color-red);
		content: "\02749";
		margin-right: 0.5em;
	}

	.notices .toPatients .explanation p {
		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: 160%;
	}
}



.inquiry {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

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

.inquiry .caption h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.inquiry .caption h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-header-font-size);
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 2rem;
}

.inquiry .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--regular-p-font-size);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 1rem;
}

.inquiry .caption .annotation {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 0.8em;
	font-weight: 300;
	line-height: 160%;
	color: var(--theme-color-red);
	margin-bottom: 0.5em;
}

.inquiry .caption .annotation::before {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 300;
	line-height: 160%;
	color: var(--theme-color-red);
	content: "\02749";
	margin-right: 1em;
}

@media screen and (max-width: 767px) {
	.inquiry {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		margin: 0 auto;
		margin-bottom: var(--sub-margin-bottom);
	}

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

	.inquiry .caption h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--maincaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 2rem;
	}

	.inquiry .caption h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-header-font-size);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 2rem;
	}

	.inquiry .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 1rem;
	}

	.inquiry .caption .annotation {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-SS);
		font-weight: 300;
		line-height: 160%;
		color: var(--theme-color-red);
		margin-bottom: 0.5em;
	}

	.inquiry .caption .annotation::before {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--regular-p-font-size-SS);
		font-weight: 300;
		line-height: 160%;
		color: var(--theme-color-red);
		content: "\02749";
		margin-right: 0.5em;
	}
}


.news-Calendar_slot {
	box-sizing: border-box;
	display: grid;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	width: 100%;
	grid-template-columns: 50% 50%;
	justify-content: center;
	align-items: flex-start;
	margin: 0 auto;
	margin-bottom: var(--margin-bottom);
	/*
	margin-bottom: var(--block-margin-bottom-wide);
*/
	/*
	border-bottom: #F9F9F9 1px solid;
	border-bottom: #eeeeee 1px solid;
*/
	background-color: #FEFFF4;
}

.news-Calendar_slot .top_news {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 50vw);
	width: calc(1000 / var(--width) * 100vw);
	width: 100%;
	margin-left: auto;
	margin-right: 0;
	margin: auto;
	padding-left: 15%;
	padding-top: 2rem;

	padding-bottom: 2rem;
	padding-right: 2rem;
}

.news-Calendar_slot .top_news .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}

.news-Calendar_slot .top_news .caption .blockheader {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	align-items: baseline;
}

.news-Calendar_slot .top_news .caption .blockheader h2 {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 550;
	line-height: 140%;
}

.news-Calendar_slot .top_news .caption .blockheader .readmore {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-p-font-size);
	/*
	font-size: clamp(0.8rem, var(--slotcaption-p-font-size), 1rem);
*/
	font-weight: 300;
	line-height: 140%;
	/*
	color: var(--theme-color-red);
	color: #999999;
*/
	text-decoration: underline;
}

.news-Calendar_slot .top_news .caption .blockheader .readmore:hover {
	/*
	color: var(--theme-color-red);
*/
	color: var(--theme-color-superred);
}

.news-Calendar_slot .top_news .top_newsheadline {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1rem;
	overflow: scroll;
}

.news-Calendar_slot .top_news .top_newsheadline .item {
	box-sizing: border-box;
	display: grid;
	column-gap: 2rem;
	width: 100%;
	margin-bottom: 1.2rem;
	padding-bottom: 0.8rem;
	border-bottom: #DDDDDD 1px solid;
}

.news-Calendar_slot .top_news .top_newsheadline .item:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.news-Calendar_slot .top_news .top_newsheadline .item .basicinfo {
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	column-gap: 1rem;
	width: 100%;
	margin-bottom: 0.7rem;
}

.news-Calendar_slot .top_news .top_newsheadline .item .basicinfo .date {
	box-sizing: border-box;
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-style: normal;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 300;
	color: #999999;
	line-height: 160%;
}

.news-Calendar_slot .top_news .top_newsheadline .item .basicinfo .category {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 0em;
	padding-bottom: 0em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(12 / 1440 * 100vw);
	font-weight: 500;
	line-height: 100%;
	/*
	color: var(--theme-color-red);
*/
	color: #666666;
	/*
	border: var(--theme-color-red) solid 1px;
*/
	border: #666666 solid 1px;
	border-radius: 1em 1em 1em 1em;
	background-color: #ffffff;
}

.news-Calendar_slot .top_news .top_newsheadline .item .title {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 550;
	line-height: 160%;
}

.news-Calendar_slot .top_news .top_newsheadline .item .title:hover {
	text-decoration: underline;
	color: var(--theme-color-superred);
}

.news-Calendar_slot .calendar {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 2rem;
	/*
	padding-bottom: 4rem;
*/
	padding-left: 2rem;
	padding-right: 15%;
	padding-bottom: 1rem;
	background-color: #F9F9F9;
}

.news-Calendar_slot .calendar .contentsWrapper {
	width: calc(1120 / var(--width) * 50vw);
	width: calc(1000 / var(--width) * 100vw);
	width: 100%;
	margin-left: 0;
	margin-right: auto;
	margin: auto;
}

.news-Calendar_slot .contentsWrapper .calendar .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
}

.news-Calendar_slot .calendar .contentsWrapper .caption h2 {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 550;
	line-height: 140%;
	margin-bottom: 2rem;
}

.news-Calendar_slot .calendar .contentsWrapper .calendar_table {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

.news-Calendar_slot .calendar .contentsWrapper .calendar_table table {
	width: 100%;
	padding: 0.5em;
	border-top: 1px solid #DDD;
}

.news-Calendar_slot .calendar .contentsWrapper .calendar_table table tr th {
	border-bottom: solid 1px #CCCCCC;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 300;
	line-height: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

.news-Calendar_slot .calendar .contentsWrapper .calendar_table table tr td {
	padding: 0.5em;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 500;
	line-height: 140%;
	text-align: center;
	vertical-align: middle;
	/*
	color: #7CAC44;
*/
	border-bottom: solid 1px #CCCCCC;
	padding-top: 1em;
	padding-bottom: 1em;
}

.news-Calendar_slot .calendar .contentsWrapper .calendar_table table th sup {
	font-size: 0.5rem;
	color: var(--theme-color-red);
	vertical-align: super;
	position: relative;
	top: 0.5em;
	margin-right: 0.5rem;
}

#th_dayofweek {
	font-size: 1.05em;
	font-weight: 400;
	text-align: center;
}

#th_time {
	width: 8em;
	font-size: 1rem;
	text-align: center;
	vertical-align: middle;
}

.saturday {
	color: #0092E6;
}

.holiday {
	color: #FF6262;
}

.news-Calendar_slot .calendar .contentsWrapper .notice {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.news-Calendar_slot .calendar .contentsWrapper .notice .annotation {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 300;
	line-height: 160%;
	/*
	color: var(--theme-color-red);
	color: #000000;
*/
	color: var(--theme-color-superred);
	margin-bottom: 0.2em;
}

.news-Calendar_slot .calendar .contentsWrapper .notice .annotation::before {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: calc(10 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
	/*
	color: var(--theme-color-red);
	color: #666666;
	color: #000000;
*/
	color: var(--theme-color-superred);
	content: "\02749";
	margin-right: 1em;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 1.5rem;
	padding-bottom: 1rem;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .title {
	box-sizing: border-box;
	display: flex;
	align-items: baseline;
	column-gap: 1em;
	width: 100%;
	margin-bottom: 1rem;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .title h3 {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 500;
	line-height: 120%;
	padding: 0.2rem;
	padding-left: 1em;
	padding-right: 1em;
	border: #000000 1px solid;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .title a {
	box-sizing: border-box;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-size: var(--regular-p-font-size);
	font-weight: 400;
	line-height: 120%;
	text-decoration: underline;
	/*
	color: var(--theme-color-red)
	color: #666666;
*/
	color: var(--theme-color-superred);
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .address {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .address p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 400;
	line-height: 160%;
	margin-bottom: 1em;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .route {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .route p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: 1rem;
	font-weight: 400;
	line-height: 140%;
	margin-bottom: 0.3em;
}

.news-Calendar_slot .calendar .contentsWrapper .top_access .route p:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.news-Calendar_slot {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 2rem;
	}

	.news-Calendar_slot .top_news {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0;
		padding-top: 1rem;

		padding-top: 0;

		padding-bottom: 1rem;
		padding-left: 1rem;
		padding-right: 1rem;
		border-top: #CCCCCC 1px solid;
		border: none;
	}

	.news-Calendar_slot .top_news .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot .top_news .caption .blockheader {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: auto auto;
		justify-content: space-between;
		align-items: baseline;
	}

	.news-Calendar_slot .top_news .caption .blockheader h2 {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 300;
		line-height: 140%;
	}

	.news-Calendar_slot .top_news .caption .blockheader .readmore {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 180;
		line-height: 140%;
		/*
		color: var(--theme-color-red);
*/
		text-decoration: underline;
	}

	.news-Calendar_slot .top_news .top_newsheadline {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item {
		box-sizing: border-box;
		display: grid;
		column-gap: 1rem;
		width: 100%;
		margin-bottom: 0.5rem;
		padding-bottom: 0.5rem;
		border-bottom: #DDDDDD 1px solid;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item:last-child {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item .basicinfo {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: auto auto;
		justify-content: flex-start;
		column-gap: 1rem;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item .basicinfo .date {
		font-family: 'Lato', sans-serif;
		font-style: normal;
		font-size: calc(14 / var(--width) * 100vw);
		font-weight: 300;
		color: #999999;
		line-height: 160%;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item .basicinfo .category {
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 0em;
		padding-bottom: 0em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(8 / var(--width) * 100vw);
		font-weight: 500;
		line-height: 100%;
		letter-spacing: 0em;
		/*
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1.5px;
*/
		color: #666666;
		border: #666666 1px solid;
		border-radius: 1em 1em 1em 1em;
		background-color: #ffffff;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item .title {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-size: calc(16 / var(--width) * 100vw);
		font-weight: 300;
		line-height: 160%;
	}

	.news-Calendar_slot .top_news .top_newsheadline .item .title:hover {
		text-decoration: underline;
		color: var(--theme-color-red);
	}

	.news-Calendar_slot .calendar {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-left: 1rem;
		padding-right: 1rem;
		background-color: #F9F9F9;
	}

	.news-Calendar_slot .calendar .contentsWrapper {
		width: 100%;
		margin: 0;
	}

	.news-Calendar_slot .calendar .contentsWrapper .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot .calendar .contentsWrapper .caption h2 {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--calendar-h2-font-size);
		font-weight: 200;
		line-height: 140%;
		margin: 0;
	}

	.news-Calendar_slot .calendar .contentsWrapper .calendar_table {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot .calendar .contentsWrapper .calendar_table table {
		width: 100%;
		margin: 0 auto;
		padding: 0.5em;
		border-top: 1px solid #DDD;
	}

	.news-Calendar_slot .calendar .contentsWrapper .calendar_table table tr th {
		border-bottom: solid 1px #CCCCCC;
		font-size: calc(14 / var(--width) * 100vw);
		font-weight: 300;
		line-height: 100%;
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.news-Calendar_slot .calendar .contentsWrapper .calendar_table table tr td {
		padding: 1em;
		font-size: calc(18 / var(--width) * 100vw);
		font-weight: 500;
		line-height: 100%;
		text-align: center;
		/*
		color: #7CAC44;
*/
		border-bottom: solid 1px #CCCCCC;
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.news-Calendar_slot .calendar .contentsWrapper .calendar_table table th sup {
		font-size: 0.8rem;
		color: var(--theme-color-red);
		vertical-align: super;
		position: relative;
		top: 0.5em;
		margin-right: 0.5rem;
	}

	#th_dayofweek {
		font-size: 0.8em;
		font-weight: 600;
		text-align: center;
	}

	#th_time {
		width: 6em;
		font-size: 0.8rem;
		text-align: center;
		vertical-align: middle;
	}

	.saturday {
		color: #0092E6;
	}

	.holiday {
		color: #FF6262;
	}

	.news-Calendar_slot .calendar .contentsWrapper .notice {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.news-Calendar_slot .calendar .contentsWrapper .notice .annotation {
		font-size: 0.6rem;
		font-weight: 300;
		line-height: 160%;
		/*
		color: var(--theme-color-red);
*/
		margin-bottom: 0.5em;
	}

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



.news-Calendar_slot_m {
	display: none;
}

@media screen and (max-width: 767px) {
	.news-Calendar_slot {
		display: none;
	}

	.news-Calendar_slot_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 0.5rem;
		margin-bottom: 1rem;
		background-color: #FEFFF4;
	}

	.news-Calendar_slot_m .top_news {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0;
		padding-top: 1rem;

		padding-top: 0;

		padding-bottom: 0rem;
		padding-left: 1rem;
		padding-right: 1rem;
		border-top: #CCCCCC 1px solid;
		border: none;
	}

	.news-Calendar_slot_m .top_news .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot_m .top_news .caption .blockheader {
		box-sizing: border-box;
		display: grid;
		width: 100%;
		grid-template-columns: auto auto;
		justify-content: space-between;
		align-items: baseline;
	}

	.news-Calendar_slot_m .top_news .caption .blockheader h2 {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 300;
		line-height: 140%;
	}

	.news-Calendar_slot_m .top_news .caption .blockheader .readmore {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--slotcaption-p-font-size-m);
		font-weight: 180;
		line-height: 140%;
		/*
		color: var(--theme-color-red);
*/
		color: #666666;
		text-decoration: underline;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 0.2rem;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 0.2rem;
		padding-bottom: 0.2rem;
		border-bottom: #DDDDDD 1px solid;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item:last-child {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item .basicinfo {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: auto auto;
		justify-content: flex-start;
		column-gap: 1rem;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item .basicinfo .date {
		font-family: 'Lato', sans-serif;
		font-style: normal;
		font-size: calc(14 / var(--width) * 100vw);
		font-size: var(--regular-p-font-size-SSSS);
		font-weight: 300;
		color: #999999;
		line-height: 160%;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item .basicinfo .category {
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 0em;
		padding-bottom: 0em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(8 / var(--width) * 100vw);
		font-size: var(--regular-p-font-size-SSSS);
		font-weight: 500;
		line-height: 100%;
		letter-spacing: 0em;
		/*
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1.5px;
*/
		color: #666666;
		border: #666666 1px solid;
		border-radius: 1em 1em 1em 1em;
		background-color: #ffffff;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item .title {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-size: calc(16 / var(--width) * 100vw);
		font-size: var(--regular-p-font-size-S);
		font-weight: 500;
		line-height: 160%;
	}

	.news-Calendar_slot_m .top_news .top_newsheadline .item .title:hover {
		text-decoration: underline;
		/*
		color: var(--theme-color-red);
*/
		color: #666666;
	}

	.news-Calendar_slot_m .calendar {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1rem;
		padding-bottom: 1rem;
		padding-left: 1rem;
		padding-right: 1rem;
		background-color: #F9F9F9;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper {
		width: 100%;
		margin: 0;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .caption h2 {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		/*
		font-size: var(--calendar-h2-font-size);
		font-weight: 200;
*/
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 400;
		line-height: 140%;
		margin: 0;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .calendar_table {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .calendar_table table {
		width: 100%;
		margin: 0 auto;
		padding: 0.5em;
		border-top: 1px solid #DDD;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .calendar_table table tr th {
		border-bottom: solid 1px #CCCCCC;
		font-size: calc(13 / var(--width) * 100vw);
		font-weight: 300;
		line-height: 100%;
		padding: 0.1em;
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .calendar_table table tr td {
		padding: 1em;
		font-size: calc(18 / var(--width) * 100vw);
		font-weight: 500;
		line-height: 100%;
		text-align: center;
		vertical-align: middle;
		/*
		color: #7CAC44;
*/
		color: #000000;
		border-bottom: solid 1px #CCCCCC;
		padding: 0.2em;
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .calendar_table table th sup {
		font-size: 0.5rem;
		color: var(--theme-color-red);
		vertical-align: super;
		position: relative;
		top: 0.4em;
		margin-right: 0.5rem;
	}

	#th_dayofweek {
		font-size: 0.8em;
		font-weight: 550;
		text-align: center;
	}

	#th_time {
		width: 6em;
		font-size: 0.8rem;
		font-weight: 500;
		line-height: 120%;
		text-align: center;
		vertical-align: middle;
	}

	.saturday {
		color: #0092E6;
	}

	.holiday {
		color: #FF6262;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .notice {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .notice .annotation {
		font-size: 0.8rem;
		font-weight: 300;
		line-height: 160%;
		/*
		color: var(--theme-color-red);
		color: #666666;
*/
		color: var(--theme-color-superred);
		margin-bottom: 0.5em;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .notice .annotation::before {
		font-size: calc(10 / var(--width) * 100vw);
		font-weight: 300;
		line-height: 160%;
		/*
		color: var(--theme-color-red);
		color: #666666;
*/
		color: var(--theme-color-superred);
		content: "\02749";
		margin-right: 1em;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1rem;
		padding-bottom: 0;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .title {
		box-sizing: border-box;
		display: flex;
		align-items: baseline;
		column-gap: 1em;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .title h3 {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 1rem;
		font-weight: 500;
		line-height: 120%;
		padding: 0.2rem;
		padding-left: 1em;
		padding-right: 1em;
		border: #000000 1px solid;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .title a {
		box-sizing: border-box;
		display: inline-block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 1rem;
		font-weight: 300;
		line-height: 120%;
		text-decoration: underline;
		/*
		color: var(--theme-color-red)
		color: #666666;
*/
		color: var(--theme-color-superred);
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .address {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1em;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .address p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 1rem;
		font-weight: 300;
		line-height: 140%;
		margin-bottom: 1em;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .route {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 0;
	}

	.news-Calendar_slot_m .calendar .contentsWrapper .top_access .route p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: 0.8rem;
		font-size: var(--regular-p-font-size-SSS);
		font-weight: 400;
		line-height: 140%;
		margin-bottom: 0.5em;
	}
}



#appointment_bg {
	padding-top: 3rem;
	padding-bottom: 4rem;
	background-color: #FEFFF4;
}

.appointment_slot {
	box-sizing: border-box;
	display: block;
	position: relative;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	margin: 0 auto;
}

.appointment_slot h2 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	line-height: 140%;
	color: var(--theme-color-red);
	color: #000000;
	margin-bottom: 2.5rem;
}

.appointment_slot .information {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 50% auto;
	column-gap: 2rem;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 2rem;
}

#sub_information {
	margin-bottom: 0;
}

.appointment_slot .information .appointment_btn {
	box-sizing: border-box;
	display: grid;
	justify-content: center;
	align-items: center;
	width: 90%;
	aspect-ratio: 7 / 2.5;
	background-color: var(--theme-color-superred);
}

.appointment_slot .information .appointment_btn:hover {
	background-color: var(--theme-color-superred-hover);
}

.appointment_slot .information .appointment_btn .inner {
	box-sizing: border-box;
	display: block;
	width: 100%;
	text-align: center;
}

.appointment_slot .information .appointment_btn .inner .text {
	font-size: var(--appointmentbtn-p-font-size);
	font-weight: 200;
	line-height: 140%;
	color: #ffffff;
	margin-bottom: 0.5rem;
}

.appointment_slot .information .appointment_btn .inner .triangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 0.8rem solid transparent;
	border-left: 0.8rem solid transparent;
	border-top: 0.8rem solid #ffffff;
	border-bottom: 0;
	margin: 0 auto;
}

.appointment_slot .information .telephone {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.appointment_slot .information .telephone h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--telephone-font-size);
	font-weight: 200;
	line-height: 150%;
	/*
	color: var(--theme-color-red);
*/
	text-align: center;
	margin-bottom: 1rem;
}

.appointment_slot .information .telephone .telno {
	box-sizing: border-box;
	display: block;
	text-align: center;
	margin-bottom: 1rem;
}

.appointment_slot .information .telephone .telno .hd {
	box-sizing: border-box;
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-style: normal;
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 400;
	/*
	color: var(--theme-color-red);
*/
	padding-right: 0.5rem;
}

.appointment_slot .information .telephone .telno .no {
	box-sizing: border-box;
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-style: normal;
	font-size: calc(48 / 1440 * 100vw);
	font-weight: 600;
	/*
	color: var(--theme-color-red);
*/
}

.appointment_slot .information .telephone .notice {
	font-size: var(--regular-p-font-size-S);
	font-weight: 300;
	line-height: 160%;
	text-align: center;
}

.appointment_slot .caption {
	box-sizing: border-box;
	display: block;
}

.appointment_slot .caption h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-h2-font-size);
	font-size: var(--slotcaption-h2-font-size);
	font-weight: 500;
	line-height: 140%;
	margin-bottom: 1rem;
}

.appointment_slot .caption p {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--firstTime-p-font-size);
	font-size: var(--slotcaption-p-font-size);
	font-weight: 300;
	line-height: 160%;
}

@media screen and (max-width: 767px) {
	#appointment_bg {
		padding-top: 2rem;
		padding-bottom: 3rem;
		background-color: #FEFFF4;
	}

	.appointment_slot {
		box-sizing: border-box;
		display: block;
		position: relative;
		width: 90%;
		margin: 0 auto;
	}

	.appointment_slot h2 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--photoovercaption-h2-font-size);
		font-size: var(--slotcaption-h2-font-size);
		font-weight: 500;
		line-height: 140%;
		color: var(--theme-color-red);
		margin-bottom: 1rem;
		color: #000000
	}

	.appointment_slot .information {
		box-sizing: border-box;
		display: block;
		margin-bottom: 2rem;
	}

	.appointment_slot .information .appointment_btn {
		box-sizing: border-box;
		display: grid;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin: 0 auto;
		margin-bottom: 1rem;
		aspect-ratio: 6 / 1;
		background-color: var(--theme-color-superred);
	}

	.appointment_slot .information .appointment_btn:hover {
		background-color: var(--theme-color-superred-hover);
	}

	.appointment_slot .information .appointment_btn .inner {
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		text-align: center;
	}

	.appointment_slot .information .appointment_btn .inner .text {
		font-size: var(--appointmentbtn-p-font-size);
		font-weight: 200;
		line-height: 140%;
		color: #ffffff;
		margin: 0;
	}

	.appointment_slot .information .appointment_btn .inner .triangle {
		width: 0;
		height: 0;
		border-style: solid;
		border-right: calc(10 / var(--width) * 100vw) solid transparent;
		border-left: calc(10 / var(--width) * 100vw) solid transparent;
		border-top: calc(10 / var(--width) * 100vw) solid #ffffff;
		border-bottom: 0;
		margin: 0;
		margin-left: 1rem;
	}

	.appointment_slot .information .telephone {
		box-sizing: border-box;
		display: block;
		width: 100%;
		text-align: center;
		padding-left: 0;
	}

	.appointment_slot .information .telephone h3 {
		box-sizing: border-box;
		display: block;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--telephone-font-size);
		font-weight: 200;
		line-height: 150%;
		/*
		color: var(--theme-color-red);
*/
		margin-bottom: 0.5rem;
		color: #000000;
	}

	.appointment_slot .information .telephone .telno {
		box-sizing: border-box;
		display: block;
		margin-bottom: 1rem;
	}

	.appointment_slot .information .telephone .telno .hd {
		box-sizing: border-box;
		display: inline-block;
		font-family: 'Lato', sans-serif;
		font-style: normal;
		font-size: calc(28 / var(--width) * 100vw);
		font-weight: 400;
		/*
		color: var(--theme-color-red);
*/
		padding-left: 0;
		padding-right: 0.2rem;
	}

	.appointment_slot .information .telephone .telno .no {
		box-sizing: border-box;
		display: inline-block;
		font-family: 'Lato', sans-serif;
		font-style: normal;
		font-size: calc(40 / var(--width) * 100vw);
		font-weight: 600;
		/*
		color: var(--theme-color-red) !important;
*/
		text-decoration: none !important;
	}

	.appointment_slot .information .telephone .notice {
		font-size: var(--telephone-font-size-notice);
		font-weight: 300;
		line-height: 180%;
		padding-left: 0;
	}

	.appointment_slot .caption {
		box-sizing: border-box;
		display: block;
	}

	.appointment_slot .caption h3 {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--firstTime-h2-font-size);
		font-weight: 550;
		line-height: 140%;
		margin-bottom: 1rem;
	}

	.appointment_slot .caption p {
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-style: normal;
		font-size: var(--firstTime-p-font-size);
		font-weight: 400;
		line-height: 140%;
	}
}


.map_slot {
	box-sizing: border-box;
	display: block;
	width: 100vw;
}

.map_slot .map {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.map_slot .map img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

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


.pagetitle {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 1290px;
	padding-top: 3rem;
	padding-bottom: 2rem;
	border-bottom: #cccccc solid 1px;
}

.pagetitle .inner {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
}

.pagetitle .inner h1 {
	font-size: var(--pagetitle-h1-font-size-S);
	font-weight: 300;
	line-height: 120%;
	margin-bottom: 0.5rem;
}

.pagetitle .inner h2 {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 500;
	line-height: 120%;
	color: var(--theme-color-red);
}

.pagetitle .inner_small {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
}

.pagetitle .inner_small h1 {
	font-size: var(--pagetitle-h1-font-size-SS);
	font-weight: 300;
	line-height: 120%;
	margin-bottom: 0.5rem;
}

@media screen and (max-width: 767px) {
	.pagetitle {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 3rem;
		padding-bottom: 1rem;
		border-bottom: #cccccc solid 1px;
	}

	.pagetitle .inner {
		width: 90%;
		margin: 0 auto;
		position: relative;
	}

	.pagetitle .inner h1 {
		font-family: 'Lato', sans-serif;
		font-size: calc(110 / 1440 * 100vw);
		font-weight: 600;
		line-height: 120%;
		margin: 0;
		margin-bottom: 0.5rem;
	}

	.pagetitle .inner h2 {
		font-size: calc(40 / 1440 * 100vw);
		font-weight: 500;
		line-height: 120%;
		color: var(--theme-color-red);
	}

	.pagetitle .inner_small {
		width: 90%;
		margin: 0 auto;
		position: relative;
	}

	.pagetitle .inner_small h1 {
		font-family: 'Lato', sans-serif;
		font-size: var(--pagetitle-h1-font-size-SS);
		font-weight: 600;
		line-height: 120%;
		margin: 0;
		margin-bottom: 0.5rem;
	}
}

.pagetitle_jumbotron {
	box-sizing: border-box;
	display: block;
	width: 100%;
	aspect-ratio: 1920 / 640;
	overflow: hidden;
	position: relative;
}

.pagetitle_jumbotron .cabinet {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	position: absolute;
	left: 0;
	right: 0;
	top: 60%;
	bottom: auto;
	margin: auto;
	z-index: 10;
}

.pagetitle_jumbotron .cabinet h1 {
	font-size: calc(48 / 1440 * 100vw);
	font-size: var(--pagetitle-h1-font-size);
	font-weight: 300;
	color: #ffffff;
	text-shadow: 0.05em 0.08em 0.08em rgba(0, 0, 0, 0.65);
	line-height: 120%;
}

.pagetitle_jumbotron .jumbotron {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagetitle_jumbotron .jumbotron img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagetitle_jumbotron .jumbotron_m {
	display: none;
}

@media screen and (max-width: 767px) {
	.pagetitle_jumbotron {
		box-sizing: border-box;
		display: block;
		width: 100%;
		aspect-ratio: 1920 / 1200;
		overflow: hidden;
		position: relative;
	}

	.pagetitle_jumbotron .cabinet {
		box-sizing: border-box;
		display: block;
		width: 90%;
		max-width: 90%;
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		bottom: auto;
		margin: auto;
		z-index: 10;
	}

	.pagetitle_jumbotron .cabinet h1 {
		font-size: calc(48 / 1440 * 100vw);
		font-size: var(--pagetitle-h1-font-size);
		font-weight: 300;
		color: #ffffff;
		text-shadow: 0.05em 0.08em 0.08em rgba(0, 0, 0, 0.65);
		line-height: 120%;
	}

	.pagetitle_jumbotron .jumbotron_m {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagetitle_jumbotron .jumbotron_m img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagetitle_jumbotron .jumbotron {
		display: none;
	}
}



.news {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

#sitetop {
	width: 85%;
}

.news h2 {
	font-family: 'Lato', sans-serif;
	font-size: calc(48 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 1em;
}

.news h3 {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 600;
	color: var(--theme-color-red);
	line-height: 100%;
	margin-bottom: 2rem;
}

.news h2 {
	font-family: 'Lato', sans-serif;
	font-size: calc(48 / 1440 * 100vw);
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 0.3rem;
}

.news h3 {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 600;
	color: var(--theme-color-red);
	line-height: 100%;
	margin-bottom: 2rem;
}

.news .tab {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 25% 25% 25% 25%;
	width: 100%;
	margin-bottom: 2rem;
}

.news .tab .active {
	box-sizing: border-box;
	display: block;
	width: 100%;
	text-align: center;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 600;
	color: var(--theme-color-red);
	line-height: 100%;
	border-bottom: 3px solid var(--theme-color-red);
}

.news .tab .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	text-align: center;
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 300;
	color: #999999;
	line-height: 100%;
	padding-bottom: 1em;
	border-bottom: 1px solid #999999;
}

.news .tab .item:hover {
	font-weight: 600;
	color: var(--theme-color-red);
	border-bottom: 1px solid var(--theme-color-red);
}

.news .list {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
	padding-top: 1rem;
}

.news .list .item {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 15em auto;
	width: 100%;
	margin-bottom: 1.5rem;
}

.news .list .item .basicinfo {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 8em auto;
	width: 100%;
}

.news .list .item .basicinfo .date {
	font-size: var(--regular-p-font-size-S);
	font-weight: 400;
	color: #999999;
	line-height: 160%;
}

.news .list .item .basicinfo .category {
	font-size: var(--regular-p-font-size-S);
	font-weight: 600;
	/*
	color: var(--theme-color-red);
*/
	color: #666666;
	line-height: 160%;
}

.news .list .item .title {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-size: calc(18 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 400;
	line-height: 160%;
}

.news .list .item .title:hover {
	text-decoration: underline;
	color: var(--theme-color-superred);
}

.news .list .item .title span {
	font-weight: 600;
	color: #bb0000;
}

.news .link {
	box-sizing: border-box;
	display: block;
	width: 11em;
	margin-left: 85%;
	position: relative;
	display: inline-block;
	color: #999999;
	vertical-align: middle;
	text-decoration: none;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
}

.news .link:hover {
	color: var(--theme-color-red);
}

.news .link::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "→";
	vertical-align: middle;
	width: 3em;
	height: 3em;
	font-size: var(--regular-p-font-size);
	font-weight: 800;
	color: var(--theme-color-red);
	background-color: #ffffff;
	line-height: 3em;
	text-align: center;
	border: 1px solid var(--theme-color-red);
	border-radius: 50%;
}

.news .link:hover::after {
	color: #ffffff;
	background-color: var(--theme-color-red);
}

@media screen and (max-width: 767px) {
	.news {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 4rem;
	}

	.news h2 {
		font-family: 'Lato', sans-serif;
		font-size: calc(96 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 1em;
	}

	.news h3 {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		color: var(--theme-color-red);
		line-height: 100%;
		margin-bottom: 2rem;
	}

	.news .tab {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: 25% 25% 25% 25%;
		width: 100%;
		margin-bottom: 1rem;
	}

	.news .tab .active {
		box-sizing: border-box;
		display: block;
		width: 100%;
		text-align: center;
		font-size: calc(40 / 1440 * 100vw);
		font-weight: 600;
		color: var(--theme-color-red);
		line-height: 100%;
		padding-bottom: 1em;
		border-bottom: 3px solid var(--theme-color-red);
	}

	.news .tab .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		text-align: center;
		font-size: calc(40 / 1440 * 100vw);
		font-weight: 300;
		color: #999999;
		line-height: 100%;
		padding-bottom: 1em;
		border-bottom: 1px solid #999999;
	}

	.news .tab .item:hover {
		font-weight: 600;
		color: var(--theme-color-red);
		border-bottom: 1px solid var(--theme-color-red);
	}

	.news .list {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.news .list .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1.5rem;
	}

	.news .list .item .basicinfo {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		column-gap: 1em;
		grid-template-columns: 19em auto;
		width: 100%;
		margin-bottom: 0.5em;
	}

	.news .list .item .basicinfo .date {
		font-size: calc(42 / 1440 * 100vw);
		font-weight: 400;
		color: #999999;
		line-height: 160%;
	}

	.news .list .item .basicinfo .category {
		font-size: calc(32 / 1440 * 100vw);
		font-weight: 600;
		/*
		color: var(--theme-color-red);
*/
		line-height: 160%;
	}

	.news .list .item .title {
		box-sizing: border-box;
		display: block;
		font-size: var(--regular-p-font-size);
		font-weight: 400;
		line-height: 160%;
	}

	.news .list .item .title:hover {
		text-decoration: underline;
		color: var(--theme-color-superred);
	}

	.news .link {
		box-sizing: border-box;
		display: block;
		width: 17%;
		margin-left: 83%;
		position: relative;
		display: inline-block;
		color: #999999;
		vertical-align: middle;
		text-decoration: none;
		font-size: calc(14 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
	}

	.news .link:hover {
		color: var(--theme-color-red);
	}

	.news .link::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		content: "→";
		vertical-align: middle;
		width: 3em;
		height: 3em;
		font-size: calc(16 / 1440 * 100vw);
		font-weight: 800;
		color: var(--theme-color-red);
		background-color: #ffffff;
		line-height: 3em;
		text-align: center;
		border: 1px solid #cccccc;
		border-radius: 50%;
	}

	.news .link:hover::after {
		color: #ffffff;
		background-color: var(--theme-color-red);
	}
}


.article {
	box-sizing: border-box;
	display: block;
	width: calc(1120 / var(--width) * 100vw);
	width: calc(960 / var(--width) * 100vw);
	width: calc(1000 / var(--width) * 100vw);
	max-width: 1290px;
	margin: 0 auto;
	margin-bottom: var(--sub-margin-bottom);
}

.article h2 {
	font-size: calc(40 / 1440 * 100vw);
	font-weight: 600;
	line-height: 140%;
	margin-bottom: 3rem;
}

.article h2 span {
	font-weight: 800;
	color: #bb0000;
}

.article .information {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 8em 1fr;
	width: 100%;
	margin-bottom: 3rem;
}

.article .information .category {
	width: 8em;
	text-align: center;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: var(--theme-color-red);
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	padding-left: 1em;
	padding-right: 1em;
	border-radius: 0.5em 0.5em 0.5em 0.5em;
	border: 1px solid var(--theme-color-red);
}

.article .information .date {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	text-align: right;
}

.article .cabinet {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 4rem;
}

.article .cabinet:last-child {
	margin-bottom: 0;
}

.article .cabinet p {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 1rem;
}

.article .cabinet .strong {
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 600;
	line-height: 180%;
	margin-bottom: 0.5em;
}

.article .cabinet a {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 400;
	line-height: 180%;
	color: var(--theme-color-red);
	margin-bottom: 2rem;
	text-decoration: underline;
}

.article .cabinet .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 1rem;
	margin-bottom: 2rem;
}

.article .cabinet .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.article .cabinet .photo60 {
	width: 60%;
}

.article .cabinet .photo40 {
	width: 40%;
}

.article .cabinet .spamsample {
	box-sizing: border-box;
	display: block;
	padding-top: 2em;
	padding-bottom: 2em;
	padding-left: 2em;
	padding-right: 2em;
	border: #dddddd 1px solid;
}

.article .link {
	box-sizing: border-box;
	display: block;
	width: 17%;
	margin-top: 2rem;
	margin-left: 83%;
	position: relative;
	display: inline-block;
	color: #999999;
	vertical-align: middle;
	text-decoration: none;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
}

.article .link:hover {
	color: var(--theme-color-red);
}

.article .link::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "→";
	vertical-align: middle;
	width: 3em;
	height: 3em;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 800;
	color: var(--theme-color-red);
	background-color: #ffffff;
	line-height: 3em;
	text-align: center;
	/*
	border: 1px solid #cccccc;
*/
	border: 1px solid var(--theme-color-red);
	border-radius: 50%;
}

.article .link:hover::after {
	color: #ffffff;
	background-color: var(--theme-color-red);
}

@media screen and (max-width: 767px) {
	.article {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: var(--sub-margin-bottom);
	}

	.article h2 {
		font-size: var(--regular-header-font-size);
		font-weight: 600;
		line-height: 160%;
		margin-bottom: 2rem;
	}

	.article .information {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: auto 1fr;
		width: 100%;
		margin-bottom: 2rem;
	}

	.article .information .category {
		width: 10em;
		text-align: center;
		font-size: var(--regular-p-font-size-S);
		font-weight: 400;
		line-height: 100%;
		color: var(--theme-color-red);
		padding-top: 0.2em;
		padding-bottom: 0.2em;
		padding-left: 1em;
		padding-right: 1em;
		border-radius: 0.5em 0.5em 0.5em 0.5em;
		border: 1px solid var(--theme-color-red);
	}

	.article .information .date {
		font-size: var(--regular-p-font-size-S);
		font-weight: 400;
		line-height: 100%;
		text-align: right;
	}

	.article .cabinet {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.article .cabinet p {
		font-size: var(--regular-p-font-size);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 1rem;
	}

	.article .cabinet p:last-child {
		margin-bottom: 0;
	}


	.article .cabinet .strong {
		font-size: var(--regular-p-font-size);
		font-weight: 600;
		line-height: 180%;
		margin-bottom: 0.5em;
	}

	.article .cabinet .photo {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.article .cabinet .photo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.article .cabinet .photo60 {
		width: 100%;
	}

	.article .cabinet .photo40 {
		width: 100%;
	}

	.article .link {
		box-sizing: border-box;
		display: inline-flex;
		width: 50%;
		justify-content: flex-end;
		margin-left: 50%;
		position: relative;
		color: #999999;
		vertical-align: middle;
		text-decoration: none;
		font-size: var(--regular-p-font-size-S);
		font-weight: 400;
		line-height: 100%;
		padding-right: 4em;
	}

	.article .link:hover {
		color: var(--theme-color-red);
	}

	.article .link::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		content: "→";
		vertical-align: middle;
		width: 3em;
		height: 3em;
		font-size: var(--regular-p-font-size-S);
		font-weight: 800;
		color: var(--theme-color-red);
		background-color: #ffffff;
		line-height: 3em;
		text-align: center;
		border: 1px solid var(--theme-color-red);
		border-radius: 50%;
	}

	.article .link:hover::after {
		color: #ffffff;
		background-color: var(--theme-color-red);
	}
}



.pagecabinet_left {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 40%;
	grid-column-gap: 5rem;
	width: 70%;
	margin: 0 auto;
	margin-bottom: 6rem;
}

.pagecabinet_left .left_column {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .left_column h2 {
	font-family: 'Lato', sans-serif;
	font-size: calc(48 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 0.3em;
}

.pagecabinet_left .left_column h3 {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 600;
	color: var(--theme-color-red);
	line-height: 100%;
	margin-bottom: 2rem;
}

.pagecabinet_left .left_column p {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 2rem;
}

.pagecabinet_left .left_column a {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
}

.pagecabinet_left .left_column a:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

.pagecabinet_left .left_column .link {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .left_column .link a {
	box-sizing: border-box;
	display: block;
	padding-left: 1em;
	width: 100%;
	position: relative;
	vertical-align: middle;
	text-decoration: none;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 500;
	line-height: 100%;
	border-top: #cccccc solid 1px;
	padding-top: 1em;
	margin-bottom: 3em;
}

.pagecabinet_left .left_column .link a::after {
	position: absolute;
	top: 1em;
	bottom: 0;
	right: 1em;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 0.4em;
	height: 0.4em;
	border-top: 1px solid var(--theme-color-red);
	border-right: 1px solid var(--theme-color-red);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.pagecabinet_left .right_column {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .right_column .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .right_column .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .right_column .photo_m {
	display: none;
}

.pagecabinet_left .right_column .ceo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .right_column .ceo .ceophoto {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1rem;
}

.pagecabinet_left .right_column .ceo .ceophoto img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_left .right_column .ceo .ceoname {
	box-sizing: border-box;
	display: block;
	width: 100%;
	vertical-align: bottom;
	text-align: center;
}

.pagecabinet_left .right_column .ceo .ceoname .title {
	font-size: calc(12 / 1440 * 100vw);
	font-weight: 300;
	line-height: 100%;
	margin-right: 0.5rem;
}

.pagecabinet_left .right_column .ceo .ceoname .name {
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
}

@media screen and (max-width: 767px) {
	.pagecabinet_left {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 6rem;
	}

	.pagecabinet_left .left_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.pagecabinet_left .left_column h2 {
		font-family: 'Lato', sans-serif;
		font-size: calc(96 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 0.3em;
	}

	.pagecabinet_left .left_column h3 {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		color: var(--theme-color-red);
		line-height: 100%;
		margin-bottom: 2rem;
	}

	.pagecabinet_left .left_column p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 2rem;
	}

	.pagecabinet_left .left_column a {
		display: inline-block;
		margin: 0 auto;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
		color: #ffffff;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: var(--theme-color-red);
		background-color: #ffffff;
	}

	.pagecabinet_left .left_column a:hover {
		color: #ffffff;
		border: #28355f solid 1px;
		background-color: #28355f;
	}

	.pagecabinet_left .left_column .link {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagecabinet_left .left_column .link a {
		box-sizing: border-box;
		display: block;
		padding-left: 1em;
		width: 100%;
		position: relative;
		vertical-align: middle;
		text-decoration: none;
		font-size: calc(16 / 1440 * 100vw);
		font-weight: 500;
		line-height: 100%;
		border-top: #cccccc solid 1px;
		padding-top: 1em;
		margin-bottom: 3em;
	}

	.pagecabinet_left .left_column .link a::after {
		position: absolute;
		top: 0em;
		bottom: 0;
		right: 1em;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 0.4em;
		height: 0.4em;
		border-top: 1px solid var(--theme-color-red);
		border-right: 1px solid var(--theme-color-red);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.pagecabinet_left .right_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
		height: auto;
	}

	.pagecabinet_left .right_column .photo {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagecabinet_left .right_column .photo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagecabinet_left .right_column .photo_m {
		display: none;
	}

	.pagecabinet_left .right_column .ceo {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagecabinet_left .right_column .ceo .ceophoto {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.pagecabinet_left .right_column .ceo .ceophoto img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagecabinet_left .right_column .ceo .ceoname {
		box-sizing: border-box;
		display: block;
		width: 100%;
		vertical-align: bottom;
		text-align: right;
	}

	.pagecabinet_left .right_column .ceo .ceoname .title {
		font-size: calc(32 / 1440 * 100vw);
		font-weight: 300;
		line-height: 100%;
		margin-right: 0.5rem;
	}

	.pagecabinet_left .right_column .ceo .ceoname .name {
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
	}
}

/*
.pagecabinet_simple {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
	margin-bottom: 6rem;
}

.pagecabinet_simple h2 {
	font-size: calc(36 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 2rem;
}

.pagecabinet_simple p {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 2rem;
}

.pagecabinet_simple p .strong {
	box-sizing: border-box;
	display: block;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 600;
	line-height: 180%;
	margin-top: 1em;
	margin-bottom: 1em;
}

.pagecabinet_simple p .bold {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 600;
	line-height: 180%;
	margin-left: 0.5em;
	margin-right: 0.5em;
}

.pagecabinet_simple .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.pagecabinet_simple .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_simple .photo2 {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin-bottom: 2rem;
}

.pagecabinet_simple .photo2 img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.pagecabinet_simple .caption {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 1rem;
}

.pagecabinet_simple .caption p {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 0.5rem;
}

.pagecabinet_simple a {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
}

.pagecabinet_simple a:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

.pagecabinet_simple .centerlink {
	box-sizing: border-box;
	display: block;
	width: 10em;
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
	text-align: center;
}

.pagecabinet_simple .centerlink:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

.pagecabinet_simple .cabinet {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 2rem;
	width: 100%;
	margin: 0 auto;
}

.pagecabinet_simple .cabinet .innerbox {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding-top: 2em;
	padding-bottom: 2em;
	padding-left: 2em;
	padding-right: 2em;
	border: 1px solid #0092E6;
	border-radius: 1em;
}

.pagecabinet_simple .cabinet .innerbox h3 {
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 600;
	line-height: 160%;
	color: #0092E6;
	margin-bottom: 0.5em;
}

.pagecabinet_simple .cabinet .innerbox p {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 2em;
}

.pagecabinet_simple .cabinet .innerbox .centerlink {
	box-sizing: border-box;
	display: block;
	width: 10em;
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
	text-align: center;
}

.pagecabinet_simple .cabinet .innerbox .centerlink:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

.pagecabinet_simple .certification {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto auto;
	grid-template-rows: 1fr 1fr;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	width: 100%;
}

.pagecabinet_simple .certification a {
	width: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	text-align: center;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
}

.pagecabinet_simple .certification a:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

.pagecabinet_simple .gooutproduction {
	box-sizing: border-box;
	display: block;
	width: 40em;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	text-align: center;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: #ffffff;
	padding-left: 2em;
	padding-right: 2em;
	margin: 0 auto;
}

.pagecabinet_simple .gooutproduction:hover {
	color: #ffffff;
	border: none;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
}

@media screen and (max-width: 767px) {
	.pagecabinet_simple {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 4rem;
	}

	.pagecabinet_simple h2 {
		font-size: calc(72 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 1em;
	}

	.pagecabinet_simple p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 2rem;
	}

	.pagecabinet_simple p .strong {
		box-sizing: border-box;
		display: block;
		font-size: calc(50 / 1440 * 100vw);
		font-weight: 600;
		line-height: 180%;
		margin-top: 1em;
		margin-bottom: 1em;
	}

	.pagecabinet_simple p .bold {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		line-height: 180%;
		margin-left: 0.5em;
		margin-right: 0.5em;
	}

	.pagecabinet_simple a {
		margin: 0 auto;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(36 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
		color: #ffffff;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: var(--theme-color-red);
		background-color: #ffffff;
	}

	.pagecabinet_simple a:hover {
		color: #ffffff;
		border: #28355f solid 1px;
		background-color: #28355f;
	}

	.pagecabinet_simple .centerlink {
		box-sizing: border-box;
		display: block;
		width: 10em;
		margin: 0 auto;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
		color: #ffffff;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: var(--theme-color-red);
		background-color: #ffffff;
		text-align: center;
	}

	.pagecabinet_simple .centerlink:hover {
		color: #ffffff;
		border: #28355f solid 1px;
		background-color: #28355f;
	}

	.pagecabinet_simple .cabinet {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.pagecabinet_simple .cabinet .innerbox {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 3em;
		padding-bottom: 3em;
		padding-left: 3em;
		padding-right: 3em;
		border: 1px solid #0092E6;
		border-radius: 2em;
		margin-bottom: 2rem;
	}

	.pagecabinet_simple .cabinet .innerbox:last-child {
		margin-bottom: 0;
	}

	.pagecabinet_simple .cabinet .innerbox h3 {
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 160%;
		color: #0092E6;
		margin-bottom: 0.5em;
	}

	.pagecabinet_simple .cabinet .innerbox p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 2em;
	}

	.pagecabinet_simple .cabinet .innerbox .centerlink {
		box-sizing: border-box;
		display: block;
		width: 10em;
		margin: 0 auto;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
		color: #ffffff;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: var(--theme-color-red);
		background-color: #ffffff;
		text-align: center;
	}

	.pagecabinet_simple .cabinet .innerbox .centerlink:hover {
		width: 80%;
		color: #ffffff;
		border: #28355f solid 1px;
		background-color: #28355f;
	}

	.pagecabinet_simple .gooutproduction {
		box-sizing: border-box;
		display: block;
		width: 90%;
		font-size: calc(50 / 1440 * 100vw);
		font-weight: 400;
		line-height: 160%;
		text-align: center;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: #ffffff;
		text-align: center;
		margin: 0 auto;
	}

	.pagecabinet_simple .gooutproduction:hover {
		color: #ffffff;
		border: none;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: var(--theme-color-red);
	}
}
*/

.office {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 18em auto;
	grid-column-gap: 1rem;
	width: 100%;
	margin-bottom: 2em;
	padding-top: 2em;
	border-top: 1px solid #cccccc;
}

.office .title {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.office .title p {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 0.5em;
}

.office .title .bold {
	box-sizing: border-box;
	display: block;
	font-size: calc(15 / 1440 * 100vw);
	font-weight: 800;
	line-height: 180%;
	color: var(--theme-color-red);
}

.office .title span {
	box-sizing: border-box;
	display: block;
	font-size: calc(10 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	color: var(--theme-color-red);
}

.office .address {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.office .address .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.office .address .item .division {
	font-size: calc(15 / 1440 * 100vw);
	font-weight: 600;
	line-height: 180%;
}

.office .address .item p {
	font-size: calc(15 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
	.office {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 8em;
		padding-top: 4em;
		border-top: 1px solid #cccccc;
	}

	.office .title {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.office .title p {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 0.5em;
	}

	.office .title .bold {
		box-sizing: border-box;
		display: block;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 800;
		line-height: 180%;
		color: var(--theme-color-red);
	}

	.office .title span {
		box-sizing: border-box;
		display: block;
		font-size: calc(32 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		color: var(--theme-color-red);
	}

	.office .address {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.office .address .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.office .address .item .division {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		line-height: 180%;
	}

	.office .address .item p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 1em;
	}
}


.access {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0 auto;
}

.access h2 {
	font-size: calc(36 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 2rem;
}

.access .inner {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 50% auto;
	grid-column-gap: 3rem;
	width: 100%;
	margin-bottom: 2rem;
}

.access .inner .left_column {
	grid-area: 1 / 1 / 2 / 2;
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.access .inner .left_column h3 {
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	margin-bottom: 0.5rem;
}

.access .inner .left_column p {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 1rem;
}

.access .inner .left_column .root {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.access .inner .left_column .root .item {
	box-sizing: border-box;
	display: block;
	padding-left: 1em;
	width: 100%;
	position: relative;
	border-top: #cccccc solid 1px;
	padding-top: 1em;
	margin-bottom: 1em;
}

.access .inner .left_column .root .item .station {
	font-size: calc(18 / 1440 * 100vw);
	font-size: var(--regular-header-font-size);
	font-weight: 600;
	line-height: 160%;
	margin-bottom: 0.5em;
}

.access .inner .left_column .root .item .line {
	font-size: calc(16 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 0.5em;
}

.access .inner .left_column .root .item .blue {
	font-size: calc(16 / 1440 * 100vw);
	font-size: var(--regular-p-font-size);
	font-weight: 600;
	line-height: 160%;
	/*
	color: var(--theme-color-red);
*/
	color: var(--theme-color-superred)
}

.access .inner .left_column .root .item .blue::before {
	content: "\02192";
	margin-right: 1em;
}

.access .inner .right_column {
	grid-area: 1 / 2 / 2 / 3;
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.access .inner .right_column .googlemap {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

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

	.access h2 {
		font-size: calc(72 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 1rem;
	}

	.access .inner {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1rem;
	}

	.access .inner .left_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 1.5rem;
	}

	.access .inner .left_column h3 {
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
		margin-bottom: 1rem;
	}

	.access .inner .left_column p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 2rem;
	}

	.access .inner .left_column .root {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.access .inner .left_column .root .item {
		box-sizing: border-box;
		display: block;
		padding-left: 1em;
		width: 100%;
		position: relative;
		border-top: #cccccc solid 1px;
		padding-top: 1em;
		margin-bottom: 1rem;
	}

	.access .inner .left_column .root .item .station {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		line-height: 180%;
	}

	.access .inner .left_column .root .item .line {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 0.5em;
	}

	.access .inner .left_column .root .item .blue {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 600;
		line-height: 160%;
		color: var(--theme-color-red);
	}

	.access .inner .left_column .root .item .blue::before {
		content: "\02192";
		margin-right: 1em;
	}

	.access .inner .right_column {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.access .inner .right_column .googlemap {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
}


.product {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
	margin-bottom: 6rem;
}

.product h2 {
	font-size: calc(36 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 2rem;
}

.product .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.product .item h3 {
	font-size: calc(20 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 1em;
}

.product .item p {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
}

.product .photo {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2rem;
}

.product .photo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.product {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 5rem;
	}

	.product h2 {
		font-size: calc(72 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 1em;
	}

	.product .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 3rem;
	}

	.product .item h3 {
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 1em;
	}

	.product .item p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 180%;
	}

	.product .photo {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin-bottom: 2rem;
	}

	.product .photo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
}

.product_inquiry {
	box-sizing: border-box;
	display: block;
	text-align: center;
	width: 70%;
	margin: 0 auto;
	margin-bottom: 6rem;
	border: #CCCCCC solid 1px;
	padding: 2rem;
}

.product_inquiry .caption {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
}

.product_inquiry .caption h2 {
	text-align: center;
	font-size: calc(26 / 1440 * 100vw);
	font-weight: 600;
	line-height: 120%;
	margin-bottom: 1em;
}

.product_inquiry .caption p {
	text-align: center;
	font-size: calc(12 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 2em;
}

.product_inquiry .caption a {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
}

.product_inquiry .caption a:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

@media screen and (max-width: 767px) {
	.product_inquiry {
		box-sizing: border-box;
		display: block;
		text-align: center;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 6rem;
		border: #CCCCCC solid 1px;
		padding: 1rem;
		margin-bottom: 5rem;
	}

	.product_inquiry .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.product_inquiry .caption h2 {
		text-align: center;
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 120%;
		margin-bottom: 1em;
	}

	.product_inquiry .caption p {
		text-align: left;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 2em;
	}

	.product_inquiry .caption a {
		font-size: calc(48 / 1440 * 100vw);
	}
}

.product_spectable {
	box-sizing: border-box;
	display: block;
	text-align: center;
	width: 100%;
	margin-bottom: 1rem;
	background-color: #f6f6e4;
	padding: 1rem;
}

.product_spectable .caption {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
}

.product_spectable .caption p {
	text-align: center;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 400;
	line-height: 160%;
	margin-bottom: 1em;
}

.product_spectable .caption a {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
}

.product_spectable .caption a:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

@media screen and (max-width: 767px) {
	.product_spectable {
		box-sizing: border-box;
		display: block;
		text-align: center;
		width: 100%;
		background-color: #f6f6e4;
		padding: 1rem;
		margin-bottom: 1rem;
	}

	.product_spectable .caption {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.product_spectable .caption p {
		text-align: left;
		font-size: calc(38 / 1440 * 100vw);
		font-weight: 400;
		line-height: 160%;
		margin-bottom: 2em;
	}

	.product_spectable .caption a {
		font-size: calc(32 / 1440 * 100vw);
	}
}




.catalog {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
	margin-bottom: 6rem;
}

.catalog h2 {
	font-size: calc(36 / 1440 * 100vw);
	font-weight: 600;
	line-height: 100%;
	margin-bottom: 2rem;
}

.catalog p {
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 180%;
	margin-bottom: 6rem;
}

.catalog .catalog_list {
	box-sizing: border-box;
	display: block;
	width: 100%;
	border-top: 2px solid #333333;
	padding-top: 1rem;
}

.catalog .catalog_list .item {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 12em auto 12em;
	grid-column-gap: 1rem;
	width: 100%;
	padding-top: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #cccccc;
}

.catalog .catalog_list .item .product_name {
	box-sizing: border-box;
	display: block;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 600;
	line-height: 180%;
}

.catalog .catalog_list .item .caption {
	box-sizing: border-box;
	display: block;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 180%;
}

.catalog .catalog_list .item .catalogview {
	box-sizing: border-box;
	display: block;
	text-align: right;
	padding-top: 1em;
	padding-bottom: 1em;
}

.catalog .catalog_list .item .catalogview a {
	margin: 0 auto;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	padding-right: 1em;
	font-size: calc(14 / 1440 * 100vw);
	font-weight: 400;
	line-height: 100%;
	color: #ffffff;
	color: var(--theme-color-red);
	border: var(--theme-color-red) solid 1px;
	border-radius: 1.5em 1.5em 1.5em 1.5em;
	background-color: var(--theme-color-red);
	background-color: #ffffff;
}

.catalog .catalog_list .item .catalogview a:hover {
	color: #ffffff;
	border: #28355f solid 1px;
	background-color: #28355f;
}

@media screen and (max-width: 767px) {
	.catalog {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 6rem;
	}

	.catalog h2 {
		font-size: calc(82 / 1440 * 100vw);
		font-weight: 600;
		line-height: 100%;
		margin-bottom: 2rem;
	}

	.catalog p {
		font-size: calc(16 / 1440 * 100vw);
		font-weight: 300;
		line-height: 180%;
		margin-bottom: 6rem;
	}

	.catalog .catalog_list {
		box-sizing: border-box;
		display: block;
		width: 100%;
		border-top: 2px solid #333333;
		padding-top: 1rem;
	}

	.catalog .catalog_list .item {
		box-sizing: border-box;
		display: block;
		width: 100%;
		padding-top: 1em;
		padding-bottom: 1em;
		border-bottom: 1px solid #cccccc;
	}

	.catalog .catalog_list .item .product_name {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 180%;
		margin-bottom: 1em;
	}

	.catalog .catalog_list .item .caption {
		box-sizing: border-box;
		display: block;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		line-height: 180%;
		margin-bottom: 1em;
	}

	.catalog .catalog_list .item .catalogview {
		box-sizing: border-box;
		display: block;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		text-align: left;
		padding-top: 1em;
		padding-bottom: 1em;
		margin-bottom: 3em;
	}

	.catalog .catalog_list .item .catalogview a {
		margin: 0 auto;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1em;
		padding-right: 1em;
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 400;
		line-height: 100%;
		color: #ffffff;
		color: var(--theme-color-red);
		border: var(--theme-color-red) solid 1px;
		border-radius: 1.5em 1.5em 1.5em 1.5em;
		background-color: var(--theme-color-red);
		background-color: #ffffff;
	}

	.catalog .catalog_list .item .catalogview a:hover {
		color: #ffffff;
		border: #28355f solid 1px;
		background-color: #28355f;
	}
}



.makerlist {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 6rem;
}

.makerlist .item {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto auto;
	grid-column-gap: 1rem;
	width: 100%;
	padding-top: 1em;
	border-top: #cccccc solid 1px;
	margin-bottom: 1rem;
}

.makerlist .item .makerlogo {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.makerlist .item .makerlogo img {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.makerlist .item .textfield {
	box-sizing: border-box;
	display: block;
	width: 100%;
	font-size: calc(16 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
}

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

	.makerlist .item {
		box-sizing: border-box;
		display: grid;
		grid-template-columns: auto auto;
		grid-column-gap: 1rem;
		width: 100%;
		padding-top: 1em;
		border-top: #cccccc solid 1px;
		margin-bottom: 1rem;
	}

	.makerlist .item .makerlogo {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.makerlist .item .makerlogo img {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.makerlist .item .textfield {
		box-sizing: border-box;
		display: block;
		width: 100%;
		font-size: calc(36 / 1440 * 100vw);
		font-weight: 300;
		line-height: 160%;
	}
}


/*

.introduction {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
	margin-top: 2rem;
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 400;
	line-height: 160%;
}

@media screen and (max-width: 799px) {
	.introduction {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-top: 2rem;
		font-size: calc(54 / 1440 * 100vw);
		font-weight: 400;
		line-height: 160%;
	}
}

*/

.privacy {
	box-sizing: border-box;
	display: block;
	width: 70%;
	margin: 0 auto;
	margin-bottom: 4rem;
}

.privacy .item {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 2em;
}

.privacy .item h2 {
	font-size: calc(24 / 1440 * 100vw);
	font-weight: 600;
	line-height: 130%;
	margin-bottom: 0.5em;
}

.privacy .item p {
	font-size: calc(18 / 1440 * 100vw);
	font-weight: 300;
	line-height: 160%;
	margin-bottom: 1em;
}

.privacy .item .countup {
	counter-reset: rank 0;
	font-size: 1em;
}

.privacy .item .countup .count {
	position: relative;
	margin-left: 1em;
	margin-bottom: 1em;
	padding-left: 1.2em;
}

.privacy .item .countup div::before {
	counter-increment: rank;
	content: counter(rank);
	display: block;
	position: absolute;
	left: 0;
	width: 1.2em;
	font-weight: 600;
	text-align: left;
}

.privacy .date {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0 auto;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 160%;
	text-align: right;
	margin-bottom: 3rem;
}

.privacy .signature {
	box-sizing: border-box;
	display: block;
	width: 100%;
}

.privacy .signature h2 {
	font-size: 160%;
	font-weight: 600;
	line-height: 130%;
	margin-bottom: 0.5em;
}

.privacy .signature p {
	font-size: 1em;
	font-weight: 400;
	line-height: 160%;
	margin-bottom: 0.5em;
}

@media screen and (max-width: 799px) {
	.privacy {
		box-sizing: border-box;
		display: block;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 4rem;
	}

	.privacy .item h2 {
		font-size: calc(64 / 1440 * 100vw);
		font-weight: 600;
		line-height: 130%;
		margin-bottom: 0.5em;
	}

	.privacy .item p {
		font-size: calc(48 / 1440 * 100vw);
		font-weight: 300;
		line-height: 160%;
		margin-bottom: 1em;
	}
}