@charset "UTF-8";
/* CSS Document */
/* テキストカラー */
.white {
	color:#fff;
}
.gray {
	color:#777;
}
.gray2 {
	color:#ccc;
}
.red {
	color:#c00;
}
.blue {
	color:#45b0fa;
}
.green {
	color:#066;
}
.brown {
	color:#cc7744;
}
.gold {
	color:#e7d9a4;
}
.sblack {
	color:#505050;
}
.pink {
	color:#f06788;
}
.orange {
	color:#ee9933;
}
/* テキストリンク */
a:link {
	color:#005bac;
	text-decoration:none;
}
a:visited {
	color:#005bac;
	text-decoration:none;
}
a:hover {
	color:#39c;
	text-decoration:none;
}
a:active {
	color:#f00;
	text-decoration:none;
}
#bread a:link {
	color:#666;
	text-decoration:none;
}
#bread  a:visited {
	color:#666;
	text-decoration:none;
}
#bread a:hover {
	color:#999;
	text-decoration:none;
}
#bread  a:active {
	color:#f00;
	text-decoration:none;
}
.ftx a:link {
	color:#666;
	text-decoration:none;
}
.ftx  a:visited {
	color:#666;
	text-decoration:none;
}
.ftx a:hover {
	color:#999;
	text-decoration:none;
}
.ftx a:active {
	color:#f00;
	text-decoration:none;
}
/* 背景設定 */
html {
	height:100%;
}
body {
	height:100%;
	text-align:center;
	color:#333;
	background-color:#fff;
	background-image:url(../img/bg.png);
	background-repeat:repeat-x;
}
/* コンテナの設定 */
#container {
	width:960px;
	padding:0 5px;
	margin:0 auto;
	background-image:url(../img/cont_bg.png);
	background-position:center top;
	background-repeat:no-repeat;
	background-color:#fff;
}
#container2 {
	width:400px;
	padding:10px;
	text-align:left;
	font-size:11px;
	line-height:1.6;
}
/* ヘッダーの設定 */
#header {
	position:relative;
	width:960px;
	height:102px;
	background-image:url(../img/hd_bg.png);
	background-repeat:no-repeat;
	text-align:left;
}
#header h1 {
	font-size:11px;
	font-weight:normal;
	color:#999;
	padding:18px 0 0 20px;
}
#header h2 {
	position:absolute;
	width:348px;
	height:39px;
	bottom:10px;
	left:20px;
}
.hw {
	position:absolute;
	width:246px;
	height:22px;
	top:0;
	right:10px;
	line-height:0;
	font-size:1px;
}
.hd_add {
	position:absolute;
	width:255px;
	height:29px;
	top:33px;
	right:20px;
	line-height:0;
	font-size:1px;
}
.hd_tel {
	position:absolute;
	width:377px;
	height:20px;
	bottom:10px;
	right:20px;
	line-height:0;
	font-size:1px;
}
#gnavi {
    position: relative;
	background-image:url(../img/gw_bg.png);
	background-repeat:repeat-x;
	background-position:left bottom;
	height:59px;
    z-index: 2000;
}
#gnavi ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
#gnavi ul li {
    position: relative;
    box-sizing: border-box;
}
.dropdwn_menu {
    display: none;
    position: absolute;
    left: 0;
    box-sizing:border-box;
    background-color: #fff;
    border-bottom-left-radius: 1em;
    border-bottom-right-radius: 1em;
    filter: drop-shadow(0 0 3px rgba(0,0,0,0.2));
}
.d_menu {
    white-space: nowrap;
    display: block;
    padding: 1em 0;
}
.d_menu p {
   display: block;
   border-bottom: 1px dotted #ccc;
}
.d_menu p:last-of-type {
    border-bottom-width: 0 !important;
}
.d_menu p a {
    display: block;
    color: #005bac;
    text-align: left;
    font-size: 14px;
    line-height: 40px !important;
    padding: 0 1.5em !important;
    background-image:none !important;
    transition:all 0.3s;
}
.d_menu p a:hover {
    background-color: #ecf7fe !important;
}

/* ドックの設定 */
#navi {
	float:left;
	width:210px;
}
.sw {
	background-color:#fff;
	text-align:right;
}
.sw p {
	padding-bottom:5px;
}
.nv_ban {
	background-image:url(../img/side_bg.png);
	background-position:left top;
	background-repeat:repeat-x;
	padding-top:15px;
}
.nv_ban p:nth-child(1) {
	display:none;
}
#doc {
	float:right;
	width:730px;
	text-align:left;
	padding-right:10px;
}
.pagetop {
	text-align:center;
	padding-bottom:20px;
}
.ftx {
	font-size:11px;
	line-height:1.8;
	color:#ccc;
}
/* フッタの設定 */
#footer {
	width:960px;
	height:98px;
	background-image:url(../img/ft_bg.png);
	background-repeat:repeat-x;
	background-position:left top;
}
.copyright {
	text-align:right;
	padding:20px;
	font-size:10px;
	color:#fff;
}
/* トップの設定 */
.main_tx {
	position:relative;
	z-index:1000;
	text-align:center;
	margin-top:20px;
}
.slideshow {
	position:relative;
	margin-top:-155px;
}
#news {
	height:400px;
	overflow:auto;
}
.ndate {
	font-size:11px;
	color:#666;
}
#news li {
	padding-bottom:10px;
}

/* ボックス設定 */
#title {
	font-size:1px;
	margin:0 10px 30px 0;
}
#bread {
	font-size:11px;
	margin:0 0 10px;
	color:#999;
	background-color:#fcede5;
	padding:5px;
}
.box1 {
	margin-left:20px;
	margin-right:20px;
	line-height:1.8;
}
.box2 {
	margin-left:30px;
	margin-right:30px;
	line-height:1.8;
}
.box3 {
	margin-left:40px;
	margin-right:40px;
	line-height:1.8;
}
.boxe {
	margin-left:65px;
	margin-right:65px;
	line-height:1.8;
}
.sub {
	font-size:16px;
	background-image:url(../img/sub_bg.png);
	background-repeat:no-repeat;
	background-position:left bottom;
	margin:0 10px 20px;
	height:41px;
	overflow:hidden;
	line-height:41px;
	padding-left:40px;
	color:#505050;
}
.sub2 {
	font-size:14px;
	border-bottom:1px solid #ee9933;
	border-top:1px solid #fcede5;
	background-color:#fcede5;
	margin:0 20px 20px;
	padding-left:15px;
	line-height:31px;
	color:#505050;
}
.lh_m {
	line-height:1.6;
}
.lh_s {
	line-height:1.4;
}
.line {
	clear:both;
	margin-left:10px;
	margin-right:10px;
	height:0;
	border-bottom:dotted 1px #ccc;
	line-height:0;
	font-size:0em;
}
.line2 {
	clear:both;
	margin-left:20px;
	margin-right:20px;
	height:0;
	border-bottom:dotted 1px #ccc;
	line-height:0;
	font-size:0em;
}
* html .line {
	height:.1em;
	overflow:hidden;
	margin-top:-.1em;
}
* html .line2 {
	height:.1em;
	overflow:hidden;
	margin-top:-.1em;
}

/* テーブルの設定 */
.table0 {
	border-width:0;
	border-collapse:collapse;
	border:none;
	border-spacing:0;
}
.table0 td {
	border-width:0;
	padding:0;
	margin:0;
}
.table0 th {
	border-width:0;
	padding:0;
	margin:0;
}
.table1 {
	border-width:0;
	border-collapse:collapse;
	border:none;
	border-spacing:0;
}
.table1 td {
	border-width:0 0 1px 0;
	border-style:dotted;
	border-color:#ccc;
	padding:7px 10px 17px 10px;
	vertical-align:top;
	margin:0;
}
.table1 th {
	border-width:0 1px 1px 0;
	border-style:dotted;
	border-color:#ccc;
	padding:7px 10px 17px 0;
	white-space:nowrap;
	color:#cc7744;
	text-align:right;
	vertical-align:top;
	margin:0;
}
.tb_end {
	border-bottom:0 !important;
}
.table2 {
	border-width:1px 0 0 1px;
	border-style:solid;
	border-color:#ccc;
	border-collapse:collapse;
}
.table2 td {
	border-width:0 1px 1px 0;
	border-style:solid;
	border-color:#ccc;
	padding:8px 15px;
	margin:0;
}
.table2 th {
	border-width:0 1px 1px 0;
	border-style:solid;
	border-color:#ccc;
	padding:8px 15px;
	white-space:nowrap;
	margin:0;
}
.sum {
	border-width:3px 1px 1px 0 !important;
}
.table3 {
	border-width:1px 0 0 1px;
	border-style:solid;
	border-color:#999;
	border-collapse:collapse;
}
.table3 td {
	border-width:0 1px 1px 0;
	border-style:solid;
	border-color:#999;
	padding:8px 15px;
	margin:0;
	font-weight:bold;
	font-size:16px;
	white-space:nowrap;
	color:#126fb5;
}
.table3 th {
	border-width:0 1px 1px 0;
	border-style:solid;
	border-color:#999;
	padding:8px 15px;
	margin:0;
}
.table4 {
	border-width:1px 0 0 1px;
	border-style:solid;
	border-color:#fff;
	border-collapse:collapse;
}
.table4 td {
	border-width:0 1px 1px 0;
	border-style:solid;
	border-color:#fff;
	padding:8px 15px;
	margin:0;
	font-size:16px;
	width:30%;
}
.table4 th {
	border-width:0 1px 1px 0;
	border-style:solid;
	border-color:#fff;
	padding:8px 15px;
	margin:0;
	font-weight:bold;
	font-size:20px;
	text-align:center;
	width:20%;
	color:#505050;
}

/* 各ページの設定 */
#gMap {
	margin:0 auto 40px;
	width:690px;
	height:475px;
	line-height:1.8;
}
.waku_ft {
	padding:9px 13px 8px;
	background-color:#fff3f3;
	margin:0 20px 20px 27px;
}
.sitemap li {
	border-bottom:1px dotted #ccc;
	background-image:url(../img/pt_link.png);
	background-repeat:no-repeat;
	background-position:left 6px;
	padding:0 0 8px 16px;
	margin-bottom:10px;
}
.waku_ac {
	width:560px;
	margin:0 auto;
	text-align:left;
	padding:15px 20px;
	background-color:#fff3f3;
}
.waku_1 {
	margin:0 auto;
	padding:15px 20px;
	background-color:#fafae0;
}
.waku_2 {
	margin:0 auto;
	padding:15px 20px;
	background-color:#fff3d3;
}
.check li {
	background-image:url(../img/check.png);
	background-repeat:no-repeat;
	background-position:left top;
	padding:0 0 10px 20px;
}
.waku_3 {
	margin:0 auto;
	padding:20px;
	background-color:#fafae0;
}
.link {
	background-image:url(../img/pt_link.png);
	background-repeat:no-repeat;
	background-position:left 0.2em;
	padding-left:16px;
}
.waku_line {
	padding:10px 15px;
	border:1px solid #ccc;
	background-color:#fff;
}
.waku_line2 {
	padding:15px 20px;
	border:1px solid #FC8;
	background-color:#fff;
}
.waku_4 {
	margin:0 auto;
	padding:20px 20px;
	background-color:#fff3d3;
}

.reflection-img{
    position    :relative;
    overflow    :hidden;
}

.reflection {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-180px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 4s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 4s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 4s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 4s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 4s ease-in-out infinite;
}

@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.8; }
    81% { transform: scale(4) rotate(45deg); opacity: 0.8; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.4; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 0.8; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.4; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 0.8; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.4; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 0.8; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.4; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 0.8; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}