@charset "utf-8";

#contants {
	padding: 0 0 100px 0;
}

.page_lower .container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0 120px 0;
}

@media (min-width: 768px) {
	
	.page_lower .container {
		width: 980px;
		margin: 0 auto;
		padding: 80px 0 0 0;
	}
}
@media (max-width: 768px) {
	
	.page_lower .container {
		width: auto;
		margin: 0 25px;
		padding: 0;
	}
}

/* トピックパス
----------------------------------------*/
.topicpath {
	margin-bottom: 1px;
	padding: 6px 15px 8px;
	font-size: 13px;
	background: #e8e8e8;
}

.topicpath-list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

.topicpath-item {
	display: inline;
	line-height: 1;
	margin: 0;
	padding: 0;
	background: none;
	font-size: 82%;
}

.topicpath-item + .topicpath-item:before {
	content: '\003e';
}

a.topicpath-link:link, a.topicpath-link:visited {
	color: #003366;
}

.topicpath-link:visited,
.topicpath-link:focus,
.topicpath-link:active {
	color: #003366;
}

@media only screen and (max-width: 767px) {
	.topicpath {
		padding: 5px 4.687%;
		font-size: 10px;
	}
	.topicpath-list {
		width: auto;
	}
}


/*
パーツ
----------------------------------------*/

		.container hr {
		  -moz-box-sizing: content-box;
		  box-sizing: content-box;
		  height: 0;
		  border: solid 1px #ccc;
		  margin: 30px 0;
		  width: auto;
		}

        .container img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        .container .responsive-img {
            width: 100%;
            max-height: auto;
            object-fit: cover;
        }

        .container h2 {
			font-size: 2em;
            border-bottom: 3px solid #003366;
            padding-bottom: 10px;
			margin-bottom: 50px;
        }
		@media (max-width: 768px) {
			.container h2 {
				font-size: 1.6em;
			}
		}
        .container h3 {
			font-size: 1.4em;
			order: 1px 1px 3px 1px solid #003366;
			border-bottom-width: 1px;
			border-bottom-style: solid;
			border-bottom-color: rgb(0, 48, 152);
			border-bottom: 2px solid #003366;
			padding: 8px 20px 6px;
        }
		@media (max-width: 768px) {
			.container h3 {
				font-size: 1.2em;
				padding: 5px 12px 5px;
			}
		}
        .container h4 {
			font-size: 1.2em;
			color: #FFF;
			background: #003366;
			padding: 8px 20px 6px;
        }
		@media (max-width: 768px) {
			.container h4 {
				font-size: 1.1em;
				padding: 6px 15px 5px;
			}
		}
        .container h5 {
			font-size: 1em;
			color: #003366;
			border: 1px solid #003366;
			padding: 4px 20px 3px;
			border-radius: 50px;
        }

        .container table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }
        .container th, td {
            border-bottom: 1px solid #d2d2d2;
            padding: 10px;
            text-align: left;
        }
        .container th {
            color: #1c1c1c;
			width: 20%;
        }

		.table-container {
			width: 100%;
			overflow-x: auto;
			position: relative;
			margin-top: 10px;
			white-space: nowrap;
		}

		.scroll-info {
			display: block;
			position: absolute;
    		top: -25px;
			right: 10px;
			font-size: 12px;
			color: #666;
			background: rgba(255, 255, 255, 0.8);
			padding: 3px 8px;
			border-radius: 5px;
			box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
		}

		@media (max-width: 768px) {
			.scroll-info {
				display: contents;
			}
		}

        .section-title {
			display: flex;
            font-weight: bold;
			border: solid 1px #0052B4;
            background-color: #FFF;
			color: #0052B4;
            padding: 10px 20px;
            margin-top: 20px;
        }
		.container .gmap {
			position: relative;
			width: 100%;
			padding-top: 56.25%;
			/* 16:9のアスペクト比 */
			height: 0;
		}

		.container .gmap iframe {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}
        .container .box {
			width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 20px;
            margin-top: 10px;
        }
        .container .box div {
            flex: 1;
            min-width: 45%;
        }

        @media (max-width: 768px) {
            .container .box {      
				width: 100%;
				display: block;
            }
        }


/*
カラム
----------------------------------------*/
        .two-column {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
        }
        .three-column {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }
        @media (max-width: 768px) {
            .two-column, .three-column {
                grid-template-columns: 1fr;
            }
        }


/*
マージン
----------------------------------------*/
.mb-10 {margin-bottom: 10px;}
.mb-15 {margin-bottom: 15px;}
.mb-20 {margin-bottom: 20px;}
.mb-30 {margin-bottom: 30px;}
.mb-40 {margin-bottom: 40px;}
.mb-50 {margin-bottom: 50px;}
.mb-60 {margin-bottom: 60px;}









