/* cf */
.cf::after {
content: "";
display: block;
clear: both;
}
/* reset 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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}

.font_red {
	color: #FF0004;
}
.font_blue {
	color: #0000ff;
}
.font_green {
	color: #00cc33;
}
.font_orange {
	color: #ff9900;
}



body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}


/* CSS Document */

.clearfix::after{
content: "";
display: block;
clear: both;
}

header{display: flex; align-items: center; height: 30px; width:100%; background-image: url("img/head_background.gif"); background-repeat: repeat-x; font-weight:normal; font-size:13px; color: #fff;}
header .con{display: flex; align-items: center; width: 1024px; margin:0 auto; text-align:left;}
header p{ margin:0px 15px 0 0;}

@media screen and (max-width: 720px) {
	header{padding-left:10px; box-sizing: border-box;}
	header h1{font-size:10px;}
}

body {
font-family: "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", 'Hiragino Kaku Gothic Pro', 'sans-serif';
margin: 0px;
}

#g-navi ul{
list-style: none;
display:flex;
justify-content: space-between;
align-items: center;
max-width:1024px;
margin:15px auto;

}
#g-navi li{
    justify-content: space-between;
    align-items: center;
    display: flex;
    width: calc(16.66% - 10px);
    border: 1px solid #0b61d2;
}

@media screen and (max-width: 768px) {
nav#g-navi{margin:0 3px;}
nav#g-navi ul{display: flex; flex-wrap:wrap;}
nav#g-navi li{width:calc(33% - 5px); margin:2px 0px;}
nav#g-navi li a{font-size:14px;}
}


#g-navi li:hover{
background:#0b61d2;
}

#g-navi li a{padding:15px 0px;width: 100%; text-align: center;font-weight:bold; text-decoration: none; font-size:16px; background: url(img/g-navi-sankaku.png);background-position :right 0px bottom 0px; background-repeat:no-repeat; color:#333333;}
#g-navi li a:hover{text-decoration: underline; color:#fff;}


/*
@media screen and (max-width: 768px)
{
#g-navi li:first-child{border-radius:10px 0px 0px 0px;}
#g-navi li:nth-child(3){border-radius:0px 10px 0px 0px;}
#g-navi li:nth-child(4){border-radius:0px 0px 0px 10px;}
#g-navi li:last-child{border-radius:0px 0px 10px 0px;}
	#g-navi li a{padding:15px 6px;font-size: 15px;}
}
*/


.two-image {display: flex;align-items: center;justify-content: space-evenly;}
.two-image li {max-width: 446px;max-height: 280px;border: solid 1px #999; padding: 10px;}

@media screen and (max-width: 768px) {
.two-image {display:flex;
	align-items: center;
    justify-content: space-evenly;
    flex-direction: column;}
.two-image li {margin: 0 3px 20px;}
.two-image li img{ width:100%;}	
	}
	
.pankuzu_wrap {width:100%; height:25px; background: #efefef;  padding: 5px 0; margin-bottom:20px;}

.pankuzu_wrap nav{max-width:1024px; margin:0 auto;}
.breadcrumb { 
	margin:3px 0 0 0; 
	display: flex;align-items: center;justify-content: flex-start;
	}

.breadcrumb li{
display:inline;
list-style: none;
	font-size:12px;
	margin-right:7px;
}


.breadcrumb li a {text-decoration: none; color:#333;}
.breadcrumb li a:hover {
text-decoration: underline;
}

@media screen and (max-width: 720px) {
.breadcrumb li.img{margin-left:10px;}
}

.address-line{display:block; width:1024px; height:20px; margin:0 auto;background-image:url("img/footer-line.png");}
.address-wrap2{width:1024px; margin:20px auto; font-size:14px; }
.address-wrap2 > ul{display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;}

.address-wrap2 ul li.box ul li{display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
	margin-bottom:10px;}


.address-wrap2 ul li.box:last-child{border-left:solid 3px #666; margin-left:20px; padding-left:20px;}
.address-wrap2 ul li.box ul li:last-child{line-height:22px;}
.address-wrap2 ul li.box ul li img{ margin-right:8px; }

@media screen and (max-width: 768px) {
	
.address-wrap2 > ul{display: flex;
flex-direction: column;
    justify-content: flex-end;
    align-items: center;}	
.address-line{display:block; width:100%; height:20px; margin:0 auto;background-image:url("img/footer-line.png");}
.address-wrap2{width:100%; margin:20px auto; font-size:14px; }
.address-wrap2 ul li.box:last-child{border-left:solid 0px #fff; margin:20px 20px 0px; padding:0px;}	
}

footer{margin-top:50px; background-image: url("img/hooter_background.gif"); width:100%;height:30px;}

/* font */
.f-blue{color:#0000ff;}
.f-red{color:#ff0000;}
.f-bold{font-weight:bold;}

.top-img-wrap{width:100%; text-align:center;background: url(img/top-img-back.gif);}
.fade_img{max-width:1024px; width:100%;margin:0 auto;}

.top-img-wrap .small{width:100%; max-width:1024px;}

.map-wrapper{max-width:1024px; margin:0 auto;}
.map-wrapper .box{display: flex; flex-direction:row; justify-content:space-between;}

.map-wrapper .image {max-width:60%;}
.map-wrapper .image img{width: 100%;}
.map-wrapper .txt {max-width:60%; font-size:15px; line-height: 20px;}
h2{border-bottom:4px dotted #0033cc; font-size:22px; padding-bottom:15px; margin:30px 0 15px 0; font-weight: bold;}
.map-wrapper h3{margin-bottom:10px; font-size:17px; font-weight:bold;}
.map-wrapper ul{margin-top:30px; font-size:14px;}


@media screen and (max-width: 768px) {
	
h2{padding-left:10px; box-sizing: border-box;}
.map-wrapper .box{display: flex; flex-direction:column-reverse; justify-content:space-between;}
.map-wrapper .image,.map-wrapper .txt{margin:0 auto;}
.map-wrapper .image {max-width:96%;}
.map-wrapper .image img{width: 100%;}
.map-wrapper .txt {max-width:96%;}	
}
#accessmap{margin-bottom:50px;}
#accessmap .map-block {display: flex; flex-direction: row; align-items: flex-start; justify-content: flex-start;}
#accessmap .map-block li{line-height:16px;}
#accessmap .map-block li.left{max-width: 530px;}
#accessmap .map-block li.right{margin-left:10px;}
#accessmap .map-block li img{box-sizing: border-box;padding: 10px;border: solid 1px #999; max-width:100%;}

@media screen and (max-width: 768px) {
#accessmap .map-block {display:flex; align-items: center;
    justify-content: space-evenly;
    flex-direction: column;}
#accessmap .map-block li {margin: 0 3px 20px;line-height:20px; font-size:13px;}
#accessmap .map-block li img{ width:100%;}
	}


.sp-only{display:none;}
@media screen and (max-width: 768px) {
.sp-only{display:inline-block;}
.address .title-wrap{width:45%;}
.address .description{margin-left:0px; width:55%;}
}


/* calender.html */

#calender {
text-align: center;
width: 100%;
background-color: #FFFFFF;
background-repeat: repeat-x;
background-position: left bottom;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0px;
margin-left: auto;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 30px;
padding-left: 0px;
}
#calender {
max-width: 720px;
text-align: left;
margin-right: auto;
margin-left: auto;
margin-top: 25px;
margin-bottom: 10px;line-height:20px;
}

#calender table {
font-size: 0.85em;
margin: 0px;
padding: 0px;
border-top: 2px solid #999999;
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
border-left: 2px solid #999999;
}


@media screen and (max-width: 720px) {
.calender-table-wrap{display:block; max-width:720px; overflow-x: scroll;margin-left: 10px;}
	
	
	
}

#calender table caption {
font-size: 1.4em;
font-weight: bold;
line-height: normal;
text-align: left;
padding-top: 1px;
padding-bottom: 1px;
color: #333333;
}
#calender td {
margin: 0px;
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
background-color: #FEFFE3;
text-align: center;
vertical-align: middle;
padding: 5px;
}
#calender th {
margin: 0px;
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
background-color: #FEFFE3;
text-align: center;
vertical-align: middle;
font-weight: normal;
padding:13px 5px;
}
#calender .Title {
background-color: #FFE09B;
font-size: 1em;
font-weight: bold;
min-width:70px;
}
#calender .Entry {
background-color: #CCFF99;
white-space: nowrap;
font-size: 1em;
}

#calender table img {
width: 25px;
height: auto;
}

#calender ul{margin-top: 20px;}
#calender li{line-height:20px; font-size:14px;}
#calender ul.txt li{font-size:13px!important;color: blue;}


/* pricelist.html */

#pricelist .table-wrap{margin-top:20px;}
#pricelist table{margin-top:20px;}
#pricelist table tbody td:first-child{width:180px; max-width:300px;}
#pricelist table tbody th:nth-child(2){width:180px; max-width:300px;}
#pricelist table tbody th:nth-child(3){width:180px; max-width:300px;}
#pricelist table tbody th:nth-child(4){min-width: 70px;}
#pricelist ul.txt li{font-size:13px!important;color: blue;}

#pricelist {
text-align: center;
width: 100%;
background-color: #FFFFFF;
background-repeat: repeat-x;
background-position: left bottom;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0px;
margin-left: auto;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 30px;
padding-left: 0px;
}
#pricelist {
max-width: 720px;
text-align: left;
margin-right: auto;
margin-left: auto;
margin-top: 25px;
margin-bottom: 10px;
line-height:20px;
}
@media screen and (max-width: 768px) {
	#pricelist {padding: 0 10px;box-sizing: border-box;}
}
#pricelist table {
font-size: 0.85em;
margin: 0px;
padding: 0px;
border-top: 2px solid #999999;
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
border-left: 2px solid #999999;
}
#pricelist table caption {
font-size: 1.4em;
font-weight: bold;
line-height: normal;
text-align: left;
padding-top: 1px;
padding-bottom: 1px;
color: #333333;
}

@media screen and (max-width: 768px) {
	#pricelist table caption{font-size: 1.2em;}
}
#pricelist td {
margin: 0px;
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
background-color: #FEFFE3;
text-align: center;
vertical-align: middle;
padding: 5px;
}
#pricelist th {
margin: 0px;
border-right: 1px solid #999999;
border-bottom: 1px solid #999999;
background-color: #FEFFE3;
text-align: center;
vertical-align: middle;
font-weight: normal;
padding: 5px;
}
#pricelist .Title {
background-color: #FFE09B;
font-size: 1em;
font-weight: bold;
}
#pricelist .Entry {
background-color: #CCFF99;
white-space: nowrap;
font-size: 1em;
}

#pricelist table img {
width: 25px;
height: auto;
}

#pricelist ul{margin-top: 20px;}
#pricelist li{line-height:20px; font-size:14px;}








/* 仕掛け図 */

#shikakezu{display:flex; justify-content:space-between; max-width:1024px; margin:0 auto;}
#shikakezu .img-wrap{width: 385px;}
#shikakezu .img-wrap img{max-width: 385px;width: 100%;}
#shikakezu .img-wrap p{font-size:13px; line-height:18px;}
#shikakezu .description{width: 335px;}
#shikakezu .description section{margin:20px 0 0 0;}
#shikakezu h2 {border-bottom: solid 3px skyblue;position: relative;padding-bottom:5px;font-weight: bold;font-size: 18px;margin-bottom: 5px;}

@media screen and (max-width: 768px) {
#shikakezu {padding:0 10px; box-sizing: border-box;}
#shikakezu .description{width: 100%;}
#shikakezu .img-wrap{width: 100%;}
#shikakezu .img-wrap img{max-width: none; width: 100%;}
}


#shikakezu h2:after {position: absolute;content: " ";display: block;border-bottom: solid 3px #3399ff;bottom: -3px;width: 20%;}

@media screen and (max-width: 768px) {
#shikakezu h2:after {position: absolute;content: " ";display: block;border-bottom: solid 3px #3399ff;bottom: -3px;width: 20%;}
}

#shikakezu .description p{line-height:20px; font-size:15px;}

#shikakezu .side-nav{max-width: 200px; width: 100%; margin-top: 20px;}
#shikakezu .side-nav ol{text-align: center;}
#shikakezu .side-nav li{  background: #fafafa; border-left: solid 5px #7db4e6;border-bottom: solid 2px #d7d7d7;margin-bottom: 4px;}
#shikakezu .side-nav li:hover{  background: #66ccff;border-left: solid 5px #7db4e6;border-bottom: solid 2px #d7d7d7;margin-bottom: 4px;}


#shikakezu .side-nav li a{display: inline-block; width: 100%; padding:10px ; box-sizing: border-box; font-weight: bold; text-decoration: none; color:#000099;line-height:20px;} 
#shikakezu .side-nav li a:hover{color:#fff;}
#shikakezu .side-nav li a.off{color:#A4A4A4;}


@media screen and (max-width: 768px) {

#shikakezu {flex-direction: column;}	
#shikakezu .side-nav{max-width: 100%;}
#shikakezu .side-nav ul{width: 100%; display: flex;flex-direction:row;flex-wrap:wrap;}
#shikakezu .side-nav li{width:calc(100% / 3); box-sizing: border-box;}
	
	
}
