@charset "utf-8";
@import url("nav.css");
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
/* =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-size: 100%;
  font-family: inherit;
  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;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  font-size: 18px;
   font-family: "Zen Kaku Gothic New","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.8;
  letter-spacing: 1px;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
/* リンク
------------------------------------------------------------*/
a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
  font-weight: bold;
  color: #3e588c;
}
.blog_top a, .blog_post a {
  text-decoration: underline;
}
a:hover, a:active {
  outline: none;
  color: #cdcdcd;
}
a, a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover img {
  opacity: 0.5;
}
img {
  margin: 0;
  image-rendering: -webkit-optimize-contrast;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border: 0;
  max-width: 100%;
  vertical-align: bottom;
  max-height: 100%;
  width: auto;
  height: auto;
}
/* 基本
------------------------------------------------------------*/
body {
  color: #000;
  position: relative;
  background:url(../image/header_back.png) left top repeat-x,
  url("../image/header_body.png") left top repeat-x,#fff;
  overflow-x: hidden;
}
#warapper {
  width: 100%;
  position: relative;
}

.inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

h2 {
  font-size: 2rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4;
  margin-bottom: 0;
  letter-spacing: 4px;
  color: #333;
  font-family: "Shippori Mincho B1";
}

h2 {
  position: relative;
  display: inline-block;
  padding: 0 120px;
}
h2:before, h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 80px;
  height: 1px;
  background-color: #000;
}

h2:before {
  left:0;
}
h2:after {
  right: 0;
}
/* ヘッダー
------------------------------------------------------------*/
header {
  text-align: center;
}
header .inner {
  height: 180px;
  max-width: 1280px;
}
header .logo {
  padding-top: 8px;
  width: 100%;
}
header .logo img {
  width: 90%;
  max-width: 290px;
  height: auto;
}
header .logo h1 {
  font-size: 0.8rem;
  margin: 0 0 20px;
  white-space: nowrap;
  font-weight:500;
}
header .logo h1 br {
  display: none;
}
.add {
  position: absolute;
  top: 35%;
  right: 10px;
  font-size: 0.95rem;
  letter-spacing: 4px;
}
.add li:first-child {
font-weight:500;
  color: #ffffff;
  padding: 5px 1em;
  margin-bottom: .3em;
  position: relative;
}

.add li:first-child:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #7ca254;
    content: '';
    z-index: -1;
}
.add li:last-child {
  font-size: 1.5rem;
  font-family: "Shippori Mincho B1";
  font-weight: 700;
  font-style: normal;
  height: 30px;
  letter-spacing: 1px;
}
.add li:last-child a {
  color: #000;
}
.add li:last-child a:hover {
  color: #cdcdcd;
}
/*　ビジュアル
------------------------------------------------------------*/
#visualbox {
  margin-top: 0em;
  padding: 0.3em 1.6em 3em;
}
#main_visual, #sub_visual {
  max-width: 1800px;
  margin: 0 auto;
  position: relative;
  z-index:-1;
}
#main_visual span{
position:absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width:auto;
max-width:800px;
}
#main_visual img, #sub_visual img {
  width: 100%;
  object-fit: cover;
  object-position: 50%;
  font-family: 'object-fit: cover; object-position: 50%;';
}
#main_visual img{
height:480px;
}
#sub_visual img{
height:280px;
}
#main_visual img.one {
object-position: 50% 80%;
  font-family: 'object-fit: cover; object-position: 50% 80%;';
}
/*　サブページ・ブログページ全体＆トップ
------------------------------------------------------------*/
.blog_top, .blog_post {
  width: 100%;
  max-width:780px;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 1rem
}
.blog_top{
padding:0 0 5em;
}
.blog_top ul li{
display:flex;
justify-content: space-around;
padding:2em 0;
text-align:left;
border-bottom:1px dashed #ccc;
}

.blog_top ul li span.imag{
display:block;
width:35%;
max-width:300px;
position:relative;
}
.blog_top ul li span.imag img{
width:100%;
height:100%;
max-height:300px;
object-fit: cover;
  object-position: 50%;
  font-family: 'object-fit: cover; object-position: 50%;';
}
.blog_top ul li span.icon{
position:absolute;
top:0;
left:0;
  color: #fff;
  font-weight:600;
	background: #333;
	 padding: 0px 10px;
	font-size: .75rem;
  height: auto;
  z-index: 1;
}
.blog_top ul li div{
width:55%;
}
.blog_top ul li div h3{
font-size:1.25rem;
line-height:1.4;
margin-bottom:.3em;
text-align:left;
padding:0 !important;
width:100%;
color:#000;
font-weight:700;
}
.blog_top ul li div p{
font-weight:500;
}
.blog_top ul a{
display:block;
text-decoration: none;
color:#333;
}
.blog_top ul a:hover{
background-color:rgba(0,0,0,0.1);
}
.blog_top ul a:hover img{
opacity: 1;
}

/* お知らせ
------------------------------------------------------------*/
#news .blog_top dl{
display:flex;
text-align:left;
padding:1.5em 0;
border-bottom:1px solid #ccc;
}
#news .blog_top dl:before {
  content:'';
  display: block;
  padding-top: 280px;
  margin-top: -280px;
}
#news .blog_top dl dt{
font-weight:700;
}
#news .blog_top dl dt,
#news .blog_top dl dd{
padding:0 1em;
}
#news .blog_top dl dd h3{
display:block;
color:#000;
font-weight:700;
font-size:1.15rem;
text-shadow:none;
margin-bottom:.5em;
}
#news .blog_top dl dd img{
float:left;
width:100%;
height:auto;
margin:1em 10px 10px;
object-fit: cover;
  object-position: 50%;
  font-family: 'object-fit: cover; object-position: 50%;';
}

/*　ポップアップ用矢印
.lum-gallery-button {
  display: none !important;
}*/

/*　サブページ・ブログ記事用
------------------------------------------------------------*/
.blog_top h2, .blog_post h2 {
  position: relative;
}
.blog_post h3 {
  background: url(../image/blog_titleline.png) bottom left no-repeat;
  font-weight: bold;
  letter-spacing: 2px;
  font-size: 1.625rem;
  text-align: left;
  padding: 1em .5em .5em;
  border-bottom: 2px solid #c7b299;
  margin-bottom: .5em;
}
.blog_post h3.ore {
  background: none;
  border: none;
  color: #ef5a24;
  padding: 0;
  letter-spacing: 1px;
  line-height: 1.4;
}
.blog_post p, .blog_post ul {
  font-weight: normal;
  text-align: left;
}
.blog_post .stamp{
margin-bottom:1em;
}
.blog_post .stamp span.icon{
margin-left:.5em;
background:#333;
color:#fff;
padding:0 10px;
}
.blog_post .stamp span.time{
font-size:.875rem;
}
.blog_post img {
  width: 100%;
  max-width:780px;
  height:500px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.blog_post .kiji {
  width: 100%;
  margin:2em auto 8em;
}
.blog_post .kiji:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}
.blog_post .kiji div {
  width:100%;
  margin:1.5em auto;
  text-align: left;
}
.blog_post .kiji p {
  margin: 1.5em 0;
}
.blog_post .kiji p.non{
margin:0;
}
#about .blog_post .kiji p{
font-size:1.35rem;
line-height:1.95;
font-family: "Shippori Mincho B1";
font-weight:600;
}
#about .blog_post .kiji div{
margin-bottom:0em;
}
.blog_post .kiji img {
 width:100%;
 max-width:780px;
}
.blog_post .kiji span {
  font-weight: bold;
  font-size: 1.35rem;
}
img.rig {
  float: right;
  width: 380px;
  height: 200px;
  margin: 0 1em;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  clear: left;
}
img.lef {
  float: left;
  width: 380px !important;
  height: 300px;
  margin: 0 1em;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  clear: right;
}

/*　「会社概要」頁
------------------------------------------------------------*/
.colbox{
 background:rgba(255,255,255,.6);
 padding:2em 3em 3em;
 margin-top:6em !important;
}
table {
  width: 100%;
  border-collapse:separate;
  border-spacing: 15px 20px;
  margin: 0 auto 0;
}
table th {
  padding: 0 10px 0;
  width: 25%;
  border-bottom: 1px #ccc dashed;
  font-weight:600;
  color:#2e318a;
  vertical-align: top;
}
table.two th {
  background: #ffffff url(../image/th_bg2.png);
}
table td {
width:75%;
box-sizing: border-box;
  padding: 0 10px 20px;
   border-bottom: 1px #ccc dashed;
}
table td img{
width:100%;
height:auto !important;
margin-bottom:.5em;
}
table td dl{
margin-bottom:1em;
}
table td dt{
font-weight:700;
}
table td dt:before{
content:"【";
}
table td dt:after{
content:"】";
}
table td dd span{
font-size:1rem !important;
}
br.non{
display:none;
}

/*　「料金」頁
------------------------------------------------------------*/
#price .blog_post{
max-width:1024px;
padding-bottom:8em;
}
#price .blog_post h3{
text-align:center;
border:none;
font-size:3rem;
color:#8f82bc;
text-shadow: 2px 2px 0px rgba(255, 255, 255, 1), 4px 4px 0px rgba(143,130,188,1);
margin-top:.5em;
}
#price .blog_post h3 span{
 border: solid 3px #8f82bc;
border-radius: 10px;
padding:.5em 3em;
}
#price .blog_post .kiji{
display:flex;
justify-content:center;
margin:0em 0 6em;
}

#price .blog_post .kiji dl{
width:48%;
background:rgba(255,255,255,.8);
padding:1em 2em 2em;
margin:0 1em;
}
#price .blog_post .kiji dt{
font-size:1.15rem;
font-weight:600;
display:flex;
justify-content:space-between;
align-items: center;
}
#price .blog_post .kiji dt span{
color:#d14949;
}
#price .blog_post .kiji dd img{
width:100%;
height:auto;
}
#price .blog_post .kiji img {
 width:100%;
 height:auto;
}
#price .blog_post .kiji ul{
display:flex;
justify-content: center;
align-items: center;
}
#price .blog_post .kiji li{
padding:0 1em;
}
#price .blog_post .kiji li:first-child{
width:35%;
}
#price .blog_post .kiji li:last-child{
width:45%;
}
#price .blog_post .kiji li span{
display:block;
font-size:1.25rem;
margin-top:1em;
margin-bottom:1em;
}
/* サイドバー　ウィジェット
#sidebar {
  width: 27%;
  min-width:200px;
}
.widget {
  padding: .5em 1em .5em;
  margin-bottom: 2em;
}
.widget ul {
  text-align: left;
  padding: .5em 0;
}

.widget li {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.widget:last-child li{
border:0;
}

.widget li a {
  color: #000000;
  font-size:1rem;
  font-weight: normal;
  padding: .3em 5px;
  display: block;
  height:100%;
}

.widget li a:hover {
  background-color: rgba(0, 0, 0, .1);
}
.widget h3 {
   font-weight: 700;
  font-size: 1.3rem;
  line-height: 1;
  border-bottom: solid 1px #333;
  padding: 0.3em 0.5em .5em;
  text-align: left;
  color:#000;
  letter-spacing: 2px;
}*/
/* お問い合わせ
------------------------------------------------------------*/
#contact #main .inner{
padding-top:0;
}
.tel_contact_box{
background:#f8ecd3;
border:1px solid #ccc;
border-radius: 20px;
color:#000;
font-weight:700;
margin:2em auto 6em;
padding:3em 0;
width:95%;
}
.tel_contact_box div span{
font-size:2rem;
font-family: "Shippori Mincho B1";
}
.tel_contact_box div span a{
color:#000;
text-decoration: none;
}
.tel_contact_box div span a:hover{
background:rgba(255,255,255,.5);
}
/* page navigation
------------------------------------------------------------*/
.pager, .navigation {
  text-align: center !important;
  margin: 4em 0;
}
.pager span a, .pager a span, .navigation a {
  padding: 3px 10px;
  margin: 0 1px;
  border: 1px dashed #333;
  border-radius: 5px;
  text-decoration: none;
  color: #fff;
  background: rgba(0, 0, 0, 1);
}
.pager a span, .navigation a {
  cursor: pointer;
}
.pager span a:hover, .pager a span:hover, .navigation a:hover {
  background: rgba(0, 0, 0, .3);
}
/* メニュー
------------------------------------------------------------*/
/* レイアウト
------------------------------------------------------------*/
#main {
  text-align: center;
  padding-bottom: 0;
  background: #ffffff;
  color:#000;
}
.sub #main{
background:url("../image/back_kami.png");
}

.sub #main .inner{
  display: flex;
  justify-content:center;
  align-items: flex-start;
  padding-top: 4em;
  background:none;
  max-width:1200px;
}
.sub #main{
padding-top:5em;
}

/* フッター
------------------------------------------------------------*/
footer {
  background:url("../image/footer_back.png") left bottom repeat-x;
  position: relative;
  color: #000;
  font-size:95%;
}
footer .inner {
  margin: 0 auto 4em;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-top: 3em;
}
footer a {
  color: #000;
}
#addbox {
  width: 26%;
}
#map {
  margin-left: 2em;
  width: 60%;
}
footer .logo img {
  width: 100%;
  height: auto;
}
footer .logo {
  max-width: 257px;
  margin-bottom: 0em;
}
.logobox {
  position: relative;
}
.logobox ul {
  line-height: 1.5;
  padding-top: .5em;
}
.logobox li {
  white-space: nowrap;
}
/* フッターボタン */
.footbtn a {
  position: relative;
  display: flex;
  justify-content: center;
  background: #7ca254;
  border: 2px solid #7ca254;
  padding: 1em;
  margin: 1em .3em 0;
  outline: none;
  color: #fff;
  width: 95%;
}
.footbtn a:hover {
  background-color: #fff;
  border-color: #7ca254;
  color: #7ca254;
}

#map {
  position: relative;
  padding-bottom: 27%;
  height: 0;
  overflow: hidden;
}
#map2 {
  position: relative;
  width:100%;
  padding-bottom: 80%;
  height: 0;
  overflow: hidden;
  margin-top:0;
}
#map iframe, #map object, #map embed, #map2 iframe, #map2 object, #map2 embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.navi {
  max-width: 960px;
  margin: 3em auto 2em;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  font-size:.95rem;
}
.navi li {
  width: 20%;
  text-align: center;
}
.navi li a {
  display: block;
  font-weight:500;
  font-style:normal;
}
.navi li a:hover {
color:#000;
  background: rgba(255, 255, 255, 0.5);
}
.copyright{
  text-align: center;
  padding: 1em 0;
  border-top: dashed 1px #000;
}
.copyright a{
font-weight:500;
  font-style:normal;
}
.copyright a:hover {
color:#999;
}
.copyright span{
display:block;
margin:1em 0 0;
}
/* トップページ
------------------------------------------------------------*/
.top1 .inner{
background:url("../image/top1_deco.png") right bottom no-repeat;
background-color:rgba(255,255,255,0.4);
background-blend-mode:lighten;
}
.top1 ul {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  padding: 5em 0 4em;
  width: 98%;
  margin: 0 auto;
 color:#000000;
}
.top1 p{
text-shadow: #fff 0px 0 3px;
}

.top1 p, .top2 p {
  line-height: 2;
  margin: .7em 0;
  font-weight:400;
}
.top1 h2, .top2 h2 {
  margin-bottom: 1em;
}
.top1 h2{
text-align:left;
padding:0 120px 0 0;
}
.top1 h2:before{
background:none;
}
.top1 h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 100px;
  height: 1px;
  background-color: #000;
}
.top1 h2 br {
  display: none;
}
.btn {
  display: inline-block;
  width: 100%;
  max-width: 380px;
  text-align: center !important;
  background-color: #8f82bc;
  font-size: 1.25rem;
  color: #FFF;
  text-decoration: none;
 
  padding: 16px 24px;
  margin:0 auto;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn a, .btn2 a {
  color: #fff !important;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  font-weight:500;
  font-style:normal;
}
.btn:hover {
  transform: translateY(4px);
}
.btn2 {
  text-align: center;
  font-size: 2rem !important;
  background-color: #e07f1e;
  margin-top: 1em !important;
  letter-spacing: 3px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.top1 li {
  text-align: left;
  width: 50%;
  margin-right: 30px;
}
.top1 li:first-child {
  margin-right: 0;
  width: 58%;
}
.top1 li:last-child img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.top2 {
  padding: 5em 0 4em;
background:url("../image/back_kami.png");
}
.top2 .inner{
width:95%;
}
.top2 a {
  color: #000;
}
.top2 ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  width:100%;
  max-width:1020px;
  margin: 0 auto;
  padding: 2em 0 3em;
}
.top2 li {
  width: 32%;
  margin: 0;
}
.top2 ul:after {
display: block;
content:"";
width: 31%;
}
.top2 li div img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.top2 li h3 {
  display: block;
  width: 90%;
  line-height: 1.6;
  margin: .8em auto;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;
font-size:1.2rem;
}
/* top3*/
.top3{

}
.top3 .inner {
  width: 95%;
  max-width: 1280px;
  padding: 5em 0 4em;
  background:url("../image/top3_deco.png") left center no-repeat;
}
.top3 h2 {
  position: relative;

  margin-bottom: 1em;
  background: none;
}
.top3 span {
  display: block;
  margin-top: 3em;
}

a.fuwa {
  display: block;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: normal;
  color: #000;
  width:90%;
  max-width:880px;
  margin:0 auto;
}
dl.newsline {
  display: flex;
  flex-direction: row;
 align-content:center;
 align-items:center;
  flex-wrap: nowrap;
  margin: 0;
  border-bottom: 1px dashed #927C52;
  padding: 1em .7em;
  line-height: 1.4;
  text-align: left;
}
a.fuwa:hover {
  background: rgba(239, 239, 239, .6);
  color: #111111;
}
dl.newsline dt {
 
}
dl.newsline time {
  max-width: 100px;
  margin-right: 20px;
  white-space: nowrap;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;

}
/* その他
------------------------------------------------------------*/
/* ページトップ */
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
}
#pageTop a {
  display: block;
  z-index: 999;
  padding: 40px 0 0;
  width: 80px;
  height: 80px;
  background: #000;
  color: #fff;
  text-decoration: none;
  text-align: center;
  border-radius: 50%;
  font-size: 80%;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#pageTop a::before {
  font-family: 'Font Awesome 5 Free';
  content: '\f102';
  font-size: 20px;
  color: #fff;
  position: absolute;
  width: 20px;
  height: 20px;
  top: -35px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/* マーカー */
.border {
  background: linear-gradient(transparent 45%, rgba(193, 39, 45, 0.3) 45%);
}
.border_ore {
  background: url(../image/underline_ore.png) left bottom repeat-x;
}
/* 米印 */
.kome {
  list-style-type: none;
  text-indent: -1em;
}
.kome:before {
  display: inline;
  content: "※";
}
/* ◇印 */
ul.sikaku li {
  list-style-type: none;
  text-indent: -1em;
}
ul.sikaku li:before {
  display: inline;
  content: "◆";
}
.object-fit-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

/* 横100 */
.wid100 {
  width: 100% !important;
}
/* リスト数字 */
dl.ol {
  counter-reset: number 0;
}
dl.ol dt:before {
  counter-increment: number 1;
  content: counter(number) ".";
}

/* フォント */
.dai {
  font-size: 1.625rem;
}
.tyu {
  font-size: 1.375rem;
}
.syo {
  font-size: 0.75rem;
}
.bold {
  font-weight: bold;
}
.red {
  color: #DC3033;
}
.b {
  font-weight: 900;
}
.normal {
  font-weight: 400;
}
/* リンクカラー */
.a_color a {
  color: #ffffff;
}
.b_color a {
  color: #333333;
}
.a_color a:hover, .b_color a:hover {
  opacity: .5;
}
/* マーカー */
.marker_pink {
  background: linear-gradient(transparent 60%, #f8e7dc 60%);
}
.marker_green {
  background: linear-gradient(transparent 60%, #BADDDD 60%);
}
/* 入替 */
.sp {
  display: none;
}
/* 余白 */
.pad0 {
  padding: 0 !important;
}
.pad1 {
  padding: 1em !important;
}
.mar0 {
  margin: 0 !important;
}
.mar_t2 {
  margin-top: 2em;
}
/* クリック */
.click {
  font-size: 50%;
  display: block;
  line-height: .8;
  padding-top: 1em;
}
/* 1280px以下
------------------------------------------------------------*/
@media screen and (max-width: 1279px) {
body {
  font-size: 97%;
  }
#main_visual img, #sub_visual img {
  height: 360px;
}
  #visualbox {
    padding: .5em 0 0;
  }
  #addbox {
    width: 30%;
  }
  h2 {
  font-size: 1.75rem;
}
.top1 h2{
padding:0;
}
.top1 h2:after {
background:none;
}

}
/* 960px以下
------------------------------------------------------------*/
@media screen and (max-width: 959px) {
  /*font*/
  body {
    font-size: 93%;
  }
  header {
    background: none;
    margin-bottom: 0;
  }
  header .inner {
    width: 96%;
    top: 80px;
    height: 56px;
    font-weight: 700;
  }
  header .logo h1 {
    color: #ffffff;
  }
  header .logo img {}
  .add {
    position: relative;
    text-align: center;
	right:0;
  }
  .add li:first-child {
    background: none;
    color: #ffffff;
    text-shadow: none;
  }
  .add li:first-child:before {
  top: 50%;
left: 50%;
transform: translate(-50%, -50%) skew(-25deg);
-webkit-transform: translate(-50%, -50%) skew(-25deg);
-ms-transform: translate(-50%, -50%) skew(-25deg);
width:90%;
max-width:320px;
}
  .add li:last-child,
  .add li:last-child a {
    color: #ffffff;
  }
  #main {
    padding-bottom: 0;
  }
  .logobox li {
    font-size: 0.875rem;
  }
  .logobox li.dai {
    font-size: 1.3rem;
  }
  #visualbox {
	padding: 0;
  }
  #main_visual img, #sub_visual img {
    height: 330px;
  }
  #main_visual img, #sub_visual img {
    filter: brightness(50%);
  }
#main_visual span{
display:none;
}

  /*　ブログページ
------------------------------------------------------------*/
.sub #main{
padding-top:5em;
}
  .sub #main .inner {
    -webkit-flex-direction: column;
    flex-direction: column;
    align-items: center;
    padding-top: 2em;
	width:90%;
  }
  .blog_top, .blog_post {
    width: 100%;
	padding-bottom:0;
  }
  .sub #main h2:before, .sub #main h2:after{
  display: none;
   }
   .sub #main h2{
   padding:0;
   width:90%;
   }
  .blog_top ul a {
    width: 100%;
  }
  .blog_post .kiji {
    width: 100%;
    margin:0 auto 4em;
  }
  .blog_post .kiji div {

  }
   /* 料金
------------------------------------------------------------*/
  #price .blog_post .kiji li:first-child{
width:45%;
}
#price .blog_post .kiji li:last-child{
width:60%;
}
  
  /* お知らせ
------------------------------------------------------------*/
#news .blog_top dl{
flex-direction: column;
}
#news .blog_top dl dd img{
width:50%;
margin:1em 0 0;
}
  
 
  #sidebar {
    width: 100%;
    max-width: 900px;
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    margin-top: 0;
  }
  .widget {
    width: 48%;
  }
  footer .inner {
    margin: 0 auto 4em;
    justify-content: space-around;
  }
  .footbtn a {
    width: 100%;
  }
  #addbox {
    width: 30%;
  }
  #map {
    padding-bottom: 30%;
    width: 56%;
  }
  .copyright {
    font-size: .812rem;
  }
  #nami_box {
    background: none;
  }
  .top1 h2{
font-size:1.65rem;
}
  .top2 li {
    margin: 1em 0em;
  }
  .top2 ul {
    padding: 0em 0 2em;
  }
  .top2 li div img {
    height: 140px;
  }
  .top3 h2 {
    margin-bottom: .5em;
  }
  dl.newsline time {}
}

/* 768px以下
------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .top1 h2 {
    text-align: center;
	display:block;
  }
  header .logo img {
    margin-right: 20px;
  }
  .logobox {}
  .logobox li {
    font-size: 1rem;
	text-align:center;
  }
  .logobox li:last-child {
    width: 100%;
  }
  footer .logo {margin:0 auto;}
  footer .logo img{
  margin-left:-.2em;
  }
  .footbtn a {
    padding: .8em 4em;
	margin:1em auto 0;
  }

  footer .inner {
    -webkit-flex-direction: column;
    flex-direction: column;
    padding-top: 30px;
    margin-bottom: 0;
  }
  #addbox, #map {
    width: 90%;
    margin: 0 auto 2em;
  }
  #map {
    padding-bottom: 50%;
  }
  .navi {
    display: none;
  }
  
  .top1 ul {
    flex-direction: column;
    width: 100%;
    padding: 4em 0;
  }
  .top1 li {
    margin: 0;
  }
  .top1 li:first-child {
    width: 100%;
    padding: 0;
    margin: 0 auto;
  }
  .top1 li:first-child div.inbox {
    width: 90%;
    margin: 0 auto;
  }
  .top1 li:last-child {
    display: none;
  }
  .top2 li:last-child img {
    max-height: 400px;
  }
  .top2 ul {
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
  }
  .top2 li {
    width: 49%;
  }
  .top2 li div img {}

.blog_top ul li span.imag{
width:40%;}
 .blog_post .stamp{
line-height:1;
padding-left:.5em;
}

 
  .btn, .btn2 {
    margin-bottom: 1em;
  }
  /*　「会社概要」頁
------------------------------------------------------------*/
#about .blog_post .kiji p{
font-size:1.15rem;
}
#about .blog_post .kiji div{
margin-bottom:2em;
}
.colbox{
 margin-top:0em !important;
}
  table {
    width: 100%;
    border: none;
    margin-bottom: 0;
  }
  table th, table td {
    display: block;
    width: auto;
    box-sizing: border-box;
    border: none;
  }
  table th{
  background:#8f82bc;
  color:#fff;
  padding:.5em 1em;
  margin-bottom:1em;
  }
  table td br{
  display:block !important;
  }
  table td span {

  }
  img.rig, img.lef {
    float: none;
    width: 100% !important;
    height: auto;
    margin: 0 0 1em;
  }

 /*　「料金」頁
------------------------------------------------------------*/
#price .blog_post{
padding-bottom:3em;
}
#price .blog_post .kiji,
#price .blog_post .kiji ul{
display:block;
}

#price .blog_post .kiji dl{
width:100%;
margin:1em 0;
}
#price .blog_post .kiji li{
width:100% !important;
}
#price .blog_post .kiji li:first-child{
max-width:380px;
margin: 0 auto 2em;
}
#price .blog_post .kiji li br{
display:none;
}
 #price .blog_post h3{
font-size:2.5rem;
margin-top:0;
}
#price .blog_post h3 span{
display:block;
width:100%;
padding:.3em 0;
} 
}
/* 644px以下
------------------------------------------------------------*/
@media screen and (max-width: 644px) {
 .blog_post .kiji{
  margin-bottom:2em;
  }
.blog_post img {
  height:380px;
  }
  .blog_post h2 br {
    display: none;
  }
  
  #price .blog_post .kiji:last-of-type{
  margin-bottom:4em;
  }
 
}
/* 560px以下
------------------------------------------------------------*/
@media screen and (max-width: 559px) {

  h2 {
    font-size: 1.5rem;
  }
  footer .inner {
    margin-top: 0px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
    font-weight: bold;
  }
  #main_visual img, #sub_visual img {
    height: 300px;
  }
  .add li:first-child {
    padding: 0;
    margin-bottom: 0;
  }
  #sidebar {
    -webkit-flex-direction: column;
    flex-direction: column;
    margin: 0 auto 0;
    width: 98%;
  }
.sub #main{
padding-top:3em;
padding-bottom:1em;
}
.sub #main .inner {
  display: block;
}
  .blog_post h3 {
    font-size: 1.25rem;
  }
  .blog_post p {
    font-size: 1rem;
  }
  .blog_top{
padding-bottom:0;
width:100%;
}

.blog_top ul li span.imag{
width:100%;
max-width:100%;
margin-bottom:1em;
}
  .blog_top ul a {
    padding: 0 1em;
  }
  .blog_top ul li {
    display:block;
	width:100%;
  }
  .blog_top ul li div {
    width: 100%;
    line-height: 1.5;
  }
  .blog_top ul a h3 {
    font-size: 1.125rem;
  }
  #news .blog_top dl dd img{
width:100% !important;
}
  .blog_post div br {
    display: none;
  }
  .widget {
    width: 100%;
  }
  #pagetop {
    right: 10px;
    bottom: 10px;
  }
  .top1, .top2 {
    line-height: 1.6;
  }
 .top1 h2 br{
 display:block;
 }
    .top1 li:first-child div.inbox {
    width: 90%;
  }
   .top1 br {
    display: none;
  }
   .top1 br.none {
    display: block;
  }
   .top1 ul {
    padding: 3em 0;
  }
  .btn, .btn2 {
    font-size: 1.15rem !important;
  }
  .top1 li:last-child img {
    max-height: 280px;
  }
  .top2 {
    padding-bottom: 2.5em;
  }
  .top2 ul {
    -webkit-flex-direction: column;
    flex-direction: column;
    padding: 0 0 1.5em;
  }
  .top2 li {
    width: 100%;
  }
  .top2 li div img {
    height: 200px;
  }
  .top3 .inner {
    padding: 4em 0;
  }
  .top3 h2 {
    margin-bottom: 0;
  }
  .top3 span {
    margin-top: 2em;
  }
  dl.newsline {
    display: block;
  }
  dl.newsline dt {
    margin-bottom: 2%;
  }
  dl.newsline time {
    margin: 0;
  }
   #price .blog_post h3{
font-size:2rem;
margin-top:0;
}
#price .blog_post h3 span{
padding:.2em 0;
} 
  
   
  .tel_contact_box {
    max-width: 98%;
  }
  .colbox{
 padding:2em 1em 1em;
 }
  
  /* フォント */
  .dai {
    font-size: 1.375rem;
  }
  .tyu {
    font-size: 1.125rem;
  }
  .syo {
    font-size: 0.625rem;
  }
  #map {
    padding-bottom: 80%;
  }
}
/* 480px以下
------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  header .logo img {
    margin: 0;
  }
  header .logo h1 {
  font-size: 0.7rem;
  margin: 0 0 30px;
}
    header .logo h1 br {
    display: block;
  }
   
  img.rig, img.lef {
    margin: 0;
	height: auto;
	max-height:260px;
  }
  
  .logobox li {
    font-size: 0.875rem;
  }
  .footbtn a {
    padding: .8em;
  }
  #map {
    padding-bottom: 100%;
  }

  .top2 h2,
  .top3 h2{
  padding:0;
  }
  .top2 h2:before,
  .top2 h2:after,
  .top3 h2:before,
  .top3 h2:after{
  background:none;
  }
  .top2 {
    padding: 3em 0;
  }
  
 .top3 .inner{
 padding:3em 0;
 }
  .btn, .btn2 {
    font-size: 1rem !important;
  }
 
}
/* 320px以下
------------------------------------------------------------*/
@media screen and (max-width: 320px) {

 
}