/*
 common
------------------------------------- */
*{
  margin:0;
  padding:0;
  box-sizing: border-box;
  line-height: 1.6;
}
li{
  list-style: none;
}
h2{
  text-align: center;
}
.fl{
  float: left;
}
.fr{
  float: right;
}
.a-container{
  width:960px;
  margin: 0 auto;
}
.a-textcenter{
  text-align: center;
}
h3{
  margin-bottom: 1.75em;
}
.screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}
.ohoverArea a:hover{
  opacity: 0.7;
}
a:hover{
  opacity: .5;
  -webkit-opacity: .5;
  -moz-opacity: .5;
  filter: "alpha(opacity=50)";	/* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}

a{
  -webkit-transition: opacity 1s ease-out;
  -moz-transition: opacity 1s ease-out;
  -ms-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
}
.map,.calender,.h-time,.info,.h-footer-imgs,.h-link-three{
  background: url("../images/crossword.png");

}
/*
 header
---------------------------------------*/

.hdr-contents{
  width: 100%;
  margin-left: auto;
}
.hdr-logo{
  padding: 1.75em 3.625em 1.25em 1em;
  width:27%;
}
.hdr-logo img{
  max-width: 100%;
}

.hdr-info{
  width:51.4%;
  overflow: hidden;
  box-sizing: border-box;
}

.hdr-access{
  background-color: #0F218B;
  color: #fff;
  line-height: 2.8;
}
.hdr-contact{
  background: url("../images/common/hdr-contact-bg.png");
  width:49.0%;
  height: 7.75em;
  padding-top: 2em;
  margin: 0;
  border-right: 1px solid #0F218B;
  text-align: center;
}
.hdr-contact .hdr-tel{
  margin-top: .5em;
  font-size:1.5em;
}
.hdr-contact .hdr-tel a{
  text-decoration: none;
  color: #333333;
}
.hdr-contact .hdr-tel:before{
  content: url("../images/common/hdr-tel.png");
  padding-right: 12px;
}
/*
 global nav
---------------------------------------*/
.gnav{
  width: 51%;
  overflow: hidden;
}
.gnav ul{
  box-sizing: border-box;
  letter-spacing: -.4em;
}
.gnav li{
  display: inline-block;
  letter-spacing: normal;
  width: 33.0%;
}
.gnav img{
  vertical-align: top;
}

.gnav li a{
  display: block;
  width: 100%;
  height: 7.75em;
  padding-top: 1.875em;
  border-right: 1px solid #0F218B;
  text-align: center;
}

.gnav li:first-child a{
  border-left: 1px solid #0F218B;
}
.gnav a:hover img{
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
      transform: translateY(-5px);
}
.gnav .sp-hdr-tel{
  display: none;
}

/*
 hedaer sub nav
---------------------------------------*/
.hdr-snav{
  padding: 1.625em 42px ;
}
.hdr-snav li:not(:last-child){
  margin-bottom: 1em;
}



/*
 hero
---------------------------------------*/
.a-hero{
  clear: both;
  position: relative;
  width: 100%;
}
.a-heroimage img{
  width: 100%;
  margin-top:-4px;
}
.a-herologo{
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -429px;
}

/*
 main
---------------------------------------*/
.a-intro{
  clear: both;
  margin: 2.5em auto;
  line-height: 2.0;
}
.a-intro-text{
  margin-bottom: 3em;
}
.a-intro-name{
  font-size: 1.25em;
  margin-left: 20px;
}

.a-sec01{
  clear: both;
  position: relative;
  overflow: hidden;
  height: 265px;
  background-color: #0F218B;
}
.a-sec01 h3{
  margin-bottom: 2.5em;
}
.a-sec01-text{
  padding-left: 1em;
  padding-top: 2.375em;
  width: 64%;
}
.a-sec01-list{
  margin-bottom: 3.5625em;
  max-width: 50%;
}
.a-sec01-il img {
    position: absolute;
    top: 50%;
    margin-top: -5%;
    left: 75%;
}
#first{
  margin-left:5%;
}

.a-sec02{
  clear: both;
  background: url("../images/about/a-bgimage.png") repeat;
  padding-top: 6.25em;
  padding-bottom: 6.875em;
}
.a-sec02 dl{
  clear: both;
  margin-bottom: 9px;
  overflow: hidden;
}
.a-sec02 dt,
.a-sec02 dd{
  border-left:1px solid #A7A19C;
  border-top:1px solid #A7A19C;
  border-bottom: 1px solid #A7A19C;
  float: left;
  padding: 0.875em 0;
}

.a-sec02 dt{
  background-color: #79CDE1;
  color: #fff;
  width: 240px;
}
.a-sec02 .a-bg-blue dt{
  background-color: #0F218B;
}
.a-sec02 dd{
  width: 240px;
}
.a-sec02 dd:last-child{
  border-right: 1px solid #A7A19C;
}
.a-sec02 dl:last-child dd{
  width:75%;
  text-align: left;
  padding-left: 90px;
}
.a-sec02 .dl-tate dt{
  clear:left;
}
.a-sec02 .dl-tate dd{
  border-right: 1px solid #A7A19C;
}
.a-bl-none dt{
  border-left: none;
}

.a-sec02 .dl-tate dt:first-child,.a-sec02 .dl-tate dd:first-of-type{
  border-bottom: none;
}

.a-sec03{
  clear: both;
  overflow: hidden;
  margin: 100px auto 4.375em;
  text-align: center;
  max-width: 1500px;
}
.a-sec03 h3{
  margin-bottom: 0;
}

.a-sec03 .grid-4{
  width: 25%;
}
@media screen and (max-width:1500px){
  .a-sec03{
      max-width:1071px;
      margin-top: 50px;
  }
  .a-sec03 .grid-4{
    width: 33.3%;
}
}

/*
 footer
---------------------------------------*/
#footer1{
  clear: both;
}
.ftr-menu ul{
   overflow: hidden;
   text-align: center;
}
.ftr-menu li{
  display: inline-block;
}
.ftr-menu li:first-child{
  margin-right: 2.25em;
}
.ftr-snav{
  clear: both;
}

.a-ftr-Gmenu{
  margin-top: 2.5em;
}
.h-f-img1 {
  width: 100%;
  text-align: center;
  position: relative;
  z-index: -20;
}

@media screen and (min-width: 641px) and (max-width:960px){
/* タブレット適用 */
.hdr-snav {
    padding: 0em 20px;
}
.hdr-snav li:not(:last-child) {
    margin-bottom: 0.5em;
}
  /* main */
  .a-container{
    width: 90%;
    margin: 0 auto;
  }
.a-intro {
  margin: 1.5em auto;
}
.h-top-img{
  top:10%;
  left:85%;
  width:10%;
}

.a-sec01{
  height: auto;
}
.a-sec01-item img{
  width: 70%;
}
.a-sec01-text {
    width: 45%;
    margin-left: -88px;
}
.a-sec01-list {
    margin-bottom: 0;
    max-width: 100%;
}
.a-sec01-il img{
  width: 15%;
  margin-top: 0;
  left:80%;
}
#first{
  margin-left:-7%;
}

.a-sec02 .fl{
    float:none;
  }
.a-sec02 dt{
  width: 50%;
}
.a-sec02 dd{
  width: 50%;
  border-right:  1px solid #A7A19C;
}
.a-sec02 dl:last-child dd{
  width:50%;
  padding-left: 0;
  text-align: center;
}
.a-sec03{
    max-width: 714px;
}
.a-sec03 .grid-4 {
    width: 50%;
}
.h-f-img1 img {
  z-index: -1;
}
footer .logo{
  width:30%;
}
small p{
  font-size: 8px;
}

}
@media screen and (max-width: 640px){
  /* スマホ適用 */
  /* base */
  body{
    min-width: auto;
  }
  .a-container{
    width: 90%;
    margin: 0 auto;
  }
  /* header */
  .hdr-logo {
    padding: 1.75em 2em 1.25em 2em;
    width: 70%;
}
  .hdr-logo img{
    width: 100%;
  }
  .hdr-contents{
    width: 100%;
  }
  .hdr-access{
    display: none;
  }
  .hdr-snav{
    float: none;
    position: absolute;
    top: 0;
    right:0;
    padding: .5em;
  }
  .hdr-snav li:not(:last-child){
    margin-bottom: .3em;
  }
  .hdr-snav li{
    float: none;
    margin-bottom: .2em;
  }
  .hdr-snav li img{
    width: 80%;
  }
  .hdr-info{
    width: 100%;
  }
  .hdr-contact{
    display: none;
  }

  /* gnav */
  .hdr-info .gnav .sp-hdr-tel{
    display: inline-block;
  }
  .hdr-info .gnav li{
    width: 25%;
  }
  .gnav,.gnav li a{
    width: 100%;
  }

  .gnav li:first-child a{
  border-left: none;
}
  /* hero */
  .a-herologo{
  right: 50%;
  margin-left: -40%;
  }
  /* intro */
  .a-intro{
    margin: 1.5em auto;
  }

  /* main */
  .a-sec01-item.fl{
    float:none;
  }
  .a-sec01{
    height: auto;
  }
  .a-sec01-text{
    left: 0;
    padding-left: 1em;
  }
  .a-sec01-text img{
    max-width: 90%;
  }
  .a-sec01-item img{
    width: 100%;
  }
  .a-sec01-il img {
    position: absolute;
    top: 80%;
    left: 65%;
    width: 30%;
  }

  .a-sec02{
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .a-sec02 .fl{
    float:none;
  }
  .a-sec02 dt,.a-sec02 dd{
    box-sizing: border-box;
    width: 100%;
    border-bottom: none;
  }
  .a-sec02 dd:last-of-type{
    border-bottom: 1px solid #A7A19C;
  }
  .a-sec02 dt,
  .a-br dd:first-of-type{
    border-right:1px solid #A7A19C;
  }
  .a-sec02 .dl-tate dt{
    border-left: 1px solid #A7A19C;
  }
  .a-sec02 dl:last-child dd{
    width: 100%;
    text-align: center;
    padding-left: 0;
  }

  .a-sec03 .grid-4{
    float:none;
    width: 100%;
  }

  /* footer */
  .ftr-menu li{
    display: block;
    margin-bottom: 1em;
  }
  .ftr-menu li:first-child{
    margin-right: 0;
  }
  .h-top-img{
  left:80%;
  width:15%;
}
footer .logo{
  width:50%;
}

.address1{
  padding-bottom:30px;
}
.tell{
  font-size: 20px;
}
.tell:before {
  margin: 10px;
}
small{
  font-size: 12px;
}
footer{
  width:100%;
}
footer p{
  padding-bottom:20px;
}
footer span{
  display:inline;
}
.h-f-img1 img {
  z-index: -1;
}

}
@media screen and (max-width: 320px) {
/* スマホ適用  iphone5用　*/
  .a-sec03 img{
    width: 100%;
  }

  .h-f-img1 img {
  z-index: -1;
}

}
