@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common_style.css
 Style : common_style
================================================================= */
/*赤茶*/
/*エメラルドグリーン*/
/*濃い水色*/
/*緑*/
/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
@import url(https://use.typekit.net/jat0san.css);
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700|Noto+Serif+JP:300,400,500,600,700&display=swap);
.zdo_drawer_menu * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none; }
.zdo_drawer_menu a {
  color: inherit;
  text-decoration: none; }
.zdo_drawer_menu a:visited {
  color: inherit; }
.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background-color: rgba(51, 51, 51, 0.5);
  display: none;
  top: 0;
  left: 0; }
.zdo_drawer_menu .zdo_drawer_button {
  display: block;
  background: none;
  border: none;
  padding: 0;
  width: 42px;
  letter-spacing: 0.1em;
  cursor: pointer;
  position: fixed;
  top: 32px;
  right: 32px;
  z-index: 1001;
  text-align: center;
  outline: none; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar {
    width: 49px; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar1 {
    transform: rotate(30deg); }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar2 {
    opacity: 0; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_bar3 {
    transform: rotate(-30deg); }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_menu_text {
    display: none; }
  .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_close {
    display: block; }
.zdo_drawer_menu .zdo_drawer_bar {
  display: block;
  height: 2px;
  margin: 10px 0;
  transition: all 0.2s;
  transform-origin: 0 0; }
.zdo_drawer_menu .zdo_drawer_text {
  text-align: center;
  font-size: 10px; }
.zdo_drawer_menu .zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none; }
.zdo_drawer_menu .zdo_drawer_menu_text {
  display: block; }
.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 312px;
  height: 100%;
  transition: all 0.2s;
  transform: translate(312px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF; }
  .zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }
.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px; }
.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  transform: translate(-312px);
  right: auto;
  left: 0; }
  .zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
    transform: translate(0); }

/*+++ Default Navigation CSS +++*/
.zdo_drawer_menu .zdo_drawer_nav {
  padding: 112px 24px; }
  .zdo_drawer_menu .zdo_drawer_nav li {
    font-size: 16px;
    margin-bottom: 15px; }

/*+++ Default Button Color +++*/
.zdo_drawer_menu .zdo_drawer_button {
  color: #276490; }
  .zdo_drawer_menu .zdo_drawer_button .zdo_drawer_bar {
    background-color: #276490; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

body {
  counter-reset: number 0;
  line-height: 2em;
  font-weight: 500;
  letter-spacing: 0.7px;
  color: #595757;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-wrap: break-word;
  overflow: hidden;
  font-size: 0.875rem;
  /*
  @media screen and (min-width:835px){
  background: url(../images/common/bg01.png) no-repeat right top;
  background-size: cover;
  background-attachment: fixed;
  }
  */ }
  @media only screen and (max-width: 640px) {
    body {
      font-size: 0.9375rem;
      line-height: 1.8em;
      letter-spacing: normal; } }

.contents-inner {
  /*
  	background:rgba(#fff,0.6);
  	padding:2%;
  	*/ }

.inner {
  max-width: 950px;
  margin: 0 auto; }
  @media screen and (min-width: 1001px) and (max-width: 1200px) {
    .inner {
      padding-left: 10px !important;
      padding-right: 10px !important; } }
  @media screen and (min-width: 835px) and (max-width: 1000px) {
    .inner {
      padding-left: 10px !important;
      padding-right: 10px !important; } }
  @media only screen and (max-width: 834px) {
    .inner {
      padding-left: 15px !important;
      padding-right: 15px !important; } }

/*
.inner2 {
	margin: 0 auto;
	max-width: 1000px;
}
*/
#contents_wrap {
  width: 100%;
  min-width: 100% !important; }

#contents {
  font-size: 100%;
  width: 100%;
  max-width: 950px; }
  @media screen and (min-width: 835px) and (max-width: 1000px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media screen and (min-width: 641px) and (max-width: 834px) {
    #contents {
      padding-left: 20px !important;
      padding-right: 20px !important; } }
  @media only screen and (max-width: 640px) {
    #contents {
      padding-left: 10px !important;
      padding-right: 10px !important; } }

#main {
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  margin-top: 30px; }
  @media only screen and (max-width: 640px) {
    #main {
      flex-direction: column; } }

#main #col_main {
  width: 70% !important;
  padding-left: 10px;
  min-width: auto !important; }
  @media only screen and (max-width: 640px) {
    #main #col_main {
      width: 100% !important;
      padding-left: 0; } }

#col_side1 {
  width: 30% !important;
  min-width: auto !important; }
  @media only screen and (max-width: 640px) {
    #col_side1 {
      width: 100% !important; }
      #col_side1 > div:first-child {
        margin-top: 30px; }
      #col_side1 > div:last-child {
        display: none; } }

.banner a {
  opacity: 1 !important; }
.banner img {
  display: block; }
@media only screen and (max-width: 640px) {
  .banner img {
    margin: 0 auto; } }

.map_bg {
  padding: 20px;
  text-align: left;
  color: #595757;
  font-size: 1.25rem;
  background-image: url(../images/common/side_bg.png);
  background-repeat: repeat-y; }
  @media screen and (max-width: 920px) {
    .map_bg {
      background-size: contain;
      font-size: 1.125rem; } }
  @media only screen and (max-width: 640px) {
    .map_bg {
      background: none;
      text-align: center;
      font-size: 1rem; } }

.side-logo {
  font-size: 1.5rem;
  color: #71c14b;
  font-weight: bold; }
  @media (max-width: 1200px) {
    .side-logo {
      font-size: calc(1.275rem + 0.3vw) ; } }

.map_bg a {
  color: #45b035;
  font-size: 26px; }

.fs23 {
  font-size: 22px;
  line-height: 40px; }

/* 
/*
#side {
	width: 18.75000%;
}
*/
.map {
  margin: 56px 20px 0; }

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left; }

.policy h2 {
  border-bottom: 2px solid #BBBBBB;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px; }

.policy p {
  margin: 0 0 20px; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  table {
    table-layout: fixed; } }
.tlfixed table {
  table-layout: fixed; }

table td img {
  height: auto !important; }

.pdtd10 td {
  padding: 10px !important; }

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line; }

b, strong {
  font-weight: bold; }

u {
  text-decoration: line-through; }

img {
  max-width: 100%;
  height: auto !important; }

small {
  font-size: 80%; }

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3; }

span {
  font-weight: inherit; }

u {
  text-decoration: underline; }

b {
  font-weight: 500; }

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px; }

a {
  text-decoration: none; }

a:hover {
  opacity: 0.6; }

@media screen and (min-width: 641px) and (max-width: 834px) {
  .imgR, .imgL {
    max-width: 30% !important; } }
@media only screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center; } }

.mincho {
  font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.gothic {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

@media only screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important; }

  .fltR {
    float: none;
    width: 100% !important; }

  .sptal {
    text-align: left !important; }

  .sptar {
    text-align: right !important; }

  .sptac {
    text-align: center !important; }

  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px; } }
header#global_header {
  max-width: 950px;
  width: 100%;
  min-width: auto;
  height: auto; }
  @media only screen and (max-width: 834px) {
    header#global_header {
      padding-top: 50px; } }
  header#global_header #header-wrap {
    width: 100%; }

/* --------------------------------------------------
		HEADER AREA
-------------------------------------------------- */
#header {
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  height: auto; }

.header-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .header-info .header-logo {
    min-width: 250px; }
  .header-info .header-ad {
    margin: 0 0 0 auto; }
  @media only screen and (max-width: 834px) {
    .header-info {
      flex-direction: column; }
      .header-info .header-ad {
        margin: 0 auto; } }

.hed_txt {
  text-align: left;
  font-size: 19px;
  color: #76c23d;
  margin-bottom: 3px; }
  @media only screen and (max-width: 834px) {
    .hed_txt {
      text-align: center;
      margin: 10px auto; } }

h1 {
  font-size: 15px;
  font-weight: normal;
  line-height: 30px;
  text-align: left;
  color: #595757; }
  @media only screen and (max-width: 834px) {
    h1 {
      text-align: center; } }

.hed_tel {
  text-align: right;
  margin-bottom: 20px; }
  .hed_tel a {
    opacity: 1 !important; }
  @media only screen and (max-width: 834px) {
    .hed_tel {
      text-align: center;
      margin-bottom: 0; } }

/* --------------------------------------------------
		GNAVI AREA
-------------------------------------------------- */
#globalNaviWrap {
  height: auto;
  width: 100%; }
  @media only screen and (max-width: 834px) {
    #globalNaviWrap {
      display: none; } }
  #globalNaviWrap a {
    opacity: 1 !important; }

ul#gnav {
  max-width: 950px;
  height: 45px;
  position: relative;
  z-index: 5;
  margin: 0 auto; }

ul#gnav li {
  float: left;
  position: relative;
  height: 45px;
  width: 16.666%; }

ul#gnav li ul.subnavi {
  display: none;
  clear: both;
  position: absolute;
  left: 0;
  top: 45px;
  height: 45px;
  width: 158px; }

ul#gnav li ul.subnavi li {
  text-align: center;
  text-indent: 1.5em;
  height: 45px;
  width: 158px;
  display: block;
  line-height: 45px;
  font-weight: bold; }

ul#gnav li ul.subnavi li a {
  display: block;
  font-size: 22px;
  height: 45px;
  width: 158px;
  color: #2a8638;
  text-decoration: none; }

ul#gnav li ul.subnavi li a:hover {
  color: #8fe89d;
  height: 45px;
  width: 158px;
  display: block; }

.navi {
  height: 45px !important;
  display: block !important; }

.kyo {
  background-image: url(../images/common/gnv_pru1.png);
  width: 158px !important;
  height: 45px !important;
  display: block !important; }

.kyu {
  background-image: url(../images/common/gnv_pru2.png);
  width: 158px !important;
  height: 45px !important;
  display: block !important; }

.eky {
  background-image: url(../images/common/gnv_pru3.png);
  width: 158px !important;
  height: 45px !important;
  display: block !important; }

/* --------------------------------------------------
		MAIN AREA
-------------------------------------------------- */
#mainArea {
  margin-top: 20px;
  width: 100%;
  height: 470px;
  overflow: hidden; }
  @media screen and (min-width: 641px) and (max-width: 834px) {
    #mainArea {
      height: 400px; }
      #mainArea ul img {
        height: 100% !important;
        object-fit: cover;
        font-family: "object-fit: cover;"; } }
  @media only screen and (max-width: 640px) {
    #mainArea {
      height: 300px; }
      #mainArea ul img {
        height: 100% !important;
        object-fit: cover;
        font-family: "object-fit: cover;"; } }

.main_width {
  position: absolute;
  z-index: 4;
  height: 470px;
  width: 100%;
  left: 0;
  right: 0; }

.main_bg {
  margin: 0 auto;
  height: auto;
  width: 95%; }

ul#slider {
  display: block;
  position: relative;
  width: auto;
  height: auto;
  text-align: left; }

ul#slider, #slider li {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  z-index: 1; }

#slider li {
  position: absolute;
  top: 0;
  left: 0; }

#header {
  margin-left: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media screen and (max-width: 1100px) {
    #header {
      flex-direction: column;
      margin-left: 0; } }

.mean-container .mean-push {
  display: none !important; }

@media only screen and (max-width: 834px) {
  #nav_global {
    display: none; } }
#nav_global ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: baseline; }
  #nav_global ul li {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    position: relative; }
    #nav_global ul li a {
      text-align: center;
      font-size: 0.875rem;
      font-weight: 600;
      display: block;
      line-height: normal;
      letter-spacing: 1px;
      color: #1b1b1b;
      padding: 10px;
      text-align: center; }
      #nav_global ul li a:hover {
        opacity: 1 !important;
        transition: 0.3s;
        color: #71c14b; }
    #nav_global ul li ul {
      position: absolute;
      margin: auto;
      display: block;
      width: auto;
      z-index: 1;
      background: rgba(255, 255, 255, 0.9);
      width: 130px; }
      #nav_global ul li ul li:before {
        content: none !important; }
      #nav_global ul li ul li a {
        padding: 15px 10px; }
  #nav_global ul .header-tel a {
    font-family: "balboa", sans-serif;
    font-size: 1.5rem;
    display: block;
    align-items: center;
    margin-right: 0 auto; }
    @media (max-width: 1200px) {
      #nav_global ul .header-tel a {
        font-size: calc(1.275rem + 0.3vw) ; } }
    #nav_global ul .header-tel a i {
      background: #71c14b;
      margin-right: 5px;
      border-radius: 50%;
      width: 35px;
      height: 35px;
      line-height: 35px;
      color: #fff;
      font-size: 1.125rem; }
    #nav_global ul .header-tel a:hover {
      color: #1b1b1b; }

@media screen and (max-width: 900px) {
  .nav_global2 img {
    height: 75px !important; }
  .nav_global2 li a {
    font-size: 14px !important; } }

.main-txt {
  position: absolute;
  left: 50px; }
  .main-txt img {
    margin-left: 0;
    width: 100%;
    margin: 0 auto 0 0;
    display: block; }
    @media screen and (max-width: 1500px) {
      .main-txt img {
        width: 80%; } }
    @media only screen and (max-width: 640px) {
      .main-txt img {
        width: 90%; } }
  @media only screen and (max-width: 640px) {
    .main-txt {
      left: 20px; } }

.main-bg-color {
  display: block;
  content: '';
  position: absolute;
  background-color: rgba(0, 121, 181, 0.1);
  width: 80%;
  padding: 23%;
  z-index: -10;
  bottom: -50px; }
  @media only screen and (max-width: 640px) {
    .main-bg-color {
      padding: 30%; } }

#mainArea .slick-track {
  width: 100% !important; }

.mean-container .mean-bar {
  background: #71c14b !important;
  position: fixed !important; }

.mean-container .mean-nav {
  background: #71c14b !important; }

.mean-container .mean-nav ul li a {
  border-top: 1px solid #fff !important;
  padding: 0.7em 5% !important; }

.mean-container .mean-nav ul li a.mean-expand:hover {
  /*
  background-color: #e9832f !important;*/ }

.mean-container .mean-nav ul li li a {
  padding: 0.7em 10% !important; }

.anchor {
  display: block;
  transform: translateY(-50px); }
  @media screen and (min-width: 641px) and (max-width: 834px) {
    .anchor {
      transform: translateY(-80px); } }
  @media only screen and (max-width: 640px) {
    .anchor {
      transform: translateY(-60px); } }

.anchor2 {
  display: block;
  transform: translateY(-100px); }
  @media screen and (min-width: 641px) and (max-width: 834px) {
    .anchor2 {
      transform: translateY(-100px); } }
  @media only screen and (max-width: 640px) {
    .anchor2 {
      transform: translateY(-100px); } }

/*
飛ばしたいところの前に以下のような記述
<span id="map" class="anchor"></span>
*/
.clone-nav {
  width: 100%;
  position: fixed;
  background: rgba(237, 237, 237, 0.9);
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%); }
  @media only screen and (max-width: 834px) {
    .clone-nav {
      display: none; } }
  .clone-nav #nav_global ul li a {
    padding: 15px;
    line-height: 32px; }
  .clone-nav #nav_global ul li ul {
    width: 100%; }

.is-show {
  transform: translateY(0); }

.zdo_drawer_menu {
  text-align: center; }
  @media screen and (min-width: 834px) {
    .zdo_drawer_menu {
      display: none !important; } }

.zdo_drawer_menu .zdo_drawer_button {
  background: #71c14b !important; }

.zdo_drawer_menu .zdo_drawer_button .zdo_drawer_bar {
  background: #71c14b !important; }

.store_areA {
  padding: 70px 20px 0 20px; }
  .store_areA img {
    width: 100%;
    margin: 0 auto; }
  .store_areA .h_logo a {
    color: #71c14b;
    font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.25rem;
    letter-spacing: normal; }

.h_tel {
  color: #71c14b;
  font-family: "balboa", sans-serif;
  font-size: 1.875rem;
  margin: 15px auto;
  text-align: center; }
  .h_tel i {
    font-size: 18px;
    background: #71c14b;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    color: #fff;
    margin-right: 5px; }
  @media (max-width: 1200px) {
    .h_tel {
      font-size: calc(1.3125rem + 0.75vw) ; } }

.zdo_drawer_menu .zdo_drawer_nav {
  padding: 10px 20px !important; }
  .zdo_drawer_menu .zdo_drawer_nav li {
    text-align: center; }
    .zdo_drawer_menu .zdo_drawer_nav li a {
      font-family: "Lateef", "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
      font-size: 20px;
      text-align: center; }
      .zdo_drawer_menu .zdo_drawer_nav li a .sub {
        font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        color: #54b858;
        font-size: 12px;
        display: block;
        text-align: center; }
  @media screen and (max-width: 350px) {
    .zdo_drawer_menu .zdo_drawer_nav {
      height: 400px;
      overflow: scroll; } }

.zdo_drawer_menu a {
  display: block;
  text-align: center; }

.zdo_drawer_menu .zdo_drawer_nav li {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px !important; }

.zdo_drawer_menu .zdo_drawer_menu_text, .zdo_drawer_menu .zdo_drawer_button.active .zdo_drawer_close {
  display: none !important; }

.zdo_drawer_menu .zdo_drawer_button {
  background: rgba(255, 255, 255, 0.8) !important;
  padding: 0 5px !important;
  width: 50px;
  height: 50px;
  top: 5px !important;
  right: 5px !important; }

footer#global_footer {
  min-width: auto !important;
  margin-top: 50px; }
  @media only screen and (max-width: 640px) {
    footer#global_footer {
      margin-top: 0; } }

/* --------------------------------------------------
		FOOTER AREA
-------------------------------------------------- */
.end {
  display: none;
  clear: both; }

#footermenu {
  width: 100%;
  background-color: #71c14b; }

.footerL {
  max-width: 800px;
  margin: 0 auto;
  padding-top: 10px;
  width: 95%; }
  @media only screen and (max-width: 834px) {
    .footerL {
      display: none; } }

.nav_sub {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: baseline;
  color: #fff; }
  .nav_sub li {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    position: relative; }
    @media screen and (min-width: 834px) {
      .nav_sub li:not(:first-child):before {
        content: '|';
        font-size: 10px;
        color: #fff;
        padding-right: 10px;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        display: flex;
        align-items: center; } }
  .nav_sub a {
    color: #fff;
    display: block; }

#copy {
  color: #fff;
  margin-top: 20px;
  line-height: 30px;
  text-align: center;
  width: 100%;
  height: 30px;
  clear: both; }
  #copy a {
    color: #fff; }
  @media only screen and (max-width: 640px) {
    #copy {
      margin-top: 0; } }

/*#copy a{
	color: #fff;
	text-decoration:underline;
}*/
/* copyright部分　未使用時 */
#footer {
  display: none; }

.fix-tel {
  z-index: 100;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  background: #71c14b; }
  @media screen and (min-width: 640px) {
    .fix-tel {
      display: none !important; } }
  .fix-tel a {
    font-family: "balboa", sans-serif;
    font-size: 1.875rem;
    display: block;
    align-items: center;
    margin-right: 0 auto;
    padding: 10px;
    color: #fff; }
    @media (max-width: 1200px) {
      .fix-tel a {
        font-size: calc(1.3125rem + 0.75vw) ; } }
    .fix-tel a i {
      margin-right: 5px;
      color: #fff;
      font-size: 1.5rem; }
      @media (max-width: 1200px) {
        .fix-tel a i {
          font-size: calc(1.275rem + 0.3vw) ; } }
    .fix-tel a:hover {
      opacity: 1 !important; }

.TCT-wrap {
  position: relative;
  padding: 6% 15px !important; }
  @media only screen and (max-width: 834px) {
    .TCT-wrap {
      padding: 10% 15px !important; } }

.TCT-inr {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/common/TCT_bg.png) no-repeat center top;
  background-attachment: fixed;
  background-size: cover;
  z-index: -1; }
  @media screen and (min-width: 641px) and (max-width: 834px) {
    .TCT-inr {
      padding: 10% 0 !important;
      background-attachment: inherit; } }
  @media only screen and (max-width: 640px) {
    .TCT-inr {
      padding: 10% 0 !important;
      background-attachment: inherit; } }

.TCT {
  color: #fff; }
  .TCT .TCT-ttl h2 {
    font-weight: bold;
    font-size: 2.5rem;
    letter-spacing: 0.2em; }
    @media (max-width: 1200px) {
      .TCT .TCT-ttl h2 {
        font-size: calc(1.375rem + 1.5vw) ; } }
    .TCT .TCT-ttl h2 span {
      font-size: 1.125rem;
      font-weight: 100;
      display: block;
      margin-top: 15px; }
  .TCT .TCT-txt {
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0.2em;
    margin: 20px auto; }

.TCT-info {
  font-family: "balboa", sans-serif;
  font-size: 3rem;
  line-height: 1;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 10px; }
  @media (max-width: 1200px) {
    .TCT-info {
      font-size: calc(1.425rem + 2.1vw) ; } }
  .TCT-info div {
    margin: 5px;
    font-family: "balboa", sans-serif; }
  @media only screen and (max-width: 640px) {
    .TCT-info {
      flex-direction: column; }
      .TCT-info .tel-s a {
        color: #fff; } }

.TCT-cont a {
  text-align: center;
  font-weight: 500;
  width: 90%;
  margin: 0 auto;
  max-width: 500px;
  border: 1px  solid #333;
  background: #fff;
  display: block;
  padding: 20px;
  font-size: 1.125rem;
  letter-spacing: normal;
  font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #71c14b; }
  .TCT-cont a i {
    color: #54b858;
    margin-right: 5px; }
  .TCT-cont a img {
    margin-right: 5px;
    vertical-align: initial; }
  .TCT-cont a:hover {
    color: #54b858; }

.footer-wrap {
  background: #333;
  padding: 30px 15px; }

.footer {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  text-align: left;
  letter-spacing: normal; }
  .footer a {
    color: #fff; }
  .footer .footer-info .footer-logo a {
    font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.5rem; }
    @media (max-width: 1200px) {
      .footer .footer-info .footer-logo a {
        font-size: calc(1.275rem + 0.3vw) ; } }
  .footer .footer-info .tel-s {
    color: #fff; }
    .footer .footer-info .tel-s a {
      color: #fff; }
  .footer .footer-nav {
    display: flex; }
    .footer .footer-nav ul {
      margin: 15px; }
      .footer .footer-nav ul .pick {
        margin-left: -15px;
        font-size: 0.9375rem;
        color: #ededed; }
      @media screen and (max-width: 640px) {
        .footer .footer-nav ul {
          margin: 0 15px; } }
    @media only screen and (max-width: 640px) {
      .footer .footer-nav {
        margin-top: 10px; } }
  @media only screen and (max-width: 640px) {
    .footer {
      flex-direction: column; }
      .footer .footer-info {
        text-align: center; }
      .footer .footer-nav {
        flex-direction: column;
        width: 100%; }
        .footer .footer-nav ul {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-around; }
          .footer .footer-nav ul li {
            width: 50%; }
            .footer .footer-nav ul li a {
              display: block;
              width: 100%;
              text-align: center;
              text-decoration: underline; }
          .footer .footer-nav ul .pick {
            display: none; } }

#copyright {
  text-align: center;
  background: #000;
  color: #fff !important; }
  #copyright a {
    color: #fff !important; }
  @media only screen and (max-width: 640px) {
    #copyright {
      margin-bottom: 45px; } }

.mean-container .mean-push {
  display: none !important; }

/* --------------------------------------------------
    見出し CSS
-------------------------------------------------- */
.title {
  background: #71c14b;
  width: 100%;
  letter-spacing: 0.1em; }

.title h2 {
  color: #fff;
  font-size: 1.875rem;
  font-weight: bold;
  padding: 10px 0 10px 40px;
  line-height: 1;
  position: relative; }
  @media (max-width: 1200px) {
    .title h2 {
      font-size: calc(1.3125rem + 0.75vw) ; } }
  .title h2:before {
    position: absolute;
    display: block;
    content: '';
    background: #fff;
    width: 20px;
    height: 5px;
    top: 45%;
    left: 10px; }

.title2 h3 {
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: double 5px rgba(113, 193, 75, 0.5); }
  @media (max-width: 1200px) {
    .title2 h3 {
      font-size: calc(1.275rem + 0.3vw) ; } }

.title3 h3 {
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0 0 3px 5px;
  border-left: 5px solid #71c14b;
  border-bottom: dotted 1px rgba(51, 51, 51, 0.8); }

/* --------------------------------------------------
    TOPページ CSS
-------------------------------------------------- */
/* TOPページ新着 */
.con1-txt {
  font-size: 1.125rem;
  line-height: 2.5em; }

.tel-anc {
  opacity: 1 !important;
  color: #595757 !important; }
  .tel-anc a {
    opacity: 1 !important; }

.news-wrap {
  max-width: 630px;
  margin: 0 auto;
  width: 95%;
  height: 300px;
  padding: 20px;
  border: 2px solid #ccc; }
  @media only screen and (max-width: 834px) {
    .news-wrap {
      padding: 15px; } }

.news {
  height: 100%;
  overflow-y: auto; }
  .news dt {
    color: #71c14b;
    font-family: "balboa", sans-serif;
    font-size: 1rem; }
  .news dd {
    color: #555; }
  .news dl {
    border: none !important;
    margin-bottom: 15px;
    border-bottom: 1px dashed #ccc !important;
    display: block !important; }
    .news dl dt, .news dl dd {
      border: none !important;
      width: 100% !important;
      background: none !important;
      padding: 0 8px !important; }

#box {
  height: 189px;
  width: 453px;
  padding: 20px;
  color: #ffffff;
  margin: 503px 0 0;
  background: url(../images/contents/alpha_black.png) repeat left top; }

.newslist {
  /*overflow-y: scroll;
  overflow-x: hidden;*/ }

.newslist td {
  padding: 5px 0 !important; }

.news_txt {
  width: 610px;
  color: #333;
  font-size: 15px;
  border-bottom: 1px dotted #ccc; }

.area-txt {
  font-size: 1.25rem; }
  .area-txt span {
    color: red;
    font-weight: bold; }

@media screen and (min-width: 641px) and (max-width: 834px) {
  .jisseki-TBL .arrow {
    width: 10% !important;
    padding: 0 !important; } }
@media only screen and (max-width: 640px) {
  .jisseki-TBL .arrow img {
    width: 100px !important;
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg); } }
@media only screen and (max-width: 640px) {
  .jisseki-TBL .none {
    padding: 0 !important; } }

.btn1 a {
  text-align: center;
  background: #71c14b;
  border-radius: 10px;
  padding: 10px;
  display: block;
  width: 90%;
  max-width: 300px;
  color: #fff;
  font-size: 1rem; }
  .btn1 a:hover {
    opacity: 1 !important;
    background: #54b858;
    transition: 0.5s; }

.tel-s a, .tel-h a {
  color: #595757; }
  .tel-s a:hover, .tel-h a:hover {
    opacity: 1.0 !important; }

@media only screen and (max-width: 834px) {
  .brdnt {
    text-align: left !important; }
    .brdnt br {
      display: none; } }

@media only screen and (max-width: 640px) {
  .brdn {
    text-align: left !important; }
    .brdn br {
      display: none; }
    .brdn div {
      text-align: left !important; } }

@media screen and (min-width: 834px) {
  .brdnpc br {
    display: none; } }

@media screen and (min-width: 640px) {
  .brsp br {
    display: none; } }

@media screen and (min-width: 834px) {
  .brtab br {
    display: none; } }

@media only screen and (max-width: 640px) {
  .TLIR table tr {
    display: flex;
    flex-direction: column-reverse; } }

.ai-company dt {
  align-items: center !important;
  background: #ededed !important; }
@media only screen and (max-width: 640px) {
  .ai-company dl {
    display: block !important; }
    .ai-company dl dt {
      width: 100% !important;
      border-right: 1px solid #ccc !important; }
    .ai-company dl dd {
      width: 100% !important; } }

.ai-company2 {
  background: none !important; }
  .ai-company2 dl dt {
    align-items: center !important;
    background: none !important;
    border-bottom: 2px solid #71c14b !important; }
  .ai-company2 dl dd {
    background: none !important;
    border-bottom: 2px solid #ccc !important; }
  .ai-company2 dl:last-of-type dt {
    border-bottom: 2px solid #71c14b !important; }
  @media only screen and (max-width: 640px) {
    .ai-company2 dl {
      display: block !important; }
      .ai-company2 dl dt {
        width: 100% !important;
        border-right: 2px solid #71c14b !important;
        border-left: 2px solid #71c14b !important;
        background: rgba(113, 193, 75, 0.2) !important; }
      .ai-company2 dl dd {
        width: 100% !important;
        border-bottom: 2px solid #ccc !important;
        border-left: 2px solid #ccc !important;
        border-right: 2px solid #ccc !important; } }

.form_wrap dl dd > div {
  display: block !important; }

@media only screen and (max-width: 834px) {
  .fancybox-toolbar {
    top: 50px !important; } }

.pankuzu {
  text-align: right; }
  @media only screen and (max-width: 834px) {
    .pankuzu {
      display: none; } }

.imgL {
  max-width: 100% !important; }

.error2 h2 {
  font-size: 40px;
  font-weight: bold; }
.error2 a {
  border: 1px solid #ccc;
  padding: 3px 20px;
  display: inline-block; }

.pick01 {
  background: rgba(84, 184, 88, 0.1);
  padding: 2%; }
  @media only screen and (max-width: 834px) {
    .pick01 {
      padding: 5%; } }
  .pick01 h2 {
    color: #192f70;
    font-size: 1.5rem;
    font-family: quicksand, sans-serif;
    font-style: normal;
    letter-spacing: 2.5px;
    font-weight: 300; }
    @media (max-width: 1200px) {
      .pick01 h2 {
        font-size: calc(1.275rem + 0.3vw) ; } }
  @media only screen and (max-width: 834px) {
    .pick01 ul li {
      float: none !important;
      width: 100% !important; } }

.pick02 {
  background: rgba(204, 204, 204, 0.5);
  padding: 2%; }
  .pick02 h2 {
    font-size: 1.25rem; }
  @media only screen and (max-width: 834px) {
    .pick02 {
      padding: 5%; } }

.pick03 {
  padding: 2%;
  background: rgba(84, 184, 88, 0.1); }
  .pick03 h3 {
    font-size: 1.125rem; }
  @media only screen and (max-width: 834px) {
    .pick03 {
      padding: 5%; } }

.gallery-3 {
  display: flex;
  flex-wrap: wrap; }
  .gallery-3 .box {
    width: 31.333%;
    margin: 1%; }
    @media only screen and (max-width: 834px) {
      .gallery-3 .box {
        width: 48%;
        margin-bottom: 15px; } }
    @media screen and (max-width: 350px) {
      .gallery-3 .box {
        width: 100%; } }

.contact_contents #contents_wrap {
  margin-top: 100px; }
  @media only screen and (max-width: 834px) {
    .contact_contents #contents_wrap {
      margin-top: 50px; } }

.img100 img {
  display: block !important;
  width: 100% !important; }

.gallery-FLX {
  display: flex;
  flex-wrap: flex-wrap; }
  .gallery-FLX .box {
    width: 31.333%;
    margin: 1%; }
    .gallery-FLX .box img {
      display: block; }
    .gallery-FLX .box h3 {
      display: none; }
    .gallery-FLX .box div a {
      background: #54b858;
      color: #fff;
      padding: 5px;
      display: block;
      width: 200px;
      margin: 0 auto;
      text-align: center; }
    .gallery-FLX .box article {
      height: 100% !important;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between; }
  @media only screen and (max-width: 640px) {
    .gallery-FLX {
      flex-direction: column;
      align-items: center;
      justify-content: center; }
      .gallery-FLX .box {
        width: 90%;
        margin-bottom: 15px; } }

.mail {
  display: none; }

.rs-tel {
  font-size: 1.5rem;
  color: #192f70 !important;
  font-family: "balboa", sans-serif; }
  @media (max-width: 1200px) {
    .rs-tel {
      font-size: calc(1.275rem + 0.3vw) ; } }
  .rs-tel a {
    color: #192f70; }
  .rs-tel:before {
   /*
 font-family: "Font Awesome 5 Free";
 content: "\f0c4";
 font-weight: 600;
*/
    content: '';
    background: url(../images/common/header_tel_icon.png) no-repeat;
    background-size: contain;
    display: inline-block;
    width: 35px;
    height: 35px;
    vertical-align: middle;
    padding-right: 5px; }

.list01 dl, .list02 dl {
  border-bottom: 1px dashed #595757; }
  .list01 dl dt, .list02 dl dt {
    border: none !important;
    background: none !important; }
  .list01 dl dd, .list02 dl dd {
    border: none !important;
    background: none !important;
    text-align: right !important;
    min-width: 107px;
    color: #8a4609;
    font-weight: bold; }

.list02 dl dd {
  min-width: 300px; }
@media only screen and (max-width: 640px) {
  .list02 dl {
    display: block !important; }
    .list02 dl dd, .list02 dl dt {
      width: 100% !important; } }

.list03 dl {
  border-bottom: 1px dashed #595757; }
  .list03 dl dt {
    border: none !important;
    background: none !important;
    color: #8a4609;
    font-weight: bold;
    min-width: 280px; }
  .list03 dl dd {
    border: none !important;
    background: none !important;
    text-align: right !important; }
  @media only screen and (max-width: 640px) {
    .list03 dl {
      display: block !important; }
      .list03 dl dd, .list03 dl dt {
        width: 100% !important;
        text-align: left !important; } }

.faq table td {
  border: none; }

.faq-q span, .faq-a span {
  width: 40px;
  height: 40px;
  display: block;
  background: #54b858;
  line-height: 40px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.5rem; }
  @media (max-width: 1200px) {
    .faq-q span, .faq-a span {
      font-size: calc(1.275rem + 0.3vw) ; } }
@media only screen and (max-width: 640px) {
  .faq-q, .faq-a {
    background: #54b858;
    padding: 0 !important; }
    .faq-q span, .faq-a span {
      display: inline-block; } }

.faq-a span {
  background: #ae644b; }
@media only screen and (max-width: 640px) {
  .faq-a {
    background: #ae644b; } }

.faq-q-txt {
  font-weight: bold;
  color: #192f70; }
  @media screen and (min-width: 640px) {
    .faq-q-txt {
      border-bottom: 1px dashed #ccc !important; } }

.blog {
  max-width: 1200px;
  margin: 80px auto 0; }
  @media screen and (min-width: 641px) and (max-width: 834px) {
    .blog {
      margin: 50px auto 0; } }
  @media only screen and (max-width: 640px) {
    .blog {
      margin: 30px auto 0; } }
  .blog .wrap {
    display: flex; }
    .blog .wrap aside {
      width: 28%;
      margin: 1%; }
      .blog .wrap aside nav {
        line-height: 2.0em; }
        .blog .wrap aside nav h3 {
          background: #0079b5 !important; }
        .blog .wrap aside nav ul li {
          border-bottom: 1px dashed #ccc; }
          .blog .wrap aside nav ul li .blogside {
            color: #595757; }
            .blog .wrap aside nav ul li .blogside span {
              color: #71c14b;
              margin-left: 5px;
              display: block; }
        .blog .wrap aside nav > a {
          background: #54b858 !important; }
    .blog .wrap #contents {
      width: 68%;
      margin: 1%;
      min-width: auto; }
      .blog .wrap #contents article .date {
        color: #71c14b !important; }
      .blog .wrap #contents article div img {
        width: 48%;
        margin: 1%; }
      .blog .wrap #contents article .date {
        color: #71c14b !important; }
      .blog .wrap #contents article h2 {
        background: #71c14b;
        color: #fff !important;
        font-family: "Source Han Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
    @media only screen and (max-width: 834px) {
      .blog .wrap {
        flex-direction: column; }
        .blog .wrap aside, .blog .wrap #contents {
          width: 100%;
          margin: 10px auto; }
        .blog .wrap aside {
          text-align: center !important; } }
    @media only screen and (max-width: 640px) {
      .blog .wrap #contents article div {
        flex-direction: column; }
        .blog .wrap #contents article div img {
          width: 100%; } }

.bg_100per_wrap {
  position: relative;
  padding: 50px 0 !important;
  margin-bottom: 60px !important; }

.bg_100per_inner {
  width: 1000%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0% 0% 0% -500%;
  background: #f7ead4;
  z-index: -1; }

.bg_100per_wrap {
  position: relative;
  padding: 80px 0 !important;
  margin-bottom: 60px 0 !important; }

.bg_100per_inner {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
  background: url(../images/contents/cont-bg.jpg) repeat center top;
  background-size: cover;
  z-index: -1; }

.hoverBgContents {
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .hoverBgContents > .hoverBg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
    pointer-events: none;
    transition: transform 0.8s;
    background-position: center; }
  .hoverBgContents:hover > .hoverBg {
    transform: scale(1.2); }

@media only screen and (max-width: 834px) {
  #col_main .errorbg {
    padding: 0 !important; } }

.slide-bottom {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms; }

.slide-bottom.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-top {
  opacity: 0;
  transform: translate(0, -50px);
  transition: all 1500ms; }

.slide-top.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-top2 {
  opacity: 0.4;
  transform: translate(0, -50px);
  transition: all 1500ms; }

.slide-top2.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-right {
  opacity: 0;
  transform: translate(100px, 0px);
  transition: all 2500ms; }

.slide-right.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-left {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition: all 2500ms; }

.slide-left.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

.slide-left2 {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition: all 1000ms; }

.slide-left2.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

/* title */
.midashi h2 {
  color: #fff;
  line-height: 2em;
  font-size: 40px;
  font-weight: bold; }
  @media only screen and (max-width: 640px) {
    .midashi h2 {
      font-size: 20px; } }

.tdpd10 td {
  padding: 10px !important; }

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