@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer:http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}
:focus{outline:0;}

ol, ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after{content:"";}
blockquote, q{quotes:"" "";}
a img{border:0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}
/* -------------------------------------------------------------- */

body{
color:#555;
font-size:13px;
font-family:verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
-webkit-text-size-adjust:100%;
background:#ffffff;
overflow-x: hidden;
}

#set_list_properties .item-box:hover {
 opacity:0.8;
 cursor : pointer;
}

#header .tel a {
	color: #555;
}

#footer .tel a {
	text-decoration: none;
}

.contat .tel a {
color: #555;
}

.slcolor .slick-prev:before, .slcolor .slick-next:before {
   color: #fff!important;
 }

.un30 {
	margin-bottom: 10px;
}

.un40 {
	margin-bottom: 40px;
}

.blue-big {
	color: #2f5d94;
	font-size: 20px;
}

/* 全体
------------------------------------------------------------*/
#wrapper{
margin:0 auto;
padding:0 1%;
width:98%;
position:relative;
}

.inner{
margin:0 auto;
width:100%;
}



/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
clear:both;
margin:25px auto 40px;
padding:0;
position:relative;
text-align:center;
}
#mainBanner .inner{position:relative;}

#mainBanner img{
max-width:100%;
height:auto;
}

.slogan{
color:#fff;
font-weight:bold;
position:absolute;
max-width:100%;
height:auto;
bottom:42%;
left:40px;
padding:5px 10px;
line-height:1.4;
text-align:left;
}

.slogan h2{
padding-bottom:5px;
font-size:22px;
}


/**************************
/* グリッド
**************************/
.gridWrapper{
clear:both;
padding-bottom:20px;
overflow:hidden;
}

* html .gridWrapper{height:1%;}

.grid{
overflow:hidden;
}

.box{
padding:10px;
}

.box img{
max-width:100%;
height:auto;
}

.box h3{
font-size:16px;
padding:10px 0 15px;
}

.box h3, .box p{text-align:left;}

.box p.readmore{
padding:10px 5px 5px;
text-align:right;
}

.box p.readmore a{
padding:3px 7px;
border-radius:3px;
}


/*************
メイン コンテンツ
*************/
section.content article{
padding:30px 0 20px 0;
margin-bottom:10px;
}

section.toppage article,section.content .archive{border:0;}


/* アーカイブページ */
section.content .archive{
padding:0;
border-bottom:1px dotted #ccc;
}

section.content p{margin-bottom:2px;}

h3.heading{
background: #2f5d94;
color: #FFFFFF;
font-size: 19px;
}


section.content img{
max-width:100%;
height:auto;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 10px;
}

/*************
/* サイドバー
*************/
.contact-text {
	font-size: 14px;
	font-weight: bold;
}

.contact {
	border: 3px solid #000000;
	padding: 20px;
	width: 70%;
	margin: 0 auto;
	margin-top: 50px;
	margin-bottom: 35px;
	text-align: center;
}
.contact a:hover {
	opacity: 0.7;
}

.contact img {
	width: 100%;
	max-width: 600px;
	margin:  0 auto;
	height: auto;
}

/*************
/* サイドバー
*************/
#sidebar article{
clear:both;
margin-bottom:20px;
}


#sidebar li:hover{
	opacity: 0.7;
}

#sidebar li{
color: #ffffff;
list-style: none;
background: #888;
border-bottom: 1px solid #9a9a9a;
position: relative;
}

#sidebar li::after{
  display: block;
  content: '';
  position: absolute;
  top: 42%;
  left: 1em;
  width: 6px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


#sidebar li:last-child{
border:0;
margin-bottom:0px;
}

#sidebar li a{
color:#FFFFFF;
font-size:15px;
display:block;
padding: 10px 0 10px 30px;
}

#sidebar li a:hover{
display:block;
}


/*************
/* フッター
*************/
#footer{
clear:both;
background: #444;
color: #fff;
}

#footer a{
color:#fff;
text-decoration: underline;
}

#footer a:hover{
color:#999;
text-decoration: none;
}

#footer .inner{
padding:25px 10px;
overflow:hidden;
}

#footer .grid{
margin:0;
}

#footer #info{float:left;}

#footer #info .info{float:none;}

#footer #info .info{
clear:both;
padding: 0;
text-align:left;
}

#footer .logo{
	float: none;
}

#footer .info .tel,#footer .info .tel span,#footer #info .open{
font-size:12px;
}

ul.footnav{
float:right;
width:620px;
padding:0;
}
ul.footnav ul{display:none;}

ul.footnav li{
float:left;
margin:0;
padding:0 7px 0 8px;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width:100%;
height:30px;
margin:5px 0 20px;
}

.prev{float:left}
.next{float:right;}

#pageLinks{
clear:both;
text-align:center;
}


/* タイポグラフィ
*****************************************************/
.dateLabel{
margin:0 0 10px;
text-align:right;
font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.post p{padding-bottom:10px;}

.post ul{margin:0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol{margin:0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:150%;
color:#000;
border-bottom:3px solid #cf6a88;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
color:#333;
border-bottom:2px solid #cf6a88;
}

.post h3{
margin:10px 0 25px 0;
padding:10px 0 10px 0;
font-size:120%;
font-weight:normal;
border-bottom:1px solid #ddd;
}

.post blockquote{
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}

.post blockquote p{padding:5px 0;}

.post table{
border-collapse:collapse;
margin:5px auto 15px auto;
}

.post table td{
border-collapse:collapse;
background-color:#F9F9F9;
text-align:left;
padding:8px;
border:1px solid #D6D6D6;
line-height:20px;
}

.post table th{
background-color:#F5F5F5;
text-align:right;
padding:8px;
white-space:nowrap;
color: #151515;
border-top:1px solid #D4D4D4;
border-right:4px solid #D4D4D4;
border-bottom:1px solid #D4D4D4;
border-left:1px solid #D4D4D4;
font-size:13px;
font-weight:normal;
letter-spacing:1px;
background-repeat:repeat-x;
background-position:top;
}


.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter{
display:block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin:0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float:left;}



.main_back {
height: 330px;
background-size: cover;
background-image: url(images/main-image1.jpg);
background-position: center 70%;
}


.viru_menu {
display: none;
}




.owner-main-img{
	width: 100%;
}
.owner-main-img img{
	margin: 0 auto;
}

.kakusyu {
	margin-bottom: 45px;
	text-align: center;
}

.kakusyu p {
	font-size: 17px;
	margin-bottom: 5px;
	line-height: 1.6;

}

.kirikae {
	display: inherit;
}

.kakusyu h3 {
	margin-bottom: 30px;
	padding: 0 0 1rem 0;
}
.kakusyu img {
	margin: 0 auto 2rem;
}

 .slcolor .slick-prev {
 	padding-left: 5px!important;
 }

 .slcolor .slick-next {
    padding-right: 5px!important;
}


#main ul.pageNav01 {
	margin: 0 0 10px;
	padding: 10px 10px 5px;
	background: #eaeff2;
	text-align: center;
}

.header-line {
padding: 0 0 1rem 0;
font-size: 27px;
color: #000;
border-bottom: 1px solid #000;
font-weight: bold;
text-align: center;
line-height: 1.3;
}

#set_list_news {
    height: 500px;
    overflow: auto;
	padding-right: 10px;
}
.owner-box {

}

.nagare {

}

.sitemap li {
	border-bottom: 1px dotted #d0d0d0;
	padding: 0;
    margin: 0 0 30px 0;
}


.sitemap li a {
    color: #666;
    background: url(images/ico_lv1.png) no-repeat left center;
    text-decoration: none;
    display: inline-block;
    padding-left: 25px;
    line-height: 32px;
	font-size: 16px;
}

.sitemap li a:hover {
	opacity: 0.7;
}



/*オーナー様向け*/
.task {
	display: flex;
	align-items: center;
	justify-content: center;
	border-top: 5px solid #000;
	border-bottom: 5px solid #000;
}

.task img {
	vertical-align: top;
}


.task-left {
    width: 58%;
	padding-left: 10px;
}

.task-left h3 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin-bottom: 15px;
}

.blacks {
	color: #000;
	font-size: 13px;
	vertical-align: 2px;
}

.task-right {
    width: 40%;
	line-height: initial;
}

.linb {
    vertical-align: top;
}

.nagare img {
	margin: 0 auto;
	width: 90%;
	display: block;
	margin-bottom: 40px;
	margin-top: 20px;
}
.task-arrow {
  width: 0;
  height: 0;
  margin: 0 auto 1rem;
  border-style: solid;
  border-right: 50px solid transparent;
  border-left: 50px solid transparent;
  border-top: 30px solid #000000;
  border-bottom: 0;
}

.owner-box h3,.nagare h3 {
	font-size: 19px;
    margin: 30px 0 24px;
    padding: 6px 10px;
    clear: both;
    font-weight: normal;
    border-bottom: 2px solid #3B4552;
    line-height: 1;
}

.owner70 {
 width: 70%;
 float: left;
}

.owner27 {
 width: 27%;
 float: right;
}
.owner-contact{
    padding: 1rem;
    width: 100%;
	max-width: 600px;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 35px;
    text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.owner-contact .owner-contact-logo{
	width: 100%;
}
.owner-contact .owner-contact-logo img{
	max-width: 480px;
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.owner-contact .owner-contact-text{
	font-size: 1rem;
}
.owner-contact .owner-tel{
	font-size: 2rem;
	font-weight: bolder;
	margin:  0 0 1rem 0;
}
.owner-contact .owner-contact-btn{
	width: 100%;
}
.owner-contact .owner-contact-btn img{
	max-width: 300px;
	width: 100%;
	height: auto;
	margin: 0 auto;
}


@media (max-width: 540px) {
.owner-contact .owner-tel{
  font-size: 1.3rem;
  margin: 0 0 1rem 0;
}
}




.description-box {
	clear: both;
    margin: 0 auto;
    border-bottom: 2px solid #666;
    padding-top: 45px;
	overflow: hidden;
}

.description-box_in {
	width: 100%;
    margin: 0 auto;
	overflow: hidden;
    padding-bottom: 15px;
}

.w35 {
width: 35%;
float: left;
}

.w60 {
width: 65%;
float: right;
font-size: 14px;
}


.description-box_in h3 {
    font-size: 22px !important;
    font-weight: normal !important;
    border-bottom: dotted 2px #999 !important;
    margin: 0 auto 20px auto !important;
    padding: 0px 0 6px 0 !important;
}

#main ul.pageNav01 li {
	display: inline;
	margin: 0 2px;
	padding: 0;
}

#main ul.pageNav01 li span,
#main ul.pageNav01 li a {
	display: inline-block;
	margin-bottom: 5px;
	padding: 1px 8px;
	background: #fff;
	border: 1px solid #aaa;
	text-decoration: none;
	vertical-align: middle;
	color: #000;
}

#main ul.pageNav01 li a:hover {
	background: #eeeff7;
	border-color: #00f;
}


.ggmap {
clear: both;
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.clear {
	clear: both;
}

#company-box {
margin-bottom: 30px;
}

#company-box dl {
	margin-bottom: 40px;
	overflow: hidden;
}

#company-box dt {
float: left;
width: 23%;
height: 60px;
border-top: 1px solid #999;
line-height: 60px;
font-size: 15px;
font-weight: bold;
text-indent: 1em;
}

#company-box dd {
float: right;
width: 68%;
height: 60px;
border-top: 1px solid #999;
line-height: 60px;
font-size: 15px;
text-indent: 1em;
}



#company-box h3 {
    font-size: 18px;
    font-weight: normal;
    margin: 30px 0 16px;
    padding: 0 0 0 8px;
    border-left: 5px solid #131D2A;
}

#policy-box p{
	margin: 0 0 2em;
}

#policy-box h4 {
font-size: 18px;
font-weight: normal;
margin: 30px 0 16px;
padding: 0 0 0 8px;
border-left: 5px solid #131D2A;
}


.asterisk {
	margin: 0 0 0 0.2em;
    color: #f5637a;
}

button[type="button"] {
	background-color: #006075 !important;
	color: #fff;
	padding: 12px 20px;
    border: none;
	cursor: pointer;
	font-size: 16px;
}

button[type="button"]:hover {
	background: #006075;
	opacity: 0.7;
}

.slide-main button {
	background-color: transparent!important;
	color: transparent!important;
	padding: 0!important;
	font-size: 0!important;
}

.thumb-item button {
background-color: transparent!important;
color: transparent!important;
padding: 0!important;
font-size: 0!important;
}



label {
	font-size: 14px;
}

:-ms-input-placeholder {
   color: #d6d6d6;
}

::-webkit-input-placeholder {
   color: #d6d6d6;
}


#glform {
		margin-top: 40px;
}

#glform div {
	margin-bottom: 2em;
}

.form_style {
 background-color: #fff;
 color: #333;
 width: 100%;
 border: 1px solid #ddd;
 font-size: 100%;
 padding: 0.7em;
 border-radius: 4px;
 font-size: 14px;
 box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset;
}

#name,#kana,#mail,#tel,#subject,#msg {
 width: 100%;
}

.sita30 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-weight: bold;
	margin-left: 0;
}

.thumb-item {
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.thumb-item li {
  cursor: pointer;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.thumb-item li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.thumb-item img {
  width: 100%;
  height: 200px;
  object-fit: contain;
  transition: transform 0.3s ease;
  background-color: #f8f8f8;
}

.thumb-item li:hover img {
  transform: scale(1.05);
}

/* ポップアップモーダル */
.image-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
}

.modal-content {
  position: relative;
  max-width: 85%;
  max-height: 85%;
  margin: auto;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}

.close-modal {
  color: white;
  font-size: 35px;
  font-weight: bold;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
}

.close-modal:hover {
  opacity: 0.7;
}

.modal-nav {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  font-size: 24px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-nav:hover {
  background: rgba(0, 0, 0, 0.8);
}

.modal-counter {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: #333;
  font-size: 14px;
  font-weight: bold;
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 16px;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* PC表示での横長画像制限 */
@media only screen and (min-width: 769px) {
  .modal-content {
    max-width: min(1200px, 85vw);
  }
}

@media only screen and (max-width: 768px) {
  .thumb-item {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .thumb-item img {
    height: 150px;
    object-fit: contain;
  }

  .modal-content {
    max-width: 90%;
    max-height: 75%;
  }

  .modal-nav {
    font-size: 20px;
    width: 44px;
    height: 44px;
  }

  .close-modal {
    font-size: 30px;
  }
}

@media only screen and (max-width: 480px) {
  .thumb-item {
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
  }

  .thumb-item img {
    height: 120px;
    object-fit: contain;
  }



  .modal-content {
    max-width: 90%;
    max-height: 70%;
  }
}

.tel {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 0;
}

.center {
	margin-bottom: 10px;
}





.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin: 0;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.obold {
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 5px;
}


.osusume {
	padding: 10px;
	border: 3px solid #d4af37;
	border-radius: 5px;
	margin-bottom: 25px;
}


.slide-main {
    width: 100%;
	margin: 0 auto;
}



.item-box {
  max-width: 1190px;
  border: 1px solid #E3E3E3;
  border-radius: 4px 4px 0 0;
  margin: 0 auto 30px;
}

.state ul {
	margin-bottom: 5px;
}

.state li {
  background: #006075;
    display: inline-block;
    padding: 3px;
    border-radius: 3px;
    color: #fff;
	font-size: 12px;
}

.item-box-in {
	padding: 15px;
	overflow: hidden;
}

.item-box-in-left {
	width: 100%;
}

.item-box-in-right {
	margin-top: 10px;
}

.item-box-in-right span {
	color: #e40003;
	font-weight: bold;
	font-size: 16px;
}


.item-box-in-left img {
	text-align: center;
	margin: 0 auto;
    display: block;
}

.top50 {
	margin-top: 50px;
}

.top20 {
	margin-top: 3px;
}

	.item-box-in-right table {
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 20px;
	}

	.item-box-in-right table td {
	border: 1px solid #e3e3e3;
	padding: 5px;
	width: 32%;
	}

	.item-box-in-right table th {
	border: 1px solid #eaeff2;
	padding: 5px;
	font-weight: bold;
    background: #f8f8f8;
	width: 15%;
	}

.item-box h3,.item-box h2 {
font-weight: 200;
line-height: 1;
background: #006075;
padding: 13px;
color: #fff;
font-size: 1.2em;
border-radius: 4px 4px 0 0;
margin-bottom: 5px;
position: relative;
}

.item-box h3 span {
    background: #29508a;
    border: 1px solid #406db8;
    border-radius: 3px;
    font-size: 14px;
    padding: .26em;
	margin-right: 7px;
	vertical-align: middle;
}


#pan li {
	display: inline-block;
}

#pan a {
	text-decoration: underline;
}

h3.heading a {
	color: #fff;
	font-weight: bold;
	display: block;
	padding: 10px 0 10px 10px;
}

h3.heading a:hover {
	opacity: 0.7;
}

#footer .tel {
	font-size: 14px !important;
	font-weight: normal;
	margin-top: 0 !important;
}


#footer .logo {
margin-top: 0;
}

.under_menu {
	background: #2f5d94;
	font-size: 20px;
	text-align: center;
	padding: 10px 0;
	border-top: 1px solid #036ec4;
	border-bottom: 1px solid #021728;
}

.under_menu a {
	color: #ffffff;
	font-weight: bold;
	display: block;

}

.news {
	font-size: 25px;
	text-align: center;
}

.news span {
	font-size: 15px;
	vertical-align: middle;
	margin-top: 5px;
}

#news_area {
	padding: 0 15px;
}

#news_area a {
color: #000000;
text-decoration: underline;
}


#news_area p.date {
	font-size: 15px;
	font-weight: bold;
	margin: 0;
	padding-bottom: 5px;
}

.news_box {
	margin-bottom: 20px;
}

.naiyou {
	font-size: 14px;
}



/* リンク設定
------------------------------------------------------------*/
a{color:#000;;text-decoration:none;}
a:hover{color:#333;}
a:active, a:focus {outline:0;}






/* PC用
------------------------------------------------------------*/
@media only screen and (min-width:960px){
	nav div.panel{
	display:block !important;
	float:left;
	}

	.contat img {
	width: auto;
}

.contat-text {
	font-size: 18px;
	font-weight: bold;
}

.tel {
	font-size: 35px;
	font-weight: bold;
	margin-bottom: 0;
}


	.slider-for img {
 max-height: 400px;
}

	.slide-main {
	width: 650px;
}


	.sita30 {
 margin-left: 10px;
}

.ggmap {
 margin: 10px 10px;
}

	.item-box-in-left {
	    width: 28%;
		float: left;
}

	.item-box-in-right {
	float: right;
	width: 70%;
	margin-top: -35px;
}

	.syousai {
	float: none;
	width: 100%;
	margin-top: 10px;
	}



	.item-box-in-right table {
	border-collapse: collapse;
	width: 100%;
	}

	.item-box-in-right table td {
	border: 1px solid #e3e3e3;
	padding: 15px;
	}

	.item-box-in-right table th {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 15px;
	font-weight: bold;
    background: #eaeff2;
	}



	.item-box-in-left img {
 text-align: left;
 margin: 0;
    display: block;
}

	.state li {
 display: inline-block;
}

	a#menu{display:none;}

	.under_menu {
		display: none;
	}

	ul.footnav {
 padding: 10px 0 10px 20px;
 float: left;
 width: 26%;
}
	ul.footnav li {
	 float: none;
	 border-right: none;
	 margin:10px 0 10px 0;
}


.news {
 font-size: 28px;
 text-align: left;
 margin-top: 0;
}

.news span {
 font-size: 15px;
 vertical-align: middle;
}

#news_area {
 width: 80%;
 padding-left: 20px;
}

#news_area a {
color: #000000;
text-decoration: underline;
}

#news_area a:hover {
text-decoration: none;
}

#news_area p.date {
 font-size: 15px;
 font-weight: bold;
 margin: 0;
 padding-bottom: 5px;
}

.news_box {
 margin-bottom: 20px;
}

.naiyou {
 font-size: 14px;
}


.main_back {
clear: both;
margin-bottom: 10px;
height: 530px;
background-size: cover;
background-image: url(images/main-image1.jpg);
background-position: center 70%;
position: relative;
}

.main_in {
width: 90%;
}

.viru_menu {
 position: absolute;
    width: 23%;
    background: #2f5d94;
    float: right;
    right: 7%;
    bottom: 50%;
	display: inherit;
}

.viru_menu a {
 display: block;
 color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: 15px;
}

.viru_menu:hover {
	opacity: 0.7;
}


.viru_menu a:hover {
 color: #fff;
}



  #mainNav{
	border-bottom: 1px solid #ebebeb;
  	height: 68px;
  	clear:both;
  	z-index:200;
  	position:relative;
  	border-top: 3px solid #2f5d94;
  	background: #f4f4f4; /* Old browsers */
  	background: -moz-linear-gradient(top, #f4f4f4 0%, #ffffff 59%, #ffffff 100%); /* FF3.6-15 */
  	background: -webkit-linear-gradient(top, #f4f4f4 0%,#ffffff 59%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
  	background: linear-gradient(to bottom, #f4f4f4 0%,#ffffff 59%,#ffffff 100%);
	}

	#mainNav li{
 float:left;
 position:relative;
 }

 #mainNav li a{
 color:#555;
 display: block;
 text-align: center;
 _float:left;
 font-size:13px;
 width:140px;
 height:30px;
 padding:15px 0;
 }

 #mainNav li a span,#mainNav li a strong{
  display:block;
 }

 #mainNav li a strong {
	 font-weight: bold;
	 font-size: 17px;
 }

 #mainNav li a span{
 color:#bababa;
 font-size:10px;
 }

 #mainNav ul ul{width:160px;background:#fff;}
 #mainNav li ul{display:none;}

 #mainNav li:hover ul{
 display:block;
 position:absolute;
 top:64px;
 z-index:500;
 }

 #mainNav li li{
 margin:0;
 float:none;
 width:160px;
 border:0;
 }

 #mainNav li li:last-child{border:0;}

 #mainNav li li a{
 width: 200px;
 height:auto;
 padding:17px;
 font-size:95%;
 text-align:left;
 border:0;
 border-bottom: 1px solid #e0e0e0;
 font-weight: bold;
 background: #ffffff;
 }

 #mainNav li li span{padding:0 10px;}

 #mainNav li a:hover,#mainNav li.current-menu-item li a:hover{
 color:#999;
 }

 #header,#wrapper,.inner{
 width: 90%;
 padding:0;
 margin:0 auto;
 }

 #wrapper{clear:both;padding:13px 0;}

 #main{
 width:100%;
 padding:15px 0 0 0;
 }

 #sidebar{
 float:right;
 width:25%;
 padding:19px 0;
 overflow:hidden;
 }

 #sidebar article{
 margin-bottom:20px;
 overflow:hidden;
 }


 /* グリッド全体 */
 .gridWrapper{
 display:table;
 border-collapse:separate;
 border-spacing:0px;
 }

 /* グリッド */
 .grid{
 width: 43%;
 display:table-cell;
 }

}

	#sidebar p img {
		width: 100%;
	}

#sidebar p img:hover {
	opacity: 0.7;
}

	#sidebar p {
 margin-bottom: 20px;
}


@media only screen and (max-width:959px){
	*{
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;
         -o-box-sizing:border-box;
        -ms-box-sizing:border-box;
            box-sizing:border-box;
	}

	#sidebar p {
 text-align: center;
 margin-bottom: 20px;
}

		#sidebar p img {
		width: 80%;
	}


	#sidebar p img:hover {
	opacity: 0.7;
}

	.kakusyu p {
 font-size: 14px;
 margin-bottom: 3px;

}

	.blue-big {
 font-size: 16px;
 		font-weight: bold;
}

	.blue-line {
font-size: 20px;
	}

	.kirikae {
	 display: none;
}

	#mainNav{
	clear:both;
	width:100%;
	margin:0 auto;
	padding:0;
  border:1px solid #e4e4e4;
	border-left:0;
	border-right:0;
	margin-bottom: 12px;
	}

	#mainNav a.menu{
 color:#555;
 width:100%;
 display:block;
 height:40px;
 line-height:40px;
 font-weight: bold;
 text-align:left;
 }

 #mainNav a#menu span{
 padding-right:20px;
 float: right;
 }


 #mainNav a.menu span:before{content:"≡ ";}
 #mainNav a.menuOpen span:before{content:"× ";}

 #mainNav a#menu:hover{cursor:pointer;}

 nav .panel{
 display:none;
 width:100%;
 position:relative;
 right:0;
 top:0;
 z-index:1;
 }

 #mainNav ul{margin:0;padding:0;}

  #mainNav li{
 float:none;
 clear:both;
 width:100%;
 height:auto;
 line-height:1.2;
 }

 #mainNav li a,#mainNav li.current-menu-item li a{
 color:#555;
 display: block;
 padding:15px 10px;
 text-align:left;
 border-bottom:1px dashed #ccc;
 }

 	#mainNav li a span{padding-left:10px;}


 #mainNav ul > li:last-child a{border:0;}
 #mainNav li li:last-child a{border-bottom:1px dashed #ccc;}

 #mainNav li.current-menu-item a,#mainNav li a:hover,#mainNav li.current-menu-item a,#mainNav li a:active, #mainNav li li.current-menu-item a, #mainNav li.current-menu-item li a:hover, #mainNav li.current-menu-item li a:active{
 color:#555;
 }

 #mainNav li li{
 float:left;
 border:0;
 }

 #mainNav li li a, #mainNav li.current-menu-item li a, #mainNav li li.current-menu-item a{
 padding-left:40px;
 background:url(images/sub1.png) no-repeat 20px 18px;
 }

 #mainNav li li.current-menu-item a,#mainNav li li a:hover, #mainNav li.current-menu-item li a:hover{background:url(images/sub1.png) no-repeat 20px -62px;}

 #mainNav li li:last-child a{background:url(images/subLast.png) no-repeat 20px 20px;}
 #mainNav li li:last-child.current-menu-item a,#mainNav li li:last-child a:hover,#mainNav li.current-menu-item li:last-child a:hover{background:url(images/subLast.png) no-repeat 20px -65px;}

 nav div.panel{float:none;}

 #header{padding-left:10px;}

 #main{padding-top:15px;}
 section.toppage{margin:0;}
 #sidebar{padding-bottom:15px;}
 #sidebar article{}

 #footer .grid,#footer ul.footnav{font-size: 11px;float:none;width:100%;text-align:center;clear: both;padding-bottom: 10px;}
 ul.footnav li{float:none;display:inline-block;}

 .grid{
 float:left;
 width:32%;
 margin:10px 0 0 1%;
 }

 #footer .grid img,#footer .info{float:none;}
 #footer .grid p{display:block;}
 #footer #info .info{float:none;text-align:center;}
 #footer.logo,#footer .info{width:100%;float:none;}
 #footer .logo p{float:none;display:block;	}
 #footer .logo img{float:none;padding:0;}
}






@media only screen and (max-width:640px){  .alignleft,.alignright,img.alignleft,img.alignright{float:none;display:block;margin:0 auto 10px;}

 .task {
    flex-direction: column;
 }
 .task-right {
    width: 100%;
    float: none;
	text-align: center;
	}

 .task-left {
    width: 100%;
    float: none;
	text-align: center;
	padding: 0;
}
.task-left h3 {
    font-size: 20px;
    font-weight: bold;
    color: #000;
    margin-bottom: 15px;
	padding: 1rem 0;
}
.task-left h3 span{
    display: block;
	margin: 0 auto;
}
.task .task-left p{
    text-align: justify;
	margin-bottom: 1rem;
}
.owner70 {
 width: 100%;
 float: none;
 padding-bottom: 30px;
}

.owner27 {
 width: 100%;
 float: none;
 text-align: center;
}


#company-box dt {
float: none;
width: auto;
height: auto;
border-top: none;
line-height: 2;
font-size: 17px;
font-weight: bold;
text-indent: 0;
}

#company-box dd {
float: none;
width: auto;
height: auto;
border-top: 1px solid #999;
line-height: 2;
font-size: 16px;
text-indent: 0;
margin: 0 0 30px 0 !important;
}

.w35 {
 text-align: center;
    width: 90%;
    float: none;
    margin: 0 auto;
	padding-bottom: 15px;
}


.w60 {
    width: 90%;
    float: none;
    margin: 0 auto;
}


}





@media only screen and (max-width:700px){

.info .tel {
font-size: 20px;
}

}




@media only screen and (min-width:1050px){

#mainNav li a{
width:140px;
}

}



@media only screen and (min-width:1085px){

#mainNav li a{
width:150px;
}

}



@media only screen and (min-width:1110px){
#header,#wrapper,.inner{
 width: 1110px;
 }




#mainNav li a{
width:175px;
}

}


@media only screen and (min-width:1180px){

	#header,#wrapper,.inner{
 width: 1150px;
 }

#mainNav li a{
width:190px;
}

}



@media only screen and (max-width:480px){
	.grid{width:100%;margin:10px 0;}
	.box img{max-width:100px;}
	#mainBanner h2,#mainBanner p{font-size:80%;}
}



/*************
/* 問合せページ用
*************/
.error_message {
	color: #F00;
	margin-bottom: 10px;
}

.set_input_data {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 10px;
}


/*************
/* 検索フォーム用
*************/
.search-box table {
border-collapse: collapse;
width: 100%;
margin-bottom: 20px;
}

.search-box table td {
border: 1px solid #e3e3e3;
padding: 10px;
}

.search-box table th {
border: 1px solid #fff;
padding: 10px;
font-weight: bold;
background: #eaeff2;
width: 60px;
text-align: center;
}

.search-box button[type="button"] {
	background-color: #006075 !important;
	color: #fff;
	padding: 6px 10px;
    border: none;
	cursor: pointer;
	font-size: 14px;
}

.search-box button[type="button"]:hover {
	background:#006075;
	opacity: 0.7;
}

.pull-right {
    position: absolute;
    right: 1rem;
    top: 16%;
}