@charset "utf-8";

* {font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;}

body {
 color: #000;
 line-height:2;
 font-size:1.1em;
 -webkit-text-size-adjust: 100%;
}

img {
 max-width : 100% ;
 height : auto ;
} 

a{
 font-size:100%;
 color:#a28725;
 text-decoration:none;
}

a:hover, a:active{
 opacity:0.6;
 filter: alpha(opacity=60);
}

/* header
--------------------------------*/ 
header{
 width: 100%;
 padding:10px 1%;
 background:#276600;
 position:relative;
}
header:after {
  content: "";
  clear: both;
  display: block;
}
header a:link{
 opacity:1;
 filter: alpha(opacity=100);
}

header h1{
 font-size:0.8em;
 color:#fff;
 font-weight:normal;
 text-align:center;
 line-height:1;
}

header #logo{
 margin:-30px 0 0 0;
 font-size:1.5em;
 color:#fff;
 line-height:1;
 float:left;
}
header #logo img{

}
header #logo a{color:#fff;}


header .info{
 font-size:0.9em;
 color:#d22c73;
 font-weight:normal;
 line-height:1;
 float:left;
}
.tel{
 margin:15px 0 0 20px;
 color:#fff;
 font-size:1.4em;
 line-height:1;
 float:right;
}
.tel a{
 color:#fff;
}


/* nav
--------------------------------*/ 
nav {
 margin:5px 0 5px 0;
 line-height:1;
 float:right;
}
nav ul{
 display: flex;
 justify-content: flex-end;
}
nav ul li {
 padding:0px 0 0 20px;
 font-size:0.9em;
}
nav ul li a{
 color:#fff;
 opacity:1;
 filter: alpha(opacity=100);
 position: relative;
 text-decoration: none;
}
nav ul li a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
nav ul li a:hover::after{
  transform: scale(1, 1);
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
}


/* pagetitle
--------------------------------*/ 
#pagetitle{
 width:100%;
 margin:0 0 0px 0;
 text-align:center;
}
#pagetitle h2{
 margin:20px 0 0 0;
 color:#276600;
 font-size:2.4em;
 font-weight:normal;
 border-bottom: 1px solid #bdbdbd;
}
#pagetitle h3{
 margin:0 0 10px 0;
 color:#ccc;
 font-size:1.2em;
 font-weight:normal;
}
#pagetitle img{
 width:100%;
}


/* wrapper,content,section
--------------------------------*/ 
#wrapper{
 width:100%;
 background: #fff;
}

.content{width:100%;}
.content-back{background-color:#ddf1d1;}

section{}
section:after {
  content: "";
  clear: both;
  display: block;
}

.inner{
 width:98%;
 max-width:1200px;
 margin:0 auto;
 padding:75px 0;
 text-align:center;
}
.inner h3{
 margin:0 0 40px 0;
 color:#276600;
 font-size:2em;
 font-weight:normal;
 text-align:center;
}
.inner section{margin:0 auto 75px auto;}
.inner section:last-child{margin:0 auto 0 auto;}
.inner h4{
 margin:0 0 40px 0;
 font-size:1.2em;
 text-align:center;
}
.inner p{margin:0 0 40px 0;}

.l55-r40 .left{
 width:55%;
 float:left;
}
.l55-r40 .right{
 width:40%;
 float:right;
}

.l40-r55 .left{
 width:40%;
 float:left;
}
.l40-r55 .right{
 width:55%;
 float:right;
}


.inner ul{
margin:0 0 40px 0;
padding:0 0 0 1em;
text-align:left;
}


ul.disc{list-style:disc;}
ul.deci{list-style:decimal;}

/*
ul{
 margin:0 0 25px 2em;
}
ul li{
 margin:0 0 5px 0;
}
*/

hr.basic{
 border-top: 1px solid #bdbdbd;
 margin:0px 0 25px 0;
}


/* footer
--------------------------------*/ 
footer{
 width:100%;
 padding:40px 1%;
 background:#3a820d;
}
footer:after {
  content: "";
  clear: both;
  display: block;
}
footer p {
 color:#fff;
 font-size:1.5em;
}

#footer-info{}
#footer-info ul{
 display: flex;
}
#footer-info ul li {
 padding:0 50px 20px 0px;
 color:#fff;
 font-size:0.9em;
}
#footer-info ul li a{color:#fff;}

#footer-nav{}
#footer-nav ul{
 display: flex;
 justify-content:flex-end;
}
#footer-nav ul li {
 margin:0 0 0 10px;
 padding:0 0 0 20px;
 font-size:0.9em;
 line-height:1;
 background:url(../img/common/footer-marker.png) 10px 50% no-repeat; 
}
#footer-nav ul li img{
margin:;
}
#footer-nav ul li a{color:#fff;}

small{
 padding:20px 0 20px 0;
 text-align:center;
 font-size:0.8em;
 display:block;
 clear:both;
 background: #fff;
}

#page-top {
 position: fixed;
 bottom:20px;
 right: 20px;
}

/* scroll-adjust
--------------------------------*/
.scroll-adjust{
margin-top:-250px;
padding-top:250px;
}


/* top
--------------------------------*/
/* mainimg-top
--------------------------------*/
#mainimg-top{width:100%;}


/* top-topics
--------------------------------*/
#top-topics{
 width:100%;
 padding:50px 0;
 background:#fff;
}
#top-topics h2{
 font-size:2.4em;
 font-weight:normal;
 text-align:center;
}
#top-topics #inner{
 width:100%;
 max-width:1200px;
 margin:0px auto;
 border-top: 1px solid #bdbdbd;
}
#top-topics article{
 width:100%;
 max-width:1200px;
 padding:25px;
 border-bottom: 1px dotted #bdbdbd;
}
#top-topics article:after {
  content: "";
  clear: both;
  display: block;
}
#top-topics article .date{
 padding:2px 5px;
 color:#fff;
 font-size:0.8em;
 background:#333;
 display:inline;
}
#top-topics article .title{
 margin:10px 0;
 padding:0 0 0 10px;
 font-size:1.4em;
}
#top-topics article .sentence{
 margin:0 0 15px 0;
 padding:0 0 0 10px;
}
#top-topics article ul{
 margin:0 0 15px 0;
 padding:0 0 0 2em;
}
#top-topics article ul li{
 margin:0 0 15px 0;
}
/* 
#top-topics article:last-child{
 border-bottom:none;
}
*/

/* 
#top-topics .archive{
 width:auto;
 margin:10px 0 0 0;
 float:right;
}
#top-topics .archive a{
 padding:2px 10px;
 color:#fff;
 font-size:0.9em;
 display:block;
 background:#a98f30;
}
*/


/* product
--------------------------------*/
.product-exp{
color:#ae8d0a;
font-size:1.1em;
}

table.product {
width:100%;
margin:20px auto 0 auto;
font-size:0.8em;
}
table.product th {
 width:25%;
 padding:5px 0px;
 font-weight:normal;
 text-align:center;
 border: 1px solid #bbb; 
 background:#ebebeb;
 vertical-align:middle;
}
table.product td {
 width:75%;
 padding:5px 5px;
 text-align:left;
 border: 1px solid #bbb;
 background:#fff;
}

ul.product{
 margin:-50px 0 0 0;
 padding:0;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-around; 
}
/* 最後の要素を左に持ってくるため。widthで調整。 */
ul.product ul:after{
  content:"";
  display: block;
  width:25%;
}
ul.product li{
    width: 33%;
	height:auto;
    margin:0 0 0px 0;
	font-size:1.1em;
	text-align:center;
}
ul.product li img{margin:5px 0 10px 0;}

p.list {display:inline-block;}
p.list a{
 padding:0px 10px;
 color:#333;
 font-size:0.8em;
 text-align:center;
 border: 1px solid #f4e433;
 background:#ffefb1;
}
p.list a:hover{
 color:#fff;
 border: 1px solid #999; 
 background:#999;
}

p.more {display:inline-block;}
p.more a{
 padding:5px 20px;
 color:#333;
 text-align:center;
 border: 1px solid #f4e433;
 background:#ffefb1;
}
p.more a:hover{
 color:#fff;
 border: 1px solid #999; 
 background:#999;
}


/* treatment
--------------------------------*/
ul.treatment-01{
 margin:0 0 75px 0;
 padding:0;
 display:flex;
 justify-content: space-around;
}
ul.treatment-01 li{
 padding:0 2%;
 text-align:center;
}
ul.treatment-01 img {
 flex-shrink: 1;
 width: 100%;
}/*画像のはみ出し防止*/


/* guide
--------------------------------*/
table.guide {
 width:100%;
 margin:0 0 40px 0;
}
table.guide th {
 padding:5px 0px;
 font-weight:normal;
 border: 1px solid #999; 
 background:#eee;
 vertical-align:middle;
 text-align:center;
}
table.guide td {
 padding:5px 15px;
 border: 1px solid #999; 
 background:#fff; 
}
table.guide td a{color:#000;}

.g-map {
 position: relative;
 padding-bottom: 40%;
 padding-top: 30px;
 height: 0;
 overflow: hidden;
}
 
.g-map iframe,
.g-map object,
.g-map embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}


/* contact
--------------------------------*/
.contact-tel{
 margin:0px auto;
 padding:40px 100px;
 font-size:2em;
 font-weight:bold;
 text-align:center;
 border:6px double #000;
 background:#fff;
 display:inline-block;
 line-height:1;
}
.contact-tel a{color:#000;}

table.contact {
width:98%;
margin:0 auto;
}
table.contact th {
 width:30%;
 padding:15px 0px;
 font-weight:normal;
 text-align:center;
 border: 1px solid #bbb; 
 background:#ebebeb;
 vertical-align:middle;
}
table.contact td {
 width:70%;
 padding:15px 15px;
 text-align:left;
 border: 1px solid #bbb;
 background:#fff;
}
table.contact td a{color:#333; }

.w-10{width:10%;}
.w-25{width:25%;}
.w-50{width:50%;}
.w-75{width:75%;}
.w-100{width:100%;}

input[type="text"],textarea {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* !!!メールフォームCGIに埋め込まれているclassっぽい!!!クラス名変更不可 */
.msg { color:#ff0000;
font-size:0.9em; }

p.contact-btn{
margin:40px 0 0 0;
text-align:center;
}
p.contact-btn input{margin:0 10px;}

.need{
margin:0 0 0 5px;
padding:0 2px;
color:#fff;
font-size:0.6em;
font-weight:bold;
background:#f30000;
vertical-align: super;
}


/* others
--------------------------------*/
.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
}

.clear {clear: both;}

.red{color:#ff0000;}
.red2{color:#c70055;}
.blue{color:#4b79cc;}
.gold{color:#aa8d2f;}
.green{color:#276600;}
.clr-ww{color:#00b0f0;}

.f-l {float:left}
.f-r {float:right}

.fs-05{font-size:0.5em;}
.fs-06{font-size:0.6em;}
.fs-07{font-size:0.7em;}
.fs-08{font-size:0.8em;}
.fs-09{font-size:0.9em;}
.fs-11{font-size:1.1em;}
.fs-12{font-size:1.2em;}
.fs-13{font-size:1.3em;}
.fs-14{font-size:1.4em;}
.fs-15{font-size:1.5em;}
.fs-18{font-size:1.8em;}
.fs-20{font-size:2em;}

.mt-20{margin:20px 0 0 0;}
.mb-20{margin:0 0 20px 0;}

.pt-25{padding:25px 0 0 0;}

.bc-blk{background:#333;}

.wht{color:#fff;}

.ta-l{text-align:left;}
.ta-c{text-align:center;}
.ta-r{text-align:right;}

.under-line {text-decoration: underline;}

