*,
*:before,
*:after {
box-sizing: border-box; 
}
html {
font-family: sans-serif;
line-height: 1.15;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block; 
}

html,body,h1,h2,h3,h4,h5,h6,p,table,tr,th,td,ol,ul,li,dl,dt,dd,address {
margin: 0;
padding: 0;
}

body {
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 16px;
font-size: 1rem;
font-weight: 400;
line-height: 1.8;
color: #333;
text-align: left;
background-color: #fff; 
}


h1, h2, h3, h4, h5, h6 {
font-size:100%;
font-weight: bold;
line-height: 1.2;
}

p {

}

address {
font-style: normal;
}

ol,ul,li {
list-style-type: none;
}

small {
font-size: 80%;
}

a {
color: #049587;/********color #049587 #F2A229 #FF7AB3 #AC691A #325415 */
text-decoration: underline;
opacity: 1.0;
transition: 0.3S;
}

a:hover, a img:hover {
opacity: 0.7; 
}

img {
vertical-align: middle;
border-style: none; 
}



/****************************** layout
***************************************/
#wrapper {
  width: 100%;
}

.inBox {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}

header {
  background: #fff;
  padding: 10px 0 5px 0;
}

h1 {
  display: inline-block;

}

h1 a {
  color: #333;
  font-weight: bold;
  text-decoration: none;
  display: block;
  background: url(../../img/layout/header_logo.png) 0 0 no-repeat;
  padding: 13px 0 10px 60px;
  font-size: 26px;
}

#snsNavHead {
    display: inline-block;
    vertical-align: top;
    text-align:right;
    position: absolute;
    right: 0;
    top:0;
    padding: 10px 0 0 0;
}

#snsNavHead li {
  display: inline-block;
  vertical-align: top;
}

#headNav {
    text-align: right;
}

#headNav ul {
  font-size: 0;
}

#headNav ul li {
  display: inline-block;
  font-size: 18px;
  margin: 0 0 0 20px;
  position: relative;
}

#headNav ul li:before {
    display: block;
    content: "｜";
    position: absolute;
    left: -17px;
}

#headNav ul li:first-child:before {
    display: none;
    content: "";
    /*position: absolute;
    left: -17px;*/
}

#headNav ul li a {
  color: #333;
  text-decoration:none;
}

#btnGotoOrigSite {
  /*font-size: 19px;/* 02 */
  font-size: 20px; /* 03 */
}

#mainImgBox {
  width: 100%;
  height: 360px;
  background: url(../../img/layout/img_main.png) top center no-repeat;
  background-size: cover;
}

#mainImgBox h2 {
  color: #fff;
  font-size: 36px;
  text-align:center;
  padding: 150px 0 0 0;
  text-shadow: 0 0 5px black;
}

#pageHeadBox {
  background: #049587; /********color #049587 #F2A229 #FF7AB3 #AC691A #325415 */
  padding: 40px 0;
}

#pageHeadBox h2 {
    color: #fff;
    font-size:26px;
}

#newsBox {
  background: #049587; /********color #049587 #F2A229 #FF7AB3 #AC691A #325415 */
  color: #fff;
  padding: 20px 0;
  min-height: 11px;
  /*min-height: 111px; */
}

#newsBox h2 {
    font-size: 24px;
    padding: 1px 1px 5px 0;
}


#newsBox ul {

}

#newsBox ul li {
    padding: 10px 0 0 0;
    margin: 0;
    line-height: 1;
}

#newsBox ul li a {
    color:#fff;
    text-decoration:none;
}

#newsBox ul .date {
    opacity: 0.7;
    display: inline-block;
    padding: 0 50px 0 0;
    position: relative;
}

#newsBox ul .date:after {
    content: "";
    display: block;
    background: #fff;
    width: 3px;
    height: 16px;
    position: absolute;
    top:0px;
    right: 30px
}

#mainBox {
    padding: 40px 0 0 0;
}

.articleDate {
    text-align: right;
}

.articleBox {
  padding: 0 0 80px 0;
}

.articleBox h2 {
  font-size: 24px;
  position: relative;
  margin: 0 0 50px 0;
}

.articleBox h2:after {
  display: block;
  content: "";
  width: 400px;
  height: 1px;
  background: #666;
  position: absolute;
  bottom: -5px;
  left: 0;
}

.articleBox h3 {
  font-size: 21px;
  position: relative;
  margin: 0 0 50px 0;
}

.articleBox h3:after {
  display: block;
  content: "";
  width: 400px;
  height: 1px;
  background: #666;
  position: absolute;
  bottom: -5px;
  left: 0;
}

.articleImg {
  display: inline-block;
  width: 350px;
  text-align:left;
}

.articleTxt {
  vertical-align: top;
  width: 740px;
  display: inline-block;
}

.articleTxt p {
  padding: 0 0 20px 0;
}

.centerBox {
    display:block;
    margin: 0 auto;
}


.btnS a,.btnM a,.btnL a {
    border-radius: 5px;
    background: #049587; /********color #049587 #F2A229 #FF7AB3 #AC691A #325415 */
    color: #fff;
    text-align:center;
    line-height: 1;
    text-decoration:none;
}

.btnS {
    text-align: center;
    padding: 20px 0 0;
    width: 100%;
}

.btnS a {
    display: inline-block;
    padding: 10px 30px;
    font-size: 14px;
}


.btnM {
  padding: 10px 0 0 0;
}

.btnM a {
    display: block;
    margin: 0 auto;
    width:480px;
    padding: 15px 0;
    font-size: 18px;
}

.btnL {
}

.btnL a {
    display: block;
    margin: 0 auto;
    width:600px;
    padding: 15px 0;
    font-size: 22px;
}


/* <button> 用に追加 */
.btnL {
    padding: 20px 0 0 0;
}
.btnL button {
    display:block;
    border-radius: 5px;
    background: #049587; /********color #049587 #F2A229 #FF7AB3 #AC691A #325415 */
    color: #fff;
    text-align:center;
    line-height: 1;
    text-decoration:none;
    border: 0px;
    cursor: pointer;
}
.btnL button:hover {
    background: #049587; /********color #049587 #F2A229 #FF7AB3 #AC691A #325415 */
    color: #fff;
}

/* .btn をここに書いても反映されなかった（bootstrap が初期化してるかも）
 * しょうが無いので template 内に block で直書きしている
.btn {
    display:block;
    width: 600px;
    padding: 15px 0;
    font-size: 22px;
    margin: 0 auto;
}
*/
/* <button> 用に追加：end */

#contactBox {
  background: #efefef;
  padding: 80px 0;
  margin: 50px 0 0 0;
}

footer{
  background: #333;
  color: #fff;
  padding: 15px 0 0 0;
}

footer h2 {
  display: inline-block;
}

footer h2 a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  display: block;
  background: url(../../img/layout/footer_logo.png) 0 0 no-repeat;
  padding: 7px 0 10px 31px;
  font-size: 14px;
}

#snsNavFoot {
    display: inline-block;
    vertical-align: top;
    position: absolute;
    right: 0;
    top:0;
    padding: 0 0 0 0;
}

#snsNavFoot li {
  display: inline-block;
  vertical-align: top;
}

#footNav {
    padding: 10px 0 0 60px;
    display: inline-block;
}

#footNav ul {
  font-size: 0;
}

#footNav ul li {
  display: inline-block;
  font-size: 14px;
  margin: 0 20px 0 0;
  position: relative;
}

#footNav ul li:after {
    display: block;
    content: "｜";
    position: absolute;
    right: -17px;
    top:1px;
}

#footNav ul li:last-child:after {
    display: none;
    content: "";
    /*position: absolute;
    left: -17px;*/
}

#footNav ul li a {
  color: #fff;
  text-decoration:none;
}

address {
  font-size: 12px;
  padding: 10px 0 15px 10px;
}

address ul li {
    padding: 0 0 0 20px;
}

.place {
  background: url(../../img/layout/ico_place.png) 0 45% no-repeat;  
}

.phone {
  background: url(../../img/layout/ico_phone.png) 0 45% no-repeat;
}

.mail {
  background: url(../../img/layout/ico_email.png) 0 45% no-repeat;
}

#copy {
  text-align: center;
  background: #000;
  color: #fff;
  padding: 10px 0;
  margin: 15px 0 0 0;
}



/****************************** etc 
*************************************/

.left {
float: left;
}

.right {
float: right;
}

/* cf */
.cf:before,
.cf:after {
display: table;
content: " ";
}
.cf:after {
clear: both;
}

