@charset "utf-8";
/* CSS Document */

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

@-ms-viewport
{
	width: auto !important;
	initial-scale: 1 !important;
}
@viewport
{
	width: device-width;
	initial-scale: 1;
}

html,
body {
	font-family:"Noto Sans JP" , "Hiragino Kaku Gothic ProN" , "Hiragino Kaku Gothic Pro" , メイリオ , Meiryo , sans-serif ;
	font-size: 1.4rem;
	font-weight: 500;
	-webkit-text-size-adjust: 100%;
	color:#333;
	line-height:1;
	text-align: left;
	margin:0;
	padding:0;overflow-x: hidden;
}

html {
	font-size: 62.5%; /* 基本 1rem = 1rem */
}

body{
	background: url("../imgs/shared/h_border.gif") no-repeat left top;
	background-size: 100% 3px;
}

p{
	font-size:1.3rem;
	line-height: 1.6;
	margin: 0 0 1.5rem 0;
}

ul,ol,li,dt,dd{
	font-size:1.3rem;
	line-height: 1.6;
	list-style: none;
	margin:0;
	padding:0;
}
h1,h2,h3,h4,h5{
	margin:0;
	padding:0;
}

@media (min-width: 600px) {
	p{
		font-size:1.4rem;
		line-height: 1.7;
		margin: 0 0 1.5rem 0;
	}
	li,dt,dd{
	font-size:1.4rem;
	line-height: 1.7;
	}
}

@media (min-width: 992px) {
	p{
		font-size:1.4rem;
		line-height: 1.7;
		margin: 0 0 2rem 0;
	}
	li,dt,dd{
		font-size:1.4rem;
		line-height: 1.7;
	}
}

@media (min-width: 1200px) {
	p{
		font-size:1.5rem;
		line-height: 1.7;
		margin: 0 0 2.5rem 0;
	}
	li,dt,dd{
		font-size:1.5rem;
		line-height: 1.7;
	}
}

dl,dd,dt{
	margin:0;
	padding:0;
}

p:last-child{
	/*margin-bottom:0;*/
}

ul.circle > li{	list-style:circle;}
ul.disc > li{	list-style: disc;}
ol.number > li{	list-style:decimal;}
.alpha-ol li {list-style-type: upper-alpha;}

.alpha-ol,
ul.circle,
ul.disc,
ol.number,
.dot_line{
	margin:0;
	padding:0;
}

.alpha-ol > li,
ul.circle > li,
ul.disc > li,
ol.number > li{
	margin:0 0 0 22px;
	padding:0;
}

@media (min-width: 960px) {
	.alpha-ol > li,
	ul.circle > li,
	ul.disc > li,
	ol.number > li{
		margin:0 0 0 24px;
	}
}



ol.number > li ul{
	margin:5px 0 0 28px;
}

ol.number > li li{
	list-style: disc;
}



.dot_line li{
	border-bottom: 1px dotted #ccc;
	padding-bottom: 1.2rem;
	margin-bottom: 1.2rem;
}
.dot_line li:last-child{
	border-bottom: none;
}

ul.flex.two li,
ul.flex.three li{
	width: 100%;
}

@media (min-width: 768px) {
	ul.flex.two,
	ul.flex.three{
		display: flex;
		flex-wrap: wrap;
	}
	ul.flex.two li,
	ul.flex.three li{
		width: 45%
	}
}

@media (min-width: 992px) {
	ul.flex.three li{
		width: 30%;
	}
}

/* テーブル ---------------*/

table{
	width: 100%;
    border:0;
		margin:0 auto 1rem;
    border-spacing:0;
    border-collapse:collapse;
	background-color: #fff;
}

td,th{
	border:1px solid #ddd;
	padding: 1rem;
	font-size: 1.2rem;
	line-height: 1.6;
}

th{
	text-align: center;
	background-color: #FFF4DC;
	white-space: nowrap;
}

table.font_s td,
table.font_s th{
	border:1px solid #ddd;
	padding: 1rem;
	font-size: 1.2rem;
	line-height: 1.6;
}

.scroll-x td,
.scroll-x th{
	/*white-space: nowrap;*/
}

.table_wrapper{
	margin-bottom: 2rem;
}

@media (min-width: 600px) {
	table{
	}
	td,th{
		padding: 1.2rem;
		font-size: 1.3rem;
	}
	table.font_s td,
	table.font_s th{
		padding: 1rem;
		font-size: 1.2rem;
	}
	.table_wrapper{
		margin-bottom: 3rem;
	}
}

@media (min-width: 992px) {
	td,th{
		padding: 1.6rem;
		font-size: 1.5rem;
	}
	table.font_s td,
	table.font_s th{
		padding: 1.5rem;
		font-size: 1.2rem;
	}
	.table_wrapper{
		margin-bottom: 20px;
	}

}

.bg01{
	background-color: #F6F6F6;
	text-align: center;
}
.bg02{
	background-color: #FFF0F0;
}



/* レスポンシブ用　幅小さくしてもテーブル見えるように */

.scroll-x table{
width:100%;
	min-width: 600px;
}

.scroll-x{
overflow: auto;
/*white-space: nowrap;*/
}
.scroll-x::-webkit-scrollbar{
 height: 5px;
}
.scroll-x::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll-x::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}

/*.flex{
	display:flex;
	flex-wrap: nowrap;
	justify-content: space-around;
}*/

@media (max-width: 576px) {
	.wide{
		margin-left:-2rem;
		margin-right:-2rem;
	}
}

img{
	vertical-align:bottom;
}

a img{
	opacity:1.0;
	filter: alpha(opacity=100);
	transition: 0.2s linear;
}

a,
a:link,
a:hover{
	text-decoration: none;
	color:#0a5eb9;
}

a:hover{
	text-decoration: underline;
	color:#0a5eb9;
}

a:visited{
	text-decoration: none;
	color:#194d82;
}

a:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
}

img.zoom {
  transform: scale(1);
  transition: .3s ease-in-out;
}
img.zoom:hover {
  transform: scale(1.2);
}

.anchorlink{
	margin-top:0 !important;
	padding-top:0 !important;
	display: block;
}

@media (min-width: 992px) {
	.anchorlink{
		margin-top:-90px !important;
		padding-top:90px !important;
		display: block;
	}
}

img.responsive {
	max-width: 100%;
	height: auto;
}

.movie-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 3rem;
	height: 0;
	overflow: hidden;
}

.movie-container iframe,
.movie-container object,
.movie-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*
----------------------------------*/

.m0{ margin:0 !important; }
.mb0{ margin-bottom:0 !important; }
.mb5{ margin-bottom:0.5rem !important; }
.mb10{ margin-bottom:1.0rem !important; }
.mb15{ margin-bottom:1.5rem !important; }
.mb20{ margin-bottom:2.0rem !important; }
.mb30{ margin-bottom:3.0rem !important; }
.mb40{ margin-bottom:4.0rem !important; }
.mb50{ margin-bottom:5.0rem !important; }

.mt0{ margin-top:0 !important; }
.mt5{ margin-top:0.5rem !important; }
.mt10{ margin-top:1.0rem !important; }
.mt15{ margin-top:1.5rem !important; }
.mt20{ margin-top:2.0rem !important; }
.mt30{ margin-top:3.0rem !important; }
.mt40{ margin-top:4.0rem !important; }
.mt50{ margin-top:5.0rem !important; }

.p0{ padding:0 !important; }
.pt0{padding-top:0 !important; }
.pb0{ padding-bottom:0 !important; }

@media (min-width: 768px) {
	/*pcにしか効かないマージン*/
	.pc_mb0{ margin-bottom:0 !important; }
	.pc_mb5{ margin-bottom:0.5rem !important; }
	.pc_mb10{ margin-bottom:1.0rem !important; }
	.pc_mb15{ margin-bottom:1.5rem !important; }
	.pc_mb20{ margin-bottom:2.0rem !important; }
	.pc_mb30{ margin-bottom:3.0rem !important; }
	.pc_mb40{ margin-bottom:4.0rem !important; }
	.pc_mb50{ margin-bottom:5.0rem !important; }

	.pc_mt0{ margin-top:0 !important; }
	.pc_mt5{ margin-top:0.5rem !important; }
	.pc_mt10{ margin-top:1.0rem !important; }
	.pc_mt15{ margin-top:1.5rem !important; }
	.pc_mt20{ margin-top:2.0rem !important; }
	.pc_mt30{ margin-top:3.0rem !important; }
	.pc_mt40{ margin-top:4.0rem !important; }
	.pc_mt50{ margin-top:5.0rem !important; }
}

@media (max-width: 767px) {
	/*spにしか効かないマージン*/
	.sp_mb0{ margin-bottom:0 !important; }
	.sp_mb5{ margin-bottom:0.5rem !important; }
	.sp_mb10{ margin-bottom:1.0rem !important; }
	.sp_mb15{ margin-bottom:1.5rem !important; }
	.sp_mb20{ margin-bottom:2.0rem !important; }
	.sp_mb30{ margin-bottom:3.0rem !important; }
	.sp_mb40{ margin-bottom:4.0rem !important; }
	.sp_mb50{ margin-bottom:5.0rem !important; }

	.sp_mt0{ margin-top:0 !important; }
	.sp_mt5{ margin-top:0.5rem !important; }
	.sp_mt10{ margin-top:1.0rem !important; }
	.sp_mt15{ margin-top:1.5rem !important; }
	.sp_mt20{ margin-top:2.0rem !important; }
	.sp_mt30{ margin-top:3.0rem !important; }
	.sp_mt40{ margin-top:4.0rem !important; }
	.sp_mt50{ margin-top:5.0rem !important; }
}

.margin_b_s{
	margin-bottom:2vw;
}

.margin_b_m{
	margin-bottom:3vw;
}

.margin_b_l{
	margin-bottom:5vw;
}


@media (min-width: 1200px) {
	.visible-xl {
		display: none !important; /* 1200px以上は消える */
	}
}

@media (min-width: 992px) {
	.visible-lg {
		display: none !important; /* 992px以上は消える */
	}
}

@media (min-width: 768px) {
	.visible-md {
		display: none !important; /* 768px以上は消える */
	}
}

@media (min-width: 576px) {
	.visible-sm{
		display: none !important; /* 576px以上は消える */
	}
}


@media (max-width: 576px) {
	.hidden-sp{
		display: none !important; /* 0～576pxは消える */
	}
}

@media (max-width: 767px) {
	.hidden-md{
		display: none !important; /* 0～767pxは消える */
	}
}

@media (max-width: 991px) { /*mod20200704*/
	.hidden-tb{
		display: none !important; /* 0～991pxは消える */
	}
}

@media (min-width: 992px) {
	.hidden-pc{
		display: none !important; /* 992px～は消える */
	}
}

hr {
	width: 100%;
	margin:0 auto;
	border: 0;
	border-top: transparent solid 1px;
	border-color: #e2e2e2;
}

hr.slash{
	background:url(../imgs/border.gif) repeat-x left top;
	border:0;
	height:5px;
	margin:0;
	padding:0;
	line-height:0;
}

hr.dot{
	padding:0;
	margin:0;
	border:0;
	height:0;
	border-bottom:1px dotted #D5CCC1;
}

hr.solid{
	padding:0;
	margin:0;
	border:0;
	height:0;
	border-bottom:1px solid #D5CCC1;
}

hr.wide{
	width:100%;
	max-width: 100%;
}

.fa-external-link-alt{ /* リンクがブランクの時のアイコン */
	font-size:75%;
	margin-right: 5px;
	margin-left: 5px;
	vertical-align: baseline;
	color: #666;
}

.fa-file-pdf,
.fa-file-excel,
.fa-video{
	margin-right: 7px;
	margin-left: 7px;
	vertical-align: baseline;
}

.pos{
	position: relative;
}

.note *,
.note{
	font-size:1.2rem;
}

@media (min-width: 600px) {
	.note *,
	.note{
		font-size:1.3rem;
	}
}
