@charset "utf-8";

/* -----------------------------------------------
 * base.css
 * LastUpdate : 15/11/11
----------------------------------------------- */


body {
	-webkit-text-size-adjust: 100%;
}



img {
    max-width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
}

#map_canvas img {
    max-width: auto !important;
}

#base {
}


@media only screen and ( max-width : 768px ) {
    
    .box_inner {
        padding: 0 20px;
    }
    .box_inner_sp {
        padding: 0 20px;
    }
    .box {
        margin-bottom: 40px;
    }
    
}
@media only screen and ( max-width : 414px ) {
    .box_inner_sp {
        padding: 0;
    }
}

@media print, screen and ( min-width : 769px ) {
    .inner{
        width:980px;
        margin:0 auto;
    }
    img {
        -moz-transition: -moz-transform .25s ease-in-out;
        -webkit-transition: -webkit-transform .25s ease-in-out;
        -o-transition: -o-transform .25s ease-in-out;
        -ms-transition: -ms-transform .25s ease-in-out;
        transition: transform .25s ease-in-out;
    }
    .box {
        margin-bottom: 85px;
    }
}


/* ---------------------------------------------------------------------------------------------

　   HEADER

--------------------------------------------------------------------------------------------- */
h1 span{
    display: block;
}
header {
    /*z-index: 999;*/
}
@media only screen and ( max-width : 768px ) {
    h1 img {
        width: 100px;
    }
    header {
        position: fixed;
        height: 60px;
        width: 100%;
        z-index: 999998;
    }
    header h1 {
        position: absolute;
        top: 5px;
        left: 10px;
        z-index: 999999;
    }
    header h1 span {
        font-size: 10px;
    }
    .mean-bar {
      position: fixed !important;
    }
}

@media only screen and ( max-width : 414px ) {

}


@media print, screen and ( min-width : 769px ) {
    header {
        height: 120px;
        width: 100%;
        position: fixed;
        background: rgba(255,255,255,.9);
        box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.1);
        z-index: 99999;
    }
    header .inner {
        position: relative;
        height: 120px;
    }
    header h1 {
        padding-top: 15px;
    }
    header h1 img {
        width: 170px;
    }
    header h1 span {
        font-size: 12px;
        margin-bottom: 7px;
    }
    #contactArea {
        position: absolute;
        right: 0;
        top: 15px;
    }
    #contactArea p {
        display: inline-block;
    }
    #contactArea span {
        display: block;
        font-size: 12px;
        line-height: 1em;
        margin-left: 32px;
    }
    #contactArea strong {
        font-size: 32px;
        line-height: 1.2em;
        color: #de005f;
    }
    #contactArea strong:before {
        content: url(../img/icon-tel.png);
        margin-right: 5px;
        vertical-align: middle;
    }
    #contactArea a,.contact-btn a {
        background-image: url(../img/icon-mail.png);
        background-repeat: no-repeat;
        background-position: 4% 50%;
        background-size: 30px auto;
        text-align: center;
        width: 250px;
        vertical-align: top;
    }
    header aside {
    position: absolute;
    top: 40px;
    left: 205px;
    }
    header aside li {
        float: left;
        margin-right: 20px;
        font-size: 13px;
    }
    header aside li a {
        color: #00205e;
        font-weight: bold;
    }
}

/* ---------------------------------------------------------------------------------------------

　   NAV

--------------------------------------------------------------------------------------------- */
nav li a {
    color: #00205e;
}

@media only screen and ( max-width : 768px ) {
    header a, a:hover, header a:hover img,.mean-nav a,.mean-nav a:hover {
        -webkit-transition: none 0s ease 0s !important;
        -moz-transition: none 0s ease 0s !important;
        -o-transition: none 0s ease 0s !important;
        transition: none 0s ease 0s !important;
    }
}

@media print, screen and ( min-width : 769px ) {
    nav {
        position: absolute;
        right: 0;
        bottom: 0px;
    }
    nav ul {
    }
    nav li {
        float: left;
        margin-right: 15px;
    }
    nav li:nth-last-child(3) {
        margin-right: 0;
    }
    nav li a {
        font-size: 14px;
        padding: 0 5px 23px 5px;
        display: block;
        font-weight: bold;
    }
    /* Underline From Left */
    .hvr-underline-from-left,nav li a.active {
      display: block;
      vertical-align: middle;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      box-shadow: 0 0 1px rgba(0, 0, 0, 0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      overflow: hidden;
    }
    .hvr-underline-from-left:before,nav li a.active:before {
      content: "";
      position: absolute;
      z-index: -1;
      left: 0;
      right: 100%;
      bottom: 0;
      background: #00205e;
      height: 5px;
      -webkit-transition-property: right;
      transition-property: right;
      -webkit-transition-duration: 0.3s;
      transition-duration: 0.3s;
      -webkit-transition-timing-function: ease-out;
      transition-timing-function: ease-out;
    }
    .hvr-underline-from-left:hover:before, .hvr-underline-from-left:focus:before, .hvr-underline-from-left:active:before,nav li a.active:before {
      right: 0;
    }
}
/* ---------------------------------------------------------------------------------------------

　   CONTENTS

--------------------------------------------------------------------------------------------- */
section {
    position: relative;
}
table {
    width: 100%;
}
@media only screen and ( max-width : 768px ) {
    .block {
        margin-bottom: 15px;
    }
}

@media print, screen and ( min-width : 769px ) {
    .block {
        margin-bottom: 30px;
    }
}


/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
footer {
    background: #01153a;
    color: #fff;
}
footer .adress {
    text-align: center;
    color: #fff;
}
.copy {
    text-align: center;
}
@media only screen and ( max-width : 768px ) {
    footer {
        padding: 20px 0;
    }
    footer img {
        width: 120px;
    }
    footer .adress {
        margin-bottom: 30px;
    }
    footer .adress span,footer .tel-number p span {
      display: block;
      text-align: center;
    }
    footer .tel-number p {
      text-align: center;
    }
    footer .tel-number a {
      color: #fff;
      font-size: 24px;
    }
    footer .box_inner {
      text-align: center;
    }
    .foot-logo {
      margin-bottom: 20px;
      display: inline-block;
    }
    footer .contact-btn {
      text-align: center;
      margin: 15px 0;
    }
    footer .contact-btn a {
      padding: 10px;
      width: 100%;
      text-align: center;
    }
    footer .contact-btn a:before {
      content: "";
      display: inline-block;
      width: 20px;
      height: 20px;
      background: url(../img/icon-mail.png) no-repeat;
      background-size: 20px auto;
      vertical-align: middle;
      margin-right: 10px;
    }
}

@media print, screen and ( min-width : 769px ) {
    #footer img {
        width: 160px;
    }

    footer {
        padding: 30px 0;
    }
    footer .inner {
        text-align: center;
      }
    footer .adress {
        margin-top: 20px;
        font-size: 16px;
    }
    #foot-contact {
      text-align: center;
      margin-top: 30px;
    }
    .tel-number,.contact-btn {
      display: inline-block;
    }
    .tel-number p {
      font-size: 40px;
      line-height: 1;
    }
    .tel-number p span {
      display: block;
      font-weight: normal;
      font-size: 14px;
    }
    .contact-btn {
      vertical-align: top;
      margin-left: 30px;
      margin-top: 10px;
    }
    .copy {
      margin-top: 40px;
    }
}


    

/* ---------------------------------------------------------------------------------------------

　   PAGE TOP

--------------------------------------------------------------------------------------------- */
.pageTop a:hover {
  filter: alpha(opacity=1) !important;
  -moz-opacity:1 !important;
  opacity:1 !important;
}

/* ページトップへ戻る */
.pageTop {
  margin: 0 auto;
  overflow: hidden;
}
.pageTop a {
    background: url(../img/pagetop.png) no-repeat center;
    text-decoration: none;
    display: inline-block;
    bottom: 0;
    position: relative;
    color: #fff;
    text-align: center;
    font-weight: bold;
    bottom: 0;
}
@media only screen and ( max-width : 768px ) {
    .pageTop {
      width: 90px;
      height: 43px;
    }
    .pageTop a {
      background-size: 90px auto;
      width: 90px;
      height: 43px;
      padding-top: 25px;
      font-size: 12px;
  }
}

@media print, screen and ( min-width : 769px ) {
  .pageTop {
    width: 130px;
    height: 62px;
  }
  .pageTop a {
      background: url(../img/pagetop.png) no-repeat center;
      width: 130px;
      height: 62px;
      padding-top: 35px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   BUTTON

--------------------------------------------------------------------------------------------- */
.btn {
    display: inline-block;
    padding: 10px 10px;
    font-weight: 700;
    border-radius: 5px;
}
.btn-pink {
    background-color: #de005f;
    color: #fff;
}



/* ---------------------------------------------------------------------------------------------

　   ANIMATION

--------------------------------------------------------------------------------------------- */

@media print, screen and ( min-width : 769px ) {

  /* Pop */
    @-webkit-keyframes hvr-pop {
      50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
      }
    }

    @keyframes hvr-pop {
      50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
      }
    }

    .hvr-pop {
      display: inline-block;
      vertical-align: middle;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      box-shadow: 0 0 1px rgba(0, 0, 0, 0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -moz-osx-font-smoothing: grayscale;
    }
    .hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
      -webkit-animation-name: hvr-pop;
      animation-name: hvr-pop;
      -webkit-animation-duration: 0.3s;
      animation-duration: 0.3s;
      -webkit-animation-timing-function: linear;
      animation-timing-function: linear;
      -webkit-animation-iteration-count: 1;
      animation-iteration-count: 1;
    }
    /* Push */
    @-webkit-keyframes hvr-push {
      50% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
      }

      100% {
        -webkit-transform: scale(1);
        transform: scale(1);
      }
    }

    @keyframes hvr-push {
      50% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
      }

      100% {
        -webkit-transform: scale(1);
        transform: scale(1);
      }
    }

    .hvr-push {
      display: inline-block;
      vertical-align: middle;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      box-shadow: 0 0 1px rgba(0, 0, 0, 0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -moz-osx-font-smoothing: grayscale;
    }
    .hvr-push:hover, .hvr-push:focus, .hvr-push:active {
      -webkit-animation-name: hvr-push;
      animation-name: hvr-push;
      -webkit-animation-duration: 0.3s;
      animation-duration: 0.3s;
      -webkit-animation-timing-function: linear;
      animation-timing-function: linear;
      -webkit-animation-iteration-count: 1;
      animation-iteration-count: 1;
    }

    /* Icon Forward */
    .hvr-icon-forward {
      display: inline-block;
      vertical-align: middle;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      box-shadow: 0 0 1px rgba(0, 0, 0, 0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      /*padding-right: 2.2em;*/
      -webkit-transition-duration: 0.1s;
      transition-duration: 0.1s;
    }
    .hvr-icon-forward:before {
      content: url(../img/icon-white.png);
      position: absolute;
      right: 1em;
      padding: 2px 1px;
      font-family: FontAwesome;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-transition-duration: 0.1s;
      transition-duration: 0.1s;
      -webkit-transition-property: transform;
      transition-property: transform;
      -webkit-transition-timing-function: ease-out;
      transition-timing-function: ease-out;
    }
    .hvr-icon-forward:hover:before, .hvr-icon-forward:focus:before, .hvr-icon-forward:active:before {
      -webkit-transform: translateX(4px);
      transform: translateX(4px);
    }


    
}

/* Icon Up */
@-webkit-keyframes hvr-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@keyframes hvr-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

/* Icon Up */
.hvr-icon-up {
display: inline-block;
vertical-align: middle;
-webkit-transform: translateZ(0);
transform: translateZ(0);
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-moz-osx-font-smoothing: grayscale;
position: relative;
}
.hvr-icon-up:before {
content: url(../img/icon-white-up.png);
position: absolute;
/*padding: 0 1px;*/
font-family: FontAwesome;
-webkit-transform: translateZ(0);
transform: translateZ(0);
width: 14px;
height: 10px;
left: -100%;
right: -100%;
margin: auto;
}
.hvr-icon-up:hover:before, .hvr-icon-up:focus:before, .hvr-icon-up:active:before {
-webkit-animation-name: hvr-icon-up;
animation-name: hvr-icon-up;
-webkit-animation-duration: 0.75s;
animation-duration: 0.75s;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}


@media only screen and ( max-width : 768px ) {
  .hvr-icon-up:before {
    top: 10px;
  }
}
@media print, screen and ( min-width : 769px ) {
  .hvr-icon-up:before {
    top: 1em;
  }
}
