/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) {
} /* 960- */


/* ---------------------------------------- common */

:root {
	--base-color: #000;
	--base-blue: #333398;
	--base-light-blue: #ccccff;
	--base-water: #eeffff;
	--border-color: #ccc;
	--pale-gray: #f5f5f5;
}

html { font-size: 62.5%; }
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
#container {
	max-width: 1100px;
	font-size: clamp(1.3rem, 1vw + 0.75rem, 1.6rem);
	line-height: 1.6;
	padding: 4em 20px;
	margin: 0 auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
#container .inside + .inside { margin: 4em 0 0; }
#container .detail + .detail { margin: 3em 0 0; }

#container h1 {
    color: var( --base-blue );
    border-top: solid 3px var( --base-blue );
    border-bottom: solid 3px var( --base-blue );
    text-align: center;
    font-size: clamp(1.8rem, 1vw + 1.25rem, 2.4rem);
	font-weight: bold;
	line-height: 1.5;
    padding: 0.5em 0;
	margin: 0 0 1em;
}
#container h2 {
	color: #fff;
	background: var( --base-blue );
	font-size: clamp(1.6rem, 1vw + 1rem, 2rem);
	text-align: center;
	font-weight: bold;
	padding: .5em;
	margin: 0 0 1em;
	border-radius: 4px;
}

#container p.right,
#container p.joken {
	font-size: clamp(1.2rem, 1vw + 0.75rem, 1.4rem);
	text-align: right;
	margin: 0 0 1em;
}
#container p.count {
	text-align: center;
	margin: 2em 0 1.5em;
}
#container p.return {
	text-align: center;
	margin: 0 0 1.5em;
}
#container p.return a {
	display: inline-block;
	color: var( --base-blue );
	border: 1px var( --base-blue ) solid;
	line-height: 1;
	padding: 1em 4em;
	border-radius: 8px;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#container p.return a:hover {
	background: var( --base-light-blue );
}

/* ---------------------------- ul.linklist */

ul.linklist { 
	list-style: none; 
	padding: 0;
}
ul.linklist li { margin: 0 0 1em; }
ul.linklist a { 
	display: block;
	color: var( --base-blue );
	border: 1px var( --base-blue ) solid;
	background: #fff;
	text-decoration: none; 
	line-height: 1.5;
	padding: 1em 2em 1em 1em;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	position: relative;
}
ul.linklist a::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px var( --base-blue );
	border-right: solid 2px var( --base-blue );
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -4px;
	transform: rotate(45deg);
}
ul.linklist a:hover {
	background: var( --base-water );
}

@media (min-width: 1000px) {
	ul.linklist {
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	ul.linklist li { width: 49%; }
} 

/* ---------------------------- dl.tablelist */

#container dl.tablelist {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top: 1px var( --border-color ) solid;
}
#container dl.tablelist dt,
#container dl.tablelist dd {
	border-bottom: 1px var( --border-color ) solid;
	padding: 1em;
}

@media (max-width: 767px) {
	#container dl.tablelist dt,
	#container dl.tablelist dd {
		width: 100%;
	}
	#container dl.tablelist dt {
		background: var( --pale-gray );
		text-align: center;
	}
} 

@media (min-width: 768px) {
	#container dl.tablelist dt {
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		width: 30%;
		background: var( --pale-gray );
		text-align: center;
	}
	#container dl.tablelist dd {
		width: 70%;
		text-align: left;
	}
}

/* ---------------------------- table */

#container table { 
	width: 100%; 
}
#container table th,
#container table td { 
	line-height: 1.5;
	vertical-align: middle; 
}

/* thead */
#container thead th { 
	padding: 4px;
}
#container thead th a,
#container thead th span {
	display: block;
	background: var( --base-light-blue );
	font-weight: bold;
	text-align: center;
	padding: .5em;
	border-radius: 4px;
}

#container tbody td a { color: var( --base-blue ); }
#container tbody td a:hover { text-decoration: underline; }


@media (max-width: 767px) {

	#container thead tr {
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		padding: 0 0 1em;
	}
	#container thead tr th { display: inline-block; }
	#container thead tr th { width: 50%; }
	#container thead tr th:nth-child( 3 ) { display: none; }

	#container table tbody { border-top: 1px var( --border-color ) solid; }
	#container table tbody tr { 
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		border-bottom: 1px var( --border-color ) solid;
		padding: .5em 0;
	}
	#container table tbody td { 
		display: block; 
		padding: .25em;
	}
	#container table tbody tr td:first-child { 
		width: 25%;
	}
	#container table tbody tr td:nth-child( 2 ) { 
		width: 70%; 
	}
	#container table tbody tr td:nth-child( 3 ) { 
		width: 100%; 
	}
	#container table tbody tr td:first-child::before {
		content: "No.";
	}

}

@media (min-width: 768px) {

	#container table tbody th, 
	#container table tbody td {
		border-bottom: 1px var( --border-color ) solid;
		padding: .75em .5em;
	}
	#container table tbody tr td:first-child { 
		width: 10%; 
		text-align: center;
	}
	#container table tbody tr td:nth-child( 2 ) { 
		width: 40%; 
	}

}

/* ---------------------------- kakomi */

#container .kakomi { text-align: center; }
#container .kakomi a { 
	display: inline-block;
	border: 1px var( --base-blue ) solid;
	background: #fff;
	text-decoration: none; 
	line-height: 1.5;
	padding: 1em 2em ;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	position: relative;
}
#container .kakomi a::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px var( --base-blue );
	border-right: solid 2px var( --base-blue );
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -4px;
	transform: rotate(45deg);
}
#container .kakomi a:hover {
	background: var( --base-water );
}

/* ---------------------------- contact */

#container .contact {
	background: var( --base-water );
	padding: 1em 2em;
	margin: 0 0 2em;
}
#container .caution +  ul {
	list-style-position: outside;
	padding: 0 0 0 1em;
}
#container .caution { 
	border-top: solid 2px var( --base-color );
    border-bottom: solid 2px var( --base-color );
	font-weight: bold; 
	text-align: center;
    padding: 0.5em 0;
	margin: 0 0 1.5em;
}