@charset "utf-8";
/* CSS Document */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
html {
  font-size: 62.5%; /* 16px x 0.625 = 10px(=1rem) */
}
body {
  font-size: 1.8em;
  font-family: 'ZEN丸ゴシック', 'Noto Sans JP', sans-serif;
  color: #3E3A39;
  font-weight: 500;
}
.container-fluid {
  margin: 0;
  padding: 0;
}
.wrapper {
  overflow: hidden;
}
/*TOPフェイドアニメーション*/
.effect-fade {
  opacity: 0;
  transform: translate(0, 45px);
  transition: all 3000ms;
}
.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
a:hover {
  filter: alpha(opacity=50);
  opacity: 0.5;
  position: relative;
  top: 1px;
  left: 1px;
  transition-duration: 1.2s;
}
a:link {
  text-decoration: none;
  font-weight: 400;
}
img {
  width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden; /*GoogleChrome対策*/
}
.h1, .h2, .h3, h1, h2, h3 {
  margin-top: 0;
}
p {
  font-size: 1.8rem;
  line-height: 1.8em;
  text-align: left;
}
/* 文字折り返し */
.txt-break {
  display: block;
}
/*折り返し禁止*/
.wr {
  white-space: nowrap;
}
.pc {
  display: none;
}
.sp {
  display: block;
}
/*ヘッダ*/
header {
  width: 100%;
  position: relative;
}
footer {
  margin: 0 auto;
  text-align: center;
}
/*maxwidth*/
.maxwidth1000 {
  max-width: 1000px;
}
.maxwidth700 {
  max-width: 700px;
}
.maxwidth600 {
  max-width: 600px;
}
.maxwidth500 {
  max-width: 500px;
}
.maxwidth400 {
  max-width: 400px;
}
.maxwidth300 {
  max-width: 300px;
}
.maxwidth200 {
  max-width: 200px;
}
.maxwidth100 {
  max-width: 100px;
}
.maxwidth50 {
  max-width: 50px;
}
h1 {
  font-size: 1.8rem;
  line-height: 1.8em;
}
dl {
  flex-flow: column;
}
dt {
  color: #7f4f21;
}
dd {
  padding-bottom: 10px;
}
/*全体フォント*/
.text-brown {
  text-align: center;
  color: #6A3906;
  line-height: 3.0rem;
}
.text-brown2 {
  text-align: center;
  color: #6A3906;
  font-size: 3.5rem;
  border-bottom: 3px solid;
  margin-bottom: 15px;
}
.text-brown3 {
  text-align: center;
  color: #6A3906;
  font-size: 2.8rem;
  font-weight: bold;
}
.text-white {
  text-align: center;
  color: white;
  font-size: 3.5rem;
  border-bottom: 3px solid;
  margin-bottom: 15px;
}
.text-white2 {
  text-align: center;
  color: white;
  font-size: 1.8rem;
}
.f-big {
  font-size: 2.5rem;
  font-weight: bold;
}
.f-s {
  font-size: 1.8rem;
}
/*全体バックグラウンド*/
.bg-green {
  background-color: #242D2B;
  padding: 30px 0px 30px 0px;
}
.bg-brown {
  background-color: #F1ECDD;
  padding: 30px 0px 30px 0px;
}
/*配置命令*/
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
  margin: 0 auto;
}
.text-center2 {
  text-align: left;
}
iframe {
  margin: 0 auto;
  width: 100%;
}
/*ボタン主な共通部分は省略*/
.button a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: auto;
  max-width: 250px;
  padding: 15px 25px;
  color: #6A3906;
  text-decoration: none;
  line-height: 1.8;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  background: #fff;
  border-radius: 20px;
  border: solid 1px #6A3906;
}
.button a:hover {
  border-bottom: solid 2px #999;
  transform: translateY(3px);
}
.mt-30 {
  margin-top: 30rem;
}
.mt-10 {
  margin-top: 10rem;
}
.mb-10 {
  margin-bottom: 10rem;
}
.text-box {
  padding: 0rem 2.0rem;
  margin: 0 auto;
}
/* moveDown アニメーションの定義 */
@keyframes moveDown {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(30px);
  }
}
/* .element クラスにアニメーション適用 */
.element {
  animation: moveDown 2s linear alternate infinite;
}
/* バウンドのアニメーション定義 */
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0); /* 初期位置 */
  }
  40% {
    transform: translateY(-30px); /* 上に跳ねる高さ（-30px） */
  }
  60% {
    transform: translateY(-15px); /* 少し低い位置に跳ねる（-15px） */
  }
}
/* バウンドアニメーションを適用する要素のスタイル */
.element-2 {
  animation: bounce 3s infinite; /* 2秒間隔で無限にバウンドする */
}
/*==================================================
スマホ固定メニュー

===================================*/
/* sp固定メニュー*/
.sp-fixed-table {
  display: flex;
  width: 97%;
  position: fixed;
  bottom: 0.3rem;
  margin: 0 auto;
}
.pc-fixed-menu {
  display: none;
}
/*スマフォ横・タブレット表示設定*/
@media (min-width: 600px) {
  /*ヘッダ*/
  header {
    margin-bottom: 1em;
  }
  .f-big {
    font-size: 3.0rem;
    font-weight: bold;
  }
  .text-brown2 {
    text-align: center;
    color: #6A3906;
    font-size: 3.8rem;
    font-weight: 600;
  }
}
@media (min-width: 768px) {
  footer {
    text-align: left;
  }
  .sp-fixed-table {
    display: none;
  }
  .pc-fixed-menu {
    display: block;
    position: fixed;
    bottom: 60px; /* ボタンの下側からの距離 */
    right: 20px; /* ボタンの右側からの距離 */
    transition: bottom 0.5s ease;
    width: 170px;
    visibility: hidden; /* ボタンを初期状態で非表示にする */
  }
  .pc-fixed-menu.show {
    bottom: 5px;
    visibility: visible; /* ボタンを表示する */
  }
}
/*PC表示設定*/
@media (min-width: 1100px) {
  /*文字折り返し*/
  .txt-break {
    display: inline;
  }
  .text-center2 {
    text-align: center;
  }
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  .container-mini {
    width: 1000px; /*adjustable*/
    padding: 0;
    margin: 0 auto;
  }
  dl {
    display: flex;
    flex-flow: row wrap;
    max-width: 800px;
    margin: 0 auto;
  }
  dt {
    flex-basis: 40%;
    padding: 5px;
    text-align: left;
  }
  dd {
    flex-basis: 60%;
    padding: 5px;
    text-align: left;
  }
  .text-white {
    text-align: center;
    color: white;
    font-size: 3.5rem;
  }
}