@charset "utf-8";
/*  style　[  共通 ]
=================================================================== */
body{
  background: #fff;
}

.mincho {font-family: 'Noto Serif JP', serif;}

.box-wrap {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  -webkit-box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, 0.07);
  -moz-box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, 0.07);
  box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, 0.07);
  background: url(../images/bckgrnd.jpg) repeat-y center center;
  background-attachment: fixed;

}
.box-wrap:before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  -webkit-box-shadow: -7px 1px 13px 2px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: -7px 1px 13px 2px rgba(0, 0, 0, 0.08);
  box-shadow: -7px 1px 13px 2px rgba(0, 0, 0, 0.08);
/*  background: url(../images/bckgrnd.jpg) no-repeat center / cover;
  background-size: cover;*/
}

/* block 空白スペース */
.block-spacer {
  display: block;
  height: 25px;
  background-color: transparent;
  margin: 0;
  padding: 0;
  border: none;
}

.mincho {
  font-family: 'Noto Serif JP', serif;
font-size: 1.2em;
  font-weight: 500;
}

/*----------------------------------------------
   header
---------------------------------------------*/

header {
 background: url(../images/bckgrnd.jpg) no-repeat center center;
  background-size: cover;
  min-height: 250px;
   position: relative;
}


#areaHeader {
  background-color: rgba(255,255,255,0.95);
  height: 105px;
  width: 100%;
  z-index: 8;
  
}

.flex-box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  
}
.header-box {
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
  z-index: 9;
}
.item {
    width: 60%;

  }

h1 {
  padding: 5px 0 0 10px;
}
h1 img {
    width: auto;
    vertical-align: middle;
   height: 100px;
/*  filter: brightness(0.4);
  filter: contrast(200%);
  filter: drop-shadow(2px 2px 1px #fff) ; */
}


.phone {
  font-size: 1em;
  font-weight: 500;
  text-align: right;
  color: #fff;
 /* text-shadow:2px 1px 1px #aaa;*/
}
.bg-phone {
  background-color: /*rgba(45,113,55,0.4)*/#C6473C;
  display: inline-block;
  padding: 10px 20px;
  border-radius: 10px;
  margin: 15px 10px 0 0;
}
.phone a {
  color: #fff;
}


@media screen and (min-width:768px) and ( max-width:991px) {
    /*　画面サイズが768pxから991pxまではここを読み込む　*/
.phone {
  font-size: 1em;
  /*font-weight: bold;*/
}
  
 h1 img {
   /* width: 120%;
    vertical-align: middle;*/
  }
  
  
}

/*----------------------------------------------
   nav
---------------------------------------------*/
.inner {
  position: absolute;
  bottom: 0;
  width: 100%;
}
nav {
  background-color: rgba(64,162,230,0.60);
  /*height: 52px;
  margin-top: -52px;*/
}
nav ul {
  margin: 0 auto;
  list-style: none;
  justify-content: space-around;
}
nav ul li {
  /*width: 14%;*/
  text-align: center;
}
nav ul li a {
  display: block;
  padding: 15px 5px;
  color: #fff!important;
}
nav ul li a:hover {
  /*background-color: rgba(43,136,245,1);*/
  color: red!important;
}



/*----------------------------------------------
   section
---------------------------------------------*/
section {
  margin: 0.5em auto;
  padding-bottom: 2em;
  background-color: #fff;/*transparent;*/
}


.main {
  width: 90%;
  margin: 0 auto;
}

.photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: space-around;
}
.item02 {
  width: 48%;
  margin: 2em 0 1em 0;
}
.item03 {
  width: 30%;
  margin: 2em 0 1em 0;
}
/* 1200px(lg)～ ___________________________________________________ */
@media screen and (min-width: 1200px) {
  .main {
  /*width: 80%;*/
}
}


/*----------------------------------------------
   見出し
---------------------------------------------*/

/* h2 */
h2.line_h2 {
  font-size: 1.7em;
  font-weight: bold;
/*  text-align: center;*/
  /*width: 40%;*/
  margin: 1em auto 1.5em auto;
  padding-top: 2em;
/*  color: rgba(53,103,155,0.8);*/
}

h2.line_h2:before {
  content: "";
  display: inline-block;
  width: 100px;
  height: 0.9em;
  background: url(../images/bg-left.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin: 0 10px 0 0;
  background-position: right;
}

h2.line_h2:after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 0.9em;
  background: url(../images/bg-right.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 10px;
}


h3 {
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  /*color: #494949;文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 5px #e4337f;/*左線*/
  font-size: 1.2em;
  margin: 3em 0 3em 0;
  font-weight: 300;
}
h3:before {
  content: "■";
  padding: 0 5px 0 0;
}
h3.no-line {
  border-left: none;/*左線*/
}

h4 {
  margin: 1.5em 0 0.5em 0;
  font-weight: 600;
}
h4:before {
  content: "●";
  padding: 0 5px 0 0;
  font-size: 0.7em;
  color: #35679b;
}

.lineMarker.scroll-in{
background-position: -100% 0;
}

.lineMarker {
background-image: -webkit-linear-gradient(left, transparent 50%, rgb(72,204,9) 10%);
background-image: -moz-linear-gradient(left, transparent 50%, rgb(72,204,9) 10%);
background-image: linear-gradient(left, transparent 50%, rgb(72,204,9) 10%);
background-repeat: repeat-x;
background-size: 200% .7em;
background-position: left 0 bottom 0;
transition: all 1.2s ease;
font-weight: bold;
}

.lineBlue {
background-image: -webkit-linear-gradient(left, transparent 50%, rgb(154,218,255) 10%);
background-image: -moz-linear-gradient(left, transparent 50%, rgb(154,218,255) 10%);
background-image: linear-gradient(left, transparent 50%, rgb(154,218,255) 10%);
}

.lineGreen {
background-image: -webkit-linear-gradient(left, transparent 50%, rgb(152,255,155) 10%);
background-image: -moz-linear-gradient(left, transparent 50%, rgb(152,255,155) 10%);
background-image: linear-gradient(left, transparent 50%, rgb(152,255,155) 10%);
}

div#access {
  z-index: 2;
}
/*----------------------------------------------
   table
---------------------------------------------*/
.table-responsive {
    border:none;
  margin: 1em 0;
  }

/* pink */
.th-pink{
  text-align: center;
  border: none;
  border-collapse: collapse;
  margin-top: 1.5em;
}
.th-pink th{
  text-align: center;
  border: 1px solid #F9B9C2!important;
  border-collapse: collapse;
  font-weight: normal;
  background-color: rgba(249,185,194,0.5);
}
.th-pink td{
  text-align: center;
  vertical-align: middle!important;
  border: 1px solid #F9B9C2!important;
  border-collapse: collapse;
}

/* gray */
.th-gray{
  text-align: center;
  border: none;
  border-collapse: collapse;
  margin-top: 1.5em;
}
.th-gray th{
  text-align: center;
  border: 1px solid #aaa!important;
  border-collapse: collapse;
  font-weight: normal;
  background-color: rgba(170,170,170,0.5);
}
.th-gray td{
  text-align: center;
  vertical-align: middle!important;
  border: 1px solid #aaa!important;
  border-collapse: collapse;
}

/* text */
.table-text-left th {
  text-align: left;
}
.table-text-left td {
  text-align: left;
}

/*----------------------------------------------
   photo
---------------------------------------------*/
.photo-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  justify-content: space-around;
  flex-wrap: wrap;
  list-style: none;
  margin: 1em 0;
}
.photo-col3 li {
  width: 33%;
  margin: 5px auto;
}
/* ～767px(xs) ____________________________________________________ */
@media screen and (max-width: 767px) {
  .photo-col3 li {
  width: 98%;
    margin: 5px auto;
}
}

.photo-col4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  justify-content: space-around;
  flex-wrap: wrap;
  list-style: none;
  margin: 1em 0;
}
.photo-col4 li {
  width: 23%;
  margin: 5px auto;
}
/* ～767px(xs) ____________________________________________________ */
@media screen and (max-width: 767px) {
  .photo-col4 li {
  width: 98%;
    margin: 5px auto;
}
}



/*----------------------------------------------
   list
---------------------------------------------*/


/* 先頭に○ */
.list-circle {
  list-style: none;
  margin: 1em 0;
  padding: 0;
}
.list-circle li {
  margin: 15px 0;
  padding: 0;
}
.list-circle li p {
  margin: 5px 0;
  padding: 0;
}
.list-circle li:before {
  content: "○";
  padding: 0 5px 0 0;
  color: #35679b;
}
/*
#access {
  margin: 0;
  padding: 0;
}*/
#access iframe {
  margin-top: 20px;
  padding: 0;
  width: 100%;
  height: 250px;
  border: none;
}

/*----------------------------------------------
   footer
---------------------------------------------*/
footer {
  background-color: #58863a;
  /*padding: 3em 2em;*/
  color: #fff;
  margin: 0;
}

img.kaimondake {
  margin: -346px 0 0 -26px;
  position: relative;
  z-index: 99999;
}

address {
  margin: 2em 0;
}

.copyright {
  font-size: 0.8em;
  text-align: center;
  padding: 5px 0;
  color: #fff;
  background-color: #58863a;
}


/* ～767px(xs) ____________________________________________________ */
@media screen and (max-width: 767px) {
.header-box {
  z-index: 9;
}
img.kaimondake {
  margin: -256px 0 0 -26px;
  position: relative;
  z-index: 99999;
}
/*----------------------------------------------
  見出し
  ---------------------------------------------*/
  /* h2 */
h2.line_h2 {
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  width: 98%;
  margin-bottom: 1.5em!important;
}
h2.line_h2:before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  background: none;
  background-size: contain;
  vertical-align: middle;
  margin: 0 15px 0 0;
  background-position: right;
}

h2.line_h2:after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  background: none;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 5px;
}
}
/* 768px(sm)～ ____________________________________________________ */
@media print,screen and (min-width: 768px) {
/* h2 */
h2.line_h2 {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1em auto 1.5em auto;
  padding-top: 2em;
/*  color: rgba(53,103,155,0.8);*/
}
h2.line_h2:before {
  content: "■";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  background: none;
  background-size: contain;
  vertical-align: middle;
  margin: -10px 15px 0 0;
  background-position: right;
}

h2.line_h2:after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1em;
  background: none;
  background-size: contain;
  vertical-align: middle;
  margin: 0 0 0 5px;
}
.item {
    width: 200%;
    height: auto;
  }

}
/* 992px(md)～ ____________________________________________________ */
@media screen and (min-width: 992px) {
}
/* 1200px(lg)～ ___________________________________________________ */
@media screen and (min-width: 1200px) {
}
