@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

.clearfix:after {
  content: '';
  display: block;
  clear: both;
}

.clearfix {
  width: 100%;
  overflow: hidden;
}

.floatL {
  float: left;
}

.floatR {
  float: right;
}

.telUrl {
  cursor: default;
}

.telUrl:hover {
  text-decoration: none;
  cursor: default;
}

/*独自クラス（用編集）*/

* {
  margin: 0px;
  padding: 0px;
  font-size: 100%;
  font-family: 'メイリオ', “Meiryo”, 'Hiragino Kaku Gothic Pro', 'Osaka',
    'lroSVbN', sans-serif;
  line-height: 1.5;
  color: #333333;
}

body {
  font-size: 16px;
}

ul {
  list-style-type: none;
}

a {
  color: #971d36;
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
}

.spn {
  display: none;
}

.telA:hover {
  text-decoration: none;
  text-shadow: none;
  cursor: default;
  opacity: 1;
}

/*footer下部固定*/
html,
body {
  height: 100%;
}
#wrap {
  width: 100%;
  position: relative;
  height: auto !important; /*IE6対策*/
  height: 100%; /*IE6対策*/
  min-height: 100%;
}
#container {
  padding-bottom: 260px; /*フッターの高さと同じ*/
  background: #fffeed;
}
#footer {
  position: absolute;
  bottom: 0;
}

.accordion {
  cursor: pointer;
}

.accordion:hover {
  opacity: 0.7;
}

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -o-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}

/* INNER
------------------------------------------------------------------------------*/

#headerInner,
#gNav,
#mainVisualInner,
#containerInner,
.containerInner,
#content,
#footerInner {
  width: 1000px;
  margin: 0 auto;
}

#containerInner {
  padding-bottom: 50px;
  padding-top: 50px;
}

/* HEADER
------------------------------------------------------------------------------*/

header {
/*  background: rgba(256, 256, 256, 0.8);*/
  background: rgba(255,254,237, 0.8);
  width: 100%;
  z-index: 100;
  height: 110px;
  position: fixed;
  top: 0;
}

#headerInner {
  width: 100%;
  min-width: 1000px;
}

#headerInner .body {
  width: 1000px;
  margin: 0 auto;
}

#site-title {
  width: 270px;
  float: left;
}

#site-title h2 {
  display: none;
}

#site-title h1 {
  font-size: 14px;
  text-align: center;
  font-weight: normal;
  height: 62px;
  margin: 20px auto 0;
}

#site-title h1 a {
  display: block;
}

/* top2nd
------------------------------------------------------------------------------*/

#top2nd {
  background: url(../img/common/top2nd.jpg) bottom center no-repeat;
  background-size: cover;
  height: 200px;
  margin-bottom: -50px;
}

/* MAIN NAV
------------------------------------------------------------------------------*/

#navBlock {
  display: block;
  float: right;
  margin: 5px auto 0px;
  width: 730px;
  /*	width: 650px;*/
  /* width: 680px; */
  /*margin-top: 60px;*/
}

#navBlock img {
  margin: 0px auto 10px;
  float: right;
}

#navBlock .insta_link {
  display: block;
  width: 50px;
  height: 50px;
  float: right;
  margin: 10px 20px 0 0;
}

#navBlock .insta_link img {
  width: 100%;
  height: auto;
}

#main-nav {
  display: block;
  clear: both;
}

#main-nav ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -o-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}

#main-nav .contactIcon {
  background: url(../img/common/mailIcon.png) no-repeat left;
  padding-left: 30px;
}

/* container
------------------------------------------------------------------------------*/

#container p {
  line-height: 1.5;
}

.innerWap {
  width: 960px;
  margin: 0 auto;
}

.contentTxt {
  margin-bottom: 40px;
}

#container .dateBlock {
  text-align: right;
  padding: 5px 0;
  font-size: 12px;
  border-top: #ccc dotted 1px;
}

#container h2 {
  font-size: 28px;
  color: #971d36;
  font-weight: normal;
}

#containerInner h3 {
  font-size: 20px;
  color: #fff;
  font-weight: normal;
  background: #971d36;
  line-height: 1.5;
  padding: 5px 10px 5px 10px;
  margin: 30px 0 10px;
}

#containerInner p {
  padding: 10px 20px 20px;
  line-height: 1.7;
}

#containerInner .textList {
  padding: 5px 20px;
  list-style: disc;
  margin-left: 1em;
}

#container .caption {
  color: #ea68a2;
  font-size: 16px;
}

#container h3 span {
  font-size: 11px;
}

#container h4 {
  font-size: 20px;
  border-bottom: 1px solid #971d36;
  padding-bottom: 5px;
  font-weight: normal;
  color: #971d36;
  margin-bottom: 20px;
}

#containerInner h4 {
  margin: 40px 20px 10px;
}

#containerInner h5 {
  font-size: 20px;
  border: 1px solid #ccc;
  padding: 5px;
  text-align: center;
  margin: 30px 15px 10px;
}

#container .note {
  font-size: 12px;
  padding: 5px 20px 10px;
  text-indent: -1em;
  margin-left: 1em;
}

#container .bigRedText {
  font-weight: bold;
  font-size: 36px;
  text-align: center;
  padding: 30px 10px;
}

#container .textValue {
  padding: 10px;
}

#container .checkTitle {
  color: #339999;
  font-size: 18px;
  background: url(../img/common/icon_check.png) left no-repeat;
  padding-left: 25px;
  font-weight: normal;
}

#container .balloonTitle {
  color: #339999;
  font-size: 18px;
  background: url(../img/common/icon_balloon.png) left no-repeat;
  padding-left: 35px;
  font-weight: normal;
}

#container .bookTitle {
  color: #339999;
  font-size: 18px;
  background: url(../img/common/icon_book.png) left no-repeat;
  padding-left: 35px;
  font-weight: normal;
}

#container .mainText {
  text-align: center;
  padding: 20px 0;
  line-height: 2;
}

#container .blogBox {
  /*background-color: red;*/
  margin: 0 auto 50px;
}

#container .blog_thumb {
  float: left;
  width: 150px;
  height: 150px;
  overflow: hidden;
}

#container .blogTxt {
  float: right;
  width: 840px;
}

#container .blogTxt h3 {
  margin-top: 0px;
}

#container .blogTxt h3 a {
  color: #fff;
}

#container .blogTxt h3 span {
  color: #fff;
}

/* 固定ページ共通
------------------------------------------------------------------------------*/
.leadWap {
  margin-bottom: 30px;
}

.leadWap .eyecatch {
  float: right;
  margin: 0px 0px 10px 15px;
}

/* singleBody
------------------------------------------------------------------------------*/
#singleBody h2 {
  padding-top: 30px;
  font-size: 30px;
  color: #000;
}

/* bookInfo
------------------------------------------------------------------------------*/
#bookInfo {
  margin-bottom: 30px;
  margin-left: 20px;
  padding-bottom: 20px;
  border-bottom: dashed 1px #666;
}

#bookInfo h2 {
  font-size: 16px;
  color: #666;
  border-bottom: dashed 1px #666;
  margin-bottom: 20px;
}

#card {
  width: 160px;
  padding: 50px 20px;
  border: solid 1px #666;
  text-align: center;
  font-family: serif;
  margin-right: 15px;

  box-shadow: 0px 0px 7px 3px #ffebc4 inset, 0px 0px 13px 10px #ffebc4;
  -moz-box-shadow: 0px 0px 7px 3px #ffebc4 inset, 0px 0px 13px 10px #ffebc4;
  -webkit-box-shadow: 0px 0px 7px 3px #ffebc4 inset, 0px 0px 13px 10px #ffebc4;
}

.authorAndCard {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -o-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}

#authorInfo {
  margin-left: 20px;
  width: 390px;
  padding: 10px;
  background: #e5ffff;
  border: solid 1px #ccc;
}

#bookTopix {
  margin-top: 30px;
  margin-left: 20px;
}

#bookTopix h2 {
  border: solid 1px #666;
  padding: 5px 10px;
  display: inline-block;
  margin-bottom: 10px;
}

/* blogListBox
------------------------------------------------------------------------------*/

#container .blogListBox {
  padding: 20px 0;
}

#container .blogListBox dl {
  line-height: 30px;
  line-height: 1.2;
}

#container .blogListBox dl a {
  font-size: 20px;
  display: block;
  border-bottom: dotted 1px #ccc;
}

#container .blogListBox dl .date {
  display: block;
  font-size: 12px;
  padding-bottom: 5px;
  text-align: right;
}

#container .blogListBox dd {
  padding-left: 20px;
  line-height: 1.4;
}

#container .blogListBox .time {
  text-align: right;
  margin-top: -18px;
}

/* FOOTER
------------------------------------------------------------------------------*/

#footer {
  margin: 30px auto 0;
  min-width: 1000px;
  width: 100%;
  /*background: #971d36;*/
  background: #6b9c58;
  color: #fff;
}

#footerInner {
  padding-top: 20px;
  width: 1000px;
  margin: 0 auto;
}

#footerInner p {
  font-size: 12px;
  line-height: 1.2;
  color: #fff;
}

#footerInner .footerLogo {
  width: 200px;
  float: left;
}

#footerInner .footerLogo p {
  padding: 10px 0;
}

#footerNavBlock {
  /*padding-top: 40px;*/
  padding-top: 0px;
  padding-left: 50px;
  width: 500px;
  float: left;
}

#footerNavBlock ul {
  /*height: 20px;*/
  height: 40px;
}

#footerNavBlock li {
  display: inline-block;
  padding: 2px 25px;
  text-align: left;
  width: 110px;
}

#footerNavBlock a {
  /*font-size: 16px;*/
  font-size: 14px;
  color: #fff;
}

#footerNavBlock a:hover {
  opacity: 0.7;
}

#footerShopInfo {
  width: 200px;
  float: right;
}

#footerShopInfo img {
  margin-top: 10px;
  max-width: 213px;
  height: auto;
}

#footerNavBlock .contactIcon {
  background: url(../img/common/mailIcon2.png) no-repeat left;
}

address {
  padding-top: 30px;
  width: 1000px;
  margin: 0 auto;
  font-size: 12px;
  line-height: 30px;
  text-align: center;
  font-style: normal;
  color: #fff;
}

address a {
  color: #fff;
}

.fbWap {
  width: 500px;
  margin: 40px auto;
}

.caution {
  color: #971d36;;
}

/*独自クラスここまで*/

/*汎用クラス*/

.boxCenter {
  margin: 0 auto;
}

.hidden {
  display: none;
}

.block {
  display: block;
}

.txHidden {
  display: block;
  text-indent: -10000px;
  overflow: hidden;
}

.alignR {
  text-align: right;
}

.alignL {
  text-align: left;
}

.alignC {
  text-align: center;
}

.textL {
  font-size: 20px;
}

.textM {
  font-size: 14px;
}

.textS {
  font-size: 10px;
}

.inline {
  display: inline;
}

.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

.white {
  color: #ffffff !important;
}

.black {
  color: #000000 !important;
}

.red {
  color: #ff0000 !important;
}

.blue {
  color: #23b8bc !important;
}

.green {
  color: #009551 !important;
}

.yellow {
  color: #ffff00 !important;
}

.pink {
  color: #e4007f !important;
}

.fs12 {
  font-size: 12px;
}
.fs14 {
  font-size: 14px;
}
.fs16 {
  font-size: 16px;
}
.fs18 {
  font-size: 18px;
}
.fs20 {
  font-size: 20px;
}
.fs22 {
  font-size: 22px;
}
.fs24 {
  font-size: 24px;
}
.fs26 {
  font-size: 26px;
}
.fs28 {
  font-size: 28px;
}
.fs30 {
  font-size: 30px;
}

.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb55 {
  margin-bottom: 55px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb65 {
  margin-bottom: 65px;
}
.mb70 {
  margin-bottom: 70px;
}
img {
  border-style: none;
  vertical-align: bottom;
} /*リンク画像の枠線を消すために記述*/

a {
  overflow: hidden;
  outline: none;
} /* FireFox リンク選択時の点線を消す */

/* コンセプト */
.s-concept h3 {
  background: #3b7183 !important;
}
.s-concept h2 {
  color: #3b7183 !important;
}
.s-concept h4 {
  color: #3b7183 !important;
}

/* 料金プラン */
.s-plan h3 {
  background: #918746 !important;
}
.s-plan h2 {
  color: #918746 !important;
}
.s-plan h4 {
  color: #918746 !important;
  border-bottom: 1px solid #918746 !important;
}

.s-plan .yen-symbol{
	font-size: 14px;
}

.s-plan p > .yen-symbol{
	font-size: 12px;
}

.s-plan h4 > .yen-symbol{
  color: #918746 !important;
}



/* 採用情報 */
.s-recruit h3 {
  background: #154f7c !important;
}
.s-recruit h2 {
  color: #154f7c !important;
}
.s-recruit h4 {
  color: #154f7c !important;
  border-bottom: 1px solid #154f7c !important;
}
.adress-recruit {
  display: inline-block;
  max-width: 805px;
  height: auto;
}
.sp {
  display: none;
}

.pc {
  display: block !important;
}

/* ギャラリー */
.s-gallery h3 {
  background: #00b9ef !important;
}
.s-gallery h2 {
  color: #00b9ef !important;
}
.s-gallery h4 {
  color: #00b9ef !important;
  border-bottom: 1px solid #00b9ef !important;
}
.insta-gallery {
  text-align: center;
}
.insta-gallery a {
  display: block;
  margin: 0 auto;
  max-width: 70px;
  height: 70px;
}
.insta-gallery a img {
  width: 100%;
}
.insta-gallery p:nth-of-type(2) {
  font-weight: bold;
}

/* YouTube */
.youtube{
  margin: 20px auto;
}

/* フッター追従バナー */
.mobile-sticky-banner {
  display: none;
}
@media screen and (max-width: 425px) {
  #footer {
    padding-bottom: 10vw;
  }
  .mobile-sticky-banner {
    user-select: none;
    position: fixed;
    left: 0;
    bottom: -20vw;
    display: block;
    width: 100%;
    transition: bottom 0.25s ease;
  }
  .mobile-sticky-banner.act {
    bottom: 0;
  }
  .mobile-sticky-banner__container {
    display: flex;
    justify-content: center;
  }
  .mobile-sticky-banner__btn {
    border-top-left-radius: 3vw;
    border-top-right-radius: 3vw;
    width: 48%;
    background-color: #961f38;
  }
  .mobile-sticky-banner__btn--email {
    margin-left: 1%;
  }
  .mobile-sticky-banner__btn__anchor {
    position: relative;
    display: block;
    padding: 3.5vw;
    font-size: 3.5vw;
    text-align: center;
    color: #fff;
  }
  .mobile-sticky-banner__btn__anchor:before {
    content: '';
    display: inline-block;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    vertical-align: -0.4vw;
  }
  .mobile-sticky-banner__btn__anchor.mobile-sticky-banner__btn__anchor--tel:before {
    margin-right: 2.5vw;
    width: 4vw;
    height: 4vw;
    background-image: url('../img/common/icn-tel-white.png');
  }
  .mobile-sticky-banner__btn__anchor.mobile-sticky-banner__btn__anchor--email:before {
    margin-right: 1vw;
    width: 5vw;
    height: 4vw;
    background-image: url('../img/common/icn-email-white.png');
  }
  .mobile-sticky-banner__btn__anchor:after {
    content: '';
    position: absolute;
    right: 2vw;
    top: 50%;
    transform: translateY(-50%);
    width: 10vw;
    height: 10vw;
    background: url('../img/common/deco-red-flower.png') no-repeat 50% 50% /
      contain;
    opacity: 0.5;
  }
  .mobile-sticky-banner__btn__anchor__inner {
    position: relative;
    z-index: 1;
    color: inherit;
  }
}
