:root {
	--black: #333333;
	--blue: #2f93f3;
	--red: #f03333;
	--pink: #ec9d9c;
	--gray: #999999;
	--lightgray: #e5e9eb;
	--base-font-color: #333333;
	--content-width: 1220px;
	--small-content-width: 1196px;
	--small-content-width-sp: calc(100% - var(--comp-60) - var(--comp-60));
	--content-padding: 0 12px;
	--comp-250: 33.7837837837837vw;
	--comp-230: 31.081081081081vw;
	--comp-220: 29.7297297297297vw;
	--comp-210: 28.3783783783783vw;
	--comp-200: 27.027027027027vw;
	--comp-195: 26.3513513513513vw;
	--comp-190: 25.6756756756756vw;
	--comp-185: 25vw;
	--comp-180: 24.3243243243243vw;
	--comp-175: 23.6486486486486vw;
	--comp-170: 22.9729729729729vw;
	--comp-165: 22.2972972972972vw;
	--comp-160: 21.6216216216216vw;
	--comp-155: 20.9459459459459vw;
	--comp-150: 20.2702702702702vw;
	--comp-145: 19.5945945945945vw;
	--comp-140: 18.9189189189189vw;
	--comp-135: 18.2432432432432vw;
	--comp-130: 17.5675675675675vw;
	--comp-125: 16.8918918918918vw;
	--comp-120: 16.2162162162162vw;
	--comp-115: 15.5405405405405vw;
	--comp-110: 14.8648648648648vw;
	--comp-105: 14.1891891891891vw;
	--comp-100: 13.5135135135135vw;
	--comp-95: 12.83783783783783vw;
	--comp-90: 12.1621621621621vw;
	--comp-85: 11.48648648648648vw;
	--comp-80: 10.8108108108108vw;
	--comp-75: 10.13513513513513vw;
	--comp-70: 9.459459459459459vw;
	--comp-65: 8.738738738738738vw;
	--comp-60: 8.108108108108108vw;
	--comp-55: 7.432432432432432vw;
	--comp-50: 6.756756756756756vw;
	--comp-45: 6.081081081081081vw;
	--comp-40: 5.405405405405405vw;
	--comp-35: 4.729729729729729vw;
	--comp-30: 4.054054054054054vw;
	--comp-25: 3.378378378378378vw;
	--comp-20: 2.702702702702702vw;
	--comp-15: 2.027027027027027vw;
	--comp-10: 1.351351351351351vw;
	--comp-5: 0.6756756756756756vw;
	--comp-88: 11.8918918918918vw;
	--comp-66: 8.91891891891891vw;
	--comp-48: 6.48648648648648vw;
	--comp-46: 6.21621621621621vw;
	--comp-42: 5.67567567567567vw;
	--comp-36: 4.86486486486486vw;
	--comp-34: 4.59459459459459vw;
	--comp-32: 4.32432432432432vw;
	--comp-28: 3.78378378378378vw;
	--comp-27: 3.64864864864865vw;
	--comp-26: 3.51351351351351vw;
	--comp-24: 3.24324324324324vw;
	--comp-22: 2.97297297297297vw;
	--comp-20: 2.70270270270270vw;
	--comp-18: 2.43243243243243vw;
	--comp-16: 2.16216216216216vw;
	--comp-14: 1.89189189189189vw;
	--comp-12: 1.62162162162162vw;
	--comp-8: 1.081081081081081vw;
	--comp-6: 0.81081081081081vw;
}
/*-- btnList --*/

.btnListType01 {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.btnListType01:not(:first-child) {
	margin-top: 25px;
}
.btnListType01:not(:last-child) {
	margin-bottom: 25px;
}
.btnListType01 li {
	width: calc((100% - 10px) / 2);
}
.btnListType01 li a {
	border: 1px solid var(--black);
	display: block;
	position: relative;
	text-decoration: none;
	color: var(--black);
	font-size: 14px;
	padding: 20px 50px 20px 25px;
	transition: all ease 0.3s;
}
.btnListType01 li a::after {
	content: "";
	display: block;
	aspect-ratio: 1 / 1;
	width: 12px;
	border-top: 2px solid var(--black);
	border-right: 2px solid var(--black);
	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	right: 24px;
	transition: all ease 0.3s;
}
@media (any-hover: hover) {
	.btnListType01 a:hover {
		color: var(--blue);
		border: 1px solid var(--blue);
	}
	.btnListType01 a:hover::after {
		border-color: var(--blue);
	}
}
@media screen and (width <=749px) {
	.btnListType01 {
		gap: var(--comp-15);
	}
	.btnListType01:not(:first-child) {
		margin-top: var(--comp-30);
	}
	.btnListType01:not(:last-child) {
		margin-bottom: var(--comp-30);
	}
	.btnListType01 li {
		width: calc((100% - var(--comp-15) - 1px) / 2);
	}
	.btnListType01 li a {
		font-size: var(--comp-22);
		padding: var(--comp-25) var(--comp-35) var(--comp-25) var(--comp-20);
	}
	.btnListType01 li a::after {
		width: var(--comp-14);
		right: var(--comp-25);
	}
}
.btnListType02 {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid var(--black);
}
.btnListType02 li {
	border-bottom: 1px solid var(--black);
	width: 100%;
}
.btnListType02 li a {
	display: flex;
	gap: 15px;
	position: relative;
	padding: 25px 15px 25px 0;
	box-sizing: border-box;
	color: var(--black);
	text-decoration: none;
	font-size: 20px;
	font-weight: 700;
	width: 100%;
	align-items: center;
	position: relative;
	transition: all ease 0.3s;
}
.btnListType02 li a::before {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	background-color: var(--blue);
	transform-origin: right bottom;
	opacity: 1;
	position: absolute;
	top: -1px;
	left: 0;
	transition: width ease 0.6s;
}
.btnListType02 li a::after {
	content: "";
	display: block;
	width: 0;
	height: 2px;
	background-color: var(--blue);
	transform-origin: right bottom;
	opacity: 1;
	position: absolute;
	bottom: -1px;
	left: 0;
	transition: width ease 0.6s;
}
.btnListType02 li a .icon {
	aspect-ratio: 44 / 38;
	width: 44px;
}
.btnListType02 li a .icon img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.btnListType02 li a .text {
	width: calc(100% - 44px - 15px - 24px - 15px);
	line-height: 1.8;
}
.btnListType02 li a .arrow {
	display: block;
	aspect-ratio: 1 / 1;
	background-color: var(--blue);
	border-radius: 50%;
	position: relative;
	width: 24px;
}
.btnListType02 li a .arrow::before {
	content: "";
	aspect-ratio: 5 / 8;
	width: 20.833333333333%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media (any-hover: hover) {
	.btnListType02 li a:hover {
		color: var(--blue);
	}
	.btnListType02 li a:hover::before {
		width: 100%;
		transform-origin: left bottom;
	}
	.btnListType02 li a:hover::after {
		width: 100%;
		transform-origin: left bottom;
	}
}
@media screen and (width <=749px) {
	.btnListType02 li a {
		gap: var(--comp-30);
		padding: var(--comp-20) var(--comp-15) var(--comp-20) 0;
		font-size: var(--comp-28);
		min-height: var(--comp-140);
	}
	.btnListType02 li a .icon {
		width: var(--comp-65);
	}
	.btnListType02 li a .text {
		width: calc(100% - var(--comp-65) - var(--comp-30) - var(--comp-35) - var(--comp-30));
	}
	.btnListType02 li a .arrow {
		width: var(--comp-35);
	}
}
.btnListType03 {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	gap: 10px;
}
.btnListType03 li {
	width: 100%;
}
.btnListType03 li>a, .btnListType03 li>span {
	background-color: #fff;
	display: block;
	width: 100%;
	position: relative;
	padding: 30px 70px 30px 30px;
	text-decoration: none;
	color: var(--black);
	font-size: 14px;
	box-sizing: border-box;
	line-height: 1.8;
	position: relative;
	transition: all ease 0.3s;
}
.btnListType03 li>span {
	color: var(--gray);
}
.btnListType03 li>a::after {
	content: "";
	display: block;
	aspect-ratio: 1 / 1;
	width: 12px;
	border-top: 2px solid var(--black);
	border-right: 2px solid var(--black);
	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	right: 40px;
	transition: all ease 0.3s;
}
.btnListType03 li>a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 3px solid var(--blue);
	transition: all ease 0.3s;
	box-sizing: border-box;
	opacity: 0;
	pointer-events: none;
}
.btnListType03 li small, .btnListType03 li small {
	font-size: 14px;
}
@media (any-hover: hover) {
	.btnListType03 li>a:hover {
		color: var(--blue);
	}
	.btnListType03 a:hover::before {
		opacity: 1;
	}
	.btnListType03 li>a:hover::after {
		border-color: var(--blue);
	}
}
@media screen and (width <=749px) {
	.btnListType03 {
		gap: var(--comp-15);
	}
	.btnListType03 li>a, .btnListType03 li>span {
		padding: var(--comp-25) var(--comp-80) var(--comp-25) var(--comp-30);
		font-size: var(--comp-28);
		min-height: var(--comp-200);
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}
	.btnListType03 li>span {
		color: var(--gray);
	}
	.btnListType03 li>a::after {
		width: var(--comp-14);
		right: var(--comp-30);
	}
	.btnListType03 li .inner {
		display: block;
		width: 100%;
	}
	.btnListType03 li small, .btnListType03 li small {
		font-size: var(--comp-24);
	}
}
/*-- boxList --*/

.grayBoxList {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.grayBoxList div {
	background-color: var(--lightgray);
	width: 100%;
	box-sizing: border-box;
}
.grayBoxList div dt {
	background-color: var(--black);
	color: #fff;
	font-weight: 700;
	display: inline-block;
	font-size: 22px;
	padding: 3px 20px;
	line-height: 1.6;
}
.grayBoxList div dd {
	font-size: 14px;
	padding: 20px 30px 30px;
	margin: 0;
	box-sizing: border-box;
	line-height: 1.9;
}
.grayBoxList+.contentCaution {
	margin-top: 20px;
}
@media screen and (width <=749px) {
	.grayBoxList {
		gap: var(--comp-15);
	}
	.grayBoxList div dt {
		font-size: var(--comp-32);
		padding: var(--comp-5) var(--comp-30);
		line-height: 1.6;
	}
	.grayBoxList div dd {
		font-size: var(--comp-28);
		padding: var(--comp-20) var(--comp-30) var(--comp-25);
	}
	.grayBoxList+.contentCaution {
		margin-top: var(--comp-20);
	}
}
/*-- main-map --*/

#mainMap .flexBox {
	justify-content: space-between;
}
#mainMap .flexBox>.mapBox {
	width: 580px;
	padding-top: 10px;
}
#mainMap .mapBox .map {
	aspect-ratio: 580 / 400;
	margin-bottom: 20px;
}
#mainMap .mapBox .textBox {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#mainMap .mapBox .textBox .text {
	width: 100%;
}
#mainMap .mapBox .textBox .btnListType01 {
	width: 180px;
	margin-top: 0;
}
#mainMap .mapBox .textBox .btnListType01 li {
	width: 100%;
}
#mainMap .mapBox h2 {
	font-size: 14px;
	font-weight: 500;
	margin: 0 auto 10px;
	box-sizing: border-box;
}
#mainMap .mapBox h2+p {
	font-size: 14px;
}
#mainMap .flexBox>.textBox {
	width: 560px;
	box-sizing: border-box;
}
#mainMap .flexBox>.textBox p:not([class]) {
	margin-bottom: 50px;
	font-size: 14px;
}
@media screen and (width <=749px) {
	#mainMap .inner {
		width: 100%;
		padding: 0;
	}
	#mainMap .flexBox {
		flex-wrap: wrap;
	}
	#mainMap .flexBox>.mapBox {
		width: 100%;
		padding-top: 0;
		margin-bottom: var(--comp-80);
	}
	#mainMap .mapBox .map {
		margin-bottom: var(--comp-30);
	}
	#mainMap .mapBox .textBox {
		display: block;
	}
	#mainMap .mapBox .textBox .text {
		width: 100%;
	}
	#mainMap .mapBox .textBox .btnListType01 {
		width: calc(100% - (var(--comp-60) * 2));
		margin-top: var(--comp-30);
	}
	#mainMap .mapBox .textBox .btnListType01 li {
		width: calc((100% - var(--comp-15) - 1px) / 2);
		;
	}
	#mainMap .mapBox h2 {
		padding: 0 var(--comp-60);
		margin-bottom: var(--comp-10);
	}
	#mainMap .mapBox h2+p {
		font-size: var(--comp-24);
		width: calc(100% - (var(--comp-60) * 2));
		margin-right: auto;
		margin-left: auto;
	}
	#mainMap .mapBox .btnListType01 {
		width: calc(100% - (var(--comp-60) * 2));
		margin-right: auto;
		margin-left: auto;
	}
	#mainMap .flexBox>.textBox {
		width: 100%;
		padding: 0 var(--comp-60);
	}
	#mainMap .flexBox>.textBox p:not([class]) {
		margin-bottom: var(--comp-50);
		font-size: var(--comp-27);
	}
}
/*---------------------------------------------
 SECOND
---------------------------------------------*/

/*-- contents/section --*/

.secondSimpleSection:not(:last-child) {
	margin-bottom: 100px;
}
.secondSimpleSection:has( + .btnSection) {
	margin-bottom: 120px;
}
.secondSimpleSection p:not([class]), .secondSimpleSection p.large {
	margin: 2em auto;
}
.secondSimpleSection p:not([class]):first-child {
	margin-top: 0;
}
.secondSimpleSection p:not([class]):last-child {
	margin-bottom: 0;
}
.secondSimpleSection p.mapText {
	font-size: 14px;
	margin-top: 20px;
	width: var(--small-content-width);
	margin-left: auto;
	margin-right: auto;
	letter-spacing: 0.05em;
}
.secondSimpleSection figure, .secondSimpleSection .map, .secondSimpleSection p:not([class]), .secondSimpleSection p.large {
	width: var(--small-content-width);
	margin-left: auto;
	margin-right: auto;
}
.secondSimpleSection>figure img {
	display: block;
	margin: 0 auto;
}
@media screen and (width <=749px) {
	.secondSimpleSection:not(:last-child) {
		margin-bottom: var(--comp-100);
	}
	.secondSimpleSection:has( + .btnSection) {
		margin-bottom: var(--comp-120);
	}
	.secondSimpleSection p:not([class]) {
		margin: var(--comp-20) auto;
	}
	.secondSimpleSection figure, .secondSimpleSection .map, .secondSimpleSection p:not([class]) {
		width: var(--small-content-width-sp);
		margin-left: auto;
		margin-right: auto;
	}
	.secondSimpleSection .map {
		aspect-ratio: 618 / 800;
	}
	.secondSimpleSection p.mapText {
		font-size: var(--comp-24);
		margin-top: var(--comp-20);
		width: var(--small-content-width-sp);
	}
}
/*-- heading --*/

hgroup.sectionTtlGroup {
	max-width: var(--small-content-width);
	margin: 100px auto 60px;
}
hgroup.sectionTtlGroup:first-child {
	margin-top: 0;
}
hgroup.sectionTtlGroup:last-child {
	margin-bottom: 0;
}
.lineTtl {
	border-bottom: 2px solid var(--lightgray);
	position: relative;
	box-sizing: border-box;
	font-size: 28px;
	font-weight: 700;
	padding-bottom: 10px;
	margin: 100px auto 38px;
	width: var(--small-content-width);
}
.lineTtl:first-child {
	margin-top: 0;
}
.lineTtl:last-child {
	margin-bottom: 0;
}
.lineTtl::after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	background-color: var(--blue);
	position: absolute;
	bottom: -2px;
	left: 0;
}
.lineTtl:has( + p), .lineTtl:has( + .circleList) {
	margin-bottom: 25px;
}
.garyLineTtl {
	border-bottom: 1px solid var(--lightgray);
	font-size: 22px;
	font-weight: 700;
	width: var(--small-content-width);
	margin: 100px auto 35px;
	padding-bottom: 10px;
	line-height: 1.8;
}
.garyLineTtl:first-child {
	margin-top: 0;
}
hgroup.sectionTtlGroup+.garyLineTtl {
	margin-top: 60px;
}
#container hgroup.sectionTtlGroup p {
	font-size: 14px;
}
.weightTtl {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.75;
	margin: 35px auto 15px;
	max-width: var(--small-content-width);
}
@media screen and (width <=749px) {
	hgroup.sectionTtlGroup {
		max-width: 100%;
		margin: var(--comp-100) auto var(--comp-60);
	}
	.lineTtl {
		font-size: var(--comp-42);
		margin: var(--comp-100) auto var(--comp-40);
		width: calc(100% - var(--comp-20) - var(--comp-20));
		padding: 0 var(--comp-40) var(--comp-15);
	}
	.lineTtl::after {
		width: var(--comp-150);
	}
	.lineTtl:has( + p), .lineTtl:has( + .circleList) {
		margin-bottom: var(--comp-40);
	}
	.garyLineTtl {
		font-size: var(--comp-32);
		width: var(--small-content-width-sp);
		margin: var(--comp-160) auto var(--comp-40);
		padding-bottom: var(--comp-20);
	}
	hgroup.sectionTtlGroup+.garyLineTtl {
		margin-top: var(--comp-100);
	}
	#container hgroup.sectionTtlGroup p {
		max-width: var(--small-content-width-sp);
		margin-right: auto;
		margin-left: auto;
		font-size: var(--comp-27);
	}
	.weightTtl {
		font-weight: 500;
		font-size: var(--comp-27);
		line-height: 1.75;
		margin: var(--comp-50) auto var(--comp-30);
		max-width: var(--small-content-width-sp);
	}
}
/*-- table --*/

.scrollBox {
	font-size: 14px;
	margin: 2em auto;
}
.simpleTable {
	border: 1px solid #b2b2b2;
	border-collapse: collapse;
	font-size: 14px;
	max-width: var(--small-content-width);
	margin: 2em auto;
	line-height: 1.75;
}
.simpleTable:only-child {
	margin-top: 0;
	margin-bottom: 0;
}
.simpleTable thead th {
	background-color: var(--black);
	color: #fff;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #b2b2b2;
	padding: 15px 25px;
}
.simpleTable tbody th, .simpleTable tbody td {
	border: 1px solid #b2b2b2;
	padding: 15px 25px;
	text-align: left;
}
.simpleTable tbody th {
	background-color: var(--lightgray);
}
.simpleTable tbody th.black {
	background-color: var(--black);
	color: #fff;
	text-align: center;
}
.simpleTable .w15per {
	width: 15%;
}
.simpleTable .w16per {
	width: 16%;
}
.simpleTable .w17per {
	width: 17%;
}
.simpleTable .w20per {
	width: 20%;
}
.simpleTable .w25per {
	width: 25%;
}
.simpleTable .w30per {
	width: 30%;
}
.simpleTable .cautionList {
	width: 100%;
	max-width: 100%;
}
.simpleTable.responsive {
	width: 100%;
}
@media screen and (width <=749px) {
	.scrollBox {
		overflow-x: scroll;
		width: var(--small-content-width-sp);
		margin: var(--comp-20) auto;
	}
	.scrollBox .innerScrollBox {
		width: 240vw;
	}
	.simpleTable {
		font-size: var(--comp-24);
		width: 100%;
		max-width: 100%;
	}
	.simpleTable thead th {
		padding: var(--comp-25) var(--comp-30);
	}
	.simpleTable tbody th, .simpleTable tbody td {
		padding: var(--comp-25) var(--comp-30);
	}
	.simpleTable.responsive {
		width: var(--small-content-width-sp);
		display: block !important;
		border: none;
	}
	.simpleTable.responsive * {
		display: block !important;
	}
	.simpleTable.responsive tbody>* {
		border: 1px solid #b2b2b2;
	}
	.simpleTable.responsive tbody>*:not(:first-child) {
		border-top: none;
	}
	.simpleTable.responsive tbody th, .simpleTable.responsive tbody td {
		border: none;
	}
}
/*-- btnList --*/

.simpleBtnList {
	margin: 60px auto 0;
	width: 340px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
}
.simpleBtnList li {
	width: 100%;
}
.simpleBtnList li a {
	color: var(--black);
	text-decoration: none;
	border: 1px solid #bfbdbd;
	min-height: 64px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: 10px 55px 10px 15px;
	position: relative;
	line-height: 1.6;
	transition: all ease 0.3s;
	font-size: 14px;
}
.simpleBtnList li a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 3px solid var(--blue);
	transition: all ease 0.3s;
	box-sizing: border-box;
	opacity: 0;
	pointer-events: none;
}
.simpleBtnList li a::after {
	content: "";
	display: block;
	aspect-ratio: 1 / 1;
	width: 12px;
	border-top: 2px solid #9c9c9c;
	border-right: 2px solid #9c9c9c;
	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	right: 24px;
	transition: all ease 0.3s;
	transition: all ease 0.3s;
}
.simpleBtnList li a small {
	font-size: 12px;
}
@media (any-hover: hover) {
	.simpleBtnList li a:hover {
		color: var(--blue);
		border-color: var(--blue);
	}
	.simpleBtnList li a:hover::before {
		opacity: 1;
	}
	.simpleBtnList li a:hover::after {
		border-color: var(--blue);
	}
}
@media screen and (width <=749px) {
	.simpleBtnList {
		margin: var(--comp-60) auto 0;
		width: calc(100% - var(--comp-110) - var(--comp-110));
		gap: var(--comp-20);
	}
	.simpleBtnList li a {
		min-height: var(--comp-110);
		padding: var(--comp-10) var(--comp-70) var(--comp-10) var(--comp-30);
		font-size: var(--comp-24);
	}
	.simpleBtnList li a::after {
		width: var(--comp-16);
		right: var(--comp-30);
	}
	.simpleBtnList li a small {
		font-size: var(--comp-18);
	}
}
/*-- tab --*/

.tabListBox {
	display: flex;
	width: 100%;
	padding-bottom: 40px;
	margin-bottom: 40px;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 10;
	background-color: #fff;
}
.innerTabListBox {
	border-bottom: 1px solid var(--black);
	width: 100%;
}
.tabList {
	display: flex;
	justify-content: space-between;
	width: var(--small-content-width);
	margin: 0 auto;
	gap: 10px;
}
.tabList li {
	flex: 1;
	display: block;
}
.tabList li button {
	background-color: var(--black);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	border: none;
	font-size: 20px;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
	border: 1px solid var(--black);
	border-bottom: none;
	cursor: pointer;
	font-weight: 700;
	transition: all 0.3s ease;
	height: 100%;
}
.tabList li button.active {
	background-color: #fff;
	color: var(--black);
	position: relative;
}
.tabList li button.active::after {
	content: "";
	height: 3px;
	width: 100%;
	background-color: #fff;
	position: absolute;
	bottom: -1px;
	left: 0;
}
@media (any-hover: hover) {
	.tabList li button:hover {
		background-color: #fff;
		color: var(--black);
	}
}
@media screen and (width <=749px) {
	.stickyTabBox {
		scroll-margin-top: 55px;
	}
	.tabListBox {
		margin-bottom: var(--comp-40);
		padding-bottom: var(--comp-40);
		top: 55px;
	}
	.tabList {
		width: calc(100% - var(--comp-20) - var(--comp-20));
		gap: var(--comp-10);
	}
	.tabList li button {
		font-size: var(--comp-24);
		padding: var(--comp-20) var(--comp-15);
	}
	.tabList li button.active {
		background-color: #fff;
		color: var(--black);
		position: relative;
	}
	.tabList li button.active::after {
		content: "";
		height: 3px;
		width: 100%;
		background-color: #fff;
		position: absolute;
		bottom: -2px;
		left: 0;
	}
}
/*-- img --*/

.imgFlexBox {
	display: flex;
	width: var(--small-content-width);
	margin: 0 auto;
	gap: 40px;
}
.imgFlexBox figure {
	margin: 0 !important;
}
.imgFlexBox figure figcaption {
	font-size: 14px;
	margin-top: 20px;
	line-height: 1.75;
}
.secondSimpleSection figure {
	margin: 60px auto;
}
.secondSimpleSection figure:last-child {
	margin-bottom: 0;
}
.secondSimpleSection figure:first-child {
	margin-top: 0;
}
@media screen and (width <=749px) {
	.imgFlexBox {
		flex-wrap: wrap;
		width: var(--small-content-width-sp);
		gap: var(--comp-40);
	}
	.imgFlexBox figure {
		width: 100%;
		margin: 0;
	}
	.imgFlexBox figure figcaption {
		font-size: var(--comp-24);
		margin-top: var(--comp-20);
	}
}
/*-- train_bus --*/

.transferList {
	display: flex;
	width: var(--small-content-width);
	margin: 0 auto;
}
.transferList .station {
	background-color: #656667;;
	border: 2px solid #808080;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 500;
	padding: 0 10px;
	text-align: center;
	min-height: 120px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.transferList .end {
	box-sizing: border-box;
	width: 120px;
	border-radius: 10px;a
	font-size: 14px;
	font-weight: 700;
	padding: 30px 10px;
	color: #fff;
	background-color: var(--black);
	text-align: center;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	min-height: 120px;
	box-sizing: border-box;
}
.transferList .time {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
}
.transferList .time::before {
	content: "";
	display: block;
	width: 100%;
	order: 2;
	box-sizing: border-box;
}
.transferList .time.kintetsu::before {
	background-color: #003399;
	height: 8px;
}
.transferList .time.kansai::before {
	background-color: #ff3300;
	height: 8px;
}
.transferList .time.ise::before {
	background-color: #fba100;
	height: 8px;
}
.transferList .time.other {
	box-sizing: border-box;
	padding: 0 5px;
}
.transferList .time.other::before {
	border-bottom: 8px dotted #808080;
	height: 0;
}
.transferList .time>span {
	width: 100%;
	height: calc((100% - 8px) / 2);
	display: flex;
	box-sizing: border-box;
	flex-direction: row;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	justify-content: center;
	letter-spacing: 0.05em;
}
.transferList .time>span:nth-of-type(1) {
	align-items: flex-end;
	padding-bottom: 10px;
	order: 1;
}
.transferList .time>span:nth-of-type(2) {
	align-items: flex-start;
	padding-top: 10px;
	order: 3;
}
.transferList .time:has(> span:only-of-type)::after {
	content: "";
	display: block;
	height: calc((100% - 8px) / 2);
	width: 100%;
	order: 3;
}
.transferList .time.other .innerOther {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.transferList .time.other>span .icon {
	display: inline-block;
	aspect-ratio: 44 / 38;
	width: 44px;
}
@media screen and (width > 749px) {
	.transferList li.w132 {
		width: 112px;
	}
	.transferList li.w160 {
		width: 120px;
	}
	.transferList li.w200 {
		width: 120px;
	}
	.transferList li.w258 {
		width: 200px;
	}
	.transferList li.w378 {
		width: 250px;
	}
}
@media screen and (width <=749px) {
	.transferList {
		flex-wrap: wrap;
		width: var(--small-content-width-sp);
	}
	.transferList .station {
		border-radius: var(--comp-10);
		font-size: var(--comp-27);
		padding: var(--comp-25);
		min-height: 0;
		width: 100%;
	}
	.transferList .end {
		width: 100%;
		border-radius: var(--comp-10);
		font-size: var(--comp-27);
		padding: var(--comp-25);
		color: #fff;
		min-height: 0;
	}
	.transferList .time {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
		width: 100%;
		box-sizing: border-box;
		padding: var(--comp-60) var(--comp-75);
	}
	.transferList .time::before {
		content: "";
		display: block;
		width: var(--comp-12);
		position: absolute;
		left: var(--comp-30);
		top: 0;
	}
	.transferList .time.kintetsu::before {
		background-color: #003399;
		height: 100%;
	}
	.transferList .time.kansai::before {
		background-color: #ff3300;
		height: 100%;
	}
	.transferList .time.ise::before {
		background-color: #fba100;
		height: 100%;
	}
	.transferList .time.other {
		box-sizing: border-box;
		padding: var(--comp-40) var(--comp-75);
	}
	.transferList .time.other::before {
		border: none;
		height: 100%;
		width: var(--comp-12);
		top: 0;
		background-image: radial-gradient(circle, #808080 40%, transparent 40%);
		background-size: var(--comp-12) var(--comp-30);
		background-repeat: repeat-y;
		background-position: center center;
	}
	.transferList .time>span {
		width: 100%;
		height: auto;
		display: flex;
		flex-direction: row;
		font-size: var(--comp-24);
	}
	.transferList .time:not(.other)>span {
		display: block;
		padding: 0;
	}
	.transferList .time>span:nth-of-type(1) {
		align-items: flex-end;
		padding-bottom: 0;
		order: 1;
	}
	.transferList .time>span:nth-of-type(2) {
		align-items: flex-start;
		padding-top: var(--comp-20);
		order: 3;
	}
	.transferList .time:has(> span:only-of-type)::after {
		content: none;
	}
	.transferList .time.other .innerOther {
		padding: 0;
		width: 100%;
		gap: var(--comp-10);
	}
	.transferList .time.other>span .icon {
		width: var(--comp-66);
	}
	.transferList .time {
		min-height: var(--comp-160);
	}
	.transferList:has( > .time.other > span:nth-of-type(2)) .time {
		min-height: var(--comp-220);
	}
}
.transferList li {
	margin: 0px 0px 0px 0px;
}
.map-tab-menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px solid #333;
	margin: 0px 0px 20px 0px;
}
.map-tab-menu .tab-base {
	box-sizing: border-box;
	width: calc(33.3% - 20px);
	margin: 0px 6px 0px 6px;
	color: #fff;
	background-color: #333;
	line-height: 1;
	padding: 14px 4px 14px 4px;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	cursor: pointer;
}
.map-tab-menu .tab-base.open {
	background-color: #fff;
	color: #333;
}