@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 1em;
}

body {
	font-size: 62.5%;
}

body,
table,
input, textarea, select, option {
	  font-family: 'Noto Sans Japanese';
}

@media all and (-ms-high-contrast:none){
	body,
	table,
	input, textarea, select, option {
		 font-family: 'Noto Sans Japanese';
	}
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a:link {
	color: #1B7EB5;
	text-decoration: none;
}

a:visited {
	color: #1B7EB5;
	text-decoration: none;
}

a:hover {
	color: #1B7EB5;
	text-decoration: underline;
}

a:active {
	color: #1B7EB5;
	text-decoration: underline;
}

/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの大きさ（プラス） */
.fsP1 { font-size: 1.08em !important; }
.fsP2 { font-size: 1.16em !important; }
.fsP3 { font-size: 1.24em !important; }
.fsP4 { font-size: 1.32em !important; }
.fsP5 { font-size: 1.4em !important; }

/* フォントの大きさ（マイナス） */
.fsM1 { font-size: 0.92em !important; }
.fsM2 { font-size: 0.84em !important; }
.fsM3 { font-size: 0.76em !important; }
.fsM4 { font-size: 0.68em !important; }
.fsM5 { font-size: 0.6em !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	微調整用クラス（※多用しないこと）
------------------------------------------------------------*/
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1000px;
	color: #231815;
	text-align: center;
	font-size: 19px;
	line-height: 1.63;
	background-color: #FFF;
}

#container{
	margin: 0 auto;
	width: 1000px;
	text-align: left;
}

	* html #main {
		zoom: 1;
	}

	*+html #main {
		zoom: 1;
	}

#main {
	margin-bottom: 119px;
}

#main:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header {
	position: relative;
	text-align: center;
}

#header .logo {
	position: absolute;
	top: 0;
	left: 0;
	width: 143px;
	height: 98px;
}

#header ul {
	margin: 2px 56px 6px;
	text-align: left;
	line-height: 1;
}

#header ul li {
	display: inline-block;
	font-size: 12px;
	color: #595757;
	font-weight: 300;
}

#header ul li a {
	margin-right: 2px;
	color: #595757;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
	padding: 39px 0 13px;
	position: relative;
	text-align: center;
	border-bottom: 8px solid #A52E2A;
	background: url(../img/f_bg.jpg) repeat-y center top;
}

#footer .pageTop {
	display: none;
	position: fixed;
	right: 15px;
	bottom: 15px;
}
/*
#footer .pageTop {
	display: none;
	margin-right: -446px;
	position: absolute;
	right: 50%;
	bottom: 238px;
}

#footer .pageTop.fix {
	position: fixed;
	bottom: 20px;
}*/

#footer .pageTop a:hover img {
	opacity: 0.7;
}

#footer ul {
	margin-bottom: 21px;
}

#footer li {
	margin: 0 35px 0 65px;
	display: inline-block;
	font-size: 17px;
	font-weight: bold;
	vertical-align: top;
}

#footer li a {
	color: #000;
}

#footer p {
	font-size: 12px;
	font-weight: bold;
}

/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
#main .comLink {
	text-align: center;
}

#main .comLink a:hover img {
	opacity: 0.7;
}

/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
.news {
    position: relative;
	margin-bottom: -1px;
}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: absolute;
    top: 68%;
    left: 30%;
}

.btn a:hover img {
  opacity: 0.8;
  filter: btn(opacity=80);
  -ms-filter: "brn(opacity=80)";
}

#main .topBox {
	margin-bottom: 71px;
	padding: 23px 0 0;
	min-height: 324px;
	background: url(../img/top_box_bg.jpg) no-repeat center top;
	background-size: cover;
}

#main .topBox ul {
	margin: 0 auto;
	width: 650px;
}

#main .topBox li {
	margin-right: -30px;
	padding: 0 0 16px 18px;
	font-weight: bold;
	line-height: 1.47;
	font-size: 23px;
	letter-spacing: -1.4px;
	background: url(../img/icon01.png) no-repeat left 10px;
}

#main .topBox li span {
	display: block;
	text-align: right;
}

#main .sec01 {
	margin-bottom: 57px;
	padding: 0 63px;
	overflow: hidden;
}

#main .sec01 .textImg01 {
	margin: 0 -63px 102px;
}

#main .sec01 .videoBox01 {
	margin: 0 auto 118px;
	width: 710px;
	height: 401px;
}

#main .videoTxt {
	margin-top: 5px;
	font-size: 14px;
	text-align: center;
	opacity: 0.6;
}

#main .sec01 .txtBox01 {
	margin: 0 -63px 16px;
	padding: 0 63px 57px 174px;
	background: url(../img/sec01_bg01.png) no-repeat 6px bottom;
}

#main .sec01 .txtBox01 .title {
	margin-bottom: 37px;
	position: relative;
}

#main .sec01 .txtBox01 .title:before {
	width: 177px;
	height: 180px;
	background: url(../img/line01.png) no-repeat right top;
	position: absolute;
	bottom: -176px;
	left: -174px;
  
	content: ""; 
}

#main .sec01 .txtBox01 p {
	margin-bottom: 40px;
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: -0.5px;
}

#main .sec01 .txtBox01 p span {
	font-weight: bold;
}

#main .sec01 .txtBox01 .link {
	color: #231815;
	font-weight: bold;
	text-decoration: underline;
}

#main .sec01 .txtBox01 .link:hover {
	text-decoration: none;
}

#main .sec01 .videoBox02 {
	margin: 0 auto 118px;
	width: 564px;
	height: 319px;
}

#main .sec01 .txtBox02 {
}

#main .sec01 .txtBox02 .title {
	margin: 0 0 37px -4px;
}

#main .sec01 .txtBox02 .title span {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

#main .sec01 .txtBox02 .title span:before {
	width: 300px;
	height: 303px;
	background: url(../img/line02.png) no-repeat left top;
	position: absolute;
	bottom: -301px;
	right: -296px;
  
	content: ""; 
}

#main .sec01 .txtBox02 {
	margin-bottom: 60px;
}

#main .sec01 .txtBox02 p {
	width: 646px;
	font-size: 20px;
	line-height: 1.83;
	letter-spacing: -0.5px;
}

#main .sec01 .txtBox02 p span {
	font-weight: bold;
}

#main .sec01 .videoBox03 {
	margin: 0 auto 124px;
	width: 564px;
	height: 319px;
}

#main .sec01 .bgBox01 {
	margin: 0 0 51px 2px;
	padding: 0 30px 32px 63px;
	background-color: #F2F1ED;
}

#main .sec01 .bgBox01 .title {
	margin: 0 -30px 33px -63px;
}

#main .sec01 .bgBox01 li,
#main .sec01 .bgBox02 li {
	font-size: 21px;
	line-height: 2.62;
}

#main .sec01 .bgBox01 li span,
#main .sec01 .bgBox02 li span {
	font-weight: bold;
}

#main .sec01 .bgBox01 dl {
	margin: 10px 0 -13px 16px;
	font-size: 17px;
	line-height: 1.47;
	letter-spacing: -1px;
}

#main .sec01 .bgBox01 dt {
	float: left;
}

#main .sec01 .bgBox01 dd {
	padding: 33px 0 10px 353px;
	min-height: 47px;
}

#main .sec01 .bgBox01 .ddStyle {
	min-height: 39px;
}

#main .sec01 .bgBox02 {
	margin: 0 0 22px 2px;
	padding: 0 90px 39px;
	background-color: #F2F1ED;
}

#main .sec01 .bgBox02 .title {
	margin: 0 -90px 30px;
}

#main .sec01 .bgBox02 ul {
	margin-bottom: 23px;
}

#main .sec01 .bgBox02 li {
	width: 370px;
	width: 363px\9;
	display: inline-block;
	letter-spacing: -1px;
	line-height: 2.57;
}

#main .sec01 .bgBox02 .liStyle {
	width: 315px;
	width: 322px\9;
}

@media all and (-ms-high-contrast:none){
	#main .sec01 .bgBox02 li {
		width: 363px;
	}
	
	#main .sec01 .bgBox02 .liStyle {
		width: 322px;
	}
}

#main .sec01 .bgBox02 p {
	padding-bottom: 5px;
	font-weight: bold;
	text-align: center;
	background: url(../img/sec01_line.png) no-repeat center bottom;
}

#main .sec01 .textLink {
	margin-bottom: 78px;
	font-size: 20px;
	text-align: right;
}

#main .sec01 .link01 {
	margin-bottom: 125px;
}

#main .sec01 .imgBox .photoBox {
	padding: 130px 0 0 72px;
	float: left;
}

#main .sec01 .imgBox .textBox {
	margin-bottom: 22px;
	width: 520px;
	float: right;
}

#main .sec01 .imgBox .textBox .title {
	margin: 0 0 49px -2px;
	position: relative;
}

#main .sec01 .imgBox .textBox .title:before {
	width: 63px;
	height: 62px;
	background: url(../img/line01.png) no-repeat right top;
	position: absolute;
	bottom: -59px;
	left: -59px;
  
	content: ""; 
}

#main .sec01 .imgBox .textBox .text {
	margin-bottom: 11px;
	font-size: 22px;
	font-weight: bold;
}

#main .sec01 .video {
	margin-bottom: 58px;
	text-align: center;
}

#main .sec01 .video a:hover img {
	opacity: 0.7;
}

#main .sec01 .title01 {
	margin-bottom: 56px;
}

#main .sec01 .title01 span {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

#main .sec01 .title01 span:before {
	width: 63px;
	height: 60px;
	background: url(../img/line02.png) no-repeat left top;
	position: absolute;
	bottom: -57px;
	right: -58px;
  
	content: ""; 
}

#main .sec01 .bgBox03 {
	margin: 0 0 19px -1px;
	padding: 79px 100px 105px;
	position: relative;
	border: 3px solid #231816;
	background-color: #F2F1ED;
}

#main .sec01 .bgBox03:before {
	width: 109px;
	height: 109px;
	background: url(../img/sec01_bg_box03_bg01.jpg) no-repeat left top;
	position: absolute;
	top: -6px;
	right: -6px;
  
	content: "";
}

#main .sec01 .bgBox03:after {
	width: 108px;
	height: 109px;
	background: url(../img/sec01_bg_box03_bg02.jpg) no-repeat left top;
	position: absolute;
	bottom: -6px;
	left: -5px;
  
	content: "";
}

#main .sec01 .bgBox03 .textImg {
	margin-bottom: 29px;
	text-align: center;
}

#main .sec01 .bgBox03 p {
	margin-bottom: 31px;
	letter-spacing: -1.5px;
}

#main .sec01 .bgBox03 .photo {
	margin-bottom: 41px;
	text-align: center;
}

#main .sec01 .bgBox03 .text01 {
	margin-bottom: 17px;
}

#main .sec01 .bgBox03 ul {
	margin-bottom: 15px;
}

#main .sec01 .bgBox03 .text02 {
	margin: 0 -10px 44px 0;
}

#main .sec01 .bgBox03 .text02 span {
	display: block;
	color: #A52E2A;
	font-weight: bold;
}

#main .sec01 .videoBox04 {
	margin: 0 auto;
	width: 564px;
	height: 319px;
}

#main .sec02 {
	margin-bottom: 160px;
	padding: 210px 64px 223px 60px;
	background: url(../img/sec02_bg.jpg) no-repeat center top;
	background-size: 100% 100%;
}

#main .sec02 .title {
	margin-bottom: 103px;
	padding-right: 11px;
	text-align: right;
}

#main .sec02 .title span {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

#main .sec02 .title span:before {
	width: 107px;
	height: 105px;
	background: url(../img/line01.png) no-repeat right top;
	position: absolute;
	bottom: -103px;
	left: -104px;
  
	content: ""; 
}

#main .sec02 .imgBox {
	margin: 0 118px 102px 0;
	padding: 25px 44px 23px;
	position: relative;
	display: table;
	height: 165px;
	width: 669px;
	background-color: #FFF;
}

#main .sec02 .imgBox01 {
	margin-bottom: 73px;
}

#main .sec02 .imgBox02 {
	margin-bottom: 101px;
	padding: 30px 44px 29px;
}

#main .sec02 .imgBox03 {
	margin-bottom: 0;
}

#main .sec02 .imgBox .photoBox {
	margin-top: -123px;
	position: absolute;
	right: -116px;
	top: 50%;
}

#main .sec02 .imgBox03 .photoBox {
	right: -107px;
}

#main .sec02 .imgBox .textBox {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
	width: 625px;
}

#main .sec02 .imgBox03 .textBox {
	width: 560px;
}

#main .sec02 .imgBox p {
	letter-spacing: -1px;
}

#main .sec02 .imgBox .text {
	margin-bottom: 11px;
	line-height: 1.21;
	letter-spacing: normal;
}

#main .sec02 .imgBox .text span {
	font-size: 25px;
	font-weight: bold;
	letter-spacing: -2px;
}

#main .sec02 .video {
	margin-bottom: 97px;
	text-align: center;
}

#main .sec02 .video .videoTxt {
    opacity: 1;
    color: #fff;
}

#main .sec02 .video a:hover img {
	opacity: 0.7;
}

#main .sec03 {
	margin-bottom: 93px;
	padding: 0 68px 113px 60px;
	background: url(../img/sec03_bg.jpg) no-repeat center bottom;
}

#main .sec03 .title {
	margin-bottom: 104px;
}

#main .sec03 .title span {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

#main .sec03 .title span:before {
	width: 109px;
	height: 106px;
	background: url(../img/line02.png) no-repeat left top;
	position: absolute;
	bottom: -105px;
	right: -106px;
  
	content: ""; 
}

#main .sec03 .infoBox {
	margin: 0 0 124px 115px;
	padding: 21px 50px 25px 132px;
	position: relative;
	display: table;
	height: 234px;
	background-color: #F2F1ED;
}

#main .sec03 .infoBox01 {
	padding-bottom: 26px;
}

#main .sec03 .infoBox02 {
	margin-bottom: 126px;
	padding-bottom: 26px;
}

#main .sec03 .infoBox03 {
	margin-bottom: 143px;
	padding: 35px 50px 41px 132px;
}

#main .sec03 .infoBox:before {
	width: 52px;
	height: 48px;
	background: url(../img/sec03_bg01.gif) no-repeat left top;
	position: absolute;
	top: 0;
	right: 0;
  
	content: ""; 
}

#main .sec03 .infoBox:after {
	width: 49px;
	height: 48px;
	background: url(../img/sec03_bg02.gif) no-repeat left top;
	position: absolute;
	bottom: 0;
	left: 0;
  
	content: ""; 
}

#main .sec03 .infoBox .photo {
	position: absolute;
	left: -114px;
	top: -65px;
}

#main .sec03 .infoBox .txtBox {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
}

#main .sec03 .infoBox p {
	letter-spacing: -1px;
}

#main .sec03 .infoBox .red {
    font-size: 19px;
    color: #A52E2A;
    font-weight: bold;
    text-align: right;
}

#main .sec03 .infoBox .text {
	margin-bottom: 3px;
}

#main .sec03 .infoBox .text span {
	margin-right: 30px;
	font-size: 28px;
	font-weight: bold;
}

#main .sec03 .infoBox .text01 span {
	margin-left: 20px;
}

#main .sec04 {
	padding: 0 106px 0 100px;
}

#main .sec04 .tableBox01 {
	margin-bottom: 95px;
}

#main .sec04 .tableBox01 .title {
	margin: 0 0 100px 104px;
	position: relative;
}

#main .sec04 .tableBox01 .title:before {
	width: 104px;
	height: 102px;
	background: url(../img/line01.png) no-repeat right top;
	position: absolute;
	bottom: -100px;
	left: -102px;
  
	content: ""; 
}

#main .sec04 table {
	margin-bottom: 71px;
	width: 100%;
	border-collapse: collapse;
}

#main .sec04 .tableBox01 th,
#main .sec04 .tableBox01 td {
	padding: 20px 5px 20px 15px;
	width: 26.5%;
	font-size: 20px;
	line-height: 1.5;
	text-align: left;
	vertical-align: middle;
	border-bottom: 8px solid #FFF;
	background-color: #E4E4E6;
}

#main .sec04 .tableBox01 td {
	padding: 10px 20px 10px 30px;
	width: 73.5%;
	height: 102px;
	font-size: 19px;
	line-height: 1.63;
	border-left: 8px solid #FFF;
	border-bottom: 8px solid #FFF;
	background-color: #F3F3F3;
	letter-spacing: -1px;
}

#main .sec04 .tableBox01 .thStyle01 {
	color: #FFF;
	background-color: #F18D01;
	letter-spacing: -2px;
}

#main .sec04 .tableBox01 .thStyle02 {
	color: #FFF;
	background-color: #5BB432;
}

#main .sec04 .tableBox01 .tdStyle01 {
	padding: 33px 20px 33px 30px;
}

#main .sec04 .tableBox01 .tdStyle02 {
	padding: 18px 20px 45px 30px;
	width: 534px;
	vertical-align: top;
}

#main .sec04 .tableBox01 td span {
	font-size: 24px;
	font-weight: bold;
}

#main .sec04 .tableBox01 td .small {
	font-size: 17px;
}

#main .sec04 .tableBox01 .tdStyle02 .text {
    margin-bottom: 21px;
    display: block;
    font-size: 19px;
    font-weight: normal;
    line-height: 1.42;
}

#main .sec04 .tableBox01 .tdStyle02 .text span {
	display: block;
}

#main .sec04 .tableBox01 .tdStyle02 .addTxt {
	padding: 23px 182px 0 0;
	position: relative;
	font-size: 19px;
	font-weight: normal;
	line-height: 1.7;
}

#main .sec04 .tableBox01 .tdStyle02 a {
	margin-bottom: 0;
	display: inline-block;
	color: #231815;
    text-decoration: underline;
}

#main .sec04 .tableBox01 .tdStyle02 a:hover {
    text-decoration: none;
}

#main .sec04 .tableBox01 .tdStyle02 .addTxt a {
    position: absolute;
    right: 75px;
    bottom: 0;
    margin-bottom: 0;
    text-decoration: underline;
}

#main .sec04 .tableBox01 .tdStyle02 .addTxt a:hover {
	text-decoration: none;
}

#main .sec04 .tableBox01 .tdStyle02 .map {
	margin: 0 -20px -45px -30px;
	width: 584px;
	height: 254px;
}

#main .sec04 .tableBox01 .tdStyle02 .map p {
    margin: 0 30px;
    font-weight: bold;
}

#main .sec04 .tableBox01 th.vTop {
    vertical-align: top;
}

#main .sec04 .tableBox01 .photo {
	margin: 27px -5px 0 -15px;
}

#main .sec04 .tableBox01 .photo img {
    width: 100%;
}

#main .sec04 .tableBox01 .photo p {
    margin: 0 30px 10px;
    font-size: 20px;
    font-weight: bold;
}

#main .sec04 .tableBox02 {
	margin-bottom: 152px;
}

#main .sec04 .tableBox02 .title {
	margin: 0 0 70px 76px;
	position: relative;
}

#main .sec04 .tableBox02 .title:before {
	width: 74px;
	height: 74px;
	background: url(../img/line01.png) no-repeat right top;
	position: absolute;
	bottom: -71px;
	left: -72px;
  
	content: ""; 
}

#main .sec04 .tableBox02 table {
	margin: 0 0 5px 2px;
	position: relative;
}

#main .sec04 .tableBox02 th,
#main .sec04 .tableBox02 td {
	padding: 32px 10px;
	width: 128px;
	text-align: center;
	background-color: #E4E4E6;
	border-bottom: 8px solid #FFF;
}

#main .sec04 .tableBox02 td {
	width: 175px;
	border-left: 8px solid #FFF;
	border-bottom: 8px solid #FFF;
}

#main .sec04 .tableBox02 tr td:last-child {
	width: 212px;
}

#main .sec04 .tableBox02 thead td {
	padding: 13px 5px 16px;
	width: 185px;
	font-weight: bold;
}

#main .sec04 .tableBox02 thead .tdStyle {
    background-color: #F6E0E3;
}

#main .sec04 .tableBox02 tbody td {
	line-height: 1.5;
	background-color: #F7F7F7;
}

#main .sec04 .tableBox02 td span {
	font-size: 22px;
	line-height: 1.2;
}

#main .sec04 .tableBox02 tbody td .txt {
    display: block;
    font-size: 17px;
    letter-spacing: -0.5px;
}

#main .sec04 .tableBox02 .innerBox {
    position: relative;
}

#main .sec04 .tableBox02 .innerBox span {
    margin-top: -4px;
    font-size: 15px;
    vertical-align: middle;
    display: inline-block;
}

#main .sec04 .tableBox02 .innerBox img {
    position: absolute;
    right: -66px;
    top: -70px;
}

#main .sec04 .tableBox02 .noteList {
	margin: 0 0 105px 29px;
}

#main .sec04 .tableBox02 .noteList li {
	padding: 0 0 8px 2em;
	text-indent: -2em;
	font-size: 17px;
	line-height: 1.35;
	letter-spacing: -1px;
}

#main .sec04 .tableBox02 .noteList li .link {
	text-decoration: underline;
}

#main .sec04 .tableBox02 .noteList li .link:hover {
	text-decoration: none;
}

#main .sec04 .btmBox {
	padding: 0 16px;
}

#main .sec04 .btmBox .title {
	margin-bottom: 42px;
}

#main .sec04 .btmBox .title span {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

#main .sec04 .btmBox .title span:before {
	width: 121px;
	height: 121px;
	background: url(../img/line02.png) no-repeat left top;
	position: absolute;
	bottom: -119px;
	right: -117px;
  
	content: ""; 
}

#main .sec04 .btmBox p {
	margin: 0 52px 68px;
	font-size: 20px;
	line-height: 1.82;
	letter-spacing: -1px;
}

#main .addNote {
	margin-top: 10px;
	color: #E73820;
	font-size: 17px;
	text-align: center;
}