@charset "UTF-8";

/* リセット
----------------------------------------*/
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, table, th, td, button {
    margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
* { 
margin: 0px; 
padding: 0px; 
}

img {
	border: 0;
}

ol ,
ul {
	list-style: none;
}
a{
	text-decoration: none;
	color:#333;
}
a:hover{
	text-decoration:underline;
}
a:hover img{
	opacity: 0.8;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* フォント
----------------------------------------*/
@font-face{
	font-display:swap;
	font-family:'NotoSans_L';
	font-style:normal;
	src:url(../../font/NotoSansCJKjp-Light.woff2) format('woff2'),
		url(../../font/NotoSansCJKjp-Light.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSans_R';
	font-style:normal;
	src:url(../../font/NotoSansCJKjp-Regular.woff2) format('woff2'),
		url(../../font/NotoSansCJKjp-Regular.woff) format('woff');
}
@font-face{
	font-display:swap;
	font-family:'NotoSerif_R';
	font-style:normal;
	src:url(../../font/NotoSerifCJKjp-Regular.woff2) format('woff2'),
		url(../../font/NotoSerifCJKjp-Regular.woff) format('woff');
}
body{
	font-size:16px;
	min-width: 100%;
	margin:0;
	padding:0;
	box-sizing: border-box;
	font-family:'NotoSerif_R';
	color:#333;
}
a.link{
	display: block;
	width:290px;
	border:2px solid #000;
	text-align: center;
	color:#000;
	padding:5px 0;
	margin:5px auto 10px auto;
}
a.link:hover{
	text-decoration: none;
	opacity: 0.8;
}
a.link img{
	width:auto;
	margin-right:5px;
}
a.link2{
	display: block;
	width:295px;
	border:2px solid #000;
	text-align: center;
	color:#fff;
	padding:5px 0;
	background: #000;
}
a.link2:hover{
	text-decoration: none;
	opacity: 0.8;
}
a.link3{
	display: block;
	width:290px;
	border:2px solid #000;
	text-align: center;
	color:#000;
	padding:5px 0;
	margin:5px auto 10px auto;
}
a.link3:hover{
	text-decoration: none;
	opacity: 0.8;
}
/*----------------------------- 
			ヘッダー
----------------------------- */

h1{
	display: none;
}
#header{

	background:url(../../images/base/header_bg.png) no-repeat center center;
	width:100%;
	background-size: cover;
	height:0;
	padding-top:58.5%;
}
#header img.menu,#header_top img.logo_s{
	display: none;
}
#header.thin {
	position: fixed;
	width: 100%;
	height: 60px;
	background: #fff;
	padding:0;
	z-index: 999;
}
#header.thin h2, #header.thin h3{
	display: none;
}
#header.thin img.logo,img.logo_s{
	display: none;
}
#header.thin img.logo_s,#global img.logo_s{
	position: absolute;
	width:100px;
	display: block;
	margin:0 auto;
	top:5px;
	left:0;
	right:0;
}
#header.thin img.menu,#global img.menu{
	display: block;
	position: absolute;
	width:30px;
	top:13px;
	right:10px;
}
#header img.logo{
	position: absolute;
	margin-right:60px;
	top:1%;
	left:3%;
	width:36%;
	max-width: 288px;
}
#header h2{
	position: absolute;
	top:2%;
	left:43%;
	color:#a42628;
	font-size:18px;
}
#header h3{
	position: absolute;
	color:#000;
	font-size:28px;
	top:8%;
	left:43%;
}

/*----------------------------- 
	gナビ
----------------------------- */
header nav{
	display: none;
}


/*----------------------------- 
	コンテンツ
----------------------------- */

hr.h_border{
	padding-top:65px;
	clear:both;
	border:0;
	border-bottom:1px solid #ccc;
}

h2.line01{
	color:#000;
	text-align: center;
	font-size:26px;
	font-weight: normal;
	margin-bottom:30px;
}
h3.line02{
	width:100%;
	position: relative;
	display: block;
	text-align: center;
	font-size:18px;
	color:#000;
	font-weight: normal;
	margin-bottom:40px;
}
h3.line02:before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;/*線の上下位置*/
	display: inline-block;
	width: 65px;/*線の長さ*/
	height: 3px;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);/*位置調整*/
	background-color: black;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}

h4.kakomi{
	text-align: center;
	border:1px solid #000;
	padding:7px 10px;
	display: block;
	margin:20px 0 20px 10px;
	font-family: "NotoSans_R";
}
h4.kakomi2{
	text-align: center;
	width:310px;
	border:1px solid #000;
	padding:7px 10px;
	display: block;
	margin:20px 0 20px 0;
	font-family: "NotoSans_R";
}
h4.min{
	margin-top:15px;
	font-family:'NotoSerif_R';
	font-size:20px;
	margin-bottom:20px;
}

#content{
	width:96%;
	margin:20px auto;
}
#content p{
	margin-bottom:15px;
	font-family: "NotoSans_L";
	font-size:15px;
}
#content iframe{
	width:100%;
	height:auto;
}
.mincho{
	font-family: "NotoSerif_R"!important;
}

/*----------------------------- 
	サイドメニュー
----------------------------- */

ul.side_menu{
	width:96%;
	margin:0 auto 20px auto;
}
ul.side_menu li{
	border-bottom:dashed 1px #666;
	background: url("../../images/base/link.png")no-repeat 20px center;
	
	font-size:16px;
}
ul.side_menu li:first-child{
	border-bottom:2px solid #000;
	background: none;
	padding:15px 0 15px 15px;
	font-size:18px;
	font-weight: bold;
}
ul.side_menu li a{
	display: block;
	padding:15px 0 15px 40px;
}
ul.side_menu li a:hover{
	background:#faf9f9 url("../../images/base/link.png")no-repeat 20px center;
	text-decoration: none;
}

/*----------------------------- 
	フッター
----------------------------- */
.kanren{
	background: url("../../images/base/footer_bn.png");
	padding:40px 0 50px 0;
	margin-top:50px;
}
.kanren div.w740{
	width:96%;
	margin:0 auto;
	text-align: center;
	font-size:15px;
}
.kanren h3{
	width:100%;
	position: relative;
	display: block;
	text-align: center;
	font-size:22px;
	color:#000;
	font-weight: normal;
	margin-bottom:70px;
}
.kanren h3::before{
	content: '';
	position: absolute;
	left: 50%;
	bottom: -15px;/*線の上下位置*/
	display: inline-block;
	width: 65px;/*線の長さ*/
	height: 3px;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);/*位置調整*/
	background-color: black;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}
.link_box{
	width:100%;
	text-align: center;
	margin-bottom:20px;
}
.link_box img{
	max-width: 356px;
}
footer{
	background: #000;
	text-align: center;
	padding:30px 0 0 0;
	color:#fff;
	font-size:16px;
	line-height: 200%;
}
footer img.f_logo{
	width:80%;
	max-width: 384px;
	
}
.copyright{
	background: #fff;
	padding:7px 0;
	text-align: center;
	font-size:12px;
	color:#666666;
	margin-top:20px;
}
#global {
	z-index: 999;
	width: 300px;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;
	background: #FFF;
	overflow-y: auto;
}
#global{
	transition: all 0.5s ease
}
#global ul.sp_menu{
	margin-top:100px;
	margin-bottom:20px;
}
#global ul.sp_menu li{
	background: url("../../images/base/g_nav.png")no-repeat 20px center ;
	padding:10px 40px;
	border-bottom:1px solid #f2f2f2;
}
#global input{
	display: block;
	width:200px;
	height:40px;
	margin:10px auto;
}