@charset "utf-8";

@media all and (min-width: 1600px) {
	main {
		font-size: 1.6rem;
	}
}

.PageHeader__ttl .sub {
	font-size: 1.3rem;
}

.subsection-header__ttl-inner {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.subsection-header__ttl-inner small {
	font-size: 1.2rem;
	text-align: center;
	opacity: 0.8;
}

@media all and (min-width: 1280px) {
	.PageHeader__ttl .sub {
		transform-origin: center;
		font-size: 2rem;
	}

	.subsection-inner {
		width: var(--wcalc10-8);
	}

	.subsection-header__ttl-inner {
		justify-content: flex-start;
	}

	.subsection-header__ttl-inner small {
		margin-top: 1em;
	}

	.subsection-body {
		margin-top: 80px;
	}
}

@media all and (min-width: 1440px) {
	
	.subsection-inner {
		width: var(--wcalc10-7);
	}
}

/* -------------------------------- */

.subsection-header__ttl {
	font-size: 2.2rem;
}

@media all and (min-width: 768px) {
	.subsection-header__ttl {
		font-size: 2.8rem;
	}
}

@media all and (min-width: 1280px) {
	.subsection-header__ttl {
		font-size: 3.6rem;
	}
}

/* -------------------------------- */


.subsection-body > * {
	margin-top: 30px;
}

.subsection-body > *:first-child {
	margin-top: 0;
}


@media all and (min-width: 1280px) {
	.subsection-body > * {
		margin-top: 50px;
	}

	.subsection-body > *:first-child {
		margin-top: 0;
	}
}


/* -------------------------------- */

.SectionIndexSection__list {
	
}

@media all and (min-width: 1280px) {
	.SectionIndexSection__list {
		
	}
	.SectionIndexSection__list li {
		margin: 0 15px;
	}
}

/* -------------------------------- */

/* Flow */

.FlowList {
	list-style: none;
	padding: 30px 20px;
	counter-reset: FlowList-num;
	background-color: rgba(255,255,255,1);
	border-radius: 5px;
}

.FlowList__item {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.FlowList__item + .FlowList__item {
	margin-top: 15px;
}

.FlowList__item:before {
	position: relative;
	counter-increment: FlowList-num;
	content: "0" counter(FlowList-num) ".";
	width: 40px;
	padding-bottom: 15px;
	font-size: 1.2rem;
	background: rgba(255,255,255,1);
	z-index: 1;
	top: 0;
	left: 0;
}

.FlowList__item:after {
	position: absolute;
	content: '';
	width: 1px;
	height: 100%;
	background: rgba(0,0,0,.2);
	top: 0;
	left: 8px;
}

.FlowList__item:last-child:after {
	content: none;
}

.FlowList__item-inner {
	width: calc(100% - 40px);
	padding-bottom: 30px;
}

.FlowList__item:last-child .FlowList__item-inner {
	padding-bottom: 0;
}

.FlowList__ttl {
	margin-top: 0;
	font-size: 1.4rem;
	font-weight: bold;
}

.FlowList__des {
	margin-top: 1em;
}

.FlowList__des > * {
	margin-top: 0;
}

.FlowList__des > * + * {
	margin-top: 1em;
}

.FlowList__des .item {

}

.FlowList__des .item dt {
	display: inline;
	font-weight: bolder;
}

.FlowList__des .item dd {
	display: inline;
	margin-left: 0;
}

.FlowList__des .item dd:before {
	content: '／';
}

.FlowList__des .cat-item {
	padding: 15px 0;
	border-top: 1px solid rgba(0,0,0,.2);
}

.FlowList__des .cat-item:last-child {
	padding-bottom: 0;
}

.FlowList__des .cat-item + .cat-item {
	margin: 0;
}

.FlowList__des .cat-item dt {
	display: inline-block;
	position: relative;
	z-index: 1;
	font-weight: bolder;
}

.FlowList__des .cat-item dt:after {
	position: absolute;
	content: '';
	width: 100%;
	height: 4px;
	background-color: rgba(236, 94, 118, 1);
	left: 0;
	top: calc(1em + 4px);
	z-index: -1;
}

.FlowList__des .cat-item:nth-of-type(2) dt:after {
	background-color: rgba(234, 170, 0, 1);
}

.FlowList__des .cat-item:nth-of-type(3) dt:after {
	background-color: rgba(20, 191, 211, 1);
}

.FlowList__des .cat-item dd {
	margin-left: 20px;
}


@media all and (min-width: 1280px) {
	.FlowList {
		padding: 60px 40px;
	}

	.FlowList__item {
		display: flex;
		align-items: flex-start;
	}

	.FlowList__item:before {
		position: absolute;
	}

	.FlowList__item-inner {
		display: flex;
		justify-content: space-between;
		padding-bottom: 40px;
		width: 100%;
	}

	.FlowList__ttl {
		width: var(--wcalc8-2);
		padding-left: 40px;
		box-sizing: border-box;
		font-size: 1.6rem;
	}

	.FlowList__des {
		width: var(--wcalc8-6);
		margin-top: 0;
	}

	.FlowList__des .cat-item {
		display: flex;
		justify-content: space-between;
	}

	.FlowList__des .cat-item dd {
		width: var(--wcalc6-4);
		margin: 0;
	}
}

@media all and (min-width: 1400px) {
	
	.FlowList__item-inner {
		padding-bottom: 60px;
	}
}

/* -------------------------------- */

.before-table {
	line-height: 1.8;
	font-feature-settings: "palt";
}

@media all and (min-width: 1280px) {
	.before-table {
		
	}
}


.before-table__item {
	padding: 20px 0;
	border-top: 1px solid rgba(0,0,0,.15);
}

.before-table__item:first-child {
	
}

.before-table__item:last-child {
	border-bottom: 1px solid rgba(0,0,0,.15);
}

@media all and (min-width: 1280px) {
	.before-table__item {
		
	}
}


.before-table__lbl {
	font-size: 1.5rem;
	font-weight: bold;
}

@media all and (min-width: 1280px) {
	.before-table__lbl {
		position: -webkit-sticky;
		position: sticky;
		top: 40px;
		width: var(--wcalc8-2);
	}
}


.before-table__des {
	margin-top: 1em;
	margin-left: 0;
}

.before-table__des > * {
	margin-top: 1.5em;
}

.before-table__des > *:first-child {
	margin-top: 0;
}

.before-table__des ul {
	margin-top: 1em;
}

.before-table__des hr {
	margin: 2em 0;
}

@media all and (min-width: 1280px) {
	.before-table__des {
		margin-top: 0;
		width: var(--wcalc8-6);
	}
}


.des-table {
	
}

.des-table__item {
	margin-top: 1em;
}

.des-table__item:first-child {
	margin-top: 0;
}


.des-table__item > * {
	margin-top: 0.5em;
}

.des-table__item > *:first-child {
	margin-top: 0;
}

.des-table__item dt {
	font-weight: bold;
}

.des-table__item dd {
	margin-left: 0;
	
	& > *:first-child {
		margin-top: 0;
	}
}


.icon-des-table {
	margin-top: 30px;
}

.icon-des-table__item {
	padding: 17px 0;
	border-top: 1px solid rgba(0,0,0,.1);
}

.icon-des-table__item:last-child {
	border-bottom: 1px solid rgba(0,0,0,.1);
}

.icon-des-table:first-child .icon-des-table__item:first-child {
	padding-top: 0;
	border-top: none;
}

.icon-des-table:last-child .icon-des-table__item:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.icon-des-table__item dt {
	font-weight: bold;
}

.icon-des-table__item dt .icon {
	width: 35px;
	stroke-width: 1.4;
}

.icon-des-table__item dd {
	margin: 0;
	padding-left: 35px;
}

@media all and (min-width: 1280px) {
	.before-table__item {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		padding: 30px 0;
	}

	.des-table__item {
		margin-top: 1.5em;
	}

	.des-table__item:first-child {
		margin-top: 0;
	}

	.icon-des-table__item {
		display: flex;
		justify-content: space-between;
	}

	.icon-des-table__item dt {
		width: var(--wcalc6-2);
	}

	.icon-des-table__item dd {
		width: var(--wcalc6-4);
		padding-left: 0;
	}
}


/* -------------------------------- */

.des-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.des-list li {
	position: relative;
	padding-left: 1.6em;
}

.des-list li:before {
	position: absolute;
	content: '';
	width: 6px;
	height: 6px;
	background-color: rgba(217, 158, 164, 1);
	border-radius: 50%;
	top: calc(1em - 3px);
	left: 0;
}

@media all and (min-width: 1280px) {
	.before-table__des .des-list {
		margin-left: 0;
	}
}


/* -------------------------------- */

.info__txt {
	margin-top: 1em;
	padding: 1em 30px;
	background: #fff;
}

.info__txt > *:first-child {
	margin-top: 0;
}

.info__txt span {
	display: block;
}

@media all and (min-width: 768px) {
	.info__txt {
		text-align: center;
	}
}

@media all and (min-width: 1280px) {
	.info__txt span {
		display: inline-block;
	}

	.info__txt span + span {
		margin-left: 1em;
	}
}

/* -------------------------------- */

/* MedicalCheckup_notice / guide */

.guide {
	margin-top: 50px;
}

.notice__list {
	list-style: none;
	padding: 30px;
	background-color: rgba(245, 239, 232, 1);
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.notice__item + .notice__item {
	margin-top: 30px;
}

.notice__img {
	width: 140px;
	margin: auto;
}

.notice__img img {
	width: 100%;
	vertical-align: bottom;
}

.notice__ttl {
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

.notice-img__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-start;
	gap: 20px;
}

.notice-img__item {
	width: calc(20% - 10px);
	max-width: 80px;
}

.notice-img__item .notice__img {
	width: 100%;
}

@media all and (min-width: 1280px) {

	/* MedicalCheckup_notice / guide */

	.notice__list {
		padding: 40px;
	}

	.notice__item {
		display: flex;
		justify-content: space-between;
	}

	.notice__item .notice__img {
		width: 150px;
		margin-left: 40px;
	}

	.notice__txt {
		width: var(--wcalc8-6);
	}

	.notice__ttl {
		text-align: left;
	}
}

/* -------------------------------- */

.clothes__item {
	padding: 30px;
	background-color: rgba(255,255,255,1);
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.clothes__img {
	width: 140px;
	margin: auto;
}

.clothes__img img {
	width: 100%;
	vertical-align: bottom;
}

.clothes__ttl {
	font-size: 1.4rem;
	font-weight: bold;
}

.clothes__item .clothes-list {
	padding: 0;
	list-style: none;
}

.clothes__item .clothes-list li {
	position: relative;
	padding-left: 1.6em;
}

.clothes__item .clothes-list li:before {
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	background-color: rgba(217, 158, 164, 1);
	border-radius: 50%;
	top: .75em;
	left: 0;
}

@media all and (min-width: 1280px) {

	.clothes__item {
		display: flex;
		justify-content: space-between;
		padding: 40px;
	}

	.clothes__img {
		width: 150px;
		margin-left: 40px;
	}

	.clothes__txt {
		width: var(--wcalc8-6);
	}
}


/* -------------------------------- */

/* Inspection */

.Inspection {
	margin-top: 60px;
}

.Inspection__ttl-outer {
	text-align: center;
	padding: 20px;
}

.Inspection__ttl {
	display: inline-block;
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
	margin: 0;
}

.Inspection__ttl:after {
	position: absolute;
	content: '';
	width: 100%;
	height: 7px;
	background-color: rgba(217, 158, 164, 1);
	left: 0;
	bottom: 3px;
	z-index: -1;
}

@media all and (min-width: 1280px) {

	.Inspection {
		margin-top: 80px;
	}

	.Inspection__ttl {
		font-size: 2rem;
	}
}

@media all and (min-width: 1440px) {

	.Inspection {
		margin-top: 80px;
	}

	.Inspection__ttl {
		font-size: 2.2rem;
	}
}

/* -------------------------------- */

/* criteria-chart */

.criteria-chart {
	
}

.criteria-chart-header {
	
}

.criteria-chart-lbl {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0;
	margin: 0;
	list-style: none;
	flex-wrap: wrap;
	font-size: 1.1rem;
	font-weight: normal;
}

.criteria-chart-lbl .icon {
	margin-right: 5px;
}

.criteria-chart-lbl .icon svg {
	width: 18px;
	height: 18px;
}

.criteria-chart-lbl li {
	display: flex;
	align-items: center;
}

.criteria-chart-lbl li + li {
	margin-left: 20px;
}

.criteria-chart-lbl .icon-check circle {
	fill: rgba(87, 194, 174, 1);
	stroke: none;
}

.criteria-chart-lbl .icon-check polyline {
	stroke: rgba(255,255,255,1);
}

.criteria-chart-tbl-outer {
	margin-top: 50px;
	margin-right: -30px;
	margin-left: -30px;
	overflow-x: auto;
}

.criteria-chart-tbl {
	width: 100%;
	min-width: 430px;
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}

.criteria-chart-tbl .thead {

}

.criteria-chart-tbl .thead th {
	width: auto;
	min-width: 50px;
	height: 90px;
	max-height: max-content;
	text-align: center;
	vertical-align: bottom;
	padding-bottom: 10px;
	padding-left: 0;
	border-top: none;
	border-left: 1px solid rgba(0,0,0,.2);
	border-right: 1px solid rgba(0,0,0,.2);
}

.criteria-chart-tbl .thead th:first-child {
	width: 180px;
	border: none;
}

.criteria-chart-tbl .thead th:last-child {
	border-right: none;
}

.criteria-chart-tbl .thead th span {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-size: 1.2rem;
	line-height: 1.6;
	text-align: end;
	vertical-align: bottom;
}

.criteria-chart-tbl th {
	width: 180px;
	height: 40px;
	box-sizing: border-box;
	border-top: 1px solid rgba(0,0,0,.2);
	border-bottom: 1px solid rgba(0,0,0,.2);
	padding-left: 20px;
	font-size: 1.2rem;
}

.criteria-chart-tbl td {
	width: calc((100% - 180px) / 5);
	min-width: 50px;
	height: 40px;
	box-sizing: border-box;
	font-size: 1.4rem;
	text-align: center;
	position: relative;
	border: 1px solid rgba(0,0,0,.2);
}

.criteria-chart-tbl td:last-child {
	border-right: none;
}

.criteria-chart-tbl td .icon-check circle {
	fill: rgba(87, 194, 174, 1);
	stroke: none;
}

.criteria-chart-tbl td .icon-check polyline {
	stroke: rgba(255,255,255,1);
}

.criteria-chart-tbl td sup {
	position: absolute;
	top: 50%;
	transform: translateY(-.5em);
	right: 0;
}

@media all and (min-width: 768px) {
	.criteria-chart-header {
		display: flex;
		justify-content: space-between;
		padding-bottom: 30px;
		border-bottom: 1px solid rgba(0,0,0,.2);
	}

	.criteria-chart-tbl td sup {
		right: auto;
	}
}

@media all and (min-width: 1280px) {
	.criteria-chart {
		background-color: #fff;
		padding-inline: 40px;
	}

	.criteria-chart-header {
		position: static;
	}

	.criteria-chart-tbl-outer {
		margin-left: 0;
		margin-right: 0;
	}

	.criteria-chart-tbl .thead th {
		height: 50px;
		padding-bottom: 0;
		vertical-align: middle;
		font-feature-settings: "palt";
	}

	.criteria-chart-tbl .thead th:first-child {
		width: 245px;
	}

	.criteria-chart-tbl .thead th span {
		writing-mode: horizontal-tb;
		vertical-align: middle;
	}

	.criteria-chart-tbl th {
		width: 245px;
	}

	.criteria-chart-tbl td {
		width: calc((100% - (var(--wcalc8-2))) / 5);
	}
}


/* -------------------------------- */

/* Women */
.Women {
	
}

@media all and (min-width: 1280px) {

	.Women .before-table__item:first-child {
		display: block;
	}

	.Women .before-table__item:first-child .before-table__lbl {
		width: 100%;
	}

	.Women .before-table__item:first-child .before-table__des {
		width: 100%;
	}

}


/* -------------------------------- */


.endoscopy-notice-image {
	width: 100%;
	max-width: 500px;
}

.endoscopy-notice-image img {
	display: block;
	width: 100%;
	height: auto;
}

@media all and (min-width: 768px) {
	.endoscopy-notice-image {
		
	}
}


/* -------------------------------- */

.SupportDesk__intro {
	
}

@media all and (min-width: 1280px) {
	.SupportDesk__intro {
		text-align: center;
	}
}


.SupportDeskPhone__img {
	float: right;
	width: 80px;
	margin-left: 2em;
}

.SupportDeskPhone__img img {
	display: block;
	width: 100%;
	height: auto;
}

@media all and (min-width: 768px) {
	.SupportDeskPhone__img {
		width: 180px;
	}
}

@media all and (min-width: 1280px) {
	.SupportDeskPhone__img {
		
	}
}


.SupportDeskPhone {
	
}

.SupportDeskPhone__num {
	display: flex;
	align-items: center;
	font-size: 2rem;
	line-height: 1.4;
	margin-top: 10px;
}

.SupportDeskPhone__num .icon {
	margin-right: 5px;
}

.SupportDeskPhone__num .icon svg {
	width: 1.2em;
	height: 1.2em;
	stroke-width: 1.2;
}

@media all and (min-width: 768px) {
	.SupportDeskPhone__num {
		font-size: 2.4rem;
	}
}

@media all and (min-width: 1280px) {
	.SupportDeskPhone__num {
		font-size: 3.2rem;
	}
}


.SupportDeskPhone__note {
	margin-top: 0.5em;
}

.SupportDeskPhone__link {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}

.SupportDeskPhone__link li:not(:last-child) {
	margin-right: 15px;
}


/* -------------------------------- */


.std-img {
	box-sizing: border-box;
	padding: 10px;
	border: 1px solid rgba(0,0,0,0.2);
	border-radius: 10px;
	
	& .std-img__img {
		display: block;
		width: 100%;
		max-width: 800px;
		margin-inline: auto;
	}
}

@media all and (min-width: 768px) {
	.std-img {
		padding: 25px;
	}
}


.floatright-img {
	float: right;
	width: min(calc(80px + 5vw), 180px);
	margin-left: 2em;
	border-radius: 5px;
	
	& + * {
		margin-top: 0;
	}
}