@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

a:visited {
  color: inherit;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

ol, ul {
  list-style: none;
}

ol > li > ul,
ul > li > ul {
  padding-left: 1em;
  padding-top: .3em;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-wrap: break-word;
}

* section {
  clear: both;
}

a:focus, *:focus {
  outline: none;
}

a, a img {
  -webkit-transition: .2s;
  transition: .2s;
}

a:hover {
  text-decoration: none;
}

a:hover > img {
  opacity: 0.7;
  cursor: pointer;
  -webkit-transition: .2s;
  transition: .2s;
}

img {
  height: auto;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
}

figure {
  text-align: center;
  margin: 0;
  padding: 0;
}

figure > img {
  width: auto;
  max-width: 100%;
}

figure figcaption {
  margin: 10px auto;
  text-align: left;
}

strong {
  font-weight: bold;
}

html {
  overflow: auto;
}

li, td, th, dt, dd, p, figcaption {
  text-align: left;
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
html {
  font-size: 14px;
}
html h1.underTitle {
  font-size: 22px;
}
html h1.underTitle span {
  font-size: 80%;
}
html main h2 {
  font-size: 20px;
}
html main h2 span {
  font-size: 70%;
}
html main h3 {
  font-size: 18px;
}
html main h3 span {
  font-size: 80%;
}
html main h4 {
  font-size: 16px;
}
html main h4 span {
  font-size: 80%;
}
html main h5 {
  font-size: 15px;
}
html main h5 span {
  font-size: 80%;
}
html main h6 {
  font-size: 14px;
}
html main h6 span {
  font-size: 80%;
}
@media (min-width: 641px) {
  html {
    font-size: calc((13 / 16 * 100%) + 3 * (100vw - 641px) / (1200 - 641)) px;
  }
  html h1.underTitle {
    font-size: 2.5rem;
  }
  html main h2 {
    font-size: 1.5rem;
  }
  html main h3 {
    font-size: 1.4rem;
  }
  html main h4 {
    font-size: 1.3rem;
  }
  html main h5 {
    font-size: 1.2rem;
  }
  html main h6 {
    font-size: 1.1rem;
  }
}
@media (min-width: 950px) {
  html {
    font-size: 14px;
  }
  html h1.underTitle {
    font-size: 34px;
  }
  html h1.underTitle span {
    font-size: 20px;
  }
  html main h2 {
    font-size: 24px;
  }
  html main h2 span {
    font-size: 16px;
  }
  html main h3 {
    font-size: 18px;
  }
  html main h3 span {
    font-size: 16px;
  }
  html main h4 {
    font-size: 16px;
  }
  html main h4 span {
    font-size: 14px;
  }
  html main h5 {
    font-size: 19px;
  }
  html main h5 span {
    font-size: 80%;
  }
  html main h6 {
    font-size: 18px;
  }
  html main h6 span {
    font-size: 80%;
  }
}

body {
  /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #292929;*/
  background: #f9f9f9;
  overflow: hidden;
  line-height: 1.5;
  word-break: break-all;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Arial, Helvetica, sans-serif;
  color: #656565;
}

.inner {
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  padding: 0 10px;
}

p {
  margin-bottom: 1em;
  word-break: break-all;
  letter-spacing: 0;
  line-height: 1.6;
  text-align: left;
}

a {
  color: #371d0b;
}

@media screen and (min-width: 641px) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
main section {
  padding: 1.5% 0;
  margin-bottom: 2%;
}

main section:last-child {
  margin-bottom: 3%;
}

body.under main {
  min-height: 60vh;
}

header {
  background: none;
  position: relative;
  z-index: 300;
  padding: 0;
  background: #fff;
}

header .inner {
  max-width: 950px;
}

.headInfo {
  display: inline-block;
  vertical-align: middle;
  text-align: right;
  width: 60%;
  float: right;
}

@media screen and (max-width: 999px) {
  .headInfo {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 56px;
    width: auto;
    display: block;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: auto;
  }
}
header h1 {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  width: auto;
  margin: 20px 0 10px;
  max-width: 140px;
}
header h1 > img {
  max-width: 100%;
  width: auto;
}

header .ac_menu {
  display: inline-block;
  background: #ff8740;
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5px;
  width: 40px;
  height: 40px;
  border-radius: 4px;
}
header .ac_menu span {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 70%;
  height: 5px;
  border-radius: 10px;
  background: #fff;
  -webkit-transition: .4s;
  transition: .4s;
}
header .ac_menu span:before, header .ac_menu span:after {
  content: '';
  display: block;
  position: absolute;
  top: -10px;
  bottom: auto;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 5px;
  border-radius: 10px;
  background: #fff;
  -webkit-transition: .3s;
  transition: .3s;
}
header .ac_menu span:after {
  top: auto;
  bottom: -10px;
}
header .ac_menu.active span {
  background: transparent;
  -webkit-transition: .3s;
  transition: .3s;
}
header .ac_menu.active span:before, header .ac_menu.active span:after {
  top: 0;
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: .3s;
  transition: .3s;
}
header .ac_menu.active span:after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

header nav .navi {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 9999;
}
header nav .navi li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
header nav .navi li a {
  width: 100%;
  display: block;
  text-decoration: none;
  padding: 0.8em 1em;
  text-align: left;
  color: #fff;
  background: #ff8740;
  border-bottom: 1px solid white;
  position: relative;
  -webkit-transition: 0s;
  transition: 0s;
}
header nav .navi li a span {
  font-size: 80%;
  margin-left: .8em;
}
header nav .navi li a:hover {
  background: #d76418;
  text-decoration: none;
  -webkit-transition: 0s;
  transition: 0s;
}
header nav .navi li a i {
    margin-right: 10px;
}
header .navi li.has-child > a:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: .4s;
  transition: .4s;
}
header .navi li.has-child > ul.subMenu {
  display: none;
  padding: 0;
  margin: 0;
}
header .navi li.has-child > ul.subMenu a {
  background: #bc4b00;
  color: #fff;
  padding-left: 1em;
}
header .navi li.has-child > ul.subMenu a:hover {
  background: #d76418;
  text-decoration: none;
  -webkit-transition: .4s;
  transition: .4s;
}
header .navi li.has-child.pullOpen > a:after {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  -webkit-transition: .4s;
  transition: .4s;
}

@media screen and (min-width: 1000px) {
  header .ac_menu {
    display: none;
  }

  header nav .navi {
    display: inline-block;
    position: relative;
    top: auto;
    left: auto;
    overflow: hidden;
    width: 100%;
    text-align: center;
    margin: 15px auto;
  }
  header nav .navi > li {
    display: inline-block;
    width: auto;
    position: relative;
    text-align: center;
    padding: 0;
    margin: 0;
  }
  header nav .navi > li > a {
    color: #371d0b;
    font-size: 100%;
    text-align: center;
    text-decoration: none;
    padding: .7em 1em;
    font-weight: normal;
    letter-spacing: -0.025em;
    line-height: 1.2;
    -webkit-transition: 0s;
    transition: 0s;
    font-weight: bold;
    background: none;
    border: 0;
  }
  header nav .navi > li > a span {
    font-size: 80%;
    display: block;
    margin: 0 auto;
    color: #ff8740;
    text-align: center;
  }
  header nav .navi > li > a:after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 5px;
    background: #ff8740;
    /* -webkit-transform: scale(0); */
    /* transform: scale(0); */
    /* -webkit-transition: .4s; */
    /* transition: .4s;*/
  }
  header nav .navi > li > a:hover {
    color: #ff8740;
    background: none;
    -webkit-transition: .7s;
    transition: .7s;
  }
  header nav .navi > li > a:hover:after {
    /*-webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: .4s;
    transition: .4s;*/
  }
  header nav .navi > li > a:hover span {
    -webkit-animation: gnvahover .4s ease 0s .4 normal;
            animation: gnvahover .4s ease 0s .4 normal;
  }
  header nav .navi > li:first-child {
    margin-left: 0;
  }
  header nav .navi > li:last-child {
    margin-right: 0;
  }
  header nav .navi > li:not(:first-child):before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: .8em;
    background: #421b00;
  }

  header .clearfix,
  header nav .navi {
    overflow: inherit;
  }

  header .navi li.has-child > a:after {
    content: none;
  }

  header .navi li.has-child:after {
    content: '';
    position: absolute;
    bottom: 15%;
    right: 15%;
    margin: auto;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    background: none;
    -webkit-transition: .3s;
    transition: .3s;
  }
  header .navi li.has-child > ul.subMenu {
    display: block;
    position: absolute;
    top: 30%;
    right: 0;
    left: -10%;
    padding: 0;
    margin: auto;
    width: 120%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .2s linear;
    transition: .2s linear;
  }
  header .navi li.has-child > ul.subMenu > li {
    width: 100%;
    display: block;
    margin: auto;
    text-align: center;
    background: #ff8740;
  }
  header .navi li.has-child > ul.subMenu > li > a {
    width: 100%;
    display: inline-block;
    color: #fff;
    font-size: 80%;
    text-decoration: none;
    padding: .8em .5em;
    text-align: center;
  }
  header .navi li.has-child > ul.subMenu > li:hover {
    background: #d76418;
    -webkit-transition: .4s;
    transition: .4s;
  }
  header .navi li.has-child > ul.subMenu > li:last-child a {
    border-bottom: 0;
  }
  header .navi li.has-child:hover:after {
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
    -webkit-transition: .3s;
    transition: .3s;
    border-color: #371d0b;
  }
  header .navi li.has-child:hover ul.subMenu {
    top: 100%;
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}
footer {
  background: #e2dfd4;
  overflow: hidden;
  line-height: 1.3;
  padding: 0;
  position: relative;
  height: auto;
}
footer > .inner {
  padding: 0;
}

footer nav {
  width: 100%;
}

.footNavi {
  background: none;
  margin: auto;
  width: 100%;
}

.footNavi li {
  display: block;
  border-bottom: 1px solid #e6e6e6;
  padding: 0;
  margin: 0 auto;
}

.footNavi li a {
  display: block;
  padding: 1.1em;
  text-decoration: none;
  color: #fff;
  background: #ff8740;
  position: relative;
  -webkit-transition: .4s;
  transition: .4s;
}
.footNavi li a:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: auto;
  right: 3%;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.footNavi li a:hover {
  -webkit-transition: .4s;
  transition: .4s;
  background: #d76418;
}

@media screen and (min-width: 768px) {
  footer > .inner {
    padding: 0 5px;
  }

  .footNavi {
    margin:0;
    text-align: left;
  }

  .footNavi li {
    position: relative;
    margin-bottom: 0.8em;
    display: inline-block;
    border-bottom: 0;
  }
  .footNavi li a {
    position: relative;
    color: #656565;
    font-weight: normal;
    letter-spacing: 0;
    padding: 0 .8em;
    text-decoration: none;
    background: none;
    font-size: 14px;
  }
  .footNavi li a:hover {
    text-decoration: underline;
    background: none;
  }

  /*.footNavi li:not(:first-child):not([class]) a:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 1px;
    height: 70%;
    background: white;
  }*/

  .footNavi li.parent {
    position: relative;
    padding-left: 0;
    text-align: left;
    display: block;
  }
  .footNavi li.parent:before {
    content: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;
    right: auto;
    margin: auto;
    width: .5em;
    height: 2px;
    background: #623314;
    border: 0;
    -webkit-transform: none;
            transform: none;
  }
  .footNavi li.parent a {
    font-size: 110%;
    font-weight: bold;
  }

  .footNavi li.parent ~ li:not(.parent) {
    display: block;
    float: none;
    padding-left: 1.5em;
    margin-bottom: 5px;
    text-align: left;
  }
  .footNavi li.parent ~ li:not(.parent) a:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: .5em;
    height: 2px;
    background: #623314;
  }

  .footNavi li a:after {
    content: none;
  }
}

.copy {
  display: block;
  text-align: center;
  margin: 0 auto 0;
  padding: .8em 0;
  background: #fff;
}
.copy:after {
  content: "";
  display: block;
  clear: both;
}
.copy p {
  color: #656565;
  font-size: 12px;
  letter-spacing: 0.025em;
  padding: 0;
  margin: 0;
  text-align: right;
}

#toTop {
  position: fixed;
  z-index: 9999;
  bottom: 12%;
  right: 2%;
  background: #371d0b;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  text-indent: 100%;
  white-space: nowrap;
  display: inline-block;
}
#toTop:after {
  content: "";
  display: block;
  position: absolute;
  top: 5%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: .2s;
  transition: .2s;
}
#toTop:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 50%;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  border: 2px solid #fff;
}
#toTop:hover {
  background: transparent;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
#toTop:hover:after {
  -webkit-transform: rotate3d(0, -1, 0, 180deg) scale(1.1, 1) rotate(45deg);
          transform: rotate3d(0, -1, 0, 180deg) scale(1.1, 1) rotate(45deg);
  border-color: #371d0b;
}
#toTop:hover:before {
  border-style: dashed;
  border-color: #371d0b;
  -webkit-animation: rotation 4s infinite linear;
          animation: rotation 4s infinite linear;
}
#toTop img {
  width: 40px;
}
@media screen and (max-width: 767px) {
  #toTop {
    width: 50px;
    height: 50px;
  }
  #toTop:after {
    width: 15px;
    height: 15px;
  }
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
h1.underTitle {
  text-align: center;
  color: #371d0b;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 1.5em 1em;
  position: relative;
  z-index: 1;
  font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  overflow: hidden;
  background: #371d0b;
}
h1.underTitle span {
  display: block;
  margin: auto;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
h1.underTitle:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 80%;
  background: url(../img/text_bg.jpg);
  z-index: -1;
  -webkit-box-shadow: 0 0 20px rgba(55, 29, 11, 0.9) inset;
          box-shadow: 0 0 20px rgba(55, 29, 11, 0.9) inset;
}
@media screen and (max-width: 767px) {
  html h1.underTitle {
      margin-bottom: 30px;
  }
}

main h2 {
  position: relative;
  text-align: center;
  padding: 0 0 .5em;
  margin: 0 auto 1em;
  letter-spacing: 0.05em;
  line-height: 1.3;
  font-weight: bold;
  color: #292929;
}
main h2 span {
  display: block;
  margin: 0 auto 0;
}
main h2:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 3px;
  border-bottom: 3px solid #ff8740;
}
main h3 {
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-size: 18px;
  background: #F5F4EC;
  border: 1px solid #E2DFD4;
  padding: 10px 12px;
  border-radius: 3px 3px;
  margin-top: 1em;
  margin-bottom: 1em;
  font-weight: bold;
}
main h3 span {
  vertical-align: baseline;
}
/*main h3:before, main h3:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: 3px solid #371d0b;
}
main h3:after {
  width: 20%;
  border-bottom: 3px solid #ff8740;
}*/
main h4 {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #E2DFD4;
  padding-bottom: 10px;
  margin-bottom: .5em;
}
main h4 span {
  vertical-align: baseline;
}
main h5 {
  position: relative;
  padding: .2em 0 .3em;
  margin-bottom: .5em;
  font-weight: bold;
  text-align: left;
  color: #371d0b;
  letter-spacing: 0;
  line-height: normal;
}
main h5:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 32px;
  height: 2px;
  background: #ff8740;
}
main h6 {
  position: relative;
  padding-left: 1.3em;
  margin-bottom: .3em;
  font-weight: bold;
  color: #371d0b;
  letter-spacing: 0;
  line-height: normal;
  text-align: left;
}
main h6:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  background: #ff8740;
}
main h1 a, main h1 a:hover, main h2 a, main h2 a:hover, main h3 a, main h3 a:hover, main h4 a, main h4 a:hover, main h5 a, main h5 a:hover, main h6 a, main h6 a:hover {
  text-decoration: none;
  color: inherit;
}
main h1 img, main h2 img, main h3 img, main h4 img, main h5 img, main h6 img {
  vertical-align: middle;
}

.numberTitle span {
  display: inline;
  position: relative;
  vertical-align: text-bottom;
  padding-left: 1.5em;
  font-size: 100%;
}
.numberTitle span:after {
  counter-increment: number 1;
  content: "0" counter(number);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.button {
  position: relative;
  display: inline-block;
  margin: auto;
  width: 100%;
  max-width: 258px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: .4s;
  transition: .4s;
  padding: .5em .8em;
  font-weight: 300;
  letter-spacing: 0.05em;
  font-size: 14px;
  color: #fff !important;
  background: #fff;
  border: 1px solid #ff8740;
  border-radius: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: 4px;
}
.button:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 5%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: .2s;
  transition: .2s;
}
.button:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: #ff8740;
  z-index: -1;
  -webkit-animation: none;
          animation: none;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.button:hover {
  color: #ff8740 !important;
  background: #fff;
  border-color: #ff8740;
  text-decoration: none;
  -webkit-transition: .2s;
  transition: .2s;
}
.button:hover:before {
  content: '';
  opacity: 1;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-animation: none;
          animation: none;
}
.button:hover:after {
  border-color: #ff8740;
  right: 3%;
  -webkit-transition: .2s;
  transition: .2s;
}
@media screen and (max-width: 767px) {
  .button {
    max-width: inherit;
  }
}

@media screen and (min-width: 768px) {
  .button + .button {
    margin-left: 5px;
  }
}
@media screen and (max-width: 767px) {
  .button + .button {
    margin-top: 5px;
  }
}

.button.btn2:after {
  top: auto;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent transparent #fff transparent;
  -webkit-transform: none;
          transform: none;
}
.button.btn2:hover:after {
  border-color: transparent transparent #ff8740 transparent;
}

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

.googlemap, .youtube {
  position: relative;
  width: 100%;
  padding-top: 53%;
  min-height: 225px;
}
.googlemap iframe, .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width: 767px) {
.googlemap {
    padding-top: 75%;
    min-height: 400px;
  }
}

.newsContent {
  background: none;
  /*padding: 0;*/
  overflow: hidden;
  position: relative;
}
.newsContent dl {
  width: 100%;
}
.newsContent dl dt, .newsContent dl dd {
  display: block;
  text-align: left;
  letter-spacing: 0.08em;
}
.newsContent dl dt {
  width: 100%;
  clear: left;
  float: none;
  padding: .3em .8em .3em;
}
.newsContent dl dd {
  width: 100%;
  float: none;
  position: relative;
  padding: .3em .8em;
  margin:0 0 1.5em;
}
/*.newsContent dl dd:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 120vw;
  height: 1px;
  border-bottom: 1px solid rgba(55, 29, 11, 0.2);
  -webkit-transform: translateX(-15%);
          transform: translateX(-15%);
}*/
.newsContent a {
  color: #dd8585;
  text-decoration: none;
}
.newsContent a:hover {
  color: #b16a6a;
}
@media screen and (max-width: 767px) {
  .newsContent dl dt, .newsContent dl dd {
    width: 100%;
    float: none;
    padding-left: 0;
  }
  .newsContent dl dt {
    padding-bottom: 0;
  }
  .newsContent dl dd {
    padding-top: 0;
    border-bottom: 1px solid #8c4a1c;
  }
  .newsContent dl dd:after {
    content: none;
  }
}

.newsBtn {
  position: absolute;
  top: 15%;
  right: 3%;
  margin: auto;
  display: inline-block;
}
.newsBtn a {
  background: #ff8740;
  border: 1px solid #ff8740;
  color: #fff;
  font-size: 14px;
  padding: .5em 1em;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  -webkit-transition: .4s;
  transition: .4s;
}
.newsBtn a:after {
  content: '＞';
  margin-left: .5em;
}
.newsBtn a:hover {
  background: none;
  color: #ff8740;
  -webkit-transition: .4s;
  transition: .4s;
}

.breadcrumb_bg {
  background: #F5F4EC;
padding: 5px 0 3px;
margin-top: 0px;
border-bottom: 1px solid #eceadb;
border-top: 1px solid #eceadb;
}
/*.breadcrumb {
  padding-left: 0;
  margin-left: 0;
  margin-bottom: 5%;
  margin-top: 1%;
  line-height: 1.0;
}*/
.breadcrumb li {
  display: inline;
  list-style: none;
  font-size: 13px;
}
.breadcrumb li:not(:last-child):after {
  content: '>';
  padding: 0 4px;
  font-size: 10px;
}
.breadcrumb li a {
  text-decoration: none;
  color: #928763;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb li:last-child {
  color: #333;
}
.breadcrumb li i {
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}

ul.ul00 {
  margin: 0 auto;
  list-style-type: disc;
  padding-left: 1.5em;
}
ul.ul00 > li {
  margin-bottom: 5px;
  text-align: left;
}

ul.ul01 {
  margin: 0 auto;
}
ul.ul01 > li {
  position: relative;
  padding: 0 0 0 1em;
  margin-bottom: 5px;
  text-align: left;
}
ul.ul01 > li:before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  left: 3px;
  top: 8px;
  /*bottom: 0;*/
  margin: auto;
  background: #333;
  border-radius: 50%;
}

ul.checkList {
  margin: 0 auto;
}
ul.checkList > li {
  position: relative;
  padding: 0 0 5px 15px;
  margin-bottom: 5px;
}
ul.checkList > li:before, ul.checkList > li:after {
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
}
ul.checkList > li:before {
  width: 10px;
  height: 10px;
  border: 1px solid #623314;
  background: transparent;
}
ul.checkList > li:after {
  top: -7px;
  width: 15px;
  height: 5px;
  border-bottom: 2px solid #ff8740;
  border-left: 2px solid #ff8740;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

ul.floatList {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}
ul.floatList > li {
  float: left;
  margin-bottom: 15px;
}
ul.floatList > li + li {
  margin-left: 15px;
}
ul.floatList:after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 767px) {
  ul.floatList > li {
    float: none;
  }
  ul.floatList > li + li {
    margin-left: auto;
  }
}
dl.dl01 {
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}
dl.dl01 dt {
  position: relative;
  padding: 0 0 0 1em;
  margin-bottom: 0;
}
dl.dl01 dt:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 2px;
  left: 3px;
  top: 10px;
  background: #371d0b;
}
dl.dl01 dt + dd {
  position: relative;
  padding: 0 0 0 1.5em;
  margin-bottom: 5px;
}

dl.floatList {
  width: 100%;
  clear: both;
}
dl.floatList dt, dl.floatList dd {
  display: block;
  text-align: left;
  margin: 0 auto 5px;
  padding: .5em;
}
dl.floatList dt {
  width: 25%;
  clear: left;
  float: left;
}
dl.floatList dd {
  display: block;
  width: 75%;
  float: left;
}
dl.floatList:after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 767px) {
  dl.floatList dt, dl.floatList dd {
    float: none;
    width: 100%;
  }
  dl.floatList dt {
    padding-bottom: 0;
  }
  dl.floatList dd {
    padding-top: 0;
    padding-left: 1em;
  }
}
ul.borderList {
  margin: 0 auto;
  width: 100%;
  list-style: none;
}
ul.borderList > li {
  position: relative;
  padding: 0 0 5px 15px;
  margin-bottom: 5px;
  border-bottom: 1px solid #ff8740;
}

ol.ol00 {
  margin: 0 auto;
  list-style-type: decimal;
  padding-left: 1.5em;
}
ol.ol00 > li {
  margin-bottom: 5px;
}

ol.ol01 {
  margin: 0 auto;
  counter-reset: number 0;
  list-style-type: none;
}
ol.ol01 > li {
  position: relative;
  padding: 0 0 0 1.6em;
  margin-bottom: 5px;
}
ol.ol01 > li:before {
  counter-increment: number 1;
  content: "" counter(number);
  position: absolute;
  left: 3px;
  top: 3px;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: .2em 0 0;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #ff8740;
  border: 0;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  ol.ol01 > li:before {
    width: 15px;
    height: 15px;
  }
}

.faq {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.faq > ul {
  background: none;
  padding: 2.5em 0;
  width: 100%;
}
.faq > ul > li {
  list-style-type: none;
  list-style-image: none;
  padding: 8px 0 0 60px;
  margin-bottom: 15px;
  position: relative;
  text-align: left;
}
.faq > ul > li:before {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  padding: 0;
  text-align: center;
  vertical-align: text-top;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #fff;
  font-size: 26px;
  font-weight: normal;
  line-height: 1.7;
}
.faq > ul > li:nth-child(odd) {
  font-size: 120%;
  color: #ff8740;
  font-weight: bold;
}
.faq > ul > li:nth-child(odd):before {
  content: 'Q';
  background: #ff8740;
}
.faq > ul > li:nth-child(even) {
  margin-bottom: 30px;
  padding-bottom: 2em;
  border-bottom: 1px dotted rgba(239, 95, 0, 0.25);
}
.faq > ul > li:nth-child(even):before {
  content: 'A';
  background: #371d0b;
}
.faq > ul > li:last-child {
  margin-bottom: 0;
}

table {
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse;
  background: none;
  border: 0;
}
table th, table td {
  padding: 15px 10px;
  line-height: 1.6;
  vertical-align: middle;
}

table.table01 {
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ff8740;
}
table.table01 th, table.table01 td {
  border: 1px solid #ff8740;
  background: #fff;
}
table.table01 th {
  text-align: center;
  font-weight: bold;
  background-color: rgba(239, 95, 0, 0.75);
  color: #fff;
}
table.table01 thead th {
  background-color: #fff;
    color: #ff8740;
}
@media screen and (min-width: 768px) {
table.table01 th {
    border-bottom: 1px solid #fff;
}
table.table01 tr:last-child th {
    border-bottom: 1px solid #ff8740;
}
}

.borderTable tr {
  border-bottom: 1px solid #ff8740;
}
.borderTable th {
  text-align: left;
}

.stripeTable tr:nth-child(odd) {
  background: #ffc7a3;
}
.stripeTable tr:nth-child(even) {
  background: #ffe6d6;
}

table.timeTable {
  font-size: 80%;
}
table.timeTable thead th, table.timeTable thead td {
  background: #ff8740;
  color: #fff;
  text-align: center;
  padding: 8px 2px;
  letter-spacing: 0.27em;
}
table.timeTable tbody tr {
  border-bottom: 1px solid #ff8740;
}
table.timeTable tbody th, table.timeTable tbody td {
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  padding: 5px 2px;
}
table.timeTable tbody th {
  background-color: rgba(255, 135, 64, .1);
  border-bottom: 1px solid #ff8740!important;
  color: #656565;
}
/*table.timeTable tbody td {
  color: #ff8740;
}
table.timeTable tbody td span {
  color: #371d0b;
}*/
table.timeTable thead th:nth-child(2),
table.timeTable thead th:nth-child(5),
table.timeTable thead th:nth-child(6),
table.timeTable thead th:nth-child(7),
table.timeTable thead th:nth-child(8),
table.timeTable thead th:nth-child(9),
table.timeTable thead th:nth-child(10) {
  width: 8%;
}
table.timeTable thead th:nth-child(3) {
  width: 20%;
}
table.timeTable thead th:nth-child(4) {
  width: 10%;
}
@media screen and (max-width: 767px) {
  table.timeTable {
    font-size: 70%;
        border: 0;
  }
  table.timeTable thead th, table.timeTable thead td {
    display: none;
  }
  table.timeTable tbody th, table.timeTable tbody td {
    padding: 3px 2px;
    letter-spacing: 0;
    width:100%;
    display: block;
    border-bottom: 0!important;
  }
  table.timeTable tbody tr {
      border-bottom: 0;
  }
table.timeTable tbody td:last-child {
    border-bottom: 1px solid #ff8740!important;
  }
table.timeTable tbody, table.timeTable tbody tr {
      width: 100%;
      display: block;
  }
  table.timeTable tbody td{
      position:relative;
      min-height:24px;
  }
  table.timeTable tbody td:before{
      position:absolute;
      content:"";
      top:22%;
      left:15px
  }
  table.timeTable tbody td:nth-child(5):before{
      content:"月";
  }
  table.timeTable tbody td:nth-child(6):before{
      content:"火";
  }
  table.timeTable tbody td:nth-child(7):before{
      content:"水";
  }
  table.timeTable tbody td:nth-child(8):before{
      content:"木";
  }
  table.timeTable tbody td:nth-child(9):before{
      content:"金";
  }
  table.timeTable tbody td:nth-child(10):before{
      content:"土";
  }
}

table.timeTable.timeTable02 thead th:nth-child(3),
table.timeTable.timeTable02 tbody td:nth-child(3) {
    display:none;
}

@media screen and (max-width: 767px) {
  .Xscroll {
    width: 100%;
    overflow-x: scroll;
    padding-bottom: 3em;
    position: relative;
  }
  .Xscroll > table {
    table-layout: fixed;
    width: 950px;
  }
  .Xscroll:after {
    content: '※横にスクロールできます';
    color: red;
    font-weight: bold;
  }
}
table.priceTable tr {
  border-bottom: 1px solid #dddddd;
}
table.priceTable th, table.priceTable td {
  font-weight: bold;
  position: relative;
  font-size: 110%;
  padding: 5px;
}
table.priceTable th {
  text-align: center;
}
table.priceTable th span {
  font-size: 100%;
  font-weight: normal;
}
table.priceTable td {
    width: 25%;
    text-align: center;
}
table.priceTable td span {
  font-size: 150%;
}

@media screen and (max-width: 767px) {
  .resTable th, .resTable td {
    width: 100% !important;
    display: block;
    padding: .5em .5em;
  }

  tr {
    padding-bottom: .5em;
  }
}
span.circleArrow {
  position: relative;
  margin-right: .5em;
  padding: 0 0 0 1em;
  text-align: center;
}
span.circleArrow:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5.2px;
  border-color: transparent transparent transparent #fff;
}
span.circleArrow:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ff8740;
}

.countReset {
  counter-reset: number 0;
  overflow: hidden;
  zoom: 1;
}

span.circleNumber {
  padding: 0;
  position: relative;
  display: inline-block;
  margin-right: .5em;
  width: 25px;
  height: 25px;
}
span.circleNumber:after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  counter-increment: number 1;
  content: "" counter(number);
  font-size: 90%;
  border-radius: 50%;
  background: #ff8740;
  color: #fff;
  font-weight: bold;
  width: 100%;
  height: 100%;
  letter-spacing: 0;
  line-height: 1.2;
}

.circle {
  position: relative;
  padding: 50%;
  border-radius: 50%;
  background-color: #ff8740;
  overflow: hidden;
}
.circle > span {
  position: absolute;
  left: 0;
  top: 50%;
  margin: -.5em 0 0;
  width: 100%;
  text-align: center;
  color: #371d0b;
}
.circle > img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.bgSlash:after {
  background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.3)), color-stop(24%, rgba(255, 255, 255, 0.3)), color-stop(26%, rgba(255, 255, 255, 0.1)), color-stop(49%, rgba(255, 255, 255, 0.1)), color-stop(51%, rgba(255, 255, 255, 0.3)), color-stop(74%, rgba(255, 255, 255, 0.3)), color-stop(76%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.1)));
  background-image: linear-gradient(to right bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 24%, rgba(255, 255, 255, 0.1) 26%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.3) 51%, rgba(255, 255, 255, 0.3) 74%, rgba(255, 255, 255, 0.1) 76%, rgba(255, 255, 255, 0.1));
  background-size: 3px 3px;
}

.color01 {
  color: #ff8740!important;
}

.color02 {
  color: #35b5e6!important;
}

.color03 {
  color: #ff7363!important;
}

.textRed {
  color: red !important;
}

.highlight {
  background: #f8f1dc;
  padding: 2.5em 1em;
}

.clearfix {
  overflow: hidden;
  zoom: 1;
}

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

.textIndent {
  text-indent: 1em;
}

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

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

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

.textTop {
  vertical-align: top !important;
}

.textMiddle {
  vertical-align: middle !important;
}

.textBottm {
  vertical-align: bottom !important;
}

.textLarge {
  font-size: 120% !important;
}

.textXLarge {
  font-size: 150% !important;
}

.textXXLarge {
  font-size: 200% !important;
}

.textSmall {
  font-size: 80% !important;
}

.textXSmall {
  font-size: 50% !important;
}

.bold {
  font-weight: bold !important;
}

.textMarker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, #ff8740)) !important;
  background: linear-gradient(transparent 65%, #ff8740 65%) !important;
  line-height: 1.3 !important;
}

.textShadow {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8), 1px 1px 4px rgba(0, 0, 0, 0.4);
}

.textEdge {
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF,  0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.textSidebar {
  display: table;
  position: relative;
  padding: 0 1.5em;
}
.textSidebar:before, .textSidebar:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  margin: auto;
  width: 1em;
  height: 2px;
  background: #5e3491;
  display: block;
}
.textSidebar:after {
  left: auto;
  right: 0;
}

@media screen and (min-width: 768px) {
  .pc-textCenter {
    text-align: center !important;
  }

  .pc-textRight {
    text-align: right !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-textCenter {
    text-align: center !important;
  }
}
img.alignright {
  float: right;
  margin: 0 0 10px 2%;
}

img.alignleft {
  float: left;
  margin: 0 2% 10px 0;
}

@media screen and (max-width: 767px) {
  img.alignright,
  img.alignleft {
    float: none;
    margin: 0 auto 20px;
    display: block;
  }
}
.centering {
  display: block;
  margin: auto;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pd0 {
  padding: 0em !important;
}

.pd1 {
  padding: 1em !important;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif !important;
}

.gothic {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.marugo {
  font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "Verdana", "Osaka", sans-serif !important;
}

.meiryo {
  font-family: "メイリオ", Meiryo, Osaka, sans-serif !important;
}

.caution {
  font-size: 90%;
  color: red;
  line-height: 1.3;
}

.inversion h2, .inversion h3, .inversion h4, .inversion h5 {
  color: #fff;
}
.inversion h2:after, .inversion h2:before, .inversion h3:after, .inversion h3:before, .inversion h4:after, .inversion h4:before, .inversion h5:after, .inversion h5:before {
  background-color: #fff;
  border-color: #fff;
}
.inversion h2 span, .inversion h3 span, .inversion h4 span, .inversion h5 span {
  color: #fff;
}
.inversion p, .inversion li, .inversion td, .inversion th, .inversion a {
  color: #fff;
}

h2.textLeft:after {
  right: auto;
}

@media screen and (min-width: 768px) {
  h2.pc-textLeft:after {
    right: auto;
  }
}

.inner-wrap {
  display: block;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}
.inner-wrap .blockLine {
  padding: 0;
  clear: both;
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
}
.inner-wrap .blockLine > .block {
  display: inline-block;
  width: 49%;
  padding: 0;
  margin: auto;
  float: left;
  margin-right: 2%;
  margin-top: 2%;
  text-align: left;
}
.inner-wrap .blockLine > .block p {
  text-align: left;
}
.inner-wrap .blockLine > .block figure {
  display: block;
  margin: auto;
}
.inner-wrap .blockLine > .block:nth-child(2n) + .block {
  margin-right: 0;
  clear: both;
}
.inner-wrap .blockLine > .block:first-child {
  margin-left: 0 !important;
}
.inner-wrap .blockLine > .block:last-child {
  margin-right: 0 !important;
}
.inner-wrap .blockLine.blocks_2 > .block {
  width: calc((100% - 2%) / 2);
}
.inner-wrap .blockLine.blocks_2 > .block:nth-child(2n)  {
  margin-right: 0;
  clear: both;
}
.inner-wrap .blockLine.blocks_3 > .block {
  width: calc((100% - 4%) / 3);
}
.inner-wrap .blockLine.blocks_3 > .block:nth-child(2n) + .block {
    margin-right: 2%;
    clear: initial;
}
.inner-wrap .blockLine.blocks_3 > .block:nth-child(3n)  {
  margin-right: 0!important;
  clear: initial;
}
.inner-wrap .blockLine.blocks_3 > .block:nth-child(3n) + .block {
  margin-left: 0;
  clear: initial;
}

.inner-wrap .blockLine.blocks_4 > .block {
  width: calc((100% - 3.5%) / 4);
}
.inner-wrap .blockLine.blocks_4 > .block:nth-child(4n) + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.blocks_5 > .block {
  width: calc((100% - 4.5%) / 5);
}
.inner-wrap .blockLine.blocks_5 > .block:nth-child(5n) + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.blocks_6 > .block {
  width: calc((100% - 5.5%) / 6);
}
.inner-wrap .blockLine.blocks_6 > .block:nth-child(6n) + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.blocks_7 > .block {
  width: calc((100% - 6.5%) / 7);
}
.inner-wrap .blockLine.blocks_7 > .block:nth-child(7n) + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.blocks_8 > .block {
  width: calc((100% - 7.5%) / 8);
}
.inner-wrap .blockLine.blocks_8 > .block:nth-child(8n) + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.vertical > .block {
  float: none;
  vertical-align: middle;
  position: relative;
}
.inner-wrap .blockLine.reversal > .block {
  float: right;
  position: relative;
}
.inner-wrap .blockLine .block.last + .block {
  margin-left: 0;
  clear: both;
}
.inner-wrap .blockLine.reversal > .block:first-child {
  margin-left: 2% !important;
  margin-right: 0;
}

.blockLine > .block.wd10 {
  width: 9%;
}

.blockLine > .block.wd15 {
  width: 14%;
}

.blockLine > .block.wd20 {
  width: 19%;
}

.blockLine > .block.wd25 {
  width: 24%;
}

.blockLine > .block.wd30 {
  width: 29%;
}

.blockLine > .block.wd35 {
  width: 34%;
}

.blockLine > .block.wd40 {
  width: 39%;
}

.blockLine > .block.wd45 {
  width: 44%;
}

.blockLine > .block.wd50 {
  width: 49%;
}

.blockLine > .block.wd55 {
  width: 54%;
}

.blockLine > .block.wd60 {
  width: 59%;
}

.blockLine > .block.wd65 {
  width: 64%;
}

.blockLine > .block.wd70 {
  width: 69%;
}

.blockLine > .block.wd75 {
  width: 74%;
}

.blockLine > .block.wd80 {
  width: 79%;
}

.blockLine > .block.wd85 {
  width: 84%;
}

.blockLine > .block.wd90 {
  width: 89%;
}

.blockLine > .block.wd95 {
  width: 94%;
}

.blockLine > .block.wd100 {
  width: 99%;
}

@media (max-width: 767px) {
  .inner-wrap .blockLine:not(.fix) > .block {
    display: block;
    text-align: center;
    margin: 0 auto 15px;
    width: 100%;
    float: none;
  }
  .inner-wrap .blockLine:not(.fix) > .block:first-child {
    margin-left: 0 !important;
  }
  .inner-wrap .blockLine:not(.fix) .wd10, .inner-wrap .blockLine:not(.fix) .wd20, .inner-wrap .blockLine:not(.fix) .wd30, .inner-wrap .blockLine:not(.fix) .wd40, .inner-wrap .blockLine:not(.fix) .wd60, .inner-wrap .blockLine:not(.fix) .wd70, .inner-wrap .blockLine:not(.fix) .wd80, .inner-wrap .blockLine:not(.fix) .wd90, .inner-wrap .blockLine:not(.fix) .wd15, .inner-wrap .blockLine:not(.fix) .wd25, .inner-wrap .blockLine:not(.fix) .wd35, .inner-wrap .blockLine:not(.fix) .wd45, .inner-wrap .blockLine:not(.fix) .wd65, .inner-wrap .blockLine:not(.fix) .wd75, .inner-wrap .blockLine:not(.fix) .wd85, .inner-wrap .blockLine:not(.fix) .wd95 {
    width: 100%;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_2 > .block:nth-child(2n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_3 > .block:nth-child(3n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_4 > .block:nth-child(4n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_5 > .block:nth-child(5n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_6 > .block:nth-child(6n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_7 > .block:nth-child(7n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2.blocks_8 > .block:nth-child(8n) + .block {
    clear: none;
  }
  .inner-wrap .blockLine:not(.fix).sp_2 > .block {
    display: inline-block;
    width: 48%;
    padding: 0;
    margin: auto;
    float: left;
    margin-top: 1%;
    text-align: left;
  }
  .inner-wrap .blockLine:not(.fix).sp_2 > .block:nth-child(even) {
    margin-left: 1.5%;
  }
  .inner-wrap .blockLine:not(.fix).sp_2 > .block:nth-child(odd) {
    clear: both;
  }
}
.flexBox {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*-webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;*/
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flexBox.vertical {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flexBox.reversal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flexBox.flexBetween {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flexBox.blocks_2 > * {
  width: calc(100% / 2);
}

.flexBox.blocks_3 > * {
  width: calc(100% / 3);
}

.flexBox.blocks_4 > * {
  width: calc(100% / 4);
}

.flexBox.blocks_5 > * {
  width: calc(100% / 5);
}

.flexBox.blocks_6 > * {
  width: calc(100% / 6);
}

.flexBox.blocks_7 > * {
  width: calc(100% / 7);
}

.flexBox.blocks_8 > * {
  width: calc(100% / 8);
}

@media screen and (max-width: 767px) {
  .flexBox:not(.sp_2) > * {
    width: 100%;
    display: block;
  }
  .flexBox:not(.sp_2) > *:not(ul) {
    margin: 20px auto;
  }

  .flexBox.sp_2 > * {
    width: calc(100% / 2);
  }
}

.flexBox .block.bgBox {
    background: #fff;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 4px;
    margin: 0 2% 2% 0;
    border: 1px solid #E2DFD4;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
.flexBox.blocks_2 .block.bgBox{
    width: 49%;
}
.flexBox.blocks_2 .block.bgBox:nth-child(2n) {
    margin: 0 0 2% 0;
}
}

.gridBox {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  -webkit-column-gap: 0;
          column-gap: 0;
}
.gridBox.blocks_2 {
  -webkit-column-count: 2;
          column-count: 2;
}
.gridBox.blocks_3 {
  -webkit-column-count: 3;
          column-count: 3;
}
.gridBox.blocks_4 {
  -webkit-column-count: 4;
          column-count: 4;
}
.gridBox.blocks_5 {
  -webkit-column-count: 5;
          column-count: 5;
}
.gridBox.blocks_6 {
  -webkit-column-count: 6;
          column-count: 6;
}
.gridBox.blocks_7 {
  -webkit-column-count: 7;
          column-count: 7;
}
.gridBox.blocks_8 {
  -webkit-column-count: 8;
          column-count: 8;
}
.gridBox.blocks_9 {
  -webkit-column-count: 9;
          column-count: 9;
}
.gridBox.blocks_10 {
  -webkit-column-count: 10;
          column-count: 10;
}
.gridBox > figure {
  padding: 1%;
  -webkit-column-break-inside: avoid;
          break-inside: avoid;
  margin: 0;
  max-width: 100%;
}

.half-inner {
  width: 100%;
  margin: auto;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.half-inner > div {
  width: 50%;
}
.half-inner > div.halfBg {
  background: url(../img/bnr_img003.png) no-repeat left/cover;
}
.half-inner > div.halfBg img {
  display: none;
}
.half-inner > div.halfText > * {
  max-width: 600px;
}
.half-inner.reversal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.half-inner.reversal .halfText {
  clear: both;
}
.half-inner.reversal .halfText > * {
  float: right;
}

@media screen and (max-width: 767px) {
  .half-inner {
    display: block;
    max-width: 950px;
  }
  .half-inner > div {
    width: 100%;
  }
  .half-inner > div.halfBg {
    background: none;
  }
  .half-inner > div.halfBg img {
    display: block;
    margin: auto;
  }
  .half-inner > div.halfText {
    padding: 1em .5em;
  }
  .half-inner > div.halfText > * {
    float: none;
    max-width: inherit;
  }
}
.flow-inner {
  padding: 0;
  margin: auto;
  width: 100%;
  counter-reset: number 0;
}
.flow-inner > .flow {
  position: relative;
  display: block;
  margin: 10px auto 30px;
  padding: 0;
}
.flow-inner > .flow:last-child {
  margin: 10px auto;
}
.flow-inner > .flow:not(:last-child):after {
  content: '';
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  bottom: -30px;
  margin: auto;
  width: 5px;
  height: 30px;
  background: #ff8740;
}

.flowTitle span {
  font-size: 1.8rem;
  vertical-align: baseline;
  color: #ff8740;
  letter-spacing: 0;
  line-height: 1;
  margin-right: .5em;
}
.flowTitle span:after {
  counter-increment: number 1;
  content: "0" counter(number);
}

.flow-inner.horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flow-inner.horizontal .flow {
  padding: 1.5em 1%;
  margin: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flow-inner.horizontal .flow:not(:last-child) {
  margin-right: 4%;
}
.flow-inner.horizontal .flow:not(:last-child):after {
  right: -19%;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
  border-width: 50.5px 0 50.5px 25px;
  border-color: transparent transparent transparent #ff8740;
}

@media screen and (max-width: 767px) {
  .flow-inner.horizontal {
    display: block;
  }
  .flow-inner.horizontal .flow {
    display: block;
    width: 100%;
    margin: 10px auto;
  }
  .flow-inner.horizontal .flow:not(:last-child) {
    margin-right: auto;
    margin-bottom: 50px;
  }
  .flow-inner.horizontal .flow:not(:last-child):after {
    content: '';
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    top: auto;
    bottom: -65px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.scaleBox {
  position: relative;
  display: table;
  table-layout: fixed;
  margin: auto;
}
.scaleBox > span {
  overflow: hidden;
  display: table;
  table-layout: fixed;
}
.scaleBox > span img {
  -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.scaleBox > a {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
}
.scaleBox:hover > span img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.borderBox {
  position: relative;
  display: inline-block;
  padding: 0;
  z-index: 2;
}
.borderBox > p {
  padding: 1.5em 1em;
}
.borderBox:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 2px solid #ff8740;
  z-index: 1;
  display: block;
}

.pullDown {
  width: 100%;
  position: relative;
}
.pullDown > .pull-inner {
  display: none;
  width: 100%;
  padding-top: 1em;
}
.pullDown > p:first-child {
  background: none;
  text-align: left;
  position: relative;
  margin: 0;
  display: table;
  padding-right: 8%;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .pullDown > p:first-child img {
    width: 80%;
  }
}
.pullDown > p:first-child:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  margin: auto;
  width: 37px;
  height: 37px;
  background: url(/wp-content/uploads/2019/07/lp1_btn2.png) no-repeat center/100%;
  -webkit-transition: .4s;
  transition: .4s;
}
@media screen and (max-width: 767px) {
  .pullDown > p:first-child:after {
    width: 30px;
  }
}
.pullDown > p:first-child.active:after {
  content: '';
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: .4s;
  transition: .4s;
}

@media screen and (max-width: 767px) {
  .sp_pull > .pull-inner {
    display: none;
    width: 100%;
  }
  .sp_pull > p:first-child {
    background: #ff8740;
    color: #fff;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 1.3em;
    position: relative;
    margin: 0;
    cursor: pointer;
  }
  .sp_pull > p:first-child:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5%;
    margin: auto;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: .4s;
    transition: .4s;
  }
  .sp_pull > p:first-child.active:after {
    content: '';
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
    -webkit-transition: .4s;
    transition: .4s;
  }
}
.tab-inner {
  width: 100%;
  margin: auto;
}

.tabContent {
  display: none;
  padding: 1.5em .5em;
  -webkit-transition: .4s;
  transition: .4s;
}

.tabButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.tabButton > li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  cursor: pointer;
  position: relative;
  background: #ff8740;
  padding: .8em;
  color: #fff;
  text-align: center;
  line-height: 1;
  -webkit-transition: .4s;
  transition: .4s;
  border: 1px solid #ff8740;
  border-bottom: 0;
}
.tabButton > li:hover, .tabButton > li.active {
  color: #333333;
  background: #fff;
  border-color: #dddddd;
  -webkit-transition: .4s;
  transition: .4s;
}

.scrollIn {
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
  opacity: 0;
}
.scrollIn.up {
  -webkit-transform: translate(0, 150px);
          transform: translate(0, 150px);
}
.scrollIn.down {
  -webkit-transform: translate(0, -150px);
          transform: translate(0, -150px);
}
.scrollIn.right {
  -webkit-transform: translate(150px, 0);
          transform: translate(150px, 0);
}
.scrollIn.left {
  -webkit-transform: translate(-150px, 0);
          transform: translate(-150px, 0);
}
.scrollIn.scale {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.scrollIn.para {
  -webkit-transform: translate(0, 150px);
          transform: translate(0, 150px);
  opacity: 1;
}
.scrollIn.para > * {
  -webkit-transform: translate(0, 150px);
          transform: translate(0, 150px);
}
.scrollIn.active {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
.scrollIn.active.para > * {
  -webkit-transition-delay: 50ms;
          transition-delay: 50ms;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
.scrollIn.active.leftSlide > * {
  opacity: 0;
  -webkit-animation: catchfade 3s ease 0s 1 forwards;
          animation: catchfade 3s ease 0s 1 forwards;
  position: relative;
}
.scrollIn.active.leftSlide > *:before {
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 100%;
  background: #fff;
  -webkit-animation: leftSlide 2s ease 0s 1 normal;
          animation: leftSlide 2s ease 0s 1 normal;
  opacity: 0;
  z-index: 10;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(1) {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(1) {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(1)::before {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(2) {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(2) {
  -webkit-animation-delay: 200ms;
          animation-delay: 200ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(2)::before {
  -webkit-animation-delay: 200ms;
          animation-delay: 200ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(3) {
  -webkit-transition-delay: 300ms;
          transition-delay: 300ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(3) {
  -webkit-animation-delay: 300ms;
          animation-delay: 300ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(3)::before {
  -webkit-animation-delay: 300ms;
          animation-delay: 300ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(4) {
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(4) {
  -webkit-animation-delay: 400ms;
          animation-delay: 400ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(4)::before {
  -webkit-animation-delay: 400ms;
          animation-delay: 400ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(5) {
  -webkit-transition-delay: 500ms;
          transition-delay: 500ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(5) {
  -webkit-animation-delay: 500ms;
          animation-delay: 500ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(5)::before {
  -webkit-animation-delay: 500ms;
          animation-delay: 500ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(6) {
  -webkit-transition-delay: 600ms;
          transition-delay: 600ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(6) {
  -webkit-animation-delay: 600ms;
          animation-delay: 600ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(6)::before {
  -webkit-animation-delay: 600ms;
          animation-delay: 600ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(7) {
  -webkit-transition-delay: 700ms;
          transition-delay: 700ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(7) {
  -webkit-animation-delay: 700ms;
          animation-delay: 700ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(7)::before {
  -webkit-animation-delay: 700ms;
          animation-delay: 700ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(8) {
  -webkit-transition-delay: 800ms;
          transition-delay: 800ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(8) {
  -webkit-animation-delay: 800ms;
          animation-delay: 800ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(8)::before {
  -webkit-animation-delay: 800ms;
          animation-delay: 800ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(9) {
  -webkit-transition-delay: 900ms;
          transition-delay: 900ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(9) {
  -webkit-animation-delay: 900ms;
          animation-delay: 900ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(9)::before {
  -webkit-animation-delay: 900ms;
          animation-delay: 900ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(10) {
  -webkit-transition-delay: 1000ms;
          transition-delay: 1000ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(10) {
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(10)::before {
  -webkit-animation-delay: 1000ms;
          animation-delay: 1000ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(11) {
  -webkit-transition-delay: 1100ms;
          transition-delay: 1100ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(11) {
  -webkit-animation-delay: 1100ms;
          animation-delay: 1100ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(11)::before {
  -webkit-animation-delay: 1100ms;
          animation-delay: 1100ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(12) {
  -webkit-transition-delay: 1200ms;
          transition-delay: 1200ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(12) {
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(12)::before {
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(13) {
  -webkit-transition-delay: 1300ms;
          transition-delay: 1300ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(13) {
  -webkit-animation-delay: 1300ms;
          animation-delay: 1300ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(13)::before {
  -webkit-animation-delay: 1300ms;
          animation-delay: 1300ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(14) {
  -webkit-transition-delay: 1400ms;
          transition-delay: 1400ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(14) {
  -webkit-animation-delay: 1400ms;
          animation-delay: 1400ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(14)::before {
  -webkit-animation-delay: 1400ms;
          animation-delay: 1400ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(15) {
  -webkit-transition-delay: 1500ms;
          transition-delay: 1500ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(15) {
  -webkit-animation-delay: 1500ms;
          animation-delay: 1500ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(15)::before {
  -webkit-animation-delay: 1500ms;
          animation-delay: 1500ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(16) {
  -webkit-transition-delay: 1600ms;
          transition-delay: 1600ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(16) {
  -webkit-animation-delay: 1600ms;
          animation-delay: 1600ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(16)::before {
  -webkit-animation-delay: 1600ms;
          animation-delay: 1600ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(17) {
  -webkit-transition-delay: 1700ms;
          transition-delay: 1700ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(17) {
  -webkit-animation-delay: 1700ms;
          animation-delay: 1700ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(17)::before {
  -webkit-animation-delay: 1700ms;
          animation-delay: 1700ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(18) {
  -webkit-transition-delay: 1800ms;
          transition-delay: 1800ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(18) {
  -webkit-animation-delay: 1800ms;
          animation-delay: 1800ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(18)::before {
  -webkit-animation-delay: 1800ms;
          animation-delay: 1800ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(19) {
  -webkit-transition-delay: 1900ms;
          transition-delay: 1900ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(19) {
  -webkit-animation-delay: 1900ms;
          animation-delay: 1900ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(19)::before {
  -webkit-animation-delay: 1900ms;
          animation-delay: 1900ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(20) {
  -webkit-transition-delay: 2000ms;
          transition-delay: 2000ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(20) {
  -webkit-animation-delay: 2000ms;
          animation-delay: 2000ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(20)::before {
  -webkit-animation-delay: 2000ms;
          animation-delay: 2000ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(21) {
  -webkit-transition-delay: 2100ms;
          transition-delay: 2100ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(21) {
  -webkit-animation-delay: 2100ms;
          animation-delay: 2100ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(21)::before {
  -webkit-animation-delay: 2100ms;
          animation-delay: 2100ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(22) {
  -webkit-transition-delay: 2200ms;
          transition-delay: 2200ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(22) {
  -webkit-animation-delay: 2200ms;
          animation-delay: 2200ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(22)::before {
  -webkit-animation-delay: 2200ms;
          animation-delay: 2200ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(23) {
  -webkit-transition-delay: 2300ms;
          transition-delay: 2300ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(23) {
  -webkit-animation-delay: 2300ms;
          animation-delay: 2300ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(23)::before {
  -webkit-animation-delay: 2300ms;
          animation-delay: 2300ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(24) {
  -webkit-transition-delay: 2400ms;
          transition-delay: 2400ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(24) {
  -webkit-animation-delay: 2400ms;
          animation-delay: 2400ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(24)::before {
  -webkit-animation-delay: 2400ms;
          animation-delay: 2400ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(25) {
  -webkit-transition-delay: 2500ms;
          transition-delay: 2500ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(25) {
  -webkit-animation-delay: 2500ms;
          animation-delay: 2500ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(25)::before {
  -webkit-animation-delay: 2500ms;
          animation-delay: 2500ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(26) {
  -webkit-transition-delay: 2600ms;
          transition-delay: 2600ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(26) {
  -webkit-animation-delay: 2600ms;
          animation-delay: 2600ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(26)::before {
  -webkit-animation-delay: 2600ms;
          animation-delay: 2600ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(27) {
  -webkit-transition-delay: 2700ms;
          transition-delay: 2700ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(27) {
  -webkit-animation-delay: 2700ms;
          animation-delay: 2700ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(27)::before {
  -webkit-animation-delay: 2700ms;
          animation-delay: 2700ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(28) {
  -webkit-transition-delay: 2800ms;
          transition-delay: 2800ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(28) {
  -webkit-animation-delay: 2800ms;
          animation-delay: 2800ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(28)::before {
  -webkit-animation-delay: 2800ms;
          animation-delay: 2800ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(29) {
  -webkit-transition-delay: 2900ms;
          transition-delay: 2900ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(29) {
  -webkit-animation-delay: 2900ms;
          animation-delay: 2900ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(29)::before {
  -webkit-animation-delay: 2900ms;
          animation-delay: 2900ms;
}

.scrollIn.active ~ .scrollIn.active:nth-of-type(30) {
  -webkit-transition-delay: 3000ms;
          transition-delay: 3000ms;
}

.scrollIn.active.leftSlide > *:nth-of-type(30) {
  -webkit-animation-delay: 3000ms;
          animation-delay: 3000ms;
}
.scrollIn.active.leftSlide > *:nth-of-type(30)::before {
  -webkit-animation-delay: 3000ms;
          animation-delay: 3000ms;
}

.mainimage {
  text-align: center;
  position: relative;
  width: 100%;
  overflow: hidden;
  margin:25px 0 50px;
}

.mainimage .catch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 950px;
  width: 100%;
  -webkit-animation: catchfade 2s ease 0s 1 normal;
          animation: catchfade 2s ease 0s 1 normal;
}

@-webkit-keyframes catchfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes catchfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mainimage .catch img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  margin: auto;
  max-width: 783px;
  max-height: 64px;
  width: 70%;
}
@media screen and (max-width: 1300px) {
  .mainimage .catch img {
    left: 0;
    top: 25%;
  }
}

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.7);
  z-index: 9999;
  overflow: visible;
  height: auto;
}

.mainimage .slider div img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: 8s;
  transition: 8s;
}
.mainimage .slider div.slick-active img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.mainimage .slider div.firstImg img {
  -webkit-animation: firstimg 8s forwards;
          animation: firstimg 8s forwards;
}

@-webkit-keyframes firstimg {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes firstimg {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@media all and (-ms-high-contrast: none) {
  figure.circle > img {
    position: absolute;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
  }
}
@media screen and (min-width: 0\0) and (-webkit-min-device-pixel-ratio: 0.75), screen and (min-width: 0\0) and (min-resolution: 72dpi) {
  .selector {
    property: value;
  }

  /* IE向けのCSS～START */
  .button {
    padding-top: .9em;
  }

  /* IE向けのCSS～END */
}
/*/-----------------ここから個別*/
@media screen and (min-width: 1000px) {
  header h1 {
    margin: 20px 0 10px;
  }

  header nav {
    border-bottom: 5px solid #e2dfd4;
  }
  header nav .navi {
    margin: 0 auto;
    display: flex;
    border: 1px solid #e2dfd4;
    border-bottom: 0;
  }

  header nav .navi li {
    flex-wrap:wrap;
    flex: auto;
  }
  header nav .navi li a {
    padding: 1em 0;
        font-weight: bold;
        color: #292929;
        font-size: 16px;
        border-right: 1px solid #e2dfd4;
        letter-spacing: 0;
  }
  header nav .navi li:last-child a{
        border-right: 0;
  }
  header nav .navi li a span {
    color: #fff;
    font-size: 12px;
  }
  header nav .navi li a:hover {
    color: #371d0b;
    -webkit-transition: 0s;
    transition: 0s;
  }
  header nav .navi li a:hover span {
    color: #371d0b;
  }

  header nav .navi li.nav01 a:hover {
    background: #35B5E6;
    color: #fff;
  }
  header nav .navi li.nav01 a:after {
    background: #35B5E6;
  }
    header nav .navi li.nav02 a:hover {
    background: #ff7363;
    color: #fff;
  }
  header nav .navi li.nav02 a:after {
    background: #ff7363;
  }
  header nav .navi li.nav03 a:hover {
    background: #586edd;
    color: #fff;
  }
  header nav .navi li.nav03 a:after {
    background: #586edd;
  }
  header nav .navi li.nav04 a:hover {
    background: #c44676;
    color: #fff;
  }
  header nav .navi li.nav04 a:after {
    background: #c44676;
  }
  header nav .navi li.nav05 a:hover {
    background: #1bb170;
    color: #fff;
  }
  header nav .navi li.nav05 a:after {
    background: #1bb170;
  }
  header nav .navi li.nav06 a:hover {
    background: #ff8740;
    color: #fff;
  }
  header nav .navi li.nav06 a:after {
    background: #ff8740;
  }
  header nav .navi li.nav07 a:hover {
    background: #ecca20;
    color: #fff;
  }
  header nav .navi li.nav07 a:after {
    background: #ecca20;
  }

  .nav01 i { color: #35B5E6;}
  .nav02 i { color: #ff7363;}
  .nav03 i { color: #586edd;}
  .nav04 i { color: #c44676;}
  .nav05 i { color: #1bb170;}
  .nav06 i { color: #ff8740;}
  .nav07 i { color: #ecca20;}

  header nav .navi li a i {
    margin-right: 5px;
  }
  header nav .navi li a:hover i {
    color: #fff;
  }

  header nav .navi > li:not(:first-child):before {
    display: none;
    height: 100%;
  }

  .headInfo p {
    margin: 30px 0 0;
  }
}
@media screen and (max-width: 767px) {
  header h1 {
    max-width: 220px;
  }
}
@-webkit-keyframes gnvahover {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes gnvahover {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@media (min-width: 1000px) and (max-width: 1240px) {
  header nav .navi li a {
    padding: 1em 0;
    font-size: 85%;
  }
}
/*/-----------------フッター*/
#sideBtn {
  position: fixed;
  top: 40vh;
  right: 0;
  margin: auto;
  max-width: 102px;
  max-height: 152px;
  width: 13%;
  display: block;
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  #sideBtn {
    top: 16vh;
  }
}

/*/-----------------TOPページ*/
.inversion .button {
  color: #ff8740 !important;
}
.inversion .button:before {
  background: #fff;
}
.inversion .button:after {
  border-color: #ff8740;
}
.inversion .button:hover {
  background: #ff8740;
  color: #fff !important;
}
.inversion .button:hover:after {
  border-color: #fff;
}

.topContents p, .topContents figcaption {
  line-height: 1.8;
  letter-spacing: 0.05em;
}

@-webkit-keyframes leftSlide {
  0% {
    opacity: 0;
    width: 0;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  70% {
    opacity: 1;
    width: 100%;
  }
  100% {
    opacity: 0;
  }
}

@keyframes leftSlide {
  0% {
    opacity: 0;
    width: 0;
  }
  50% {
    opacity: 1;
    width: 100%;
  }
  70% {
    opacity: 1;
    width: 100%;
  }
  100% {
    opacity: 0;
  }
}
.bgContainer {
  padding: 4% 0 0;
  margin-bottom: 0;
}

.contents01 {
  padding: 0;
  margin-bottom: 0;
}
.contents01 .inner-wrap {
  padding: 3% 0;
  margin-bottom: 0;
  background: url(../img/bg_img001.jpg) no-repeat center/cover;
}
.contents01 p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents01 .inner-wrap {
      padding: 3% 10px;
  }
  .contents01 p {
    text-align: left;
  }
}

.contents02 figure {
  position: relative;
  margin: 0 auto 10px !important;
}
.contents02 figure a {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
.contents02 figure figcaption {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
.contents02 figure {
    display: table!important;
    margin: auto;
}
}

.contact_box {
  padding: 0;
  margin-bottom: 0;
}
.contact_box .inner-wrap {
  padding: 3%;
  margin-bottom: 0;
  background: url(../img/contact_bg.jpg) no-repeat center/cover;
}
.contact_box p {
  font-size: 14px;
}
h3.newsTitle {
    margin: 0;
    background: #928763;
    border-radius: 3px 3px 0 0;
    font-size: 16px;
    color: #fff;
    padding:0.6em 0 0.6em 0.6em;
}
h3.newsTitle:before, h3.newsTitle:after {
  content: none;
}
h3.newsTitle .sub {
    font-weight: normal;
    font-size: 13px;
    float: right;
    margin-right: 20px;
}
h3.newsTitle .sub a:hover {
    text-decoration: underline;
}
h3.newsTitle i {
    margin-right: 5px;
}
.newsContents dl {
    height: 383px;
    background: #fff;
    overflow-y: auto;
    margin: 0 0 25px;
    padding:20px;
    box-sizing: border-box;
}
.newsContents dl dt {
    color: #ff8740;
}
.newsContents dl dd {
    margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
.newsContents dl {
    height: 260px;
}
}
@-webkit-keyframes bgFade1 {
  0% {
    background-position: top 200% right;
  }
  100% {
    background-position: top right;
  }
}

@keyframes bgFade1 {
  0% {
    background-position: top 200% right;
  }
  100% {
    background-position: top right;
  }
}
@-webkit-keyframes bgFade2 {
  0% {
    background-position: top 200% left;
  }
  100% {
    background-position: top left;
  }
}
@keyframes bgFade2 {
  0% {
    background-position: top 200% left;
  }
  100% {
    background-position: top left;
  }
}
@media screen and (min-width: 768px) {
  .bgFade1.active {
    -webkit-animation: bgFade1 1s ease 0s 1 normal;
            animation: bgFade1 1s ease 0s 1 normal;
  }
}

@media screen and (min-width: 768px) {
  .bgFade2.active {
    -webkit-animation: bgFade2 1s ease 0s 1 normal;
            animation: bgFade2 1s ease 0s 1 normal;
  }
}


/*/-----------------下層*/
ul.ul01.square li:before {
  border-radius: 0;
  bottom: auto;
  top: .5em;
}

.priceList h2 span {
  display: inline;
  margin-left: 5px;
  border: 1px solid #ff8740;
  padding: .1em .5em;
  vertical-align: middle;
}
.priceList .ul01 li {
  width: 49%;
  float: left;
}
.priceList .ul01 li:before {
  bottom: auto;
  top: .5em;
}
.priceList .blockLine {
  padding: 3% 5px;
}

h2.img:before, h2.img:after {
  content: none;
}

h3.first:first-letter {
  color: #ff8740;
}

@media screen and (min-width: 768px) {
  .bgBox figure {
    position: relative;
  }
  .bgBox figure:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    background-color: rgba(55, 29, 11, 0.05);
    background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.3)), color-stop(24%, rgba(255, 255, 255, 0.3)), color-stop(26%, rgba(255, 255, 255, 0.1)), color-stop(49%, rgba(255, 255, 255, 0.1)), color-stop(51%, rgba(255, 255, 255, 0.3)), color-stop(74%, rgba(255, 255, 255, 0.3)), color-stop(76%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.1)));
    background-image: linear-gradient(to right bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 24%, rgba(255, 255, 255, 0.1) 26%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.3) 51%, rgba(255, 255, 255, 0.3) 74%, rgba(255, 255, 255, 0.1) 76%, rgba(255, 255, 255, 0.1));
    background-size: 3px 3px;
  }
  .bgBox figure figcaption {
    font-size: 1.1rem;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 1.5em;
    text-shadow: 0 0 3px rgba(255, 255, 255, 0.4), 0 0 6px rgba(255, 255, 255, 0.4), 0 0 12px rgba(255, 255, 255, 0.4);
  }
}
@media screen and (min-width: 768px) {
  .matchHeight .block.wd60 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.border_wrap > div {
  position: relative;
  background-color: rgba(239, 95, 0, 0.15);
  background-image: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.3)), color-stop(24%, rgba(255, 255, 255, 0.3)), color-stop(26%, rgba(255, 255, 255, 0.1)), color-stop(49%, rgba(255, 255, 255, 0.1)), color-stop(51%, rgba(255, 255, 255, 0.3)), color-stop(74%, rgba(255, 255, 255, 0.3)), color-stop(76%, rgba(255, 255, 255, 0.1)), to(rgba(255, 255, 255, 0.1)));
  background-image: linear-gradient(to right bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.3) 24%, rgba(255, 255, 255, 0.1) 26%, rgba(255, 255, 255, 0.1) 49%, rgba(255, 255, 255, 0.3) 51%, rgba(255, 255, 255, 0.3) 74%, rgba(255, 255, 255, 0.1) 76%, rgba(255, 255, 255, 0.1));
  background-size: 3px 3px;
  overflow: auto;
  padding: 3%;
}
.border_wrap > div:before, .border_wrap > div:after {
  content: "";
  position: absolute;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  top: 0;
  left: 0;
}
.border_wrap > div:before {
  background: #ff8740;
  width: 1px;
  height: 100%;
}
.border_wrap > div:after {
  background: #ff8740;
  width: 100%;
  height: 1px;
}
.border_wrap > div > div:before, .border_wrap > div > div:after {
  content: "";
  position: absolute;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  right: 0;
  bottom: 0;
}
.border_wrap > div > div:before {
  background: #ff8740;
  width: 1px;
  height: 100%;
}
.border_wrap > div > div:after {
  background: #ff8740;
  width: 100%;
  height: 1px;
}
.border_wrap.active > div:before, .border_wrap.active > div:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: 1.5s;
  transition: 1.5s;
  display: block;
}
.border_wrap.active > div > div:before, .border_wrap.active > div > div:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: 1.5s;
  transition: 1.5s;
  display: block;
}

.afterList > li {
  border-bottom: 1px dotted rgba(241, 215, 180, 0.45);
  line-height: 1.8;
  margin-bottom: 20px !important;
  padding-bottom: .5em;
  font-weight: 600;
}
.afterList > li li {
  font-weight: normal;
}

.bgImg {
  position: relative;
}
.bgImg figcaption {
  position: absolute;
  top: 0;
  left: 10%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  height: 100%;
}
.bgImg figcaption p {
  font-weight: bold;
  font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 29px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
  text-shadow: 0 0 3px rgba(255, 255, 255, 0.4), 0 0 6px rgba(255, 255, 255, 0.4), 0 0 12px rgba(255, 255, 255, 0.4);
}
.bgImg figcaption p.komi {
  color: #371d0b;
}
.bgImg figcaption span {
  display: block;
  text-align: center;
  width: 1.5em;
  height: 1.5em;
  background: rgba(55, 29, 11, 0.45);
  font-size: 40px;
  color: #fff;
  -webkit-margin-start: -.1em;
     -moz-margin-start: -.1em;
          margin-inline-start: -.1em;
}
@media (min-width: 768px) and (max-width: 900px) {
  .bgImg figcaption p {
    font-size: 20px;
  }
  .bgImg figcaption p span {
    font-size: 30px;
  }
}
@media screen and (max-width: 567px) {
  .bgImg figcaption p {
    font-size: 16px;
  }
  .bgImg figcaption p span {
    font-size: 18px;
  }
}

/*/-----------------PC＆SP*/
@media only screen and (min-width: 768px) {
  .pc {
    display: block;
  }

  img.pc {
    display: inline;
  }

  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block;
  }

  img.sp {
    display: inline;
  }
}
@media only screen and (min-width: 1000px) {
  header .pc {
    display: block;
  }
  header img.pc {
    display: inline;
  }
  header .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 999px) {
  header .pc {
    display: none !important;
  }
  header .sp {
    display: block;
  }
  header img.sp {
    display: inline !important;
  }
}


ul.anchor li {
 padding: 0 0 5px 14px;
 position: relative;
 float: left;
 width: 25%;
}
ul.anchor li a {
 font-weight: normal;
 text-decoration: none;
 color:#fff;
 position: relative;
 background: #ff8740;
padding: 1.5em .5em;
width: 100%;
    display: block;
    text-align: center;
    border:1px solid #ff8740;
    font-size: 90%;
}
ul.anchor li a:before {
 display: block;
 content: "";
 position: absolute;
 top: 50%;
 left: 5%;
 width: 0;
 height: 0;
 border: 5px solid transparent;
 border-left: 5px solid #fff;
     margin-top: -5px;
}
ul.anchor li a:hover {
 color:#ff8740;
 background: #fff;
}
ul.anchor li a:hover:before {
  border: 5px solid transparent;
  border-left: 5px solid #ff8740;
}
@media screen and (max-width: 1000px) {
  ul.anchor li {
   width: 50%;
  }
}
@media screen and (max-width: 500px) {
  ul.anchor li {
   width: 100%;
  padding: 0 5px 5px;
  }
}

.foot_contents01 {
    border-bottom: 1px solid #d5d3c9;
    padding: 4px 0;
    box-sizing: border-box;
    overflow: hidden;
}
.foot_contents01 a {
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: #656565;
}
.foot_contents01 a:hover {
  color: #928763;
}
.foot_contents01 i {
    margin-right:5px;
}
.foot_contents01 .siteName {
    float: left;
}
.foot_contents01 #pagetop {
    float: right;
    line-height: 1.4;
}
.foot_contents02 {
  background: #f5f4ec;
  padding:20px 0;
  overflow: hidden;;
}
.foot_contents03 {
  padding:20px 0 0;
  font-size: 14px;
  font-weight: bold;
  color: #656565;
}
@media screen and (max-width: 767px) {
  .foot_contents02 {
    padding:0;
  }
}

@media screen and (min-width: 768px) {
.footNavi li a.parent {
      font-size: 16px;
      font-weight: bold;
  }
.footNavi {
    float: left;
    width: auto;
    margin-right:2em;
}
.footNavi li {
    display: block;
  }
.footNavi ul.subMenu {
    padding-left: 0.75em;
    padding-top: 0.75em;
}
.footNavi ul.subMenu li {
    display: block;
    margin: 0;
    float: none;
    margin-right:0;
}

.footNavi ul.subMenu li a {
    font-size: 14px!important;
    position: relative;
    line-height: 1.8;
    font-weight: normal!important;
}
.footNavi ul.subMenu li a:before {
    position: absolute;
    content: "・";
    top:0;
    left:0;
}
.footNavi li.foot_nav01 a.parent {
  color: #35B5E6;
}
.footNavi li.foot_nav02 a.parent {
  color: #ff7363;
}
.footNavi li.foot_nav03 a.parent {
  color: #586edd;
}
.footNavi li.foot_nav04 a.parent {
  color: #c44676;
}
.footNavi li.foot_nav05 a.parent {
  color: #1bb170;
}
.footNavi li.foot_nav06 a.parent {
  color: #ff8740;
}
.footNavi li.foot_nav07 a.parent {
  color: #ecca20;
}
}
@media screen and (max-width: 767px) {
.foot_contents02 .inner {
    padding:0;
  }
  .footNavi ul.subMenu {
      padding:0;
  }
  .footNavi li.foot_nav01, .footNavi li.foot_nav02 {
        border-bottom: 0;
  }
  .footNavi li.foot_nav01 a.parent, .footNavi li.foot_nav02 a.parent {
        border-bottom: 1px solid #e6e6e6;
  }
}

@media screen and (min-width: 768px) {
.under main {
  max-width: 970px;
margin: 0 auto;
padding: 0 10px;
}
.main_contents {
  width: 75%;
  float: left;
}
main .main_contents section:last-child {
    margin-bottom: 5%;
}
.side_contents {
  width: 25%;
  float: right;
  margin-top: 20px;
}
}

/* main_contents */
.under main h1 {
    font-size: 26px;
    background: none;
    padding: 10px 0px 15px;
    border-bottom: 2px solid #E2DFD4;
    font-weight: bold;
    color: #666;
    margin: 10px 0 20px;
}
.under main h2 {
    font-size: 22px;
    background: #fff;
    padding: 13px 14px 12px;
    border-radius: 3px 3px 0 0;
    border: 1px solid #efefef;
    border-bottom: 3px solid #ff8740;
    text-align: left;
    color: #666;
}
.under main h2:after {
  content: none;
}

/* side_contents */
.side_menu {
    background-color: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}
.side_menu .title {
  font-size: 1.1rem;
  padding: 0 0 2px 18px;
  color: #fff;
  border: none;
  background: #ff891f;
  margin-bottom: 0;
  border-radius: 4px 4px 0 0;
}
.side_menu .title a {
    display: block;
    padding-top: 20px;
    padding-bottom: 0.9em;
    text-decoration: none;
    color: #fff;
  }
.side_menu .side_nav {
  min-height: 20px;
  border-bottom: 8px solid #ff8740;
  border-radius: 0 0 4px 4px;
}
.side_menu .side_nav a {
  display: block;
  text-decoration: none;
  padding: 10px 20px;
  color: #ff8740;
}
.side_menu .side_nav a:hover {
  background: #ff8740;
  color: #fff;
}
.side_menu i {
  margin-right: 5px;
}


/* news */
.news .side_menu .title {
  background: #928763;
}
.news .side_menu .side_nav {
  border-bottom: 8px solid #928763;
}
.news .side_menu .side_nav a {
  color: #928763;
}
.news .side_menu .side_nav a:hover {
  background: #928763;
  color: #fff;
}

ul.pageNav {
	margin: 20px 0 10px;
	padding: 10px 10px 5px;
	text-align: center;
}
ul.pageNav li {
	display: inline;
	margin: 0 2px;
	padding: 0;
}
ul.pageNav li a {
	display: inline-block;
	margin-bottom: 5px;
	padding: 5px 13px;
	background: #fff;
	text-decoration: none;
	vertical-align: middle;
	border: 1px solid #ddd;
	color:#928763;
  border-radius: 4px;
}
ul.pageNav li a:hover {
    background: #eee;
}
ul.pageNav li a.current {
    background: #928763;
    color: #fff;
}
.bg_box {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    padding: 20px;
}
.date {
    margin-top: -10px;
    color: #928763;
}

/* classroom */
.classroom .side_menu .title {
  background: #1bb170;
}
.classroom .side_menu .side_nav {
  border-bottom: 8px solid #1bb170;
}
.classroom .side_menu .side_nav a {
  color: #1bb170;
}
.classroom .side_menu .side_nav a:hover {
  background: #1bb170;
  color: #fff;
}
.classroom main h2 {
    border-bottom: 3px solid #1bb170;
}
@media screen and (min-width: 768px) {
.classroom table.table01 th {
    width: 30%;
}
}

/* music */
.music .side_menu .title {
  background: #35B5E6;
}
.music .side_menu .side_nav {
  border-bottom: 8px solid #35B5E6;
}
.music .side_menu .side_nav a {
  color: #35B5E6;
}
.music .side_menu .side_nav a:hover {
  background: #35B5E6;
  color: #fff;
}
.music main h2 {
    border-bottom: 3px solid #35B5E6;
}

ul.list_ul {
    display: table;
    margin: 0 auto;
}
ul.list_ul li {
    float: left;
    margin-right: 10px;
    background: #35b5e6;
    color: #fff;
    border-radius: 4px;
    padding: 3px 10px;
}
ul.list_ul li:last-child {
    margin-right: 0;
}

/* english */
.english .side_menu .title {
  background: #ff7363;
}
.english .side_menu .side_nav {
  border-bottom: 8px solid #ff7363;
}
.english .side_menu .side_nav a {
  color: #ff7363;
}
.english .side_menu .side_nav a:hover {
  background: #ff7363;
  color: #fff;
}
.english main h2 {
    border-bottom: 3px solid #ff7363;
}

/* event */
.event .side_menu .title {
  background: #c44676;
}
.event .side_menu .side_nav {
  border-bottom: 8px solid #c44676;
}
.event .side_menu .side_nav a {
  color: #c44676;
}
.event .side_menu .side_nav a:hover {
  background: #c44676;
  color: #fff;
}
.event main h2 {
    border-bottom: 3px solid #c44676;
}

table.table01.eventSchedule {
    font-size: 85%;
    font-weight: normal;
    margin-bottom: 10px;
}
table.table01.eventSchedule td, table.table01.eventSchedule th {
    padding:10px 5px;
    vertical-align: top;
}
table.table01.eventSchedule thead th {
    background: #ff8740;
    color: #fff;
    border-right: 1px solid #fff;
}
table.table01.eventSchedule thead th:last-child {
    border-right: 1px solid #ff8740;
}
@media screen and (min-width: 768px) {
  table.table01.eventSchedule thead th:first-child {
      width: 22%;
  }
  table.table01.eventSchedule.event02 thead th:nth-child(2) {
      width: 30%;
  }
}
@media screen and (max-width: 767px) {
  table.table01.eventSchedule {
    border: 0;
border-collapse: separate;
border-spacing: 0px 8px;
  }
  table.table01.eventSchedule thead {
      display: none;
  }
  table.table01.eventSchedule tr {
      margin-bottom: 5px;
  }
table.table01.eventSchedule td {
    border-bottom: 0;
}
table.table01.eventSchedule td:last-child {
    border-bottom: 1px solid #ff8740;
}
table.table01.eventSchedule td:first-child {
    background: #ff8740;
    color: #fff;
}
table.table01.eventSchedule td br {
    display: none;
}
table.table01.eventSchedule td:first-child .color01 {
    color: #fff!important;
}
}
.number_p {
 font-weight: normal;
 line-height: 1.8;
 margin: 0 0 10px;
 padding: 0 0 0 45px;
 text-indent: -35px;
}
.number {
 background: none repeat scroll 0 0 #cab52c;
 border-radius: 50%;
 color: #fff;
 font-size: 14px;
 margin: 0 10px 0 0;
 padding: 2px 7.5px;
 line-height: 1.0;
}

/* lesson*/
.lesson .side_menu .title {
  background: #586edd;
}
.lesson .side_menu .side_nav {
  border-bottom: 8px solid #586edd;
}
.lesson .side_menu .side_nav a {
  color: #586edd;
}
.lesson .side_menu .side_nav a:hover {
  background: #586edd;
  color: #fff;
}
.lesson main h2 {
    border-bottom: 3px solid #586edd;
}

/* instrument */
.instrument .side_menu .title {
  background: #ecca20;
}
.instrument .side_menu .side_nav {
  border-bottom: 8px solid #ecca20;
}
.instrument .side_menu .side_nav a {
  color: #ecca20;
}
.instrument .side_menu .side_nav a:hover {
  background: #ecca20;
  color: #fff;
}
.instrument main h2 {
    border-bottom: 3px solid #ecca20;
}

.item {
    width: 5em;
    display: inline-block;
    margin-right: 1em;
}
