@charset "UTF-8";

/**

 * Theme: basic

 * @version 3.1.5 (2016/12/2)

 */

@import url(common.css);

@font-face {

  font-family: "Yu Gothic";

  src: local("Yu Gothic Medium");

  font-weight: 100;

}

@font-face {

  font-family: "Yu Gothic";

  src: local("Yu Gothic Medium");

  font-weight: 200;

}

@font-face {

  font-family: "Yu Gothic";

  src: local("Yu Gothic Medium");

  font-weight: 300;

}

@font-face {

  font-family: "Yu Gothic";

  src: local("Yu Gothic Medium");

  font-weight: 400;

}

@font-face {

  font-family: "Yu Gothic";

  src: local("Yu Gothic Bold");

  font-weight: bold;

}

@font-face {

  font-family: "Helvetica Neue";

  src: local("Helvetica Neue Regular");

  font-weight: 100;

}

@font-face {

  font-family: "Helvetica Neue";

  src: local("Helvetica Neue Regular");

  font-weight: 200;

}

html {

  font-size: 62.5%;

}



body {

  background: #ffffff;

  font-family: "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;

  font-size: 14px;

  font-size: 1.4em;

  line-height: 1.4;

  color: #496b6a;

}



figure {

  margin: 0;

  text-align: center;

}

figure figcaption {

  margin-top: 0.5em;

  text-align: left;

}



a {

  color: #8abd33;

  text-decoration: underline;

}

a:hover {

  color: #8abd33;

  text-decoration: none;

}

.highlight a {

  color: #ff8929;

}

.highlight a:hover {

  color: #8abd33;

}



img {

  vertical-align: middle;

}



address {

  font-style: normal;

}



p {

  margin: 0.5em 0 1em;

}

p:first-child {

  margin-top: 0;

}

p:last-child {

  margin-bottom: 0;

}



ul, ol {

  margin: 0 0 1em;

  padding: 0 0 0 2.5em;

  line-height: 1.6;

}

ul:last-child, ol:last-child {

  margin-bottom: 0;

}

ul ul, ul ol, ol ul, ol ol {

  margin: 0.5em 0;

  padding-left: 2em;

}

ul ul:last-child, ul ol:last-child, ol ul:last-child, ol ol:last-child {

  margin-bottom: 0.5em;

}



ul.list-unstyled {

  padding-left: 0;

  list-style: none;

}

ul.list-unstyled ul, ul.list-unstyled ol {

  padding-left: 2em;

}



ul.list-inline {

  margin: 0;

  padding: 0;

  list-style: none;

  margin-left: -7px;

  font-size: 0px;

  font-size: 0rem;

  margin-bottom: 14px;

}

ul.list-inline > li {

  display: inline;

  padding-left: 7px;

  padding-right: 7px;

  white-space: nowrap;

  font-size: 14px;

  font-size: 1.4rem;

}



dl {

  margin: 0 0 1em;

  line-height: 1.6;

}

dl:last-child {

  margin-bottom: 0;

}

dl dt {

  font-weight: bold;

}

dl dd {

  margin-left: 0;

  margin-bottom: 0.5em;

}

dl dd:last-child {

  margin-bottom: 0;

}



main {

  overflow: hidden;

}

main section {

  margin-bottom: 10%;

}

main section.highlight:last-child {

  margin-bottom: 0;

  padding-bottom: 10%;

}



.highlight {

  padding: 4% 0;

  background: #f7f2e5;

  color: #496b6a;

}



.container.container-fluid {

  padding: 0;

  max-width: none;

}



a.banner {

  display: block;

}

a.banner img {

  -webkit-transition: 0.3s linear;

  transition: 0.3s linear;

  background-color: rgba(255, 255, 255, 0.01);

  max-width: none;

}

a.banner:hover img {

  opacity: 0.7;

}

a.banner.white {

  background: #fff;

}

a.banner.black {

  background: #000;

}

a.banner.primary {

  background: #6cc7c4;

}


.row {
 clear: both;
}

.mb-30 {

  margin-bottom: 30px;

}

.text-r {
  text-align: right;
}

.text-c {
  text-align: center;
}

.w75 {
  width: 75px;
}


#map {
 width: 860px;
 max-width: 860px;
}



#swipebox-overlay {

  z-index: 10000002 !important;

}



@media (max-width: 767px) {

  .tile:not(.sp-tile) > * {

    height: auto !important;

  }

}

@media (min-width: 768px) {

  p {

    margin: 0.5em 0 1em;

  }



  dl.dl-horizontal {

    overflow: hidden;

  }

  dl.dl-horizontal dt {

    float: left;

    clear: left;

    margin-right: 1em;

  }

  dl.dl-horizontal dd {

    float: left;

  }



  main section {

    margin-bottom: 5%;

  }

  main section:last-child {

    margin-bottom: 7%;

  }

  main section.highlight:last-child {

    margin-bottom: 0;

    padding-bottom: 7%;

  }

}

header {

  position: relative;

  z-index: 10;

  width: 100%;

  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);

}

header section {

  margin: 0;

}

header .row {

  margin-bottom: 0;

}

header .primary_header {

  background: #ffffff;

  color: #496b6a;

}

header .secondary_header {

  display: none;

  background: #f7f2e5;

  color: #496b6a;

}

header .title {

  height: auto;

  margin: 0;

  padding: 10px 1%;

  line-height: 1;

  text-align: left;

  background: none;

  font-size: 10px;

  font-size: 1rem;

  max-width: 40%;

}

header .title img {

  width: auto;

  max-width: 100%;

  vertical-align: middle;

}

header .global_nav ul {

  display: none;

  position: absolute;

  z-index: 10;

  top: 100%;

  left: 0;

  width: 100%;

  overflow: auto;

  -webkit-overflow-scrolling: touch;

  background-color: rgba(0, 0, 0, 0.9);

  margin: 0;

  padding: 0;

  list-style: none;

  border-top: 1px solid #333;

}

header .global_nav ul li {

  border-bottom: 1px solid #333;

}

header .global_nav ul li a {

  display: block;

  padding: 1.5em 1em;

  text-decoration: none;

  color: #fff;

}

header .global_nav ul li a:hover {

  color: #fff;

}

header .global_nav ul li a:active {

  background: #6cc7c4;

  color: #fff;

}

header .global_nav .menu_icon {

  position: absolute;

  top: 50%;

  right: 5%;

  margin-top: -10px;

}

header .global_nav .menu_icon a {

  position: relative;

  display: block;

  width: 20px;

  height: 20px;

  line-height: 20px;

  overflow: hidden;

  text-indent: 100%;

  white-space: nowrap;

  padding: 0;

  background: #6cc7c4;

  -webkit-transition: 0.5s linear;

  transition: 0.5s linear;

}

header .global_nav .menu_icon a:before, header .global_nav .menu_icon a:after {

  content: "";

  position: absolute;

  left: 0;

  display: block;

  width: 100%;

  height: 4px;

  background: #ffffff;

  -webkit-transition: 0.5s linear;

  transition: 0.5s linear;

}

header .global_nav .menu_icon a:before {

  top: 4px;

}

header .global_nav .menu_icon a:after {

  top: 12px;

}

header .global_nav .menu_icon a.close:not(.fix) {

  background: none;

}

header .global_nav .menu_icon a.close:not(.fix):before {

  top: 8px;

  -webkit-transform: rotate(45deg);

  -ms-transform: rotate(45deg);

  transform: rotate(45deg);

  background: #6cc7c4;

}

header .global_nav .menu_icon a.close:not(.fix):after {

  top: 8px;

  -webkit-transform: rotate(-45deg);

  -ms-transform: rotate(-45deg);

  transform: rotate(-45deg);

  background: #6cc7c4;

}



#google_translate_element, .translate_gt {

  position: absolute;

  top: 50%;

  right: 15%;

  margin-top: -12px;

}



.translate_gt {

  margin-top: -14px;

}



@media (min-width: 768px) {

  header {

    min-height: 100px;

  }

  header .secondary_header {

    display: block;

  }

  header .container {

    position: relative;

  }

  header .container .row {

    width: 100%;

    margin-bottom: 0;

  }

  header .title, header .global_nav {

    margin: 0 auto;

    vertical-align: middle;

  }

  header .title {

    text-align: left;

  }

  header .global_nav {

    display: table;

  }

  header .title {

    max-width: none;

    padding: 10px 0;

  }

  header .title img {

    width: auto;

  }

  header .global_nav {

    padding: 10px 0 20px;

  }

  header .global_nav ul {

    display: block !important;

    position: static;

    overflow: hidden;

    float: right;

    width: auto;

    border: none;

    background: none;

    white-space: nowrap;

    font-size: 0px;

    font-size: 0rem;

  }

  header .global_nav ul li {

    display: inline-block;

    border: none;

    line-height: 1.5;

    font-size: 14px;

    font-size: 1.4rem;

    padding: 0.3em 1em;

    border-left: 1px dotted #9e9c9e;

  }

  header .global_nav ul li a {

    display: inline;

    padding: 0;

    color: #496b6a;

    text-decoration: none;

  }

  header .global_nav ul li a:hover {

    color: #6cc7c4;

    text-decoration: underline;

  }

  header .global_nav ul li a:active {

    background: none;

    color: #6cc7c4;

  }

  header .global_nav ul li:last-child {

    border-right: 1px dotted #9e9c9e;

  }

  header .global_nav ul li a {

    padding: 0.3em 0;

  }

  header .global_nav ul li a:hover {

    border-bottom: 2px solid #6cc7c4;

    text-decoration: none;

  }

  header .global_nav .menu_icon {

    display: none;

  }

  header .local_nav {

    width: 100%;

    margin: 0 auto;

    padding: 10px 0;

    text-align: center;

  }

  header .local_nav ul {

    margin: 0;

    font-size: 0px;

    font-size: 0rem;

  }

  header .local_nav ul li {

    padding-right: 0;

    padding-left: 0;

    font-size: 14px;

    font-size: 1.4rem;

  }

  header .local_nav ul li:not(:last-child):after {

    content: '｜';

    margin-right: 10px;

    margin-left: 10px;

  }

  header .local_nav a {

    color: #496b6a;

    text-decoration: none;

  }

  header .local_nav a:hover {

    color: #6cc7c4;

    text-decoration: underline;

  }



  header {

    -webkit-transition: 0s linear;

    transition: 0s linear;

  }

  header.hidden {

    top: auto;

  }



  body.up header {

    position: relative;

    top: auto;

    left: auto;

  }



  #google_translate_element, .translate_gt {

    position: static;

    float: right;

    margin-top: 3px;

    margin-left: 1em;

  }



  .translate_gt {

    margin-top: 0;

  }

}

@media (min-width: 768px) {

  header .global_nav.slide_bottom {

    display: block;

    position: absolute;

    top: 100%;

    left: 0;

    width: 100%;

    background: #ffffff;

  }

  header .global_nav.slide_bottom ul {

    float: none;

    text-align: center;

  }

}

.hdr_info {

  position: absolute;

  top: 17px;

  right: 0;

  line-height: 1.7;

}



@media (max-width: 767px) {

  .hdr_info {

    display: none;

  }

}

footer {

  position: relative;

  padding: 2em 0;

  background: #6cc7c4;

  color: #ffffff;

}

footer a {

  color: #ffffff;

}

footer a:hover {

  color: #ffffff;

}

footer nav ul {

  margin: 0;

  padding: 0;

  list-style: none;

}

footer nav ul li + li {

  border-top: 1px solid #fff;

}

footer nav a {

  display: block;

  padding: 1em 1em;

  text-decoration: none;

}

footer nav a:hover {

  text-decoration: underline;

}

footer .copyright p {

  text-align: center;

}

footer .pagetop {

  position: absolute;

  top: -25px;

  left: 0;

  width: 100%;

  margin: 0;

  text-align: center;

}

footer .pagetop a {

  display: inline-block;

  position: relative;

  width: 50px;

  height: 50px;

  line-height: 50px;

  padding: 0;

  border-radius: 50%;

  background: #ffb81f;

}

footer .pagetop object {

  position: absolute;

  left: 50%;

  top: 50%;

  width: 18px;

  height: 12px;

  margin-left: -9px;

  margin-top: -6px;

  pointer-events: none;

}



.pagetop_arrow {

  fill: #ffffff;

}



@media (min-width: 768px) {

  footer {

    padding: 50px 0;

  }

  footer .row:not(:last-child) {

    margin-bottom: 15px;

  }

  footer nav {

    text-align: center;

  }

  footer nav ul {

    margin: 0;

    padding: 0;

    list-style: none;

    font-size: 0px;

    font-size: 0rem;

  }

  footer nav ul > li {

    display: inline;

    padding-left: 0;

    padding-right: 0;

    white-space: nowrap;

    font-size: 14px;

    font-size: 1.4rem;

  }

  footer nav ul li {

    line-height: 1.5;

  }

  footer nav ul li + li {

    border: 0;

  }

  footer nav ul li:not(:first-child):before {

    content: "|";

    margin-right: 1em;

    margin-left: 1em;

  }

  footer nav a {

    display: inline;

    padding: 0;

  }

}

@media (min-width: 768px) and (max-width: 1023px) {

  footer nav ul li.tablet-break:after {

    content: "\A";

    white-space: pre;

  }

  footer nav ul li.tablet-break + li:before {

    display: none;

  }

}

@media (min-width: 1024px) {

  footer nav ul li.pc-break:after {

    content: "\A";

    white-space: pre;

  }

  footer nav ul li.pc-break + li:before {

    display: none;

  }

}

.slider-pro.center {

  overflow: hidden;

  width: 100%;

}

.slider-pro.center .sp-button {

  border: none;

  background: #f7f2e5;

}

.slider-pro.center .sp-selected-button {

  background: #6cc7c4;

}

.slider-pro.center.sp-horizontal .sp-arrows {

  left: 0;

  right: 0;

  max-width: 1000px;

  margin-left: auto;

  margin-right: auto;

}

.slider-pro.center.sp-horizontal .sp-previous-arrow {

  left: 10px;

}

.slider-pro.center.sp-horizontal .sp-next-arrow {

  right: 10px;

}

.slider-pro.center .sp-previous-arrow,

.slider-pro.center .sp-next-arrow {

  width: 30px;

  height: 30px;

  border-radius: 50%;

  background-color: rgba(138, 189, 51, 0.7);

  background-position: center center;

  background-repeat: no-repeat;

  background-size: 8px;

}

.slider-pro.center .sp-previous-arrow {

  background-image: url(../img/parts/arrow_left_wh.png);

}

.slider-pro.center .sp-next-arrow {

  background-image: url(../img/parts/arrow_right_wh.png);

}

.slider-pro.center .sp-next-arrow:after,

.slider-pro.center .sp-next-arrow:before,

.slider-pro.center .sp-previous-arrow:after,

.slider-pro.center .sp-previous-arrow:before {

  display: none;

}

.slider-pro.center .sp-layer {

  line-height: 1.2;

  white-space: normal !important;

  font-size: 20px;

  font-size: 2rem;

  color: #496b6a;

}

.slider-pro.center .sp-layer small {

  font-size: 14px;

  font-size: 1.4rem;

}



@media (min-width: 768px) {

  .slider-pro.center .sp-arrows {

    margin-top: -30px;

  }

  .slider-pro.center .sp-previous-arrow,

  .slider-pro.center .sp-next-arrow {

    width: 60px;

    height: 60px;

    background-size: auto;

  }

  .slider-pro.center .sp-layer {

    font-size: 22px;

    font-size: 2.2rem;

  }

  .slider-pro.center .sp-padding {

    padding: 35px;

  }

}

@media (min-width: 1100px) {

  .slider-pro.center.sp-horizontal .sp-previous-arrow {

    left: -30px;

  }

  .slider-pro.center.sp-horizontal .sp-next-arrow {

    right: -30px;

  }

}

.slider-pro.wide {

  position: relative;

  overflow: hidden;

  width: 100%;

  max-width: 1600px;

  margin: 0 auto 10px;

}

.slider-pro.wide .sp-buttons {

  position: absolute;

  z-index: 2;

  bottom: 10px;

  right: 10px;

  width: auto;

  padding-top: 0;

  text-align: right;

}

.slider-pro.wide .sp-button {

  border: none;

  background: #f7f2e5;

}

.slider-pro.wide .sp-selected-button {

  background: #6cc7c4;

}

.slider-pro.wide .sp-previous-arrow,

.slider-pro.wide .sp-next-arrow {

  z-index: 2;

}

.slider-pro.wide .sp-next-arrow:after,

.slider-pro.wide .sp-next-arrow:before,

.slider-pro.wide .sp-previous-arrow:after,

.slider-pro.wide .sp-previous-arrow:before {

  background-color: #ffffff;

}

.slider-pro.wide .hps-slider-mask {

  display: -webkit-box;

  display: -webkit-flex;

  display: -moz-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  -webkit-justify-content: center;

  -moz-justify-content: center;

  justify-content: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  -webkit-align-items: center;

  -moz-align-items: center;

  align-items: center;

  position: absolute;

  z-index: 1;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}

.slider-pro.wide .hps-slider-mask.stripe {

  background-color: rgba(255, 255, 255, 0.2);

  background-image: url(../img/parts/mask_stripe.png);

}

.slider-pro.wide .hps-slider-copy {

  padding: 0 50px;

  color: #496b6a;

  text-align: left;

  font-size: 12px;

  font-size: 1.2rem;

}

.slider-pro.wide .hps-slider-copy .lead {

  margin: 0;

  font-size: 18px;

  font-size: 1.8rem;

  line-height: 1;

  text-align: center;

  color: #496b6a;

}

.slider-pro.wide.disable-arrows .hps-slider-copy {

  padding: 0 10px;

}

.slider-pro.wide .hps-slider-scroll {

  display: none;

}



.ie .slider-pro.wide .hps-slider-copy {

  position: relative;

  top: 50%;

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  transform: translateY(-50%);

}



@media (max-width: 767px) {

  .slider-pro.wide.sp-disable-arrows .hps-slider-copy {

    padding: 0 10px;

  }

}

@media (min-width: 768px) {

  .slider-pro.wide .sp-buttons {

    bottom: 20px;

    right: 25px;

  }

  .slider-pro.wide .sp-button {

    width: 18px;

    height: 18px;

    margin: 0 10px;

  }

  .slider-pro.wide .hps-slider-copy {

    text-align: center;

    font-size: 17px;

    font-size: 1.7rem;

    line-height: 1.8;

  }

  .slider-pro.wide .hps-slider-copy .lead {

    font-size: 46px;

    font-size: 4.6rem;

  }

  .slider-pro.wide .hps-slider-scroll {

    display: block;

    position: absolute;

    left: 0;

    bottom: 15px;

    width: 100%;

    text-align: center;

  }

  .slider-pro.wide .hps-slider-scroll a {

    display: inline-block;

    width: 100px;

    padding-bottom: 45px;

    background: url(../img/parts/arrow_down_white.png) center bottom no-repeat;

    text-align: center;

    color: #fff;

    font-size: 12px;

    font-size: 1.2rem;

    text-decoration: none;

  }

  .slider-pro.wide .hps-slider-scroll.text-black a {

    background: url(../img/parts/arrow_down_black.png) center bottom no-repeat;

    color: #000;

  }

}

@media (min-width: 1024px) {

  .slider-pro.wide .hps-slider-scroll {

    display: block;

    bottom: 45px;

  }

}

.slider-pro.thumb .sp-left-thumbnails,

.slider-pro.thumb .sp-right-thumbnails {

  margin: 0;

}

.slider-pro.thumb .sp-left-thumbnails .sp-thumbnail-container,

.slider-pro.thumb .sp-right-thumbnails .sp-thumbnail-container {

  margin: 0;

  background-color: #000;

}

.slider-pro.thumb .sp-thumbnail-image {

  opacity: 0.5;

  -webkit-transition: 0.5s linear;

  transition: 0.5s linear;

}

.slider-pro.thumb .sp-selected-thumbnail .sp-thumbnail-image {

  opacity: 1.0;

}

.slider-pro.thumb .sp-bottom-thumbnails .sp-thumbnail-image {

  width: 100%;

}

.slider-pro.thumb .sp-layer {

  line-height: 1.2;

  white-space: normal !important;

  font-size: 20px;

  font-size: 2rem;

  color: #496b6a;

}

.slider-pro.thumb .sp-layer small {

  font-size: 14px;

  font-size: 1.4rem;

}

.slider-pro.thumb.sp-vertical .sp-slides {

  margin-left: 0 !important;

  margin-right: 0 !important;

}

.slider-pro.thumb.sp-horizontal .sp-slides {

  margin-top: 0 !important;

}



@media (min-width: 768px) {

  .slider-pro.thumb .sp-layer {

    font-size: 22px;

    font-size: 2.2rem;

  }

  .slider-pro.thumb .sp-padding {

    padding: 35px;

  }

}

.slider-pro.contents {

  overflow: hidden;

  margin: 0 auto !important;

}

.slider-pro.contents .sp-caption-container {

  width: 90%;

  margin: 0 auto;

  padding: 10px;

}

.slider-pro.contents .sp-caption-container h3 {

  margin: 0 0 15px;

  font-size: 14px;

  font-size: 1.4rem;

}

.slider-pro.contents .sp-caption-container h3:last-child {

  margin-bottom: 0;

}

.slider-pro.contents .sp-caption-container p {

  font-size: 13px;

  font-size: 1.3rem;

}

.slider-pro.contents.sp-horizontal .sp-previous-arrow {

  left: 10px;

  margin-top: 180px;

}

.slider-pro.contents.sp-horizontal .sp-next-arrow {

  right: 10px;

  margin-top: 180px;

}

.slider-pro.contents .sp-next-arrow:after,

.slider-pro.contents .sp-next-arrow:before,

.slider-pro.contents .sp-previous-arrow:after,

.slider-pro.contents .sp-previous-arrow:before {

  background-color: #8abd33;

}



@media (max-width: 767px) {

  .slider-pro.contents .sp-arrow {

    width: 10px;

    height: 15px;

  }

}

@media (min-width: 768px) {

  .slider-pro.contents .sp-caption-container {

    width: 450px;

    min-height: 40px;

    margin: 10px auto 0;

    border-right: 1px dashed #999;

    border-left: 1px dashed #999;

  }

  .slider-pro.contents .sp-arrow {

    width: 10px;

    height: 15px;

  }

  .slider-pro.contents.sp-horizontal .sp-previous-arrow {

    left: 50%;

    margin-top: 187.5px;

    margin-left: -230px;

  }

  .slider-pro.contents.sp-horizontal .sp-next-arrow {

    right: 50%;

    margin-top: 187.5px;

    margin-right: -230px;

  }

}

.wide_image img {

  width: 100%;

  vertical-align: top;

}



@media (min-width: 768px) {

  .wide_image div {

    margin: 0 auto;

  }

}

main h1, main .title1 {

  padding: 0;

  text-align: center;

  color: #496b6a;

  font-size: 20px;

  font-size: 2rem;

  font-weight: normal;

  margin: 6% 0 5% 0;

}

main h1 small, main .title1 small {

  display: block;

  font-size: 14px;

  font-size: 1.4rem;

}



h2, .title2 {

  text-align: center;

  color: #ff8929;

  font-size: 18px;

  font-size: 1.8rem;

  font-weight: normal;

}

h2 small, .title2 small {

  display: block;

  font-size: 12px;

  font-size: 1.2rem;

}



h3, .title3 {

  margin: 0 0 0.5em;

  color: #496b6a;

  font-weight: bold;

}



.highlight h2, .highlight .title2 {

  color: #ff8929;

}

.highlight h3, .highlight .title3 {

  color: #496b6a;

}



@media (min-width: 768px) {

  main h1, main .title1 {

    display: block;

    font-size: 28px;

    font-size: 2.8rem;

    margin: 3em 0 2.5em;

  }

  main h1 small, main .title1 small {

    font-size: 16px;

    font-size: 1.6rem;

  }

  main h1:before, main h1:after, main .title1:before, main .title1:after {

    display: none;

  }



  h2, .title2 {

    position: relative;

    margin: 0 0 2.5em;

    padding: 0 0 1em;

    font-size: 22px;

    font-size: 2.2rem;

    font-weight: normal;

  }

  h2 small, .title2 small {

    display: block;

    font-size: 14px;

    font-size: 1.4rem;

  }



  h2:after, .title2:after {

    content: '';

    position: absolute;

    bottom: 0;

    left: 50%;

    display: block;

    width: 80px;

    height: 1px;

    margin-left: -40px;

    border-bottom: 1px solid #ff8929;

  }

  h2.text-left:after, .title2.text-left:after {

    left: 0;

    margin-left: 0;

  }



  .highlight h2:after, .highlight .title2:after {

    border-bottom-color: #ff8929;

  }

}

.button {

  display: inline-block;

  min-width: 0px;

  margin: 0;

  padding: 1em 1em;

  border: 0;

  border-radius: 4px;

  line-height: 1;

  background: #6cc7c4;

  color: #ffffff;

  text-align: center;

  text-decoration: none;

  -webkit-appearance: none;

  -moz-appearance: none;

  appearance: none;

  -webkit-transition: 0.3s linear;

  transition: 0.3s linear;

}

.button:hover {

  background: #308c8a;

  color: #ffffff;

}

.highlight .button {

  color: #ffffff;

}

.highlight .button:hover {

  color: #ffffff;

}

.button.block {

  display: block;

  min-width: 0;

}

.button.inverse {

  border: 0;

  border-radius: 4px;

  background: #ed8523;

  color: #ffffff;

}

.button.inverse:hover {

  background: #e65f05;

  color: #e65f05;

}

.button.ghost {

  border: 2px solid #6cc7c4;

  border-radius: 0;

  background: transparent;

  color: #6cc7c4;

}

.button.ghost:hover {

  background: #6cc7c4;

  color: #fff;

}

.button.circle {

  display: -webkit-box;

  display: -webkit-flex;

  display: -moz-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-direction: normal;

  -webkit-box-orient: vertical;

  -webkit-flex-direction: column;

  -moz-flex-direction: column;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  -webkit-justify-content: center;

  -moz-justify-content: center;

  justify-content: center;

  min-width: 0;

  width: 100px;

  height: 100px;

  margin: auto;

  border: 1px solid #6cc7c4;

  border-radius: 50%;

  background: transparent;

  color: #6cc7c4;

}

.button.circle span {

  padding: 0;

  background: none;

}

.button.circle:hover {

  background: #6cc7c4;

  color: #fff;

}

.ie .button.circle {

  position: relative;

}

.ie .button.circle span {

  display: block;

  position: absolute;

  top: 50%;

  left: 0;

  width: 100%;

  text-align: center;

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  transform: translateY(-50%);

}

.button.cancel {

  background: #888;

  color: #fff;

}

.button.cancel:hover {

  background: #6f6f6f;

}

.button.large {

  padding: 1em 2em;

  font-size: 18px;

  font-size: 1.8rem;

}

.button + .button {

  margin-left: 0.5em;

}

.button span {

  line-height: 1;

  padding-left: 20px;

  background: url(../img/parts/btn_icon.png) left center no-repeat;

  background-size: auto 14px;

}



table {

  margin: 0 auto;

}

table th, table td {

  padding: 0.5em 1em;

}

table th {

  text-align: center;

  font-weight: normal;

}

table td {

  word-break: break-all;

}



.table-default {

  width: 60%;

}

.table-default caption {

  margin-bottom: 0.5em;

  text-align: center;

  font-size: 16px;

  font-size: 1.6rem;

}

.table-default th, .table-default td {

  border: 1px solid #ede2ca;

}

.table-default th {

  background: #ffb81f;

  color: #ffffff;

}

.table-default td {

  background: #ffffff;

}



@media (min-width: 768px) {

  .table-default caption {

    font-size: 20px;

    font-size: 2rem;

  }

}

.table-menu {

  width: 100%;

}

.table-menu caption {

  margin-bottom: 0.5em;

  text-align: center;

  font-size: 16px;

  font-size: 1.6rem;

}

.table-menu th, .table-menu td {

  padding: 0.8em 1em;

  border-top: 1px solid #ede2ca;

  border-bottom: 1px solid #ede2ca;

}

.table-menu tbody th {

  text-align: left;

}

.table-menu td:last-child {

  text-align: right;

  white-space: nowrap;

}



@media (min-width: 768px) {

  .table-menu caption {

    font-size: 20px;

    font-size: 2rem;

  }

}

.table-schedule {

  width: 100%;

}

.table-schedule caption {

  margin-bottom: 0.5em;

  text-align: center;

  font-size: 16px;

  font-size: 1.6rem;

}

.table-schedule th, .table-schedule td {

  border: 1px solid #ede2ca;

  padding: 5px;

  text-align: center;

}

.table-schedule thead th {

  background: #ffb81f;

  color: #ffffff;

}

.table-schedule tbody th {

  background: #ffc852;

}

.table-schedule td {

  background: #ffffff;

}



@media (min-width: 768px) {

  .table-schedule caption {

    font-size: 20px;

    font-size: 2rem;

  }

}

@media (max-width: 767px) {

  .responsive-stack {

    display: block;

  }

  .responsive-stack thead {

    display: none;

  }

  .responsive-stack tbody, .responsive-stack tr, .responsive-stack th, .responsive-stack td {

    display: block;

  }

  .responsive-stack th, .responsive-stack td {

    width: 100% !important;

  }

  .responsive-stack tr:not(:last-child) th, .responsive-stack tr:not(:last-child) td {

    border-bottom: 0;

  }

  .responsive-stack tr:last-child :not(:last-child) {

    border-bottom: 0;

  }

}

@media (max-width: 767px) {

  .responsive-list {

    display: block;

  }

  .responsive-list thead {

    display: none;

  }

  .responsive-list tbody, .responsive-list tr, .responsive-list th, .responsive-list td {

    display: block;

  }

  .responsive-list tr:not(:last-child) td {

    border-bottom: 0;

  }

  .responsive-list td {

    position: relative;

    padding-left: 40%;

    white-space: normal;

    text-align: left;

  }

  .responsive-list td:first-child {

    border-bottom: 0;

  }

  .responsive-list td:last-child {

    border-top: 0;

  }

  .responsive-list td:not(:first-child):not(:last-child) {

    border-top: 0;

    border-bottom: 0;

  }

  .responsive-list td:before {

    content: attr(data-title);

    position: absolute;

    top: 6px;

    left: 6px;

    width: 35%;

    padding-right: 10px;

    white-space: normal;

    text-align: left;

    font-weight: bold;

  }

}

@media (max-width: 767px) {

  .responsive-scroll-container {

    display: block;

    width: 100%;

    min-height: .01%;

    overflow-x: scroll;

  }

  .responsive-scroll-container .responsive-scroll-inner {

    width: 798px;

    padding: 0 15px 15px;

  }

  .responsive-scroll-container table {

    width: 768px;

    margin: 0;

  }

}

@media (max-width: 767px) {

  table.combine tbody tr:last-child th, table.combine tbody tr:last-child td {

    border-bottom: 0;

  }

}

@media (max-width: 767px) {

  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col:not(:last-child) {

    margin-bottom: 1em;

  }

  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure {

    overflow: hidden;

  }

  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure img {

    float: left;

    width: 32%;

    margin-bottom: 10px;

    vertical-align: middle;

  }

  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure figcaption {

    float: right;

    width: 66%;

    margin-top: 0;

    vertical-align: middle;

  }

  .sp_image_cols.sp_col2 .col {

    width: 49%;

  }

  .sp_image_cols.sp_col2 .col:nth-child(odd) {

    clear: both;

    float: left;

  }

  .sp_image_cols.sp_col2 .col:nth-child(even) {

    float: right;

  }

  .sp_image_cols.sp_col3 .col {

    float: left;

    width: 32%;

  }

  .sp_image_cols.sp_col3 .col:nth-child(3n+1) {

    clear: both;

    margin-right: 2%;

  }

  .sp_image_cols.sp_col3 .col:nth-child(3n) {

    float: right;

  }



  .sp_image_left {

    overflow: hidden;

  }

  .sp_image_left .col:first-child {

    display: inline-block;

    float: left;

    width: 32%;

    margin-right: 2%;

    margin-bottom: 0.5em;

  }

  .sp_image_left .col:last-child {

    float: none;

  }



  .sp_image_right {

    overflow: hidden;

  }

  .sp_image_right .col:first-child {

    display: inline-block;

    float: right;

    width: 32%;

    margin-left: 2%;

    margin-bottom: 0.5em;

  }

  .sp_image_right .col:last-child {

    float: none;

  }

}

.guide figure {

  margin-bottom: 1em;

}

.guide figure img {

  width: auto;

  max-width: 100%;

}

.guide .message .contents_link {

  text-align: center;

}



@media (min-width: 768px) {

  .guide {

    position: relative;

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-direction: normal;

    -webkit-box-orient: horizontal;

    -webkit-flex-direction: row;

    -moz-flex-direction: row;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-align: center;

    -ms-flex-align: center;

    -webkit-align-items: center;

    -moz-align-items: center;

    align-items: center;

    width: 100%;

    margin-top: -1em;

  }

  .guide figure {

    -webkit-box-flex: 1;

    -webkit-flex: 1;

    -moz-box-flex: 1;

    -moz-flex: 1;

    -ms-flex: 1;

    flex: 1;

    margin-bottom: 0;

    min-width: 0;

  }

  .guide .message {

    -webkit-box-flex: 3;

    -webkit-flex: 3;

    -moz-box-flex: 3;

    -moz-flex: 3;

    -ms-flex: 3;

    flex: 3;

    padding-left: 2%;

    padding-bottom: 45px;

  }

  .guide .message.text-only {

    padding-bottom: 0;

  }

  .guide .message h2 {

    margin-bottom: 1em;

  }

  .guide .message .contents_link {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    text-align: center;

  }

  .guide.reverse {

    -webkit-box-direction: reverse;

    -webkit-box-orient: horizontal;

    -webkit-flex-direction: row-reverse;

    -moz-flex-direction: row-reverse;

    -ms-flex-direction: row-reverse;

    flex-direction: row-reverse;

  }

  .guide.reverse .message {

    padding-left: 0;

    padding-right: 2%;

  }



  .ie .guide {

    display: table;

  }

  .ie .guide figure {

    display: table-cell;

    width: 23.5%;

    vertical-align: middle;

  }

  .ie .guide .message {

    display: table-cell;

    width: 74.5%;

    padding-left: 2%;

    vertical-align: middle;

  }

  .ie .guide.reverse .message {

    padding-left: 2%;

    padding-right: 0;

  }

}

.news .news_bg {

  background: #f7f2e5;

}

.news.typeC .news_bg {

  padding: 1em;

}

.news h2 {

  color: #ff8929;

}

.news dl {

  margin: 0;

}

.news dl dt {

  margin: 0.5em 0 0;

  padding: 0 1em;

  font-weight: normal;

}

.news dl dd {

  margin: 0.5em 0;

  padding: 0 1em 0.5em;

  border-bottom: 1px solid #ccc;

}



@media (min-width: 768px) {

  .news.typeA > div {

    display: table;

    width: 100%;

    margin: 0 auto;

  }

  .news.typeA > div .heading {

    display: table-cell;

    width: 23.5%;

    vertical-align: middle;

  }

  .news.typeA h2 {

    margin: 0;

    padding: 0;

  }

  .news.typeA h2:before, .news.typeA h2:after {

    display: none;

  }

  .news.typeA .content {

    display: table-cell;

    overflow: hidden;

    width: 74.5%;

    padding-left: 2%;

    vertical-align: middle;

  }

  .news.typeC .news_bg {

    height: 540px;

    padding: 20px;

  }

  .news.typeC dl {

    max-height: 500px;

  }

  .news dl {

    overflow-y: auto;

    max-height: 200px;

  }

  .news dl dt {

    width: 100px;

    clear: left;

    float: left;

    margin: 0;

    padding: 1em 0;

  }

  .news dl dd {

    margin: 0;

    padding: 1em 0 1em 0;

  }

  .news dl dt + dd {

    padding-left: 120px;

  }

}

.shopinfo figure {

  max-width: 80%;

  margin: 0 auto;

}

.shopinfo address {

  text-align: center;

  font-size: 20px;

  font-size: 2rem;

  font-style: normal;

}

.shopinfo dl {

  margin: 2em 0;

  line-height: 1.4;

}

.shopinfo dl:first-child {

  margin-top: 0;

}

.shopinfo dl dt {

  margin: 0 0 0.2em 0;

  font-weight: normal;

}

.shopinfo dl dt:before {

  content: '';

  display: inline-block;

  width: 8px;

  height: 3px;

  margin-right: 0.3em;

  vertical-align: middle;

  background: #6cc7c4;

}

.shopinfo dl dd {

  margin: 0 0 0.5em 1em;

  padding: 0;

}

.shopinfo .map_container {

  position: relative;

  width: 100%;

  height: 0;

  padding-top: 70%;

}

.shopinfo .map_container iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}

.shopinfo .map_container + p {

  margin-top: 2em;

}



.map_wide {

  position: relative;

  width: 100%;

  height: 0;

  padding-top: 70%;

}

.map_wide iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}



body.scroll .googlemap {

  pointer-events: none;

}



@media (min-width: 768px) {

  .shopinfo figure {

    max-width: 100%;

  }

  .shopinfo address {

    margin-bottom: 15px;

    text-align: left;

    font-size: 26px;

    font-size: 2.6rem;

    line-height: 1;

  }

  .shopinfo dl.dl-horizontal {

    margin: 10px 0;

  }

  .shopinfo dl.dl-horizontal dd {

    margin-bottom: 0.3em;

  }

  .shopinfo .span12 .map_container {

    padding-top: 50%;

  }



  .map_wide {

    padding-top: 420px;

  }

}

@media (max-width: 767px) {

  .bf-af .row:not(:last-child) {

    margin-bottom: 10%;

  }

  .bf-af .before {

    padding-bottom: 16%;

    background: url(../img/parts/arrow_down.svg) center bottom no-repeat;

    background-size: 20%;

  }

  .bf-af .after:not(:last-child) {

    margin-bottom: 10%;

  }

}

@media (min-width: 768px) {

  .bf-af {

    display: table;

    table-layout: fixed;

    width: 100%;

  }

  .bf-af .before, .bf-af .after {

    display: table-cell;

    vertical-align: top;

  }

  .bf-af .before span {

    display: block;

    position: relative;

  }

  .bf-af .before span:after {

    content: '';

    display: block;

    position: absolute;

    top: 0;

    height: 100%;

    background: url(../img/parts/arrow_right.svg) center center no-repeat;

    background-size: 100%;

  }

  .bf-af.col2 .before {

    width: 55%;

    padding-right: 10%;

  }

  .bf-af.col2 .after {

    width: 45%;

  }

  .bf-af.col2 .before span:after {

    width: 10%;

    right: -16%;

  }

  .bf-af.col4 .before:nth-child(1) {

    width: 24%;

    padding-left: 0;

    padding-right: 2%;

  }

  .bf-af.col4 .after:nth-child(2) {

    width: 26%;

    padding-left: 3%;

    padding-right: 1%;

  }

  .bf-af.col4 .before:nth-child(3) {

    width: 26%;

    padding-left: 1%;

    padding-right: 3%;

  }

  .bf-af.col4 .after:nth-child(4) {

    width: 24%;

    padding-left: 2%;

    padding-right: 0;

  }

  .bf-af.col4 .before span:after {

    width: 13%;

    right: -18%;

  }

}

.qa .question {

  position: relative;

  margin-bottom: 1em;

  padding: 1em 50px 1em 1em;

  background-color: #f7f2e5;

  font-weight: normal;

  cursor: pointer;

}

.qa .question:after {

  content: '';

  display: block;

  width: 24px;

  height: 24px;

  position: absolute;

  right: 1em;

  top: 50%;

  margin-top: -12px;

  background: url(../img/parts/arrow_down.svg) center center no-repeat;

  background-size: 24px;

  transition: .5s;

}

.qa .question:hover {

  background: #f3ecd9;

}

.qa .question.open:after {

  -webkit-transform: rotate(540deg);

  transform: rotate(540deg);

}

.qa .answer {

  display: none;

}

.qa .answer:not(:last-child) {

  margin-bottom: 2em;

}



.qa.qa-open .question {

  padding-right: 1em;

  cursor: default;

}

.qa.qa-open .question:hover {

  background-color: #f7f2e5;

}

.qa.qa-open .question:after {

  display: none;

}

.qa.qa-open .answer {

  display: block;

}



.highlight .qa .question {

  background: #fdfcf8;

}

.highlight .qa .question:hover {

  background: #f9f6ed;

}

.highlight .qa.qa-open .question:hover {

  background: #fdfcf8;

}



.step .row,

.step-h .col {

  position: relative;

  padding: 1em;

  background: #f7f2e5;

}



.step .row:not(:last-child):after,

.step-h .col:not(:last-child):after,

.step-h .row.continue .col:last-child:after {

  content: '';

  display: block;

  position: absolute;

  left: 0;

  top: 100%;

  width: 100%;

  height: 0;

  background: url(../img/parts/arrow_down.svg) center center no-repeat;

  background-size: auto 100%;

}



@media (max-width: 767px) {

  .step .row:not(:last-child),

  .step-h .col:not(:last-child),

  .step-h .row.continue .col:last-child {

    margin-bottom: 18%;

  }

  .step .row:not(:last-child):after,

  .step-h .col:not(:last-child):after,

  .step-h .row.continue .col:last-child:after {

    padding-top: 20%;

  }



  .step-h .row.continue {

    margin-bottom: 0;

  }

}

@media (min-width: 768px) {

  .step .row {

    display: table;

    table-layout: fixed;

    width: 100%;

    padding: 2em;

  }

  .step .row .col {

    float: none;

    display: table-cell;

    vertical-align: middle;

  }

  .step .row .col:not(:first-child) {

    padding-left: 2%;

  }

  .step .row:not(:last-child) {

    margin-bottom: 80px;

  }

  .step .row:not(:last-child):after {

    top: 100%;

    padding-top: 60px;

    margin: 10px 0;

  }

  .step h3:last-child {

    margin-bottom: 0;

  }



  .step-h.gutters .col {

    margin: 0;

  }

  .step-h .col {

    padding: 0;

    background: none;

  }

  .step-h .col:not(:last-child) {

    position: relative;

    margin-right: 4%;

  }

  .step-h .col:not(:last-child):after {

    display: none;

  }

  .step-h .col:not(:last-child) figure span {

    display: inline-block;

    position: relative;

    width: 100%;

  }

  .step-h .col:not(:last-child) figure span:after {

    content: '';

    display: block;

    width: 28px;

    height: 100%;

    position: absolute;

    right: -30px;

    top: 0;

    background: url(../img/parts/arrow_right.svg) center center no-repeat;

    background-size: contain;

  }

  .step-h .span_3 {

    width: 22%;

  }

  .step-h .span_4 {

    width: 30.66666666%;

  }

  .step-h .span_6 {

    width: 48%;

  }

}

@media (min-width: 1024px) {

  .step-h .col:not(:last-child) figure span:after {

    right: -34px;

  }

}

/* お問い合わせフォーム */

.inquiry fieldset {

  margin: 0;

  padding: 20px 10px;

  border: 0;

  background: #f7f2e5;

}

.inquiry fieldset .row {

  margin: 0;

}

.inquiry dl {

  margin: 0;

  padding: 0;

}

.inquiry dt {

  font-weight: normal;

}

.inquiry dt.col:not(:last-child) {

  margin-bottom: 1em;

}

.inquiry dd {

  margin: 0;

  padding: 0;

}

.inquiry dd:last-child {

  padding-bottom: 0;

}

.inquiry dd .confirm {

  padding: 0 0 1em 1em;

  border-bottom: 1px dashed #ccc;

}

.inquiry input[type="text"],

.inquiry input[type="url"],

.inquiry input[type="email"],

.inquiry input[type="tel"],

.inquiry input[type="date"],

.inquiry input[type="number"],

.inquiry select,

.inquiry textarea {

  width: 100%;

  padding: 5px;

  color: #000;

  font-size: 16px;

  font-size: 1.6rem;

}

.inquiry input[type="number"] {

  width: 65px;

  text-align: center;

}

.inquiry input.p-postal-code {

  width: 100px;

}

.inquiry input.p-region {

  width: 100px;

}

.inquiry input.p-locality {

  width: 150px;

}

.inquiry input.p-street-address {

  width: 100%;

}

.inquiry input.p-extended-address {

  width: 100%;

}

.inquiry .submit {

  margin: 1em 0;

  text-align: center;

}

.inquiry .required {

  color: #c00;

}

.inquiry label {

  display: block;

  margin-bottom: 0.5em;

}



@media (min-width: 768px) {

  .inquiry {

    max-width: 780px;

    margin-right: auto;

    margin-left: auto;

  }

  .inquiry fieldset {

    margin: 0;

    padding: 60px;

    border: 0;

  }

  .inquiry dt {

    clear: both;

    padding: 6px 0;

  }

  .inquiry dd {

    padding-bottom: 1.5em;

  }

  .inquiry dd .confirm {

    min-height: 1.5em;

    padding: 6px 0 0;

    border: 0;

    line-height: 1.4;

  }

  .inquiry input[type="text"],

  .inquiry input[type="url"],

  .inquiry input[type="email"],

  .inquiry input[type="tel"],

  .inquiry input[type="date"],

  .inquiry input[type="text"],

  .inquiry select {

    width: 60%;

  }

  .inquiry input[type="number"] {

    width: 65px;

  }

  .inquiry input.p-postal-code {

    width: 100px;

  }

  .inquiry input.p-region {

    width: 100px;

  }

  .inquiry input.p-locality {

    width: 150px;

  }

  .inquiry input.p-street-address {

    width: 100%;

  }

  .inquiry input.p-extended-address {

    width: 100%;

  }

  .inquiry textarea {

    width: 100%;

  }

  .inquiry .submit {

    margin: 60px 0 0;

  }

  .inquiry label {

    display: inline-block;

    margin-top: 6px;

    margin-bottom: 0;

    margin-right: 0.8em;

  }



  .gutters .inquiry dt.col {

    margin-left: 0;

  }

}

.sns_icons {

  display: table;

  margin: 0;

  padding: 0;

  list-style: none;

  font-size: 0px;

  font-size: 0rem;

  margin: auto;

}

.sns_icons > li {

  display: inline;

  padding-left: 0;

  padding-right: 0;

  white-space: nowrap;

  font-size: 14px;

  font-size: 1.4rem;

}

.sns_icons li {

  display: inline-block;

}

.sns_icons li:not(:last-child) {

  margin-right: 10px;

}

.sns_icons a {

  display: block;

  overflow: hidden;

  text-indent: 100%;

  white-space: nowrap;

  width: 34px;

  height: 34px;

  background-repeat: no-repeat;

  background-size: contain;

}

.sns_icons a.icon_facebook {

  background-image: url(../img/parts/icon_facebook.png);

}

.sns_icons a.icon_twitter {

  background-image: url(../img/parts/icon_twitter.png);

}

.sns_icons a.icon_line {

  background-image: url(../img/parts/icon_line.png);

}

.sns_icons a.icon_google {

  background-image: url(../img/parts/icon_google.png);

}

.sns_icons a.icon_instagram {

  background-image: url(../img/parts/icon_instagram.png);

}



footer .sns_icons {

  margin-top: 1.5em;

}



@media (min-width: 768px) {

  .sns_icons {

    margin: 0;

  }

  .sns_icons.center {

    margin: auto;

  }

  .sns_icons li:not(:last-child) {

    margin-right: 20px;

  }

  .sns_icons a {

    width: 68px;

    height: 68px;

  }



  footer .sns_icons {

    margin-top: 30px;

  }

}

.parallax {

  background-position: center center;

  background-repeat: no-repeat;

  background-attachment: fixed;

  background-size: cover;

  display: -webkit-box;

  display: -webkit-flex;

  display: -moz-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-direction: normal;

  -webkit-box-orient: vertical;

  -webkit-flex-direction: column;

  -moz-flex-direction: column;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  -webkit-justify-content: center;

  -moz-justify-content: center;

  justify-content: center;

}

.parallax.ios, .parallax.scroll {

  background-attachment: scroll;

}

.parallax .parallax_contents h1, .parallax .parallax_contents .h1 {

  margin: 0;

  padding: 1em 0;

}



.parallax_1 {

  height: 350px;

  background-image: url(../img/parallax_bg.jpg);

}



@media (min-width: 768px) {

  .parallax_1 {

    height: 400px;

  }

}

.ie .parallax .parallax_contents {

  position: relative;

  top: 50%;

  -webkit-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  transform: translateY(-50%);

}



.feature {

  color: #fff;

}

.feature h3 {

  margin: 0;

  text-align: center;

  color: #fff;

  font-size: 22px;

  font-size: 2.2rem;

}

.feature img {

  width: 100%;

}

.feature .col {

  display: table;

  table-layout: fixed;

}

.feature .col:not(:last-child) {

  margin-bottom: 0;

}

.feature .col:nth-child(1) {

  background: #49afe6;

}

.feature .col:nth-child(2) {

  background: #8ed95d;

}

.feature .col:nth-child(3) {

  background: #f6aa48;

}

.feature .col:nth-child(4) {

  background: #f98282;

}

.feature .col .textbox {

  display: table-cell;

  width: 70%;

  padding: 1em 3%;

  vertical-align: middle;

}

.feature .col figure {

  display: table-cell;

  width: 30%;

  vertical-align: middle;

}

.feature .col figure:first-child img {

  text-align: left;

}

.feature .col figure:last-child img {

  text-align: right;

}



@media (min-width: 768px) {

  .feature h3 {

    margin: 10px 0 15px;

    font-size: 26px;

    font-size: 2.6rem;

  }

  .feature .col {

    display: block;

    table-layout: auto;

  }

  .feature .col .textbox {

    display: block;

    width: auto;

    height: 250px;

    padding: 10px;

    font-size: 13px;

    font-size: 1.3rem;

  }

  .feature .col figure {

    display: block;

    width: auto;

    vertical-align: middle;

  }



  .feature.feature_h .col .textbox {

    width: 50%;

  }

  .feature.feature_h .col figure {

    width: 50%;

  }

  .feature.feature_h .col:nth-child(4n+1) .textbox, .feature.feature_h .col:nth-child(4n+2) .textbox {

    float: right;

  }

  .feature.feature_h .col:nth-child(4n+1) figure, .feature.feature_h .col:nth-child(4n+2) figure {

    float: left;

  }

  .feature.feature_h .col:nth-child(4n+3) .textbox, .feature.feature_h .col:nth-child(4n) .textbox {

    float: left;

  }

  .feature.feature_h .col:nth-child(4n+3) figure, .feature.feature_h .col:nth-child(4n) figure {

    float: right;

  }

}

.movie {

  position: relative;

  overflow: hidden;

  height: 0;

  padding-top: 56.25%;

}

.movie iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100% !important;

  height: 100% !important;

}

.movie.ar16to9 {

  padding-top: 56.25%;

}

.movie.ar4to3 {

  padding-top: 75%;

}



.grid {

  display: block;

  margin: 0;

}

.grid.row, .grid .row, .grid.col, .grid .col {

  margin: 0;

}

.has-child-grid .grid {

  display: -webkit-box;

  display: -webkit-flex;

  display: -moz-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  -webkit-justify-content: center;

  -moz-justify-content: center;

  justify-content: center;

  -webkit-box-align: stretch;

  -ms-flex-align: stretch;

  -webkit-align-items: stretch;

  -moz-align-items: stretch;

  align-items: stretch;

}

.has-child-grid .grid .col {

  display: -webkit-box;

  display: -webkit-flex;

  display: -moz-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-direction: normal;

  -webkit-box-orient: vertical;

  -webkit-flex-direction: column;

  -moz-flex-direction: column;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  -webkit-justify-content: center;

  -moz-justify-content: center;

  justify-content: center;

  text-align: center;

}

.has-child-grid .grid .col.span_12 {

  padding: 20px 0;

}

.grid .grid-arrow {

  position: relative;

  overflow: hidden;

}

.grid .grid-arrow:after {

  content: '';

  display: block;

  position: absolute;

  right: -15px;

  bottom: -15px;

  width: 30px;

  height: 30px;

  background-color: #fff;

  -webkit-transform: rotate(45deg);

  -ms-transform: rotate(45deg);

  transform: rotate(45deg);

  -webkit-transition: 0.3s linear;

  transition: 0.3s linear;

}

.grid p {

  margin: 0;

  padding: 0.2em 0;

}

.grid a {

  color: #fff;

  text-decoration: none;

  -webkit-transition: 0.3s linear;

  transition: 0.3s linear;

}

.grid a > [style^="background-image"], .grid a img {

  background-repeat: no-repeat;

  background-position: center center;

  background-size: cover;

  -webkit-transition: 0.3s linear;

  transition: 0.3s linear;

}

.grid a:hover > [style^="background-image"], .grid a:hover img {

  opacity: 0.6;

}

.grid .grid-bg1 {

  background-color: #e74c3c;

}

.grid .grid-bg1:hover {

  background-color: #eb6d60;

}

.grid .grid-bg1:hover .grid-arrow:after {

  background-color: #df2e1b;

}

.grid .grid-bg2 {

  background-color: #3498db;

}

.grid .grid-bg2:hover {

  background-color: #57aae1;

}

.grid .grid-bg2:hover .grid-arrow:after {

  background-color: #2383c4;

}

.grid .grid-bg3 {

  background-color: #f1c40f;

}

.grid .grid-bg3:hover {

  background-color: #f3cd36;

}

.grid .grid-bg3:hover .grid-arrow:after {

  background-color: #cba50c;

}

.grid .grid-bg4 {

  background-color: #1abc9c;

}

.grid .grid-bg4:hover {

  background-color: #1fe0ba;

}

.grid .grid-bg4:hover .grid-arrow:after {

  background-color: #15987e;

}

.grid .grid-bg5 {

  background-color: #9b59b6;

}

.grid .grid-bg5:hover {

  background-color: #ac75c2;

}

.grid .grid-bg5:hover .grid-arrow:after {

  background-color: #8646a0;

}

.grid .grid-bg6 {

  background-color: #34495e;

}

.grid .grid-bg6:hover {

  background-color: #435d78;

}

.grid .grid-bg6:hover .grid-arrow:after {

  background-color: #253544;

}

.grid .grid-bg7 {

  background-color: #2ecc71;

}

.grid .grid-bg7:hover {

  background-color: #4cd787;

}

.grid .grid-bg7:hover .grid-arrow:after {

  background-color: #26ab5f;

}



.ie .grid .grid-arrow:after {

  display: none;

}



@media (min-width: 768px) {

  .grid {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    -webkit-justify-content: center;

    -moz-justify-content: center;

    justify-content: center;

    -webkit-box-align: stretch;

    -ms-flex-align: stretch;

    -webkit-align-items: stretch;

    -moz-align-items: stretch;

    align-items: stretch;

  }

  .grid .col {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-direction: normal;

    -webkit-box-orient: vertical;

    -webkit-flex-direction: column;

    -moz-flex-direction: column;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    -webkit-justify-content: center;

    -moz-justify-content: center;

    justify-content: center;

    text-align: center;

  }

  .grid .col.span_12 {

    padding: 0;

  }

  .grid .col.has-child-grid > * {

    -webkit-box-flex: 1;

    -webkit-flex-grow: 1;

    -moz-flex-grow: 1;

    -ms-flex-positive: 1;

    flex-grow: 1;

  }

  .grid p {

    margin: 0;

    padding: 0.2em 0;

  }

}

.generic_box {

  padding: 1.5em;

  background: #f7f2e5;

}

.generic_box.through {

  background: rgba(247, 242, 229, 0.6);

}

.generic_box.white {

  background: #fff;

}

.generic_box.white.through {

  background: rgba(255, 255, 255, 0.6);

}

.generic_box.black {

  background: #000;

  color: #fff;

}

.generic_box.black h3 {

  color: #fff;

}

.generic_box.black.through {

  background: rgba(0, 0, 0, 0.6);

}

.generic_box.border {

  border: 5px solid #6cc7c4;

}



@media (min-width: 768px) {

  .generic_box {

    padding: 3em;

  }

}

.text-center {

  text-align: center !important;

}



.text-left {

  text-align: left !important;

}



.text-right {

  text-align: right !important;

}



.lead {

  color: #6cc7c4;

  font-size: 20px;

  font-size: 2rem;

}



.text-xxlarge {

  font-size: 24px;

  font-size: 2.4rem;

}



.text-xlarge {

  font-size: 20px;

  font-size: 2rem;

}



.text-large {

  font-size: 16px;

  font-size: 1.6rem;

}



.text-small {

  font-size: 12px;

  font-size: 1.2rem;

}



.text-xsmall {

  font-size: 10px;

  font-size: 1rem;

}



.text-white {

  color: #ffffff !important;

}



.text-black {

  color: #000000 !important;

}



.text-red {

  color: #ff0000 !important;

}



.text-primary {

  color: #6cc7c4 !important;

}



.text-shadow, .text-shadow-white {

  text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;

}



.text-shadow-thin, .text-shadow-white-thin {

  text-shadow: 0 0 1px #fff;

}



.text-shadow-bold, .text-shadow-white-bold {

  text-shadow: 2px 2px 3px #fff, 2px -2px 3px #fff, -2px 2px 3px #fff, -2px -2px 3px #fff, 0 2px 3px #fff, 0 -2px 3px #fff, 2px 0 3px #fff, -2px 0 3px #fff;

}



.text-shadow-black {

  text-shadow: 1px 1px 1px #000, 1px -1px 1px #000, -1px 1px 1px #000, -1px -1px 1px #000;

}



.text-shadow-black-thin {

  text-shadow: 0 0 1px #000;

}



.text-shadow-black-bold {

  text-shadow: 2px 2px 3px #000, 2px -2px 3px #000, -2px 2px 3px #000, -2px -2px 3px #000, 0 2px 3px #000, 0 -2px 3px #000, 2px 0 3px #000, -2px 0 3px #000;

}



.text-shadow-primary {

  text-shadow: 1px 1px 1px #6cc7c4, 1px -1px 1px #6cc7c4, -1px 1px 1px #6cc7c4, -1px -1px 1px #6cc7c4;

}



.text-shadow-primary-thin {

  text-shadow: 0 0 1px #6cc7c4;

}



.text-shadow-primary-bold {

  text-shadow: 2px 2px 1px #6cc7c4, 2px -2px 1px #6cc7c4, -2px 2px 1px #6cc7c4, -2px -2px 1px #6cc7c4, 0 2px 1px #6cc7c4, 0 -2px 1px #6cc7c4, 2px 0 1px #6cc7c4, -2px 0 1px #6cc7c4;

}



.text-outline, .text-outline-white {

  text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff;

}



.text-outline-bold, .text-outline-white-bold {

  text-shadow: 2px 2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, -2px -2px 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff;

}



.text-outline-black {

  text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 0 1px 0 #000, 0 -1px 0 #000, 1px 0 0 #000, -1px 0 0 #000;

}



.text-outline-black-bold {

  text-shadow: 2px 2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, -2px -2px 0 #000, 0 2px 0 #000, 0 -2px 0 #000, 2px 0 0 #000, -2px 0 0 #000;

}



.text-outline-primary {

  text-shadow: 1px 1px 0 #6cc7c4, 1px -1px 0 #6cc7c4, -1px 1px 0 #6cc7c4, -1px -1px 0 #6cc7c4, 0 1px 0 #6cc7c4, 0 -1px 0 #6cc7c4, 1px 0 0 #6cc7c4, -1px 0 0 #6cc7c4;

}



.text-outline-primary-bold {

  text-shadow: 2px 2px 0 #6cc7c4, 2px -2px 0 #6cc7c4, -2px 2px 0 #6cc7c4, -2px -2px 0 #6cc7c4, 0 2px 0 #6cc7c4, 0 -2px 0 #6cc7c4, 2px 0 0 #6cc7c4, -2px 0 0 #6cc7c4;

}



@media (max-width: 767px) {

  .text-outline-bold {

    text-shadow: 1px 1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff;

  }

  .text-outline-bold.text-xxlarge {

    text-shadow: 2px 2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, -2px -2px 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff;

  }



  .text-outline-black-bold {

    text-shadow: 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 0 1px 0 #000, 0 -1px 0 #000, 1px 0 0 #000, -1px 0 0 #000;

  }

  .text-outline-black-bold.text-xxlarge {

    text-shadow: 2px 2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, -2px -2px 0 #000, 0 2px 0 #000, 0 -2px 0 #000, 2px 0 0 #000, -2px 0 0 #000;

  }



  .text-outline-primary-bold {

    text-shadow: 1px 1px 0 #6cc7c4, 1px -1px 0 #6cc7c4, -1px 1px 0 #6cc7c4, -1px -1px 0 #6cc7c4, 0 1px 0 #6cc7c4, 0 -1px 0 #6cc7c4, 1px 0 0 #6cc7c4, -1px 0 0 #6cc7c4;

  }

  .text-outline-primary-bold.text-xxlarge {

    text-shadow: 2px 2px 0 #6cc7c4, 2px -2px 0 #6cc7c4, -2px 2px 0 #6cc7c4, -2px -2px 0 #6cc7c4, 0 2px 0 #6cc7c4, 0 -2px 0 #6cc7c4, 2px 0 0 #6cc7c4, -2px 0 0 #6cc7c4;

  }

}

@media (max-width: 767px) {

  .sp-hide, .pc-only, .tablet-only {

    display: none !important;

  }



  .sp-text-center {

    text-align: center !important;

  }



  .sp-text-left {

    text-align: left !important;

  }



  .sp-text-right {

    text-align: right !important;

  }

}

@media (min-width: 768px) {

  .lead {

    font-size: 28px;

    font-size: 2.8rem;

  }



  .text-xxlarge {

    font-size: 46px;

    font-size: 4.6rem;

  }



  .text-xlarge {

    font-size: 28px;

    font-size: 2.8rem;

  }



  .text-large {

    font-size: 20px;

    font-size: 2rem;

  }



  .text-small {

    font-size: 12px;

    font-size: 1.2rem;

  }



  .text-xsmall {

    font-size: 10px;

    font-size: 1rem;

  }



  .pc-hide, .sp-only {

    display: none !important;

  }



  .pc-text-center {

    text-align: center !important;

  }



  .pc-text-left {

    text-align: left !important;

  }



  .pc-text-right {

    text-align: right !important;

  }

}

@media (min-width: 768px) and (max-width: 1023px) {

  .tablet-hide {

    display: none !important;

  }

}

@media (min-width: 1024px) {

  .tablet-only {

    display: none !important;

  }

}

.round-small {

  border-radius: 4px;

}



.round, .round-medium {

  border-radius: 12px;

}



.round-large {

  border-radius: 28px;

}



.circle {

  border-radius: 50%;

}



.mt0 {

  margin-top: 0 !important;

}



.mb0 {

  margin-bottom: 0 !important;

}



.m-auto {

  margin-right: auto !important;

  margin-left: auto !important;

}



.v-justify {

  height: 100%;

  display: -webkit-box;

  display: -webkit-flex;

  display: -moz-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-direction: normal;

  -webkit-box-orient: vertical;

  -webkit-flex-direction: column;

  -moz-flex-direction: column;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  -webkit-justify-content: space-between;

  -moz-justify-content: space-between;

  justify-content: space-between;

}



@media (min-width: 768px) {

  .row.v-bottom {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-direction: normal;

    -webkit-box-orient: horizontal;

    -webkit-flex-direction: row;

    -moz-flex-direction: row;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-align: end;

    -ms-flex-align: end;

    -webkit-align-items: flex-end;

    -moz-align-items: flex-end;

    align-items: flex-end;

  }

  .row.v-bottom.reverse {

    -webkit-box-direction: reverse;

    -webkit-box-orient: horizontal;

    -webkit-flex-direction: row-reverse;

    -moz-flex-direction: row-reverse;

    -ms-flex-direction: row-reverse;

    flex-direction: row-reverse;

  }

}

@media (min-width: 768px) {

  .row.v-center {

    display: -webkit-box;

    display: -webkit-flex;

    display: -moz-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-direction: normal;

    -webkit-box-orient: horizontal;

    -webkit-flex-direction: row;

    -moz-flex-direction: row;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-align: center;

    -ms-flex-align: center;

    -webkit-align-items: center;

    -moz-align-items: center;

    align-items: center;

  }

  .row.v-center.reverse {

    -webkit-box-direction: reverse;

    -webkit-box-orient: horizontal;

    -webkit-flex-direction: row-reverse;

    -moz-flex-direction: row-reverse;

    -ms-flex-direction: row-reverse;

    flex-direction: row-reverse;

  }

}

.greeting_sec01 {

  line-height: 1.6em;

}



.service_sec02 .col.span_9 {

  padding: 60px 0;

}

.service_sec02 .col.span_9 p:first-child {

  font-size: 1.6em;

}



.service_sec01 p {

  font-size: 0.95em;

}



.service_sec03 td {

  text-align: center;

}



.top_sec02 a, .top_sec05 a {

  text-decoration: none;

}



@media (min-width: 768px) and (max-width: 999px) {

  header .global_nav ul li {

    padding: 0.3em 0.5em !important;

  }

}

.button.no-btn {

  border-radius: 0;

}

.button.no-btn:hover {

  background: #6cc7c4 !important;

}



.v-justify p {

  margin-bottom: 0;

  line-height: 1.7;

}



@media (max-width: 767px) {

  .container {

    padding: 10px;

  }



  .service_sec02 .row {

    padding-bottom: 70px;

  }

  .service_sec02 .row .col.span_9 {

    padding: 0;

  }

  .service_sec02 .row .col.span_9 p:first-child {

    padding-top: 11px;

    text-align: center;

  }



  .staff_sec01 .col.span_3 {

    padding: 10%;

  }

  .staff_sec01 .col.span_3 img {

    width: 100%;

  }



  .inquiry_common .button {

    width: 100%;

  }



  .top_sec02 .row figure, .top_sec05 .row figure {

    padding-bottom: 2em;

  }

}



@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
    to {
    transform: translateX(-100%);
  }
  }
  .scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
  }
  .scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
  }
  .scroll-infinity__list--left {
    animation: infinity-scroll-left 40s infinite linear 0.5s both;
  }
  .scroll-infinity__item {
    width: calc(250vw / 6);
  }
  .scroll-infinity__item>img {
    width: 100%;
  }





/*# sourceMappingURL=main.css.map */

