@charset "utf-8";
@import url("nav.css");
/* =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: "Hina Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  lin-height: 1.8;
  letter-spacing: 1px;
  -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;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}
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: #ffffff;
  position: relative;
  background: #000000 url(../image/header_back.png) left top repeat-x;
  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;
  line-height: 1.4;
  margin-bottom: 0;
  letter-spacing: 2px;
  color: #42210b;
}

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: #927C52;
}

h2:before {
  left:0;
}
h2:after {
  right: 0;
}
/* ヘッダー
------------------------------------------------------------*/
header {
  text-align: center;
}
header .inner {
  position: relative;
  top: 0px;
  height: 230px;
  max-width: 1280px;
}
header .logo {
  padding-top: 8px;
  width: 100%;
}
header .logo img {
  width: 90%;
  max-width: 230px;
  height: auto;
}
header .logo h1 {
  font-size: 0.75rem;
  margin: 0 0 40px;
  white-space: nowrap;
}
header .logo h1 br {
  display: none;
}
.add {
  position: absolute;
  top: 35%;
  right: 10px;
  font-size: 0.95rem;
  letter-spacing: 4px;
}
.add li:first-child {
  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: #584D52;
    transform: skew(-25deg);
    content: '';
    z-index: -1;
}
.add li:last-child {
  font-size: 1.2rem;
  font-weight: 900;
  height: 30px;
  letter-spacing: 1px;
}
.add li:last-child a {
  color: #ffffff;
}
.add li:last-child a:hover {
  color: #cdcdcd;
}
/*　ビジュアル
------------------------------------------------------------*/
#visualbox {
  margin-top: 0em;
  padding: .8em 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%);
-webkit-transform: translate(-50%, -50%);
-ms-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;
}
#about #sub_visual img{
object-position: 50% 60%;
  font-family: 'object-fit: cover; object-position: 50% 60%;';
}
#boti #sub_visual img{
object-position: 50% 80%;
  font-family: 'object-fit: cover; object-position: 50% 80%;';
}
#main_visual img.one {
object-position: 50% 30%;
  font-family: 'object-fit: cover; object-position: 50% 30%;';
}
/*　サブページ・ブログページ全体＆トップ
------------------------------------------------------------*/
.blog {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.blog.inner {
  width: 95%;
  max-width: 1200px;
}
.blog_top, .blog_post {
  width: 70%;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 1rem
}

.blog_top li a {}
.blog_top ul a {
  display: block;
  margin: 0 auto;
  padding: 1em;
  text-align: left;
  color: #000000;
  position: relative;
  width: 98%;
  border-bottom: 1px solid #cecece;
  text-decoration: none;
}
.blog_top ul a:hover {
  background: rgba(0, 0, 0, .1);
}
.blog_top ul a h3 {
  font-size: 1.25rem;
  margin: 0;
  background: none;
  padding: 0;
  line-height:1.4;
  color: #333;
}
.blog_top ul a div.h3_box {
  width: 100%;
  display: flex;
  align-items:center;
  flex-flow: wrap;
}
.blog_top ul a div.h3_box span,
.blog_post .stamp span.icon{
width:auto;
  max-width: 120px;
  margin-right: 1em;
  font-size: .75rem;
  color: #fff;
  background-color: #3e588a;
  padding: 1px 10px;
  border-radius: 3px;
}
.blog_top ul a p {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
}
.blog_top li {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items:flex-start;
  -webkit-align-items: flex-start;
  min-height: 135px;
  height: 135px;
}
.blog_top li div {
  width: 80%;
}
.blog_top span.imag {
  width: 40%;
  max-width: 280px;
  margin-right: 1rem;
}
.blog_top span.imag img {
  width: 100%;
  height: 135px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
ul.san {
  display: flex;
  flex-wrap: wrap;
align-items: flex-start;
}
ul.san::after {
  content: "";
  display: block;
  width: 33%;
}
ul.san a {
  width: 33%;
  border-bottom: none;
  margin-bottom: 1em;
}
ul.san a li {
  flex-direction: column;
  height: 100%;
  width: 100%;
}
ul.san li p {
  font-weight: 900;
  text-align: center;
  margin-top: 5px;
  width:100%;
}
ul.san li img {
  height: 180px;
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
ul.san li span {
  display: block;
  background: #E9DCA3;
  width: 100%;
  text-align: center;
  margin-top: 5px;
  padding: 3px 10px;
}
/*　ポップアップ用矢印*/
.lum-gallery-button {
  display: none !important;
}
/*　サブページ・ブログ記事用
------------------------------------------------------------*/
.blog_top h2, .blog_post h2 {
  position: relative;
  margin-bottom: 1em;
}
.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;
}
.blog_post .stamp span.time{
font-size:.875rem;
}
.post_img img {
  width: 100%;
  max-height: 600px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.blog_post .kiji {
  width: 96%;
  margin:2em auto 8em;
}
.blog_post .kiji:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}
.blog_post .kiji div {
  width:98%;
  margin:1.5em auto;
  text-align: left;
}
.blog_post .kiji p {
  margin: 1.5em 0;
}
.blog_post .kiji img {
 width:100%;
 margin:0 auto;
}
#about .blog_post .kiji img,
#boti .blog_post .kiji img{
max-width:800px;
}
.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;
  height: 200px;
  margin: 0 1em;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  clear: right;
}
ul.price {
  max-width: 760px;
  margin: 2em auto;
}
ul.price li {
  text-align: left;
  margin: .3em 0;
  lin-height: 1.6;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
ul.price li:before {
  content: "◇";
  width: 20px;
  display: block;
}
/*　「会社概要」頁
------------------------------------------------------------*/
table {
  width: 100%;
   border-collapse: collapse;
  border-spacing: 0;
  margin: 2em auto 0;
}
table th {
  padding: 15px;
  width: 25%;
  border-bottom: 1px #ccc dashed;
}
table.two th {
  background: #ffffff url(../image/th_bg2.png);
}
table td {
width:75%;
box-sizing: border-box;
  padding: 15px 0;
   border-bottom: 1px #ccc dashed;
}
table td dt{
font-weight:700;
}
table td dt:before{
content:"【";
}
table td dt:after{
content:"】";
}
ul.syoukai {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 2em;
}
ul.syoukai li {
  width: 48%;
}
ul.syoukai li p {
  margin: .5em 0 1em !important;
}
ul.syoukai li img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 280px;
  width: 100%;
}
/*　「お困りの方へ」頁
------------------------------------------------------------*/
#symptoms h2 {
  color: #c97251;
  text-shadow: 2px 2px 1px #ffffff;
}
.sikkan {
  margin-top: -2em;
  text-align: left;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.sikkan dl {
  width: 46%;
  text-align: left;
  margin: 1em .8em;
}
.sikkan dt {
  margin-bottom: .7em;
  font-size: 1.125rem;
  border-left: 10px solid #c97251;
  padding-left: .8em;
  font-weight: bold;
}
.sikkan dd {
  background: rgba(255, 255, 255, 0.6);
  min-height: 150px;
  padding: 18px;
}
.comme {
  margin: 3em auto 0;
  font-size: 1.25rem;
  padding: 3em 2em 2em;
  color: #ffffff;
  background: url(../image/symptoms_comme_back.png) center/ contain no-repeat;
  max-width: 843px;
}
.comme p {
  text-align: center;
}
.tel_contact_box {
  background: rgba(255, 255, 255, 0.8) url(../image/kao03.png) 95% bottom no-repeat;
  padding: 2em;
  text-align: left;
  max-width: 80%;
  margin: 2em auto 0;
}
.tel_contact_box p {
  text-align: center;
  line-height: 1;
}
.tel_contact_box p.tel {
  font-size: 1.5rem;
  font-weight: bold;
  color: #c97251;
}
.tel_contact_box p.tel a {
  color: #c97251;
}
.tel_contact_box p.tel a:hover {
  color: #cdcdcd;
}
.tel_contact_box span {
  font-size: 0.75rem;
  font-weight: bold;
  margin-left: 4em;
  display: block;
  width: 100%;
}
.annai {
  text-align: left;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.annai dl {
  width: 46%;
  text-align: left;
  margin: 1em .8em;
}
.annai dt {
  margin-bottom: .7em;
  font-size: 1.125rem;
  border-left: 10px solid #c97251;
  padding-left: .8em;
  font-weight: bold;
}
.annai dd {
  padding: 0 0 1em;
}
dl.qa {
  text-align: left;
  width: 96%;
  margin: 0 auto;
}
dl.qa dt {
  height: 95px;
  width: 100%;
  display: flex;
  align-items: center;
}
dl.qa dt:before {
  content: "Q";
  font-size: 50px;
  color: #c40020;
}
dl.qa dt span {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.4;
  margin-left: 30px;
  display: block;
}
dl.qa dd {
  display: flex;
  align-items: flex-start;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 2em;
  margin-bottom: 2em;
  color: #fff;
}
dl.qa dd:before {
  content: "A";
  font-size: 3rem;
  line-height: 1;
}
dl.qa dd div {
  margin-left: 2em;
  width: 100%;
}
dl.qa dd div a {
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  padding: 0 3px;
}
dl.qa dd div a:hover {
  opacity: 0.6;
}
/* サイドバー　ウィジェット*/
#sidebar {
  width: 28%;
  max-width: 300px;
}
.widget {
  border: 4px solid #D8D5DC;
  padding: .5em 1em .5em;
  margin-bottom: 2em;
}
.widget ul {
  text-align: left;
  padding: .5em 0;
}

.widget li {
  border-bottom: 1px dashed #D8D5DC;
  -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:last-child li img{
width:100%;
height:140px;
object-fit: cover;
  font-family: 'object-fit: cover;';
}
.widget:last-child span{
display:block;
font-size:.875rem;
text-align:right;
}
.widget li a {
  color: #000000;
  font-weight: normal;
  background: url(../image/side_yaji.png) left center/ auto 8px no-repeat;
  padding: 0.8em 0 0.8em 20px;
  display: block;
  height:100%;
}
.widget:last-child li a{
padding:.5em !important;
background:none;
}
.widget li a:hover {
  background-color: rgba(0, 0, 0, .1);
}
.widget h3 {
   font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  border-bottom: solid 1px #D8D5DC;
  padding: 0.3em 0.5em .5em;
  text-align: left;
  color:#000;
  letter-spacing: 2px;
}
/* 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/top1_back.png");
}
.sub #main .inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 6em;
  background:none;
}
/* フッター
------------------------------------------------------------*/
footer {
  background-color: #000000;
  position: relative;
  color: #ffffff;
  font-size:95%;
}
footer .inner {
  margin: 0 auto 4em;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-top: 3em;
}
footer a {
  color: #ffffff;
}
#addbox {
  width: 26%;
}
#map {
  margin-left: 2em;
  width: 60%;
  box-shadow: 0px 0px 5px -1px #555;
}
footer .logo img {
  width: 100%;
  height: auto;
}
footer .logo {
  max-width: 269px;
  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: #584D52;
  border: 2px solid #584D52;
  padding: 1em;
  margin: 1em .3em 0;
  outline: none;
  color: #fff;
  width: 95%;
}
.footbtn a:hover {
  background-color: #fff;
  border-color: #584D52;
  color: #584D52;
}
.footbtn a, .footbtn a:before, .footbtn a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.footbtn a:before, .footbtn a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  left: 0;
  width: 100%;
  height: 50%;
}
.footbtn a:before {
  top: 0;
}
.footbtn a::after {
  bottom: 0;
}
.footbtn a:hover:before, .footbtn a:hover::after {
  height: 0;
  background-color: #584D52;
}
#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:.85rem;
}
.navi li {
  width: 20%;
  text-align: center;
}
.navi li a {
  font-weight: normal;
  display: block;
}
.navi li a:hover {
  background: rgba(255, 255, 255, 0.5);
}
.copyright{
  text-align: center;
  padding: 1em 0;
  border-top: dashed 1px #ffffff;
}
.copyright a {
  font-weight: normal;
}
.copyright span{
display:block;
margin:1em 0 0;
}
/* トップページ
------------------------------------------------------------*/
.top1{
background:url("../image/top1_back.png");
}
.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;
 font-family: 'Kaisei HarunoUmi', serif;
}

.top1 p, .top2 p {
  line-height: 2;
  margin: .7em 0;
}
.top1 h2, .top2 h2 {
  margin-bottom: 1em;
  letter-spacing: 2px;
  font-family: 'Hina Mincho', serif;
}
.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: #927C52;
}
.top1 h2 br {
  display: none;
}
.btn {
  display: inline-block;
  width: 100%;
  max-width: 580px;
  text-align: center !important;
  background-color: #3e588c;
  font-size: 1.5rem;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  padding: 16px 24px;
  border-bottom: 4px solid #2d4066;
  box-shadow: 0px 0px 5px -1px #555;
  margin-bottom: 4em;
  -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;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
}
.btn:hover {
  transform: translateY(4px);
}
.btn2 {
  text-align: center;
  font-size: 2rem !important;
  background-color: #e07f1e;
  border-bottom: 4px solid #db6000;
  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/top2_back.png") 90% 50% /auto no-repeat;
}
.top2 a {
  color: #333333;
}
.top2 ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  width:98%;
  max-width:1020px;
  margin: 0 auto;
  padding: 2em 0 3em;
}
.top2 li {
  width: 32%;
  margin: 0;
  background: #fff;
  box-shadow: 0px 0px 5px -1px #555;
}
.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%;
  text-align: left;
  line-height: 1.6;
  margin: .8em auto;
  font-weight:normal;
}
/* top3*/
.top3{
background:#C9B858;
}
.top3 .inner {
  width: 95%;
  max-width: 1080px;
  padding: 5em 0 4em;
}
.top3 h2 {
  position: relative;

  margin-bottom: 1em;
  background: none;
}
.top3 span {
  display: block;
  margin-top: 3em;
}
.top3 span a{
color:#42210b;
}
.top3 span a:hover{
opacity: .5;
}
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;
}
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: 180px;
  margin-left: 10px;
  margin-right: 30px;
  font-size: 90%;
  background: #3e588a;
  white-space: nowrap;
  color: #ffffff;
  padding: 2px 10px;
}
/* コンセプト */
dl.concept {
  text-align: left;
}
dl.concept dt {
  font-weight: 900;
  color: #bf757b;
}
dl.concept dt:before {
  content: "●";
  padding-right: .5em;
}
dl.concept dd {
  margin-bottom: 1em;
}
/* その他
------------------------------------------------------------*/
/* ページトップ */
#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;';
}
/* 囲み１ */
.kiji_box01 {
  margin: 2em 0;
  background: #f1f1f1;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
  padding-bottom: 1.5em;
}
.kiji_box01 .inner {
  width: 95%;
  display: flex;
  flex-flow: row;
  justify-content: flex-start;
}
.kiji_box01 .nonfle {
  flex-flow: column;
}
.kiji_box01 .nonfle img {
  width: 100% !important;
  height: auto;
  max-width: 1000px;
  max-height: 500px;
  margin-bottom: 2em;
}
.kiji_box01 .nonfle p, .kiji_box01 .nonfle dl {
  margin-top: 2em;
}
/* 囲み2 */
.kiji_box02 {
  width: 100%;
  border: 10px solid #dbd8df;
  border-radius: 20px;
  padding: 2em;
  box-sizing: border-box;
  font-weight: bold;
  text-align: left;
  margin-bottom: 3em;
}
.kiji_box02 li {
  list-style-type: decimal;
  margin-left: 3em;
  display: list-item !important;
  padding: .6em 0;
}
.kiji_box02 li::marker {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
}
/* 横100 */
.wid100 {
  width: 100% !important;
}
/* リスト数字 */
dl.ol {
  counter-reset: number 0;
}
dl.ol dt:before {
  counter-increment: number 1;
  content: counter(number) ".";
}
.kiji_box01 img {
  width: 50%;
  height: auto;
  max-width: 300px;
  max-height: 200px;
  object-fit: cover;
  object-position: 100% 100%;
  font-family: 'object-fit: cover; object-position:100% 100%;';
}
.kiji_box01:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}
.kiji_box01 .box-title {
  font-size: 1.2em;
  background: url("../image/titlrback02.png");
  padding: 10px 4px 10px 20px;
  color: #FFF;
  font-weight: 900;
  letter-spacing: 0.05em;
  margin-bottom: 1.2em;
}
.kiji_box01 .box-title.bl {
  background: url("../image/titlrback03.png");
}
.kiji_box01 .box-title.bk {
  background: url("../image/titlrback01.png");
}
.kiji_box01 p, .kiji_box01 dl {
  padding: 0px 20px;
  margin: 0 !important;
}
.kiji_box01 p.clear {
  margin: 1em auto 0 !important;
  background: #fff;
  width: 95%;
}
/* フォント */
.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;
    padding: 5px 1em;
    margin-bottom: .3em;
    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 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: 290px;
  }
  #main_visual img, #sub_visual img {
    filter: brightness(50%);
  }
#main_visual span{
display:none;
}
  /*　ブログページ
------------------------------------------------------------*/
  .blog, .sub #main .inner {
    -webkit-flex-direction: column;
    flex-direction: column;
    align-items: center;
    padding-top: 3em;
  }
  .blog_top, .blog_post {
    width: 96%;
  }
  .blog_top ul a {
    width: 100%;
  }
  .blog_post .kiji {
    width: 100%;
    margin:0 auto 4em;
  }
  .blog_post .kiji div {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  ul.san a {
    width: 33%;
  }
  /*お困りの方へ*/
  .comme {
    margin-top: 2em;
    font-size: 1.125rem;
    line-height: 1.6;
  }
  #sidebar {
    width: 96%;
    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 {
    padding-top: 1em;
  }
  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;
  }
  ul.san::after {
    content: "";
    display: block;
    width: 48%;
  }
  ul.san a {
    width: 48%;
  }
  .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 {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
  }
  .top2 li {
    width: 49%;
  }
  .top2 li div img {}


  /*ブログ記事*/
  .blog_top h2{
    font-size: 2rem;
  }
  .blog_top h2,.blog_post h2{
  padding:0;
  }
  .blog_post h2{
  width:95%;
  margin-left:auto;
  margin-right:auto;
  }
  .blog_post h2:before, .blog_post h2:after{
  width: 0;
  height: 0;
  background-color: none;
}
  .blog_top, .blog_post {
    width: 100%;
  }

  .post_img img {
    width: 100%;
    max-height: 400px;
  }
  .blog_post .stamp{
line-height:1;
padding-left:.5em;
}
  /* 囲み１ */
  .kiji_box01 {
    padding-bottom: 1.5em;
  }
  .kiji_box01 .inner {
    display: block;
    width: 100%;
  }
  .kiji_box01 img {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 300px;
    margin: 0 !important;
  }
  .kiji_box01 p.clear {
    padding: .3em .8em;
  }
  .kiji_box01 .nonfle p, .kiji_box01 .nonfle dl {
    margin-top: 1.5em !important;
  }
  .btn, .btn2 {
    margin-bottom: 2em;
  }
  /*　「会社概要」頁
------------------------------------------------------------*/
  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:#000;
  color:#fff;
  }
  table td br{
  display:block;
  }
  table td span {

  }
  img.rig, img.lef {
    float: none;
    width: 100%;
    height: 300px;
    margin: 0 0 1em;
  }
  .sikkan, .annai {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .sikkan dl, .annai dl {
    width: 95%;
    margin: 1em auto;
  }
  .sikkan dd {
    min-height: auto;
    height: auto;
  }
  .comme {
    margin-top: 1em;
    font-size: 1rem;
  }
  .tel_contact_box span {
    margin-left: 0em;
    width: 80%;
  }
  dl.qa dt span {
    font-size: 1.125rem;
    margin-left: 20px;
  }
  dl.qa dd div {
    margin-left: 1em;
  }
  /* 囲み１ */
  .kiji_box01 {}
  .kiji_box01 .box-title {
    margin-bottom: 0;
  }
}
/* 644px以下
------------------------------------------------------------*/
@media screen and (max-width: 644px) {
  .blog_top h2, .blog_post h2 {
    text-align: center;
  }
  .blog_post h2 {
  padding: 0 0px;
}
 .blog_post .kiji{
  margin-bottom:2em;
  }
.blog_top h2:before, .blog_top h2:after{
  width: 0;
  height: 0;
  background-color: none;
}
  .blog_post h2 br {
    display: none;
  }
  .kiji_box02 {
    border-radius: 0;
    padding: 1em;
    margin-bottom: 3em;
  }
  .kiji_box02 li {
    padding: .5em 0;
    margin-left: 2.5em
  }
  .kiji_box02 li::marker {
    font-size: 1.2rem;
  }
}
/* 560px以下
------------------------------------------------------------*/
@media screen and (max-width: 559px) {

  h2 {
    font-size: 1.65rem;
  }
  footer .inner {
    margin-top: 20px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
    font-weight: bold;
  }
  #main_visual img, #sub_visual img {
    height: 300px;
  }
  #sidebar {
    -webkit-flex-direction: column;
    flex-direction: column;
    margin: 0 auto 0;
    width: 98%;
  }

  .blog_post h3 {
    font-size: 1.25rem;
  }
  .blog_post p {
    font-size: 1rem;
  }
  .post_img img {
    max-height: 300px;
  }
  .blog_top ul a {
    padding: 1em;
  }
  .blog_top li {
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }
  .blog_top li div {
    width: 100%;
    line-height: 1.5;
  }
  .blog_top ul a h3 {
    font-size: 1.125rem;
  }
  .blog_top span.imag {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 1em;
  }
  .blog_top span.imag img {
    width: 100%;
    height: 230px;
  }
  .blog_post div br {
    display: none;
  }
  #access .blog_post div br {
    display: block;
  }
  .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.35rem !important;
  }
  .top1 li:last-child img {
    max-height: 280px;
  }
  .top2 {
    padding-bottom: 2.5em;
	background:none;
  }
  .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;
    font-size: 100%;
  }
  dl.newsline dt {
    margin-bottom: 2%;
  }
  dl.newsline time {
    margin: 0;
  }
  .kiji_box01 img {
    max-height: 200px;
  }
  ul.syoukai {
    display: block;
  }
  ul.syoukai li {
    width: 100%;
  }
  ul.san a li {}
  /*記事・ブログ*/
  .sikkan dd, .annai dd {
    font-size: 0.812rem
  }
  .comme {
    font-size: 0.812rem;
    margin-top: .5em;
  }
  .tel_contact_box {
    max-width: 98%;
  }
  .tel_contact_box span {
    margin-left: 4em;
    width: 70%;
  }
  dl.qa dt {
    height: 85px;
  }
  dl.qa dt span {
    font-size: 1.1rem;
  }
  .kiji_box02 {
    margin-bottom: 1em;
  }
  .kiji_box02 li {
    padding: 0;
    margin-left: 2em
  }
  .kiji_box02 li::marker {
    font-size: 1.15rem;
  }
  /* フォント */
  .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;
  }
  .blog_top h2, .blog_post h2 {
    font-size: 2rem;
  }
  .comme {
    margin-top: .5em;
    background-size: cover;
    max-width: 100%;
    padding: 4em 0 3em;
  }
  .post_img img {
    margin: 0 auto;
  }
  ul.san a {
    width: 100%;
  }
   ul.san a li {}
  ul.san li img {
    height: 230px;
  }
  img.rig, img.lef {
    margin: 0;
  }
  .tel_contact_box {
    padding: 1em;
    background-size: auto 50%;
  }
  .tel_contact_box p.tel {
    font-size: 1.25rem;
  }
  .tel_contact_box span {
    margin-left: 2em;
  }
  dl.qa dt {
    height: 80px;
  }
  dl.qa dt span {
    font-size: 1rem;
  }
  dl.qa dd div {
    margin-left: 1em;
  }
  dl.qa dd img {
    height: 40px;
  }
  .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;
 }
 
}
/* 320px以下
------------------------------------------------------------*/
@media screen and (max-width: 320px) {
  .comme {
    font-size: 0.625rem;
  }
  .tel_contact_box span {
    margin-left: 0em;
  }
  dl.qa dt {
    height: 65px;
  }
  dl.qa dt span {
    margin-left: 10px;
    font-size: 0.875rem;
  }
}