@charset "utf-8";

/* =============================================================================
   common
   ========================================================================== */

/* Typography */
html {
	font-size: calc(14.5px + (20 - 14.5) * (100vw - 375px) / (999 - 375));
	color: #231815;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media (max-width: 375px) {
	html {
		font-size: 14.5px;
	}
}
@media (min-width: 999px) {
	html {
		font-size: 20px;
	}
}

@media only screen and (max-width: 767px) {
	/*html {
		font-family: 'Helvetica Neue', Arial, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Hiragino Sans', Meiryo, sans-serif;
	}*/
}

.eng { font-family: 'Lora', serif;}

body.is-lock { overflow: hidden;}

b, strong { font-weight : bold;}

/*
b, strong, .bold,
h1, h2, h3, h4, h5, h6 {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
	font-weight: bold;
}
*/

h1,h2,h3 { line-height:1.3em; margin:0.5em 0 0.5em 0; letter-spacing:0.02em;}
h4,h5 { line-height:1.7em; margin:0.5em 0 0.5em 0; letter-spacing:0.04em;}
/*
h1 { font-size: 1.4em; margin-top: 0;}
h2 { font-size: 1.35em;}
h3 { font-size: 1.3em;}
h4 { font-size: 1.2em;}
h5 { font-size: 1.0em;}
*/

p,dt,dd,li,th,td,caption{ font-size:1em; line-height:1.75em; letter-spacing:0.04em;}

p { padding:0.5em 0;}

a { color: #003366; text-decoration:none; transition: all 0.1s linear;}
a:hover { color:#007ad0; text-decoration:underline;}
/*
a:focus { color:#007ac7; }
*/
a.underline {
	color: #003366;
	text-decoration: underline;
}
a.underline:hover {
	text-decoration: none;
}

a.imgOver:hover img{
	zoom: 1;  
    opacity: .50;
    filter: alpha( opacity=50 );
    -ms-filter: "alpha(opacity=50)";
    -khtml-opacity: .50;
    -moz-opacity: .50;
}
a.bgOver:hover {
	zoom: 1;  
    opacity: .50;
    filter: alpha( opacity=50 );
    -ms-filter: "alpha(opacity=50)";
    -khtml-opacity: .50;
    -moz-opacity: .50;
}
@media only screen and (max-width: 767px) {
	a.imgOver:hover img{
		zoom: 1;  
		opacity: 1;
		filter: alpha( opacity=100 );
		-ms-filter: "alpha(opacity=100)";
		-khtml-opacity: 1;
		-moz-opacity: 1;
	}
	a.bgOver:hover {
		zoom: 1;  
		opacity: 1;
		filter: alpha( opacity=100 );
		-ms-filter: "alpha(opacity=100)";
		-khtml-opacity: 1;
		-moz-opacity: 1;
	}
}

ul,ol { padding:0.5em 0 0.5em 4.0%;}
/*横並び時の隙間リセット*/
ul { letter-spacing: -0.4em;}
ul li { letter-spacing: 0.05em;}
ol { list-style:decimal;}
ol li {}

ul.release { margin: 0; padding: 0; list-style: none;}

dl { padding:0 0 0.5em 0;}
dt {}
dd { margin-left:0;}
@media only screen and (max-width: 767px) {
	ul,ol { padding:0.5em 0 0.5em 10%;}
}

hr { background-color: #ddd; border: 0; clear:both;	height: 1px; margin:2em 1em 3em 1em;}

.video-container { position:relative; margin:0 0 0.5em 0; padding-bottom: 56.25%; padding-top:30px; height:0; overflow:hidden;}
.video-container iframe,
.video-container object,
.video-container embed { position:absolute; top:0; left:0; width:100%; height:100%;}


/* Tables */
/*
table.simple = スマホ時column
.scroll-table table = スマホ時横スクロール
.scroll-table table thead = この時に使う
*/
table {
    border-collapse: collapse;
    border-spacing: 0;
	overflow: auto;
	margin: 0;
	width: 100%;}
table th,
table td {
	padding: 10px 15px;}
table th {
	text-align: justify;
	text-align-last:justify;
	font-weight: normal;}
table td {
	padding-left: 30px;}
.scroll-table {}
.scroll-text {
	display: none;
	padding-top: 5px;
	padding-bottom: 15px;
	text-align: right;}
@media only screen and (max-width: 767px) {
	table th {
		white-space: nowrap;}
	table th,
	table td {
		padding: 5px 10px;}
	table td {
		padding-left: 20px;}
	.scroll-table {
		overflow: auto;
		white-space: nowrap;}
	.scroll-table::-webkit-scrollbar{
		height: 5px;}
	.scroll-table::-webkit-scrollbar-track{
		background: #F1F1F1;}
	.scroll-table::-webkit-scrollbar-thumb {
		background: #BCBCBC;}
	.scroll-text {
		display: block;}
	table.simple th,
	table.simple td{
		border: none;
		text-align:left;
		width:auto;
		display:block;}
	table.simple th {
		padding-bottom: 5px;}
	table.simple td {
		padding-left: 10px;
		padding-top: 5px;}
}


