@charset "UTF-8";

/* /////////////////////////////////////////////////////// */
/*
/*  Base Style
/*
/*  1.General
/*  2.Web Font
/*  3.FancyBox
/*
/* ////////////////////////////////////////////////////// */

/*----------------------------------------------------
	General
----------------------------------------------------*/
*, *:after, *:before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
body {font: 14px/1.7 "Noto Sans","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,sans-serif;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background: #fff;}
h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li{margin:0;padding:0;}
audio,canvas,img,video {vertical-align: middle;}
fieldset {border: 0;margin: 0;padding: 0;}
input[type="text"] {-webkit-appearance: none;}
input:focus,textarea:focus{outline: none;}
input,textarea{padding:8px;box-sizing:border-box;border:none; border-radius: 0;-webkit-appearance: none; appearance: none;border: 1px solid #ccc;box-sizing: border-box;}
textarea {resize: vertical;-webkit-appearance: none;}
a{color:#000; text-decoration: none;outline:none;-webkit-transition: all .5s;transition: all .5s;-webkit-tap-highlight-color:rgba(0,0,0,0.5);}
a:hover{color:#888;}
a:focus{outline:none;}
a img{o-webkit-transition: all .5s;transition: all .5s;}
a:hover img{opacity:0.6; filter:alpha(opacity=60);-ms-filter: "alpha( opacity=60 )"; }
::-moz-selection {background: #3f3a39;color: #fff;}
::selection {background: #3f3a39;color: #fff;}
::-webkit-input-placeholder {color:#ccc;}
:-moz-placeholder {color:#ccc;}
.cf:before,.cf:after {content:"";display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}
.fm {font-family:Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}


/*----------------------------------------------------
	Web Font
----------------------------------------------------*/
@font-face {
	font-family: 'icomoon';src:url('../fonts/icomoon.eot?8npy4q');src:url('../fonts/icomoon.eot?8npy4q#iefix') format('embedded-opentype'),url('../fonts/icomoon.ttf?8npy4q') format('truetype'),url('../fonts/icomoon.woff?8npy4q') format('woff'),url('../fonts/icomoon.svg?8npy4q#icomoon') format('svg');font-weight: normal;font-style: normal;}
[class^="icon-"], [class*=" icon-"] {font-family: 'icomoon' !important;speak: none;font-style: normal;font-weight: normal;font-variant: normal;text-transform: none;line-height: 1;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.icon-book:before {content: "\e910";}
.icon-gakujyutu:before {content: "\e911";}
.icon-about:before {content: "\e90f";}
.icon-balloon:before {content: "\e901";}
.icon-bed:before {content: "\e902";}
.icon-beginner:before {content: "\e903";}
.icon-customer:before {content: "\e904";}
.icon-gairai:before {content: "\e905";}
.icon-kankei:before {content: "\e906";}
.icon-mail:before {content: "\e907";}
.icon-recruit:before {content: "\e908";}
.icon-search:before {content: "\e909";}
.icon-tel:before {content: "\e90a";}
.icon-chevron-with-circle-up:before {content: "\e608";}
.icon-menu:before {content: "\e90b";}
.icon-home:before {content: "\e900";}
.icon-facebook2:before {content: "\ea8d";}
.icon-twitter2:before {content: "\ea92";}
.icon-feed3:before {content: "\ea95";}
.icon-calendar:before {content: "\e90c";}
.icon-cog:before {content: "\e90d";}
.icon-pencil:before {content: "\e90e";}



/*
 * jQuery FlexSlider v2.5.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 and later license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 * 
 */
/* ====================================================================================================================
 * RESETS
 * ====================================================================================================================*/
.slides,
.slides > li,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}
.flex-pauseplay span {
  text-transform: capitalize;
}
/* ====================================================================================================================
 * BASE STYLES
 * ====================================================================================================================*/
#main_slider {
  margin: 0;
  padding: 0;
}
#main_slider .slides > li {
  display: none;
  -webkit-backface-visibility: hidden;
}
#main_slider .slides img {
  width: 100%;
  display: block;
}
#main_slider .slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
html[xmlns] #main_slider .slides {
  display: block;
}
* html #main_slider .slides {
  height: 1%;
}
.no-js #main_slider .slides > li:first-child {
  display: block;
}
/* ====================================================================================================================
 * DEFAULT THEME
 * ====================================================================================================================*/
#fade_block {
  position: relative;
}
.fade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 8999;
}
#main_slider {
  margin: 0 0 35px;
  position: relative;
  zoom: 1;
}
#main_slider .slides {
  zoom: 1;
}
#main_slider .slides img {
 width: 100%;
  height: auto;
}
.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.loading .flex-viewport {
  max-height: 300px;
}
.carousel li {
  margin-right: 5px;
}
.flex-direction-nav {
  *height: 0;
}
.flex-direction-nav a {
  display: block;
  width: 50px;
  height: 50px;
  margin: -25px 0 0;
  position: absolute;
  top: 50%;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: rgba(255, 255, 255, 1);
  background: #69c19d;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.flex-direction-nav a:before {
  font-family: "icomoon";
  font-size: 30px;
  display: inline-block;
  content: '\e605';
  color: rgba(255, 255, 255, 1);
  padding-left: 8px;
}
.flex-direction-nav a.flex-next:before {
  content: '\e606';
  padding-right: 8px;
}
.flex-direction-nav .flex-prev {
  left: -0;
}
.flex-direction-nav .flex-next {
  right: 0;
  text-align: right;
}
#main_slider:hover .flex-direction-nav .flex-prev:hover {
  opacity: 0.7;
}
#main_slider:hover .flex-direction-nav .flex-next:hover {
  opacity: 0.7;
}
.flex-direction-nav .flex-disabled {
  opacity: 0!important;
  filter: alpha(opacity=0);
  cursor: default;
}
.flex-pauseplay a {
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 5px;
  left: 10px;
  opacity: 0.8;
  z-index: 10;
  overflow: hidden;
  cursor: pointer;
  color: #000;
}
.flex-pauseplay a:before {
  font-family: "flexslider-icon";
  font-size: 20px;
  display: inline-block;
  content: '\f004';
}
.flex-pauseplay a:hover {
  opacity: 1;
}
.flex-pauseplay a.flex-play:before {
  content: '\f003';
}
.flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: 15px;
  text-align: center;
  z-index: 8998;
}
.flex-control-nav li {
  margin: 0 4px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.flex-control-paging li a {
  width: 13px;
  height: 13px;
  display: block;
  background: #fff;
  cursor: pointer;
  text-indent: -9999px;
  border: 2px solid #fff;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.flex-control-paging li a:hover {
  background: #888;
}
.flex-control-paging li a.flex-active {
  background: #3f3a39;
  background: rgba(63,58,57,1);
  cursor: default;
}
.flex-control-thumbs {
  margin: 5px 0 0;
  position: static;
  overflow: hidden;
}
.flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
}
.flex-control-thumbs img {
  width: 100%;
  height: auto;
  display: block;
  opacity: .7;
  cursor: pointer;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.flex-control-thumbs img:hover {
  opacity: 1;
}
.flex-control-thumbs .flex-active {
  opacity: 1;
  cursor: default;
}
.flex-caption {
    width: 100%;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    margin-top: -75px;
    position: absolute;
    top: 50%;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.8);
}
/* ====================================================================================================================
 * RESPONSIVE
 * ====================================================================================================================*/
@media screen and (max-width: 768px) {
  .flex-direction-nav .flex-prev {
    opacity: 1;
    left: 0;
    background-size: 30px 25px;
  }
  .flex-direction-nav .flex-next {
    opacity: 1;
    right: 0;
    background-size: 30px 25px;
  }
  .flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 30px;
  height: 25px;
  margin: -13px 0 0;
}
.flex-direction-nav a:before {
  font-size: 16px;
  padding-left: 6px;
}
.flex-direction-nav a.flex-next:before {
  padding-right: 6px;
}
.flex-caption {
    font-size: 28px;
    margin-top: -45px;
}
}
@media screen and (max-width: 640px) {
.flexslider {
  margin: 0 0 30px;
}
.flex-control-nav {
    display: none;
}
.flex-caption {
    font-size: 16px;
    margin-top: -25px;
}
}

.spinner {
  width: 40px;
  height: 40px;
  background-color: #3f3a39;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;

  border-radius: 100%;  
  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
  animation: sk-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
  0% { -webkit-transform: scale(0) }
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 100% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    opacity: 0;
  }
}