﻿@charset "UTF-8";
/*
 * ==========================================================================
 *
 * ベースレイアウトCSS
 *
 * ==========================================================================
 */
/**
 * ---------------------------------------------------
 * Web font setting
 * ---------------------------------------------------
 */
@font-face {
	font-family: 'NotoSanMed';
	src: url('../fonts/NotoSansJP-Medium.woff') format('woff')
		,url('../fonts/NotoSansJP-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'NotoSanReg';
	src: url('../fonts/NotoSansJP-Regular.woff') format('woff')
		,url('../fonts/NotoSansJP-Regular.ttf') format('truetype');
}
@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/YakuHanJP-Regular.eot");
	src: url("../fonts/YakuHanJP-Regular.woff") format("woff");
}
@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/YakuHanJP-Medium.eot");
	src: url("../fonts/YakuHanJP-Medium.woff") format("woff");
}
/**
 * ---------------------------------------------------
 * reset
 * ---------------------------------------------------
 */
* {
	margin : 0;
	padding : 0;	
}
article, aside, details, figcaption, figure,
footer, header, hgroup, nav, section, summary {
	display: block;
}
/**
 * ---------------------------------------------------
 * img
 * ---------------------------------------------------
 */
img { border: none; }
/**
 * ---------------------------------------------------
 * default
 * ---------------------------------------------------
 */
h1, h2, h3, h4, h5, h6, caption {
	font-weight: normal;
	font-size: 100%;
}

a { outline: none; }

address { font-style: normal; }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption { text-align: left; }

fieldset { border: none; }

legend { display:none; }

input[type=radio],
input[type=checkbox],
select {
	vertical-align: middle;
}
*, *::before, *::after {
	-webkit-box-sizing: border-box;
		-ms-box-sizing: border-box;
		 -o-box-sizing: border-box;
			box-sizing: border-box;
}
/**
 * ---------------------------------------------------
 * link
 * ---------------------------------------------------
 */
a {
	/*color: #231815;*/
	color: #142E60;
	text-decoration:underline;
}
a:link {
	color: #142E60;
	text-decoration:underline;
}

a:visited {
	color: #142E60;
	text-decoration:underline;
}

a:hover {
	color: #231815;
	text-decoration: underline;
}

a:active {
	color: #231815;
	text-decoration: none;
}

/**
 * ---------------------------------------------------
 * body
 * ---------------------------------------------------
 */
body {
/*	line-height: 1.6;*/
	line-height: 1.7;
	font-size: 1rem;
	font-family:
	YakuHanJP, Arial,
	"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
	'NotoSanReg',
	"メイリオ", Meiryo,
	"ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	color:#333;
	width: 100%;
	background: #FFFFFF;
	position: relative;
	min-width: 1140px;
}
/**
 * ---------------------------------------------------
 * wrapper
 * ---------------------------------------------------
 */
#wrapper {
	width: 100%;
	position: relative;
	overflow: hidden;
}
/**
 * ---------------------------------------------------
 * header
 * ---------------------------------------------------
 */
header {
	background : #ffffff;	
}

	header p{
		line-height:1;
	}

#header-logo img {
	width : 550px;
	margin:0 0 0 20px;
}

#header-area {
	width : 1140px;
	margin-left : auto;
	margin-right : auto;
	padding : 25px 0;
	display:flex;
	justify-content: space-between;
}

#bp-logo {
	width:200px;
	
}
/**
 * ---------------------------------------------------
 * visual
 * ---------------------------------------------------
 */ 
#sub-visual {
	background: #00a496;
	background: -moz-linear-gradient(top, #00a496 0%, #0058a9 100%);
	background: -webkit-linear-gradient(top, #00a496 0%,#0058a9 100%);
	background: linear-gradient(to bottom, #00a496 0%,#0058a9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a496', endColorstr='#0058a9',GradientType=0 );	
}

#sub-visual {
	position: relative;
	min-width: 980px;
	height: 260px;
	overflow: hidden;
}

#sub-visual img {
	position: absolute;
	left: 50%;
	top: 0;
	margin: 0 0 0 -950px;
}

.visual-inner {
	position : absolute;
	height : 100%;
	width : 100%;

	background : rgba(0,0,0,.0);

	display:table;
}

.visual-inner .txt {
	color : #ffffff;

	display:table-cell;
	vertical-align : middle;
	line-height : 1.6;
	
}

.visual-inner .txt > * {


	text-shadow:1px 1px 4px #000000;
	text-align:center;
}

.visual-inner .txt h1 {
	font-size : 210%;
	font-weight:bold;
	line-height : 1.7;
	letter-spacing : 1px;
}

.visual-inner .txt h1 span {
	letter-spacing : 0;	
}

#sub-visual .visual-inner .txt h2 {
	font-size : 180%;
}

.visual-inner .txt p {
	line-height : 2;
}
/**
 * ---------------------------------------------------
 * content
 * ---------------------------------------------------
 */ 
 
.inner {
	width:980px;
	margin:0 auto;
	padding:100px 0;
}


/*
一括色変更
*/

.title{
	background : #a6e189;
}

.bg01 {
	background : #015eac;
	color : #ffffff;
}

.bg02 {
	background : #ecffe2;	
}

.icon {
	background : #005f98;
	color : #ffffff;
	letter-spacing : 2px;
	display:inline-block;
	padding : 5px 10px 4px;
	font-size : 105%;
}


/* manarea
-------------------------------------------------------*/
.h2title {
    position: relative;
	font-size:160%;
	padding:0 0 20px 0;
	margin:70px 0 30px 0;
    line-height: 1.3;
    border-bottom: 3px solid #e9e9e9;
}
	.h2title:before {
		position: absolute;
		bottom: -3px;
		left: 0;
		content: "";
		width: 80px;
		height: 3px;
		background-color: #015eac;
	}


.h3title {
	font-size : 120%;
	font-weight:bold;
	color:#015eac;
	line-height : 1.6;
	margin:30px 0 10px 0;
}


.h4title {
	font-size : 110%;
	line-height : 1.8;
	color : #015eac;
	padding-bottom : 10px;
	border-bottom : 2px solid #999;
	position : relative;
}


.h4title:after {
	content : "";
	position : absolute;
	bottom : -2px;
	left : 0;
	width : 40px;
	border-bottom : 2px solid #005f98;	
}

p {
	line-height : 1.8;	
}

th .bg01 {
	text-align : center;
	padding : 5px 0;
	width : 6em;
	font-size : 100%;
	font-weight : bold;
}

.btn {
	width : 420px;
	color : #ffffff;
	margin-left : auto;
	margin-right : auto;
	box-shadow:0px 0px 7px -1px #cccccc;
	-moz-box-shadow:0px 0px 7px -1px #cccccc;
	-webkit-box-shadow:0px 0px 7px -1px #cccccc;	

}

.btn a {
	display : block;
	padding : 20px 0;
	font-size : 120%;
	text-align:center;
	text-decoration:none;
	background : #be262a;
	color : #ffffff;
	letter-spacing : 1px;
	border-radius : 5px;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
	    transition: all .3s ease;	
		
}

.btn a:hover {
	opacity : .6;		
}



/**
 * ---------------------------------------------------
 * topInfoTable
 * ---------------------------------------------------
 */

.topInfoTable {
	margin:50px 0;
}

.topInfoTable th,td {
	padding:10px 0;
}

.topInfoTable th {
	font-weight:normal;
	padding-right:20px;
	line-height:1;
}

.topInfoTable th .blockTitle {
	background:#015eac;
	color:#fff;
	width:120px;
	display:block;
	padding:10px 0;
}
/**
 * ---------------------------------------------------
 * topPdfInfo
 * ---------------------------------------------------
 */
.topPdfInfo {
	background:#f5f5f5;
	padding:30px 0 40px;
}

.topPdfInfoTitle {
	text-align:center;
	font-size:110%;
	margin:0 0 20px 0;
}

/**
 * ---------------------------------------------------
 * footer
 * ---------------------------------------------------
 */ 
#footer {
	background : #666666;
	text-align:center;
	color:#ffffff;
}
#footer-inner {
	width:1140px;
	margin:0 auto;
	padding:20px;
}
	

.tel-link a {
	color:#000;
	text-decoration:none;
}


.pc-none {
	display : none;
}

/**
 ****************************************************
 *
 * screens smaller than 640
 *
 ****************************************************
 */
@media only screen and (max-width: 640px) {
/**
 * ---------------------------------------------------
 * body
 * ---------------------------------------------------
 */
body {
		min-width : 320px;
		font-size : 75%;
	}
/**
 * ---------------------------------------------------
 * header
 * ---------------------------------------------------
 */
#header-area {
	padding : 5px 0;	
}
#header-logo img {
	width : 225px;
	margin:10px;	
}
#header-area , #wrapper {
	width : 100%;	
}

#bp-logo {
	width:100px;
	margin:5px 10px;
}
/**
 * ---------------------------------------------------
 * visual
 * ---------------------------------------------------
 */	
#sub-visual {
	position: relative;
	min-width: 320px;
	height: 140px;
	overflow: hidden;

}
/**
 * ---------------------------------------------------
 * content
 * ---------------------------------------------------
 */ 
	.inner {
		width:90%;
		padding:40px 0;
	}

	.ml25 , .ml50 , .ml75 ,.mlr20 , .mlr25 {
		margin-left: 0!important;
		margin-right : 0!important;
	}
	
.h2title {
	font-size:120%;
	padding:0 0 10px 0;
	margin:40px 0 20px 0;
}
	.h2title:before {
		position: absolute;
		bottom: -3px;
		left: 0;
		content: "";
		width: 80px;
		height: 3px;
		background-color: #015eac;
	}
	
	.h3title {
		font-size : 110%;
		margin:20px 0 5px 0;
	}
	.h4title {
		font-size : 105%;
	}
	
	.fl , fr {
		float : none;
		width : auto;
	}
	
	img {
		width : 100%;
		max-width : 310px;
	}

	.visual-inner .txt h1 {
	font-size : 130%;
	letter-spacing : 1px;
	}
	
	.btn {
		width : 80%;
		margin-left : auto;
		margin-right : auto;	
	}
	

/* 地図 */

.place {
	display : block;

}

.place > div:first-child {
	width : 100%;	
}

.place > div:last-child {
	width : 100%;
	margin-top : 15px;
	text-align:center;
}

.day-txt {
	font-size : 120%;	
}

.place-txt {
	font-size : 110%;	
}

/* スマホの時は非表示 */

.sp-none {
	display : none;	
}
.pc-none {
	display : block;
}

/* tableのはみ出した分をスライドバーを出す */

.table-wrapper {
	width: 100%;
	overflow-y: hidden;
	overflow-x: auto;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	-webkit-overflow-scrolling: touch;	
}
/**
 * ---------------------------------------------------
 * topInfoTable
 * ---------------------------------------------------
 */

.topInfoTable {
	margin:30px 0;
}
.topInfoTable th {
	padding-right:10px;
}

.topInfoTable th .blockTitle {
	width:76px;
}
/**
 * ---------------------------------------------------
 * topPdfInfo
 * ---------------------------------------------------
 */
.topPdfInfo {
	padding:20px 0 30px;
}

.topPdfInfoTitle {
	font-size:110%;
	margin:0 0 20px 0;
}

/**
 * ---------------------------------------------------
 * footer
 * ---------------------------------------------------
 */ 
#footer {
}
#footer-inner {
	width:95%;
	padding:10px 0;
}
	
}