@charset "UTF-8";
.font_ja {
  font-family: "YakuHanJP", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500 !important;
}

.mincho {
  font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 500 !important;
}

.font_notob {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
}

.font_maru {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 900;
}

.font_kaisei {
  font-family: "Kaisei Decol", serif;
  font-weight: 500;
}

.font_noto {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

.font_kiwi {
  font-family: "Kiwi Maru", serif;
  font-weight: 300;
}

.font_josefin {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 500;
}

.font_Oswald {
  font-family: "Oswald", sans-serif !important;
}

.font_anton {
  font-family: "Anton", sans-serif;
  font-weight: 500;
}

.font_squada {
  font-family: "Squada One", cursive;
  font-weight: 500;
}

.font_parisienne {
  font-family: "Cinzel Decorative";
}
.font_parisienne:first-letter {
  text-transform: uppercase !important;
}

.font_parisienne {
  font-family: "Frank Ruhl Libre", serif;
}
.font_parisienne:first-letter {
  text-transform: uppercase !important;
}

.font_parisienne {
  font-family: "Parisienne", cursive !important;
}
.font_parisienne:first-letter {
  text-transform: uppercase !important;
}

.font_homemade {
  font-family: "Homemade Apple", cursive;
}

.font_Amatic {
  font-family: "Amatic SC", cursive !important;
  font-weight: 500;
}

.font_shadows {
  font-family: "Shadows Into Light", cursive;
  font-weight: 500 !important;
}

body {
  color: #555;
  background-color: #fff;
  background-image: none;
  min-height: 100vh;
  position: relative;
  font-family: "YakuHanJP", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

a {
  color: #acd94d;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

#main_area {
  overflow: hidden;
  position: relative;
}

.base_width {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
}

.single {
  max-width: 1220px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.single02 {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.single03 {
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
}

.single04 {
  max-width: 1600px;
  padding: 8em 2em;
  margin: 0 auto;
  position: relative;
}

.single,
.single02,
.single03 {
  padding: 120px 0;
}

@media all and (max-width: 896px) {
  .single,
  .single02,
  .single03,
  .single04 {
    max-width: initial;
    width: calc(100% - 2em);
    padding: 4em 0em;
    margin: 0 auto;
  }
}
.ssbox {
  max-width: 680px;
  margin: 20px auto;
  position: relative;
}

.sbox {
  max-width: 800px;
  margin: 20px auto;
  position: relative;
}

.lbox {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 0 0;
  background-color: #fff;
}
@media all and (max-width: 639px) {
  .lbox {
    margin: 0 auto 0;
  }
}

.mbox {
  padding: 3em 3em;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  background-color: #fff;
}
.mbox.max {
  max-width: 100%;
}
@media all and (max-width: 639px) {
  .mbox {
    padding: 1em 0.5em;
  }
}

.opacity {
  opacity: 0.6;
}

.radius {
  border-radius: 20px;
}
.radius > a {
  border-radius: 20px;
}
.radius > img {
  border-radius: 20px;
}

@media all and (max-width: 639px) {
  .pconly {
    display: none;
  }
}

.tabletonly {
  display: none;
}
@media all and (max-width: 896px) {
  .tabletonly {
    display: block;
  }
}

.sponly {
  display: none;
}
@media all and (max-width: 639px) {
  .sponly {
    display: block;
  }
}

.none {
  display: none;
}

.block {
  display: block;
}

.clear {
  clear: both;
}

.clearfix {
  _display: inline-block;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}

hr {
  clear: both;
  border: 0;
  height: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.scrollbar {
  min-height: 100px;
  max-height: 376px;
  overflow-y: scroll;
  overflow-x: hidden;
}
@media all and (max-width: 639px) {
  .scrollbar {
    max-height: 340px;
  }
}
.scrollbar.policy-box {
  max-height: 300px;
}
.scrollbar.type_s {
  max-height: 100px;
}
.scrollbar::-webkit-scrollbar {
  overflow: hidden;
  width: 1px;
  background: #fafafa;
}
.scrollbar::-webkit-scrollbar:horizontal {
  height: 1px;
}
.scrollbar::-webkit-scrollbar-button {
  display: none;
}
.scrollbar::-webkit-scrollbar-piece {
  background: #eee;
}
.scrollbar::-webkit-scrollbar-thumb, .scrollbar::-webkit-scrollbar-corner {
  background: #ccc;
}

.anchor {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

.border_shadow {
  box-shadow: 6px 6px rgba(0, 36, 60, 0.2);
  border: 1px solid rgba(0, 36, 60, 0.2);
}

.border_all {
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-style: solid;
}
.border_all.size_2 {
  border-width: 2px;
}
.border_all.size_3 {
  border-width: 3px;
}
.border_all.size_4 {
  border-width: 4px;
}
.border_all.size_5 {
  border-width: 5px;
}

.border_top {
  border-top-width: 1px;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  border-bottom-width: 0 !important;
  border-style: solid;
}
.border_top.size_2 {
  border-width: 2px;
}
.border_top.size_3 {
  border-width: 3px;
}
.border_top.size_4 {
  border-width: 4px;
}
.border_top.size_5 {
  border-width: 5px;
}

.border_left {
  border-top-width: 0 !important;
  border-left-width: 1px;
  border-right-width: 0 !important;
  border-bottom-width: 0 !important;
}
.border_left.size_2 {
  border-width: 2px;
}
.border_left.size_3 {
  border-width: 3px;
}
.border_left.size_4 {
  border-width: 4px;
}
.border_left.size_5 {
  border-width: 5px;
}

.border_right {
  border-top-width: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 1px;
  border-bottom-width: 0 !important;
}
.border_right.size_2 {
  border-width: 2px;
}
.border_right.size_3 {
  border-width: 3px;
}
.border_right.size_4 {
  border-width: 4px;
}
.border_right.size_5 {
  border-width: 5px;
}

.border_bottom {
  border-top-width: 0 !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  border-bottom-width: 1px;
}
.border_bottom.size_2 {
  border-width: 2px;
}
.border_bottom.size_3 {
  border-width: 3px;
}
.border_bottom.size_4 {
  border-width: 4px;
}
.border_bottom.size_5 {
  border-width: 5px;
}

.border_sand {
  border-top-width: 1px;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  border-bottom-width: 1px;
}
.border_sand.size_2 {
  border-width: 2px;
}
.border_sand.size_3 {
  border-width: 3px;
}
.border_sand.size_4 {
  border-width: 4px;
}
.border_sand.size_5 {
  border-width: 5px;
}

.border_side {
  border-top-width: 0 !important;
  border-left-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 0 !important;
}
.border_side.size_2 {
  border-width: 2px;
}
.border_side.size_3 {
  border-width: 3px;
}
.border_side.size_4 {
  border-width: 4px;
}
.border_side.size_5 {
  border-width: 5px;
}

.bc_base {
  border-color: #a2d538;
}

.bc_sub {
  border-color: #4bb4a1;
}

.bc_black {
  border-color: #111;
}

.bc_f2 {
  border-color: #f2f2f2;
}

.bc_aaa {
  border-color: #aaa;
}

.bc_white {
  border-color: #fff;
}

.bc_pink {
  border-color: #ff5fbe;
}

.bs_dotted {
  border-style: dotted;
}

.bs_double {
  border-style: double;
}

.bs_dashed {
  border-style: dashed;
}

/* 
border-color
border-style
border-width */
.ja {
  font-family: "YakuHanJP", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

.eng {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}

h1.normal,
h2.normal,
h3.normal,
h4.normal,
h5.normal,
h6.normal,
a.normal,
p.normal {
  font-weight: normal;
}
h1.ttl,
h2.ttl,
h3.ttl,
h4.ttl,
h5.ttl,
h6.ttl,
a.ttl,
p.ttl {
  line-height: 1.4;
  position: relative;
  z-index: 0;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 40px;
}
h1.acenter,
h2.acenter,
h3.acenter,
h4.acenter,
h5.acenter,
h6.acenter,
a.acenter,
p.acenter {
  display: flex;
  align-items: center;
  gap: 0.2em;
}
h1.tcenter,
h2.tcenter,
h3.tcenter,
h4.tcenter,
h5.tcenter,
h6.tcenter,
a.tcenter,
p.tcenter {
  justify-content: center;
}
h1.between,
h2.between,
h3.between,
h4.between,
h5.between,
h6.between,
a.between,
p.between {
  justify-content: space-between;
}
@media all and (max-width: 639px) {
  h1.flex_none,
  h2.flex_none,
  h3.flex_none,
  h4.flex_none,
  h5.flex_none,
  h6.flex_none,
  a.flex_none,
  p.flex_none {
    display: block;
  }
}
h1 .back,
h2 .back,
h3 .back,
h4 .back,
h5 .back,
h6 .back,
a .back,
p .back {
  position: absolute;
  line-height: 1;
  top: -2rem;
  left: 0;
  right: 0;
  z-index: -1;
}
h1 .backimg,
h2 .backimg,
h3 .backimg,
h4 .backimg,
h5 .backimg,
h6 .backimg,
a .backimg,
p .backimg {
  position: absolute;
  line-height: 1;
  top: -10rem;
  left: 0;
  right: 0;
  z-index: -1;
}
h1 .backimg img,
h2 .backimg img,
h3 .backimg img,
h4 .backimg img,
h5 .backimg img,
h6 .backimg img,
a .backimg img,
p .backimg img {
  opacity: 0.3;
}
h1.border,
h2.border,
h3.border,
h4.border,
h5.border,
h6.border,
a.border,
p.border {
  padding: 0.5em 0;
  border-top: 1px solid #a2d538;
  border-bottom: 1px solid #a2d538;
}
h1.shadow,
h2.shadow,
h3.shadow,
h4.shadow,
h5.shadow,
h6.shadow,
a.shadow,
p.shadow {
  text-shadow: rgba(17, 17, 17, 0.1) 3px 3px 3px;
}
h1.border_bottom,
h2.border_bottom,
h3.border_bottom,
h4.border_bottom,
h5.border_bottom,
h6.border_bottom,
a.border_bottom,
p.border_bottom {
  margin-bottom: 2rem;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #d1cfcc;
  font-weight: 600;
}
h1.sub,
h2.sub,
h3.sub,
h4.sub,
h5.sub,
h6.sub,
a.sub,
p.sub {
  color: #4bb4a1;
  border-color: #4bb4a1;
}
h1.white,
h2.white,
h3.white,
h4.white,
h5.white,
h6.white,
a.white,
p.white {
  color: #fff;
  border-color: #fff !important;
}
h1.white span,
h2.white span,
h3.white span,
h4.white span,
h5.white span,
h6.white span,
a.white span,
p.white span {
  border-color: #fff !important;
}
h1.black,
h2.black,
h3.black,
h4.black,
h5.black,
h6.black,
a.black,
p.black {
  color: #333;
  border-color: #333;
}
h1.grd,
h2.grd,
h3.grd,
h4.grd,
h5.grd,
h6.grd,
a.grd,
p.grd {
  font-weight: bold;
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0;
}
h1 .image,
h2 .image,
h3 .image,
h4 .image,
h5 .image,
h6 .image,
a .image,
p .image {
  color: rgba(162, 213, 56, 0.1);
  background-image: url(../img/pattern/spray_b.png);
  background-repeat: repeat;
  font-weight: bold;
  background-clip: text;
  -webkit-background-clip: text;
  letter-spacing: 0.02em;
  position: relative;
  z-index: 2;
  display: block;
}
@media all and (-ms-high-contrast: none) {
  h1 .image,
  h2 .image,
  h3 .image,
  h4 .image,
  h5 .image,
  h6 .image,
  a .image,
  p .image {
    color: #4bb4a1;
    background-image: none;
  }
}
h1.vw,
h2.vw,
h3.vw,
h4.vw,
h5.vw,
h6.vw,
a.vw,
p.vw {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  width: auto;
  align-items: start;
  text-align: left;
  line-height: 1.4;
  margin: 0 auto;
  letter-spacing: 0.3rem;
}
h1.icon,
h2.icon,
h3.icon,
h4.icon,
h5.icon,
h6.icon,
a.icon,
p.icon {
  position: relative;
}
h1.icon:before,
h2.icon:before,
h3.icon:before,
h4.icon:before,
h5.icon:before,
h6.icon:before,
a.icon:before,
p.icon:before {
  content: "";
  background: url(../images/cute/mtitle_deco03.png) top left no-repeat;
  background-size: contain;
  z-index: -1;
  width: 111px;
  height: 47px;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media all and (max-width: 639px) {
  h1.icon:before,
  h2.icon:before,
  h3.icon:before,
  h4.icon:before,
  h5.icon:before,
  h6.icon:before,
  a.icon:before,
  p.icon:before {
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
h1 .deco:before,
h2 .deco:before,
h3 .deco:before,
h4 .deco:before,
h5 .deco:before,
h6 .deco:before,
a .deco:before,
p .deco:before {
  position: absolute;
  content: "";
  width: 56px;
  height: 78px;
  background: url(../images/house/mtitle_deco_radius_left.png) no-repeat;
  background-size: cover;
  bottom: -20px;
  left: -30px;
  z-index: -1;
}
h1 .deco:after,
h2 .deco:after,
h3 .deco:after,
h4 .deco:after,
h5 .deco:after,
h6 .deco:after,
a .deco:after,
p .deco:after {
  position: absolute;
  content: "";
  width: 51px;
  height: 68px;
  background: url(../images/house/mtitle_deco_radius_right.png) no-repeat;
  background-size: cover;
  top: -16px;
  right: -35px;
  z-index: -1;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
}
h1 span.tright,
h2 span.tright,
h3 span.tright,
h4 span.tright,
h5 span.tright,
h6 span.tright,
a span.tright,
p span.tright {
  display: block;
}
h1 span.tcenter_sp,
h2 span.tcenter_sp,
h3 span.tcenter_sp,
h4 span.tcenter_sp,
h5 span.tcenter_sp,
h6 span.tcenter_sp,
a span.tcenter_sp,
p span.tcenter_sp {
  display: block;
}
h1 span.box,
h2 span.box,
h3 span.box,
h4 span.box,
h5 span.box,
h6 span.box,
a span.box,
p span.box {
  position: relative;
  border: 1px solid #555;
  padding: 0.3em 1em;
  line-height: 1;
  display: inline-block;
}
h1 span.box.white,
h2 span.box.white,
h3 span.box.white,
h4 span.box.white,
h5 span.box.white,
h6 span.box.white,
a span.box.white,
p span.box.white {
  color: #fff;
  border-color: #fff !important;
}
h1 span.circle,
h2 span.circle,
h3 span.circle,
h4 span.circle,
h5 span.circle,
h6 span.circle,
a span.circle,
p span.circle {
  display: inline-block;
  width: 2.2em;
  height: 2.2em;
  line-height: 2em;
  border: 1px solid #a2d538;
  border-radius: 100%;
}
h1 span.circle i,
h2 span.circle i,
h3 span.circle i,
h4 span.circle i,
h5 span.circle i,
h6 span.circle i,
a span.circle i,
p span.circle i {
  margin: auto;
}
h1 span.yell,
h2 span.yell,
h3 span.yell,
h4 span.yell,
h5 span.yell,
h6 span.yell,
a span.yell,
p span.yell {
  position: relative;
  text-align: center;
}
h1 span.yell:before, h1 span.yell:after,
h2 span.yell:before,
h2 span.yell:after,
h3 span.yell:before,
h3 span.yell:after,
h4 span.yell:before,
h4 span.yell:after,
h5 span.yell:before,
h5 span.yell:after,
h6 span.yell:before,
h6 span.yell:after,
a span.yell:before,
a span.yell:after,
p span.yell:before,
p span.yell:after {
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background-color: #a2d538;
  z-index: 1;
  top: -2px;
}
h1 span.yell:before,
h2 span.yell:before,
h3 span.yell:before,
h4 span.yell:before,
h5 span.yell:before,
h6 span.yell:before,
a span.yell:before,
p span.yell:before {
  left: -0.8em;
  transform: rotate(-0.1turn);
}
h1 span.yell:after,
h2 span.yell:after,
h3 span.yell:after,
h4 span.yell:after,
h5 span.yell:after,
h6 span.yell:after,
a span.yell:after,
p span.yell:after {
  right: -0.8em;
  transform: rotate(0.1turn);
}
h1 span.yell.pink:before, h1 span.yell.pink:after,
h2 span.yell.pink:before,
h2 span.yell.pink:after,
h3 span.yell.pink:before,
h3 span.yell.pink:after,
h4 span.yell.pink:before,
h4 span.yell.pink:after,
h5 span.yell.pink:before,
h5 span.yell.pink:after,
h6 span.yell.pink:before,
h6 span.yell.pink:after,
a span.yell.pink:before,
a span.yell.pink:after,
p span.yell.pink:before,
p span.yell.pink:after {
  background-color: #ff5fbe !important;
}
h1 span.yell.yellow:before, h1 span.yell.yellow:after,
h2 span.yell.yellow:before,
h2 span.yell.yellow:after,
h3 span.yell.yellow:before,
h3 span.yell.yellow:after,
h4 span.yell.yellow:before,
h4 span.yell.yellow:after,
h5 span.yell.yellow:before,
h5 span.yell.yellow:after,
h6 span.yell.yellow:before,
h6 span.yell.yellow:after,
a span.yell.yellow:before,
a span.yell.yellow:after,
p span.yell.yellow:before,
p span.yell.yellow:after {
  background-color: #ffff59 !important;
}
h1 span.yell.gold:before, h1 span.yell.gold:after,
h2 span.yell.gold:before,
h2 span.yell.gold:after,
h3 span.yell.gold:before,
h3 span.yell.gold:after,
h4 span.yell.gold:before,
h4 span.yell.gold:after,
h5 span.yell.gold:before,
h5 span.yell.gold:after,
h6 span.yell.gold:before,
h6 span.yell.gold:after,
a span.yell.gold:before,
a span.yell.gold:after,
p span.yell.gold:before,
p span.yell.gold:after {
  background-color: #c3a349 !important;
}
h1 span.cursol_b,
h2 span.cursol_b,
h3 span.cursol_b,
h4 span.cursol_b,
h5 span.cursol_b,
h6 span.cursol_b,
a span.cursol_b,
p span.cursol_b {
  padding: 5px 0.5em;
  border-bottom: solid 2px #555;
}
h1 span.cursol_b::after,
h2 span.cursol_b::after,
h3 span.cursol_b::after,
h4 span.cursol_b::after,
h5 span.cursol_b::after,
h6 span.cursol_b::after,
a span.cursol_b::after,
p span.cursol_b::after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: -14px;
  left: 0;
  right: 0;
  margin: auto;
  border-left: solid 2px #333;
  border-bottom: solid 2px #333;
  background-color: #fff;
  transform: rotate(-45deg);
}
h1 span.border_bottom,
h2 span.border_bottom,
h3 span.border_bottom,
h4 span.border_bottom,
h5 span.border_bottom,
h6 span.border_bottom,
a span.border_bottom,
p span.border_bottom {
  position: relative;
  border-bottom: 2px solid #555;
  padding: 0.3em 1em;
  line-height: 1;
  display: inline-block;
}
h1 span.box_r,
h2 span.box_r,
h3 span.box_r,
h4 span.box_r,
h5 span.box_r,
h6 span.box_r,
a span.box_r,
p span.box_r {
  position: relative;
  border: 1px solid #a2d538;
  padding: 0.3em 1em;
  line-height: 1;
  display: inline-block;
  border-radius: 2em;
}
h1 span.icon_r,
h2 span.icon_r,
h3 span.icon_r,
h4 span.icon_r,
h5 span.icon_r,
h6 span.icon_r,
a span.icon_r,
p span.icon_r {
  background: #a2d538;
  box-shadow: rgba(170, 170, 170, 0.2) 0 0 3px 3px;
  border: 2px solid #fff;
  display: inline-block;
  color: #fff;
  width: 50px;
  height: 50px;
  text-align: center;
  color: #fff;
  margin-right: 10px;
  border-radius: 100%;
  font-size: 120%;
  display: grid;
  place-items: center;
}

.down_arrow {
  display: block;
  border-bottom: 0px solid rgba(255, 255, 255, 0.3);
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 300px 0 300px;
  border-color: #f2f2f2 transparent transparent transparent;
}
@media all and (max-width: 639px) {
  .down_arrow {
    border-width: 50px 150px 0 150px;
  }
}
.down_arrow.base_color {
  border-color: #a2d538 transparent transparent transparent !important;
}

.txt_cline {
  text-align: center;
  position: relative;
}
.txt_cline:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #aaa;
}
.txt_cline span {
  position: relative;
  padding: 0.3em 1em;
  color: #a2d538;
  background: #fff;
}

.txt_cline_grd {
  position: relative;
}
.txt_cline_grd:before {
  position: absolute;
  z-index: 1;
  content: "";
  width: 25%;
  height: 2px;
  left: 0;
  top: 40%;
  background: #a2d538;
  background: linear-gradient(90deg, #a2d538 0%, rgba(255, 255, 255, 0) 100%);
}
.txt_cline_grd:after {
  position: absolute;
  z-index: 1;
  content: "";
  width: 25%;
  height: 2px;
  right: 0;
  top: 40%;
  background: #a2d538;
  background: linear-gradient(270deg, #a2d538 0%, rgba(255, 255, 255, 0) 100%);
}

.txt_box {
  color: #a2d538;
  border: 1px solid #a2d538;
  padding: 1em 1em;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
  display: inline-block;
}
.txt_box.white {
  color: #fff;
  border: 1px solid #fff;
  padding: 10px 15px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
}
.txt_box.radius {
  border-radius: 50%;
}

.txt_btn {
  display: inline-block;
  position: relative;
  margin-right: 0.2em;
  padding: 0 0.5em;
  border-radius: 3px;
  background: #a2d538;
  color: #fff;
}
.txt_btn a {
  color: #fff;
}
.txt_btn a:hover {
  opacity: 0.6;
}

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

.tjustify {
  text-align: justify;
}

.tinline {
  display: inline-block;
}

.underline {
  text-decoration: underline;
}

.tcenter {
  text-align: center !important;
}
@media all and (max-width: 896px) {
  .tcenter.tablet {
    text-align: left !important;
  }
}
@media all and (max-width: 639px) {
  .tcenter.sp {
    text-align: left !important;
  }
}

@media all and (max-width: 639px) {
  .tcenter_sp {
    text-align: center !important;
    justify-content: center;
  }
  .tcenter_sp.tright {
    text-align: center !important;
  }
}

.tright {
  text-align: right !important;
}
@media all and (max-width: 896px) {
  .tright.sp {
    text-align: center !important;
  }
}

.tleft {
  text-align: left !important;
}
@media all and (max-width: 896px) {
  .tleft.sp {
    text-align: center !important;
  }
}

.edge_w {
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 10px rgba(255, 255, 255, 0.8), 0px 0px 10px rgba(255, 255, 255, 0.8), 0px 0px 15px rgba(255, 255, 255, 0.8), 0px 0px 15px;
}

.edge_b {
  text-shadow: 0px 0px 5px rgba(17, 17, 17, 0.8), 0px 0px 5px rgba(17, 17, 17, 0.8), 0px 0px 10px rgba(17, 17, 17, 0.8), 0px 0px 10px rgba(17, 17, 17, 0.8), 0px 0px 15px rgba(17, 17, 17, 0.8), 0px 0px 15px;
}

.edge_a {
  text-shadow: 0px 0px 5px rgba(170, 170, 170, 0.8), 0px 0px 5px rgba(170, 170, 170, 0.8), 0px 0px 10px rgba(170, 170, 170, 0.8), 0px 0px 10px rgba(170, 170, 170, 0.8), 0px 0px 15px rgba(170, 170, 170, 0.8), 0px 0px 15px;
}

.edge_base {
  text-shadow: 0px 0px 5px rgba(162, 213, 56, 0.8), 0px 0px 5px rgba(162, 213, 56, 0.8), 0px 0px 10px rgba(162, 213, 56, 0.8), 0px 0px 10px rgba(162, 213, 56, 0.8), 0px 0px 15px rgba(162, 213, 56, 0.8), 0px 0px 15px;
}

.underline_c {
  background: linear-gradient(transparent 70%, #a8d8fa 0%);
  z-index: 0;
  padding: 0 0.1em;
}

.underline_m {
  background: linear-gradient(transparent 70%, #ff7c81 0%);
  z-index: 0;
  padding: 0 0.1em;
}

.underline_y {
  background: linear-gradient(transparent 70%, #fef36c 0%);
  z-index: 0;
  padding: 0 0.1em;
}

.underline_k {
  background: linear-gradient(transparent 70%, #cccccc 0%);
  z-index: 0;
  padding: 0 0.1em;
}

.underline_p {
  background: linear-gradient(transparent 70%, #ffd0e1 0%);
  z-index: 0;
  padding: 0 0.1em;
}

.underline_w {
  background: linear-gradient(transparent 5%, #fff 0%);
  z-index: 0;
  padding: 0 0.1em;
}

.base_color {
  color: #a2d538 !important;
  border-color: #a2d538 !important;
}

.base_color_translucent {
  color: rgba(162, 213, 56, 0.5) !important;
}

.sub_color {
  color: #4bb4a1 !important;
  border-color: #4bb4a1 !important;
}

.sub_color_translucent {
  color: rgba(75, 180, 161, 0.5) !important;
}

.orange {
  color: #ff6a49 !important;
  border-color: #ff6a49 !important;
}

.gray {
  color: #888 !important;
  border-color: #888 !important;
}

.red {
  color: #d81e1e !important;
  border-color: #d81e1e !important;
}

.blue {
  color: #0083de !important;
  border-color: #0083de !important;
}

.brown {
  color: #3a200c !important;
  border-color: #3a200c !important;
}

.green {
  color: #1fa33a !important;
  border-color: #1fa33a !important;
}

.translucent {
  color: rgba(255, 255, 255, 0.5) !important;
}

.white {
  color: #fff !important;
  border-color: #fff !important;
}
.white a {
  color: #fff;
  border-color: #fff;
}
.white a:hover {
  opacity: 0.6;
}

.pink {
  color: #ff5fbe !important;
  border-color: #ff5fbe !important;
}

.black {
  color: #363636 !important;
  border-color: #363636 !important;
}

.yellow {
  color: #ffff59 !important;
  border-color: #ffff59 !important;
}

.gold {
  color: #c3a349 !important;
  border-color: #c3a349 !important;
}

.map_area {
  position: relative;
  padding-bottom: 25%;
  height: 0;
  overflow: hidden;
}
@media all and (max-width: 896px) {
  .map_area {
    padding-bottom: 35%;
  }
}
@media all and (max-width: 639px) {
  .map_area {
    padding-bottom: 70%;
  }
}
.map_area.border {
  border: 2px solid #a2d538;
}
.map_area.size_s {
  padding-bottom: 40%;
}
@media all and (max-width: 896px) {
  .map_area.size_s {
    padding-bottom: 60%;
  }
}
@media all and (max-width: 639px) {
  .map_area.size_s {
    padding-bottom: 70%;
  }
}
.map_area.size_m {
  padding-bottom: 60%;
}
@media all and (max-width: 896px) {
  .map_area.size_m {
    padding-bottom: 60%;
  }
}
@media all and (max-width: 639px) {
  .map_area.size_m {
    padding-bottom: 70%;
  }
}
.map_area.size_l {
  padding-bottom: 75%;
}
@media all and (max-width: 896px) {
  .map_area.size_l {
    padding-bottom: 50%;
  }
}
@media all and (max-width: 639px) {
  .map_area.size_l {
    padding-bottom: 70%;
  }
}
.map_area iframe,
.map_area object,
.map_area embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gmapbox {
  padding: 40px;
  background-color: rgba(162, 213, 56, 0.2);
}
.gmapbox.type_r {
  border-radius: 10px;
}
.gmapbox.sub {
  background-color: rgba(75, 180, 161, 0.2);
}
@media all and (max-width: 639px) {
  .gmapbox {
    padding: 20px;
  }
}

.ggmap {
  position: relative;
  padding-bottom: 40%;
  height: 0;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .ggmap {
    padding-bottom: 50%;
    height: 0;
  }
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 480px) {
  .ggmap {
    position: relative;
    padding-bottom: 46.25%;
    height: 0;
    overflow: hidden;
  }
}

.g-ttl {
  background-color: #a2d538;
  color: #fff;
  padding: 5px 10px;
  font-size: 1.8rem;
}
@media all and (max-width: 639px) {
  .g-ttl {
    font-size: 1.3rem;
  }
}

.g-txt {
  margin-bottom: 20px;
}
@media all and (max-width: 639px) {
  .g-txt {
    font-size: 1rem;
    margin-top: 10px;
    margin-bottom: 15px;
  }
}

@media all and (max-width: 896px) {
  body {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 480px) {
  html {
    font-size: 2.825vw;
  }
  body {
    font-size: 1.3rem;
  }
  .vd_frame {
    position: relative;
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .vd_frame iframe {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 100%;
    width: 100%;
    height: 100%;
    max-height: 100%;
    margin: 0 auto;
    display: block;
  }
  .spbr {
    display: block;
  }
  .pcbr {
    display: none;
  }
}
#sp_btn {
  display: none;
}
@media all and (max-width: 896px) {
  #sp_btn {
    display: block;
    position: fixed;
    bottom: 0;
    left: 50%;
    z-index: 200;
    width: 100%;
    transform: translateX(-50%);
  }
  #sp_btn ul {
    display: flex;
    justify-content: center;
    max-width: 480px;
    padding-bottom: 0;
    margin: 0 auto;
    position: relative;
  }
  #sp_btn ul.col_1 li {
    width: 100%;
  }
  #sp_btn ul.col_2 li {
    width: 50%;
    padding: 14px 0;
  }
  #sp_btn ul.col_2 li i {
    font-size: 1.6rem;
    display: inline-block;
  }
  #sp_btn ul.col_2 li span {
    font-size: 1.1rem;
    display: inline-block;
  }
  #sp_btn ul.col_2 li:nth-child(2n) {
    background-color: rgba(75, 180, 161, 0.7);
  }
  #sp_btn ul.col_3 li {
    width: 33.3333333333%;
  }
  #sp_btn ul.col_4 li {
    width: 25%;
  }
  #sp_btn ul.col_5 li {
    width: 20%;
  }
  #sp_btn ul:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: rgba(254, 254, 254, 0.7);
    backdrop-filter: saturate(180%) blur(2px);
  }
  #sp_btn ul li {
    margin: 0;
    padding: 10px 0 6px;
    text-align: center;
    line-height: 1.2;
    position: relative;
  }
  #sp_btn ul li span {
    display: block;
    font-size: 0.9rem;
    color: #333;
  }
  #sp_btn ul li i {
    font-size: 1.6rem;
    display: block;
    color: #a2d538;
    font-weight: 600;
    margin-bottom: 3px;
  }
  #sp_btn.type1 ul:before {
    background: rgba(162, 213, 56, 0.7);
  }
  #sp_btn.type1 ul li span,
  #sp_btn.type1 ul li i {
    color: #fff;
  }
  #sp_btn.grid2 ul li {
    width: 50%;
    background: rgba(162, 213, 56, 0.7);
  }
  #sp_btn.grid2 ul li span,
  #sp_btn.grid2 ul li i {
    color: #fff;
    display: inline-block;
    margin-right: 5px;
  }
  #sp_btn.grid2 ul li:nth-child(2n) {
    background: rgba(75, 180, 161, 0.7);
  }
}

.nav_btn {
  display: none;
  position: fixed;
  width: 50px;
  height: 50px;
  top: 3px;
  right: 3px;
  padding: 10px;
  z-index: 400;
  border-radius: 5px;
  background: rgba(162, 213, 56, 0.8);
  backdrop-filter: saturate(180%) blur(2px);
  border: 1px solid #fff;
  cursor: pointer;
}
@media all and (max-width: 639px) {
  .nav_btn {
    display: block;
  }
}
.nav_btn.type_s {
  border: 0 solid #fff;
  background: transparent;
  backdrop-filter: saturate(100%) blur(0);
}
.nav_btn.type_s span {
  height: 1px;
}
.nav_btn.type_s span:nth-of-type(3) {
  width: 25%;
}
.nav_btn div {
  font-size: 1rem;
  color: #fff;
  font-weight: normal;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  letter-spacing: 0;
  margin: 0 auto;
  text-align: center;
}
.nav_btn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #fff;
  width: 45%;
}
.nav_btn span:nth-of-type(1) {
  top: 12px;
}
.nav_btn span:nth-of-type(2) {
  top: 20px;
}
.nav_btn span:nth-of-type(3) {
  top: 28px;
}

.view_menu .nav_btn span:nth-of-type(1) {
  top: 15px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}
.view_menu .nav_btn span:nth-of-type(2) {
  opacity: 0;
}
.view_menu .nav_btn span:nth-of-type(3) {
  top: 27px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

.nav_menu {
  opacity: 0;
  visibility: hidden;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: saturate(180%) blur(2px);
  height: 100vh;
  overflow-x: hidden;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -300;
  text-align: center;
  flex-direction: column;
  transition: 0.4s;
}
.nav_menu.type_black {
  background-color: rgba(17, 17, 17, 0.9);
}
.nav_menu.type_black .nav_menu .nav_menu_wrap .nav_area nav > ul {
  max-width: 320px;
}
.nav_menu.type_black .nav_menu_wrap {
  transition: 0.8s;
}
.nav_menu.type_black .nav_menu .nav_menu_wrap .nav_area nav > ul {
  max-width: 320px;
}
.nav_menu.type_black .nav_menu_wrap .nav_area nav > ul > li > a {
  background-color: rgba(17, 17, 17, 0.2);
}
.nav_menu.type_black .nav_menu_wrap .nav_area nav > ul > li > ul {
  border-left: 1px solid #333;
}
.nav_menu.type_black .nav_menu_wrap .nav_area nav > ul > li > a,
.nav_menu.type_black .nav_menu_wrap .nav_area nav > ul > li > ul > li > a {
  color: #fff;
}
.nav_menu .nav_menu_wrap {
  padding: 50px 0;
  z-index: -100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-30px);
  transition: 0.4s;
}
.nav_menu .nav_menu_wrap .logo_area {
  text-align: center;
  margin-bottom: 30px;
}
.nav_menu .nav_menu_wrap .logo_area img {
  width: 180px;
  height: auto;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li {
  transform: translateX(30px);
  transition: 0.5s;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > a {
  text-align: center;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > a:after {
  display: none;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > a .icon {
  margin: 0 auto;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > a .icon img {
  width: 30px;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > a {
  font-size: 1.5rem;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > ul {
  border-left: 0px solid #ccc;
  margin: 10px 0;
  padding: 0;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 3px 3px;
}
.nav_menu .nav_menu_wrap .nav_area.center nav > ul > li > ul li {
  background-color: #fff;
  padding: 8px 0;
  color: #a2d538;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  column-count: 2;
  column-gap: 10px;
  row-gap: 10px;
  transition: 0.3s;
}
@media all and (max-width: 639px) {
  .nav_menu .nav_menu_wrap .nav_area nav > ul {
    display: grid;
    max-width: 420px;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px 10px;
  }
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity 0.9s ease;
  margin-bottom: 3px;
  width: 100%;
  height: auto;
  text-align: left;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > a {
  display: block;
  color: #555;
  text-align: left;
  line-height: 1.2;
  padding: 5px 10px;
  transition: color 0.4s ease;
  font-weight: 600;
  border-bottom: 0px solid #ccc;
  position: relative;
  background-color: rgba(238, 238, 238, 0.2);
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  right: 8px;
  top: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  transition: all 0.1s ease-in;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > a > span {
  display: block;
  color: #a2d538;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > a:hover {
  color: #666;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > ul {
  padding: 0 0 0 10px;
  margin: 0 0 0 10px;
  opacity: 1;
  visibility: visible;
  position: relative;
  margin-bottom: 3px;
  border-top: 0px solid #eee;
  border-right: 0px solid #eee;
  border-left: 1px solid #ccc;
  top: 0;
  width: 100%;
  transition: 0.6s;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > ul.active {
  display: block;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > ul > li {
  border-left: 0px solid #eee;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li > ul > li > a {
  padding: 12px 10px;
  color: #888;
  font-size: 90%;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 0;
  transition: 0.6s;
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li.col_2 > ul {
  left: 0;
  width: 100%;
  grid-template-columns: repeat(1, 1fr);
}
.nav_menu .nav_menu_wrap .nav_area nav > ul > li.col_3 > ul {
  left: 0;
  width: 100%;
  grid-template-columns: repeat(1, 1fr);
}
.nav_menu .nav_menu_wrap .clone_contact {
  padding: 20px 0;
  width: 100%;
  margin: 10px auto;
}
.nav_menu .nav_menu_wrap .clone_contact .dtail {
  display: none;
}
.nav_menu .nav_menu_wrap .clone_contact .txtbtn,
.nav_menu .nav_menu_wrap .clone_contact .linkbtn {
  line-height: 1.2;
  margin: 10px auto;
  font-weight: bold;
  transition: 0.3s;
  text-align: center;
}
.nav_menu .nav_menu_wrap .clone_contact .txtbtn a,
.nav_menu .nav_menu_wrap .clone_contact .linkbtn a {
  padding: 8px 25px;
  display: block;
  margin: 0 auto;
  max-width: 340px;
}
.nav_menu .nav_menu_wrap .clone_contact .txtbtn a:hover,
.nav_menu .nav_menu_wrap .clone_contact .linkbtn a:hover {
  opacity: 0.6;
}
.nav_menu .nav_menu_wrap .clone_contact .txtbtn span,
.nav_menu .nav_menu_wrap .clone_contact .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #888;
}
.nav_menu .nav_menu_wrap .clone_contact .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.nav_menu .nav_menu_wrap .clone_contact .dtail dl {
  display: grid;
  grid-template-columns: 80px 100px;
  gap: 2px 8px;
  align-items: center;
}
.nav_menu .nav_menu_wrap .clone_contact .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.nav_menu .nav_menu_wrap .clone_contact .dtail dd {
  flex: 1;
}
.nav_menu .nav_menu_wrap .clone_contact .txtbtn a {
  font-size: 2.3rem;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn a {
  font-size: 1.6rem;
  background-color: #a2d538;
  color: #fff;
  padding: 15px 0;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.sub a {
  background-color: #4bb4a1;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.circle {
  margin: 0 5px;
  display: inline-block;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.nav_menu .nav_menu_wrap .clone_contact .linkbtn.radius a {
  border-radius: 50px;
}
.nav_menu .nav_menu_wrap .closebtn {
  display: inline-block;
  text-align: center;
  font-weight: bold;
  color: #888;
  font-size: 1.1rem;
  text-align: center;
  margin: 20px auto 0;
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 50px;
  padding: 4px 30px;
  cursor: pointer;
}
.nav_menu .nav_menu_wrap .closebtn:hover {
  background-color: #ccc;
  transition: 0.8s;
}

.view_menu {
  overflow: hidden;
}
.view_menu .nav_menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: 0.2s;
  z-index: 300;
}
.view_menu .nav_menu .nav_menu_wrap {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: 0.2s;
  transition-delay: 0.1s;
  /*  .nav_area nav > ul > li {
      transform: translateX(0);
      transition: 0.8s;
      transition-delay: 0.3s;
      &:nth-child(1) {
          transition-delay: 0.3s;
      }
      &:nth-child(2) {
          transition-delay: 0.6s;
      }
      &:nth-child(3) {
          transition-delay: 0.9s;
      }
      &:nth-child(4) {
          transition-delay: 1.2s;
      }
      &:nth-child(5) {
          transition-delay: 1.5s;
      }
      &:nth-child(6) {
          transition-delay: 1.8s;
      }
      &:nth-child(7) {
          transition-delay: 2.1s;
      }
      &:nth-child(8) {
          transition-delay: 2.4s;
      }
  } */
}

#loading {
  position: fixed;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 1000;
}
#loading.bg_grd:after {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
}
#loading.bg_black:after {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #111;
}
#loading.bg_black:before {
  background-color: #111;
}
#loading.bg_base:after {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #a2d538;
}
#loading.bg_base:before {
  background-color: #a2d538;
}
#loading.bg_white:after {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #fff;
}
#loading.bg_white .wrap img {
  filter: brightness(0) invert(0);
}
#loading:before {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: -2;
}
#loading .wrap {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  height: 100vh;
}
#loading .wrap .icon img {
  width: 100%;
  max-width: 170px;
}
#loading .wrap .txt {
  margin-top: 10px;
  font-size: 90%;
  letter-spacing: 0;
  font-weight: normal;
  color: #888;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
#loading .opening {
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}
#loading .opening_blur {
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  opacity: 1;
  visibility: visible;
}
#loading .splash_l,
#loading .splash_r {
  position: fixed;
  background-color: #a2d538;
  top: 0;
  width: 50vw;
  height: 100vh;
  z-index: -1;
}
#loading .splash_l {
  left: 0;
  margin-right: auto;
  right: inherit;
  z-index: -1;
}
#loading .splash_r {
  margin-left: auto;
  right: 0;
  left: inherit;
  z-index: -2;
}
#loading.loaded {
  visibility: hidden;
  transition: all 0.8s;
}
#loading.loaded:before {
  opacity: 0;
  visibility: hidden;
  transition: all 0.8s;
  transition-delay: 0.4s;
}
#loading.loaded .wrap {
  opacity: 0;
  visibility: hidden;
  transition: all 0.8s;
  z-index: -2;
}
#loading.loaded .opening {
  transition: all 1.8s;
  transform: translateY(-100%);
}
#loading.loaded .opening_blur {
  transition: all 2.8s;
  opacity: 0;
  visibility: hidden;
}
#loading.loaded .splash_l,
#loading.loaded .splash_r {
  transition: all 0.4s;
}
#loading.loaded .splash_l {
  left: 0;
  transform: translateX(-100%);
}
#loading.loaded .splash_r {
  right: 0;
  transform: translateX(100%);
}

.loading_wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 100;
}
.loading_wrap .loading_bg {
  position: absolute;
  width: 200px;
  height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: -1;
}
.loading_wrap .loading_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.loading_wrap .txt_loading {
  position: absolute;
  color: #a2d538;
  font-size: 90%;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}

.header_main {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 10px;
  align-items: center;
  z-index: 200;
}
.header_main .logo_area h1 > a {
  display: block;
  max-width: 500px;
  height: 55px;
  position: relative;
}
.header_main .logo_area h1 > a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top left;
}
.header_main .contact_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 0 10px;
}
.header_main .contact_wrap .txtbtn,
.header_main .contact_wrap .linkbtn {
  line-height: 1.2;
  margin: 0 0.5em;
  transition: 0.3s;
  text-align: center;
}
.header_main .contact_wrap .txtbtn a,
.header_main .contact_wrap .linkbtn a {
  padding: 8px 25px;
}
.header_main .contact_wrap .txtbtn a:hover,
.header_main .contact_wrap .linkbtn a:hover {
  opacity: 0.6;
}
.header_main .contact_wrap .txtbtn span,
.header_main .contact_wrap .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #333;
}
.header_main .contact_wrap .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.header_main .contact_wrap .dtail dl {
  display: grid;
  grid-template-columns: 80px 140px;
  gap: 2px 8px;
  align-items: center;
}
.header_main .contact_wrap .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.header_main .contact_wrap .dtail dd {
  flex: 1;
}
.header_main .contact_wrap .txtbtn a {
  font-size: 3.5rem;
}
.header_main .contact_wrap .linkbtn a {
  font-size: 1.3rem;
  background-color: #a2d538;
  color: #fff;
}
.header_main .contact_wrap .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.header_main .contact_wrap .linkbtn.transparent a {
  background-color: transparent;
  padding: 0.5em 1em;
}
.header_main .contact_wrap .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.header_main .contact_wrap .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
.header_main .contact_wrap .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_main .contact_wrap .linkbtn.circle {
  margin: 0 5px;
}
.header_main .contact_wrap .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_main .contact_wrap .linkbtn.radius a {
  border-radius: 20px;
}
@media all and (max-width: 1100px) {
  .header_main {
    display: block;
    text-align: center;
  }
  .header_main .logo_area figure {
    margin: 0 auto;
  }
  .header_main .logo_area figure img {
    object-position: center center;
  }
  .header_main .nav_area .contact_wrap {
    display: none;
  }
}
@media all and (max-width: 896px) {
  .header_main {
    padding: 10px 5px 5px;
  }
  .header_main .logo_area h1 > a {
    max-width: 85%;
    height: 40px;
  }
}
.header_main.absolute {
  position: absolute;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
}
@media all and (max-width: 639px) {
  .header_main.absolute {
    max-width: 100%;
    border-radius: 0;
  }
}

.link_area {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0;
  width: 75px;
  height: 75px;
  display: grid;
  place-items: center;
  z-index: 2;
  text-align: center;
  background-color: rgba(162, 213, 56, 0.7);
}
.link_area a {
  color: #fff;
  font-size: 0.7rem;
  line-height: 1.5;
}
.link_area a i {
  display: block;
  font-size: 2rem;
}
@media all and (max-width: 639px) {
  .link_area {
    display: none;
  }
}

.header_main_nav {
  display: flex;
  gap: 0 1em;
}
.header_main_nav .txtbtn,
.header_main_nav .linkbtn {
  line-height: 1.2;
  transition: 0.3s;
  text-align: center;
}
.header_main_nav .txtbtn a,
.header_main_nav .linkbtn a {
  padding: 8px 25px;
}
.header_main_nav .txtbtn a:hover,
.header_main_nav .linkbtn a:hover {
  opacity: 0.6;
}
.header_main_nav .linkbtn a {
  font-size: 1.8rem;
  background-color: #a2d538;
  color: #fff;
  width: 100%;
  display: grid;
  place-items: center;
  height: 100%;
}
.header_main_nav .linkbtn a span {
  font-size: 1.1rem;
}
.header_main_nav .linkbtn a i {
  display: block;
  font-size: 2rem;
  margin-bottom: 0.3rem;
}
.header_main_nav .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.header_main_nav .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
.header_main_nav .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.header_main_nav .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
.header_main_nav .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_main_nav .linkbtn.circle {
  margin: 0 5px;
}
.header_main_nav .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_main_nav .linkbtn.radius a {
  border-radius: 20px;
}
.header_main_nav.j-center ul {
  justify-content: center;
}
.header_main_nav.bold > ul > li > a,
.header_main_nav.bold > ul > li > a span {
  font-weight: bold;
}
.header_main_nav.bold > ul,
.header_main_nav.bold .menu ul > li > ul > li > a {
  font-weight: bold !important;
}
.header_main_nav.type_white > ul > li > a,
.header_main_nav.type_white > ul > li > a span {
  color: #fff;
}
.header_main_nav.type_white > ul > li > a:hover,
.header_main_nav.type_white > ul > li > a span:hover {
  color: #aaa;
  opacity: 0.8;
}
.header_main_nav.type_black > ul > li:after {
  background-color: #111;
}
.header_main_nav.type_black > ul > li > a,
.header_main_nav.type_black > ul > li > a span {
  color: #111;
}
.header_main_nav.type_black > ul > li > a:hover,
.header_main_nav.type_black > ul > li > a span:hover {
  color: #555;
  opacity: 0.8;
}
.header_main_nav > ul,
.header_main_nav .menu ul {
  display: flex;
}
.header_main_nav > ul > li,
.header_main_nav .menu ul > li {
  font-weight: bold;
  padding: 5px 22px;
  position: relative;
}
.header_main_nav > ul > li:after,
.header_main_nav .menu ul > li:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 20px;
  background-color: #ccc;
  top: 0;
  bottom: 0;
  right: -2px;
  z-index: 1;
  margin: auto;
  transform: rotate(35deg);
}
.header_main_nav > ul > li:last-child:after,
.header_main_nav .menu ul > li:last-child:after {
  display: none;
}
.header_main_nav > ul > li > a,
.header_main_nav .menu ul > li > a {
  position: relative;
  line-height: 1.6;
  color: #555;
  padding: 0 0 10px;
  font-size: 1.6rem;
}
.header_main_nav > ul > li > a:before,
.header_main_nav .menu ul > li > a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  margin: 0 auto;
  border-bottom: 1px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
.header_main_nav > ul > li > a span,
.header_main_nav .menu ul > li > a span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  color: #a2d538;
  font-size: 1.2rem;
  display: block;
  position: relative;
  letter-spacing: 0.1rem;
  font-weight: normal;
}
.header_main_nav > ul > li > a.active,
.header_main_nav .menu ul > li > a.active {
  color: #b6de62;
}
.header_main_nav > ul > li:hover > a, .header_main_nav > ul > li.active > a,
.header_main_nav .menu ul > li:hover > a,
.header_main_nav .menu ul > li.active > a {
  color: #a2d538;
}
.header_main_nav > ul > li:hover > a:before, .header_main_nav > ul > li.active > a:before,
.header_main_nav .menu ul > li:hover > a:before,
.header_main_nav .menu ul > li.active > a:before {
  content: "";
  width: 100%;
  border-bottom: 1px solid #4bb4a1;
}
@media screen and (max-width: 1465px) {
  .header_main_nav {
    margin: 10px auto 0;
  }
  .header_main_nav > ul {
    justify-content: center;
  }
}
@media screen and (max-width: 936px) {
  .header_main_nav {
    margin: 5px auto 0;
  }
  .header_main_nav > ul {
    overflow-y: scroll;
    font-size: 1.3rem;
    flex-wrap: nowrap;
    gap: 1em;
    margin: 0;
    overflow-x: auto;
    white-space: nowrap;
  }
  .header_main_nav > ul li {
    padding: 5px 12px;
  }
}
@media all and (max-width: 639px) {
  .header_main_nav {
    display: none;
  }
  .header_main_nav > ul {
    overflow-y: scroll;
    font-size: 1.3rem;
    flex-wrap: nowrap;
    gap: 1em;
    justify-content: flex-start;
    margin: 0;
    overflow-x: auto;
    white-space: nowrap;
  }
  .header_main_nav > ul > li {
    padding: 5px 5px;
  }
}

.header_wide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  z-index: 200;
  overflow: hidden;
  margin: auto;
  padding-top: 10px;
}
.header_wide.bg_white {
  background-color: white;
  max-width: 100%;
  border-radius: 0;
}
.header_wide.bg_white .contact_area {
  max-width: 90%;
  margin: 0 auto;
}
.header_wide.bg_base_color {
  background-color: #a2d538;
  max-width: 100%;
  border-radius: 0;
}
.header_wide.bg_base_color .contact_area {
  max-width: 90%;
  margin: 0 auto;
}
.header_wide.border {
  max-width: 100%;
  border-radius: 0;
  border-bottom: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: saturate(180%) blur(2px);
}
.header_wide.border .contact_area {
  max-width: 90%;
  margin: 0 auto;
}
.header_wide.border .nav_area {
  border-top: 1px solid #fff;
}
@media all and (max-width: 639px) {
  .header_wide.border .nav_area {
    border-top: 0px solid #fff;
  }
}
.header_wide.border .main_nav > ul > li,
.header_wide.border .main_nav .menu ul > li {
  width: 200px;
  padding: 10px 0 5px !important;
  border-left: 1px solid #fff;
  transition: all 0.5s 0s ease;
}
.header_wide.border .main_nav > ul > li:hover,
.header_wide.border .main_nav .menu ul > li:hover {
  background-color: rgba(255, 255, 255, 0.6);
  transition: all 0.5s 0s ease;
}
.header_wide.border .main_nav > ul > li > a,
.header_wide.border .main_nav .menu ul > li > a {
  width: 100%;
  font-size: 1.2rem;
  color: #333;
  font-weight: bold;
  letter-spacing: 0.1rem;
  line-height: 1.4;
}
.header_wide.border .main_nav > ul > li > a span,
.header_wide.border .main_nav .menu ul > li > a span {
  font-size: 1.7rem;
  color: #a2d538;
}
.header_wide.border .main_nav > ul > li:last-child,
.header_wide.border .main_nav .menu ul > li:last-child {
  border-right: 1px solid #fff;
}
.header_wide.border .main_nav > ul > li:after,
.header_wide.border .main_nav .menu ul > li:after {
  display: none;
}
.header_wide.border_w {
  border-bottom: #fff solid 1px;
}
.header_wide .contact_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
}
.header_wide.transparent {
  background-color: transparent;
}
.header_wide .logo_area div > a,
.header_wide .logo_area h1 > a {
  display: block;
  max-width: 300px;
  height: 55px;
  position: relative;
}
.header_wide .logo_area div > a img,
.header_wide .logo_area h1 > a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top left;
}
.header_wide .logo_area.tcenter {
  border-right: 0px;
  padding: 10px 0 10px;
}
.header_wide .logo_area.tcenter h1 > a {
  display: block;
  max-width: 120px;
  height: 120px;
  margin: 0 auto;
  position: relative;
}
.header_wide .logo_area.tcenter h1 > a img {
  object-position: center center;
}
.header_wide .nav_wrap {
  padding: 10px 0;
}
.header_wide .nav_area {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  text-align: center;
}
.header_wide .nav_area.white .main_nav > ul > li > a, .header_wide .nav_area.white .main_nav .menu ul > li > a {
  color: #fff;
}
.header_wide .nav_area.white .main_nav > ul > li > a span, .header_wide .nav_area.white .main_nav .menu ul > li > a span {
  color: #fff;
}
.header_wide .nav_area .main_nav ul li {
  line-height: 1.6;
  padding: 0 40px 5px;
}
.header_wide .nav_area .main_nav ul li a {
  font-size: 1.6rem;
}
.header_wide .nav_area .main_nav ul li a:before {
  content: "";
  position: absolute;
  bottom: 3px;
  left: -100%;
  right: 0;
  width: 0;
  margin: 0 auto;
  border-bottom: 2px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
.header_wide .nav_area .main_nav ul li .icon {
  transform: translateY(0px) rotate(0deg);
  transition: 0.3s;
  padding-bottom: 4px;
}
.header_wide .nav_area .main_nav ul li:hover > a:before, .header_wide .nav_area .main_nav ul li.active > a:before {
  content: "";
  width: 100%;
}
.header_wide .nav_area .main_nav ul li:hover .icon {
  transform: translateY(-5px) rotate(20deg);
  transition: 0.3s;
}
.header_wide .nav_area .main_nav ul li:hover a:before {
  width: 100%;
}
.header_wide .contact_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 0 10px;
}
@media all and (max-width: 639px) {
  .header_wide .contact_wrap {
    display: none;
  }
}
.header_wide .contact_wrap .txtbtn,
.header_wide .contact_wrap .linkbtn {
  line-height: 1.2;
  margin: 0 10px;
  font-weight: bold;
  transition: 0.3s;
  text-align: center;
}
.header_wide .contact_wrap .txtbtn a,
.header_wide .contact_wrap .linkbtn a {
  padding: 8px 25px;
}
.header_wide .contact_wrap .txtbtn a:hover,
.header_wide .contact_wrap .linkbtn a:hover {
  opacity: 0.6;
}
.header_wide .contact_wrap .txtbtn span,
.header_wide .contact_wrap .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #333;
}
.header_wide .contact_wrap .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.header_wide .contact_wrap .dtail dl {
  display: grid;
  grid-template-columns: 80px 150px;
  gap: 2px 8px;
  align-items: center;
}
.header_wide .contact_wrap .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.header_wide .contact_wrap .dtail dd {
  flex: 1;
}
.header_wide .contact_wrap .txtbtn a {
  font-size: 3rem;
}
.header_wide .contact_wrap .linkbtn a {
  font-size: 1.4rem;
  background-color: #a2d538;
  color: #fff;
}
.header_wide .contact_wrap .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.header_wide .contact_wrap .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
.header_wide .contact_wrap .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.header_wide .contact_wrap .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
.header_wide .contact_wrap .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_wide .contact_wrap .linkbtn.circle {
  margin: 0 5px;
}
.header_wide .contact_wrap .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_wide .contact_wrap .linkbtn.radius a {
  border-radius: 20px;
}
.header_wide .contact_wrap_color {
  background-color: #14ae68;
  margin: -20px 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.header_wide .contact_wrap_color .txtbtn,
.header_wide .contact_wrap_color .linkbtn {
  font-weight: bold;
  transition: 0.3s;
}
.header_wide .contact_wrap_color .txtbtn a:hover,
.header_wide .contact_wrap_color .linkbtn a:hover {
  opacity: 0.6;
}
.header_wide .contact_wrap_color .txtbtn span,
.header_wide .contact_wrap_color .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #888;
}
.header_wide .contact_wrap_color .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.header_wide .contact_wrap_color .dtail dl {
  display: grid;
  grid-template-columns: 80px 100px;
  gap: 2px 8px;
  align-items: center;
}
.header_wide .contact_wrap_color .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.header_wide .contact_wrap_color .dtail dd {
  flex: 1;
}
.header_wide .contact_wrap_color .txtbtn a {
  font-size: 2.3rem;
}
.header_wide .contact_wrap_color .linkbtn a {
  font-size: 1.2rem;
  color: #fff;
}
.header_wide .contact_wrap_color .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_wide .contact_wrap_color .linkbtn.circle {
  margin: 0 5px;
}
.header_wide .contact_wrap_color .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_wide .contact_wrap_color .linkbtn.radius a {
  border-radius: 20px;
}
@media screen and (max-width: 1465px) {
  .header_wide .logo_area {
    border-right: 0px;
    padding: 10px 0 0;
  }
  .header_wide .logo_area h1 > a {
    display: block;
    max-width: 300px;
    height: 45px;
    margin: 0 auto;
    position: relative;
  }
  .header_wide .logo_area h1 > a img {
    object-position: center center;
  }
  .header_wide .nav_area .contact_wrap {
    display: none;
  }
}
@media screen and (max-width: 936px) {
  .header_wide {
    padding: 10px 5px 5px;
  }
  .header_wide .logo_area h1 > a {
    height: 40px;
  }
}
@media all and (max-width: 639px) {
  .header_wide {
    background-color: rgba(255, 255, 255, 0.8);
    top: 0;
    padding: 8px 0;
    max-width: 100%;
    border-radius: 0;
  }
  .header_wide .logo_area {
    padding: 0;
  }
  .header_wide .logo_area h1 > a img {
    object-position: center center;
  }
}
.header_wide.type_white {
  position: absolute;
}

.header_radius {
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 95%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 200;
  background-color: #fff;
  border-radius: 20px;
  margin: auto;
}
.header_radius.border {
  border: 2px solid #a2d538;
}
@media all and (max-width: 896px) {
  .header_radius.border {
    border: 0px solid #a2d538;
  }
}
.header_radius.shadow {
  box-shadow: 0 0 15px rgba(17, 17, 17, 0.1);
}
.header_radius.transparent {
  background-color: transparent;
}
@media all and (max-width: 639px) {
  .header_radius.transparent {
    background-color: #fff;
  }
}
.header_radius .logo_area {
  padding: 20px;
}
.header_radius .logo_area div > a,
.header_radius .logo_area h1 > a {
  display: block;
  max-width: 300px;
  max-height: 100px;
  position: relative;
}
.header_radius .logo_area div > a img,
.header_radius .logo_area h1 > a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top left;
}
.header_radius .nav_wrap {
  padding: 10px 20px 10px 10px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_radius .nav_wrap.shadow {
  padding: 0;
}
.header_radius .nav_wrap.shadow .main_nav {
  padding: 10px;
  box-shadow: 0 0 15px rgba(17, 17, 17, 0.1);
  background-color: #fff;
}
.header_radius .nav_area {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header_radius .nav_wrap .txtbtn,
.header_radius .nav_wrap .linkbtn {
  line-height: 1.2;
  margin: 0 1em;
  font-weight: bold;
  transition: 0.3s;
  text-align: center;
}
.header_radius .nav_wrap .txtbtn a,
.header_radius .nav_wrap .linkbtn a {
  padding: 8px 25px;
}
.header_radius .nav_wrap .txtbtn a:hover,
.header_radius .nav_wrap .linkbtn a:hover {
  opacity: 0.6;
}
.header_radius .nav_wrap .txtbtn span,
.header_radius .nav_wrap .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #333;
}
.header_radius .nav_wrap .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.header_radius .nav_wrap .dtail dl {
  display: grid;
  grid-template-columns: 100px 100px;
  gap: 2px 8px;
  align-items: center;
  margin-right: 10px;
}
.header_radius .nav_wrap .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.header_radius .nav_wrap .dtail dd {
  flex: 1;
}
.header_radius .nav_wrap .txtbtn a {
  font-size: 3rem;
}
.header_radius .nav_wrap .linkbtn a {
  font-size: 1.8rem;
  background-color: #a2d538;
  color: #fff;
}
.header_radius .nav_wrap .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.header_radius .nav_wrap .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
.header_radius .nav_wrap .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.header_radius .nav_wrap .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
.header_radius .nav_wrap .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_radius .nav_wrap .linkbtn.circle {
  margin: 0 1em;
}
.header_radius .nav_wrap .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 65px;
  height: 65px;
  display: grid;
  place-items: center;
}
.header_radius .nav_wrap .linkbtn.circle a i {
  font-size: 1.5em;
}
.header_radius .nav_wrap .linkbtn.radius a {
  border-radius: 20px;
}
.header_radius .contact_wrap_color {
  background-color: #14ae68;
  margin: -20px 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.header_radius .contact_wrap_color .txtbtn,
.header_radius .contact_wrap_color .linkbtn {
  font-weight: bold;
  transition: 0.3s;
}
.header_radius .contact_wrap_color .txtbtn a:hover,
.header_radius .contact_wrap_color .linkbtn a:hover {
  opacity: 0.6;
}
.header_radius .contact_wrap_color .txtbtn span,
.header_radius .contact_wrap_color .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #888;
}
.header_radius .contact_wrap_color .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.header_radius .contact_wrap_color .dtail dl {
  display: grid;
  grid-template-columns: 80px 100px;
  gap: 2px 8px;
  align-items: center;
}
.header_radius .contact_wrap_color .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.header_radius .contact_wrap_color .dtail dd {
  flex: 1;
}
.header_radius .contact_wrap_color .txtbtn a {
  font-size: 2.3rem;
}
.header_radius .contact_wrap_color .linkbtn a {
  font-size: 1.4rem;
  color: #fff;
}
.header_radius .contact_wrap_color .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_radius .contact_wrap_color .linkbtn.circle {
  margin: 0 5px;
}
.header_radius .contact_wrap_color .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_radius .contact_wrap_color .linkbtn.radius a {
  border-radius: 20px;
}
@media screen and (max-width: 1080px) {
  .header_radius {
    display: block;
    text-align: center;
  }
  .header_radius .logo_area {
    border-right: 0px;
    padding: 10px 0 0;
  }
  .header_radius .logo_area h1 > a {
    display: block;
    max-width: 300px;
    height: 45px;
    margin: 0 auto;
    position: relative;
  }
  .header_radius .logo_area h1 > a img {
    object-position: center center;
  }
  .header_radius .nav_wrap {
    padding: 0;
  }
  .header_radius .nav_wrap .contact_wrap {
    display: none;
  }
}
@media screen and (max-width: 936px) {
  .header_radius {
    padding: 10px 5px 5px;
  }
  .header_radius .logo_area h1 > a {
    height: 40px;
  }
}
@media all and (max-width: 639px) {
  .header_radius {
    background-color: rgba(255, 255, 255, 0.8);
    top: 0;
    padding: 8px 0;
    max-width: 100%;
    border-radius: 0;
  }
  .header_radius .logo_area {
    padding: 0;
  }
  .header_radius .logo_area h1 > a img {
    object-position: center center;
  }
  .header_radius .nav_wrap .txtbtn,
  .header_radius .nav_wrap .linkbtn {
    display: none;
  }
}
.header_radius.type_white {
  position: absolute;
}

.main_nav {
  padding: 0 0 0 0;
}
.main_nav.bold > ul > li > a,
.main_nav.bold > ul > li > a span {
  font-weight: bold;
}
.main_nav.bold > ul,
.main_nav.bold .menu ul > li > ul > li > a {
  font-weight: bold !important;
}
.main_nav.type_white > ul > li > a,
.main_nav.type_white > ul > li > a span {
  color: #fff;
}
.main_nav.type_white > ul > li > a:hover,
.main_nav.type_white > ul > li > a span:hover {
  color: #aaa;
  opacity: 0.8;
}
.main_nav.type_black > ul > li:after {
  background-color: #111;
}
.main_nav.type_black > ul > li > a,
.main_nav.type_black > ul > li > a span {
  color: #111;
}
.main_nav.type_black > ul > li > a:hover,
.main_nav.type_black > ul > li > a span:hover {
  color: #555;
  opacity: 0.8;
}
.main_nav > ul,
.main_nav .menu ul {
  display: flex;
}
.main_nav > ul > li,
.main_nav .menu ul > li {
  font-weight: bold;
  padding: 5px 22px;
  position: relative;
}
.main_nav > ul > li:after,
.main_nav .menu ul > li:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 20px;
  background-color: #ccc;
  top: 0;
  bottom: 0;
  right: -2px;
  z-index: 1;
  margin: auto;
  transform: rotate(35deg);
}
.main_nav > ul > li:last-child:after,
.main_nav .menu ul > li:last-child:after {
  display: none;
}
.main_nav > ul > li > a,
.main_nav .menu ul > li > a {
  position: relative;
  line-height: 1.6;
  color: #555;
  padding: 0 0 10px;
  font-size: 1.6rem;
}
.main_nav > ul > li > a:before,
.main_nav .menu ul > li > a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  margin: 0 auto;
  border-bottom: 1px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
.main_nav > ul > li > a span,
.main_nav .menu ul > li > a span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  color: #a2d538;
  font-size: 1.2rem;
  display: block;
  position: relative;
  letter-spacing: 0.1rem;
  font-weight: normal;
}
.main_nav > ul > li > a.active,
.main_nav .menu ul > li > a.active {
  color: #b6de62;
}
.main_nav > ul > li:hover > a, .main_nav > ul > li.active > a,
.main_nav .menu ul > li:hover > a,
.main_nav .menu ul > li.active > a {
  color: #a2d538;
}
.main_nav > ul > li:hover > a:before, .main_nav > ul > li.active > a:before,
.main_nav .menu ul > li:hover > a:before,
.main_nav .menu ul > li.active > a:before {
  content: "";
  width: 100%;
  border-bottom: 1px solid #4bb4a1;
}
@media screen and (max-width: 1465px) {
  .main_nav {
    margin: 10px auto 0;
  }
  .main_nav > ul {
    justify-content: center;
  }
}
@media screen and (max-width: 936px) {
  .main_nav {
    margin: 5px auto 0;
  }
  .main_nav > ul {
    overflow-y: scroll;
    font-size: 1.3rem;
    flex-wrap: nowrap;
    gap: 1em;
    margin: 0;
    overflow-x: auto;
    white-space: nowrap;
  }
  .main_nav > ul li {
    padding: 5px 12px;
  }
}
@media all and (max-width: 639px) {
  .main_nav {
    display: none;
  }
  .main_nav > ul {
    overflow-y: scroll;
    font-size: 1.3rem;
    flex-wrap: nowrap;
    gap: 1em;
    justify-content: flex-start;
    margin: 0;
    overflow-x: auto;
    white-space: nowrap;
  }
  .main_nav > ul > li {
    padding: 5px 5px;
  }
}

.main_nav > ul > li > ul,
.main_nav > ul > li .menu ul,
#fixed_nav nav > ul > li > ul,
#fixed_nav nav > ul > li .menu ul {
  opacity: 0;
  visibility: hidden;
  display: grid;
  font-size: 90%;
  position: absolute;
  z-index: 200;
  top: 63px;
  left: 0px;
  width: 330px;
  grid-template-columns: repeat(1, 1fr);
  transition: 0.4s;
  background-color: #fff;
  border: 1px solid #a2d538;
  border-radius: 20px;
  box-shadow: rgba(170, 170, 170, 0.1) 0 0 2px 2px;
  overflow: hidden;
}
.main_nav > ul > li > ul > li,
.main_nav > ul > li .menu ul > li,
#fixed_nav nav > ul > li > ul > li,
#fixed_nav nav > ul > li .menu ul > li {
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  transition-delay: 0.1s;
  z-index: -300;
}
.main_nav > ul > li > ul > li > a,
.main_nav > ul > li .menu ul > li > a,
#fixed_nav nav > ul > li > ul > li > a,
#fixed_nav nav > ul > li .menu ul > li > a {
  width: 100%;
  color: #555;
  display: block;
  padding: 10px 10px;
}
.main_nav > ul > li > ul > li > a:hover,
.main_nav > ul > li .menu ul > li > a:hover,
#fixed_nav nav > ul > li > ul > li > a:hover,
#fixed_nav nav > ul > li .menu ul > li > a:hover {
  color: #888;
  background-color: rgba(162, 213, 56, 0.2);
}
.main_nav > ul > li > ul > li:hover > a,
.main_nav > ul > li .menu ul > li:hover > a,
#fixed_nav nav > ul > li > ul > li:hover > a,
#fixed_nav nav > ul > li .menu ul > li:hover > a {
  color: #888;
}
.main_nav > ul > li:hover > ul,
#fixed_nav nav > ul > li:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 66px;
}
.main_nav > ul > li:hover > ul > li,
#fixed_nav nav > ul > li:hover > ul > li {
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.main_nav > ul > li.col_2 > ul,
#fixed_nav nav > ul > li.col_2 > ul {
  left: -100px;
  width: 300px;
  grid-template-columns: repeat(2, 1fr);
}
.main_nav > ul > li.col_2 > ul > li,
#fixed_nav nav > ul > li.col_2 > ul > li {
  border-right: 1px solid #eee;
}
.main_nav > ul > li.col_3 > ul,
#fixed_nav nav > ul > li.col_3 > ul {
  left: -150px;
  width: 450px;
  grid-template-columns: repeat(3, 1fr);
}
.main_nav > ul > li.col_3 > ul > li,
#fixed_nav nav > ul > li.col_3 > ul > li {
  border-right: 1px solid #eee;
}

.main_nav.type_white > ul > li > ul,
.main_nav.type_white > ul > li .menu ul,
#fixed_nav nav.type_white > ul > li > ul,
#fixed_nav nav.type_white > ul > li .menu ul {
  opacity: 0;
  visibility: hidden;
  display: grid;
  font-size: 90%;
  position: absolute;
  z-index: 100;
  top: 43px;
  left: 0px;
  width: 250px;
  grid-template-columns: repeat(1, 1fr);
  transition: 0.5s;
  background-color: rgba(162, 213, 56, 0.9);
  border: 1px solid rgba(162, 213, 56, 0.3);
}
.main_nav.type_white > ul > li > ul > li,
.main_nav.type_white > ul > li .menu ul > li,
#fixed_nav nav.type_white > ul > li > ul > li,
#fixed_nav nav.type_white > ul > li .menu ul > li {
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  transition-delay: 0.1s;
  z-index: -300;
  border-bottom: 1px solid rgba(162, 213, 56, 0.8);
}
.main_nav.type_white > ul > li > ul > li > a,
.main_nav.type_white > ul > li .menu ul > li > a,
#fixed_nav nav.type_white > ul > li > ul > li > a,
#fixed_nav nav.type_white > ul > li .menu ul > li > a {
  width: 100%;
  color: #fff;
  display: block;
  padding: 10px 10px;
}
.main_nav.type_white > ul > li > ul > li > a:hover,
.main_nav.type_white > ul > li .menu ul > li > a:hover,
#fixed_nav nav.type_white > ul > li > ul > li > a:hover,
#fixed_nav nav.type_white > ul > li .menu ul > li > a:hover {
  color: #fff;
  background-color: rgba(162, 213, 56, 0.8);
}
.main_nav.type_white > ul > li > ul > li:hover > a,
.main_nav.type_white > ul > li .menu ul > li:hover > a,
#fixed_nav nav.type_white > ul > li > ul > li:hover > a,
#fixed_nav nav.type_white > ul > li .menu ul > li:hover > a {
  color: #fff;
}
.main_nav.type_white > ul > li:hover > ul,
#fixed_nav nav.type_white > ul > li:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 36px;
}
.main_nav.type_white > ul > li:hover > ul > li,
#fixed_nav nav.type_white > ul > li:hover > ul > li {
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.main_nav.type_white > ul > li.col_2 > ul,
#fixed_nav nav.type_white > ul > li.col_2 > ul {
  left: -100px;
  width: 300px;
  grid-template-columns: repeat(2, 1fr);
}
.main_nav.type_white > ul > li.col_2 > ul > li,
#fixed_nav nav.type_white > ul > li.col_2 > ul > li {
  border-right: 1px solid rgba(162, 213, 56, 0.6);
}
.main_nav.type_white > ul > li.col_3 > ul,
#fixed_nav nav.type_white > ul > li.col_3 > ul {
  left: -150px;
  width: 450px;
  grid-template-columns: repeat(3, 1fr);
}
.main_nav.type_white > ul > li.col_3 > ul > li,
#fixed_nav nav.type_white > ul > li.col_3 > ul > li {
  border-right: 1px solid rgba(162, 213, 56, 0.6);
}

.header_box {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 100;
  width: 400px;
  height: auto;
  background-color: #e6e6e6;
  box-shadow: rgba(17, 17, 17, 0.2) 0 0 5px 5px;
  padding: 40px;
}
.header_box.transparent {
  background-color: transparent;
  box-shadow: rgba(17, 17, 17, 0) 0 0 5px 5px;
}
.header_box .logo {
  text-align: center;
  padding: 30px 0;
  margin-bottom: 20px;
}
.header_box .header_box_tel {
  border-top: 3px solid #111;
  border-bottom: 3px solid #111;
  padding: 8px 0;
  margin-bottom: 20px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}
.header_box .header_box_tel a {
  font-size: 3rem;
  line-height: 1.2;
  color: #a2d538;
}
.header_box .header_box_tel a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
  font-size: 80%;
}
.header_box .header_box_nav {
  width: 90%;
  margin: 20px auto;
}
.header_box .header_box_nav li {
  padding: 10px 0;
  color: #a2d538;
  position: relative;
  border-bottom: 1px solid rgba(17, 17, 17, 0.3);
}
.header_box .header_box_nav li.before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  margin: 0 auto;
  top: -100px;
  width: 20px;
  height: 20px;
}
.header_box .header_box_nav li a {
  display: block;
  position: relative;
  padding: 0;
  color: #111;
  font-size: 1.9rem;
  font-weight: bold;
}
.header_box .header_box_nav li a span {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #4bb4a1;
  position: relative;
  letter-spacing: 0.1rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.header_box .header_box_nav li a:before {
  content: "";
  position: absolute;
  bottom: -10px;
  width: 0%;
  border-bottom: 2px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
.header_box .header_box_nav li:hover a, .header_box .header_box_nav li.active a {
  color: #a2d538;
}
.header_box .header_box_nav li:hover a:before, .header_box .header_box_nav li.active a:before {
  content: "";
  width: 100%;
  border-bottom: 2px solid #a2d538;
}
.header_box .header_box_nav li:hover a span, .header_box .header_box_nav li.active a span {
  color: #fef7f7;
  -webkit-transition: 0.2s width ease-in;
  transition: 0.2s width ease-in;
}
@media all and (max-width: 639px) {
  .header_box .header_box_nav {
    display: none;
  }
}
@media all and (max-width: 896px) {
  .header_box {
    width: 300px;
    padding: 20px;
  }
}
@media all and (max-width: 639px) {
  .header_box {
    width: 140px;
    padding: 10px;
    top: 10px;
    left: 10px;
  }
  .header_box .logo {
    padding: 10px 0;
    margin-bottom: 0px;
  }
  .header_box .header_box_tel {
    display: none;
  }
  .header_box .header_box_nav {
    display: none;
  }
}

.header_one {
  width: 100%;
  display: flex;
  justify-content: space-between;
  z-index: 200;
  background-color: #fff;
}
.header_one.transparent {
  background-color: rgba(255, 255, 255, 0) !important;
}
.header_one.absolute {
  position: absolute;
}
.header_one .logo_area h1 > a {
  display: block;
  position: relative;
  max-width: 500px;
  height: 55px;
  margin: 1em 0 1em 1em;
}
.header_one .logo_area h1 > a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top left;
}
.header_one .nav_area {
  display: grid;
}
.header_one .contact_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 0 10px;
}
.header_one .contact_wrap .txtbtn,
.header_one .contact_wrap .linkbtn {
  line-height: 1.2;
  margin: 0 10px;
  font-weight: bold;
  transition: 0.3s;
  text-align: center;
}
.header_one .contact_wrap .txtbtn a,
.header_one .contact_wrap .linkbtn a {
  padding: 8px 25px;
}
.header_one .contact_wrap .txtbtn a:hover,
.header_one .contact_wrap .linkbtn a:hover {
  opacity: 0.6;
}
.header_one .contact_wrap .txtbtn span,
.header_one .contact_wrap .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #333;
}
.header_one .contact_wrap .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
.header_one .contact_wrap .dtail dl {
  display: grid;
  grid-template-columns: 80px 140px;
  gap: 2px 8px;
  align-items: center;
}
.header_one .contact_wrap .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
.header_one .contact_wrap .dtail dd {
  flex: 1;
}
.header_one .contact_wrap .txtbtn a {
  font-size: 3.5rem;
}
.header_one .contact_wrap .linkbtn a {
  font-size: 1.8rem;
  background-color: #a2d538;
  color: #fff;
}
.header_one .contact_wrap .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.header_one .contact_wrap .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
.header_one .contact_wrap .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.header_one .contact_wrap .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
.header_one .contact_wrap .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_one .contact_wrap .linkbtn.circle {
  margin: 0 5px;
}
.header_one .contact_wrap .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_one .contact_wrap .linkbtn.radius a {
  border-radius: 20px;
}
@media all and (max-width: 1100px) {
  .header_one {
    display: block;
    text-align: center;
  }
  .header_one .logo_area h1 > a {
    margin: 0.5em auto 0;
  }
  .header_one .logo_area h1 > a img {
    object-position: center center;
  }
  .header_one .nav_area .contact_wrap {
    display: none;
  }
}
@media all and (max-width: 896px) {
  .header_one {
    padding: 10px 5px 5px;
  }
  .header_one .logo_area h1 > a {
    max-width: 85%;
    height: 40px;
    margin: 0 auto;
  }
}
.header_one.absolute {
  position: absolute;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
}
@media all and (max-width: 639px) {
  .header_one.absolute {
    max-width: 100%;
    border-radius: 0;
  }
}

.link_area {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0;
  width: 75px;
  height: 75px;
  display: grid;
  place-items: center;
  z-index: 2;
  text-align: center;
  background-color: rgba(162, 213, 56, 0.7);
}
.link_area a {
  color: #fff;
  font-size: 0.7rem;
  line-height: 1.5;
}
.link_area a i {
  display: block;
  font-size: 2.5rem;
  margin-bottom: 0.7rem;
}
@media all and (max-width: 639px) {
  .link_area {
    display: none;
  }
}

.header_one_nav {
  display: flex;
  align-items: stretch;
  gap: 0 0.2em;
}
.header_one_nav .txtbtn,
.header_one_nav .linkbtn {
  line-height: 1.2;
  transition: 0.3s;
  text-align: center;
}
.header_one_nav .txtbtn a,
.header_one_nav .linkbtn a {
  padding: 0.5em 0.5em;
}
.header_one_nav .txtbtn a:hover,
.header_one_nav .linkbtn a:hover {
  opacity: 0.6;
}
.header_one_nav .linkbtn a {
  font-size: 1.8rem;
  background-color: #a2d538;
  color: #fff;
  width: 100%;
  display: grid;
  place-items: center;
  height: 100%;
}
.header_one_nav .linkbtn a span {
  font-size: 1.2rem;
}
.header_one_nav .linkbtn a i {
  display: block;
  font-size: 2.5rem;
  margin-bottom: 0.7rem;
}
.header_one_nav .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
.header_one_nav .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
.header_one_nav .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
.header_one_nav .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
.header_one_nav .linkbtn.sub a {
  background-color: #4bb4a1;
}
.header_one_nav .linkbtn.circle {
  margin: 0 5px;
}
.header_one_nav .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
.header_one_nav .linkbtn.radius a {
  border-radius: 20px;
}
@media all and (max-width: 896px) {
  .header_one_nav .linkbtn {
    display: none;
  }
}
.header_one_nav > ul,
.header_one_nav .menu ul {
  display: flex;
  align-items: center;
}
.header_one_nav > ul > li,
.header_one_nav .menu ul > li {
  font-weight: bold;
  padding: 0.5em 1em;
  position: relative;
}
.header_one_nav > ul > li:after,
.header_one_nav .menu ul > li:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #ccc;
  top: 0;
  bottom: 0;
  right: -2px;
  z-index: 1;
  margin: auto;
}
.header_one_nav > ul > li:last-child:after,
.header_one_nav .menu ul > li:last-child:after {
  display: none;
}
.header_one_nav > ul > li > a,
.header_one_nav .menu ul > li > a {
  position: relative;
  line-height: 1.6;
  color: #555;
  padding: 0 0 10px;
  font-size: 1.6rem;
}
.header_one_nav > ul > li > a:before,
.header_one_nav .menu ul > li > a:before {
  content: "";
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-radius: 50%;
  background-color: #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
.header_one_nav > ul > li > a span,
.header_one_nav .menu ul > li > a span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  color: #a2d538;
  font-size: 1.2rem;
  display: block;
  position: relative;
  letter-spacing: 0.1rem;
  font-weight: normal;
}
.header_one_nav > ul > li > a.active,
.header_one_nav .menu ul > li > a.active {
  color: #b6de62;
}
.header_one_nav > ul > li:hover > a, .header_one_nav > ul > li.active > a,
.header_one_nav .menu ul > li:hover > a,
.header_one_nav .menu ul > li.active > a {
  color: #a2d538;
}
.header_one_nav > ul > li:hover > a:before, .header_one_nav > ul > li.active > a:before,
.header_one_nav .menu ul > li:hover > a:before,
.header_one_nav .menu ul > li.active > a:before {
  content: "";
  width: 8px;
  height: 8px;
}
@media screen and (max-width: 1465px) {
  .header_one_nav {
    margin: 0 auto 0;
  }
  .header_one_nav > ul {
    justify-content: center;
  }
}
@media screen and (max-width: 936px) {
  .header_one_nav {
    margin: 5px auto 0;
  }
  .header_one_nav > ul {
    overflow-y: scroll;
    font-size: 1.3rem;
    flex-wrap: nowrap;
    gap: 1em;
    margin: 0;
    overflow-x: auto;
    white-space: nowrap;
  }
  .header_one_nav > ul li {
    padding: 5px 12px;
  }
}
@media all and (max-width: 639px) {
  .header_one_nav {
    display: none;
  }
  .header_one_nav > ul {
    overflow-y: scroll;
    font-size: 1.3rem;
    flex-wrap: nowrap;
    gap: 1em;
    justify-content: flex-start;
    margin: 0;
    overflow-x: auto;
    white-space: nowrap;
  }
  .header_one_nav > ul > li {
    padding: 5px 5px;
  }
}

.header_one_nav > ul > li > ul,
.header_one_nav > ul > li .menu ul,
#fixed_nav nav > ul > li > ul,
#fixed_nav nav > ul > li .menu ul {
  opacity: 0;
  visibility: hidden;
  display: grid;
  font-size: 90%;
  position: absolute;
  z-index: 200;
  top: 63px;
  left: 0px;
  width: 250px;
  grid-template-columns: repeat(1, 1fr);
  transition: 0.4s;
  background-color: #fff;
  box-shadow: rgba(170, 170, 170, 0.1) 0 0 2px 2px;
}
.header_one_nav > ul > li > ul > li,
.header_one_nav > ul > li .menu ul > li,
#fixed_nav nav > ul > li > ul > li,
#fixed_nav nav > ul > li .menu ul > li {
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  transition-delay: 0.1s;
  z-index: -300;
}
.header_one_nav > ul > li > ul > li > a,
.header_one_nav > ul > li .menu ul > li > a,
#fixed_nav nav > ul > li > ul > li > a,
#fixed_nav nav > ul > li .menu ul > li > a {
  width: 100%;
  color: #555;
  display: block;
  padding: 10px 10px;
}
.header_one_nav > ul > li > ul > li > a:hover,
.header_one_nav > ul > li .menu ul > li > a:hover,
#fixed_nav nav > ul > li > ul > li > a:hover,
#fixed_nav nav > ul > li .menu ul > li > a:hover {
  color: #888;
  background-color: rgba(162, 213, 56, 0.2);
}
.header_one_nav > ul > li > ul > li:hover > a,
.header_one_nav > ul > li .menu ul > li:hover > a,
#fixed_nav nav > ul > li > ul > li:hover > a,
#fixed_nav nav > ul > li .menu ul > li:hover > a {
  color: #888;
}
.header_one_nav > ul > li:hover > ul,
#fixed_nav nav > ul > li:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 66px;
}
.header_one_nav > ul > li:hover > ul > li,
#fixed_nav nav > ul > li:hover > ul > li {
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.header_one_nav > ul > li.col_2 > ul,
#fixed_nav nav > ul > li.col_2 > ul {
  left: -100px;
  width: 300px;
  grid-template-columns: repeat(2, 1fr);
}
.header_one_nav > ul > li.col_2 > ul > li,
#fixed_nav nav > ul > li.col_2 > ul > li {
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.header_one_nav > ul > li.col_3 > ul,
#fixed_nav nav > ul > li.col_3 > ul {
  left: -150px;
  width: 450px;
  grid-template-columns: repeat(3, 1fr);
}
.header_one_nav > ul > li.col_3 > ul > li,
#fixed_nav nav > ul > li.col_3 > ul > li {
  border-right: 1px solid #eee;
}

#fixed_header {
  position: absolute;
  width: 100%;
  z-index: 200;
}
#fixed_header.view {
  position: fixed;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  transition: 1s;
}
#fixed_header.view .header_main {
  display: block;
  padding: 0;
}
#fixed_header.view .logo_area {
  display: none;
}
#fixed_header.view .contact_wrap {
  display: none;
}

#fixed_nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: saturate(180%) blur(2px);
  box-shadow: rgba(170, 170, 170, 0.2) 0 3px 8px 3px;
  padding: 3px 0 3px;
  opacity: 0;
  transition: 0.5s;
  transform: translateY(-80px);
  display: flex;
  justify-content: space-between;
}
#fixed_nav.view {
  opacity: 1;
  transition: 0.5s;
  transform: translateY(0);
}
@media all and (max-width: 639px) {
  #fixed_nav {
    display: none;
  }
}
#fixed_nav .logo_area {
  padding: 5px 1em;
}
#fixed_nav .logo_area a {
  display: block;
  height: 40px;
}
#fixed_nav .logo_area img {
  height: 100%;
}
#fixed_nav .contact_wrap {
  padding: 5px 1em;
}
#fixed_nav nav > ul {
  margin: 0px auto 0;
  display: flex;
  justify-content: center;
}
#fixed_nav nav > ul > li {
  font-weight: bold;
  padding: 10px 20px 3px;
  position: relative;
}
#fixed_nav nav > ul > li:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 20px;
  background-color: #ccc;
  top: 0;
  bottom: 0;
  right: -2px;
  z-index: 1;
  margin: auto;
  transform: rotate(35deg);
}
#fixed_nav nav > ul > li:last-child:after {
  display: none;
}
#fixed_nav nav > ul > li > a {
  position: relative;
  line-height: 0.8;
  color: #555;
  text-align: center;
  padding: 0 0 10px 0;
}
#fixed_nav nav > ul > li > a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  margin: 0 auto;
  border-bottom: 1px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
#fixed_nav nav > ul > li > a > span {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  color: #a2d538;
  font-size: 1.1rem;
  display: block;
  position: relative;
  letter-spacing: 0.1rem;
  font-weight: 600;
}
#fixed_nav nav > ul > li > a.active {
  color: #b6de62;
}
#fixed_nav nav > ul > li:hover > a, #fixed_nav nav > ul > li.active > a {
  color: #a2d538;
}
#fixed_nav nav > ul > li:hover > a:after, #fixed_nav nav > ul > li.active > a:after {
  content: "";
  width: 100%;
  border-bottom: 1px solid #4bb4a1;
}
#fixed_nav .link_area {
  position: absolute;
  top: 0px;
  right: 0px;
  padding: 0;
  width: auto;
  height: 100%;
  padding: 0 15px;
  display: grid;
  place-items: center;
  z-index: 2;
  text-align: center;
  background-color: rgba(162, 213, 56, 0.7);
  border: 0px solid #fff;
}
#fixed_nav .link_area a {
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.5;
}
#fixed_nav .link_area a i {
  display: inline-block;
  font-size: 1.2rem;
}
@media all and (max-width: 896px) {
  #fixed_nav .link_area {
    display: none;
  }
}

#fixed_nav .txtbtn,
#fixed_nav .linkbtn {
  line-height: 1.2;
  margin: 0 1em;
  font-weight: bold;
  transition: 0.3s;
  text-align: center;
}
#fixed_nav .txtbtn a,
#fixed_nav .linkbtn a {
  padding: 8px 25px;
}
#fixed_nav .txtbtn a:hover,
#fixed_nav .linkbtn a:hover {
  opacity: 0.6;
}
#fixed_nav .txtbtn span,
#fixed_nav .linkbtn span {
  font-size: 1.2rem;
  display: block;
  color: #333;
}
#fixed_nav .dtail {
  font-size: 1.2rem;
  line-height: 1.6;
}
#fixed_nav .dtail dl {
  display: grid;
  grid-template-columns: 100px 100px;
  gap: 2px 8px;
  align-items: center;
  margin-right: 10px;
}
#fixed_nav .dtail dt {
  border: 1px solid #a2d538;
  border-radius: 20px;
  color: #a2d538;
  text-align: center;
  padding: 0px 10px;
}
#fixed_nav .dtail dd {
  flex: 1;
}
#fixed_nav .txtbtn a {
  font-size: 3rem;
}
#fixed_nav .linkbtn a {
  font-size: 1.8rem;
  background-color: #a2d538;
  color: #fff;
}
#fixed_nav .linkbtn.transparent {
  margin-top: 10px;
  margin-bottom: 10px;
}
#fixed_nav .linkbtn.transparent a {
  background-color: transparent;
  padding: 10px;
}
#fixed_nav .linkbtn.transparent a img {
  height: 23px;
  object-fit: cover;
}
#fixed_nav .linkbtn.white a {
  background-color: #fff;
  color: #a2d538;
}
#fixed_nav .linkbtn.sub a {
  background-color: #4bb4a1;
}
#fixed_nav .linkbtn.circle {
  margin: 0 5px;
}
#fixed_nav .linkbtn.circle a {
  border-radius: 50%;
  padding: 0;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
}
#fixed_nav .linkbtn.radius a {
  border-radius: 20px;
}

.main_nav > ul > li > ul,
.main_nav > ul > li .menu ul,
#fixed_nav nav > ul > li > ul,
#fixed_nav nav > ul > li .menu ul {
  opacity: 0;
  visibility: hidden;
  display: grid;
  font-size: 90%;
  position: absolute;
  z-index: 200;
  top: 63px;
  left: 0px;
  width: 300px;
  grid-template-columns: repeat(1, 1fr);
  transition: 0.4s;
  background-color: #fff;
  border: 1px solid #a2d538;
  box-shadow: rgba(170, 170, 170, 0.1) 0 0 2px 2px;
}
.main_nav > ul > li > ul > li,
.main_nav > ul > li .menu ul > li,
#fixed_nav nav > ul > li > ul > li,
#fixed_nav nav > ul > li .menu ul > li {
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  transition-delay: 0.1s;
  z-index: -300;
}
.main_nav > ul > li > ul > li > a,
.main_nav > ul > li .menu ul > li > a,
#fixed_nav nav > ul > li > ul > li > a,
#fixed_nav nav > ul > li .menu ul > li > a {
  width: 100%;
  color: #555;
  display: block;
  padding: 10px 10px;
}
.main_nav > ul > li > ul > li > a:hover,
.main_nav > ul > li .menu ul > li > a:hover,
#fixed_nav nav > ul > li > ul > li > a:hover,
#fixed_nav nav > ul > li .menu ul > li > a:hover {
  color: #888;
  background-color: rgba(162, 213, 56, 0.2);
}
.main_nav > ul > li > ul > li:hover > a,
.main_nav > ul > li .menu ul > li:hover > a,
#fixed_nav nav > ul > li > ul > li:hover > a,
#fixed_nav nav > ul > li .menu ul > li:hover > a {
  color: #888;
}
.main_nav > ul > li:hover > ul,
#fixed_nav nav > ul > li:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 66px;
}
.main_nav > ul > li:hover > ul > li,
#fixed_nav nav > ul > li:hover > ul > li {
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.main_nav > ul > li.col_2 > ul,
#fixed_nav nav > ul > li.col_2 > ul {
  left: -100px;
  width: 300px;
  grid-template-columns: repeat(2, 1fr);
}
.main_nav > ul > li.col_2 > ul > li,
#fixed_nav nav > ul > li.col_2 > ul > li {
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.main_nav > ul > li.col_3 > ul,
#fixed_nav nav > ul > li.col_3 > ul {
  left: -150px;
  width: 450px;
  grid-template-columns: repeat(3, 1fr);
}
.main_nav > ul > li.col_3 > ul > li,
#fixed_nav nav > ul > li.col_3 > ul > li {
  border-right: 1px solid #eee;
}

.main_nav.type_white > ul > li > ul,
.main_nav.type_white > ul > li .menu ul,
#fixed_nav nav.type_white > ul > li > ul,
#fixed_nav nav.type_white > ul > li .menu ul {
  opacity: 0;
  visibility: hidden;
  display: grid;
  font-size: 90%;
  position: absolute;
  z-index: 100;
  top: 43px;
  left: 0px;
  width: 250px;
  grid-template-columns: repeat(1, 1fr);
  transition: 0.5s;
  background-color: rgba(162, 213, 56, 0.9);
  border: 1px solid rgba(162, 213, 56, 0.3);
}
.main_nav.type_white > ul > li > ul > li,
.main_nav.type_white > ul > li .menu ul > li,
#fixed_nav nav.type_white > ul > li > ul > li,
#fixed_nav nav.type_white > ul > li .menu ul > li {
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  transition-delay: 0.1s;
  z-index: -300;
  border-bottom: 1px solid rgba(162, 213, 56, 0.8);
}
.main_nav.type_white > ul > li > ul > li > a,
.main_nav.type_white > ul > li .menu ul > li > a,
#fixed_nav nav.type_white > ul > li > ul > li > a,
#fixed_nav nav.type_white > ul > li .menu ul > li > a {
  width: 100%;
  color: #fff;
  display: block;
  padding: 10px 10px;
}
.main_nav.type_white > ul > li > ul > li > a:hover,
.main_nav.type_white > ul > li .menu ul > li > a:hover,
#fixed_nav nav.type_white > ul > li > ul > li > a:hover,
#fixed_nav nav.type_white > ul > li .menu ul > li > a:hover {
  color: #fff;
  background-color: rgba(162, 213, 56, 0.8);
}
.main_nav.type_white > ul > li > ul > li:hover > a,
.main_nav.type_white > ul > li .menu ul > li:hover > a,
#fixed_nav nav.type_white > ul > li > ul > li:hover > a,
#fixed_nav nav.type_white > ul > li .menu ul > li:hover > a {
  color: #fff;
}
.main_nav.type_white > ul > li:hover > ul,
#fixed_nav nav.type_white > ul > li:hover > ul {
  opacity: 1;
  visibility: visible;
  top: 36px;
}
.main_nav.type_white > ul > li:hover > ul > li,
#fixed_nav nav.type_white > ul > li:hover > ul > li {
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.main_nav.type_white > ul > li.col_2 > ul,
#fixed_nav nav.type_white > ul > li.col_2 > ul {
  left: -100px;
  width: 300px;
  grid-template-columns: repeat(2, 1fr);
}
.main_nav.type_white > ul > li.col_2 > ul > li,
#fixed_nav nav.type_white > ul > li.col_2 > ul > li {
  border-right: 1px solid rgba(162, 213, 56, 0.6);
}
.main_nav.type_white > ul > li.col_3 > ul,
#fixed_nav nav.type_white > ul > li.col_3 > ul {
  left: -150px;
  width: 450px;
  grid-template-columns: repeat(3, 1fr);
}
.main_nav.type_white > ul > li.col_3 > ul > li,
#fixed_nav nav.type_white > ul > li.col_3 > ul > li {
  border-right: 1px solid rgba(162, 213, 56, 0.6);
}

.firstview {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 90;
}
.firstview.type1:before {
  background-image: url(../images/house/01.jpg);
}
.firstview.type2:before {
  background-image: url(../images/house/02.jpg);
}
.firstview.type3:before {
  background-image: url(../images/house/19.jpg);
}
.firstview.type4:before {
  background-image: url(../images/house/16.jpg);
}
.firstview.type5:before {
  background-image: url(../images/house/05.jpg);
}
.firstview.type6:before {
  background-image: url(../images/house/06.jpg);
}
.firstview.type7:before {
  background-image: url(../images/house/07.jpg);
}
.firstview.type8:before {
  background-image: url(../images/house/08.jpg);
}
.firstview.type9:before {
  background-image: url(../images/nursery/09.jpg);
}
.firstview.type10:before {
  background-image: url(../images/house/deco_line01.png);
}
.firstview.type11:before {
  background-image: url(../images/nursery/11.jpg);
}
.firstview.type12:before {
  background-image: url(../images/nursery/12.jpg);
}
.firstview.type13:before {
  background-image: url(../images/nursery/13.jpg);
}
.firstview.type14:before {
  background-image: url(../images/nursery/14.jpg);
}
.firstview.type15:before {
  background-image: url(../images/nursery/15.jpg);
}
.firstview.type16:before {
  background-image: url(../images/nursery/16.jpg);
}
.firstview.bg_gray {
  background-color: inherit !important;
}
.firstview.bg_gray:before {
  filter: grayscale(100%);
}
.firstview.bg_blur {
  overflow: hidden;
}
.firstview.bg_blur:before {
  filter: blur(4px);
}
.firstview.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.firstview.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.firstview.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.firstview.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.firstview.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.firstview.bg_base {
  background-color: inherit !important;
}
.firstview.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.firstview.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.firstview.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.firstview.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.firstview.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.firstview.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.firstview.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.firstview.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.firstview.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.firstview.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.firstview.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.firstview.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
.firstview .logomark {
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
}
@media all and (max-width: 639px) {
  .firstview .logomark img {
    max-width: 280px;
  }
}

.firstview_wrap h2 span,
.firstview_wrap p {
  line-height: 1.2;
}

.firstview_wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 10;
}
.firstview_wrap.center {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  align-items: center;
  text-align: center;
}
.firstview_wrap.center.vw {
  align-items: center;
}
.firstview_wrap.left {
  left: 2em;
  width: 100%;
  height: 100%;
  align-items: start;
  text-align: left;
}
.firstview_wrap.right {
  right: 2em;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  text-align: right;
}
.firstview_wrap.bottom {
  bottom: 2em;
  justify-content: flex-end;
}
.firstview_wrap.vw {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  width: auto;
  top: 0;
  height: 100%;
  align-items: start;
  text-align: left;
  line-height: 1.4;
}
.firstview_wrap.vw p {
  margin-top: 1.5em;
  line-height: 1.6;
}
.firstview_wrap.vw p span.box {
  padding: 2rem 0.8rem;
}
@media all and (max-width: 639px) {
  .firstview_wrap.vw p {
    margin-top: 5.5em;
  }
}
.firstview_wrap .inner {
  max-width: calc(100% - 600px);
  width: 100%;
}
@media all and (max-width: 896px) {
  .firstview_wrap .inner {
    max-width: 100%;
  }
}

.first_timetable {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 560px;
  height: 260px;
  padding: 20px;
  background-color: rgba(162, 213, 56, 0.6);
}
@media all and (max-width: 896px) {
  .first_timetable {
    display: none;
  }
}
.first_timetable .tbl_timetable {
  font-size: 80% !important;
  margin: 0;
}
.first_timetable .tbl_timetable th,
.first_timetable .tbl_timetable td {
  padding: 15px 2px !important;
}

.swiper_main {
  overflow: hidden;
  position: relative;
}
.swiper_main.type_r .swiper-wrapper,
.swiper_main.type_r .slide-media {
  position: relative;
  height: 50%;
  width: 90vw;
  height: auto;
  margin: 0 0 0 auto;
}
@media all and (max-width: 639px) {
  .swiper_main.type_r .swiper-wrapper,
  .swiper_main.type_r .slide-media {
    width: 95vw;
  }
}
.swiper_main.type_r .swiper-wrapper:before,
.swiper_main.type_r .slide-media:before {
  content: "";
  display: block;
  padding-top: 50%;
}
@media all and (max-width: 639px) {
  .swiper_main.type_r .swiper-wrapper:before,
  .swiper_main.type_r .slide-media:before {
    padding-top: 80%;
  }
}
.swiper_main.type_r .swiper-wrapper img,
.swiper_main.type_r .slide-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.swiper_main.small {
  height: 70vh;
  width: 100%;
  margin: 0 auto;
}
.swiper_main.small .swiper {
  overflow: visible;
}
.swiper_main.small .slide-media {
  height: 70vh;
}
@media all and (max-width: 896px) {
  .swiper_main.small {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  .swiper_main.small {
    height: 70vh;
    width: 100%;
  }
  .swiper_main.small .slide-media {
    width: 100%;
    height: 70vh;
  }
}
.swiper_main.size_s {
  height: 70vh;
  width: 90vw;
  margin: 0 auto;
}
.swiper_main.size_s .swiper {
  overflow: visible;
}
.swiper_main.size_s .slide-media {
  height: 70vh;
}
@media all and (max-width: 896px) {
  .swiper_main.size_s {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  .swiper_main.size_s {
    height: auto;
    width: 65vw;
  }
  .swiper_main.size_s .slide-media {
    width: 65vw;
    height: auto;
  }
}
.swiper_main .swiper-wrapper {
  position: relative;
  overflow: hidden;
}
.swiper_main .swiper-wrapper.bg_gray {
  background-color: inherit !important;
}
.swiper_main .swiper-wrapper.bg_gray:before {
  filter: grayscale(100%);
}
.swiper_main .swiper-wrapper.bg_blur {
  overflow: hidden;
}
.swiper_main .swiper-wrapper.bg_blur:before {
  filter: blur(4px);
}
.swiper_main .swiper-wrapper.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.swiper_main .swiper-wrapper.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.swiper_main .swiper-wrapper.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.swiper_main .swiper-wrapper.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.swiper_main .swiper-wrapper.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.swiper_main .swiper-wrapper.bg_base {
  background-color: inherit !important;
}
.swiper_main .swiper-wrapper.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.swiper_main .swiper-wrapper.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .swiper-wrapper.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.swiper_main .swiper-wrapper.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .swiper-wrapper.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.swiper_main .swiper-wrapper.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .swiper-wrapper.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.swiper_main .swiper-wrapper.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .swiper-wrapper.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.swiper_main .swiper-wrapper.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .swiper-wrapper.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.swiper_main .swiper-wrapper.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
.swiper_main .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.swiper_main .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper_main .swiper-pagination {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 3.2rem;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  margin: auto;
}
.swiper_main .swiper-pagination-bullet {
  display: block;
  width: 3px;
  height: 4rem;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  background-color: rgba(255, 255, 255, 0.4);
}
.swiper_main .swiper-pagination-bullet:not(:first-child) {
  margin-top: 0.8rem;
}
.swiper_main .swiper-pagination-bullet-active {
  background-color: #a2d538;
}
.swiper_main .slide-media {
  height: 100vh;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.swiper_main .slide-media.bg_gray {
  background-color: inherit !important;
}
.swiper_main .slide-media.bg_gray:before {
  filter: grayscale(100%);
}
.swiper_main .slide-media.bg_blur {
  overflow: hidden;
}
.swiper_main .slide-media.bg_blur:before {
  filter: blur(4px);
}
.swiper_main .slide-media.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.swiper_main .slide-media.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.swiper_main .slide-media.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.swiper_main .slide-media.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.swiper_main .slide-media.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.swiper_main .slide-media.bg_base {
  background-color: inherit !important;
}
.swiper_main .slide-media.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.swiper_main .slide-media.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .slide-media.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.swiper_main .slide-media.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .slide-media.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.swiper_main .slide-media.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .slide-media.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.swiper_main .slide-media.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .slide-media.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.swiper_main .slide-media.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.swiper_main .slide-media.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.swiper_main .slide-media.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .swiper_main .slide-media {
    height: 95vh;
  }
}
.swiper_main .slide-media img,
.swiper_main .slide-media source {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: 7s 1s ease-out;
  transition: 7s 1s ease-out;
}
.swiper_main .slide-title {
  font-size: 4rem;
  font-weight: normal;
  line-height: 1.6;
  position: absolute;
  right: 8rem;
  bottom: 15%;
  margin-left: 16rem;
  text-align: right;
  color: #fff;
}
.swiper_main .swiper-slide[class*=-active] .slide-media img {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.swiper_main .swiper-slide[class*=-active] .slide-title {
  -webkit-animation: mv01-fadeIn 2s 0.5s cubic-bezier(0.2, 1, 0.2, 1) both;
  animation: mv01-fadeIn 2s 0.5s cubic-bezier(0.2, 1, 0.2, 1) both;
}

@media only screen and (max-width: 599px) {
  .mv01 .slide-title {
    font-size: 2.8rem;
    right: 4rem;
    margin-left: 6rem;
  }
}
@-webkit-keyframes mv01-fadeIn {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes mv01-fadeIn {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
.sliderlist01 {
  overflow: hidden;
}
.sliderlist01 .swiper {
  overflow: visible;
}
.sliderlist01 .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.sliderlist01 .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.sliderlist01 .slide {
  overflow: hidden;
  width: 30rem;
}
.sliderlist01 .slide-media {
  height: 15em;
}
.sliderlist01 .slide-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sliderlist01 .slide-content {
  padding: 3.2rem;
}
.sliderlist01 .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: #a2d538;
}
.sliderlist01 .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}

@media only screen and (min-width: 1025px) {
  .sliderlist01 .slide {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .sliderlist01 .slide img {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .sliderlist01 .slide:hover {
    -webkit-box-shadow: 1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff;
    box-shadow: 1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff;
  }
  .sliderlist01 .swiper:hover .slide:not(:hover) {
    opacity: 0.3;
  }
}
@media all and (max-width: 639px) {
  .sliderlist01 .slide {
    width: 25rem;
  }
}
.slider_swiper_sliderlist_wide {
  overflow: visible;
  margin-bottom: 40px;
}
.slider_swiper_sliderlist_wide.radius .slide-media {
  border-radius: 30px;
}
.slider_swiper_sliderlist_wide .swiper {
  overflow: visible;
}
.slider_swiper_sliderlist_wide .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.slider_swiper_sliderlist_wide li {
  margin: 0 5px;
}
.slider_swiper_sliderlist_wide li:nth-child(even) {
  transform: translateY(40px);
}
.slider_swiper_sliderlist_wide .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.slider_swiper_sliderlist_wide .slide {
  overflow: visible;
  max-width: 400px;
  width: 100%;
}
.slider_swiper_sliderlist_wide .slide-media {
  height: 407px;
  overflow: hidden;
}
.slider_swiper_sliderlist_wide .slide-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider_swiper_sliderlist_wide .slide-content {
  padding: 3.2rem;
}
.slider_swiper_sliderlist_wide .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: #a2d538;
}
.slider_swiper_sliderlist_wide .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}

@media only screen and (min-width: 1025px) {
  .slider_swiper_sliderlist_wide .slide {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .slider_swiper_sliderlist_wide .slide img {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
}
@media all and (max-width: 639px) {
  .slider_swiper_sliderlist_wide .slide {
    max-width: 200px;
  }
  .slider_swiper_sliderlist_wide .slide-media {
    height: 250px;
  }
}
/* 

[class*="swiper"]:focus {
    outline: none;
}

.slide-media,
.thumb-media {
    position: relative;
    overflow: hidden;
}

.slide-media img,
.thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}


.swiper-button-prev,
.swiper-button-next {
    display: grid;
    place-content: center;
    width: 6.4rem;
    height: 6.4rem;
    cursor: pointer;
    -webkit-transition: $transition;
    transition: $transition;
    border-radius: 50%;
    background-color: $base_color;
    box-shadow: $box_shadow;
    @include for-size(phone-only) {
        width: 4.4rem;
        height: 4.4rem;
    }
}

@media only screen and (min-width: 1025px) {
    .swiper-button-prev::before,
    .swiper-button-next::before {
        -webkit-transition: $transition;
        transition: $transition;
    }

    .swiper-button-prev:hover::before,
    .swiper-button-next:hover::before {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }
}

.swiper-button-prev::before,
.swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    -webkit-box-shadow: $box_shadow;
    box-shadow: $box_shadow;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    border: solid $bg_gray;
    border-width: 3px 3px 0 0;
}

.swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
}


*/
.card01 .swiper-area {
  position: relative;
}
.card01 .swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3.2rem;
  text-align: center;
}
.card01 .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  vertical-align: top;
  background-color: #f2f2f2;
}
.card01 .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: #a2d538;
}
.card01 .swiper-button-prev,
.card01 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.card01 .swiper-button-prev {
  right: calc(100% + 2.4rem);
}
.card01 .swiper-button-next {
  left: calc(100% + 2.4rem);
}
.card01 .slide-media {
  padding-top: 62.5%;
  border-radius: 4px;
}
.card01 .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}
.card01 .slide-content {
  padding: 3.2rem 0;
}
.card01 .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: #a2d538;
}
.card01 .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}

@media only screen and (min-width: 1025px) {
  .card01 .swiper {
    padding-top: 16px;
  }
}
@media only screen and (max-width: 1024px) {
  .card01 .swiper-button-prev::before,
  .card01 .swiper-button-next::before {
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
    box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
  }
}
@media only screen and (max-width: 1024px) {
  .card01 .swiper-button-prev::after,
  .card01 .swiper-button-next::after {
    border-color: #fff;
  }
}
@media only screen and (max-width: 1024px) {
  .card01 .swiper-button-prev {
    right: calc(100% - 3.2rem);
  }
}
@media only screen and (max-width: 1024px) {
  .card01 .swiper-button-next {
    left: calc(100% - 3.2rem);
  }
}
@media only screen and (min-width: 1025px) {
  .card01 .slide {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .card01 .slide img {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .card01 .slide:hover {
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
  }
  .card01 .slide:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.card03 {
  /* コンテナ */
  overflow: hidden;
  /* 前へ / 次へボタン */
  /* スライド */
  /* スライド アクティブ時 */
}
.card03 .swiper {
  overflow: visible;
}
.card03 .swiper-button-prev,
.card03 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.card03 .swiper-button-prev::before,
.card03 .swiper-button-next::before {
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
  box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
}
.card03 .swiper-button-prev::after,
.card03 .swiper-button-next::after {
  border-color: #fff;
}
.card03 .swiper-button-prev {
  right: calc(100% - 1.6rem);
}
.card03 .swiper-button-next {
  left: calc(100% - 1.6rem);
}
.card03 .slide {
  overflow: hidden;
  -webkit-transition: 0.8s, opacity 1s;
  transition: 0.8s, opacity 1s;
  border-radius: 4px;
  -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
  box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
}
.card03 .slide-media {
  padding-top: 62.5%;
}
.card03 .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}
.card03 .slide-content {
  padding: 3.2rem;
}
.card03 .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: #a2d538;
}
.card03 .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}
.card03 .swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
  opacity: 0.3;
}

@media only screen and (max-width: 1024px) {
  .card03 .swiper {
    padding: 0 3.2rem;
  }
}
@media only screen and (max-width: 1024px) {
  .card03 .swiper-button-prev {
    right: calc(100% - 5.2rem);
  }
}
@media only screen and (max-width: 1024px) {
  .card03 .swiper-button-next {
    left: calc(100% - 5.2rem);
  }
}
@media only screen and (min-width: 1025px) {
  .card03 .slide img {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .card03 .slide:hover {
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
    -webkit-box-shadow: var(1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff);
    box-shadow: var(1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff);
  }
  .card03 .slide:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.card04 {
  /* コンテナ */
  overflow: hidden;
  /* 前へ / 次へボタン */
  /* スライダー非活性時 */
  /* スライダー非活性時 */
  /* スライド */
}
.card04 .swiper {
  overflow: visible;
}
.card04 .swiper-button-prev,
.card04 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.card04 .swiper-button-prev::before,
.card04 .swiper-button-next::before {
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
  box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
}
.card04 .swiper-button-prev::after,
.card04 .swiper-button-next::after {
  border-color: #fff;
}
.card04 .swiper-button-prev {
  right: calc(100% - 1.6rem);
}
.card04 .swiper-button-next {
  left: calc(100% - 1.6rem);
}
.card04 .swiper-a:not(.swiper-initialized) {
  padding: 0;
}
.card04 .swiper-a:not(.swiper-initialized) .swiper-button-prev,
.card04 .swiper-a:not(.swiper-initialized) .swiper-button-next {
  display: none;
}
.card04 .swiper-a:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.card04 .swiper-b:not(.swiper-initialized) {
  padding: 0;
}
.card04 .swiper-b:not(.swiper-initialized) .swiper-button-prev,
.card04 .swiper-b:not(.swiper-initialized) .swiper-button-next {
  display: none;
}
.card04 .swiper-b:not(.swiper-initialized) .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.card04 .slide {
  overflow: hidden;
  border-radius: 4px;
  -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
  box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
}
.card04 .slide-media {
  padding-top: 62.5%;
}
.card04 .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}
.card04 .slide-content {
  padding: 3.2rem;
}
.card04 .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: #a2d538;
}
.card04 .slide-title {
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  height: 3.2em;
  margin-top: 1.6rem;
}

@media only screen and (max-width: 1024px) {
  .card04 .swiper {
    padding: 0 3.2rem;
  }
}
@media only screen and (max-width: 1024px) {
  .card04 .swiper-button-prev {
    right: calc(100% - 5.2rem);
  }
}
@media only screen and (max-width: 1024px) {
  .card04 .swiper-button-next {
    left: calc(100% - 5.2rem);
  }
}
@media only screen and (max-width: 1024px) and (min-width: 600px) {
  .card04 .swiper-b:not(.swiper-initialized) .swiper-wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media only screen and (max-width: 599px) {
  .card04 .swiper-b:not(.swiper-initialized) .swiper-wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media only screen and (min-width: 1025px) {
  .card04 .slide {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .card04 .slide img {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .card04 .slide:hover {
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
    -webkit-box-shadow: var(1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff);
    box-shadow: var(1rem 1rem 1.5rem rgba(0, 0, 0, 0.08), -1rem -1rem 1.5rem #fff);
  }
  .card04 .slide:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.gallery02 {
  /* コンテナ */
  overflow: hidden;
  /* フェードモード時 共通調整 */
  /* コントローラー */
  /* 前へ / 次へボタン */
  /* スライド */
  /* サムネイル */
}
.gallery02 .swiper,
.gallery02 .thumb-wrapper {
  max-width: 720px;
  margin: auto;
}
.gallery02 .swiper {
  overflow: visible;
}
.gallery02 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.gallery02 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.gallery02 .swiper-controller {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 62.5%;
}
.gallery02 .swiper-button-prev,
.gallery02 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.gallery02 .swiper-button-prev {
  right: calc(100% + 3.2rem);
}
.gallery02 .swiper-button-next {
  left: calc(100% + 3.2rem);
}
.gallery02 .slide {
  display: block;
  overflow: hidden;
}
.gallery02 .slide-media {
  display: block;
  padding-top: 62.5%;
  border-radius: 4px;
}
.gallery02 .slide-media img {
  -o-object-fit: contain;
  object-fit: contain;
}
.gallery02 .slide-title {
  font-weight: bold;
  line-height: 1.6;
  padding: 3.2rem 0;
}
.gallery02 .thumb-wrapper {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}
.gallery02 .thumb-media {
  padding-top: 100%;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  border-radius: 4px;
}
.gallery02 .thumb-media img {
  -webkit-transition: 0.8s;
  transition: 0.8s;
}
.gallery02 .thumb-media-active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  opacity: 0.3;
}
.gallery02 .thumb-media-active img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

@media only screen and (max-width: 1024px) {
  .gallery02 .swiper-button-prev::before,
  .gallery02 .swiper-button-next::before {
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
    box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1), -0.8rem -0.8rem 1.2rem rgba(255, 255, 255, 0.2);
  }
}
@media only screen and (max-width: 1024px) {
  .gallery02 .swiper-button-prev::after,
  .gallery02 .swiper-button-next::after {
    border-color: #fff;
  }
}
@media only screen and (max-width: 1024px) {
  .gallery02 .swiper-button-prev {
    right: calc(100% - 3.2rem);
  }
}
@media only screen and (max-width: 1024px) {
  .gallery02 .swiper-button-next {
    left: calc(100% - 3.2rem);
  }
}
@media only screen and (max-width: 599px) {
  .gallery02 .thumb-wrapper {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media only screen and (min-width: 1025px) {
  .gallery02 .thumb-media:hover {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  .gallery02 .thumb-media:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.gallery03 {
  margin-bottom: 16rem;
  /* コンテナ */
  /* スライド */
}
.gallery03 .inside {
  padding-bottom: 0;
}
.gallery03 .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.gallery03 .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.gallery03 .slide {
  width: var(--slide-width);
  -webkit-transition: 0.8s;
  transition: 0.8s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  --slide-width: 200px;
}
.gallery03 .slide-media {
  height: var(--slide-width);
}
.gallery03 .slide-content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 3.2rem 1.6rem 1.6rem;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  opacity: 0;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0.3)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 50%);
}
.gallery03 .slide-title {
  font-size: 1.4rem;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.gallery03 .slide:hover {
  width: calc(var(--slide-width) * 1.5);
}
.gallery03 .slide:hover .slide-content {
  opacity: 1;
}

@media only screen and (max-width: 599px) {
  .gallery03 {
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 599px) {
  .gallery03 .slide {
    --slide-width: 120px;
  }
}
.mv02 {
  margin-bottom: 16rem;
  /* ページネーション */
  /* フェードモード時 共通調整 */
  /* スライド */
  /* スライド アクティブ時 */
}
.mv02 .inside {
  padding-bottom: 0;
}
.mv02 .swiper-pagination {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  margin: auto;
}
.mv02 .swiper-pagination-bullet {
  display: block;
  width: 1.6rem;
  height: 2px;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  background-color: #fff;
}
.mv02 .swiper-pagination-bullet:not(:first-child) {
  margin-top: 1.6rem;
}
.mv02 .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: #a2d538;
}
.mv02 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.mv02 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.mv02 .slide {
  display: grid;
  place-content: center;
  height: 800px;
  padding: 0 8rem;
  text-align: center;
}
.mv02 .slide-media {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mv02 .slide-media img {
  -webkit-transition: 7s 1s linear;
  transition: 7s 1s linear;
  -webkit-transform: translateX(-1.5%) scale(1.1);
  transform: translateX(-1.5%) scale(1.1);
}
.mv02 .slide-title,
.mv02 .slide-text,
.mv02 .slide-link {
  -webkit-animation: 2s cubic-bezier(0.2, 1, 0.2, 1) both;
  animation: 2s cubic-bezier(0.2, 1, 0.2, 1) both;
  opacity: 0;
}
.mv02 .slide-title {
  font-size: 6rem;
  line-height: 1.1;
  color: #a2d538;
}
.mv02 .slide-text {
  font-size: 1.8rem;
  margin: 4rem 0;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
  color: #fff;
}
.mv02 .slide-link {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.mv02 .slide-button {
  font-size: 1.2rem;
  font-weight: bold;
  display: inline-block;
  color: #a2d538;
}
.mv02 .slide-button::before {
  display: inline-block;
  width: 6rem;
  height: 1px;
  margin: -2px 1.6rem 0 0;
  content: "";
  vertical-align: middle;
  background-color: currentColor;
}
.mv02 .swiper-slide[class*=-active] .slide-media img {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translateX(1.5%) scale(1.05);
  transform: translateX(1.5%) scale(1.05);
}
.mv02 .swiper-slide.anm-started .slide-title,
.mv02 .swiper-slide.anm-started .slide-text,
.mv02 .swiper-slide.anm-started .slide-link {
  -webkit-animation-name: mv02-fadeIn;
  animation-name: mv02-fadeIn;
}
.mv02 .swiper-slide.anm-finished .slide-title,
.mv02 .swiper-slide.anm-finished .slide-text,
.mv02 .swiper-slide.anm-finished .slide-link {
  -webkit-animation-name: mv02-fadeOut;
  animation-name: mv02-fadeOut;
}

@media only screen and (max-width: 1024px) {
  .mv02 {
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv02 .slide-title {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv02 .slide-text {
    font-size: 1.6rem;
    margin: 3.2rem 0;
  }
}
@-webkit-keyframes mv02-fadeIn {
  0% {
    -webkit-transform: translateY(6rem);
    transform: translateY(6rem);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes mv02-fadeIn {
  0% {
    -webkit-transform: translateY(6rem);
    transform: translateY(6rem);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes mv02-fadeOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-6rem);
    transform: translateY(-6rem);
    opacity: 0;
  }
}
@keyframes mv02-fadeOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-6rem);
    transform: translateY(-6rem);
    opacity: 0;
  }
}
.mv04 {
  margin-bottom: 16rem;
  /* コンテナ */
  /* フェードモード時 共通調整 */
  /* プログレスバー */
  /* スライド */
  /* スライド アクティブ時 */
}
.mv04 .inside {
  padding-bottom: 0;
}
.mv04 .swiper {
  background-color: #333;
}
.mv04 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.mv04 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.mv04 .progressbar {
  position: relative;
  width: 100%;
  height: 4px;
  background-color: #f2f2f2;
}
.mv04 .progressbar-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  background-color: #a2d538;
}
.mv04 .swiper-slide {
  height: auto;
}
.mv04 .slide-media {
  height: 800px;
}
.mv04 .slide-media img {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
.mv04 .slide-content {
  color: #fff;
}
.mv04 .slide-title {
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.mv04 .slide-fraction {
  font-weight: bold;
  position: relative;
  text-align: center;
  --size: 96px;
}
.mv04 .slide-fraction .circle {
  display: block;
  width: var(--size);
  height: var(--size);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.mv04 .slide-fraction .circle svg {
  width: 100%;
  height: 100%;
  fill: none;
}
.mv04 .slide-fraction .circle-01 {
  stroke: rgba(255, 255, 255, 0.3);
  stroke-width: 1px;
}
.mv04 .slide-fraction .circle-02 {
  stroke: #a2d538;
  stroke-width: 2px;
  stroke-dasharray: 201.056px;
  stroke-dashoffset: 201.056px;
}
.mv04 .slide-fraction .current {
  font-size: 2.4rem;
  line-height: var(--size);
  position: absolute;
  top: 0.05em;
  left: 0;
  width: var(--size);
  text-align: center;
  color: #a2d538;
}
.mv04 .slide-fraction .total {
  font-size: 1.6rem;
}
.mv04 .slide-fraction .total::before {
  position: relative;
  display: block;
  width: 3px;
  height: 1em;
  margin: -3px auto 0.5em;
  content: "";
  background-color: #a2d538;
}
.mv04 .swiper-slide[class*=-active] .slide-media img {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.mv04 .swiper-slide[class*=-active] .slide-fraction .circle-02 {
  -webkit-animation: mv04-circle linear both;
  animation: mv04-circle linear both;
}

@media only screen and (max-width: 599px) {
  .mv04 {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 600px) {
  .mv04 .slide-media::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 40%;
    content: "";
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0.5)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 50%);
    mix-blend-mode: soft-light;
  }
}
@media only screen and (min-width: 600px) {
  .mv04 .slide-content {
    position: absolute;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}
@media only screen and (min-width: 1025px) {
  .mv04 .slide-content {
    padding: 6.4rem;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 600px) {
  .mv04 .slide-content {
    padding: 3.2rem;
  }
}
@media only screen and (max-width: 599px) {
  .mv04 .slide-content {
    position: relative;
  }
}
@media only screen and (max-width: 599px) {
  .mv04 .slide-title {
    font-weight: normal;
    padding: 3.2rem 4rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv04 .slide-fraction {
    --size: 64px;
  }
}
@media only screen and (min-width: 1025px) {
  .mv04 .slide-fraction {
    margin-right: 6.4rem;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 600px) {
  .mv04 .slide-fraction {
    margin-right: 3.2rem;
  }
}
@media only screen and (max-width: 599px) {
  .mv04 .slide-fraction {
    position: absolute;
    bottom: calc(100% + 1rem);
    left: 4rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv04 .slide-fraction .total::before {
    width: 2px;
    margin-top: -2px;
  }
}
@-webkit-keyframes mv04-circle {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes mv04-circle {
  100% {
    stroke-dashoffset: 0;
  }
}
.mv05 {
  margin-bottom: 16rem;
  /* スライド */
  /* 前後のスライド */
  /* スライド外コンテンツ */
  /* ページネーション（分数） */
  /* マーカーアニメーション */
}
.mv05 .inside {
  padding-bottom: 0;
}
.mv05 .slide-media {
  height: 800px;
}
.mv05 .slide-media img {
  -webkit-transition: 3s;
  transition: 3s;
}
.mv05 .slide-media.clip {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-filter: contrast(1.1);
  filter: contrast(1.1);
  --stroke-width: 1.2rem;
  --out: 2.4rem;
  --in: calc(var(--out) + var(--stroke-width));
  -webkit-clip-path: polygon(var(--out) var(--out), calc(100% - var(--out)) var(--out), calc(100% - var(--out)) calc(100% - var(--out)), var(--out) calc(100% - var(--out)), var(--out) var(--in), var(--in) var(--in), var(--in) calc(100% - var(--in)), calc(100% - var(--in)) calc(100% - var(--in)), calc(100% - var(--in)) var(--in), var(--out) var(--in));
  clip-path: polygon(var(--out) var(--out), calc(100% - var(--out)) var(--out), calc(100% - var(--out)) calc(100% - var(--out)), var(--out) calc(100% - var(--out)), var(--out) var(--in), var(--in) var(--in), var(--in) calc(100% - var(--in)), calc(100% - var(--in)) calc(100% - var(--in)), calc(100% - var(--in)) var(--in), var(--out) var(--in));
}
.mv05 .swiper-slide {
  overflow: hidden;
}
.mv05 .swiper-slide[class*=-active] .slide-media.clip img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.mv05 .swiper-slide[class*=-prev] .slide-media img {
  -webkit-transform: translateX(80vw);
  transform: translateX(80vw);
}
.mv05 .swiper-slide[class*=-next] .slide-media img {
  -webkit-transform: translateX(-80vw);
  transform: translateX(-80vw);
}
.mv05 .content,
.mv05 .fraction {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  margin: auto;
}
.mv05 .content {
  pointer-events: none;
}
.mv05 .content-title {
  font-size: 6rem;
  line-height: 1.1;
  color: #a2d538;
}
.mv05 .content-text {
  font-size: 1.8rem;
  margin: 4rem 0;
  color: #fff;
}
.mv05 .content-button {
  font-size: 1.2rem;
  font-weight: bold;
  display: inline-block;
  color: #a2d538;
}
.mv05 .content-button::before {
  display: inline-block;
  width: 6rem;
  height: 1px;
  margin: -2px 1.6rem 0 0;
  content: "";
  vertical-align: middle;
  background-color: currentColor;
}
.mv05 .content.anm-started .content-button {
  pointer-events: auto;
}
.mv05 .fraction {
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
}
.mv05 .fraction .current {
  font-size: 3.2rem;
  display: inline-block;
  overflow: hidden;
  width: 6rem;
}
.mv05 .fraction .current .num {
  display: inline-block;
}
.mv05 .fraction .current .num.anm-started {
  -webkit-animation: mv05-fraction 1s cubic-bezier(0.2, 1, 0.2, 1);
  animation: mv05-fraction 1s cubic-bezier(0.2, 1, 0.2, 1);
}
.mv05 .fraction .total {
  vertical-align: 0.5em;
}
.mv05 .fraction .total::before {
  content: " / ";
}
.mv05 .marker {
  position: relative;
  display: inline-block;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}
.mv05 .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.mv05 .anm-started .marker {
  -webkit-animation: mv05-marker 1s 0.5s both;
  animation: mv05-marker 1s 0.5s both;
}
.mv05 .anm-started .marker::after {
  -webkit-animation: mv05-markerBg 1s 0.5s both;
  animation: mv05-markerBg 1s 0.5s both;
}
.mv05 .anm-started .content-text .marker {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.mv05 .anm-started .content-text .marker::after {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.mv05 .anm-started .content-link .marker {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.mv05 .anm-started .content-link .marker::after {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.mv05 .anm-finished .marker {
  -webkit-animation: mv05-markerHide 0.5s both;
  animation: mv05-markerHide 0.5s both;
}
.mv05 .anm-finished .marker::after {
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
}

@media only screen and (max-width: 599px) {
  .mv05 {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 1025px) {
  .mv05 .content {
    left: 24rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv05 .content {
    top: calc(20% + 6rem);
    right: 6rem;
    bottom: auto;
    left: 6rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv05 .content-title {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv05 .content-text {
    font-size: 1.6rem;
    margin: 2.4rem 0;
  }
}
@media only screen and (min-width: 1025px) {
  .mv05 .fraction {
    left: 8rem;
  }
}
@media only screen and (max-width: 1024px) {
  .mv05 .fraction {
    font-size: 1.2rem;
    top: 20%;
    bottom: auto;
    left: 6rem;
  }
}
@-webkit-keyframes mv05-marker {
  60%, 100% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
}
@keyframes mv05-marker {
  60%, 100% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
}
@-webkit-keyframes mv05-markerBg {
  60% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes mv05-markerBg {
  60% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes mv05-markerHide {
  0% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}
@keyframes mv05-markerHide {
  0% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes mv05-fraction {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-110%);
    transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    opacity: 0;
  }
}
@keyframes mv05-fraction {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-110%);
    transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    opacity: 0;
  }
}
/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
.product_gallery01,
.product_gallery02,
.product_gallery03 {
  overflow: hidden;
}
.product_gallery01 [class*=swiper]:focus,
.product_gallery02 [class*=swiper]:focus,
.product_gallery03 [class*=swiper]:focus {
  outline: none;
}
.product_gallery01 .slide-media,
.product_gallery01 .thumb-media,
.product_gallery02 .slide-media,
.product_gallery02 .thumb-media,
.product_gallery03 .slide-media,
.product_gallery03 .thumb-media {
  position: relative;
  overflow: hidden;
}
.product_gallery01 .slide-media img,
.product_gallery01 .thumb-media img,
.product_gallery02 .slide-media img,
.product_gallery02 .thumb-media img,
.product_gallery03 .slide-media img,
.product_gallery03 .thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.product_gallery01 .swiper-button-prev,
.product_gallery01 .swiper-button-next,
.product_gallery02 .swiper-button-prev,
.product_gallery02 .swiper-button-next,
.product_gallery03 .swiper-button-prev,
.product_gallery03 .swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  border-radius: 50%;
  background-color: #a2d538;
}
.product_gallery01 .swiper-button-prev:hover,
.product_gallery01 .swiper-button-next:hover,
.product_gallery02 .swiper-button-prev:hover,
.product_gallery02 .swiper-button-next:hover,
.product_gallery03 .swiper-button-prev:hover,
.product_gallery03 .swiper-button-next:hover {
  background-color: #476014;
}
@media all and (max-width: 639px) {
  .product_gallery01 .swiper-button-prev,
  .product_gallery01 .swiper-button-next,
  .product_gallery02 .swiper-button-prev,
  .product_gallery02 .swiper-button-next,
  .product_gallery03 .swiper-button-prev,
  .product_gallery03 .swiper-button-next {
    width: 4.4rem;
    height: 4.4rem;
    background: none;
  }
  .product_gallery01 .swiper-button-prev:hover,
  .product_gallery01 .swiper-button-next:hover,
  .product_gallery02 .swiper-button-prev:hover,
  .product_gallery02 .swiper-button-next:hover,
  .product_gallery03 .swiper-button-prev:hover,
  .product_gallery03 .swiper-button-next:hover {
    background-color: transparent;
  }
}
@media only screen and (min-width: 1025px) {
  .product_gallery01 .swiper-button-prev::before,
  .product_gallery01 .swiper-button-next::before,
  .product_gallery02 .swiper-button-prev::before,
  .product_gallery02 .swiper-button-next::before,
  .product_gallery03 .swiper-button-prev::before,
  .product_gallery03 .swiper-button-next::before {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .product_gallery01 .swiper-button-prev:hover::before,
  .product_gallery01 .swiper-button-next:hover::before,
  .product_gallery02 .swiper-button-prev:hover::before,
  .product_gallery02 .swiper-button-next:hover::before,
  .product_gallery03 .swiper-button-prev:hover::before,
  .product_gallery03 .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.product_gallery01 .swiper-button-prev::before,
.product_gallery01 .swiper-button-next::before,
.product_gallery02 .swiper-button-prev::before,
.product_gallery02 .swiper-button-next::before,
.product_gallery03 .swiper-button-prev::before,
.product_gallery03 .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
}
.product_gallery01 .swiper-button-prev::after,
.product_gallery01 .swiper-button-next::after,
.product_gallery02 .swiper-button-prev::after,
.product_gallery02 .swiper-button-next::after,
.product_gallery03 .swiper-button-prev::after,
.product_gallery03 .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid #f2f2f2;
  border-width: 3px 3px 0 0;
}
.product_gallery01 .swiper-button-prev::after,
.product_gallery02 .swiper-button-prev::after,
.product_gallery03 .swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.product_gallery01 .swiper-button-next::after,
.product_gallery02 .swiper-button-next::after,
.product_gallery03 .swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.product_gallery01 .swiper-button-disabled,
.product_gallery02 .swiper-button-disabled,
.product_gallery03 .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.product_gallery01 .swiper,
.product_gallery02 .swiper,
.product_gallery03 .swiper {
  margin: auto;
}
.product_gallery01 .swiper.swiper-main,
.product_gallery02 .swiper.swiper-main,
.product_gallery03 .swiper.swiper-main {
  max-width: 800px;
}
.product_gallery01 .swiper.swiper-thumb,
.product_gallery02 .swiper.swiper-thumb,
.product_gallery03 .swiper.swiper-thumb {
  max-width: 100%;
}
.product_gallery01 .swiper-main,
.product_gallery02 .swiper-main,
.product_gallery03 .swiper-main {
  overflow: visible;
  margin-bottom: 20px;
}
.product_gallery01 .swiper-thumb,
.product_gallery02 .swiper-thumb,
.product_gallery03 .swiper-thumb {
  padding-top: 8px;
}
.product_gallery01 .swiper-fade .swiper-slide,
.product_gallery02 .swiper-fade .swiper-slide,
.product_gallery03 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.product_gallery01 .swiper-fade .swiper-slide-active,
.product_gallery02 .swiper-fade .swiper-slide-active,
.product_gallery03 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.product_gallery01 .swiper-controller,
.product_gallery02 .swiper-controller,
.product_gallery03 .swiper-controller {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 62.5%;
}
.product_gallery01 .swiper-button-prev,
.product_gallery01 .swiper-button-next,
.product_gallery02 .swiper-button-prev,
.product_gallery02 .swiper-button-next,
.product_gallery03 .swiper-button-prev,
.product_gallery03 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.product_gallery01 .swiper-button-prev,
.product_gallery02 .swiper-button-prev,
.product_gallery03 .swiper-button-prev {
  right: calc(100% - 7rem);
}
.product_gallery01 .swiper-button-next,
.product_gallery02 .swiper-button-next,
.product_gallery03 .swiper-button-next {
  left: calc(100% - 7rem);
}
.product_gallery01 .swiper-scrollbar,
.product_gallery02 .swiper-scrollbar,
.product_gallery03 .swiper-scrollbar {
  position: relative;
  margin-top: 1.6rem;
}
.product_gallery01 .swiper-scrollbar::after,
.product_gallery02 .swiper-scrollbar::after,
.product_gallery03 .swiper-scrollbar::after {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  margin: auto;
  content: "";
  background-color: #eee;
}
.product_gallery01 .swiper-scrollbar-drag,
.product_gallery02 .swiper-scrollbar-drag,
.product_gallery03 .swiper-scrollbar-drag {
  height: 20px;
  padding: 8px 0;
  cursor: pointer;
  background-color: #a2d538;
  background-clip: content-box;
}
.product_gallery01 .swiper-scrollbar-drag:active,
.product_gallery02 .swiper-scrollbar-drag:active,
.product_gallery03 .swiper-scrollbar-drag:active {
  background-color: var(--color-theme-darken);
}
.product_gallery01 .slide,
.product_gallery02 .slide,
.product_gallery03 .slide {
  display: block;
  overflow: hidden;
  background-color: #f2f2f2;
  position: relative;
}
.product_gallery01 .slide-media,
.product_gallery02 .slide-media,
.product_gallery03 .slide-media {
  padding-top: 76.5%;
  border-radius: 5px;
  overflow: hidden;
}
.product_gallery01 .slide-media img,
.product_gallery02 .slide-media img,
.product_gallery03 .slide-media img {
  object-fit: contain;
}
.product_gallery01 .slide-title,
.product_gallery02 .slide-title,
.product_gallery03 .slide-title {
  font-weight: bold;
  line-height: 1.6;
  padding: 15px;
  width: 100%;
  color: #333;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 100;
}
.product_gallery01 .thumb-media,
.product_gallery02 .thumb-media,
.product_gallery03 .thumb-media {
  padding-top: 100%;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  border-radius: 4px;
}
.product_gallery01 .thumb-media img,
.product_gallery02 .thumb-media img,
.product_gallery03 .thumb-media img {
  height: calc(100% + 8px);
  -webkit-transition: 0.8s;
  transition: 0.8s;
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}
.product_gallery01 .swiper-slide-thumb-active,
.product_gallery02 .swiper-slide-thumb-active,
.product_gallery03 .swiper-slide-thumb-active {
  -webkit-transition: 0.8s;
  transition: 0.8s;
  opacity: 0.3;
}
.product_gallery01 .swiper-slide-thumb-active .thumb-media,
.product_gallery02 .swiper-slide-thumb-active .thumb-media,
.product_gallery03 .swiper-slide-thumb-active .thumb-media {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}
.product_gallery01 .swiper-slide-thumb-active .thumb-media img,
.product_gallery02 .swiper-slide-thumb-active .thumb-media img,
.product_gallery03 .swiper-slide-thumb-active .thumb-media img {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media only screen and (max-width: 1024px) {
  .product_gallery01 .swiper-button-prev::after,
  .product_gallery01 .swiper-button-next::after,
  .product_gallery02 .swiper-button-prev::after,
  .product_gallery02 .swiper-button-next::after,
  .product_gallery03 .swiper-button-prev::after,
  .product_gallery03 .swiper-button-next::after {
    border-color: #fff;
  }
}
@media only screen and (max-width: 1024px) {
  .product_gallery01 .swiper-button-prev,
  .product_gallery02 .swiper-button-prev,
  .product_gallery03 .swiper-button-prev {
    right: calc(100% - 3.2rem);
  }
}
@media only screen and (max-width: 1024px) {
  .product_gallery01 .swiper-button-next,
  .product_gallery02 .swiper-button-next,
  .product_gallery03 .swiper-button-next {
    left: calc(100% - 3.2rem);
  }
}
@media only screen and (min-width: 1025px) {
  .product_gallery01 .swiper-scrollbar-drag:hover,
  .product_gallery02 .swiper-scrollbar-drag:hover,
  .product_gallery03 .swiper-scrollbar-drag:hover {
    background-color: var(--color-theme-darken);
  }
}
@media only screen and (min-width: 1025px) {
  .product_gallery01 .thumb-media:hover,
  .product_gallery02 .thumb-media:hover,
  .product_gallery03 .thumb-media:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  .product_gallery01 .thumb-media:hover img,
  .product_gallery02 .thumb-media:hover img,
  .product_gallery03 .thumb-media:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.slider_swiper_card {
  overflow: hidden;
}
.slider_swiper_card [class*=swiper]:focus {
  outline: none;
}
.slider_swiper_card .slide-media,
.slider_swiper_card .thumb-media {
  position: relative;
  overflow: hidden;
}
.slider_swiper_card .slide-media img,
.slider_swiper_card .thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.slider_swiper_card .swiper ul.list_products {
  display: flex;
  align-items: stretch;
}
.slider_swiper_card .swiper ul.list_products li.swiper-slide {
  width: 33.33%;
  margin-top: 3px;
  margin-left: 3px;
  height: auto;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper ul.list_products li.swiper-slide {
    width: 90%;
  }
}
.slider_swiper_card .swiper_prev,
.slider_swiper_card .swiper_next {
  display: grid;
  place-content: center;
  width: 60px;
  height: 60px;
  background-color: #a2d538;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  border-radius: 50%;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper_prev,
  .slider_swiper_card .swiper_next {
    width: 30px;
    height: 30px;
  }
}
@media only screen and (min-width: 1025px) {
  .slider_swiper_card .swiper_prev::before,
  .slider_swiper_card .swiper_next::before {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .slider_swiper_card .swiper_prev:hover::before,
  .slider_swiper_card .swiper_next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.slider_swiper_card .swiper_prev::before,
.slider_swiper_card .swiper_next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
}
.slider_swiper_card .swiper_prev::after,
.slider_swiper_card .swiper_next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid #fff;
  border-width: 3px 3px 0 0;
}
.slider_swiper_card .swiper_prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.slider_swiper_card .swiper_next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.slider_swiper_card .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.slider_swiper_card .swiper {
  overflow: visible;
}
.slider_swiper_card .controller {
  display: flex;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  gap: 1.6rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 3.2rem;
}
.slider_swiper_card .swiper-pagination {
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 auto 0;
  text-align: center;
}
.slider_swiper_card .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  vertical-align: top;
  background-color: #f2f2f2;
}
.slider_swiper_card .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: #a2d538;
}
.slider_swiper_card .swiper_prev,
.slider_swiper_card .swiper_next {
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin: 0;
}
.slider_swiper_card .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}
.slider_swiper_card .swiper > ul > li {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  transition: 0.2s;
  position: relative;
}
@media all and (max-width: 896px) {
  .slider_swiper_card .swiper > ul > li .img {
    height: 200px;
  }
}
.slider_swiper_card .swiper > ul > li:hover .staff_img img,
.slider_swiper_card .swiper > ul > li:hover .img img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.slider_swiper_card .swiper > ul > li:hover .staff_name,
.slider_swiper_card .swiper > ul > li:hover .ttl {
  color: #4bb4a1;
  transition: 0.2s;
}
.slider_swiper_card .swiper > ul > li .detail {
  background-color: #fff;
  width: calc(100% - 50px);
  margin: -60px 0 0 auto;
  padding: 20px;
  z-index: 1;
  position: relative;
}
.slider_swiper_card .swiper > ul > li .ttl {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: bold;
  transition: 0.2s;
  color: #333;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper > ul > li .ttl {
    font-size: 1.4rem;
  }
}
.slider_swiper_card .swiper > ul > li .txt {
  line-height: 1.5;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  display: none;
  color: #333;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper > ul > li .txt {
    font-size: 12px;
  }
}
.slider_swiper_card .swiper > ul > li .img {
  width: 100%;
  height: 260px;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.slider_swiper_card .swiper > ul > li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}
.slider_swiper_card .swiper > ul > li .blog_date {
  color: #333;
}
.slider_swiper_card .swiper > ul > li .blog_category {
  line-height: 1.3;
  color: #333;
  padding: 5px 0;
}
.slider_swiper_card .swiper > ul > li.staff_li {
  max-width: 300px;
  width: 100%;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper > ul > li.staff_li {
    max-width: 100%;
  }
}
.slider_swiper_card .swiper > ul > li.staff_li .staff_detail {
  width: calc(100% - 0px);
  margin: 0 0 0 auto;
  padding: 10px 0;
  z-index: 1;
  position: relative;
}
.slider_swiper_card .swiper > ul > li.staff_li .staff_name {
  font-size: 2.8rem;
  line-height: 1.6;
  font-weight: normal;
  transition: 0.2s;
  color: #333;
  margin-bottom: 10px;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper > ul > li.staff_li .staff_name {
    font-size: 1.4rem;
  }
}
.slider_swiper_card .swiper > ul > li.staff_li .staff_txt {
  line-height: 1.5;
  color: #333;
  border-bottom: 1px solid #a2d538;
  display: inline;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper > ul > li.staff_li .staff_txt {
    font-size: 12px;
  }
}
.slider_swiper_card .swiper > ul > li.staff_li .staff_txt02 {
  line-height: 1.5;
  color: #333;
  font-size: 1.3rem;
  margin-top: 10px;
  padding-right: 20px;
  text-align: justify;
}
@media all and (max-width: 639px) {
  .slider_swiper_card .swiper > ul > li.staff_li .staff_txt02 {
    font-size: 1.2rem;
    display: none;
  }
}
.slider_swiper_card .swiper > ul > li.staff_li .staff_img {
  width: 80%;
  height: 300px;
  overflow: hidden;
  position: relative;
  z-index: 0;
  border-radius: 30px;
}
.slider_swiper_card .swiper > ul > li.staff_li .staff_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}

@media only screen and (max-width: 599px) {
  .slider_swiper_card .slide {
    width: 24rem;
  }
}
@media only screen and (min-width: 1025px) {
  .slider_swiper_card .slide {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .slider_swiper_card .slide img {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .slider_swiper_card .slide:hover {
    -webkit-transform: translateY(-16px);
    transform: translateY(-16px);
  }
  .slider_swiper_card .slide:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.flow01 {
  /* 前へ / 次へボタン */
  overflow: hidden;
}
.flow01 [class*=swiper]:focus {
  outline: none;
}
.flow01 .slide-media,
.flow01 .thumb-media {
  position: relative;
  overflow: hidden;
}
.flow01 .slide-media img,
.flow01 .thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.flow01 .swiper-button-prev,
.flow01 .swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  border-radius: 50%;
  background-color: #a2d538;
}
@media all and (max-width: 639px) {
  .flow01 .swiper-button-prev,
  .flow01 .swiper-button-next {
    width: 4.4rem;
    height: 4.4rem;
  }
}
@media only screen and (min-width: 1025px) {
  .flow01 .swiper-button-prev::before,
  .flow01 .swiper-button-next::before {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
  .flow01 .swiper-button-prev:hover::before,
  .flow01 .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.flow01 .swiper-button-prev::before,
.flow01 .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
  box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05), -0.8rem -0.8rem 1.2rem #fff;
}
.flow01 .swiper-button-prev::after,
.flow01 .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid #f2f2f2;
  border-width: 3px 3px 0 0;
}
.flow01 .swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.flow01 .swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.flow01 .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.flow01 .swiper-main {
  overflow: visible;
  max-width: 600px;
  margin: auto;
}
.flow01 .swiper-pagination-main {
  max-width: 600px;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 6.4rem;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1;
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-bottom: 2.4rem;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  text-align: center;
  color: #f2f2f2;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet::before, .flow01 .swiper-pagination-main .swiper-pagination-bullet::after {
  position: absolute;
  content: "";
  -webkit-transition: 0.8s;
  transition: 0.8s;
  background-color: #a2d538;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet::before {
  z-index: 1;
  right: 0;
  bottom: -6px;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  margin: auto;
  border-radius: 100px;
  -webkit-box-shadow: 0 0 0 5px #fff;
  box-shadow: 0 0 0 5px #fff;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet::after {
  right: 50%;
  bottom: 0;
  width: 100%;
  height: 3px;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet:first-child::after {
  display: none;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet .step {
  font-size: 1.6rem;
  display: none;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet-active {
  color: #a2d538;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet-active::before {
  -webkit-box-shadow: 0 0 0 4px #fff, 0 0 0 7px #a2d538;
  box-shadow: 0 0 0 4px #fff, 0 0 0 7px #a2d538;
}
.flow01 .swiper-pagination-main .swiper-pagination-bullet-active ~ *::before, .flow01 .swiper-pagination-main .swiper-pagination-bullet-active ~ *::after {
  background-color: #f2f2f2;
}
.flow01 .swiper-pagination-sub {
  font-size: 0;
  text-align: center;
}
.flow01 .swiper-pagination-sub .swiper-pagination-bullet {
  display: inline-block;
  width: 8px;
  height: 8px;
  cursor: pointer;
  -webkit-transition: 0.8s;
  transition: 0.8s;
  vertical-align: top;
  background-color: #f2f2f2;
}
.flow01 .swiper-pagination-sub .swiper-pagination-bullet:not(:first-child) {
  margin-left: 8px;
}
.flow01 .swiper-pagination-sub .swiper-pagination-bullet-active {
  background-color: #a2d538;
}
.flow01 .swiper-button-prev,
.flow01 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.flow01 .swiper-button-prev::before,
.flow01 .swiper-button-next::before {
  display: none;
}
.flow01 .swiper-button-prev::after,
.flow01 .swiper-button-next::after {
  position: relative;
  width: 1.6rem;
  height: 1.6rem;
  content: "";
  border: solid #f2f2f2;
  border-width: 3px 3px 0 0;
}
.flow01 .swiper-button-prev {
  right: calc(100% + 0.6rem);
}
.flow01 .swiper-button-next {
  left: calc(100% + 0.6rem);
}
.flow01 .swiper-slide {
  height: auto;
}
.flow01 .mainslide {
  width: 100%;
  height: 100%;
  padding: 0;
  text-align: center;
  border-radius: 20px;
  border: 2px solid #a2d538;
  background-color: rgba(255, 255, 255, 0.9);
}
@media all and (max-width: 639px) {
  .flow01 .mainslide {
    padding: 20px 10px;
  }
}
.flow01 .mainslide-title {
  font-size: 2.4rem;
  line-height: 1.6;
  display: inline-block;
  border-bottom: 3px solid #ffff59;
  color: #a2d538;
}
.flow01 .subslide {
  padding: 4.8rem;
}
@media all and (max-width: 639px) {
  .flow01 .subslide {
    padding: 20px;
  }
}
.flow01 .subslide-media {
  margin-bottom: 3.2rem;
}
.flow01 .subslide-media img {
  width: 20rem;
  height: auto;
}
@media all and (max-width: 639px) {
  .flow01 .subslide-media img {
    width: 10rem;
  }
}

@media only screen and (max-width: 1024px) and (min-width: 600px) {
  .flow01 .swiper-main,
  .flow01 .swiper-pagination-main {
    max-width: calc(100% - 6.4rem);
  }
}
@media only screen and (max-width: 599px) {
  .flow01 .swiper-main,
  .flow01 .swiper-pagination-main {
    max-width: calc(100% - 10px);
  }
}
@media only screen and (max-width: 599px) {
  .flow01 .swiper-pagination-main .swiper-pagination-bullet::before {
    bottom: -5px;
  }
}
@media only screen and (max-width: 599px) {
  .flow01 .swiper-pagination-main .swiper-pagination-bullet .step {
    font-size: 1.4rem;
    display: none;
    margin-bottom: 0.5em;
    text-indent: 0.5em;
  }
}
@media only screen and (max-width: 1024px) {
  .flow01 .swiper-button-prev::after,
  .flow01 .swiper-button-next::after {
    width: 2.2rem;
    height: 2.2rem;
  }
}
@media only screen and (min-width: 1025px) {
  .flow01 .swiper-button-prev::after,
  .flow01 .swiper-button-next::after {
    -webkit-transition: 0.8s;
    transition: 0.8s;
  }
}
@media only screen and (max-width: 1024px) {
  .flow01 .swiper-button-prev {
    right: calc(100% - 4rem);
  }
}
@media only screen and (min-width: 1025px) {
  .flow01 .swiper-button-prev:hover::after {
    -webkit-transform: translateX(-0.8rem) rotate(-135deg);
    transform: translateX(-0.8rem) rotate(-135deg);
  }
}
@media only screen and (max-width: 1024px) {
  .flow01 .swiper-button-next {
    left: calc(100% - 4rem);
  }
}
@media only screen and (min-width: 1025px) {
  .flow01 .swiper-button-next:hover::after {
    -webkit-transform: translateX(0.8rem) rotate(45deg);
    transform: translateX(0.8rem) rotate(45deg);
  }
}
.swiper_updown {
  width: 80vw;
  margin: 30px auto 180px;
}
.swiper_updown .inside {
  padding-bottom: 0;
}
.swiper_updown .swiper-area {
  position: relative;
}
.swiper_updown .swiper-main {
  height: 900px;
}
.swiper_updown .swiper-thumb {
  position: absolute;
  top: 10rem;
  right: -80px;
  bottom: 10rem;
  width: 200px;
}
.swiper_updown .slide {
  display: grid;
  height: 100%;
  padding: 0 4rem;
  text-align: center;
  color: #fff;
}
.swiper_updown .slide-media {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.swiper_updown .slide-content {
  -webkit-transition: 3s 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  transition: 3s 0.5s cubic-bezier(0.2, 1, 0.2, 1);
  -webkit-transform: translateY(-6rem);
  transform: translateY(-6rem);
  opacity: 0;
}
.swiper_updown .swiper-slide[class*=-active] .slide-content {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.swiper_updown .thumb {
  font-weight: bold;
  position: relative;
  display: grid;
  overflow: hidden;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  height: 100%;
  cursor: pointer;
}
.swiper_updown .thumb::before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 6px;
  content: "";
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  background-color: #a2d538;
}
.swiper_updown .thumb-media {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.swiper_updown .thumb-media img {
  -webkit-transition: 2s cubic-bezier(0.2, 1, 0.2, 1);
  transition: 2s cubic-bezier(0.2, 1, 0.2, 1);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.swiper_updown .swiper-slide-thumb-active .thumb::before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}
.swiper_updown .swiper-slide-thumb-active .thumb-media img {
  transform: scale(1.1);
  opacity: 0.3;
}

@media only screen and (max-width: 599px) {
  .swiper_updown .swiper-main {
    margin-right: 4rem;
  }
}
@media only screen and (max-width: 599px) {
  .swiper_updown .swiper-thumb {
    top: auto;
    bottom: -6rem;
    width: 20rem;
    height: 24rem;
  }
}
@media only screen and (min-width: 600px) {
  .swiper_updown .slide {
    place-content: center;
  }
}
@media only screen and (max-width: 599px) {
  .swiper_updown .slide {
    padding-top: 20%;
  }
}
@media only screen and (min-width: 1025px) {
  .swiper_updown .slide img {
    -webkit-transition: 2s cubic-bezier(0.2, 1, 0.2, 1);
    transition: 2s cubic-bezier(0.2, 1, 0.2, 1);
  }
  .swiper_updown .slide:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0.9;
  }
}
@media only screen and (max-width: 1024px) {
  .swiper_updown .slide-title {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 1024px) {
  .swiper_updown .slide-text {
    font-size: 1.6rem;
    margin: 2.4rem 0 3.2rem;
  }
}
@media only screen and (max-width: 1024px) {
  .swiper_updown .slide-date {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 1024px) {
  .swiper_updown .thumb {
    padding: 0 2.4rem;
  }
}
@media only screen and (max-width: 1024px) {
  .swiper_updown .thumb-title {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 600px) {
  .swiper_updown .thumb-date {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 599px) {
  .swiper_updown .thumb-date {
    display: none;
  }
}
.scroll_down {
  position: absolute;
  bottom: 6%;
  left: 50%;
  z-index: 2;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #fff;
  padding-top: 60px;
}
@media all and (max-width: 639px) {
  .scroll_down {
    font-size: 1.1rem;
  }
}
.scroll_down span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #fff;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.scroll_down span:before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: "";
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    -webkit-transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
    transform: rotateY(0) rotateZ(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
    transform: rotateY(720deg) rotateZ(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
#scrolldown {
  position: absolute;
  right: 15px;
  margin: auto;
  top: 0;
  bottom: 0;
  color: #fefefe;
  font-family: "YakuHanJP", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.2rem;
  z-index: 80;
  height: 210px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
}
#scrolldown:before, #scrolldown:after {
  position: absolute;
  content: "";
  z-index: 2;
  left: 50%;
}
#scrolldown:before {
  width: 1px;
  height: 100px;
  bottom: 0;
  background: #f0f0f0;
  transform: translateX(-50%);
}
#scrolldown:after {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 100%;
  top: 100px;
  margin-left: -4px;
  animation: scroll-point2 2.3s ease-out infinite;
  animation-fill-mode: both;
}

@keyframes scroll-point2 {
  0% {
    bottom: 0;
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  50% {
    top: 180px;
    opacity: 1;
  }
  80% {
    opacity: 0;
  }
  100% {
    top: 210px;
    opacity: 0;
  }
}
#scrolldown_bx {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0px;
  color: #a2d538;
  font-size: 1rem;
  z-index: 100;
  height: 110px;
  text-align: center;
  font-weight: bold;
}
#scrolldown_bx:before, #scrolldown_bx:after {
  position: absolute;
  content: "";
  z-index: 2;
  left: 50%;
}
#scrolldown_bx:before {
  width: 1px;
  height: 80px;
  bottom: 0;
  background: #aaa;
  transform: translateX(-80%);
}
#scrolldown_bx:after {
  width: 8px;
  height: 8px;
  background: rgba(162, 213, 56, 0.9);
  border-radius: 100%;
  top: 0px;
  margin-left: -4px;
  animation: scroll-point1 2.3s ease-out infinite;
  animation-fill-mode: both;
}
@media all and (max-width: 896px) {
  #scrolldown_bx {
    display: none;
  }
}

#scrolldown_02 {
  position: absolute;
  left: 0;
  right: 0;
  top: 60%;
  color: #fff;
  font-size: 1rem;
  z-index: 100;
  height: 50px;
  text-align: center;
  font-weight: bold;
}
#scrolldown_02:before, #scrolldown_02:after {
  position: absolute;
  content: "";
  z-index: 2;
  left: 50%;
}
#scrolldown_02:before {
  width: 1px;
  height: 120px;
  bottom: -120px;
  background: #fff;
  transform: translateX(0%);
}
#scrolldown_02:after {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 100%;
  top: 0px;
  margin-left: -4px;
  animation: scroll-point02 2.3s ease-out infinite;
  animation-fill-mode: both;
}
@media all and (max-width: 896px) {
  #scrolldown_02 {
    display: none;
  }
}

@keyframes scroll-point02 {
  0% {
    top: 50px;
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0;
  }
  100% {
    top: 160px;
    opacity: 0;
  }
}
#slideshow {
  position: relative;
}
#slideshow .position_text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1ch;
  position: absolute;
  z-index: 100;
  margin: auto;
  width: 100%;
  height: 100%;
}
#slideshow:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  animation: anime-logo2-2 8s ease-in forwards;
  opacity: 0;
  background-position: center center;
  background-size: cover;
}
#slideshow:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #111111;
  animation: anime-logo2-2 8s ease-in forwards;
}

.top {
  position: relative;
  overflow: hidden;
}

#u-firstview {
  overflow: hidden;
  position: relative;
  height: 100vh;
}
#u-firstview.bg_gray {
  background-color: inherit !important;
}
#u-firstview.bg_gray:before {
  filter: grayscale(100%);
}
#u-firstview.bg_blur {
  overflow: hidden;
}
#u-firstview.bg_blur:before {
  filter: blur(4px);
}
#u-firstview.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
#u-firstview.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
#u-firstview.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
#u-firstview.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
#u-firstview.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
#u-firstview.bg_base {
  background-color: inherit !important;
}
#u-firstview.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
#u-firstview.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#u-firstview.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
#u-firstview.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#u-firstview.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
#u-firstview.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#u-firstview.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
#u-firstview.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#u-firstview.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
#u-firstview.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#u-firstview.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
#u-firstview.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
#u-firstview.type_r {
  height: 70vh;
}
@media all and (max-width: 639px) {
  #u-firstview.type_r {
    height: 40vh;
  }
}
#u-firstview #underlay1 {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
#u-firstview #underlay2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
  height: 80%;
  z-index: -2;
}
@media all and (max-width: 1100px) {
  #u-firstview {
    height: 70vh;
  }
}
@media all and (max-width: 639px) {
  #u-firstview {
    height: 90vh;
  }
}

#bxslider_flow_wrap {
  width: 100%;
  height: auto;
  max-height: 630px;
  margin: 0px auto 0;
  position: relative;
}
@media all and (max-width: 896px) {
  #bxslider_flow_wrap {
    height: auto !important;
  }
}
#bxslider_flow_wrap .bxslider_flow_txt {
  height: 100%;
  padding: 160px 15px 0;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 auto;
  z-index: 10;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  #bxslider_flow_wrap .bxslider_flow_txt {
    padding: 50px 0 0;
  }
}
#bxslider_flow_wrap .bxslider_flow_txt .txt01 span {
  background: #a2d538;
  color: #fff;
  padding: 10px 30px;
  font-size: 6rem;
}
@media all and (max-width: 896px) {
  #bxslider_flow_wrap .bxslider_flow_txt .txt01 span {
    font-size: 4.5vw;
    padding: 5px 0px;
  }
}
#bxslider_flow_wrap .bxslider_flow_txt .txt02 {
  margin-top: 10px;
}
#bxslider_flow_wrap .bxslider_flow_txt .txt02 span {
  background: #fff;
  color: #a2d538;
  padding: 10px 30px;
  font-size: 3rem;
  letter-spacing: 0.2rem;
}
@media all and (max-width: 896px) {
  #bxslider_flow_wrap .bxslider_flow_txt .txt02 {
    margin-top: 5px;
  }
  #bxslider_flow_wrap .bxslider_flow_txt .txt02 span {
    font-size: 3vw;
    padding: 5px 5px;
  }
}
@media all and (max-width: 896px) {
  #bxslider_flow_wrap .bxslider_flow_txt {
    margin-top: 5px;
    height: 60%;
    padding: 0 !important;
    top: inherit;
    bottom: 0;
    background: none;
  }
}
#bxslider_flow_wrap .txt03 {
  color: #fff;
  padding: 10px 30px;
  font-size: 3rem;
  display: inline-block;
}
#bxslider_flow_wrap .txt03 span {
  font-size: 1.2rem;
}
@media all and (max-width: 896px) {
  #bxslider_flow_wrap .txt03 {
    font-size: 1.2rem;
    padding: 5px 10px;
  }
  #bxslider_flow_wrap .txt03 span {
    font-size: 1.2rem;
  }
}
#bxslider_flow_wrap .bxslider_flow li figure {
  width: 100%;
  height: 630px;
}
#bxslider_flow_wrap .bxslider_flow li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 639px) {
  #bxslider_flow_wrap .bxslider_flow li {
    height: 330px;
  }
  #bxslider_flow_wrap .bxslider_flow li figure {
    width: 100%;
    height: 330px;
  }
}

.bxslider_single {
  position: relative;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
}
.bxslider_single .slider_single {
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
@media all and (max-width: 639px) {
  .bxslider_single {
    height: auto;
  }
  .bxslider_single .slider_single {
    margin: auto 0 0 0;
  }
}

.bx-wrapper .bx-next,
.bx-wrapper .bx-prev {
  background: none !important;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
}
.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-prev:hover {
  opacity: 0.6;
}

.bx-wrapper .bx-next {
  transform: rotate(135deg);
}

.bx-wrapper .bx-prev {
  transform: rotate(-45deg);
}

.bx-wrapper .bx-pager {
  bottom: -2rem !important;
  z-index: 10 !important;
}

.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: rgba(162, 213, 56, 0.3) !important;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #a2d538 !important;
}

#bxslidertop {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media all and (max-width: 639px) {
  #bxslidertop {
    padding-top: 95px;
  }
}

#bxslider {
  width: 100%;
  margin-left: 50%;
}
#bxslider li {
  margin-left: -480px;
  /* 画像サイズ / 2 */
  margin-right: 500px !important;
  /* 画像サイズ / 2 + 20 */
  /* div {
    height: 600px;
  }

  img {
    border-radius: 25px;
    width: 100%;
    height: 100%;
    object-fit: cover;
  } */
}
#bxslider li figure {
  width: 100%;
  height: 100%;
  max-height: 650px;
  overflow: hidden;
}
#bxslider li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 960px) {
  #bxslider {
    width: 100%;
    margin-left: 0%;
  }
  #bxslider li {
    width: 90%;
    margin-left: 0%;
    margin-right: 0% !important;
  }
}
@media all and (max-width: 639px) {
  #bxslider li figure {
    max-height: 300px;
  }
}

.bxslider_wrap {
  position: relative;
  overflow: hidden;
}

.bxslidertext {
  z-index: 10;
  position: absolute;
  left: 5%;
  bottom: 10%;
  width: 100%;
  max-width: 800px;
  transition: opacity 2s cubic-bezier(0.18, 0.06, 0.23, 1);
}
.bxslidertext .eng {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  font-size: 8rem;
  line-height: 8rem;
  color: #a2d538;
}
.bxslidertext .ja_middle {
  display: inline-block;
  font-size: 4.5rem;
  line-height: 4.5rem;
  color: #fff;
  text-shadow: rgba(17, 17, 17, 0.8) 0 0 10px;
  font-weight: bold;
  padding: 8px 0;
}
.bxslidertext .ja {
  font-size: 1.8rem;
  line-height: 6rem;
  color: #fff;
  background-color: #4bb4a1;
  text-shadow: rgba(17, 17, 17, 0.5) 0 0 10px 10px;
  font-weight: bold;
  padding: 8px 20px;
}
@media all and (max-width: 896px) {
  .bxslidertext .ja_middle {
    font-size: 2vw;
    line-height: 1.6;
  }
}
@media all and (max-width: 639px) {
  .bxslidertext {
    transform: translateY(4px);
  }
  .bxslidertext .ja_middle {
    font-size: 5vw;
    line-height: 1.6;
  }
  .bxslidertext .eng {
    font-size: 8vw;
    line-height: 1.6;
  }
  .bxslidertext .ja {
    font-size: 1.2rem;
    line-height: 1.3rem;
    padding: 4px 10px;
  }
}
@media all and (max-width: 639px) {
  .bxslidertext {
    bottom: 80px;
    left: 10px;
    width: 100%;
  }
}

.js_slider_wrap .js_slider {
  position: relative;
}
.js_slider_wrap .js_slider li {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  position: absolute;
  top: 0;
  opacity: 0;
  visibility: hidden;
  transform: 0.5s;
}
.js_slider_wrap .js_slider li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.js_slider_wrap .js_slider li.active {
  opacity: 1;
  visibility: visible;
  transform: 0.5s;
}
.footer_main {
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: calc(70% - 10px) calc(30% - 10px);
  gap: 3em 3em;
}
.footer_main.reverse {
  grid-template-columns: calc(30% - 10px) calc(70% - 10px);
}
.footer_main .ttl {
  padding: 8px 0;
  margin-bottom: 20px;
  position: relative;
  border-bottom: #aaa 1px solid;
}
.footer_main > .child .about {
  font-size: 90%;
}
.footer_main > .child .about .logo_area {
  margin: 0 0 15px;
}
.footer_main > .child .about p {
  text-align: justify;
}
@media screen and (max-width: 1200px) {
  .footer_main {
    width: 100%;
    max-width: 1160px;
    padding: 60px 20px;
  }
}
@media all and (max-width: 896px) {
  .footer_main {
    width: 100%;
    max-width: 780px;
    display: block;
  }
  .footer_main > .child {
    margin: 0 0 20px;
  }
}
@media all and (max-width: 639px) {
  .footer_main > .child .about {
    text-align: center;
  }
  .footer_main > .child .about .logo_area {
    margin: 0 auto 15px;
    text-align: center;
  }
  .footer_main > .child .about .details {
    text-align: center;
  }
  .footer_main > .child .about small {
    display: block;
  }
}

.copyright {
  text-align: center;
  margin: 0 auto 0;
  padding: 24px 0px 24px;
  font-size: 1.4rem;
  position: relative;
  z-index: 2;
  color: #555;
}
@media all and (max-width: 896px) {
  .copyright {
    font-size: 12px;
    margin-top: 0;
    padding: 20px 0 80px;
  }
}

.footer_nav_category {
  font-size: 1.4rem;
}
.footer_nav_category.white a,
.footer_nav_category.white span {
  color: #fff;
}
.footer_nav_category.white a:hover,
.footer_nav_category.white span:hover {
  color: rgba(255, 255, 255, 0.8);
}
.footer_nav_category.white a:hover:before,
.footer_nav_category.white span:hover:before {
  content: "";
  width: 100%;
  border-bottom: 1px solid #fff;
}
.footer_nav_category a {
  color: #333;
  position: relative;
  font-weight: 400;
  display: block;
  width: 100%;
}
.footer_nav_category a span {
  display: block;
  color: #a2d538;
  line-height: 1;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  font-weight: 400;
}
.footer_nav_category a:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  margin: 0;
  border-bottom: 1px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}
.footer_nav_category a:hover {
  color: #a2d538;
}
.footer_nav_category a:hover:before {
  content: "";
  width: 100%;
  border-bottom: 1px solid #4bb4a1;
}
.footer_nav_category.col_5 > ul {
  column-count: 5;
}
@media all and (max-width: 639px) {
  .footer_nav_category.col_5 > ul {
    column-count: 2;
  }
}
.footer_nav_category.col_6 > ul {
  column-count: 6;
}
@media all and (max-width: 639px) {
  .footer_nav_category.col_6 > ul {
    column-count: 2;
  }
}
.footer_nav_category > ul {
  column-count: 3;
  column-gap: 10px;
  row-gap: 10px;
  transition: 0.3s;
}
.footer_nav_category > ul > li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  margin-bottom: 20px;
}
.footer_nav_category > ul > li .icon {
  display: none;
}
.footer_nav_category > ul > li > ul {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding: 10px 0 0 5px;
  column-count: 1;
}
.footer_nav_category > ul > li > ul li {
  font-size: 1.3rem;
  padding: 2px 10px;
  margin-bottom: 3px;
  position: relative;
}
.footer_nav_category > ul > li > ul li:before {
  position: absolute;
  top: 0;
  left: 0px;
  width: 0.5em;
  height: 100%;
  display: grid;
  place-items: center;
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  font-size: 1rem;
}
@media all and (max-width: 639px) {
  .footer_nav_category > ul {
    column-count: 2;
  }
  .footer_nav_category > ul > li {
    font-size: 1.2rem;
  }
  .footer_nav_category > ul > li > ul {
    padding: 10px 0 0 8px;
  }
  .footer_nav_category > ul > li > ul li {
    font-size: 1rem;
  }
}

.footer_navi {
  flex-basis: 100%;
  margin: 40px auto 0;
}
.footer_navi ul {
  margin: 0 auto 0px;
  justify-content: center;
  max-width: 1200px;
  padding: 10px 0;
}
.footer_navi ul li {
  display: inline-block;
  padding: 0 10px;
}
@media all and (max-width: 1100px) {
  .footer_navi ul li {
    padding: 0px;
  }
}
.footer_navi ul li a {
  color: #333;
  font-size: 1.3rem;
  position: relative;
  font-weight: 600;
}
.footer_navi ul li a span {
  display: none;
}
.footer_navi ul li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f068";
  font-weight: 900;
  margin-right: 5px;
  color: #4bb4a1;
}
.footer_navi ul li a:hover {
  opacity: 0.6;
}
.footer_navi ul li .dropdown {
  display: none;
}
.footer_navi ul li .dropdown .dropdon-li a {
  font-size: 1.2rem;
}
.footer_navi ul li > ul {
  display: none;
}
.footer_navi.type1 ul {
  text-align: center;
}
.footer_navi.type1 ul li a {
  color: #333;
}
.footer_navi.type1 ul li a:before {
  color: #a2d538;
}
.footer_navi.bar ul {
  border-top: 1px solid #a2d538;
  border-bottom: 1px solid #a2d538;
}
.footer_navi.base ul {
  max-width: 100%;
}
.footer_navi.base ul li {
  padding: 0 25px 0 0;
}
.footer_navi.base ul li a {
  color: #555;
}
.footer_navi.base ul li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  font-weight: 900;
  color: #fff;
}
.footer_navi.white {
  margin-bottom: 30px;
}
.footer_navi.white ul {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  text-align: center;
}
.footer_navi.white ul li a {
  color: #fff !important;
}
.footer_navi.white ul li a:before {
  color: #fff !important;
}
.footer_navi.type2 ul li {
  display: block;
}
@media all and (max-width: 896px) {
  .footer_navi {
    display: none;
  }
}

#pagetop {
  position: fixed;
  bottom: 10px;
  right: 7px;
  z-index: 100;
  opacity: 0;
  align-items: center;
  transition: 0.4s ease-in-out;
  transform: translateY(30px);
}
#pagetop.view {
  opacity: 1;
  transition: 0.4s ease-in-out;
  transform: translateY(0);
}
#pagetop a {
  display: grid;
  place-items: center;
  background: #fff;
  box-shadow: rgba(51, 51, 51, 0.1) 0px 2px 2px 2px;
  color: #a2d538;
  border: 1px solid #a2d538;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 2.2rem;
}
#pagetop a:hover {
  opacity: 0.6;
}
@media all and (max-width: 639px) {
  #pagetop.sp {
    bottom: 5px;
  }
}
@media all and (max-width: 639px) {
  #pagetop {
    bottom: 50px;
  }
  #pagetop a {
    width: 40px;
    height: 40px;
    font-size: 1.6rem;
  }
}

#page-top_img {
  position: fixed;
  bottom: 10px;
  right: 7px;
  z-index: 980;
}
#page-top_img a {
  display: block;
}
#page-top_img a img {
  width: 120px;
}
@media all and (max-width: 639px) {
  #page-top_img a img {
    bottom: 40px;
  }
}
#page-top_img a:hover {
  opacity: 0.6;
}
@media all and (max-width: 639px) {
  #page-top_img {
    bottom: 70px;
  }
}

.totop01 {
  position: absolute;
  bottom: -44px;
  right: -61px;
  z-index: 3;
  transition: 0.8s;
}
.totop01:hover {
  transition: 0.8s;
  bottom: -39px;
}
@media all and (max-width: 896px) {
  .totop01 {
    bottom: -110px;
    right: -10px;
  }
  .totop01:hover {
    bottom: -105px;
  }
}
@media all and (max-width: 639px) {
  .totop01 {
    bottom: -40px;
    right: -80px;
  }
  .totop01:hover {
    bottom: -35px;
  }
}

.grid1,
.grid2,
.grid3,
.grid4,
.grid5,
.grid6,
.grid7,
.grid8 {
  display: grid;
  gap: 40px 40px;
}
.grid1.gap_none,
.grid2.gap_none,
.grid3.gap_none,
.grid4.gap_none,
.grid5.gap_none,
.grid6.gap_none,
.grid7.gap_none,
.grid8.gap_none {
  gap: 0px 0px;
}
@media all and (max-width: 639px) {
  .grid1.gap_none,
  .grid2.gap_none,
  .grid3.gap_none,
  .grid4.gap_none,
  .grid5.gap_none,
  .grid6.gap_none,
  .grid7.gap_none,
  .grid8.gap_none {
    gap: 0px 0px;
  }
  .grid1.gap_none > li,
  .grid1.gap_none .child,
  .grid2.gap_none > li,
  .grid2.gap_none .child,
  .grid3.gap_none > li,
  .grid3.gap_none .child,
  .grid4.gap_none > li,
  .grid4.gap_none .child,
  .grid5.gap_none > li,
  .grid5.gap_none .child,
  .grid6.gap_none > li,
  .grid6.gap_none .child,
  .grid7.gap_none > li,
  .grid7.gap_none .child,
  .grid8.gap_none > li,
  .grid8.gap_none .child {
    margin-bottom: 0px;
  }
}
.grid1.gap_s,
.grid2.gap_s,
.grid3.gap_s,
.grid4.gap_s,
.grid5.gap_s,
.grid6.gap_s,
.grid7.gap_s,
.grid8.gap_s {
  gap: 10px 10px;
}
@media all and (max-width: 639px) {
  .grid1.gap_s,
  .grid2.gap_s,
  .grid3.gap_s,
  .grid4.gap_s,
  .grid5.gap_s,
  .grid6.gap_s,
  .grid7.gap_s,
  .grid8.gap_s {
    gap: 10px 10px;
  }
  .grid1.gap_s > li,
  .grid1.gap_s .child,
  .grid2.gap_s > li,
  .grid2.gap_s .child,
  .grid3.gap_s > li,
  .grid3.gap_s .child,
  .grid4.gap_s > li,
  .grid4.gap_s .child,
  .grid5.gap_s > li,
  .grid5.gap_s .child,
  .grid6.gap_s > li,
  .grid6.gap_s .child,
  .grid7.gap_s > li,
  .grid7.gap_s .child,
  .grid8.gap_s > li,
  .grid8.gap_s .child {
    margin-bottom: 10px;
  }
}
.grid1.gap_m,
.grid2.gap_m,
.grid3.gap_m,
.grid4.gap_m,
.grid5.gap_m,
.grid6.gap_m,
.grid7.gap_m,
.grid8.gap_m {
  gap: 20px 20px;
}
@media all and (max-width: 639px) {
  .grid1.gap_m,
  .grid2.gap_m,
  .grid3.gap_m,
  .grid4.gap_m,
  .grid5.gap_m,
  .grid6.gap_m,
  .grid7.gap_m,
  .grid8.gap_m {
    gap: 10px 10px;
  }
  .grid1.gap_m > li,
  .grid1.gap_m .child,
  .grid2.gap_m > li,
  .grid2.gap_m .child,
  .grid3.gap_m > li,
  .grid3.gap_m .child,
  .grid4.gap_m > li,
  .grid4.gap_m .child,
  .grid5.gap_m > li,
  .grid5.gap_m .child,
  .grid6.gap_m > li,
  .grid6.gap_m .child,
  .grid7.gap_m > li,
  .grid7.gap_m .child,
  .grid8.gap_m > li,
  .grid8.gap_m .child {
    margin-bottom: 10px;
  }
}
.grid1.p-center,
.grid2.p-center,
.grid3.p-center,
.grid4.p-center,
.grid5.p-center,
.grid6.p-center,
.grid7.p-center,
.grid8.p-center {
  place-items: center;
}
.grid1.reverse,
.grid2.reverse,
.grid3.reverse,
.grid4.reverse,
.grid5.reverse,
.grid6.reverse,
.grid7.reverse,
.grid8.reverse {
  flex-direction: row-reverse;
}
.grid1.a-center,
.grid2.a-center,
.grid3.a-center,
.grid4.a-center,
.grid5.a-center,
.grid6.a-center,
.grid7.a-center,
.grid8.a-center {
  align-items: center;
}
.grid1.j-center,
.grid2.j-center,
.grid3.j-center,
.grid4.j-center,
.grid5.j-center,
.grid6.j-center,
.grid7.j-center,
.grid8.j-center {
  justify-content: center;
}
.grid1.steps li:nth-child(2n),
.grid2.steps li:nth-child(2n),
.grid3.steps li:nth-child(2n),
.grid4.steps li:nth-child(2n),
.grid5.steps li:nth-child(2n),
.grid6.steps li:nth-child(2n),
.grid7.steps li:nth-child(2n),
.grid8.steps li:nth-child(2n) {
  margin-top: 4em;
}
.grid1.steps li:nth-child(3n),
.grid2.steps li:nth-child(3n),
.grid3.steps li:nth-child(3n),
.grid4.steps li:nth-child(3n),
.grid5.steps li:nth-child(3n),
.grid6.steps li:nth-child(3n),
.grid7.steps li:nth-child(3n),
.grid8.steps li:nth-child(3n) {
  margin-top: 8em;
}
.grid1.steps li:nth-child(4n),
.grid2.steps li:nth-child(4n),
.grid3.steps li:nth-child(4n),
.grid4.steps li:nth-child(4n),
.grid5.steps li:nth-child(4n),
.grid6.steps li:nth-child(4n),
.grid7.steps li:nth-child(4n),
.grid8.steps li:nth-child(4n) {
  margin-top: 12em;
}
.grid1.steps li:nth-child(5n),
.grid2.steps li:nth-child(5n),
.grid3.steps li:nth-child(5n),
.grid4.steps li:nth-child(5n),
.grid5.steps li:nth-child(5n),
.grid6.steps li:nth-child(5n),
.grid7.steps li:nth-child(5n),
.grid8.steps li:nth-child(5n) {
  margin-top: 16em;
}
.grid1.steps li:nth-child(6n),
.grid2.steps li:nth-child(6n),
.grid3.steps li:nth-child(6n),
.grid4.steps li:nth-child(6n),
.grid5.steps li:nth-child(6n),
.grid6.steps li:nth-child(6n),
.grid7.steps li:nth-child(6n),
.grid8.steps li:nth-child(6n) {
  margin-top: 20em;
}
.grid1.steps li:nth-child(7n),
.grid2.steps li:nth-child(7n),
.grid3.steps li:nth-child(7n),
.grid4.steps li:nth-child(7n),
.grid5.steps li:nth-child(7n),
.grid6.steps li:nth-child(7n),
.grid7.steps li:nth-child(7n),
.grid8.steps li:nth-child(7n) {
  margin-top: 24em;
}
.grid1.steps li:nth-child(8n),
.grid2.steps li:nth-child(8n),
.grid3.steps li:nth-child(8n),
.grid4.steps li:nth-child(8n),
.grid5.steps li:nth-child(8n),
.grid6.steps li:nth-child(8n),
.grid7.steps li:nth-child(8n),
.grid8.steps li:nth-child(8n) {
  margin-top: 28em;
}
@media all and (max-width: 639px) {
  .grid1.steps li:nth-child(2n), .grid1.steps li:nth-child(3n), .grid1.steps li:nth-child(4n), .grid1.steps li:nth-child(5n), .grid1.steps li:nth-child(6n), .grid1.steps li:nth-child(7n), .grid1.steps li:nth-child(8n),
  .grid2.steps li:nth-child(2n),
  .grid2.steps li:nth-child(3n),
  .grid2.steps li:nth-child(4n),
  .grid2.steps li:nth-child(5n),
  .grid2.steps li:nth-child(6n),
  .grid2.steps li:nth-child(7n),
  .grid2.steps li:nth-child(8n),
  .grid3.steps li:nth-child(2n),
  .grid3.steps li:nth-child(3n),
  .grid3.steps li:nth-child(4n),
  .grid3.steps li:nth-child(5n),
  .grid3.steps li:nth-child(6n),
  .grid3.steps li:nth-child(7n),
  .grid3.steps li:nth-child(8n),
  .grid4.steps li:nth-child(2n),
  .grid4.steps li:nth-child(3n),
  .grid4.steps li:nth-child(4n),
  .grid4.steps li:nth-child(5n),
  .grid4.steps li:nth-child(6n),
  .grid4.steps li:nth-child(7n),
  .grid4.steps li:nth-child(8n),
  .grid5.steps li:nth-child(2n),
  .grid5.steps li:nth-child(3n),
  .grid5.steps li:nth-child(4n),
  .grid5.steps li:nth-child(5n),
  .grid5.steps li:nth-child(6n),
  .grid5.steps li:nth-child(7n),
  .grid5.steps li:nth-child(8n),
  .grid6.steps li:nth-child(2n),
  .grid6.steps li:nth-child(3n),
  .grid6.steps li:nth-child(4n),
  .grid6.steps li:nth-child(5n),
  .grid6.steps li:nth-child(6n),
  .grid6.steps li:nth-child(7n),
  .grid6.steps li:nth-child(8n),
  .grid7.steps li:nth-child(2n),
  .grid7.steps li:nth-child(3n),
  .grid7.steps li:nth-child(4n),
  .grid7.steps li:nth-child(5n),
  .grid7.steps li:nth-child(6n),
  .grid7.steps li:nth-child(7n),
  .grid7.steps li:nth-child(8n),
  .grid8.steps li:nth-child(2n),
  .grid8.steps li:nth-child(3n),
  .grid8.steps li:nth-child(4n),
  .grid8.steps li:nth-child(5n),
  .grid8.steps li:nth-child(6n),
  .grid8.steps li:nth-child(7n),
  .grid8.steps li:nth-child(8n) {
    margin-top: 0 !important;
  }
}
.grid1 > li,
.grid1 > .child,
.grid2 > li,
.grid2 > .child,
.grid3 > li,
.grid3 > .child,
.grid4 > li,
.grid4 > .child,
.grid5 > li,
.grid5 > .child,
.grid6 > li,
.grid6 > .child,
.grid7 > li,
.grid7 > .child,
.grid8 > li,
.grid8 > .child {
  position: relative;
}
@media all and (max-width: 896px) {
  .grid1 .res_none,
  .grid2 .res_none,
  .grid3 .res_none,
  .grid4 .res_none,
  .grid5 .res_none,
  .grid6 .res_none,
  .grid7 .res_none,
  .grid8 .res_none {
    display: grid !important;
  }
}
@media all and (max-width: 639px) {
  .grid1 .res_none,
  .grid2 .res_none,
  .grid3 .res_none,
  .grid4 .res_none,
  .grid5 .res_none,
  .grid6 .res_none,
  .grid7 .res_none,
  .grid8 .res_none {
    display: grid !important;
  }
}
@media all and (max-width: 639px) {
  .grid1,
  .grid2,
  .grid3,
  .grid4,
  .grid5,
  .grid6,
  .grid7,
  .grid8 {
    gap: 10px 10px;
  }
  .grid1 > li,
  .grid1 .child,
  .grid2 > li,
  .grid2 .child,
  .grid3 > li,
  .grid3 .child,
  .grid4 > li,
  .grid4 .child,
  .grid5 > li,
  .grid5 .child,
  .grid6 > li,
  .grid6 .child,
  .grid7 > li,
  .grid7 .child,
  .grid8 > li,
  .grid8 .child {
    margin-bottom: 30px;
  }
}

.grid2 {
  grid-template-columns: repeat(2, 1fr);
}
@media all and (max-width: 639px) {
  .grid2 {
    display: block;
  }
}
@media all and (max-width: 639px) {
  .grid2.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid2.sp2 > li,
  .grid2.sp2 .child {
    margin-bottom: 0px;
  }
}

.grid3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 990px) {
  .grid3 {
    gap: 30px 30px;
  }
}
@media all and (max-width: 896px) {
  .grid3 {
    display: block;
  }
  .grid3 > li,
  .grid3 .child {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 639px) {
  .grid3.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid3.sp2 > li,
  .grid3.sp2 .child {
    margin-bottom: 0px;
  }
}
@media all and (max-width: 639px) {
  .grid3.sp3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 896px) {
  .grid3.tablet_2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid3.tablet_2 > li,
  .grid3.tablet_2 .child {
    margin-bottom: 0px;
  }
}
@media all and (max-width: 639px) {
  .grid3.tablet_2 {
    display: block !important;
  }
  .grid3.tablet_2 > li,
  .grid3.tablet_2 .child {
    margin-bottom: 20px;
  }
}

.grid4 {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 896px) {
  .grid4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid4 {
    display: block;
  }
  .grid4 > li,
  .grid4 .child {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 639px) {
  .grid4.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid4.sp2 > li,
  .grid4.sp2 .child {
    margin-bottom: 0px;
  }
}
@media all and (max-width: 639px) {
  .grid4.sp3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid5 {
  grid-template-columns: repeat(5, 1fr);
}
@media all and (max-width: 896px) {
  .grid5 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid5 {
    display: block;
  }
  .grid5 > li,
  .grid5 .child {
    margin-bottom: 10px;
  }
}
@media all and (max-width: 639px) {
  .grid5.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
  .grid5.sp2 > li,
  .grid5.sp2 .child {
    margin-bottom: 10px;
  }
}
@media all and (max-width: 639px) {
  .grid5.sp3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid6 {
  grid-template-columns: repeat(6, 1fr);
}
@media all and (max-width: 896px) {
  .grid6 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid6 {
    display: block;
  }
}
@media all and (max-width: 639px) {
  .grid6.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid6.sp3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid7 {
  grid-template-columns: repeat(7, 1fr);
}
@media all and (max-width: 896px) {
  .grid7 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid7 {
    display: block;
  }
}
@media all and (max-width: 639px) {
  .grid7.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid7.sp3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid8 {
  grid-template-columns: repeat(8, 1fr);
}
@media all and (max-width: 896px) {
  .grid8 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid8 {
    display: block;
  }
}
@media all and (max-width: 639px) {
  .grid8.sp2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 639px) {
  .grid8.sp3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
  }
}

.grid_photo01 {
  width: 95%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 20% 54% 20%;
  grid-template-rows: 60% 68% 20%;
  grid-column-gap: 3%;
  grid-row-gap: 3%;
}
.grid_photo01 div {
  width: 100%;
  height: 100%;
}
.grid_photo01 div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.grid_photo01 .div1 {
  grid-area: 1/1/2/2;
}
.grid_photo01 .div2 {
  grid-area: 1/2/3/3;
}
.grid_photo01 .div3 {
  grid-area: 1/3/2/4;
}
.grid_photo01 .div4 {
  grid-area: 2/1/3/2;
}
.grid_photo01 .div5 {
  grid-area: 2/3/3/4;
}

.grid_photo02 {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0px 1fr;
  grid-template-rows: 15vw;
}
.grid_photo02 div {
  width: 100%;
  height: 100%;
}
.grid_photo02 div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flexbox {
  display: flex;
  position: relative;
  gap: 2em 2em;
  align-items: flex-start;
}
.flexbox .gap_none {
  gap: 0 0 !important;
}
.flexbox .sticky {
  top: 80px;
  position: sticky;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .flexbox .sticky {
    top: 0;
  }
}
@media all and (max-width: 896px) {
  .flexbox .sticky {
    position: static;
  }
}
.flexbox .title_area {
  max-width: 10%;
  width: 100%;
}
@media all and (max-width: 896px) {
  .flexbox .title_area {
    max-width: 15%;
  }
}
.flexbox .contents_area {
  max-width: 90%;
  width: 100%;
}
.flexbox .side_area {
  max-width: 20%;
  width: 100%;
}
.flexbox .side_area .wrap {
  padding: 0 15%;
}
@media all and (max-width: 639px) {
  .flexbox .side_area {
    max-width: 100%;
  }
}
.flexbox .main_area {
  max-width: 80%;
  width: 100%;
}
@media all and (max-width: 639px) {
  .flexbox .main_area {
    max-width: 100%;
  }
}
.flexbox.msize {
  width: 90%;
  margin: 0 auto 0;
}
.flexbox.msize .figure {
  max-width: 55%;
  overflow: hidden;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .flexbox.msize .figure {
    max-width: 100%;
  }
}
@media all and (max-width: 896px) {
  .flexbox.msize {
    margin: 0 auto;
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  .flexbox.msize {
    width: 100%;
  }
}
.flexbox.reverse {
  flex-direction: row-reverse;
}
.flexbox.j-center {
  justify-content: center;
}
.flexbox.a-start {
  align-items: flex-start;
}
.flexbox.a-center {
  align-items: center;
}
.flexbox.a-stretch {
  align-items: stretch;
}
.flexbox > .btn_area {
  max-width: 45%;
  position: relative;
}
@media all and (max-width: 639px) {
  .flexbox > .btn_area {
    max-width: 100%;
    text-align: center;
    margin-bottom: 2rem;
  }
}
.flexbox .two_box {
  width: 50%;
}
@media all and (max-width: 896px) {
  .flexbox .two_box {
    width: 100%;
  }
}
.flexbox .three_box {
  width: 33.33%;
}
@media all and (max-width: 896px) {
  .flexbox .three_box {
    width: 100%;
  }
}
.flexbox .four_box {
  width: 25%;
}
@media all and (max-width: 896px) {
  .flexbox .four_box {
    width: 50%;
  }
}
@media all and (max-width: 639px) {
  .flexbox .four_box {
    width: 100%;
  }
}
.flexbox > .figure,
.flexbox > figure {
  max-width: 45%;
  max-height: auto;
  position: relative;
  overflow: hidden;
}
.flexbox > .figure.contain,
.flexbox > figure.contain {
  width: 30%;
  height: 380px;
  text-align: center;
}
@media all and (max-width: 639px) {
  .flexbox > .figure.contain,
  .flexbox > figure.contain {
    width: 100%;
    max-height: 300px;
  }
}
.flexbox > .figure.contain img,
.flexbox > figure.contain img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
.flexbox > .figure img,
.flexbox > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.flexbox > .figure figcaption,
.flexbox > figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 5px 10px;
  font-size: 1.2rem;
  text-align: left;
  background-color: rgba(162, 213, 56, 0.8);
  color: #fff;
  font-weight: bold;
  padding: 6px;
  max-width: 400px;
}
.flexbox > .txtarea {
  flex: 1;
  position: relative;
}
@media all and (max-width: 896px) {
  .flexbox > .txtarea {
    margin-bottom: 2rem;
  }
}
.flexbox > .txtarea.radius:before {
  border-radius: 20px;
}
.flexbox > .txtarea.line {
  z-index: 1;
}
.flexbox > .txtarea.line:before {
  content: "";
  position: absolute;
  border: 2px solid #a2d538;
  top: -10%;
  left: -22%;
  right: 0;
  width: 140%;
  height: 125%;
  z-index: 0;
}
@media all and (max-width: 639px) {
  .flexbox > .txtarea.line:before {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
}
.flexbox > .txtarea.type_m {
  max-width: 700px;
  margin: 0 auto;
}
.flexbox > .txtarea.type_m p {
  text-align: justify;
}
@media all and (max-width: 639px) {
  .flexbox > .txtarea.type_m {
    padding: 40px 20px;
  }
}
.flexbox > .txtarea.type_s {
  max-width: 500px;
  margin: 0 auto;
}
.flexbox > .txtarea.type_s p {
  text-align: justify;
}
@media all and (max-width: 639px) {
  .flexbox > .txtarea.type_s {
    padding: 40px 20px;
  }
}
.flexbox.half {
  gap: 0% 0%;
}
.flexbox.half .figure,
.flexbox.half figure {
  max-width: 50%;
  width: 50%;
  height: 100%;
  max-height: 50vw;
}
.flexbox.half .txtarea {
  width: 50%;
  padding: 0px 80px;
}
@media all and (max-width: 1100px) {
  .flexbox.half .txtarea {
    padding: 0px 50px;
  }
}
@media all and (max-width: 896px) {
  .flexbox.half {
    display: block;
  }
  .flexbox.half .figure,
  .flexbox.half figure {
    max-width: 100%;
    width: 100%;
    height: 100%;
    max-height: 100%;
  }
  .flexbox.half .txtarea {
    width: 100%;
    padding: 30px 10px;
  }
}
@media all and (max-width: 896px) {
  .flexbox.res_tablet {
    display: block;
    gap: 2% 0;
  }
  .flexbox.res_tablet > .figure {
    max-width: 100%;
    margin: 0 auto 20px;
  }
  .flexbox.res_tablet > figure {
    margin: 0 auto;
    text-align: center;
    margin: 0 auto 20px;
    max-width: 100%;
    max-height: 450px;
  }
  .flexbox.res_tablet > figure.contain {
    max-width: inherit;
    max-height: 260px;
  }
  .flexbox.res_tablet > figure.contain img {
    object-fit: contain;
  }
}
@media all and (max-width: 639px) {
  .flexbox {
    display: block;
    gap: 2% 0;
  }
  .flexbox > .figure {
    max-width: 100%;
    margin: 0 auto 20px;
  }
  .flexbox > figure {
    margin: 0 auto;
    text-align: center;
    margin: 0 auto 20px;
    max-width: 100%;
    max-height: 450px;
  }
  .flexbox > figure.contain {
    max-width: inherit;
    max-height: 260px;
  }
  .flexbox > figure.contain img {
    object-fit: contain;
  }
}
@media all and (max-width: 639px) {
  .flexbox.res_none {
    display: flex !important;
    gap: 2% 2em !important;
  }
}

#caption {
  width: 100%;
  height: 100vh;
  display: block;
  z-index: 999;
}

.caption {
  position: relative;
  margin: 0 auto 10% auto;
  padding: 120px 30px;
  max-width: 1600px;
  width: 100%;
}
@media all and (max-width: 639px) {
  .caption {
    padding: 120px 0px;
  }
}
.caption figure {
  position: relative;
  left: 0;
  top: 0;
  width: 80%;
  height: 680px;
  line-height: 0;
  overflow: hidden;
}
.caption figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 896px) {
  .caption figure {
    width: 80%;
    height: auto;
  }
}
@media all and (max-width: 639px) {
  .caption figure {
    width: 80%;
    height: auto;
  }
}
.caption .ttl {
  position: absolute;
  top: 60px;
  right: 120px;
  z-index: 1;
}
@media all and (max-width: 896px) {
  .caption .ttl {
    right: 20px;
  }
}
@media all and (max-width: 639px) {
  .caption .ttl {
    right: 10px;
  }
}
.caption .box {
  position: absolute;
  bottom: 60px;
  right: 30px;
  width: 480px;
  margin-left: auto;
}
.caption .box .txt {
  padding: 50px;
  background: rgba(255, 255, 255, 0.9);
}
@media all and (max-width: 896px) {
  .caption .box {
    bottom: 0;
  }
}
@media all and (max-width: 639px) {
  .caption .box {
    position: static;
    margin-top: -30px;
    width: 90%;
  }
  .caption .box .txt {
    padding: 30px;
  }
}
.caption.reverse {
  right: inherit;
  margin-right: auto;
}
.caption.reverse figure {
  left: auto;
  right: 0%;
  margin-left: auto;
}
.caption.reverse .ttl {
  position: absolute;
  top: 60px;
  left: 120px;
  right: inherit;
}
@media all and (max-width: 896px) {
  .caption.reverse .ttl {
    left: 20px;
  }
}
.caption.reverse .box {
  bottom: 60px;
  right: inherit;
  margin-right: auto;
}

.caption02 {
  position: relative;
  margin: 0 auto 10% auto;
  padding: 0 30px;
  max-width: 1600px;
  width: 100%;
}
.caption02 figure {
  position: relative;
  left: 0;
  top: 0;
  width: 80%;
  height: 600px;
  line-height: 0;
  left: auto;
  right: 0%;
  margin-left: auto;
}
.caption02 figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 896px) {
  .caption02 figure {
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .caption02 figure {
    height: 250px;
  }
}
.caption02:nth-child(2n) figure {
  right: auto;
  left: 0%;
  margin-right: auto;
  margin-left: 0;
}
.caption02 .box {
  position: absolute;
  top: -13%;
  width: 700px;
  background: #acd94d;
  padding: 120px 50px;
  right: inherit;
  margin-right: auto;
  z-index: 1;
  color: #fff;
}
.caption02 .box.type1 {
  top: 10%;
  width: 400px;
}
@media all and (max-width: 1100px) {
  .caption02 .box {
    padding: 60px 20px;
    width: 600px;
  }
}
.caption02:nth-child(2n) .box {
  right: 30px;
  margin-left: auto;
}
@media all and (max-width: 896px) {
  .caption02 {
    padding: 0;
  }
  .caption02:nth-child(2n) figure {
    left: 0;
  }
  .caption02 figure {
    width: 100%;
  }
  .caption02 .box, .caption02:nth-child(2n) .box {
    position: relative;
    top: 0;
    left: 0;
    right: inherit;
    padding: 20px 10px;
    margin-right: 0;
  }
  .caption02 .box {
    margin-top: -100px;
    width: 95%;
    margin-right: 0;
  }
}

.shift_r {
  margin-right: -60px;
}
@media all and (max-width: 896px) {
  .shift_r {
    margin-right: 0px;
  }
}

.picture_box {
  display: flex;
  position: relative;
  gap: 5% 5%;
  align-items: flex-start;
  margin: 0 auto;
  width: 90%;
}
.picture_box .sticky {
  top: 80px;
  position: sticky;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .picture_box .sticky {
    top: 0;
  }
}
@media all and (max-width: 896px) {
  .picture_box .sticky {
    position: static;
  }
}
.picture_box .side_area {
  max-width: 40%;
  width: 100%;
}
.picture_box .side_area img {
  width: 100%;
  height: auto;
}
.picture_box .side_area .box_r {
  width: 80%;
  margin: 0 0 10% auto;
}
.picture_box .side_area .box_l {
  width: 80%;
  margin: 0 auto 0 0;
}
.picture_box .main_area {
  max-width: 80%;
  width: 100%;
}
.picture_box .main_area img {
  width: 100%;
  height: auto;
}
@media all and (max-width: 639px) {
  .picture_box {
    display: block;
  }
  .picture_box .main_area {
    max-width: 100%;
    margin-bottom: 2%;
  }
  .picture_box .side_area {
    display: flex;
    position: relative;
    gap: 5% 5%;
    align-items: center;
    margin: 0 auto;
    max-width: 90%;
  }
}
.picture_box .three_box {
  width: 33.33%;
}
@media all and (max-width: 896px) {
  .picture_box .three_box {
    width: 100%;
  }
}
.picture_box .half_box {
  width: 50%;
}
@media all and (max-width: 896px) {
  .picture_box .half_box {
    width: 100%;
  }
}
.picture_box.reverse {
  flex-direction: row-reverse;
}
.picture_box.j-center {
  justify-content: center;
}
.picture_box.a-start {
  align-items: flex-start;
}
.picture_box.a-center {
  align-items: center;
}

.picrue_back {
  position: relative;
  width: 100%;
}
.picrue_back.bg_gray {
  background-color: inherit !important;
}
.picrue_back.bg_gray:before {
  filter: grayscale(100%);
}
.picrue_back.bg_blur {
  overflow: hidden;
}
.picrue_back.bg_blur:before {
  filter: blur(4px);
}
.picrue_back.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.picrue_back.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.picrue_back.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.picrue_back.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.picrue_back.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.picrue_back.bg_base {
  background-color: inherit !important;
}
.picrue_back.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.picrue_back.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.picrue_back.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.picrue_back.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.picrue_back.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.picrue_back.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.picrue_back.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.picrue_back.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.picrue_back.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.picrue_back.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.picrue_back.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.picrue_back.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
.picrue_back > .picrue_back_wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  z-index: 1;
}
.picrue_back > .picrue_back_picrue {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: auto;
  z-index: -1;
}
.picrue_back > .picrue_back_picrue.fixed img {
  position: fixed;
}
.picrue_back > .picrue_back_picrue img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  z-index: -1;
}
.picrue_back:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -2;
  top: 0;
  left: 0;
}

.card > li {
  padding-bottom: 60px;
  position: relative;
}
@media all and (max-width: 639px) {
  .card > li {
    padding-bottom: 50px;
  }
}
.card > li > a {
  color: inherit;
  display: inline;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card > li > a:hover .btn,
.card > li > a:hover figure,
.card > li > a:hover .ttl {
  opacity: 0.8;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card > li table {
  margin: 15px;
  width: calc(100% - 30px);
  font-size: 80%;
}
.card > li table th {
  width: 5em !important;
}
.card > li table th,
.card > li table td {
  padding: 5px 5px !important;
  font-weight: normal !important;
}
.card > li .detail {
  padding: 10px 0 10px;
  position: relative;
}
.card > li .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: normal;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card > li .figure,
.card > li figure {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #fff;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card > li .figure:before,
.card > li figure:before {
  content: "";
  display: block;
  padding-top: 80%;
}
.card > li .figure img,
.card > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card > li .category span {
  color: #a2d538;
  border: 1px solid #a2d538;
  padding: 5px 15px;
  line-height: 1;
  display: inline-block;
  border-radius: 10px;
}
.card > li .category span.white span {
  color: #fff;
  border: 1px solid #fff;
  padding: 5px 15px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
}
.card > li .ttl {
  margin: 10px 0;
  font-size: 120%;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card > li .ttl span {
  border-bottom: 1px solid #aaa;
}
.card > li .price {
  font-weight: bold;
  margin: 0 10px;
}

.card_black > li {
  position: relative;
}
.card_black > li > a {
  color: inherit;
  display: inline;
  position: relative;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_black > li > a:hover .btn,
.card_black > li > a:hover figure,
.card_black > li > a:hover .ttl {
  opacity: 0.8;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_black > li table {
  margin: 15px;
  width: calc(100% - 30px);
  font-size: 80%;
}
.card_black > li table th {
  width: 5em !important;
}
.card_black > li table th,
.card_black > li table td {
  padding: 5px 5px !important;
  font-weight: normal !important;
}
.card_black > li .detail {
  position: absolute;
  width: 100%;
  padding: 10px 0 10px;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 95%);
}
.card_black > li .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: normal;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_black > li .figure,
.card_black > li figure {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #fff;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_black > li .figure:before,
.card_black > li figure:before {
  content: "";
  display: block;
  padding-top: 80%;
}
.card_black > li .figure img,
.card_black > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card_black > li .category span {
  color: #a2d538;
  border: 1px solid #a2d538;
  padding: 5px 15px;
  line-height: 1;
  display: inline-block;
  border-radius: 10px;
}
.card_black > li .category span.white span {
  color: #fff;
  border: 1px solid #fff;
  padding: 5px 15px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
}
.card_black > li .ttl {
  margin: 10px 0;
  font-size: 180%;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_black > li .ttl span {
  border-bottom: 3px solid #fff;
  padding: 0.3em 1em;
  color: #fff;
}
.card_black > li .price {
  font-weight: bold;
  margin: 0 10px;
}

.card_size_s.black > li .detail {
  background: #111;
}
.card_size_s.black > li .ttl {
  color: #fff;
}
.card_size_s > li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 0em;
  padding: 1em;
}
.card_size_s > li > a {
  color: inherit;
  display: inline;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 0em;
  padding: 1em;
}
.card_size_s > li > a:hover .btn,
.card_size_s > li > a:hover figure,
.card_size_s > li > a:hover .ttl {
  opacity: 0.8;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_size_s > li > a:hover .ttl span {
  border-bottom: 2px solid #a2d538;
}
.card_size_s > li .detail {
  width: calc(100% - 150px);
  height: 150px;
  padding: 1em;
  position: relative;
  display: grid;
}
.card_size_s > li .ttl {
  margin: 5px 0;
  line-height: 1.8;
  text-align: justify;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_size_s > li .ttl span {
  border-bottom: 1px solid #aaa;
}
.card_size_s > li .txt {
  display: none;
}
.card_size_s > li > ul {
  width: 100%;
}
.card_size_s > li .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: normal;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_size_s > li .figure,
.card_size_s > li figure {
  width: 150px;
  height: 150px;
  background-color: #fff;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.card_size_s > li .figure img,
.card_size_s > li figure img {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card_size_s > li .date {
  color: #a2d538;
  font-weight: bold;
}
.card_size_s > li .category span {
  color: #a2d538;
  border: 1px solid #a2d538;
  padding: 5px 15px;
  line-height: 1;
  display: inline-block;
  border-radius: 10px;
  font-weight: bold;
}
.card_size_s > li .category span.white span {
  color: #fff;
  border: 1px solid #fff;
  padding: 5px 15px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
}

.pagelink_box01 > li {
  overflow: hidden;
  position: relative;
}
.pagelink_box01 > li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
.pagelink_box01 > li:after {
  content: "";
  border: 1px solid #fff;
  width: 93%;
  height: 93%;
  margin: auto;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.pagelink_box01 > li:before {
  background-color: rgba(255, 255, 255, 0.8);
  content: "";
  display: block;
  transform: rotate(45deg);
  position: absolute;
  bottom: -25px;
  right: -25px;
  width: 50px;
  height: 50px;
  z-index: 10;
}
.pagelink_box01 > li .txtarea {
  display: none;
  position: absolute;
  top: 15%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  color: #333;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pagelink_box01 > li .txtarea .icon {
  margin-bottom: 20px;
  position: relative;
}
.pagelink_box01 > li .txtarea .icon img {
  width: 60px;
  filter: brightness(0) invert(1);
}
.pagelink_box01 > li .txtarea .icon:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-bottom: 2px solid #fff;
  width: 60px;
  margin: 0 auto;
  bottom: -15px;
}
.pagelink_box01 > li .txtarea .ttl {
  align-self: center;
  font-size: 2.8rem;
  color: #fff;
}
.pagelink_box01 > li .txtarea .ttl span {
  font-size: 1.4rem;
  display: block;
}
@media all and (max-width: 639px) {
  .pagelink_box01 > li .txtarea .ttl {
    font-size: 1.8rem;
  }
  .pagelink_box01 > li .txtarea .ttl span {
    font-size: 1.2rem;
  }
}
.pagelink_box01 > li .txtarea .ttl.tb-rl {
  font-size: 3.5rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media all and (max-width: 639px) {
  .pagelink_box01 > li .txtarea .ttl {
    -webkit-writing-mode: lr-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: lr-tb;
    font-size: 2rem;
  }
}
.pagelink_box01 > li .txtarea .txt {
  font-size: 1.2rem;
  text-align: left;
  width: 80%;
  margin: 20px auto 20px;
  color: white;
}
@media all and (max-width: 639px) {
  .pagelink_box01 > li .txtarea .txt {
    font-size: 1.1rem;
    width: 80%;
    margin: 0 auto;
  }
}
.pagelink_box01 > li .more {
  margin-top: 10px;
  position: absolute;
  bottom: 10%;
  right: 0;
  left: 0;
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  z-index: 1;
  opacity: 1 !important;
}
.pagelink_box01 > li .more span {
  border: 1px solid #fff;
  padding: 6px 40px;
  color: #fff;
}
.pagelink_box01 > li .photo {
  position: relative;
  overflow: hidden;
}
.pagelink_box01 > li .photo:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #a2d538;
  transition: all 0.3s 0s ease;
}
.pagelink_box01 > li .photo img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}
@media all and (max-width: 639px) {
  .pagelink_box01 > li .photo img {
    height: 300px;
  }
}
.pagelink_box01 > li:nth-child(even) .photo:before {
  background-color: #4bb4a1;
}
.pagelink_box01 > li:hover .more span {
  background-color: #a2d538;
}
.pagelink_box01 > li:hover .photo {
  overflow: hidden;
}
.pagelink_box01 > li:hover .photo:before {
  transition: all 0.8s 0s ease;
  background-color: rgba(162, 213, 56, 0);
}
.pagelink_box01 > li:hover .photo img {
  transition: 0.8s;
  z-index: -1;
}
.pagelink_box01.type1 > li .txtarea {
  top: 0;
  bottom: 0;
  margin: 0;
}
.pagelink_box01.type1 > li .txtarea .ttl {
  font-weight: bold;
}
.pagelink_box01.type1 > li .photo {
  width: 100%;
  height: 600px;
}
@media all and (max-width: 639px) {
  .pagelink_box01.type1 > li .photo {
    height: 400px;
  }
}
.pagelink_box01.type1 > li .photo:before {
  background-color: rgba(17, 17, 17, 0.4);
}
.pagelink_box01.type1 > li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s;
}
.pagelink_box01.type1 > li:nth-child(even) .photo:before {
  background-color: rgba(17, 17, 17, 0.6);
}
.pagelink_box01.type1 > li:hover .more span {
  background-color: #a2d538;
}
.pagelink_box01.type1 > li:hover .photo:before {
  background-color: rgba(162, 213, 56, 0);
}
.pagelink_box01.type1 > li:hover .photo img {
  transition: 0.4s;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  z-index: -1;
}

.pagelink_box02 > li {
  overflow: hidden;
  position: relative;
  background-color: #a2d538;
}
.pagelink_box02 > li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
.pagelink_box02 > li a:hover {
  background-color: rgba(255, 255, 255, 0.4);
}
.pagelink_box02 > li:after {
  content: "";
  border: 1px solid #fff;
  width: 93%;
  height: 95%;
  margin: auto;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.pagelink_box02 > li:before {
  background-color: rgba(255, 255, 255, 0.8);
  content: "";
  display: block;
  transform: rotate(45deg);
  position: absolute;
  bottom: -25px;
  right: -25px;
  width: 50px;
  height: 50px;
  z-index: 10;
}
.pagelink_box02 > li .txtarea {
  position: relative;
  height: auto;
  background-color: rgba(162, 213, 56, 0.8);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 20px 0 90px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: 0.5s;
}
.pagelink_box02 > li .txtarea .icon {
  margin-bottom: 20px;
  position: relative;
}
.pagelink_box02 > li .txtarea .icon img {
  width: 60px;
  filter: brightness(0) invert(1);
}
.pagelink_box02 > li .txtarea .icon:before {
  content: "";
  position: absolute;
  border-bottom: 2px solid #eee;
  width: 60px;
  bottom: -15px;
}
.pagelink_box02 > li .txtarea .ttl {
  align-self: center;
  font-size: 2.2rem;
  line-height: 1.4;
  color: #fff;
  position: relative;
}
.pagelink_box02 > li .txtarea .ttl:before {
  content: "";
  position: absolute;
  border-bottom: 2px solid #eee;
  width: 60px;
  bottom: -12px;
  margin: auto;
  left: 0;
  right: 0;
}
.pagelink_box02 > li .txtarea .ttl.tb-rl {
  font-size: 3.5rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media all and (max-width: 639px) {
  .pagelink_box02 > li .txtarea .ttl {
    -webkit-writing-mode: lr-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: lr-tb;
    font-size: 2rem;
  }
}
.pagelink_box02 > li .txtarea .txt {
  font-size: 1.2rem;
  text-align: left;
  width: 80%;
  margin: 30px auto 20px;
  color: white;
}
@media all and (max-width: 639px) {
  .pagelink_box02 > li .txtarea .txt {
    font-size: 1.1rem;
    width: 80%;
    margin: 30px auto 0;
  }
}
.pagelink_box02 > li .more {
  margin-top: 10px;
  position: absolute;
  bottom: 10%;
  right: 0;
  left: 0;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  z-index: 1;
  opacity: 1 !important;
  transition: 0.5s;
}
.pagelink_box02 > li .more span {
  border: 1px solid #fff;
  border-radius: 30px;
  padding: 6px 40px;
  color: #fff;
}
.pagelink_box02 > li .photo {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 20vw;
  /* 
       &:before {
         position: absolute;
         content: "";
         width: 100%;
         height: 100%;
         top: 0;
         left: 0;
         background-color: rgba($base_color, 1);
         transition: all 0.3s 0s ease;
       }
  */
}
@media all and (max-width: 639px) {
  .pagelink_box02 > li .photo {
    height: 50vw;
  }
}
.pagelink_box02 > li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 639px) {
  .pagelink_box02 > li .photo img {
    height: 300px;
  }
}
.pagelink_box02 > li:nth-child(even) .photo:before {
  background-color: #4bb4a1;
}
.pagelink_box02 > li:hover {
  transition: 0.5s;
}
.pagelink_box02 > li:hover .txtarea {
  background-color: #a2d538;
  transition: 0.5s;
}
.pagelink_box02 > li:hover .more span {
  background-color: #fff;
  color: #a2d538;
  transition: 0.3s;
}
.pagelink_box02 > li:hover .photo {
  overflow: hidden;
}
.pagelink_box02 > li:hover .photo:before {
  transition: all 0.8s 0s ease;
  background-color: rgba(162, 213, 56, 0);
}
.pagelink_box03 > li {
  overflow: hidden;
  position: relative;
  background-color: rgba(248, 243, 235, 0.6);
  backdrop-filter: saturate(180%) blur(2px);
  width: 100%;
  height: 100%;
  /* &:after {
    content: "";
    border: 1px solid #fff;
    width: 93%;
    height: 95%;
    margin: auto;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  } */
  /* &:hover {
      transition: 0.5s;

      .txtarea {
          background-color: rgba($base_color, 1);
          transition: 0.5s;
      }

      .more span {
          background-color: #fff;
          color: $base_color;
          transition: 0.3s;
      }

      .photo {
          overflow: hidden;

          &:before {
              transition: all 0.8s 0s ease;
              background-color: rgba($base_color, 0);
          }
      }
  } */
}
.pagelink_box03 > li:nth-child(even) {
  background-color: rgba(248, 243, 235, 0.8);
}
.pagelink_box03 > li a:hover {
  opacity: 0.8;
}
.pagelink_box03 > li .txtarea {
  position: relative;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 30px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: 0.5s;
}
.pagelink_box03 > li .txtarea .num {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 7vw;
  color: rgba(162, 213, 56, 0.1);
  line-height: 0.6;
  z-index: 0;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
@media all and (max-width: 639px) {
  .pagelink_box03 > li .txtarea .num {
    font-size: 8rem;
  }
}
.pagelink_box03 > li .txtarea .icon {
  margin-bottom: 40px;
  position: relative;
}
.pagelink_box03 > li .txtarea .icon img {
  width: 60px;
  filter: brightness(0) invert(1);
}
.pagelink_box03 > li .txtarea .icon:before {
  content: "";
  position: absolute;
  border-bottom: 2px solid #eee;
  width: 60px;
  bottom: -15px;
}
.pagelink_box03 > li .txtarea .ttl {
  align-self: center;
  font-size: 1.8rem;
  color: #a2d538;
  z-index: 1;
  margin-top: 10px;
}
.pagelink_box03 > li .txtarea .ttl span {
  font-size: 1.4rem;
}
.pagelink_box03 > li .txtarea .ttl.tb-rl {
  font-size: 3.5rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media all and (max-width: 639px) {
  .pagelink_box03 > li .txtarea .ttl {
    -webkit-writing-mode: lr-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: lr-tb;
    font-size: 1.2rem;
  }
}
.pagelink_box03 > li .txtarea .txt {
  font-size: 1.2rem;
  text-align: left;
  width: 80%;
  margin: 20px auto 20px;
  color: white;
}
@media all and (max-width: 639px) {
  .pagelink_box03 > li .txtarea .txt {
    font-size: 1.1rem;
    width: 80%;
    margin: 0 auto;
  }
}
.pagelink_box03 > li .more {
  margin-top: 10px;
  position: absolute;
  bottom: 10%;
  right: 0;
  left: 0;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  z-index: 1;
  opacity: 1 !important;
  transition: 0.5s;
}
.pagelink_box03 > li .more span {
  border: 1px solid #fff;
  border-radius: 30px;
  padding: 6px 40px;
  color: #fff;
}
.pagelink_box03 > li .photo {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 20vw;
  /* 
       &:before {
         position: absolute;
         content: "";
         width: 100%;
         height: 100%;
         top: 0;
         left: 0;
         background-color: rgba($base_color, 1);
         transition: all 0.3s 0s ease;
       }
  */
}
@media all and (max-width: 639px) {
  .pagelink_box03 > li .photo {
    height: 50vw;
  }
}
.pagelink_box03 > li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 639px) {
  .pagelink_box03 > li .photo img {
    height: 300px;
  }
}

.pagelink_photo.slash li {
  clip-path: polygon(0 0, 100% 0%, 84% 100%, 0% 100%);
  overflow: hidden;
}
.pagelink_photo.slash li:nth-child(2n) {
  margin-top: 100px;
  clip-path: polygon(15% 0, 100% 0%, 100% 100%, 0% 100%);
}
@media all and (max-width: 639px) {
  .pagelink_photo.slash li {
    clip-path: polygon(15% 0%, 95% 0, 85% 100%, 5% 100%);
  }
  .pagelink_photo.slash li:nth-child(2n) {
    margin-top: 0px;
    clip-path: polygon(5% 0, 85% 0, 95% 100%, 15% 100%);
  }
  .pagelink_photo.slash li .photo {
    height: 250px;
  }
  .pagelink_photo.slash li .photo img {
    height: 250px;
  }
}
.pagelink_photo.rhombus {
  margin-top: 200px;
}
.pagelink_photo.rhombus li .txtarea {
  top: 15%;
  bottom: inherit;
}
.pagelink_photo.rhombus li .more {
  bottom: 30%;
}
.pagelink_photo.rhombus li .photo {
  transform: skewY(20.25deg);
  transform-origin: top right;
  -webkit-transform: skewY(20.25deg);
  -webkit-transform-origin: top right;
}
.pagelink_photo.rhombus li .photo img {
  position: absolute;
  top: -40%;
  height: 140%;
  transform: skewY(-20.25deg);
  transform-origin: top right;
  -webkit-transform: skewY(-20.25deg);
  -webkit-transform-origin: top right;
}
.pagelink_photo.rhombus li:hover .photo {
  overflow: hidden;
}
.pagelink_photo.rhombus li:hover .photo:before {
  transition: 0.5s;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  z-index: 5;
}
.pagelink_photo.rhombus li:hover .photo img {
  transition: 0.8s;
  transform: skewY(-20.25deg) scale(1.2);
  transform-origin: top right;
  -webkit-transform: skewY(-20.25deg) scale(1.2);
  -webkit-transform-origin: top right;
}
.pagelink_photo.rhombus li:nth-child(2n) .photo {
  top: -184px;
  transform: skewY(-20.25deg);
  transform-origin: bottom right;
  -webkit-transform: skewY(-20.25deg);
  -webkit-transform-origin: bottom right;
}
@media screen and (max-width: 1500px) {
  .pagelink_photo.rhombus li:nth-child(2n) .photo {
    top: -12.3vw;
  }
}
.pagelink_photo.rhombus li:nth-child(2n) .photo img {
  position: absolute;
  top: 0%;
  height: 135%;
  transform: skewY(20.25deg);
  transform-origin: bottom right;
  -webkit-transform: skewY(20.25deg);
  -webkit-transform-origin: bottom right;
}
.pagelink_photo.rhombus li:nth-child(2n):hover .photo img {
  transition: 0.8s;
  transform: skewY(20.25deg) scale(1.2);
  transform-origin: bottom right;
  -webkit-transform: skewY(20.25deg) scale(1.2);
  -webkit-transform-origin: bottom right;
}
@media all and (max-width: 896px) {
  .pagelink_photo.rhombus li .txtarea {
    top: 5%;
  }
  .pagelink_photo.rhombus li .photo {
    height: 400px;
  }
  .pagelink_photo.rhombus li .photo img {
    top: -45%;
    height: 145%;
  }
  .pagelink_photo.rhombus li .more {
    bottom: 45%;
  }
  .pagelink_photo.rhombus li:nth-child(2n) .photo {
    top: -31.2vw;
  }
}
.pagelink_photo.elegant.type_white li .txtarea .ttl {
  color: #a2d538;
  text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px;
}
.pagelink_photo.elegant.type_white li .txtarea .sub-txtarea {
  color: #555;
  text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px;
}
.pagelink_photo.elegant.type_white li .photo:before {
  background: rgba(255, 255, 255, 0.8);
  background: linear-gradient(113deg, white 0%, rgba(255, 255, 255, 0.8) 100%);
}
.pagelink_photo.elegant.type_white li .photo:after {
  background: rgba(255, 255, 255, 0.8);
}
.pagelink_photo.elegant li .photo {
  height: 600px;
}
.pagelink_photo.elegant li .txtarea {
  width: 100%;
  max-width: 550px;
  margin: 80px 0 0 auto;
  justify-content: flex-start;
  display: block;
}
.pagelink_photo.elegant li .txtarea .ttl {
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.6;
  border-bottom: 1px solid #fff;
  margin: 20px 10% 0;
  padding: 15px 0;
  text-shadow: 0px 0px 5px #111, 0px 0px 5px #111, 0px 0px 10px #111, 0px 0px 10px #111, 0px 0px 15px #111, 0px 0px 15px;
}
.pagelink_photo.elegant li .txtarea .ttl b {
  font-size: 3.8rem;
}
@media all and (max-width: 639px) {
  .pagelink_photo.elegant li .txtarea .ttl b {
    font-size: 2.6rem;
  }
}
.pagelink_photo.elegant li .txtarea .ttl:before {
  display: none;
}
.pagelink_photo.elegant li .txtarea .sub-txtarea {
  padding: 0;
  margin: 20px 10% 0;
  text-shadow: 0px 0px 5px #111, 0px 0px 5px #111, 0px 0px 10px #111, 0px 0px 10px #111, 0px 0px 15px #111, 0px 0px 15px;
}
.pagelink_photo.elegant li .photo:before {
  content: "";
  background: rgba(17, 17, 17, 0.8);
  background: linear-gradient(113deg, #111111 0%, rgba(17, 17, 17, 0.8) 100%);
}
.pagelink_photo.elegant li .decotxt01 {
  width: 100%;
  max-width: 495px;
  padding: 5px 20px;
  margin: 0 0 0 auto;
  background: #a2d538;
  font-size: 3rem;
  color: #fff;
  text-align: center;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
@media all and (max-width: 639px) {
  .pagelink_photo.elegant li .decotxt01 {
    font-size: 1.4rem;
  }
}
.pagelink_photo.elegant li .decotxt02 {
  position: absolute;
  bottom: -25px;
  right: 0;
  font-size: 8rem;
  color: #fff;
  opacity: 0.6;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.pagelink_photo.elegant li .decotxt02::first-letter {
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .pagelink_photo.elegant li .decotxt02 {
    font-size: 7rem;
  }
}
.pagelink_photo.elegant li .more {
  margin-top: 0px;
  position: absolute;
  font-size: 1.4rem;
  text-align: center;
  opacity: 1;
}
.pagelink_photo.elegant li .more.radius span {
  border-radius: 20px;
}
.pagelink_photo.elegant li .more span {
  border: 1px solid #a2d538;
  background: #a2d538;
  padding: 8px 0px;
  width: 100%;
  max-width: 250px;
  color: #fff;
  display: block;
  border-radius: 0px;
  margin: 0 10% 0 auto;
  position: relative;
}
.pagelink_photo.elegant li .more span:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  font-weight: 900;
  position: absolute;
  top: 0;
  right: 15px;
  height: 100%;
  display: grid;
  place-items: center;
  transition: all 0.3s 0s ease;
  color: #fff;
}
.pagelink_photo.elegant li:hover .more span {
  background: #fff;
  color: #333;
}
.pagelink_photo.elegant li:hover .more span:after {
  right: 10px;
  color: #333;
}
.pagelink_photo.elegant li:nth-child(2n) .txtarea {
  margin: 80px auto 0 0;
}
.pagelink_photo.elegant li:nth-child(2n) .decotxt01 {
  margin: 0 auto 0 0;
  background: #4bb4a1;
}
.pagelink_photo.elegant li:nth-child(2n) .decotxt02 {
  left: 0;
}
.pagelink_photo.elegant li:nth-child(2n) .more span {
  margin: 0 auto 0 10%;
}
.pagelink_photo.elegant li.center .txtarea {
  width: 100%;
  max-width: 550px;
  margin: 80px auto 0;
}
.pagelink_photo.elegant li.center .decotxt01 {
  margin: 0 auto 0;
  max-width: 450px;
  background: #44a291;
}
.pagelink_photo.elegant li.center .decotxt02 {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}
.pagelink_photo.elegant li.center .more span {
  margin: 0 auto 0;
}
.pagelink_photo li {
  position: relative;
  margin-bottom: 50px;
  margin: 0 0;
}
.pagelink_photo li:after {
  content: "";
  border: 3px solid #fff;
  width: 80%;
  height: 80%;
  margin: auto;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
@media all and (max-width: 639px) {
  .pagelink_photo li {
    padding: 0px 0;
  }
}
.pagelink_photo li a {
  color: #fff;
}
.pagelink_photo li .photo {
  position: relative;
  width: 100%;
  height: 550px;
  overflow: hidden;
}
.pagelink_photo li .photo:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0%;
  background: rgba(162, 213, 56, 0.8);
  background: linear-gradient(113deg, #a2d538 0%, rgba(75, 180, 161, 0.8) 100%);
  z-index: 100;
  bottom: 0;
  opacity: 0.7;
  transition: 0.8s;
}
.pagelink_photo li .photo:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 11;
  top: 0;
  bottom: 0;
  opacity: 0.6;
  transition: 0.8s;
  z-index: 1;
}
.pagelink_photo li .photo img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  transition: 0.8s;
}
.pagelink_photo li .num {
  position: absolute;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  left: 0;
  right: 0;
  margin: 0 auto;
  line-height: 11rem;
  top: 36%;
  font-size: 16rem;
  text-align: center;
  color: #fff;
  opacity: 0.6;
}
.pagelink_photo li .txtarea {
  position: absolute;
  width: 100%;
  height: auto;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 110;
}
.pagelink_photo li .eng {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  left: 0;
  right: 0;
  margin: 0 auto;
  line-height: 1;
  letter-spacing: 0.2rem;
  top: 0%;
  font-size: 2.3rem;
  text-align: center;
  color: #fff;
}
.pagelink_photo li .ttl {
  padding: 0 20px;
  color: #fff;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: bold;
  position: relative;
}
.pagelink_photo li .ttl:before {
  content: "";
  position: absolute;
  border-bottom: 3px solid #fff;
  width: 50px;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: -15px;
}
.pagelink_photo li .sub-txtarea {
  display: block;
  color: #fff;
  padding: 20px 10% 0;
}
.pagelink_photo li .more {
  margin-top: 10px;
  position: absolute;
  bottom: 25%;
  right: 0;
  left: 0;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  z-index: 110;
  opacity: 1;
}
.pagelink_photo li .more span {
  border: 2px solid #fff;
  padding: 0.5em 2em;
  color: #fff;
}
.pagelink_photo li:hover .photo {
  overflow: hidden;
}
.pagelink_photo li:hover .photo:before {
  transition: 0.5s;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  z-index: 100;
}
.pagelink_photo li:hover .photo img {
  transition: 0.8s;
  transform: rotate(5deg) scale(1.2);
}
@media all and (max-width: 1367px) {
  .pagelink_photo li .num {
    font-size: 12rem;
    line-height: 8rem;
  }
}
@media all and (max-width: 1100px) {
  .pagelink_photo li .num {
    top: 26%;
  }
  .pagelink_photo li .sub-txt span {
    font-size: 1.6rem;
  }
  .pagelink_photo li .sub-min-txt {
    font-size: 1.2rem;
  }
}
@media all and (max-width: 639px) {
  .pagelink_photo li {
    width: 100%;
    height: 100%;
    padding: 0px 0;
    margin-bottom: 6px;
  }
  .pagelink_photo li .num {
    line-height: 6rem;
    top: 23%;
    font-size: 8rem;
  }
  .pagelink_photo li .ttl {
    font-size: 2rem;
  }
  .pagelink_photo li .sub-txt {
    bottom: 10%;
  }
  .pagelink_photo li .sub-txt span {
    padding: 2px 20px;
    font-size: 1rem;
  }
  .pagelink_photo li .sub-min-txt {
    font-size: 1.2rem;
  }
  .pagelink_photo li .txtarea .sub-min-txt {
    font-size: 1rem !important;
  }
  .pagelink_photo li .photo {
    height: 350px;
  }
  .pagelink_photo li .photo img {
    height: 350px;
  }
}

.pagelink_circle {
  margin-top: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 10px;
}
.pagelink_circle li {
  position: relative;
}
.pagelink_circle li .txtarea {
  position: absolute;
  background-color: rgba(75, 180, 161, 0.8);
  top: 0;
  left: 0;
  right: 0;
  bottom: -50px;
  margin: auto auto 0;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  width: 160px;
  height: 160px;
  display: block;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.pagelink_circle li .txtarea .ttl {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  font-size: 1.5rem;
}
.pagelink_circle li .txtarea .txtimg {
  margin-top: 20px;
}
.pagelink_circle li .txtarea .txtimg img {
  filter: brightness(0) invert(1);
  width: 80px;
}
.pagelink_circle li .photo {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  width: 400px;
  height: 400px;
  margin: 0 auto;
}
.pagelink_circle li .photo:before {
  position: absolute;
  content: "";
  width: 130%;
  height: 100%;
  top: 0;
  left: 0;
}
.pagelink_circle li .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: 0.4s;
}
.pagelink_circle li:hover .photo {
  overflow: hidden;
}
.pagelink_circle li:hover .photo img {
  transition: 0.4s;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.pagelink_circle li:hover .btn06 {
  color: #fff;
}
.pagelink_circle li:hover .btn06:after {
  width: 100%;
}
.pagelink_circle li:hover .btn06 span {
  color: #fff;
}
.pagelink_circle li:hover .btn06 span:after {
  color: #fff;
  right: 15px;
  border-top: 1px solid white;
  border-right: 1px solid white;
}

@media all and (max-width: 639px) {
  .pagelink_circle li {
    width: 100%;
    margin-bottom: 60px;
  }
}
@media all and (max-width: 639px) {
  .pagelink_circle li .txtarea {
    width: 120px;
    height: 130px;
  }
}
@media all and (max-width: 639px) {
  .pagelink_circle li .txtarea .ttl {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .pagelink_circle li .txtarea .txtimg img {
    width: 40px;
  }
}
@media all and (max-width: 1100px) {
  .pagelink_circle li .photo {
    width: 100%;
    height: 100%;
  }
}
@media all and (max-width: 639px) {
  .pagelink_circle li .photo {
    width: 300px;
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .pagelink_circle li {
    width: 100%;
  }
  .pagelink_circle li .photo img {
    width: 100%;
    height: 380px;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .pagelink_circle li .txtarea {
    position: absolute;
    text-align: center;
    width: 120px;
    height: 120px;
  }
  .pagelink_circle li .txtarea .ttl {
    font-size: 1.2rem;
  }
  .pagelink_circle li .txtarea .txtimg {
    text-align: center;
  }
  .pagelink_circle li .txtarea .txtimg img {
    width: 50px;
  }
}
.page_link > li {
  position: relative;
}
.page_link > li figure {
  width: 100%;
  overflow: hidden;
  height: 14vw;
  border: 10px solid #f2f2f2;
}
@media all and (max-width: 896px) {
  .page_link > li figure {
    height: 15vw;
    border: 5px solid #f2f2f2;
  }
}
@media all and (max-width: 639px) {
  .page_link > li figure {
    height: 20vw;
    border: 3px solid #f2f2f2;
  }
}
.page_link > li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s;
}
.page_link > li:hover figure img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  transition: 0.5s;
}
.page_link > li:hover p:before {
  right: 4px;
  transition: 0.5s;
}
.page_link > li:hover a {
  background-color: rgba(255, 255, 255, 0.4);
}
.page_link > li p {
  background-color: #a2d538;
  color: #fff;
  padding: 10px 10px;
  text-align: left;
  position: relative;
  width: 100%;
}
@media all and (max-width: 639px) {
  .page_link > li p {
    font-size: 1rem;
  }
}
.page_link > li p:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  right: 8px;
  display: grid;
  place-items: center;
  transition: 0.3s;
}
.page_link > li p:after {
  position: absolute;
  left: 8px;
  display: grid;
  place-items: center;
  transition: 0.3s;
}
.page_link.type1 li {
  overflow: hidden;
}
.page_link.type1 li figure {
  border: 0px solid #a2d538;
  height: 600px;
}
@media all and (max-width: 639px) {
  .page_link.type1 li figure {
    height: 250px;
  }
}
.page_link.type1 li a {
  color: #fff;
}
.page_link.type1 li p {
  background-color: rgba(255, 255, 255, 0);
}
.page_link.type1 li .page_link_wrap {
  position: absolute;
  background: none;
  top: 0;
  height: 100%;
  width: 100%;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 2.6rem;
  background-color: rgba(17, 17, 17, 0.3);
  text-align: center;
  color: #fff;
  /* &:before {
      content: "";
      right: 10%;
      width: 50px;
      height: 1px;
      background-color: #fff;
  }

  &:after {
      content: "";
      left: 10%;
      width: 50px;
      height: 1px;
      background-color: #fff;
  } */
}
@media all and (max-width: 639px) {
  .page_link.type1 li .page_link_wrap {
    font-size: 2.4rem;
  }
  .page_link.type1 li .page_link_wrap:before {
    width: 20px;
  }
  .page_link.type1 li .page_link_wrap:after {
    width: 20px;
  }
}
.page_link.type1 li:hover p:before {
  width: 20px;
}
.page_link.type1 li:hover p:after {
  width: 20px;
}
@media all and (max-width: 639px) {
  .page_link.type1 li:hover p:before {
    width: 5px;
  }
  .page_link.type1 li:hover p:after {
    width: 5px;
  }
}
.page_link.type2 li {
  border-radius: 20px;
  overflow: hidden;
}
.page_link.type2 li figure {
  border: 0px;
  height: 160px;
  border-radius: 10px;
}
@media all and (max-width: 639px) {
  .page_link.type2 li figure {
    height: 120px;
  }
}
.page_link.type2 li figure img {
  opacity: 0.2;
}
.page_link.type2 li p {
  position: absolute;
  background: none;
  top: 0;
  height: 100%;
  width: 100%;
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 3rem;
  color: #333;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.3);
}
.page_link.type2 li p b {
  padding: 8px 35px;
  border-radius: 20px;
}
.page_link.type2 li p .txt {
  font-size: 1.8rem;
  margin-top: -20px;
}
@media all and (max-width: 639px) {
  .page_link.type2 li p .txt {
    font-size: 1.1rem;
  }
}
.page_link.type2 li p:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  right: 10%;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-color: #fff;
}
.page_link.type2 li p:after {
  display: none;
  left: 10%;
  width: 50px;
  height: 50px;
}
@media all and (max-width: 639px) {
  .page_link.type2 li p {
    font-size: 1.4rem;
  }
  .page_link.type2 li p:before {
    width: 30px;
    height: 30px;
  }
  .page_link.type2 li p:after {
    width: 30px;
    height: 30px;
  }
}
.page_link.type2 li:hover p:before {
  right: 6%;
  width: 50px;
}
.page_link.type2 li:hover p:after {
  width: 20px;
}
@media all and (max-width: 639px) {
  .page_link.type2 li:hover p:before {
    width: 5px;
  }
  .page_link.type2 li:hover p:after {
    width: 5px;
  }
}
.page_link.type3 li {
  border-radius: 20px;
  overflow: hidden;
}
.page_link.type3 li:hover figure:before {
  left: 60px;
  background-color: #a2d538;
  transition: 0.5s;
}
.page_link.type3 li figure {
  border: 0px;
  height: 426px;
  border-radius: 20px 50px 20px 20px;
  position: relative;
}
.page_link.type3 li figure img {
  opacity: 1;
}
.page_link.type3 li figure:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  left: 20px;
  bottom: 20px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 3rem;
  border: 2px solid #fff;
  z-index: 999;
  transition: 0.5s;
}
@media all and (max-width: 639px) {
  .page_link.type3 li figure {
    height: 330px;
  }
  .page_link.type3 li figure:before {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }
}
.page_link.type3 li p {
  position: absolute;
  top: -10px;
  right: -5px;
  height: 95%;
  width: 90px;
  padding: 25px 20px;
  text-align: left;
  font-size: 1.8rem;
  color: #a2d538;
  font-weight: bold;
  background-color: #fff;
  border-radius: 0 0 0 10px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.page_link.type3 li p b {
  padding: 8px 35px;
  border-radius: 20px;
}
.page_link.type3 li p:before {
  display: none;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
.page_link.type3 li p:after {
  display: none;
}
@media all and (max-width: 639px) {
  .page_link.type3 li p {
    font-size: 1.3rem;
    width: 60px;
    padding: 25px 10px;
  }
  .page_link.type3 li p:before {
    width: 30px;
    height: 30px;
  }
  .page_link.type3 li p:after {
    width: 30px;
    height: 30px;
  }
}
.page_link.type3 li:hover p:before {
  right: 6%;
  width: 50px;
}
.page_link.type3 li:hover p:after {
  width: 20px;
}
@media all and (max-width: 639px) {
  .page_link.type3 li:hover p:before {
    width: 5px;
  }
  .page_link.type3 li:hover p:after {
    width: 5px;
  }
}
.page_link.type4 li {
  border-radius: 0;
  overflow: visible;
  margin-bottom: 30px;
}
.page_link.type4 li:hover figure:before {
  right: 30px;
  background-color: #a2d538;
  transition: 0.5s;
}
.page_link.type4 li figure {
  border: 0px;
  height: 250px;
  position: relative;
}
.page_link.type4 li figure img {
  opacity: 1;
}
.page_link.type4 li figure:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  right: 60px;
  bottom: 20px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 3rem;
  border: 2px solid #fff;
  z-index: 999;
  transition: 0.5s;
}
@media all and (max-width: 639px) {
  .page_link.type4 li figure {
    height: 330px;
  }
  .page_link.type4 li figure:before {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }
}
.page_link.type4 li .txt {
  top: -10px;
  right: -5px;
  padding: 10px 20px;
  text-align: left;
  font-size: 1.8rem;
  color: #00a5e7;
  font-weight: bold;
}
.page_link.type4 li .txt b {
  padding: 8px 35px;
  border-radius: 20px;
}
.page_link.type4 li .txt:before {
  display: none;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
.page_link.type4 li .txt:after {
  display: none;
}
@media all and (max-width: 639px) {
  .page_link.type4 li .txt {
    font-size: 1.3rem;
    width: 60px;
    padding: 25px 10px;
  }
  .page_link.type4 li .txt:before {
    width: 30px;
    height: 30px;
  }
  .page_link.type4 li .txt:after {
    width: 30px;
    height: 30px;
  }
}
.page_link.type4 li:hover p:before {
  right: 6%;
  width: 50px;
}
.page_link.type4 li:hover p:after {
  width: 20px;
}
@media all and (max-width: 639px) {
  .page_link.type4 li:hover p:before {
    width: 5px;
  }
  .page_link.type4 li:hover p:after {
    width: 5px;
  }
}

.page_link02.radius > li figure {
  border-radius: 30px;
}
.page_link02.radius > li .txt p span {
  border-radius: 30px;
  padding: 5px 20px;
  line-height: 2;
}
.page_link02 > li {
  border-radius: 0;
  position: relative;
  overflow: visible;
  margin-bottom: 30px;
}
.page_link02 > li:hover figure img {
  opacity: 0.6;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  transition: 0.5s;
}
.page_link02 > li:hover figure:before {
  right: 30px;
  background-color: #a2d538;
  transition: 0.5s;
}
.page_link02 > li figure {
  height: 400px;
  width: 80%;
  margin: 10px 0 0 auto;
  top: 10%;
  right: 0;
  position: relative;
  overflow: hidden;
  background-color: #a2d538;
  transition: 0.5s;
}
.page_link02 > li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  opacity: 1;
  transition: 0.5s;
}
.page_link02 > li figure:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  right: 60px;
  bottom: 20px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 3rem;
  border: 2px solid #fff;
  z-index: 999;
  transition: 0.5s;
}
@media all and (max-width: 639px) {
  .page_link02 > li figure {
    height: 200px;
  }
  .page_link02 > li figure:before {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    right: 30px;
  }
  .page_link02 > li figure:hover:before {
    right: 10px;
  }
}
.page_link02 > li .txt {
  position: absolute;
  top: 0;
  left: 0;
  padding: 50px 0px;
  text-align: left;
  font-size: 1.8rem;
  color: #00a5e7;
  font-weight: bold;
}
.page_link02 > li .txt p span {
  background-color: #a2d538;
  color: #fff;
  padding: 5px 10px;
}
.page_link02 > li .txt:before {
  display: none;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
.page_link02 > li .txt:after {
  display: none;
}
@media all and (max-width: 639px) {
  .page_link02 > li .txt {
    font-size: 1.3rem;
    padding: 0px 0px;
    margin-top: -30px;
  }
  .page_link02 > li .txt:before {
    width: 30px;
    height: 30px;
  }
  .page_link02 > li .txt:after {
    width: 30px;
    height: 30px;
  }
}
.page_link02 > li:hover p:before {
  right: 6%;
  width: 50px;
}
.page_link02 > li:hover p:after {
  width: 20px;
}
@media all and (max-width: 639px) {
  .page_link02 > li:hover p:before {
    width: 5px;
  }
  .page_link02 > li:hover p:after {
    width: 5px;
  }
}

.contentlist li {
  background-color: #fff;
  position: relative;
  width: 100%;
  padding: 1%;
}
.contentlist li:hover {
  transition: 0.8s;
}
.contentlist li:hover .link-arrow {
  transition: 0.8s;
  right: 10px;
  mix-blend-mode: color-burn;
}
.contentlist li:hover figure {
  position: relative;
}
.contentlist li:hover figure img {
  transform: scale(1.2);
  position: relative;
}
.contentlist li:hover .txt-box {
  transition: 0.8s;
  background-color: #a2d538;
}
.contentlist li:hover .txt {
  display: block;
  bottom: 0;
  left: 110px;
  color: #fff;
  text-align: left;
  padding: 56px 0 0 30px;
}
@media all and (max-width: 896px) {
  .contentlist li:hover .txt {
    position: initial;
    padding: 0 0 0 0;
    text-align: center;
  }
}
.contentlist li figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 20vw;
}
@media all and (max-width: 639px) {
  .contentlist li figure {
    height: 40vw;
  }
}
.contentlist li figure img {
  object-fit: cover;
  transition: all 0.4s ease;
  width: 100%;
  height: 100%;
  opacity: 1;
}
.contentlist li .txt-box {
  position: relative;
  background-color: #a2d538;
  padding: 30px 0;
}
.contentlist li .ttl {
  text-align: center;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.11em;
  font-weight: normal;
  color: #fff;
}
@media all and (max-width: 639px) {
  .contentlist li .ttl {
    font-size: 1rem;
  }
}
.contentlist li .subttl {
  font-size: 2rem;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
@media all and (max-width: 896px) {
  .contentlist li .subttl {
    text-align: center;
    font-size: 1.4rem;
  }
}

.bnrbox01 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.bnrbox01 > a {
  display: block;
  text-align: center;
  padding: 20px 5px 3px;
  transition: all 0.4s ease;
}
.bnrbox01 > a::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #a2d538, #a2d538);
  background-size: 180% auto;
  background-position: right center;
  border-radius: 10px;
  z-index: 0;
  transition: all 0.4s ease-in;
}
.bnrbox01 > a::after {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  background: #fff;
  border-radius: 5px;
  z-index: 0;
}
.bnrbox01 > a > .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 100%;
  background: url(../img/pattern/bottom02.png) bottom repeat-x;
  background-size: auto 50%;
}
.bnrbox01 > a > .inner > .child {
  width: 25%;
}
.bnrbox01 > a > .inner > .child img {
  width: 100%;
}
.bnrbox01 > a > .inner > .child-txt {
  width: 40%;
  padding: 0 20px;
  align-items: center;
}
.bnrbox01 > a > .inner .top-bnr-title {
  font-size: 2rem;
}
.bnrbox01 > a > .inner .top-bnr-title span {
  color: #81cbbd;
  font-size: 3.2rem;
}
.bnrbox01 > a > .inner .top-bnr-txt {
  color: #fff;
  background: #a2d538;
  border: 1px solid #a2d538;
  padding: 10px 34px;
  max-width: 300px;
  font-size: 1.5rem;
  border-radius: 30px;
  margin: 20px auto;
  transition: all 0.4s ease-in;
}
.bnrbox01 > a:hover {
  transform: translateY(-5px);
  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
}
.bnrbox01 > a:hover::before {
  background-position: left center;
}
.bnrbox01 > a:hover .top-bnr-txt {
  color: #a2d538;
  background: #fefefe;
}
@media all and (max-width: 1100px) {
  .bnrbox01 > a {
    padding: 10px 20px 0;
  }
  .bnrbox01 > a > .inner > .child {
    width: 15%;
  }
  .bnrbox01 > a > .inner > .child-txt {
    width: 70%;
  }
  .bnrbox01 > a > .inner .top-bnr-title {
    font-size: 1.8rem;
  }
  .bnrbox01 > a > .inner .top-bnr-title span {
    font-size: 2.8rem;
  }
  .bnrbox01 > a > .inner .top-bnr-txt {
    font-size: 1.4rem;
    margin-top: 15px;
  }
}
@media all and (max-width: 896px) {
  .bnrbox01 > a > .inner .top-bnr-title {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
  }
  .bnrbox01 > a > .inner .top-bnr-title span {
    font-size: 2.4rem;
    letter-spacing: 0.2em;
  }
  .bnrbox01 > a > .inner .top-bnr-txt {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .bnrbox01 > a {
    border-radius: 5px;
    padding: 5px;
  }
  .bnrbox01 > a .inner {
    margin: auto;
    background-size: auto 30%;
  }
  .bnrbox01 > a .inner > .child {
    width: 50%;
    order: 3;
  }
  .bnrbox01 > a .inner .child-txt {
    width: 100%;
    padding: 20px 0 0;
    order: 1;
  }
  .bnrbox01 > a .inner .top-bnr-txt {
    font-size: 1rem;
  }
}

.bnrbox02 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.bnrbox02.reverse > .inner {
  flex-direction: row-reverse;
}
.bnrbox02 > a {
  display: block;
  text-align: center;
  padding: 5px 5px 5px;
  transition: all 0.4s ease;
}
.bnrbox02 > a::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #4bb4a1, #4bb4a1);
  background-size: 180% auto;
  background-position: right center;
  border-radius: 0;
  z-index: -1;
  transition: all 0.4s ease-in;
}
.bnrbox02 > a::after {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  background: #a2d538;
  border-radius: 5px;
  z-index: -1;
}
.bnrbox02 > a > .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 1;
  width: 100%;
  position: relative;
  background-size: auto 50%;
}
.bnrbox02 > a > .inner > .child {
  width: 400px;
}
.bnrbox02 > a > .inner > .child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bnrbox02 > a > .inner > .child-txt {
  width: calc(100% - 400px);
  padding: 2% 8% 1%;
  align-items: center;
  color: #fff;
}
.bnrbox02 > a > .inner > .child-txt > .ttl {
  color: #fff;
  font-size: 3rem;
  margin-bottom: 30px;
}
.bnrbox02 > a > .inner > .child-txt > .subttl {
  color: #c3a349;
  font-size: 1.8rem;
  margin-bottom: 20px;
}
.bnrbox02 > a > .inner .top-bnr-title {
  font-size: 2rem;
}
.bnrbox02 > a > .inner .top-bnr-title span {
  color: #81cbbd;
  font-size: 3.2rem;
}
.bnrbox02 > a > .inner .top-bnr-txt {
  color: #fff;
  background: #c3a349;
  border: 1px solid #c3a349;
  padding: 10px 34px;
  max-width: 300px;
  font-size: 1.5rem;
  border-radius: 0;
  margin: 20px auto;
  transition: all 0.4s ease-in;
}
.bnrbox02 > a:hover {
  transform: translateY(-5px);
  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
}
.bnrbox02 > a:hover::before {
  background-position: left center;
}
.bnrbox02 > a:hover .top-bnr-txt {
  color: #c3a349;
  background: #fff;
}
@media all and (max-width: 896px) {
  .bnrbox02 > a {
    border-radius: 5px;
    padding: 5px;
  }
  .bnrbox02 > a .inner {
    margin: auto;
    background-size: auto 30%;
  }
  .bnrbox02 > a .inner > .child {
    width: 100%;
    order: 1;
  }
  .bnrbox02 > a .inner .child-txt {
    width: 100%;
    padding: 3% 5%;
    order: 2;
  }
  .bnrbox02 > a .inner .top-bnr-txt {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 1040px) {
  .main_content .bnrbox02 > a {
    display: block;
    text-align: center;
    padding: 5px 5px 5px;
    transition: all 0.4s ease;
    border-radius: 5px;
    padding: 5px;
  }
  .main_content .bnrbox02 > a .inner {
    margin: auto;
    background-size: auto 30%;
  }
  .main_content .bnrbox02 > a .inner > .child {
    width: 100%;
    order: 1;
  }
  .main_content .bnrbox02 > a .inner .child-txt {
    width: 100%;
    padding: 3% 5%;
    order: 2;
  }
  .main_content .bnrbox02 > a .inner .top-bnr-txt {
    font-size: 1.2rem;
  }
}

.icon_list_link li {
  border: solid 2px rgba(204, 204, 204, 0.7);
  border-radius: 8px;
}
.icon_list_link li a {
  display: block;
  text-align: center;
  font-weight: 600;
  height: 100%;
  -webkit-transition: all 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  transition: all 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  position: relative;
  padding: 12px 0;
}
.icon_list_link li a > .ttl {
  font-size: 2rem;
  color: #333;
}
@media all and (max-width: 639px) {
  .icon_list_link li a > .ttl {
    font-size: 1.5rem;
  }
}
.icon_list_link li a img {
  width: 70px;
}
.icon_list_link li a:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
  background-image: linear-gradient(70deg, rgba(162, 213, 56, 0.2), #fff, #fff, rgba(162, 213, 56, 0.2));
  opacity: 0.7;
  border-radius: 8px;
  z-index: -1;
  -webkit-transition: all 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  transition: all 0.2s cubic-bezier(0.26, 0.06, 0, 1);
}
.icon_list_link li a .svg {
  transition: all 0.2s;
  transform: scale(1);
}
.icon_list_link li a:hover {
  color: #a2d538;
}
.icon_list_link li a:hover .svg {
  transition: all 0.2s;
  transform: scale(1.2);
}
.icon_list_link li a:hover:before {
  opacity: 0.9;
  -webkit-transform: translate(-50%, -50%) scale(0.9);
  transform: translate(-50%, -50%) scale(0.9);
}
.icon_list_link.type1 {
  display: blcok;
  width: 25%;
}
.icon_list_link.type1 li {
  width: 100%;
}
.icon_list_link.type1 li a {
  padding: 0 0 15px;
}
.icon_list_link.type1 li a img {
  width: 100%;
}
.icon_list_link.type2 {
  width: 100%;
}
.icon_list_link.type2 li {
  width: 19%;
  margin-right: 1.25%;
}
.icon_list_link.type2 li:nth-child(4n) {
  margin-right: 1.25%;
}
.icon_list_link.type2 li:nth-child(5n) {
  margin-right: 0;
}

@media all and (max-width: 896px) {
  .icon_list_dental {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  .icon_list_dental li {
    width: 48%;
    margin-right: 4%;
  }
  .icon_list_dental li:nth-child(2n) {
    margin-right: 0;
  }
}
@media all and (max-width: 896px) {
  .icon_list_dental.type1 {
    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;
    width: 100%;
  }
  .icon_list_dental.type1 li {
    width: 48%;
  }
}
@media all and (max-width: 639px) {
  .icon_list_dental.type2 li {
    width: 48%;
    margin-right: 4%;
  }
  .icon_list_dental.type2 li:nth-child(5n) {
    margin-right: 4%;
  }
  .icon_list_dental.type2 li:nth-child(2n) {
    margin-right: 0;
  }
}
.pagelink_icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 20px 20px;
}
@media all and (max-width: 639px) {
  .pagelink_icon {
    gap: 5px 5px;
  }
}
.pagelink_icon > li {
  max-width: calc(25% - 40px);
}
@media all and (max-width: 639px) {
  .pagelink_icon > li {
    max-width: calc(50% - 10px);
  }
}
.pagelink_icon > li {
  overflow: hidden;
  background-color: #a2d538;
  backdrop-filter: saturate(180%) blur(2px);
  width: 100%;
  height: 100%;
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 50%;
  /* &:after {
    content: "";
    border: 1px solid #fff;
    width: 93%;
    height: 95%;
    margin: auto;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  } */
  /* &:hover {
      transition: 0.5s;

      .txtarea {
          background-color: rgba($base_color, 1);
          transition: 0.5s;
      }

      .more span {
          background-color: #fff;
          color: $base_color;
          transition: 0.3s;
      }

      .photo {
          overflow: hidden;

          &:before {
              transition: all 0.8s 0s ease;
              background-color: rgba($base_color, 0);
          }
      }
  } */
}
.pagelink_icon > li .svg {
  transform: scale(1);
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.pagelink_icon > li:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.pagelink_icon > li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: all 0.4s ease;
}
.pagelink_icon > li a:hover {
  transform: translateY(-5px);
  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2));
}
.pagelink_icon > li a:hover .svg {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  transform: scale(1.2);
}
.pagelink_icon > li:nth-child(even) {
  background-color: #4bb4a1;
}
.pagelink_icon > li .ttl {
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
  width: 80%;
  margin: 0 auto 0;
  font-size: 120%;
  font-weight: bold;
  color: #333;
}
@media all and (max-width: 639px) {
  .pagelink_icon > li .ttl {
    width: 70%;
    font-size: 90%;
  }
}
.pagelink_icon > li .more {
  margin-top: 10px;
  position: absolute;
  bottom: 10%;
  right: 0;
  left: 0;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  z-index: 1;
  opacity: 1 !important;
  transition: 0.5s;
}
.pagelink_icon > li .more span {
  border: 1px solid #fff;
  border-radius: 30px;
  padding: 6px 40px;
  color: #fff;
}
.pagelink_icon > li .photo {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 20vw;
  /* 
       &:before {
         position: absolute;
         content: "";
         width: 100%;
         height: 100%;
         top: 0;
         left: 0;
         background-color: rgba($base_color, 1);
         transition: all 0.3s 0s ease;
       }
  */
}
@media all and (max-width: 639px) {
  .pagelink_icon > li .photo {
    height: 50vw;
  }
}
.pagelink_icon > li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 639px) {
  .pagelink_icon > li .photo img {
    height: 300px;
  }
}

.sitemap {
  margin: 0 auto;
  width: 500px;
}
.sitemap li span {
  display: inline-block;
  text-align: center;
  width: 12em;
  padding: 0px 20px;
  border: 1px solid #aaa;
}
.sitemap li ul {
  margin-top: 0.2em;
  margin-bottom: 0.75em;
  margin-left: 100px;
}
.sitemap li ul li {
  margin: 0 0 0.25em 5em;
  position: relative;
}
.sitemap li ul li span {
  display: inline-block;
  text-align: center;
  width: 12em;
  padding: 0px 20px;
  border: 1px solid #aaa;
}
.sitemap li ul li::before {
  content: "";
  position: absolute;
  top: -0.2em;
  left: -85px;
  width: 10px;
  height: calc(100% + 0.75em);
  border-left: 1px solid #aaa;
}
.sitemap li ul li:last-child::before {
  height: 1.25em;
}
.sitemap li ul li::after {
  content: "";
  position: absolute;
  top: 1em;
  left: -85px;
  width: 86px;
  border-bottom: 1px solid #aaa;
}

.point_box01 {
  padding-bottom: 60px;
}
.point_box01.contain li figure {
  height: 300px;
}
.point_box01.contain li figure img {
  object-fit: contain;
}
@media all and (max-width: 639px) {
  .point_box01.contain li figure {
    text-align: center;
    height: 300px;
  }
}
.point_box01.contain li .txtbox {
  margin: 0px auto 0;
}
.point_box01.radius li {
  border-radius: 20px;
}
.point_box01.radius li figure {
  border-radius: 20px 20px 0 0;
}
.point_box01.radius li .txtbox {
  border-radius: 20px 20px 0 0;
}
.point_box01.rhombus {
  margin: 200px 0 0;
}
.point_box01.rhombus li {
  background-color: rgba(255, 255, 255, 0) !important;
}
.point_box01.rhombus li figure {
  width: 100%;
  height: 300px;
  margin: 0 auto;
  right: 0;
  left: 0;
  transform: skewY(20.25deg);
  transform-origin: top right;
  -webkit-transform: skewY(20.25deg);
  -webkit-transform-origin: top right;
}
.point_box01.rhombus li figure img {
  position: absolute;
  top: -60%;
  height: 160%;
  transform: skewY(-20.25deg);
  transform-origin: top right;
  -webkit-transform: skewY(-20.25deg);
  -webkit-transform-origin: top right;
}
.point_box01.rhombus li .txtbox {
  background: none;
}
.point_box01.rhombus li:nth-child(2n) figure {
  top: -133px;
  transform: skewY(-20.25deg);
  transform-origin: bottom right;
  -webkit-transform: skewY(-20.25deg);
  -webkit-transform-origin: bottom right;
}
@media screen and (max-width: 1189px) {
  .point_box01.rhombus li:nth-child(2n) figure {
    top: -11vw;
  }
}
.point_box01.rhombus li:nth-child(2n) figure img {
  position: absolute;
  top: 0%;
  height: 156%;
  transform: skewY(20.25deg);
  transform-origin: bottom right;
  -webkit-transform: skewY(20.25deg);
  -webkit-transform-origin: bottom right;
}
@media all and (max-width: 639px) {
  .point_box01.rhombus {
    margin: 140px 0 0;
  }
  .point_box01.rhombus li figure {
    width: 100%;
    height: 200px;
  }
  .point_box01.rhombus li figure img {
    top: -62%;
    height: 162%;
  }
  .point_box01.rhombus li:nth-child(2n) figure img {
    height: 162%;
  }
  .point_box01.rhombus li:nth-child(2n) .txtbox {
    margin: 25px auto 49px;
  }
}
.point_box01.type1 li figure {
  height: 500px;
}
@media all and (max-width: 639px) {
  .point_box01.type1 li figure {
    height: 300px;
  }
}
.point_box01.type1 li .txtbox {
  position: relative;
  margin: -180px auto 0;
  padding: 40px 80px 80px;
  width: 95%;
  max-width: 1220px;
  background-color: white;
}
@media all and (max-width: 1100px) {
  .point_box01.type1 li .txtbox {
    width: 90%;
  }
}
@media all and (max-width: 639px) {
  .point_box01.type1 li .txtbox {
    width: 90%;
    padding: 20px 10px 0px;
  }
}
.point_box01 li {
  position: relative;
  width: 100%;
  background-color: white;
}
.point_box01 li > a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.point_box01 li > a:hover {
  background-color: rgba(255, 255, 255, 0.4);
}
.point_box01 li > .btn_set {
  position: absolute;
  margin: 0 auto;
  bottom: 15px;
  left: 0;
  right: 0;
}
.point_box01 li figure {
  width: 100%;
  height: 16vw;
  overflow: hidden;
  position: relative;
}
@media all and (max-width: 639px) {
  .point_box01 li figure {
    height: 50vw;
  }
}
.point_box01 li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.point_box01 li .txtbox {
  position: relative;
  margin: -60px auto 0;
  width: 90%;
  background-color: #fff;
  padding: 20px 30px 80px;
}
@media all and (max-width: 639px) {
  .point_box01 li .txtbox {
    padding: 20px 10px 30px;
  }
}
.point_box01 li .txtbox > .num {
  font-size: 2.8rem;
  line-height: 1;
  border-radius: 50%;
  border: 1px solid #a2d538;
  color: #a2d538;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #fff;
  margin: 0 auto 15px;
}
.point_box01 li .txtbox > .num span {
  font-size: 50%;
}
.point_box01 li .txtbox > .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin: 15px auto 35px;
  position: relative;
  color: #a2d538;
}
.point_box01 li .txtbox > .ttl:before {
  content: "";
  position: absolute;
  width: 50px;
  height: 3px;
  background-color: #a2d538;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.point_box01 li .txtbox .more {
  position: relative;
  bottom: 120px;
  right: 0;
  left: 0;
  width: auto;
  margin: 0 auto;
}

.layout_greeting {
  position: relative;
  margin: 0 auto;
  padding: 100px 0;
  z-index: 1;
  /*  &:before {
      position: absolute;
      content: "";
      width: 711px;
      height: 711px;
      top: -140px;
      left: -100px;
      background: $bg_base;
      z-index: -1;
      opacity: 0.6;
  }

  &:after {
      position: absolute;
      content: "";
      width: 520px;
      height: 540px;
      bottom: -200px;
      right: -100px;
      background: url(../img/mandara.png) no-repeat;
      background-size: cover;
      z-index: -1;
      opacity: 0.6;
  } */
}
@media all and (max-width: 896px) {
  .layout_greeting {
    padding: 60px 0;
  }
}
.layout_greeting > .wrap {
  position: relative;
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  .layout_greeting > .wrap {
    width: 95%;
  }
}
.layout_greeting .subphoto {
  position: absolute;
  left: 100px;
  top: 150px;
  z-index: 2;
  width: 32%;
}
.layout_greeting .subphoto .photo img {
  width: 80%;
}
@media all and (max-width: 896px) {
  .layout_greeting .subphoto {
    top: 5%;
    left: 0;
    width: 34%;
  }
}
@media all and (max-width: 639px) {
  .layout_greeting .subphoto.sp_wide {
    position: relative;
    width: 100%;
  }
}
.layout_greeting .mainwrap {
  width: 76%;
  margin: 0 10% 0 auto;
  display: flex;
  position: relative;
}
@media all and (max-width: 896px) {
  .layout_greeting .mainwrap {
    width: 100%;
    margin: 0 0 0 auto;
    display: flex;
    position: relative;
  }
}
.layout_greeting .subwrap {
  width: 48%;
  margin: 0px 10% 0 auto;
  position: relative;
  padding: 20px 0;
  z-index: 1;
}
@media all and (max-width: 896px) {
  .layout_greeting .subwrap {
    margin: 14% auto;
    width: 90%;
  }
}
.layout_greeting .subwrap:before {
  position: absolute;
  content: "";
  z-index: -1;
  height: 100%;
  left: -230px;
  top: 0;
  background: #f8f3eb;
  opacity: 0.6;
}
.layout_greeting .txtarea {
  width: 63%;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 1;
}
.layout_greeting .txtarea.size_s {
  width: 63%;
  margin: 0 0 0 auto;
}

.greeting_photo {
  position: absolute;
  top: -95px;
  right: -180px;
}
.greeting_photo figure {
  max-width: 380px;
  height: 240px;
}
.greeting_photo figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (max-width: 840px) {
  .greeting_photo {
    position: relative;
    top: 0;
    right: 0;
  }
  .greeting_photo figure {
    text-align: center;
    margin: 0 auto;
    height: auto;
  }
}
.access_area {
  position: relative;
  width: 100%;
  margin: 0 auto 0 0;
  padding: 120px 0;
}
@media all and (max-width: 639px) {
  .access_area {
    padding: 2em 0 2em;
  }
}
.access_area.reverse > .info {
  top: 0;
  right: inherit;
  left: 120px;
  margin: 0 0 0 auto;
}
@media all and (max-width: 639px) {
  .access_area.reverse > .info {
    left: 10px;
  }
}
.access_area.reverse > .map {
  margin: 0 0 0 auto;
}
.access_area.bg_pattern:before {
  background: url(../img/pattern/dot_green.png);
}
.access_area:before {
  content: "";
  position: absolute;
  width: 100%;
  background: #f8f3eb;
  background-position: center center;
  top: 35%;
  bottom: 0;
  right: 0;
  left: auto;
  width: 100%;
  height: 55%;
  z-index: -1;
}
.access_area > .info {
  position: absolute;
  top: 0;
  right: 120px;
  margin: 0 0 0 auto;
  z-index: 2;
  width: 100%;
  max-width: 500px;
  /* max-width: 1200px; */
  height: auto;
  background-color: #fff;
  padding: 30px;
  box-shadow: rgba(51, 51, 51, 0.1) 15px 15px 30px 5px;
}
@media all and (max-width: 639px) {
  .access_area > .info {
    right: 0;
    left: 0;
    margin: 0 auto 1em;
    width: 90%;
    max-width: 100%;
    position: relative;
  }
}
.access_area > .map {
  position: relative;
  padding-bottom: 30%;
  height: 0;
  width: 85%;
  overflow: hidden;
}
@media all and (max-width: 896px) {
  .access_area > .map {
    padding-bottom: 35%;
  }
}
@media all and (max-width: 639px) {
  .access_area > .map {
    padding-bottom: 70%;
    width: 100%;
  }
}
.access_area > .map.middle {
  padding-bottom: 60%;
}
@media all and (max-width: 896px) {
  .access_area > .map.middle {
    padding-bottom: 60%;
  }
}
@media all and (max-width: 639px) {
  .access_area > .map.middle {
    padding-bottom: 70%;
  }
}
.access_area > .map.large {
  padding-bottom: 90%;
}
@media all and (max-width: 896px) {
  .access_area > .map.large {
    padding-bottom: 60%;
  }
}
@media all and (max-width: 639px) {
  .access_area > .map.large {
    padding-bottom: 70%;
  }
}
.access_area > .map iframe,
.access_area > .map object,
.access_area > .map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.menu_list {
  margin: 0 0 0;
  width: 100%;
  display: inline-table;
}
.menu_list:nth-child(2n) {
  margin-right: 0%;
}
@media all and (max-width: 639px) {
  .menu_list:nth-child(2n) {
    margin-left: 0;
  }
}
@media all and (max-width: 639px) {
  .menu_list {
    width: 100%;
    margin: 0 auto 0;
  }
}
.menu_list li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px 4px;
}
.menu_list li::before {
  background: radial-gradient(#aaa 20%, transparent 0) center center/8px 8px;
  content: "";
  display: inline-block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 4px;
  margin: 0 1.2em;
}
@media all and (max-width: 639px) {
  .menu_list li::before {
    margin: 0 5px;
  }
}
.menu_list li p {
  display: inline-block;
  line-height: 1.5;
}
.menu_list li .left {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
  max-width: 65%;
  letter-spacing: 0.1rem;
  font-weight: 600;
  position: relative;
}
.menu_list li .left:before {
  font-family: "Font Awesome 5 Free";
  content: "\f219";
  font-weight: 900;
  color: #a2d538;
  margin-right: 3px;
}
.menu_list li .left span {
  font-size: 90%;
  font-weight: normal;
}
@media all and (max-width: 639px) {
  .menu_list li .left {
    max-width: 100%;
  }
}
.menu_list li .right {
  max-width: 55%;
  text-align: right;
  color: #a2d538;
  font-size: 1.1em;
  font-weight: bold;
}

.form {
  margin: 0 auto;
  width: 100%;
}
.form dl dt {
  float: left;
  width: 280px;
  padding-top: 20px;
  font-weight: 600;
}
.form dl dt span {
  color: #fff;
  background: #a2d538;
  padding: 5px 8px;
  margin-right: 5px;
  font-size: 11px;
  border-radius: 20px;
  position: relative;
  top: -2px;
}
.form dl dt span.nini {
  background: #ffff59;
  color: #333;
}
.form dl dd {
  padding-left: 280px;
  padding-bottom: 20px;
  padding-top: 23px;
  line-height: 1.5;
  border-bottom: 1px dotted #cccccc;
}
.form dl dd.type1 p {
  display: inline;
}
.form dl dd.type1 .w20 {
  width: 20%;
}
@media all and (max-width: 896px) {
  .form dl dd.type1 .w20 {
    width: 30%;
  }
}
.form dl dd.type1 .w30 {
  width: 30%;
}
@media all and (max-width: 639px) {
  .form dl dd.type1.type1-name .w30 {
    width: 48%;
  }
}
.form dl dd.type1 .w60 {
  width: 60%;
}
.form dl dd:last-child {
  border-bottom: none;
}
.form.type_s {
  width: 100%;
  max-width: 100%;
}
.form.type_s dl dt {
  float: none;
  width: 100%;
  padding-top: 0;
  font-weight: 600;
  font-size: 110%;
}
.form.type_s dl dt span {
  color: #ffff59;
  background-color: transparent;
  padding: 5px 8px;
  margin-left: 5px;
  font-size: 11px;
  position: relative;
  top: -2px;
}
.form.type_s dl dt span.nini {
  background: #ffff59;
  color: #333;
}
.form.type_s dl dd {
  padding-left: 0;
  padding-bottom: 20px;
  padding-top: 10px;
  line-height: 1.5;
  border-bottom: 0px dotted #cccccc;
}
.form.type_s dl dd:last-child {
  border-bottom: none;
}
.form.type_s .textarea,
.form.type_s textarea {
  background: #fff;
  border-radius: 10px;
}
.form.type_s .formbutton {
  border: 1px solid #4bb4a1;
  margin: 30px auto;
  padding: 30px 5px;
  border-radius: 50px;
  width: 90%;
  background: #4bb4a1;
  font-size: 1.8rem;
}
@media all and (max-width: 639px) {
  .form.type_s .formbutton {
    width: 100%;
    font-size: 1.4rem;
    padding: 20px 5px;
  }
}
.form.type_s .formbutton:hover {
  background: #fff;
  color: #4bb4a1;
}
.form.type_s .formbutton:before {
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.form.type_col2 {
  width: 100%;
  max-width: 100%;
}
@media all and (max-width: 639px) {
  .form.type_col2 {
    max-width: 90%;
  }
}
.form.type_col2 dl dt {
  float: none;
  width: 100%;
  padding-top: 0;
  font-weight: 600;
  font-size: 110%;
}
.form.type_col2 dl dt span {
  color: #fff;
  background-color: transparent;
  padding: 5px 2px;
  margin-left: 5px;
  font-size: 11px;
  position: relative;
  top: -2px;
}
.form.type_col2 dl dt span.nini {
  background: #ffff59;
  color: #333;
}
.form.type_col2 dl dd {
  padding-left: 0;
  padding-bottom: 10px;
  padding-top: 5px;
  line-height: 1.5;
  border-bottom: 0px dotted #cccccc;
}
.form.type_col2 dl dd:last-child {
  border-bottom: none;
}
.form.type_col2 .textarea,
.form.type_col2 textarea {
  background: rgba(242, 242, 242, 0.7);
  border-radius: 4px;
}
.form.type_col2 .formbutton {
  border: 1px solid #fff;
  margin: 10px auto;
  padding: 10px 5px;
  border-radius: 4px;
  width: 200px;
  background: #fff;
  color: #555;
  font-weight: normal;
  font-size: 1.4rem;
}
@media all and (max-width: 639px) {
  .form.type_col2 .formbutton {
    font-size: 1.4rem;
  }
}
.form.type_col2 .formbutton:hover {
  background: #4bb4a1;
  color: #fff;
}
.form.type_col2 .formbutton:before {
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.form .textarea,
.form textarea {
  border: 0;
  padding: 15px;
  width: 100%;
  border-radius: 0;
  -webkit-appearance: none;
  background: #f0f0f0;
}
.form .textarea02 {
  width: 48.5%;
  margin-right: 3%;
  background: #f9fcff;
  box-shadow: 0 8px 8px rgba(165, 165, 165, 0.4);
}
.form .textarea02:last-child {
  margin-right: 0;
}
.form .textarea03 {
  width: 20%;
  margin-right: 1%;
}
.form .dropdown {
  border: 0;
  padding: 15px;
  border-radius: 0;
  background: #f0f0f0;
  margin: 8px 0;
}
.form .col_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 8px;
  margin-bottom: 8px;
}
.form .col_2 li .textarea,
.form .col_2 li .dropdown {
  width: 100%;
  margin: 0;
}
.form .formbutton {
  cursor: pointer;
  display: block;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
  border: 1px solid #363636;
  font-weight: 600;
  padding: 12px 5px;
  margin: 0 auto;
  width: 250px;
  background: #363636;
  border-radius: 25px;
}
.form .formbutton:hover {
  background: #fff;
  color: #363636;
}
.form .formbutton:before {
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.form .select-wrap {
  position: relative;
  overflow: hidden;
  display: inline-block;
  min-width: 192px;
  min-width: 12em;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #333;
}
.form .select-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 2;
  display: block;
  width: 200%;
  width: -webkit-calc(100% + 5em);
  margin: 0;
  padding: 11px 35px 11px 11px;
  padding: 0.6875rem 2.1875rem 0.6875rem 0.6875rem;
  background: transparent;
  border: 0;
  outline: none;
  line-height: 1.5;
}
.form .entypo-down-open-mini:before {
  font-family: "FontAwesome";
  content: "\f0ab";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 12px;
  right: 0.75rem;
  margin-top: -8px;
  margin-top: -0.5rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #a2d538;
}
.form label.radio_text {
  cursor: pointer;
  position: relative;
  margin-right: 20px;
  overflow: hidden;
  padding-left: 20px;
  display: inline-block;
}
.form label.radio_text:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 1px solid #ccc;
  border-radius: 50%;
  left: 0px;
  top: 5px;
  content: "";
  z-index: 3;
}
@media all and (max-width: 639px) {
  .form label.radio_text:before {
    top: 4px;
  }
}
.form label.radio_text:after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 100%;
  left: 2px;
  top: 7px;
  background-color: #a2d538;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .form label.radio_text:after {
    top: 6px;
  }
}
.form label.radio_text input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 0px;
  margin: 0px;
  box-shadow: 20px -1px #fff;
}
.form label.radio_text input[type=radio]:checked {
  box-shadow: none;
}
.form label.radio_text input[type=radio]:focus {
  opacity: 0.2;
  box-shadow: 20px -1px #eeebda;
}
.form label.checkbox_text {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin: 0 20px 5px 0;
  overflow: hidden;
  display: inline-block;
}
.form label.checkbox_text:before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0px;
  top: 0;
  border: 1px solid #ccc;
  z-index: 3;
  padding: 1px;
}
.form label.checkbox_text:after {
  content: "";
  position: absolute;
  top: 40%;
  left: 5px;
  display: block;
  margin-top: -9px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #a2d538;
  border-bottom: 3px solid #a2d538;
  transform: rotate(45deg);
  z-index: 1;
}
@media all and (max-width: 639px) {
  .form label.checkbox_text:after {
    margin-top: -6px;
  }
}
.form label.checkbox_text input[type=checkbox] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 20px;
  height: 20px;
  display: block;
  box-shadow: 41px 0px #fff;
  z-index: 2;
  margin: 0px;
  padding: 0px;
}
.form label.checkbox_text input[type=checkbox]:checked {
  box-shadow: none;
}
.form label.checkbox_text input[type=checkbox]:checked:focus {
  box-shadow: 40px 0px #666;
  opacity: 0.1;
}
.form label.checkbox_text input[type=checkbox]:focus {
  box-shadow: 41px 0px #eee;
}
.form textarea {
  font-size: 16px;
}

@media all and (max-width: 639px) {
  .form {
    width: 100%;
    padding-bottom: 30px;
  }
  .form dl {
    margin: 10px 0;
  }
  .form dl dt {
    float: none;
    width: 100%;
    padding-top: 15px;
  }
  .form dl dd {
    width: 100%;
    padding-left: 0;
    padding-bottom: 15px;
    padding-top: 10px;
    line-height: 20px;
  }
  .form dl dd:last-child {
    border-bottom: 0px;
    margin-bottom: 0px;
  }
  .form .textarea,
  .form textarea {
    width: 100%;
    font-size: 16px;
  }
  .form .textarea.textarea03 {
    width: 35%;
  }
  .form .textarea02 {
    width: 43.5%;
  }
  .form button {
    width: 95%;
    padding: 20px 0;
    border-radius: 50px;
  }
}
.fm-txt {
  font-size: 1.4rem;
  background: rgba(255, 255, 255, 0.5);
  padding: 5px;
}

.thanks {
  padding: 40px;
  border: 3px solid rgb(148, 148, 148);
  background-color: #fff;
  max-width: 700px;
  margin: 0 auto;
}
@media all and (max-width: 639px) {
  .thanks {
    max-width: 90%;
    padding: 30px 10px;
  }
}

.policy {
  padding: 30px;
  margin-top: 30px;
  background: rgba(242, 242, 242, 0.4);
}

.telbnr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 30px;
}
.telbnr li {
  width: 47%;
  border: 3px solid #ccc;
  padding: 10px 10px;
  text-align: center;
  border-radius: 50px;
}
.telbnr li.telbnr-mail a {
  pointer-events: inherit;
  font-size: 2rem;
  padding-top: 5px;
}
.telbnr li.telbnr-mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
}
@media all and (max-width: 639px) {
  .telbnr li.telbnr-mail a {
    font-size: 1.4rem;
    padding: 0;
  }
}
.telbnr li.telbnr-fax a {
  pointer-events: none !important;
  font-size: 2rem;
  padding-top: 5px;
}
.telbnr li.telbnr-fax a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1ac";
  font-weight: 900;
}
@media all and (max-width: 639px) {
  .telbnr li.telbnr-fax a {
    font-size: 1.4rem;
    padding: 0;
  }
}
.telbnr li a {
  display: block;
  font-size: 2.4rem;
  font-weight: 600;
  color: #a2d538;
  pointer-events: inherit;
}
@media all and (max-width: 896px) {
  .telbnr li a {
    pointer-events: inherit;
  }
}
.telbnr li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}
.telbnr li a:hover {
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .telbnr {
    max-width: 90%;
  }
  .telbnr li {
    width: 100%;
    margin: 0 auto 30px;
  }
  .telbnr li a {
    font-size: 2rem;
  }
}

.telbnr-ttl {
  font-weight: 600;
  font-size: 1.6rem;
  color: #333;
  margin-top: -30px;
}
.telbnr-ttl span {
  background: #fff;
  padding: 0 20px;
}
@media all and (max-width: 639px) {
  .telbnr-ttl {
    font-size: 1.3rem;
  }
}

.telbox {
  max-width: 600px;
  margin: 0 auto 20px;
  padding: 20px;
  background: #333;
  text-align: center;
}
.telbox .inner {
  background: #fff;
  padding: 10px;
}

#btnApply {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 980;
  opacity: 0;
  align-items: center;
  transition: 0.4s ease-in-out;
  transform: translateY(30px);
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: saturate(180%) blur(2px);
  padding: 8px 0;
}
#btnApply.view {
  opacity: 1;
  transition: 0.4s ease-in-out;
  transform: translateY(0);
}
.mtitle_small {
  position: relative;
  font-size: 1.6rem;
  margin-bottom: 20px;
  color: #a2d538;
  font-weight: 600;
  padding: 10px;
  border-bottom: 1px double #ccc;
}
.mtitle_small:before {
  content: "";
  width: 50px;
  height: 1px;
  background-color: #a2d538;
  position: absolute;
  left: 0;
  bottom: -1px;
}
@media all and (max-width: 639px) {
  .mtitle_small {
    font-size: 1.3rem;
    line-height: 1.5;
    padding: 10px 0;
  }
}

.mtitle_small2 {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
}
.mtitle_small2:before {
  content: "";
  background-color: #a2d538;
  width: 10px;
  height: 4px;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.total_bx {
  text-align: center;
  background-color: #fff;
  border: 2px solid #aaa;
  padding: 16px 0;
  margin-bottom: 16px;
  margin-top: 50px;
}
.total_bx b {
  font-size: 120%;
}
.total_bx.sub {
  border: 2px solid #4bb4a1;
}
.total_bx.sub input#total {
  color: #4bb4a1;
}
.total_bx input#total {
  border: 0px solid #fff;
  font-size: 3rem;
  width: 8em;
  color: #d81e1e;
  background: #fff;
  text-align: right;
}

.price_select {
  position: relative;
  width: 100px;
  height: auto;
  padding: 5px 10px 5px 5px;
  margin: 10px 0;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #ffffff;
}

.comment {
  font-size: 1.4rem;
  letter-spacing: 0;
  padding: 0 5px;
  color: #333;
}
@media all and (max-width: 639px) {
  .comment {
    font-size: 12px;
  }
}

.about_list li {
  background-color: #f2f2f2;
  padding: 20px;
  text-align: center;
  border-radius: 20px;
}
.about_list .figure {
  text-align: center;
}
.about_list .numbox {
  position: relative;
  display: table;
  margin: 0 auto;
  padding-bottom: 10px;
  width: 100%;
  border-bottom: 1px solid #a2d538;
}
.about_list .num {
  font-size: 10rem;
  color: #a2d538;
  display: table-cell;
  line-height: 1;
}
.about_list .ttl {
  padding-left: 10px;
  display: table-cell;
  color: #000;
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1;
  vertical-align: bottom;
  text-align: left;
}
.about_list .ttl span {
  font-size: 1.8rem;
}
.about_list .detail-num {
  font-size: 2rem;
  color: #a2d538;
  font-weight: bold;
}
.about_list .detail-num span {
  font-size: 10rem;
  line-height: 1;
  color: #a2d538;
  text-shadow: 2px 2px 0 #222, -2px -2px 0 #222, -1px 1px 0 #222, 1px -1px 0 #222, 0px 1px 0 #222, 0 -1px 0 #222, -1px 0 0 #222, 1px 0 0 #222;
}
.about_list .maintxt {
  text-align: center;
  font-weight: bold;
}
.about_list .txt {
  margin-top: 10px;
  text-align: left;
}
@media all and (max-width: 896px) {
  .about_list .num {
    font-size: 8rem;
    display: table-cell;
    line-height: 1;
  }
  .about_list .ttl {
    font-size: 2rem;
    vertical-align: bottom;
    text-align: left;
  }
  .about_list .ttl span {
    font-size: 1.6rem;
  }
  .about_list .detail-num {
    font-size: 2rem;
  }
  .about_list .detail-num span {
    font-size: 7rem;
  }
}
@media all and (max-width: 639px) {
  .about_list .numbox {
    position: relative;
    display: table;
    margin: 0 auto;
    text-align: center;
  }
  .about_list .num {
    font-size: 6rem;
    display: table-cell;
    line-height: 1;
  }
  .about_list .ttl {
    font-size: 1.8rem;
    vertical-align: bottom;
    text-align: left;
  }
  .about_list .ttl span {
    font-size: 1.4rem;
  }
  .about_list .detail-num {
    font-size: 1.8rem;
    font-weight: bold;
  }
  .about_list .detail-num span {
    font-size: 6rem;
    line-height: 1;
    color: #a2d538;
  }
}

.voice {
  position: relative;
}
.voice.type_b li {
  display: flex;
  flex-direction: column-reverse;
  gap: 20px 0;
}
.voice.type_b li .txt {
  width: 100%;
  color: #333;
}
.voice.type_b li .txt:before {
  position: absolute;
  content: "";
  top: inherit;
  left: 0;
  right: 0;
  bottom: -8px;
  margin: 0 auto;
}
.voice.type_b li .figure {
  margin: 0 auto;
  width: 150px;
  height: 150px;
  background-color: #f8f3eb;
}
.voice.type_c li {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media all and (max-width: 639px) {
  .voice.type_c li {
    margin-bottom: 40px;
  }
}
.voice.type_c li .txt {
  width: 100%;
  color: #333;
}
.voice.type_c li .txt:before {
  position: absolute;
  content: "";
  top: inherit;
  left: 0;
  right: 0;
  bottom: -8px;
  margin: 0 auto;
}
.voice.type_c li .txtbox {
  width: 100%;
  border: 1px solid #fff;
  color: #fff;
  padding: 30px;
  position: relative;
  box-shadow: #fff 5px 5px 0 3px;
}
.voice.type_c li .txtbox .answer {
  position: absolute;
  top: -74px;
  left: -15px;
  color: #ffff59;
  font-size: 5.6rem;
  font-family: "Parisienne", cursive;
  transform: rotate(-20deg);
}
.voice.type_c li .figure {
  margin: 0 auto;
  width: 300px;
  height: 300px;
  background-color: #f8f3eb;
  border: 3px solid #ffff59;
  box-shadow: #86b426 0px 0px 0px 30px;
}
.voice li {
  width: 100%;
  margin-bottom: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: start;
}
.voice li .figure {
  display: grid;
  place-items: center;
  background-color: #a2d538;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 15px 15px 0;
  overflow: hidden;
}
.voice li .figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.voice li .figure i {
  font-size: 4vw;
  color: rgba(255, 255, 255, 0.6);
}
@media all and (max-width: 639px) {
  .voice li .figure i {
    font-size: 10vw;
  }
}
.voice li .txt {
  flex: 1;
  padding-top: 0px;
  line-height: 1.6;
  font-weight: 900;
  padding: 25px;
  border-radius: 20px;
  background-color: #f2f2f2;
  position: relative;
  z-index: 1;
}
.voice li .txt:before {
  position: absolute;
  content: "";
  top: 25px;
  left: -7px;
  width: 15px;
  height: 15px;
  background-color: #f2f2f2;
  transform: rotate(45deg);
  z-index: -1;
}
.voice li .txt span {
  color: #a2d538;
}

.voice_box li {
  padding: 2em;
  background: #fff;
  box-shadow: 6px 6px rgba(0, 36, 60, 0.2);
  border: 1px solid rgba(0, 36, 60, 0.2);
}
.voice_box li .memo {
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(0, 36, 60, 0) 0%, rgba(0, 36, 60, 0) 50%, #fff 0%, #fff 100%), linear-gradient(360deg, rgba(0, 36, 60, 0) 0%, rgba(0, 36, 60, 0) 95%, #00243c 100%);
  background-size: 8px 100%, 100% 2em;
  line-height: 2em;
  padding: 0 0.5em;
}

.box_memo {
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(0, 36, 60, 0) 0%, rgba(0, 36, 60, 0) 50%, #fff 0%, #fff 100%), linear-gradient(360deg, rgba(0, 36, 60, 0) 0%, rgba(0, 36, 60, 0) 95%, #00243c 100%);
  background-size: 8px 100%, 100% 2em;
  line-height: 2em;
  padding: 0 0.5em;
}

.faq_list {
  max-width: 1500px;
  margin: 30px auto;
  overflow: hidden;
}
.faq_list li {
  margin-bottom: 50px;
}
.faq_list li .q-area {
  font-size: 2rem;
  position: relative;
}
.faq_list li .q-area:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #a2d538;
  bottom: 0;
}
.faq_list li .q-area span {
  font-size: 3rem;
  padding-right: 10px;
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .faq_list li .q-area {
    font-size: 1.7rem;
  }
  .faq_list li .q-area span {
    font-size: 2rem;
    line-height: 2rem;
  }
}
.faq_list li .a-area {
  position: relative;
  max-width: 90%;
  margin: 40px 0 0 auto;
  background: #f2f2f2;
  padding: 20px;
  border-radius: 10px;
}
.faq_list li .a-area span {
  font-size: 5rem;
  padding-right: 10px;
  position: absolute;
  top: -30px;
  left: -50px;
  color: #d81e1e;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
@media all and (max-width: 639px) {
  .faq_list li .a-area {
    max-width: 85%;
    padding: 10px;
  }
  .faq_list li .a-area span {
    font-size: 2rem;
    line-height: 2rem;
    top: 0px;
    left: -35px;
  }
}

.list_step > li {
  display: grid;
  place-items: center;
  width: 100%;
  background-color: #a2d538;
  color: #fff;
  position: relative;
  padding: 20px;
}
.list_step > li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.list_step > li a:hover {
  background-color: rgba(255, 255, 255, 0.4);
}
.list_step > li:nth-child(2n) {
  background-color: rgba(162, 213, 56, 0.9);
}
.list_step > li:nth-child(3n) {
  background-color: rgba(162, 213, 56, 0.8);
}
.list_step > li:nth-child(4n) {
  background-color: rgba(162, 213, 56, 0.7);
}
.list_step > li:nth-child(5n) {
  background-color: rgba(162, 213, 56, 0.6);
}
.list_step > li .num {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 500;
  text-transform: uppercase;
  text-align: center;
  padding-bottom: 10px;
  position: relative;
}
.list_step > li .num:before {
  content: "";
  position: absolute;
  bottom: -3px;
  width: 30px;
  border-bottom: 2px solid #ccc;
}
.list_step > li .ttl {
  margin-top: 20px;
  font-size: 2rem;
  line-height: 1.2;
  text-align: center;
}
.list_step > li .txt {
  text-align: center;
}
@media all and (max-width: 639px) {
  .list_step > li {
    width: 100%;
  }
  .list_step > li .ttl {
    font-size: 1.3rem;
  }
}

.step_columnbox {
  max-width: 1600px;
  position: relative;
  z-index: 1;
  margin: 0 auto 0;
}
.step_columnbox.white .number_box {
  border: 1px solid #fff;
}
.step_columnbox.white .column-inner-contents-txtarea {
  border: 1px solid #fff;
}
.step_columnbox .number_box {
  position: absolute;
  top: -1px;
  left: -1px;
  line-height: 1;
  border: 1px solid #a2d538;
  width: 80px;
  height: 80px;
  display: grid;
  place-items: center;
}
@media all and (max-width: 639px) {
  .step_columnbox .number_box {
    width: 60px;
    height: 60px;
  }
}
.step_columnbox .number_box .ttl {
  line-height: 1.1;
}
.step_columnbox .number_box .num {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 500;
  text-transform: uppercase;
  font-weight: 300;
  position: relative;
  z-index: 1;
  color: #a2d538;
  text-align: center;
}
.step_columnbox .number_box .txt {
  font-size: 1.1rem;
  color: #a2d538;
  text-align: center;
}
@media all and (max-width: 639px) {
  .step_columnbox .number_box {
    padding: 5px;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .number_box .num {
    font-size: 1.8rem;
    line-height: 1.8rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .number_box .txt {
    font-size: 1rem;
  }
}
.step_columnbox.type1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.step_columnbox.type1 .column-inner {
  width: 48%;
  margin-right: 2%;
}
.step_columnbox.type1 .column-inner:nth-child(2n) {
  margin-right: 0;
}
.step_columnbox .column-inner {
  margin-bottom: 80px;
  position: relative;
}
.step_columnbox .column-inner:nth-of-type(2n-1) .column-inner-contents {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
.step_columnbox .column-inner-contents {
  display: flex;
  flex-wrap: wrap;
}
.step_columnbox .column-inner-contents.no1 {
  background-color: rgba(231, 166, 126, 0.3);
}
.step_columnbox .column-inner-contents.no2 {
  background-color: rgba(159, 224, 159, 0.3);
}
.step_columnbox .column-inner-contents.no3 {
  background-color: rgba(228, 203, 116, 0.3);
}
.step_columnbox .column-inner-contents.no4 {
  background-color: rgba(143, 195, 229, 0.3);
}
.step_columnbox .column-inner-contents.type3 {
  color: #333;
  -webkit-box-align: inherit;
  -ms-flex-align: inherit;
  align-items: inherit;
  display: block;
}
.step_columnbox .photo {
  position: relative;
  width: 50%;
}
.step_columnbox .column-inner-contents-txtarea {
  left: 0px;
  width: 50%;
  padding: 120px 40px 30px;
  margin: 0 auto;
  border: 1px solid #a2d538;
  position: relative;
}
.step_columnbox .column-inner-contents-txtarea.no1, .step_columnbox .column-inner-contents-txtarea.no2, .step_columnbox .column-inner-contents-txtarea.no3, .step_columnbox .column-inner-contents-txtarea.no4 {
  background-color: rgba(255, 255, 255, 0.3);
}
.step_columnbox .column-inner-contents-txtarea.type2 {
  padding: 50px 70px;
  border: none;
  border-bottom: 1px solid #ccbf94;
}
.step_columnbox .column-inner-contents-txtarea.type2 span {
  font-family: "Arvo", serif;
  font-weight: 500;
  font-size: 3rem;
}
.step_columnbox .column-inner-contents-txtarea.type2 .txt {
  font-size: 1.8rem;
}
.step_columnbox .column-inner-contents-txtarea.type3 {
  position: relative;
  width: 100%;
  max-width: 1200px;
  padding: 50px 70px;
  border: none;
  text-align: left;
  background-color: transparent;
}
.step_columnbox .column-inner-contents-txtarea.type3 span {
  font-family: "Arvo", serif;
  font-weight: 500;
  font-size: 2rem;
  border-bottom: 1px solid #a2d538;
  padding: 10px 0;
  margin-bottom: 10px;
}
.step_columnbox .column-inner-contents-txtarea.type3 .txt {
  font-size: 1.6rem;
  text-align: left;
  margin-top: 10px;
}
.step_columnbox .column-inner-contents-txtarea:before {
  content: "";
  background: inherit;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  z-index: -1;
}
.step_columnbox .column-inner-contents-txtarea.type-right {
  left: auto;
  right: 0px;
}
.step_columnbox .column-inner-contents-txtarea span {
  font-family: "Arvo", serif;
  font-weight: 500;
  font-size: 3rem;
}
.step_columnbox .txt {
  font-size: 1.6rem;
  width: auto;
  margin: 0;
  display: block;
  text-align: left;
  width: 100%;
  height: auto;
  font-weight: normal;
}
.step_columnbox img {
  width: 100%;
  height: 100%;
}
.step_columnbox .column-sub-txt {
  font-size: 1.8rem;
  width: auto;
  margin: 40px auto;
  display: block;
  text-align: left;
  width: 100%;
  height: auto;
  font-weight: normal;
  color: #333;
}

@media all and (max-width: 639px) {
  .step_columnbox.type1 {
    display: block;
  }
  .step_columnbox.type1 .column-inner {
    width: 100%;
    margin-right: auto;
  }
  .step_columnbox.type1 .column-inner:nth-child(2n) {
    margin-right: auto;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents.type2 {
    display: block;
    margin-bottom: 100px;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents.type3 {
    display: block;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents {
    display: block;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .photo {
    width: 100%;
    margin: 0 auto;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .photo2 {
    width: 100%;
    margin: 0 auto;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .photo2 .photo-txt {
    font-size: 4rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .photo3 {
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
  .step_columnbox .photo3:before {
    display: none;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .photo3 .photo-txt {
    font-size: 4rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .photo3-2 {
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
  .step_columnbox .photo3-2:before {
    display: none;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type2 {
    position: relative;
    margin-top: 0;
    padding: 50px 20px;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type2 span {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type2 .txt {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type3 {
    position: relative;
    margin-top: 0;
    padding: 50px 20px;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type3 span {
    font-size: 1.8rem;
    padding: 2px;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type3 .txt {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea {
    width: 100%;
    padding: 70px 20px 30px;
    left: 0;
    right: 0;
    margin: 0px auto;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea.type-right {
    width: 100%;
    padding: 70px 20px 30px;
    left: 0;
    right: 0;
    margin: 0px auto;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-inner-contents-txtarea span {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .txt {
    font-size: 1.3rem;
  }
}
@media all and (max-width: 639px) {
  .step_columnbox .column-sub-txt {
    font-size: 1.3rem;
    margin: 0;
    padding-top: 20px;
  }
}
.flow_num {
  margin: 0 auto;
  position: relative;
  padding: 0 0 0 80px;
}
.flow_num:before {
  content: " ";
  width: 9px;
  top: 5px;
  left: 33px;
  bottom: 100px;
  position: absolute;
  background-color: #aaa;
}
.flow_num dl {
  border: 1px #dcd6d0 solid;
  background-color: rgba(162, 213, 56, 0.1);
  margin: 0 0 20px 0;
}
.flow_num dl dt {
  background-color: #fff;
  color: #a2d538;
  font-weight: bold;
  border-bottom: 1px #ccc solid;
  font-size: 1.6rem;
  padding: 15px 20px;
  position: relative;
}
@media all and (max-width: 639px) {
  .flow_num dl dt {
    font-size: 1.4rem;
  }
}
.flow_num dl dt i {
  text-decoration: none;
  font-style: normal;
  color: #fff;
  background-color: #a2d538;
  padding: 3px 10px;
  border-radius: 30px;
  font-size: 80%;
  margin-right: 8px;
}
.flow_num dl dt span {
  width: 60px;
  height: 60px;
  font-size: 20px;
  line-height: 46px;
  border: 7px #eee solid;
  top: -7px;
  left: -74px;
  display: block;
  position: absolute;
  border-radius: 50%;
  background-color: #a2d538;
  color: #fff;
  text-align: center;
}
.flow_num dl dt:after, .flow_num dl dt:before {
  right: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.flow_num dl dt:after {
  border-right-color: #fff;
  border-width: 10px;
  margin-top: -10px;
}
.flow_num dl dt:before {
  border-color: rgba(220, 214, 208, 0);
  border-right-color: #ccc;
  border-width: 11px;
  margin-top: -11px;
}
.flow_num dl dd {
  padding: 15px 20px;
}

.flow_circle {
  display: grid;
  max-width: 100%;
  grid-template-columns: repeat(7, 1fr);
  gap: 0%;
  margin: 0 auto;
}
.flow_circle.set_4 {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 639px) {
  .flow_circle.set_4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.flow_circle.set_5 {
  grid-template-columns: repeat(5, 1fr);
}
@media all and (max-width: 639px) {
  .flow_circle.set_5 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 896px) {
  .flow_circle {
    grid-template-columns: repeat(3, 1fr);
    max-width: 100%;
    margin: 60px auto;
  }
}
@media all and (max-width: 639px) {
  .flow_circle {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 6%;
    margin: 10px auto;
  }
}
.flow_circle li {
  position: relative;
  /* 
  &:nth-child(1n) {
      .figure {
          background-color: lighten($base_color, 25%);
      }
  }

  &:nth-child(2n) {
      .figure {
          background-color: lighten($base_color, 20%);
      }
  }

  &:nth-child(3n) {
      .figure {
          background-color: lighten($base_color, 10%);
      }
  }

  &:nth-child(4n) {
      .figure {
          background-color: lighten($base_color, 8%);
      }
  }

  &:nth-child(5n) {
      .figure {
          background-color: lighten($base_color, 5%);
      }
  }

  &:nth-child(6n) {
      .figure {
          background-color: lighten($base_color, 2%);
      }
  } */
}
@media all and (max-width: 639px) {
  .flow_circle li {
    width: 90%;
  }
}
.flow_circle li .ttl {
  text-align: center;
  margin: 20px auto 0;
  font-weight: 600;
  position: relative;
  font-size: 1.2rem;
  background: #fff;
  border: 1px solid #4bb4a1;
  border-bottom: 3px solid #4bb4a1;
  padding: 6px 4px;
  border-radius: 40px;
}
.flow_circle li .ttl:before {
  position: absolute;
  content: "";
  left: 50%;
  top: -40px;
  width: 1px;
  height: 35px;
  background: #4bb4a1;
}
@media all and (max-width: 639px) {
  .flow_circle li .ttl {
    font-size: 1.1rem;
  }
}
.flow_circle li .figure {
  width: 120px;
  height: 120px;
  margin: 0 auto;
  color: #fff;
  border-radius: 50%;
  background-color: #a2d538;
  border: 2px solid #a2d538;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
  font-size: 1.4rem;
}
.flow_circle li .figure span {
  font-size: 1.2rem;
  margin-top: 10px;
}
.flow_circle li .figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 896px) {
  .flow_circle li .figure {
    height: 19vw;
  }
}
@media all and (max-width: 639px) {
  .flow_circle li .figure {
    font-size: 1.2rem;
    width: 90%;
    height: 90px;
  }
}
.flow_circle li .txt {
  font-size: 1.2rem;
  margin-top: 10px;
}
.flow_circle li:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  top: 30%;
  right: -4%;
  margin: auto 0;
  display: grid;
  place-items: center;
  color: #4bb4a1;
  font-size: 3rem;
}
@media all and (max-width: 896px) {
  .flow_circle li:after {
    top: 34px;
    right: -15%;
  }
}
.flow_circle li:last-child:after {
  content: none;
}

.flow_list {
  padding-left: 120px;
  position: relative;
  margin: 0 auto;
  max-width: 1500px;
}
.flow_list:before {
  content: "";
  width: 4px;
  height: 100%;
  background: #bbbbbb;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
}
@media all and (max-width: 639px) {
  .flow_list:before {
    left: 74px;
  }
}
.flow_list > li {
  position: relative;
}
.flow_list > li:not(:last-child) {
  margin-bottom: 70px;
}
.flow_list > li .icon {
  font-size: 3rem;
  color: #fff;
  background: #a2d538;
  border-radius: 5px;
  padding: 8px 20px 4px;
  display: block;
  position: absolute;
  top: 5px;
  left: -120px;
  z-index: 100;
  width: 100%;
  max-width: 74px;
  line-height: 1;
}
.flow_list > li .icon span {
  font-size: 1.2rem;
  display: block;
}
@media all and (max-width: 639px) {
  .flow_list > li .icon {
    font-size: 2rem;
    padding: 8px 10px;
  }
}
.flow_list > li .icon.bgLRextend {
  overflow: inherit;
}
.flow_list > li .icon.bgLRextend:before {
  top: 0;
  left: 0;
}
.flow_list > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #a2d538;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow_list > li > .txtarea {
  padding-left: 70px;
  position: relative;
}
.flow_list > li > .txtarea img {
  border: 1px solid #aaa;
  box-shadow: rgba(170, 170, 170, 0.2) 1px 1px 2px 2px;
}
@media all and (max-width: 639px) {
  .flow_list > li > .txtarea {
    padding-left: 0px;
    margin-right: 10px;
  }
}
.flow_list > li > .txtarea:before, .flow_list > li > .txtarea:after {
  content: "";
  display: block;
  position: absolute;
  top: 35px;
}
.flow_list > li > .txtarea:before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #a2d538;
  border-radius: 50%;
  left: -9px;
}
@media all and (max-width: 639px) {
  .flow_list > li > .txtarea:before {
    left: -55px;
  }
}
.flow_list > li > .txtarea:after {
  width: 50px;
  border-bottom: 1px dashed #a2d538;
  position: absolute;
  left: 5px;
}
@media all and (max-width: 639px) {
  .flow_list > li > .txtarea:after {
    width: 20px;
    left: -40px;
  }
}
.flow_list > li > .txtarea .txtarea {
  margin-bottom: 40px;
}
.flow_list > li > .txtarea .ttl {
  font-size: 2rem;
  color: #a2d538;
  margin-bottom: 10px;
  font-weight: bold;
}
@media all and (max-width: 639px) {
  .flow_list > li > .txtarea .ttl {
    font-size: 1.4rem;
    margin: 10px 0;
  }
}
.flow_list > li > .txtarea .txt {
  font-size: 1.5rem;
  color: #333;
}
@media all and (max-width: 639px) {
  .flow_list > li > .txtarea .txt {
    margin-top: 10px;
    font-size: 1.2rem;
  }
}

.flow_tr {
  display: grid;
  max-width: 90%;
  grid-template-columns: repeat(17, 1fr);
  gap: 2%;
  margin: 30px auto;
}
@media all and (max-width: 896px) {
  .flow_tr {
    display: block;
    max-width: 100%;
  }
}
.flow_tr li {
  position: relative;
  max-height: 260px;
}
.flow_tr li .figure {
  padding: 10px 5px;
  border-radius: 3px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin: 0 auto;
  color: #fff;
  background-color: rgba(162, 213, 56, 0.7);
  overflow: hidden;
  font-weight: bold;
  line-height: 1.2;
  font-size: 1.4rem;
  height: 100%;
}
.flow_tr li .figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 896px) {
  .flow_tr li .figure {
    font-size: 1.2rem;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    text-align: center;
  }
}
.flow_tr li .txt {
  font-size: 1.2rem;
  margin-top: 10px;
}
.flow_tr li:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -37%;
  margin: auto 0;
  display: grid;
  place-items: center;
  color: #4bb4a1;
  font-size: 1.8rem;
}
@media all and (max-width: 896px) {
  .flow_tr li:after {
    font-family: "Font Awesome 5 Free";
    content: "\f107";
    font-weight: 900;
    top: 25px;
    right: 0;
    left: 0;
    font-size: 2rem;
  }
}
.flow_tr li:first-child .figure {
  background-color: #a2d538;
}
.flow_tr li:last-child .figure {
  background-color: #a2d538;
}
.flow_tr li:last-child:after {
  content: none;
}
@media all and (max-width: 896px) {
  .flow_tr li {
    margin-bottom: 21px;
  }
}

.flow_list_circle li {
  border-top: 1px solid #ddd;
  width: 100%;
  position: relative;
}
.flow_list_circle li:before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 80px;
  transform: translate(-50%, -50%);
  width: 4px;
  height: 100%;
  z-index: -1;
  background: #a2d538;
}
.flow_list_circle li:first-child:before {
  display: none;
}
@media all and (max-width: 896px) {
  .flow_list_circle li:before {
    left: 35px;
    width: 2px;
    height: 168%;
    z-index: -2;
  }
}
.flow_list_circle li:first-child {
  border-top: 0;
}
.flow_list_circle li .content-area {
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  max-width: 1100px;
  display: flex;
  align-items: center;
}
.flow_list_circle li .content-area.type1 {
  padding-top: 0;
}
.flow_list_circle li .num {
  position: relative;
  margin-right: 40px;
  border-radius: 50%;
  width: 140px;
  height: 140px;
  line-height: 14rem;
  text-align: center;
  background: #a2d538;
  color: #fff;
  font-size: 3rem;
}
.flow_list_circle li .num.type1:before {
  display: none;
}
.flow_list_circle li .ttl {
  margin-right: 48px;
  min-width: 230px;
  color: #555;
  font-size: 1.8rem;
  font-weight: bold;
  color: #a2d538;
}
.flow_list_circle li .txt {
  line-height: 1.5;
  flex: 1;
  font-size: 1.6rem;
}
.flow_list_circle li .sttl {
  color: #86b426;
  margin-bottom: 10px;
}
@media all and (max-width: 896px) {
  .flow_list_circle li {
    border-top: 0;
  }
  .flow_list_circle li .content-area {
    padding-top: 15px;
    padding-bottom: 15px;
    flex-wrap: wrap;
  }
  .flow_list_circle li .num {
    margin-right: 20px;
    width: 70px;
    height: 70px;
    line-height: 68px;
    font-size: 14px;
  }
  .flow_list_circle li .ttl {
    margin-right: 0;
    max-width: 100%;
    width: calc(100% - 100px);
    min-width: 0;
    flex-basis: auto;
    font-size: 1.6rem;
  }
  .flow_list_circle li .txt {
    margin-left: 90px;
    max-width: calc(100% - 100px);
    width: calc(100% - 100px);
    font-weight: normal;
    font-size: 1.4rem;
  }
  .flow_list_circle li:last-child .num:before {
    height: 0;
  }
}

.time_list.type_center {
  max-width: 480px;
  margin: 0 auto;
}
.time_list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.time_list > li > .txtarea {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  padding: 0px 40px 30px 40px;
}
.time_list > li > .txtarea:before {
  content: "";
  position: absolute;
  left: 118px;
  top: 0;
  height: 100%;
  width: 2px;
  background-color: #eee;
}
.time_list > li > .txtarea:last-child:before {
  display: none;
}
.time_list > li > .txtarea:after {
  content: "";
  position: absolute;
  left: 110px;
  top: 0;
  width: 20px;
  height: 20px;
  background-color: #a2d538;
  z-index: 1;
  border: 2px solid #a2d538;
  border-radius: 50%;
}
.time_list > li > .txtarea > .ttl {
  font-size: 1.4rem;
  line-height: 1.6;
}
.time_list > li > .txtarea > .ttl b {
  color: #a2d538;
}
.time_list > li .time {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100px;
  flex: 0 0 100px;
  text-align: end;
  min-width: 0;
  overflow-wrap: break-word;
  padding-bottom: 1rem;
  color: #4bb4a1;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.5rem;
}

@media all and (max-width: 1100px) {
  .time_list {
    padding-left: 0;
  }
  .time_list li .txtarea {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding: 0px 0px 30px 40px;
    text-align: left;
  }
  .time_list li .txtarea:before {
    content: "";
    position: absolute;
    left: 88px;
  }
  .time_list li .txtarea:last-child:before {
    display: none;
  }
  .time_list li .txtarea:after {
    content: "";
    position: absolute;
    left: 79px;
  }
  .time_list li .time {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 70px;
    flex: 0 0 70px;
  }
}
@media all and (max-width: 639px) {
  .time_list {
    padding-left: 0;
  }
  .time_list li .txtarea {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding: 0px 0px 30px 40px;
    text-align: left;
  }
  .time_list li .txtarea:before {
    content: "";
    position: absolute;
    left: 88px;
  }
  .time_list li .txtarea:last-child:before {
    display: none;
  }
  .time_list li .txtarea:after {
    content: "";
    position: absolute;
    left: 79px;
  }
  .time_list li .time {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 72px;
    flex: 0 0 72px;
    font-size: 1.3rem;
  }
}
.yearly_list > li {
  position: relative;
  background-color: #fff;
  box-shadow: rgba(170, 170, 170, 0.1) 0 0 2px 2px;
}
.yearly_list > li .num {
  position: absolute;
  top: -10px;
  left: -8px;
  width: 60px;
  height: 60px;
  color: #fff;
  font-size: 2rem;
  z-index: 1;
  letter-spacing: -1px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: normal;
  background: #f38382;
}
.yearly_list > li .num b {
  font-size: 1.3rem;
  letter-spacing: 1px;
  font-weight: normal;
}
.yearly_list > li .num.type1 {
  background: #ea9570;
}
.yearly_list > li .num.type2 {
  background: #ebcc6f;
}
.yearly_list > li .num.type3 {
  background: #bdc770;
}
.yearly_list > li .photo {
  width: 100%;
  height: 130px;
  overflow: hidden;
}
.yearly_list > li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.yearly_list > li .txtarea {
  position: relative;
  margin-top: 0px;
  padding: 10px 20px 10px 60px;
}
.yearly_list > li .txtarea .ttl {
  position: relative;
  text-align: left;
  padding-top: 5px;
  margin-top: 5px;
  border-top: 1px dotted #ddd;
}
.yearly_list > li .txtarea .ttl:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
.yearly_list > li .txtarea .ttl i {
  padding-right: 5px;
  color: #2e962e;
}
.yearly_list > li .txtarea .txt {
  margin-top: 30px;
  text-align: center;
}

#areamap {
  max-width: 960px;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
  padding-bottom: 20px;
}

.bg_area {
  position: relative;
  padding: 100px auto 0;
}
.bg_area.jp {
  background: url(../img/area/bg_area_jp.png) no-repeat center;
}
.bg_area.okinawa {
  background: url(../img/area/bg_area_okinawa.png) no-repeat center;
}
.bg_area.tokushima {
  background: url(../img/area/bg_area_tokushima.png) no-repeat center;
}
.bg_area.kantou {
  background: url(../img/area/bg_area_kantou.png) no-repeat center;
}
.bg_area.miyagi {
  background: url(../img/area/bg_area_miyagi.png) no-repeat center;
}
.bg_area.kagawa {
  background: url(../img/area/bg_area_kagawa.png) no-repeat center;
}
@media all and (max-width: 639px) {
  .bg_area {
    padding: 50px 0;
  }
}

.product_list > li {
  position: relative;
  margin-bottom: 30px;
}
@media all and (max-width: 639px) {
  .product_list > li {
    margin-bottom: 60px;
  }
}
.product_list > li > .img_area {
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 10px;
}
.product_list > li > .img_area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
  transition: 0.3s all ease-in;
}
.product_list > li > .img_area:hover img {
  opacity: 0.8;
  transform: scale(1.1);
}
.product_list > li > .txt_area > .title {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  padding: 5px 0;
  text-align: center;
  color: #c0e277;
  margin: 10px 0 5px;
}
.product_list > li > .txt_area > .title span {
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}
.product_list > li > .txt_area > .fee {
  text-align: right;
  font-size: 1.2rem;
  margin-bottom: 5px;
  color: #577519;
}
.product_list > li > .txt_area > .fee span {
  font-size: 3rem;
  margin-right: 3px;
  line-height: 1;
}
.product_list > li > .txt_area .inner {
  height: 70px;
  overflow: hidden;
  color: #3a200c;
  font-size: 1.4rem;
}
.product_list > li > .txt_area .inner.fullbox {
  height: auto;
  overflow: inherit;
}
.product_list > li > .txt_area .show_more {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  cursor: pointer;
  transition: bottom 0.2s;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  color: #fff;
  font-size: 1.3rem;
  display: inline-block;
  z-index: 1;
}
.product_list > li > .txt_area .show_more:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50px;
  z-index: 0;
  top: -50px;
  left: 0;
  background: linear-gradient(180deg, transparent, rgb(255, 255, 255), #fff);
}
.product_list > li > .txt_area .show_more:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 50px;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.product_list > li > .txt_area .show_more:after {
  content: "";
  position: absolute;
  width: 80px;
  height: 20px;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: #a2d538;
  border-radius: 30px;
  padding: 0 10px;
}
.product_list > li > .txt_area .active:before {
  background: none;
}
.product_list > li > .txt_area .active span {
  background-color: #a2d538;
  border-radius: 30px;
  padding: 0 10px;
}

.point_list {
  max-width: 100%;
  align-items: flex-start;
}
.point_list > li {
  padding-bottom: 10px;
  padding: 160px 50px 140px;
  position: relative;
  z-index: 1;
  width: 50%;
  margin: 0;
}
.point_list > li:nth-child(2) {
  margin-top: 100px;
  margin-left: 0;
}
.point_list > li.type1:before {
  position: absolute;
  content: "";
  width: 107%;
  height: 100%;
  background: url(../images/factory/02.jpg) no-repeat;
  background-attachment: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  clip-path: polygon(0 0, 100% 0%, 84% 100%, 0% 100%);
}
.point_list > li.type2:before {
  position: absolute;
  content: "";
  width: 110%;
  height: 100%;
  background: url(../images/factory/03.jpg) no-repeat right;
  background-attachment: fixed;
  left: -8%;
  top: 0;
  z-index: -1;
  clip-path: polygon(15% 0, 100% 0%, 100% 100%, 0% 100%);
}
.point_list .main {
  text-align: center;
  color: #fff;
  max-width: 500px;
  margin: 0 auto;
}
.point_list .main img {
  filter: drop-shadow(0 0 10px rgba(8, 16, 85, 0.7));
}
.point_list .title {
  padding: 10px 20px 20px;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  margin-bottom: 20px;
  position: relative;
  font-weight: bold;
}
.point_list .title.type2 span {
  background-color: #fff;
  padding: 0px 10px;
  color: #a2d538;
}
.point_list .photo {
  text-align: center;
  margin: 0 auto;
}
.point_list .photo.type2 {
  padding: 0 20px;
}
.point_list .photo.type2 img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.point_list .minbox {
  color: #fff;
  margin-top: 50px;
}
.point_list .minbox p {
  margin-top: 40px;
  text-align: center;
}
.point_list .icon {
  width: 120px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}
.point_list .mintxt {
  font-size: 1.2rem;
}
@media all and (max-width: 1367px) {
  .point_list > li {
    padding: 100px 20px 100px;
  }
  .point_list > li.type1:before {
    background-size: cover;
  }
  .point_list > li.type2:before {
    background-size: cover;
  }
  .point_list .minbox p {
    font-size: 1.2rem;
    margin-top: 30px;
  }
}
@media all and (max-width: 1100px) {
  .point_list .minbox p {
    font-size: 1.2rem;
    margin-top: 30px;
  }
}
@media all and (max-width: 896px) {
  .point_list > li {
    padding-bottom: 10px;
    overflow: hidden;
    padding: 60px 30px 60px;
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto;
  }
  .point_list > li:nth-child(2) {
    margin-top: 20px;
    margin-left: 0;
  }
  .point_list > li.type1:before {
    background-attachment: initial;
  }
  .point_list > li.type2:before {
    background-attachment: initial;
  }
  .point_list .title {
    font-size: 1.5rem;
  }
  .point_list .title span {
    font-size: 1.8rem;
  }
  .point_list .icon {
    width: 80px;
  }
  .point_list .photo {
    padding: 0 20px;
  }
}
@media all and (max-width: 639px) {
  .point_list > li {
    padding-bottom: 10px;
    overflow: hidden;
    padding: 50px 30px 50px;
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 auto;
  }
  .point_list > li.type1:before {
    width: 100%;
    clip-path: polygon(15% 0%, 95% 0, 85% 100%, 5% 100%);
  }
  .point_list > li.type2:before {
    width: 100%;
    left: 0;
    clip-path: polygon(5% 0, 85% 0, 95% 100%, 15% 100%);
  }
  .point_list .icon {
    width: 50px;
  }
  .point_list .title {
    margin-bottom: 0;
  }
}

.point_list_ttl li {
  position: relative;
  line-height: 3;
  margin-bottom: 45px;
}
.point_list_ttl li p {
  line-height: 1.8;
}
.point_list_ttl li:before {
  content: "";
  position: absolute;
  bottom: -22px;
  right: 0;
  margin: 0 0 0 auto;
  width: 100%;
  height: 1px;
  background-color: rgba(162, 213, 56, 0.3);
}
.point_list_ttl li:nth-child(2n) {
  margin-left: 30px;
}
.point_list_ttl li:nth-child(3n) {
  margin-left: 60px;
}
.point_list_ttl li:nth-child(4n) {
  margin-left: 90px;
}
.point_list_ttl li:nth-child(5n) {
  margin-left: 120px;
}
.point_list_ttl li > .sub {
  display: block;
  font-size: 5rem;
  font-weight: 400;
  line-height: 0.7;
  color: rgba(162, 213, 56, 0.3);
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  margin-bottom: -0.3em;
  transform: skewX(-10deg);
}
.point_list_ttl li > .sub span {
  font-size: 2.2rem;
  color: #a2d538;
}
.point_list_ttl li > .main {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.point_list_ttl li > .txt {
  padding: 0.5rem 1rem;
  margin-top: 1em;
  background: #f2f2f2;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0;
}
@media all and (max-width: 896px) {
  .point_list_ttl {
    display: grid;
  }
  .point_list_ttl li {
    margin-bottom: 20px;
  }
  .point_list_ttl li:before {
    bottom: 0;
  }
  .point_list_ttl li:nth-child(2n) {
    margin-left: 0px;
  }
  .point_list_ttl li:nth-child(3n) {
    margin-left: 0px;
  }
  .point_list_ttl li:nth-child(4n) {
    margin-left: 0px;
  }
  .point_list_ttl li:nth-child(5n) {
    margin-left: 0px;
  }
  .point_list_ttl li > .sub {
    font-size: 4rem;
    text-align: center;
  }
  .point_list_ttl li > .main {
    font-size: 1.4rem;
    letter-spacing: 0;
    padding: 0;
    position: static;
    text-align: center;
  }
  .point_list_ttl li > .txt {
    margin-top: 0em;
  }
}

.list_worries li {
  padding: 1em 1em 1em 2.5em;
  border: 2px solid #eee;
  border-radius: 5px;
  position: relative;
  font-size: 120%;
  font-weight: bold;
}
.list_worries li span {
  background: linear-gradient(transparent 80%, #fffb60 0%);
  z-index: 0;
}
.list_worries li:after {
  font-family: "Font Awesome 5 Free";
  content: "\f5b4";
  font-weight: 900;
  position: absolute;
  top: -25px;
  left: -4px;
  z-index: 2;
  font-size: 4rem;
  color: #18b0e0;
}
@media all and (max-width: 639px) {
  .list_worries li {
    width: 98%;
    margin: 0 auto;
    font-size: 1.2rem;
  }
  .list_worries li:after {
    font-size: 3rem;
  }
}

.list_moya {
  display: grid;
  gap: 20px 20px;
  grid-template-columns: repeat(2, 1fr);
}
.list_moya.col_4 {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 639px) {
  .list_moya.col_4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.list_moya.type1 > li {
  background: url(../img/icon/moyamoya02.png) no-repeat;
  background-size: 100% 100%;
  font-weight: bold;
  padding: 40px 5px;
}
.list_moya > li {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
  z-index: 2;
  padding: 30px 5px;
  background: url(../img/icon/moyamoya.png) no-repeat;
  background-size: 100% 100%;
}
@media all and (max-width: 639px) {
  .list_moya > li {
    padding: 20px 5px;
    line-height: 1.3;
  }
}
.list_moya > li:before {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  padding-top: 100%;
  z-index: -1;
}

.dl_news {
  border-top: solid 1px #aaa;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.6;
}
.dl_news dt {
  padding: 16px 0px;
  border-bottom: solid 1px #aaa;
  color: #a2d538;
  width: 25%;
}
.dl_news dt span {
  display: inline-block;
  padding: 0 8px;
  border: #a2d538 1px solid;
  margin: 0 16px;
  color: #a2d538;
}
.dl_news dd {
  width: 75%;
  padding: 16px 0px;
  border-bottom: solid 1px #aaa;
}
.dl_news dd:first-child {
  border-top: solid 1px #aaa;
}

.list_scene {
  display: flex;
  flex-wrap: wrap;
  margin: 80px auto 0;
  padding-bottom: 50px;
}
@media all and (max-width: 639px) {
  .list_scene {
    margin: 40px auto 0;
  }
}
.list_scene li {
  width: 23%;
  margin: 0 1% 0;
  position: relative;
}
@media all and (max-width: 896px) {
  .list_scene li {
    width: 47%;
  }
}
.list_scene li:nth-child(2) {
  margin-top: 300px;
}
@media all and (max-width: 639px) {
  .list_scene li:nth-child(2) {
    margin-top: 235px;
  }
}
.list_scene li:nth-child(2) > .txtarea {
  position: absolute;
  right: auto;
  left: -108%;
  top: 10px;
}
@media all and (max-width: 896px) {
  .list_scene li:nth-child(2) > .txtarea {
    left: -104%;
  }
}
.list_scene li:nth-child(3) {
  margin-top: 100px;
}
@media all and (max-width: 639px) {
  .list_scene li:nth-child(3) {
    margin-top: 60px;
  }
}
.list_scene li:nth-child(4) {
  margin-top: 400px;
}
@media all and (max-width: 639px) {
  .list_scene li:nth-child(4) {
    margin-top: 300px;
  }
}
.list_scene li:nth-child(4) > .txtarea {
  position: absolute;
  right: auto;
  left: -108%;
  top: 10px;
}
@media all and (max-width: 896px) {
  .list_scene li:nth-child(4) > .txtarea {
    left: -104%;
  }
}
@media all and (max-width: 639px) {
  .list_scene li > .photo {
    position: relative;
    width: 100%;
    height: auto;
    background: #eee;
  }
  .list_scene li > .photo:before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  .list_scene li > .photo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.list_scene li > .txtarea {
  position: absolute;
  right: -108%;
  top: 40px;
  width: 100%;
}
.list_scene li > .txtarea:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  bottom: -40px;
  left: 0;
  background-color: #4bb4a1;
}
.list_scene li > .txtarea > .subttl {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  font-size: 2rem;
  color: #4bb4a1;
  display: block;
}
@media all and (max-width: 639px) {
  .list_scene li > .txtarea > .subttl {
    font-size: 1.6rem;
  }
}
.list_scene li > .txtarea > .ttl {
  font-size: 2.6rem;
  margin-bottom: 10px;
}
@media all and (max-width: 639px) {
  .list_scene li > .txtarea > .ttl {
    font-size: 1.6rem;
  }
}

.calendar_head {
  color: #fefefe;
  background: #999;
  text-align: center;
  padding: 4px;
}

.calendar-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 0.9em;
}
.calendar-box.j-center {
  justify-content: center;
}
.calendar-box.j-center div.calendar {
  width: 100%;
}
@media all and (max-width: 639px) {
  .calendar-box.j-center div.calendar {
    margin-bottom: 0px;
  }
}
.calendar-box .loading {
  width: 100%;
  max-height: 250px;
  display: block;
  place-items: center;
}
.calendar-box .loading .spinner-loader {
  display: block;
  margin: 0 auto;
}
.calendar-box div.calendar {
  width: 49%;
}
@media all and (max-width: 639px) {
  .calendar-box div.calendar {
    width: 100%;
    margin-bottom: 10px;
  }
}
.calendar-box table {
  width: 100%;
  text-align: center;
  background-color: #fff;
}
.calendar-box table th,
.calendar-box table td {
  width: 14.28%;
  font-weight: normal;
  padding: 5px;
  height: 45px;
  font-size: 1.3rem;
  color: #555;
  background-color: #f2f2f2;
}
@media all and (max-width: 639px) {
  .calendar-box table th,
  .calendar-box table td {
    height: 40px;
    font-size: 1.2rem;
  }
}
.calendar-box table th {
  background: #f2f2f2;
  vertical-align: middle;
  font-weight: 600;
  text-align: center;
}
.calendar-box table td {
  background: #fefefe;
}
.calendar-box th.sun,
.calendar-box td.sun {
  color: #d81e1e;
}
.calendar-box th.sat,
.calendar-box td.sat {
  color: #0083de;
}
.calendar-box .item-td {
  background: #ddf0b6;
}
.calendar-box .item-td .days {
  color: #333;
}
.calendar-box .item {
  font-size: 1.1rem;
  text-align: center;
  color: rgba(75, 180, 161, 0.8);
  background-color: rgba(75, 180, 161, 0.1);
}
.calendar-box p {
  text-align: center;
  font-size: 1.4rem;
  margin: 5px auto;
}
.calendar-box p .off {
  color: rgba(216, 30, 30, 0.2);
}

.calendar-arrow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  margin-bottom: 5px;
  font-size: 1.3rem;
}
.calendar-arrow a {
  display: block;
  background: #eee;
  padding: 5px 8px;
  cursor: pointer;
}
.calendar-arrow a:link, .calendar-arrow a:visited {
  color: #333;
}
.calendar-arrow a:first-of-type {
  margin-right: 5px;
}
.calendar-arrow a.arrow-before:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d9";
  font-weight: 900;
  margin-right: 5px;
}
.calendar-arrow a.arrow-after:after {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-left: 5px;
}

.calendar_arrow .arrow-after {
  float: right;
  background: #a2d538;
  color: #fff;
  padding: 0 10px;
}

.calendar_arrow .arrow-before {
  float: left;
  background: #a2d538;
  color: #fff;
  padding: 0 10px;
}

.calendar_info .off {
  color: rgba(216, 30, 30, 0.2);
}
.calendar_info .yotei1 {
  color: rgba(216, 30, 30, 0.2);
}
.calendar_info .yotei2 {
  color: rgba(255, 255, 89, 0.2);
}
.calendar_info .yotei3 {
  color: rgba(0, 131, 222, 0.2);
}

.calendar-box td.calendar .item1,
.calendar-box td.calendar .item2,
.calendar-box td.calendar .item3 {
  display: none;
}
.calendar-box td.calendar.off {
  background-color: rgba(216, 30, 30, 0.2) !important;
}
.calendar-box td.calendar.yotei1 {
  background-color: rgba(216, 30, 30, 0.2) !important;
}
.calendar-box td.calendar.yotei2 {
  background-color: rgba(255, 255, 89, 0.2) !important;
}
.calendar-box td.calendar.yotei3 {
  background-color: rgba(0, 131, 222, 0.2) !important;
}
.calendar-box td.calendar.holiday {
  background-color: rgba(216, 30, 30, 0.2) !important;
}
.calendar-box td.calendar.kara {
  background: none !important;
}

.gallery li {
  position: relative;
  overflow: hidden;
}
.gallery li a {
  color: #555;
}
.gallery li a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.gallery li a:hover img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  transition: all 0.4s ease;
}
.gallery li figure {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #f2f2f2;
  overflow: hidden;
}
.gallery li figure:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.gallery li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}
.gallery li p {
  padding: 5px 10px;
  font-size: 80%;
}
.gallery li p.fsmall {
  font-weight: normal;
  font-size: 80%;
}
.gallery li > .ttl {
  position: relative;
  margin: -1em 0 1em;
  z-index: 2;
  white-space: nowrap;
  color: #fff;
}
.gallery li > .ttl span {
  display: inline-block;
  background-color: #a2d538;
  padding: 0.2em 0.8em;
  line-height: 1.3;
  font-size: 1.2em;
}
.gallery li > .ttl em {
  display: inline-block;
  background-color: #4bb4a1;
  padding: 0.5em 0.8em;
  font-style: normal;
}
.gallery.type1 figure {
  border: 10px solid #a2d538;
}
.gallery.type1 p {
  margin-top: -32px;
  position: relative;
  margin-left: auto;
  width: 90%;
  background-color: #a2d538;
  padding: 10px 10px;
  border-radius: 10px 0 0 0;
  font-size: inherit;
  font-weight: bold;
}

.photobox li {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
  text-align: center;
  vertical-align: middle;
}
.photobox li:nth-child(n+2) {
  display: none;
}
.photobox li:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.photobox li img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}

.masonry {
  margin: 0 auto;
  width: 100%;
  column-count: 3;
  column-gap: 10px;
  row-gap: 10px;
  transition: 0.3s;
}
@media all and (max-width: 896px) {
  .masonry {
    column-count: 3;
  }
}
@media all and (max-width: 639px) {
  .masonry {
    column-count: 2;
    column-gap: 5px;
    row-gap: 5px;
  }
}
.masonry > li,
.masonry .child {
  padding: 10px;
  display: grid;
  place-items: center;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
@media all and (max-width: 639px) {
  .masonry > li,
  .masonry .child {
    padding: 0 5px;
  }
  .masonry > li .tbl_fee,
  .masonry .child .tbl_fee {
    margin-bottom: 0;
  }
}

.place_img {
  position: absolute;
  width: 30%;
  height: 450px;
  margin: 20px 0;
}
@media screen and (max-width: 1900px) {
  .place_img {
    width: 250px;
    height: 450px;
  }
}
@media all and (max-width: 896px) {
  .place_img {
    position: relative;
    width: 40%;
    height: 200px;
    margin: 0px 0;
  }
}
@media all and (max-width: 639px) {
  .place_img {
    width: 45%;
    height: 120px;
  }
}
.place_img.top {
  top: 0;
  margin-bottom: auto;
}
.place_img.bottom {
  bottom: 0;
  margin-top: auto;
}
.place_img.left {
  left: 0;
  margin-right: auto;
}
.place_img.right {
  right: 0;
  margin-left: auto;
}
.place_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.column {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 0;
  display: flex;
  justify-content: space-between;
  gap: 0 40px;
}
.column.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1200px) {
  .column {
    max-width: 1160px;
    padding: 40px 20px;
    overflow: hidden;
  }
}
.column .mainwrap {
  width: 72%;
}
.column .mainwrap section {
  margin-bottom: 80px;
}
.column .sidewrap {
  width: 28%;
}
.column .sidewrap .child {
  background: #fff;
  padding: 8px;
  margin-bottom: 40px;
}
.column .sidewrap .ttl {
  margin-bottom: 20px;
  position: relative;
}
.column .sidewrap .sticky {
  top: 40px;
  position: sticky;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .column .sidewrap .sticky {
    top: 0;
  }
}
@media all and (max-width: 896px) {
  .column .sidewrap .sticky {
    position: static;
  }
}
@media all and (max-width: 1100px) {
  .column {
    gap: 0 20px;
  }
}
@media all and (max-width: 896px) {
  .column {
    padding: 32px 0;
    max-width: 780px;
    margin: 0 auto 32px;
    display: block;
  }
  .column .mainwrap {
    width: 100%;
  }
  .column .sidewrap {
    width: 100%;
    padding: 0 0 0;
  }
}
@media all and (max-width: 639px) {
  .column {
    width: 100%;
    margin-bottom: 30px;
    display: block;
  }
  .column .mainwrap {
    width: 100%;
    margin: 0 auto 20px;
  }
  .column .sidewrap {
    width: 100%;
    position: static;
    margin: 0 auto 32px;
    height: auto;
    padding: 0;
  }
}

.blog_month ul {
  display: flex;
  flex-wrap: wrap;
}
.blog_month ul li {
  width: 49%;
  margin-bottom: 5px;
}
.blog_month ul li:nth-child(2n) {
  margin-left: 2%;
}
.blog_month ul li a {
  display: block;
  width: 100%;
  color: #333;
  font-size: 12px;
  padding: 4px 0;
  text-align: center;
  letter-spacing: 0;
  background: #fff;
  border: 1px solid #eee;
}
.blog_month ul li a:hover {
  color: #a2d538;
}

.pages {
  text-align: center;
  margin-top: 30px;
}
.pages .page_next,
.pages .page_prev {
  display: inline-block;
  margin: 0 20px;
}
.pages .page_next a,
.pages .page_prev a {
  color: #a2d538;
  padding: 4px 5px;
  background: #fff;
  font-size: 12px;
}

#main > section > .ttl,
.mainwrap > section > .ttl,
.list-area > section > .ttl {
  font-size: 2.2rem;
  margin: 50px auto;
  padding: 10px 0px;
  text-align: center;
  position: relative;
}
#main > section > .ttl:before,
.mainwrap > section > .ttl:before,
.list-area > section > .ttl:before {
  content: "";
  position: absolute;
  background-color: #a2d538;
  width: 80px;
  height: 2px;
  margin: 0 auto;
  bottom: 0;
  left: 0;
  right: 0;
}
#main .blog_list,
.mainwrap .blog_list,
.list-area .blog_list {
  display: block;
}
#main .blog_list.type1 > li,
.mainwrap .blog_list.type1 > li,
.list-area .blog_list.type1 > li {
  padding: 30px 10px;
  border-bottom: 3px solid #eee;
}
#main .blog_list > li,
.mainwrap .blog_list > li,
.list-area .blog_list > li {
  margin-bottom: 10px;
}
#main .blog_list > li a,
.mainwrap .blog_list > li a,
.list-area .blog_list > li a {
  display: flex;
  border: 1px solid #eee;
  background-color: #fff;
  padding: 10px;
  color: #555;
}
#main .blog_list > li .ttl,
.mainwrap .blog_list > li .ttl,
.list-area .blog_list > li .ttl {
  margin-bottom: 5px;
}
@media all and (max-width: 639px) {
  #main .blog_list > li .ttl,
  .mainwrap .blog_list > li .ttl,
  .list-area .blog_list > li .ttl {
    font-size: 1.2rem;
  }
}
#main .blog_list > li .txt,
.mainwrap .blog_list > li .txt,
.list-area .blog_list > li .txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#main .blog_list > li .img,
.mainwrap .blog_list > li .img,
.list-area .blog_list > li .img {
  width: 200px;
  height: 160px;
}
@media all and (max-width: 639px) {
  #main .blog_list > li .img,
  .mainwrap .blog_list > li .img,
  .list-area .blog_list > li .img {
    width: 180px;
    height: 100px;
  }
}
#main .blog_list > li .detail,
.mainwrap .blog_list > li .detail,
.list-area .blog_list > li .detail {
  background: transparent;
  width: 100%;
  margin: 0;
  padding: 10px 20px;
  position: relative;
}

.sidewrap .blog_list,
#side .blog_list {
  display: block;
}
.sidewrap .blog_list > li,
#side .blog_list > li {
  padding: 10px;
  margin-bottom: 10px;
  background-color: #fff;
}
.sidewrap .blog_list > li a,
#side .blog_list > li a {
  position: relative;
  color: #333;
  display: grid;
  grid-template-columns: 80px 1fr;
}
.sidewrap .blog_list > li .ttl,
#side .blog_list > li .ttl {
  font-size: 1.2rem;
  margin-bottom: 0;
  line-height: 1.8;
}
@media all and (max-width: 639px) {
  .sidewrap .blog_list > li .ttl,
  #side .blog_list > li .ttl {
    font-size: 1.2rem;
  }
}
.sidewrap .blog_list > li .txt,
#side .blog_list > li .txt {
  display: none;
}
.sidewrap .blog_list > li .category,
#side .blog_list > li .category {
  font-size: 1.1rem;
  padding: 0;
  line-height: 2.2;
}
.sidewrap .blog_list > li .category span,
#side .blog_list > li .category span {
  border: 1px solid #a2d538;
  padding: 0.1em 0.5em;
}
.sidewrap .blog_list > li .date,
#side .blog_list > li .date {
  font-size: 1.1rem;
  padding: 0;
  line-height: 1.4;
}
.sidewrap .blog_list > li .img,
#side .blog_list > li .img {
  width: 80px;
  height: 80px;
}
.sidewrap .blog_list > li .detail,
#side .blog_list > li .detail {
  background: transparent;
  width: 100%;
  margin: 0;
  padding: 0px 10px;
  position: relative;
  flex: 1;
  display: flex;
  justify-items: start;
  flex-direction: column;
}

.blog_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 10px;
}
.blog_list.set_4 {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 639px) {
  .blog_list.set_4 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.blog_list a {
  color: #555;
}
.blog_list > li {
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  transition: 0.2s;
  position: relative;
}
.blog_list > li:hover .img img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.blog_list > li:hover .ttl {
  color: #a2d538;
  transition: 0.2s;
}
.blog_list > li .detail {
  background-color: #fff;
  width: calc(100% - 50px);
  margin: -60px 0 0 auto;
  padding: 20px;
  z-index: 1;
  position: relative;
}
.blog_list > li .ttl {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: bold;
  transition: 0.2s;
}
@media all and (max-width: 639px) {
  .blog_list > li .ttl {
    font-size: 1.4rem;
  }
}
.blog_list > li .txt {
  line-height: 1.5;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  display: none;
}
@media all and (max-width: 639px) {
  .blog_list > li .txt {
    font-size: 12px;
  }
}
.blog_list > li .img {
  width: 100%;
  height: 260px;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.blog_list > li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}
.blog_list > li .category {
  line-height: 1.3;
  color: #a2d538;
  padding: 5px 0;
}
.blog_list > li .category span {
  border: 1px solid #a2d538;
  padding: 0.1em 0.5em;
}
@media all and (max-width: 896px) {
  .blog_list > li .img {
    height: 200px;
  }
}
@media all and (max-width: 639px) {
  .blog_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 0px 0px;
  }
}

.blog_article {
  padding: 50px 40px;
  background-color: #fff;
  min-height: 800px;
  position: relative;
  border: 3px solid #ccc;
}
.blog_article p {
  line-height: 2.2;
}
.blog_article h1 {
  font-size: 2.2rem;
  margin: 20px 0;
  font-weight: bold;
}
.blog_article .blog_date {
  line-height: 1.3;
  color: #aaa;
  display: block;
}
.blog_article .blog_date i {
  margin: 0 5px;
}
.blog_article .blog_date #postpoint {
  display: inline-block;
}
.blog_article .thumbnail {
  margin: 0 -40px;
}
.blog_article .thumbnail img {
  width: 100%;
  height: auto;
}
@media all and (max-width: 639px) {
  .blog_article .thumbnail {
    margin: 0 -20px;
  }
}
.blog_article h2 {
  font-size: 2.2rem;
  margin: 50px 0;
  padding: 10px 0px;
  font-weight: bold;
  position: relative;
  border-bottom: 1px solid #aaa;
}
.blog_article h2:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 55px;
  background-color: #a2d538;
  top: 0;
  left: -40px;
}
.blog_article h3 {
  font-size: 2.2rem;
  margin: 20px 0;
  font-weight: bold;
}
.blog_article h3:before {
  font-family: "Font Awesome 5 Free";
  content: "O";
  font-weight: 900;
  color: #a2d538;
  margin-right: 8px;
}
.blog_article .blog_category {
  color: #fff;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 10px;
  margin: 0 0 0 0;
  text-align: center;
  z-index: 1;
  font-size: 90%;
}
.blog_article .blog_category a {
  color: #fff;
}
.blog_article .blog_category:before {
  content: "";
  width: calc(100% + 20px);
  height: 100%;
  position: absolute;
  left: -10px;
  background-color: #a2d538;
  z-index: -1;
}
.blog_article .blog_date {
  display: block;
  font-size: 90%;
}
@media all and (max-width: 639px) {
  .blog_article {
    padding: 50px 20px;
  }
  .blog_article h2:before {
    width: 5px;
    height: 55px;
    left: -20px;
  }
}

.sidemenu {
  background-color: #a2d538;
  border-radius: 0 30px 30px 0;
  padding: 20px;
  box-shadow: rgba(17, 17, 17, 0.1) 0px 10px 15px -3px, rgba(17, 17, 17, 0.5) 0px 4px 8px -2px;
}
.sidemenu > .ttl {
  color: #fff;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  padding: 0 0 12px;
  margin-bottom: 12px;
  position: relative;
  border-bottom: 1px solid #fff;
}
.sidemenu > .ttl:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0ca";
  font-weight: 900;
  margin-right: 5px;
}
@media all and (max-width: 639px) {
  .sidemenu > .ttl {
    font-size: 1.4rem;
    padding: 4px 0;
  }
}
.sidemenu > .ttl_side {
  position: absolute;
  top: 8px;
  left: -26px;
  width: 34px;
  background-color: #4bb4a1;
  border-radius: 5px 0 0 5px;
  color: #fff;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  font-size: 1.5rem;
  font-weight: normal;
  text-align: center;
  padding: 22px 3px;
  margin-bottom: 12px;
  z-index: 0;
}
@media all and (max-width: 896px) {
  .sidemenu > .ttl_side {
    position: relative;
    top: -20px;
    left: -26px;
    width: auto;
    border-radius: 0px;
    height: auto;
    letter-spacing: 0.1em;
  }
}
@media all and (max-width: 639px) {
  .sidemenu > .ttl_side {
    font-size: 1.4rem;
  }
}
.sidemenu > ul > li {
  font-weight: normal;
  padding: 5px 20px;
  border-radius: 0 20px 20px 0;
  margin-bottom: 8px;
  padding: 8px 5px 8px 30px;
  background-color: #a2d538;
  background-color: #b6de62;
  line-height: 1.4;
  cursor: pointer;
  position: relative;
}
.sidemenu > ul > li:last-child {
  margin-bottom: 0px;
}
.sidemenu > ul > li:hover {
  z-index: 1;
  transition: 0.3s;
  background-color: #a8d845;
}
.sidemenu > ul > li:before {
  position: absolute;
  top: 0;
  left: 0px;
  width: 2em;
  height: 100%;
  display: grid;
  place-items: center;
  font-family: "Font Awesome 5 Free";
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  color: #fff;
  z-index: 1;
}
.sidemenu a {
  display: block;
  zoom: 1;
  color: #fff;
}
@media all and (max-width: 896px) {
  .sidemenu {
    display: flex;
  }
  .sidemenu > .ttl {
    width: 110px;
    padding: 0px 0;
    text-align: left;
    border-bottom: 0px solid #fff;
  }
  .sidemenu > ul {
    flex: 1;
  }
  .sidemenu > ul > li {
    line-height: 1.2;
    padding: 8px 8px 8px 20px;
  }
}
@media all and (max-width: 639px) {
  .sidemenu > ul > li {
    font-size: 1.1rem;
  }
}

.smenu li {
  font-weight: normal;
  background: #fff;
  border: 1px solid #eee;
  font-size: 1.3rem;
}
.smenu a {
  padding: 5px 0px;
  text-indent: 1em;
  display: block;
  zoom: 1;
  text-decoration: none;
  cursor: pointer;
}
.smenu a:hover {
  text-decoration: none;
  background: #fff;
}
.smenu a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  margin-right: 5px;
  font-weight: 900;
}
.smenu a:link, .smenu a:visited {
  color: #555;
}

.mtitle_category {
  margin-bottom: 15px;
  padding: 5px 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #888;
  border-bottom: 1px solid #ccc;
}
.mtitle_category:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0ca";
  font-weight: 900;
  margin-right: 5px;
  color: #a2d538;
}

.blog_category_list ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 5px 0px;
}
.blog_category_list ul li {
  width: 100%;
}
.blog_category_list ul li a {
  color: #333;
  font-size: 1.2rem;
  display: block;
  width: 100%;
  padding: 5px;
  text-align: left;
  letter-spacing: 0;
  background: #fff;
  border-bottom: 1px solid #eee;
  position: relative;
  transition: all 0.2s ease-in;
}
.blog_category_list ul li a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  right: 8px;
  top: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  transition: all 0.1s ease-in;
}
.blog_category_list ul li a:hover {
  color: #a2d538;
  background-color: rgba(242, 242, 242, 0.8);
}
.blog_category_list ul li a:hover:after {
  right: 4px;
}

.category_nav {
  border: 1px solid #dddddd;
}
.category_nav li a {
  display: block;
  padding: 15px;
  border-bottom: 1px dotted #dddddd;
  background-color: #ffffff;
}
.category_nav li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  font-weight: 900;
  margin-right: 5px;
}
.category_nav li a:hover {
  background: #f2f2f2;
}
.category_nav li:last-child a {
  border-bottom: none;
}

.profile_wrap {
  padding: 30px;
}
.profile_wrap figure {
  border-radius: 50%;
  text-align: center;
  margin: 0 auto 20px;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border: 1px solid #ccc;
  display: grid;
  place-items: center;
}
.profile_wrap figure img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  object-position: center center;
}
.profile_wrap .subtxt {
  text-align: center;
  font-size: 1.2rem;
}
.profile_wrap .blog_name {
  text-align: center;
  font-size: 1.8rem;
  margin: 0 0 25px;
  position: relative;
}
.profile_wrap .blog_name:before {
  content: "";
  position: absolute;
  background-color: #a2d538;
  width: 80px;
  height: 2px;
  margin: 0 auto;
  bottom: -12px;
  left: 0;
  right: 0;
}
.profile_wrap p {
  font-size: 90%;
}

.blog_about {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 50px 0;
}
.blog_about:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -2;
  top: 0;
  left: 0;
}
.blog_about.type1:before {
  background-image: url(../img/bg01.jpg);
}
.blog_about figure {
  border-radius: 50%;
  text-align: center;
  margin: 10px auto;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border: 1px solid #ccc;
  display: grid;
  place-items: center;
}
.blog_about figure img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  object-position: center center;
}
.blog_about .mtext1 {
  margin: 20px 0;
}

.blog_main_list {
  display: grid;
  gap: 30px 30px;
}
.blog_main_list.col_2 {
  grid-template-columns: repeat(2, 1fr);
}
.blog_main_list.col_3 {
  grid-template-columns: repeat(2, 1fr);
}
.blog_main_list.col_4 {
  grid-template-columns: repeat(2, 1fr);
}
.blog_main_list > li {
  width: 100%;
  margin: 0 auto;
  border: 1px solid #f2f2f2;
  background-color: #fff;
  position: relative;
  transition: 0.2s;
  position: relative;
}
.blog_main_list > li .blog_detail {
  padding: 40px;
  text-align: center;
}
.blog_main_list > li .blog_detail .blog_txt {
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.blog_main_list > li .blog_detail .blog_category {
  font-size: 1.2rem;
  color: #a2d538;
}
.blog_main_list > li .blog_detail .blog_date {
  font-size: 1.2rem;
  color: #888;
}
.blog_main_list > li .blog_detail .blog_date:before {
  font-family: "Font Awesome 5 Free";
  content: "\f017";
  font-weight: 900;
  margin-right: 5px;
  color: #aaa;
}
.blog_main_list > li .ttl {
  font-size: 2rem;
  margin: 15px 0;
  line-height: 1.8;
  font-weight: bold;
  transition: 0.2s;
  color: #888;
}
.blog_main_list > li .ttl a {
  color: #888;
}
.blog_main_list > li .ttl a:hover {
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .blog_main_list > li .ttl {
    font-size: 1.4rem;
  }
}
.blog_main_list > li .img {
  height: 300px;
  margin: 20px -40px;
  padding: 0;
  overflow: hidden;
}
.blog_main_list > li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}
.blog_main_list > li .img:hover img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.blog_main_list > li .btn a {
  background: #f2f2f2;
  text-align: center;
  width: 150px;
  color: #aaa;
  display: block;
  padding: 3px 5px;
  margin: 20px auto 0;
}
.blog_main_list > li .btn a:hover {
  background: #a2d538;
  color: #fefefe;
}
@media all and (max-width: 639px) {
  .blog_main_list > li .btn a {
    margin: 10px auto;
  }
}
@media all and (max-width: 896px) {
  .blog_main_list > li .img {
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .blog_main_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px 0px;
  }
  .blog_main_list > li > a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10;
  }
}

.recommended_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 30px;
}
.recommended_list > li {
  width: 100%;
  margin: 0 auto;
  border: 1px solid #f2f2f2;
  background-color: #fff;
  padding: 20px;
  position: relative;
  transition: 0.2s;
}
.recommended_list > li a {
  text-decoration: none;
}
.recommended_list > li a:hover .blog_ttl {
  text-decoration: underline;
}
.recommended_list > li .category {
  position: absolute;
  top: 20px;
  left: 30px;
  color: #888;
  display: inline-block;
  margin: 0 0 0 0;
  text-align: center;
  z-index: 1;
  font-size: 90%;
}
.recommended_list > li .category:before {
  content: "";
  width: calc(100% + 20px);
  height: 100%;
  position: absolute;
  left: -10px;
  background-color: #eee;
  z-index: -1;
}
.recommended_list > li .detail {
  padding: 10px 0 0;
}
.recommended_list > li .detail .blog_txt {
  display: none;
}
.recommended_list > li .ttl {
  font-size: 1.6rem;
  margin: 8px 0 0;
  line-height: 1.8;
  font-weight: bold;
  transition: 0.2s;
  color: #888;
}
@media all and (max-width: 639px) {
  .recommended_list > li .ttl {
    font-size: 1.4rem;
  }
}
.recommended_list > li .img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.recommended_list > li .img:hover img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.recommended_list > li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}
.recommended_list > li .date {
  font-size: 1.2rem;
  color: #888;
  margin-top: 5px;
}
.recommended_list > li .date:before {
  font-family: "Font Awesome 5 Free";
  content: "\f017";
  font-weight: 900;
  margin-right: 5px;
  color: #aaa;
}
@media all and (max-width: 896px) {
  .recommended_list > li .img {
    height: 200px;
  }
}
@media all and (max-width: 639px) {
  .recommended_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 0px 0px;
  }
}

.tagcloud a {
  display: inline-block;
  margin: 5px 5px 5px 0;
  padding: 2px 8px;
  border-radius: 15px;
  background: #f4f4f4;
  color: #666;
  font-size: 12px !important;
  font-weight: bold;
}
.tagcloud a:hover {
  opacity: 0.6;
}

.contentnav_wrap .tagcloud {
  text-align: center;
  margin: 10px auto;
}

.accordionToc {
  background: #fefefe;
  margin: 35px auto;
  padding: 15px 15px;
  border: 1px solid #ddd;
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.accordionToc p {
  display: inline-block;
  margin: 0;
  width: auto;
  margin-right: 20px;
  font-weight: 600;
  position: relative;
}
.accordionToc p i {
  color: #a2d538;
}
.accordionToc .accordion-header {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all 0.2s ease 0s;
  position: relative;
  border-radius: 50%;
  border: 1px solid #cbcbcb;
  color: #cbcbcb;
}
.accordionToc .accordion-header:before {
  font-family: "Font Awesome 5 Free";
  content: "\f068";
  font-weight: 900;
}
.accordionToc .accordion-header.active:before {
  font-family: "Font Awesome 5 Free";
  content: "\+";
  font-weight: 900;
}
.accordionToc #tocBlock {
  display: none;
  width: 100%;
  overflow: hidden;
  border: none;
  list-style: none;
  padding: 20px 0 0;
  margin: 20px 0 0;
  border-top: 1px solid #eee;
}
.accordionToc #tocBlock.show {
  display: block;
}
.accordionToc #tocBlock li {
  /* &:before {
      content: "●";
      background: none;
      top: 50%;
      left: 0;
      position: absolute;
      transform: translateY(-50%);
  } */
}
.accordionToc #tocBlock li.h2, .accordionToc #tocBlock li.h3 {
  margin: 0;
  line-height: 1;
  padding: 0;
  position: relative;
}
.accordionToc #tocBlock li.h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: 900;
  color: #a2d538;
  top: 50%;
  left: 0;
  position: absolute;
  transform: translateY(-50%);
}
.accordionToc #tocBlock li.h3 {
  margin-left: 7px;
  font-size: 80%;
  /* 
  &:before {
      content: "●";
      left: 23px;
  } */
}
.accordionToc #tocBlock li.h3 a {
  margin-left: 43px;
  font-weight: 400;
}
.accordionToc #tocBlock li.h3:after {
  content: "";
  width: 1px;
  height: 100%;
  background: #a2d538;
  position: absolute;
  left: 0;
}
.accordionToc #tocBlock li a {
  line-height: 1.3;
  margin: 10px 0 4px 28px;
  color: #555;
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}
.accordionToc #tocBlock li a:after {
  content: "";
  width: 0;
  height: 1px;
  background: #a2d538;
  bottom: 3px;
  left: 0;
  position: absolute;
  transition: all 0.3s ease;
}
.accordionToc #tocBlock li a:hover:after {
  width: 100%;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    transform: translateY(0px);
  }
  100% {
    opacity: 0;
  }
}
.page_title {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.page_title.type1:before {
  background-image: url(../images/house/01.jpg);
}
.page_title.type2:before {
  background-image: url(../images/house/02.jpg);
}
.page_title.type3:before {
  background-image: url(../images/house/19.jpg);
}
.page_title.type4:before {
  background-image: url(../images/house/16.jpg);
}
.page_title.type5:before {
  background-image: url(../images/house/05.jpg);
}
.page_title.type6:before {
  background-image: url(../images/house/06.jpg);
}
.page_title.type7:before {
  background-image: url(../images/house/07.jpg);
}
.page_title.type8:before {
  background-image: url(../images/house/08.jpg);
}
.page_title.type9:before {
  background-image: url(../images/nursery/09.jpg);
}
.page_title.type10:before {
  background-image: url(../images/house/deco_line01.png);
}
.page_title.type11:before {
  background-image: url(../images/nursery/11.jpg);
}
.page_title.type12:before {
  background-image: url(../images/nursery/12.jpg);
}
.page_title.type13:before {
  background-image: url(../images/nursery/13.jpg);
}
.page_title.type14:before {
  background-image: url(../images/nursery/14.jpg);
}
.page_title.type15:before {
  background-image: url(../images/nursery/15.jpg);
}
.page_title.type16:before {
  background-image: url(../images/nursery/16.jpg);
}
.page_title.bg_gray {
  background-color: inherit !important;
}
.page_title.bg_gray:before {
  filter: grayscale(100%);
}
.page_title.bg_blur {
  overflow: hidden;
}
.page_title.bg_blur:before {
  filter: blur(4px);
}
.page_title.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.page_title.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.page_title.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.page_title.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.page_title.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.page_title.bg_base {
  background-color: inherit !important;
}
.page_title.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.page_title.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page_title.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.page_title.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page_title.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.page_title.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page_title.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.page_title.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page_title.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.page_title.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page_title.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.page_title.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
.page_title.size_m > .photo img {
  height: 650px;
}
@media all and (max-width: 639px) {
  .page_title.size_m > .photo img {
    height: 350px;
  }
}
.page_title > .photo {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  z-index: -1;
}
.page_title > .photo.type_r {
  position: relative;
  width: 90vw;
  margin: 0 0 0 auto;
}
.page_title > .photo img {
  width: 100%;
  height: 450px;
  object-fit: cover;
}
@media all and (max-width: 639px) {
  .page_title > .photo img {
    height: 250px;
  }
}
.page_title:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -2;
  top: 0;
  left: 0;
}

.breadcrumb {
  padding: 20px 30px;
  position: relative;
  z-index: 10;
  max-width: 90%;
  margin: 0 auto;
  font-size: 1.2rem;
  text-align: left;
}
.breadcrumb.tcenter {
  max-width: 100%;
  text-align: center;
  margin: 0 auto;
}
.breadcrumb.type1 {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 100;
}
@media all and (max-width: 639px) {
  .breadcrumb.type1 {
    font-size: 1rem;
  }
}
.breadcrumb.type1 li {
  color: #fff;
}
.breadcrumb.type1 li a {
  color: #fff;
}
.breadcrumb.type_r {
  position: absolute;
  bottom: -20px;
  padding: 10px 30px;
  background-color: #a2d538;
  border-radius: 0 30px 30px 0;
}
.breadcrumb.type_r li {
  color: #fff;
}
.breadcrumb.type_r li a {
  color: #fff;
}
.breadcrumb li {
  display: inline-block;
}
.breadcrumb li a {
  color: #86b426;
}
.breadcrumb li + li:before {
  margin: 0 10px;
  content: ">";
}
@media all and (max-width: 1100px) {
  .breadcrumb {
    padding: 10px 0px;
  }
}

.act01,
.act02,
.act03,
.act04,
.act05,
.act06,
.act07,
.act08,
.act09,
.act10,
.act {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
  transform: scale(1);
}
.act01:before, .act01.on,
.act02:before,
.act02.on,
.act03:before,
.act03.on,
.act04:before,
.act04.on,
.act05:before,
.act05.on,
.act06:before,
.act06.on,
.act07:before,
.act07.on,
.act08:before,
.act08.on,
.act09:before,
.act09.on,
.act10:before,
.act10.on,
.act:before,
.act.on {
  animation-delay: 0s;
  transition-duration: 500ms;
}
.act01.set,
.act02.set,
.act03.set,
.act04.set,
.act05.set,
.act06.set,
.act07.set,
.act08.set,
.act09.set,
.act10.set,
.act.set {
  opacity: 0;
}
.act01.set.on,
.act02.set.on,
.act03.set.on,
.act04.set.on,
.act05.set.on,
.act06.set.on,
.act07.set.on,
.act08.set.on,
.act09.set.on,
.act10.set.on,
.act.set.on {
  opacity: 1;
  transition-duration: 500ms;
}
.act01.set.first,
.act02.set.first,
.act03.set.first,
.act04.set.first,
.act05.set.first,
.act06.set.first,
.act07.set.first,
.act08.set.first,
.act09.set.first,
.act10.set.first,
.act.set.first {
  opacity: 1;
  transition-duration: 500ms;
}
.act01.delay_1,
.act02.delay_1,
.act03.delay_1,
.act04.delay_1,
.act05.delay_1,
.act06.delay_1,
.act07.delay_1,
.act08.delay_1,
.act09.delay_1,
.act10.delay_1,
.act.delay_1 {
  transition-delay: 0.3s;
}
.act01.delay_1 .set.on, .act01.delay_1:before, .act01.delay_1.on,
.act02.delay_1 .set.on,
.act02.delay_1:before,
.act02.delay_1.on,
.act03.delay_1 .set.on,
.act03.delay_1:before,
.act03.delay_1.on,
.act04.delay_1 .set.on,
.act04.delay_1:before,
.act04.delay_1.on,
.act05.delay_1 .set.on,
.act05.delay_1:before,
.act05.delay_1.on,
.act06.delay_1 .set.on,
.act06.delay_1:before,
.act06.delay_1.on,
.act07.delay_1 .set.on,
.act07.delay_1:before,
.act07.delay_1.on,
.act08.delay_1 .set.on,
.act08.delay_1:before,
.act08.delay_1.on,
.act09.delay_1 .set.on,
.act09.delay_1:before,
.act09.delay_1.on,
.act10.delay_1 .set.on,
.act10.delay_1:before,
.act10.delay_1.on,
.act.delay_1 .set.on,
.act.delay_1:before,
.act.delay_1.on {
  animation-delay: 0.3s;
  transition-delay: 0.3s;
}
.act01.delay_2,
.act02.delay_2,
.act03.delay_2,
.act04.delay_2,
.act05.delay_2,
.act06.delay_2,
.act07.delay_2,
.act08.delay_2,
.act09.delay_2,
.act10.delay_2,
.act.delay_2 {
  transition-delay: 0.6s;
}
.act01.delay_2 .set.on, .act01.delay_2:before, .act01.delay_2.on,
.act02.delay_2 .set.on,
.act02.delay_2:before,
.act02.delay_2.on,
.act03.delay_2 .set.on,
.act03.delay_2:before,
.act03.delay_2.on,
.act04.delay_2 .set.on,
.act04.delay_2:before,
.act04.delay_2.on,
.act05.delay_2 .set.on,
.act05.delay_2:before,
.act05.delay_2.on,
.act06.delay_2 .set.on,
.act06.delay_2:before,
.act06.delay_2.on,
.act07.delay_2 .set.on,
.act07.delay_2:before,
.act07.delay_2.on,
.act08.delay_2 .set.on,
.act08.delay_2:before,
.act08.delay_2.on,
.act09.delay_2 .set.on,
.act09.delay_2:before,
.act09.delay_2.on,
.act10.delay_2 .set.on,
.act10.delay_2:before,
.act10.delay_2.on,
.act.delay_2 .set.on,
.act.delay_2:before,
.act.delay_2.on {
  animation-delay: 0.6s;
  transition-delay: 0.6s;
}
.act01.delay_3,
.act02.delay_3,
.act03.delay_3,
.act04.delay_3,
.act05.delay_3,
.act06.delay_3,
.act07.delay_3,
.act08.delay_3,
.act09.delay_3,
.act10.delay_3,
.act.delay_3 {
  transition-delay: 0.9s;
}
.act01.delay_3 .set.on, .act01.delay_3:before, .act01.delay_3.on,
.act02.delay_3 .set.on,
.act02.delay_3:before,
.act02.delay_3.on,
.act03.delay_3 .set.on,
.act03.delay_3:before,
.act03.delay_3.on,
.act04.delay_3 .set.on,
.act04.delay_3:before,
.act04.delay_3.on,
.act05.delay_3 .set.on,
.act05.delay_3:before,
.act05.delay_3.on,
.act06.delay_3 .set.on,
.act06.delay_3:before,
.act06.delay_3.on,
.act07.delay_3 .set.on,
.act07.delay_3:before,
.act07.delay_3.on,
.act08.delay_3 .set.on,
.act08.delay_3:before,
.act08.delay_3.on,
.act09.delay_3 .set.on,
.act09.delay_3:before,
.act09.delay_3.on,
.act10.delay_3 .set.on,
.act10.delay_3:before,
.act10.delay_3.on,
.act.delay_3 .set.on,
.act.delay_3:before,
.act.delay_3.on {
  animation-delay: 0.9s;
  transition-delay: 0.9s;
}
.act01.delay_4,
.act02.delay_4,
.act03.delay_4,
.act04.delay_4,
.act05.delay_4,
.act06.delay_4,
.act07.delay_4,
.act08.delay_4,
.act09.delay_4,
.act10.delay_4,
.act.delay_4 {
  transition-delay: 1.2s;
}
.act01.delay_4 .set.on, .act01.delay_4:before, .act01.delay_4.on,
.act02.delay_4 .set.on,
.act02.delay_4:before,
.act02.delay_4.on,
.act03.delay_4 .set.on,
.act03.delay_4:before,
.act03.delay_4.on,
.act04.delay_4 .set.on,
.act04.delay_4:before,
.act04.delay_4.on,
.act05.delay_4 .set.on,
.act05.delay_4:before,
.act05.delay_4.on,
.act06.delay_4 .set.on,
.act06.delay_4:before,
.act06.delay_4.on,
.act07.delay_4 .set.on,
.act07.delay_4:before,
.act07.delay_4.on,
.act08.delay_4 .set.on,
.act08.delay_4:before,
.act08.delay_4.on,
.act09.delay_4 .set.on,
.act09.delay_4:before,
.act09.delay_4.on,
.act10.delay_4 .set.on,
.act10.delay_4:before,
.act10.delay_4.on,
.act.delay_4 .set.on,
.act.delay_4:before,
.act.delay_4.on {
  animation-delay: 1.2s;
  transition-delay: 1.2s;
}
.act01.delay_5,
.act02.delay_5,
.act03.delay_5,
.act04.delay_5,
.act05.delay_5,
.act06.delay_5,
.act07.delay_5,
.act08.delay_5,
.act09.delay_5,
.act10.delay_5,
.act.delay_5 {
  transition-delay: 1.4s;
}
.act01.delay_5 .set.on, .act01.delay_5:before, .act01.delay_5.on,
.act02.delay_5 .set.on,
.act02.delay_5:before,
.act02.delay_5.on,
.act03.delay_5 .set.on,
.act03.delay_5:before,
.act03.delay_5.on,
.act04.delay_5 .set.on,
.act04.delay_5:before,
.act04.delay_5.on,
.act05.delay_5 .set.on,
.act05.delay_5:before,
.act05.delay_5.on,
.act06.delay_5 .set.on,
.act06.delay_5:before,
.act06.delay_5.on,
.act07.delay_5 .set.on,
.act07.delay_5:before,
.act07.delay_5.on,
.act08.delay_5 .set.on,
.act08.delay_5:before,
.act08.delay_5.on,
.act09.delay_5 .set.on,
.act09.delay_5:before,
.act09.delay_5.on,
.act10.delay_5 .set.on,
.act10.delay_5:before,
.act10.delay_5.on,
.act.delay_5 .set.on,
.act.delay_5:before,
.act.delay_5.on {
  animation-delay: 1.4s;
  transition-delay: 1.4s;
}
.act01.delay_6,
.act02.delay_6,
.act03.delay_6,
.act04.delay_6,
.act05.delay_6,
.act06.delay_6,
.act07.delay_6,
.act08.delay_6,
.act09.delay_6,
.act10.delay_6,
.act.delay_6 {
  transition-delay: 1.6s;
}
.act01.delay_6 .set.on, .act01.delay_6:before, .act01.delay_6.on,
.act02.delay_6 .set.on,
.act02.delay_6:before,
.act02.delay_6.on,
.act03.delay_6 .set.on,
.act03.delay_6:before,
.act03.delay_6.on,
.act04.delay_6 .set.on,
.act04.delay_6:before,
.act04.delay_6.on,
.act05.delay_6 .set.on,
.act05.delay_6:before,
.act05.delay_6.on,
.act06.delay_6 .set.on,
.act06.delay_6:before,
.act06.delay_6.on,
.act07.delay_6 .set.on,
.act07.delay_6:before,
.act07.delay_6.on,
.act08.delay_6 .set.on,
.act08.delay_6:before,
.act08.delay_6.on,
.act09.delay_6 .set.on,
.act09.delay_6:before,
.act09.delay_6.on,
.act10.delay_6 .set.on,
.act10.delay_6:before,
.act10.delay_6.on,
.act.delay_6 .set.on,
.act.delay_6:before,
.act.delay_6.on {
  animation-delay: 1.6s;
  transition-delay: 1.6s;
}

.inup {
  transform: translate(0, 50px);
}
.inup.on {
  opacity: 1;
  transform: translate(0, 0);
}
.inup.first {
  opacity: 1;
  transform: translate(0, 0);
}

.indown {
  transform: translate(0, -50px);
}
.indown.on {
  opacity: 1;
  transform: translate(0, 0);
}
.indown.first {
  opacity: 1;
  transform: translate(0, 0);
}

.inleft {
  transform: translate(-50px, 0);
}
.inleft.on {
  opacity: 1;
  transform: translate(0, 0);
}
.inleft.first {
  opacity: 1;
  transform: translate(0, 0);
  transition-duration: 2s;
}

.inright {
  transform: translate(50px, 0);
}
.inright.on {
  opacity: 1;
  transform: translate(0, 0);
}
.inright.first {
  opacity: 1;
  transform: translate(0, 0);
  transition-duration: 4s;
}

.slide_l {
  position: relative;
}
.slide_l.on {
  opacity: 1;
}
.slide_l.on:before {
  content: "";
  position: absolute;
  background-color: #4bb4a1;
  animation-name: slide_l;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.slide_l.first {
  opacity: 1;
}
.slide_l.first:before {
  content: "";
  position: absolute;
  background-color: #4bb4a1;
  animation-name: slide_l;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  width: 100%;
  height: 100%;
  z-index: 1;
}

@keyframes slide_l {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
.slide_r {
  position: relative;
}
.slide_r.on .actset {
  opacity: 1;
  transition-delay: 2.6s;
}
.slide_r.on {
  opacity: 1;
}
.slide_r.on:before {
  content: "";
  position: absolute;
  background-color: #a2d538;
  animation-name: slide_r;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  width: 100%;
  height: 100%;
  z-index: 1;
}

@keyframes slide_r {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}
.slide_t {
  position: relative;
}
.slide_t.on .actset {
  opacity: 1;
  transition-delay: 2.6s;
}
.slide_t.on {
  opacity: 1;
}
.slide_t.on:before {
  content: "";
  position: absolute;
  background-color: #4bb4a1;
  animation-name: slide_t;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  width: 100%;
  height: 100%;
  z-index: 1;
}

@keyframes slide_t {
  0% {
    transform-origin: top;
    transform: scaleY(0);
  }
  50% {
    transform-origin: top;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: bottom;
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
}
.slide_b {
  position: relative;
}
.slide_b.on {
  opacity: 1;
}
.slide_b.on:before {
  content: "";
  position: absolute;
  background-color: #fff;
  animation-name: slide_b;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  width: 100%;
  height: 100%;
  z-index: 1;
}

@keyframes slide_b {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  50% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: top;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
  }
}
.zoom_out {
  transition-property: opacity, transform;
  transform: scale(1.1);
}
.zoom_out.on {
  opacity: 1;
  transition-delay: 0.6s;
  transform: scale(1);
  animation-delay: 0.5s;
  animation-duration: 0.5s;
  transition: 2.5s;
}
.zoom_out.first {
  opacity: 1;
  transition-delay: 0.6s;
  transform: scale(1);
  animation-delay: 0.5s;
  animation-duration: 0.5s;
  transition: 3.5s;
}

.zoom_in {
  transition-property: opacity, transform;
  transform: scale(0.9);
}
.zoom_in.on {
  opacity: 1;
  transition-delay: 0.6s;
  transform: scale(1);
  animation-delay: 0.5s;
  animation-duration: 0.5s;
  transition: 0.5s;
}
.zoom_in.first {
  opacity: 1;
  transition-delay: 1.6s;
  transform: scale(1);
  animation-delay: 0.5s;
  animation-duration: 3.5s;
  transition: 3.5s;
}

.blur {
  filter: blur(20px);
  transform: scale(1.01);
}
.blur.on {
  transition-delay: 0.6s;
  transition-duration: 1.5s;
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
}
.blur.first {
  transition-delay: 0.6s;
  transition-duration: 1.5s;
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
}

.lineup {
  letter-spacing: -3rem !important;
}
.lineup.on {
  transition-delay: 0.6s;
  transition-duration: 1.5s;
  display: block;
  opacity: 1;
  letter-spacing: 0 !important;
}
.lineup.first {
  letter-spacing: 0 !important;
  display: block;
  opacity: 1;
  transition: 1s;
}

.flip_l {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
}
.flip_l.on {
  opacity: 1;
  perspective-origin: left center;
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
}

.flip_r {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
  opacity: 0;
}
.flip_r.on {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
}

.flip_b {
  transform: perspective(2500px) rotateX(100deg);
  opacity: 0;
}
.flip_b.on {
  transform: perspective(2500px) rotateX(0);
  opacity: 1;
}

.rotateY {
  transform: rotateY(0);
  opacity: 0;
}
.rotateY.on {
  transform: rotateY(-360deg);
  opacity: 1;
}

.liner {
  position: relative; /* 枠線が書かれる基点*/
  opacity: 0;
}
.liner .on {
  animation-name: liner;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes liner {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*上下線*/
.liner::before,
.liner::after {
  position: absolute;
  content: "";
  width: 0;
  height: 1px;
  background: #333; /* 枠線の色*/
}

/*左右線*/
.line2::before,
.line2::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 0;
  background: #333; /* 枠線の色*/
}

/*上線*/
.liner::before {
  top: 0;
  left: 0;
}

.liner.on::before {
  animation: lineAnime 0.5s linear 0s forwards; /*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before {
  top: 0;
  right: 0;
}

.liner.on .line2::before {
  animation: lineAnime2 0.5s linear 0.5s forwards; /*表示されて0.5秒後に右線が0.5秒かけて表示*/
}

/*下線*/
.liner::after {
  bottom: 0;
  right: 0;
}

.liner.on::after {
  animation: lineAnime 0.5s linear 1s forwards; /*表示されて1秒後に下線が0.5秒かけて表示*/
}

/*左線*/
.line2::after {
  bottom: 0;
  left: 0;
}

.liner.on .line2::after {
  animation: liner2 0.5s linear 1.5s forwards; /*表示されて1.5秒後に左線が0.5秒かけて表示*/
}

@keyframes liner2 {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes liner2 {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}
/*枠線内側の要素*/
.liner.on .lineinappear {
  animation: lineInnerAnime 0.5s linear 1.5s forwards; /*1.5秒後に中央のエリアが0.5秒かけて表示*/
  opacity: 0; /*初期値を透過0にする*/
}

@keyframes lineInnerAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mask_circle {
  position: relative;
  bottom: 0;
  opacity: 0;
  clip-path: circle(1%);
  transition: ease-in all;
  transition-delay: 0.6s;
  transition-duration: 1.5s;
}
.mask_circle.on {
  opacity: 1;
  clip-path: circle(120%);
}

.mask_polygon {
  position: relative;
  bottom: 0;
  opacity: 0;
  clip-path: polygon(1%);
  transition: ease-in all;
  transition-delay: 0.6s;
  transition-duration: 1.5s;
}
.mask_polygon.on {
  opacity: 1;
  clip-path: polygon(120%);
}

.txt_split.type_box_big span, .txt_split.type_box span {
  background-color: #a2d538;
}
.txt_split.type_box_sub_big span, .txt_split.type_box_sub span {
  background-color: #4bb4a1;
}
.txt_split.type1.on {
  opacity: 1;
}
.txt_split.type1.on span {
  opacity: 0;
  -webkit-animation: catch-anime 0.8s ease-in 2.8s forwards;
  animation: catch-anime 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type1.first {
  opacity: 1;
}
.txt_split.type1.first span {
  opacity: 0;
  -webkit-animation: catch-anime 0.8s ease-in 2.8s forwards;
  animation: catch-anime 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type_blur.on {
  opacity: 1;
}
.txt_split.type_blur.on span {
  opacity: 0;
  -webkit-animation: catch-anime-blur 0.8s ease-in 2.8s forwards;
  animation: catch-anime-blur 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type_blur.first {
  opacity: 1;
}
.txt_split.type_blur.first span {
  opacity: 0;
  -webkit-animation: catch-anime-blur 3.8s ease-in 6.8s forwards;
  animation: catch-anime-blur 3.8s ease-in 6.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type_lineup {
  letter-spacing: -10em !important;
}
.txt_split.type_lineup.on {
  opacity: 1;
}
.txt_split.type_lineup.on span {
  letter-spacing: 0 !important;
  opacity: 1;
  transition: 0.2s;
}
.txt_split.type_lineup.first {
  opacity: 1;
}
.txt_split.type_lineup.first span {
  letter-spacing: 0 !important;
  opacity: 1;
  transition: 0.2s;
}
.txt_split.type_box span, .txt_split.type_box_sub span {
  line-height: 50px;
  height: 50px;
  width: 50px;
  text-align: center;
  font-size: 3.5rem;
  color: #fff;
  margin: 3px;
}
@media screen and (max-width: 954px) {
  .txt_split.type_box, .txt_split.type_box_sub {
    text-align: center;
  }
  .txt_split.type_box span, .txt_split.type_box_sub span {
    line-height: 35px;
    height: 35px;
    width: 35px;
    font-size: 2.5rem;
  }
}
@media all and (max-width: 639px) {
  .txt_split.type_box span, .txt_split.type_box_sub span {
    line-height: 30px;
    height: 30px;
    width: 30px;
    font-size: 2rem;
  }
}
.txt_split.type_box.on, .txt_split.type_box_sub.on {
  opacity: 1;
}
.txt_split.type_box.on span, .txt_split.type_box_sub.on span {
  opacity: 0;
  -webkit-animation: catch-anime 0.8s ease-in 2.8s forwards;
  animation: catch-anime 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type_box.first, .txt_split.type_box_sub.first {
  opacity: 1;
}
.txt_split.type_box.first span, .txt_split.type_box_sub.first span {
  opacity: 0;
  -webkit-animation: catch-anime 0.8s ease-in 2.8s forwards;
  animation: catch-anime 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type_box.radius span, .txt_split.type_box_sub.radius span {
  border-radius: 5px;
}
.txt_split.type_box_big span, .txt_split.type_box_sub_big span {
  line-height: 80px;
  width: 80px;
  text-align: center;
  font-size: 5.5rem;
  color: #fff;
  margin: 3px;
}
@media screen and (max-width: 954px) {
  .txt_split.type_box_big, .txt_split.type_box_sub_big {
    text-align: center;
  }
  .txt_split.type_box_big span, .txt_split.type_box_sub_big span {
    line-height: 35px;
    width: 35px;
    font-size: 2.5rem;
  }
}
@media all and (max-width: 639px) {
  .txt_split.type_box_big span, .txt_split.type_box_sub_big span {
    line-height: 30px;
    width: 30px;
    font-size: 2rem;
  }
}
.txt_split.type_box_big.on, .txt_split.type_box_sub_big.on {
  opacity: 1;
}
.txt_split.type_box_big.on span, .txt_split.type_box_sub_big.on span {
  opacity: 0;
  -webkit-animation: catch-anime 0.8s ease-in 2.8s forwards;
  animation: catch-anime 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}
.txt_split.type_box_big.first, .txt_split.type_box_sub_big.first {
  opacity: 1;
}
.txt_split.type_box_big.first span, .txt_split.type_box_sub_big.first span {
  opacity: 0;
  -webkit-animation: catch-anime 0.8s ease-in 2.8s forwards;
  animation: catch-anime 0.8s ease-in 2.8s forwards;
  display: inline-block;
  transition: 0.2s;
}

@keyframes catch-anime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes catch-anime-blur {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    filter: blur(1.5rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    filter: blur(0);
  }
}
.logo_animation01 {
  position: relative;
  width: 100px;
  height: 100px;
}
.logo_animation01.size_m {
  width: 300px;
  height: 300px;
}
.logo_animation01 li {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation: logo_animation01 1.5s ease infinite alternate forwards;
  animation-iteration-count: 1;
}
.logo_animation01 li:nth-child(1) {
  animation-delay: 0s;
  z-index: 0;
}
.logo_animation01 li:nth-child(2) {
  animation-delay: 0.6s;
  z-index: 1;
}
.logo_animation01 li:nth-child(3) {
  animation-delay: 1s;
  z-index: 2;
}

@keyframes logo_animation01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.logo_animation02 {
  position: relative;
  width: 100px;
  height: 100px;
}
.logo_animation02 li {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  animation-iteration-count: 1;
}
.logo_animation02 li:nth-child(1) {
  animation-delay: 0s;
  z-index: 0;
  animation: logo_animation02b 1.5s ease infinite alternate forwards;
}
.logo_animation02 li:nth-child(2) {
  animation-delay: 0.6s;
  z-index: 1;
  animation: logo_animation02c 1.5s ease infinite alternate forwards;
}
.logo_animation02 li:nth-child(3) {
  animation-delay: 5.2s;
  z-index: 2;
  animation: logo_animation02a 3.5s ease infinite alternate forwards;
}

@keyframes logo_animation02a {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes logo_animation02b {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  80% {
    opacity: 1;
    transform: translateY(0px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes logo_animation02c {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  80% {
    opacity: 1;
    transform: translateY(0px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
.logo_animation03 {
  position: relative;
  width: 100%;
  height: 500px;
}
.logo_animation03 li {
  opacity: 0;
  animation: logo_animation01 1.5s ease infinite alternate forwards;
  animation-iteration-count: 1;
  text-align: center;
  margin: 0 auto 60px;
}
.logo_animation03 li:nth-child(1) {
  animation-delay: 0s;
  z-index: 0;
  line-height: 1.4;
  margin: 0 auto 60px;
  letter-spacing: 0.5em;
}
.logo_animation03 li:nth-child(2) {
  animation-delay: 0.3s;
  z-index: 1;
  margin: 0 auto 60px;
}
.logo_animation03 li:nth-child(3) {
  animation-delay: 0.6s;
  z-index: 2;
  font-size: 3rem;
  line-height: 1.2;
  margin: 0 auto 0;
  letter-spacing: 0.5em;
}

.lorder_rotate {
  display: grid;
  place-items: center;
  position: relative;
  margin: auto;
  animation: lorder_rotate 0.5s linear infinite;
  border: 1px solid #fff;
  border-radius: 50%;
  border-right: 1px solid rgba(162, 213, 56, 0.8);
  border-top: 1px solid rgba(162, 213, 56, 0.8);
  content: "";
  height: 70px;
  width: 70px;
}

@keyframes lorder_rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-moz-keyframes throbber-loader {
  0% {
    background: #e9e9e9;
  }
  10% {
    background: #a2d538;
  }
  40% {
    background: #e9e9e9;
  }
}
@-webkit-keyframes throbber-loader {
  0% {
    background: #e9e9e9;
  }
  10% {
    background: #a2d538;
  }
  40% {
    background: #e9e9e9;
  }
}
@keyframes throbber-loader {
  0% {
    background: #e9e9e9;
  }
  10% {
    background: #a2d538;
  }
  40% {
    background: #e9e9e9;
  }
}
/* :not(:required) hides these rules from IE9 and below */
.throbber-loader:not(:required) {
  -moz-animation: throbber-loader 2000ms 300ms infinite ease-out;
  -webkit-animation: throbber-loader 2000ms 300ms infinite ease-out;
  animation: throbber-loader 2000ms 300ms infinite ease-out;
  background: #e9e9e9;
  display: inline-block;
  position: relative;
  text-indent: -9999px;
  width: 0.9em;
  height: 1.5em;
  margin: 0 1.6em;
}
.throbber-loader:not(:required):before, .throbber-loader:not(:required):after {
  background: #e9e9e9;
  content: "x200B";
  display: inline-block;
  width: 0.9em;
  height: 1.5em;
  position: absolute;
  top: 0;
}
.throbber-loader:not(:required):before {
  -moz-animation: throbber-loader 2000ms 150ms infinite ease-out;
  -webkit-animation: throbber-loader 2000ms 150ms infinite ease-out;
  animation: throbber-loader 2000ms 150ms infinite ease-out;
  left: -1.6em;
}
.throbber-loader:not(:required):after {
  -moz-animation: throbber-loader 2000ms 450ms infinite ease-out;
  -webkit-animation: throbber-loader 2000ms 450ms infinite ease-out;
  animation: throbber-loader 2000ms 450ms infinite ease-out;
  right: -1.6em;
}

@-moz-keyframes marumaru-loader {
  0% {
    background: #e9e9e9;
  }
  10% {
    background: #a2d538;
  }
  40% {
    background: #e9e9e9;
  }
}
@-webkit-keyframes marumaru-loader {
  0% {
    background: #e9e9e9;
  }
  10% {
    background: #a2d538;
  }
  40% {
    background: #e9e9e9;
  }
}
@keyframes marumaru-loader {
  0% {
    background: #e9e9e9;
  }
  10% {
    background: #a2d538;
  }
  40% {
    background: #e9e9e9;
  }
}
/* :not(:required) hides these rules from IE9 and below */
.marumaru-loader:not(:required) {
  -moz-animation: marumaru-loader 2000ms 300ms infinite ease-out;
  -webkit-animation: marumaru-loader 2000ms 300ms infinite ease-out;
  animation: marumaru-loader 2000ms 300ms infinite ease-out;
  background: #e9e9e9;
  display: inline-block;
  position: relative;
  text-indent: -9999px;
  width: 0.9em;
  height: 0.9em;
  border-radius: 50%;
  margin: 0 1.6em;
}
.marumaru-loader:not(:required):before, .marumaru-loader:not(:required):after {
  background: #e9e9e9;
  content: "x200B";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  border-radius: 50%;
  position: absolute;
  top: 0;
}
.marumaru-loader:not(:required):before {
  -moz-animation: marumaru-loader 2000ms 150ms infinite ease-out;
  -webkit-animation: marumaru-loader 2000ms 150ms infinite ease-out;
  animation: marumaru-loader 2000ms 150ms infinite ease-out;
  left: -1.6em;
}
.marumaru-loader:not(:required):after {
  -moz-animation: marumaru-loader 2000ms 450ms infinite ease-out;
  -webkit-animation: marumaru-loader 2000ms 450ms infinite ease-out;
  animation: marumaru-loader 2000ms 450ms infinite ease-out;
  right: -1.6em;
}

.pulse-loader:not(:required) {
  display: inline-block;
  width: 50px;
  height: 50px;
  -moz-animation: pulse-loader 0.7s linear infinite alternate;
  -webkit-animation: pulse-loader 0.7s linear infinite alternate;
  animation: pulse-loader 0.7s linear infinite alternate;
  border: 0px solid #a2d538;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  overflow: hidden;
  text-indent: 50px;
}

@-moz-keyframes pulse-loader {
  0% {
    -moz-box-shadow: #a2d538 0 0 0px 20px;
    box-shadow: #a2d538 0 0 0px 20px;
  }
  40% {
    -moz-box-shadow: none;
    box-shadow: none;
  }
  100% {
    -moz-box-shadow: #a2d538 0 0 0px 25px inset;
    box-shadow: #a2d538 0 0 0px 25px inset;
  }
}
@-webkit-keyframes pulse-loader {
  0% {
    -webkit-box-shadow: #a2d538 0 0 0px 20px;
    box-shadow: #a2d538 0 0 0px 20px;
  }
  40% {
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  100% {
    -webkit-box-shadow: #a2d538 0 0 0px 25px inset;
    box-shadow: #a2d538 0 0 0px 25px inset;
  }
}
@keyframes pulse-loader {
  0% {
    -moz-box-shadow: #a2d538 0 0 0px 20px;
    -webkit-box-shadow: #a2d538 0 0 0px 20px;
    box-shadow: #a2d538 0 0 0px 20px;
  }
  40% {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  100% {
    -moz-box-shadow: #a2d538 0 0 0px 25px inset;
    -webkit-box-shadow: #a2d538 0 0 0px 25px inset;
    box-shadow: #a2d538 0 0 0px 25px inset;
  }
}
.inner-circles-loader:not(:required) {
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  background: rgba(25, 165, 152, 0.5);
  border-radius: 50%;
  overflow: hidden;
  text-indent: -9999px;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
}
.inner-circles-loader:not(:required):before, .inner-circles-loader:not(:required):after {
  content: "";
  position: absolute;
  top: 0;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.inner-circles-loader:not(:required):before {
  -moz-animation: inner-circles-loader 3s infinite;
  -webkit-animation: inner-circles-loader 3s infinite;
  animation: inner-circles-loader 3s infinite;
  -moz-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  left: 0;
  background: #c7efcf;
}
.inner-circles-loader:not(:required):after {
  -moz-animation: inner-circles-loader 3s 0.2s reverse infinite;
  -webkit-animation: inner-circles-loader 3s 0.2s reverse infinite;
  animation: inner-circles-loader 3s 0.2s reverse infinite;
  -moz-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  right: 0;
  background: #eef5db;
}

@-moz-keyframes inner-circles-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@-webkit-keyframes inner-circles-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@keyframes inner-circles-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@-moz-keyframes hexdots-loader {
  0% {
    -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  8.33% {
    -moz-box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  16.67% {
    -moz-box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  25% {
    -moz-box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  33.33% {
    -moz-box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  41.67% {
    -moz-box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
  }
  50% {
    -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
  }
  58.33% {
    -moz-box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
    box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
  }
  66.67% {
    -moz-box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
    box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
  }
  75% {
    -moz-box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
    box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
  }
  83.33% {
    -moz-box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
    box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
  }
  91.67% {
    -moz-box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  100% {
    -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
}
@-webkit-keyframes hexdots-loader {
  0% {
    -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  8.33% {
    -webkit-box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  16.67% {
    -webkit-box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  25% {
    -webkit-box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  33.33% {
    -webkit-box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  41.67% {
    -webkit-box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
  }
  50% {
    -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
  }
  58.33% {
    -webkit-box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
    box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
  }
  66.67% {
    -webkit-box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
    box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
  }
  75% {
    -webkit-box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
    box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
  }
  83.33% {
    -webkit-box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
    box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
  }
  91.67% {
    -webkit-box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  100% {
    -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
}
@keyframes hexdots-loader {
  0% {
    -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  8.33% {
    -moz-box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  16.67% {
    -moz-box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  25% {
    -moz-box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  33.33% {
    -moz-box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  41.67% {
    -moz-box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px, #999 -26px -15px 0 7px;
  }
  50% {
    -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
    -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px, #999 0 -30px 0 7px;
  }
  58.33% {
    -moz-box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
    box-shadow: #a2d538 26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px, #999 26px -15px 0 7px;
  }
  66.67% {
    -moz-box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
    -webkit-box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
    box-shadow: #a2d538 26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px, #999 26px 15px 0 7px;
  }
  75% {
    -moz-box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
    -webkit-box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
    box-shadow: #a2d538 0 30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
  }
  83.33% {
    -moz-box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
    -webkit-box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
    box-shadow: #a2d538 -26px 15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px 15px 0 7px;
  }
  91.67% {
    -moz-box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 -26px -15px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
  100% {
    -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
    box-shadow: #a2d538 0 -30px 0 7px, #999 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 -26px 15px 0 7px, #999 -26px -15px 0 7px;
  }
}
/* :not(:required) hides this rule from IE9 and below */
.hexdots-loader:not(:required) {
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  display: inline-block;
  width: 7px;
  height: 7px;
  background: transparent;
  border-radius: 100%;
  -moz-box-shadow: #a2d538 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
  -webkit-box-shadow: #a2d538 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
  box-shadow: #a2d538 0 -30px 0 7px, #999 26px -15px 0 7px, #999 26px 15px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px, #999 0 30px 0 7px;
  -moz-animation: hexdots-loader 5s infinite ease-in-out;
  -webkit-animation: hexdots-loader 5s infinite ease-in-out;
  animation: hexdots-loader 5s infinite ease-in-out;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

@-moz-keyframes plus-loader-top {
  2.5% {
    background: #f86;
    -moz-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  13.75% {
    background: #ff430d;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  13.76% {
    background: #ffae0d;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  25% {
    background: #fc6;
    -moz-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  27.5% {
    background: #fc6;
    -moz-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  41.25% {
    background: #ffae0d;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  41.26% {
    background: #2cc642;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    background: #6d7;
    -moz-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
  52.5% {
    background: #6d7;
    -moz-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  63.75% {
    background: #2cc642;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  63.76% {
    background: #1386d2;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  75% {
    background: #4ae;
    -moz-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  77.5% {
    background: #4ae;
    -moz-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  91.25% {
    background: #1386d2;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  91.26% {
    background: #ff430d;
    -moz-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    background: #f86;
    -moz-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@-webkit-keyframes plus-loader-top {
  2.5% {
    background: #f86;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  13.75% {
    background: #ff430d;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  13.76% {
    background: #ffae0d;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  25% {
    background: #fc6;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  27.5% {
    background: #fc6;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  41.25% {
    background: #ffae0d;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  41.26% {
    background: #2cc642;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    background: #6d7;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
  52.5% {
    background: #6d7;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  63.75% {
    background: #2cc642;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  63.76% {
    background: #1386d2;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  75% {
    background: #4ae;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  77.5% {
    background: #4ae;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  91.25% {
    background: #1386d2;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  91.26% {
    background: #ff430d;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    background: #f86;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@keyframes plus-loader-top {
  2.5% {
    background: #f86;
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -moz-animation-timing-function: ease-in;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  13.75% {
    background: #ff430d;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  13.76% {
    background: #ffae0d;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-out;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  25% {
    background: #fc6;
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  27.5% {
    background: #fc6;
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -moz-animation-timing-function: ease-in;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  41.25% {
    background: #ffae0d;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  41.26% {
    background: #2cc642;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-out;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    background: #6d7;
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
  52.5% {
    background: #6d7;
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -moz-animation-timing-function: ease-in;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  63.75% {
    background: #2cc642;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  63.76% {
    background: #1386d2;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-out;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  75% {
    background: #4ae;
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }
  77.5% {
    background: #4ae;
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -moz-animation-timing-function: ease-in;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  91.25% {
    background: #1386d2;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  91.26% {
    background: #ff430d;
    -moz-transform: rotateY(90deg);
    -ms-transform: rotateY(90deg);
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
    -moz-animation-timing-function: ease-in;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    background: #f86;
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@-moz-keyframes plus-loader-bottom {
  0% {
    background: #fc6;
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  50% {
    background: #fc6;
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  75% {
    background: #4ae;
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  100% {
    background: #4ae;
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@-webkit-keyframes plus-loader-bottom {
  0% {
    background: #fc6;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  50% {
    background: #fc6;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  75% {
    background: #4ae;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  100% {
    background: #4ae;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@keyframes plus-loader-bottom {
  0% {
    background: #fc6;
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  50% {
    background: #fc6;
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  75% {
    background: #4ae;
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  100% {
    background: #4ae;
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@-moz-keyframes plus-loader-background {
  0% {
    background: #f86;
    -moz-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
  }
  25% {
    background: #f86;
    -moz-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  27.5% {
    background: #6d7;
    -moz-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
  }
  50% {
    background: #6d7;
    -moz-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  52.5% {
    background: #6d7;
    -moz-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
  }
  75% {
    background: #6d7;
    -moz-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  77.5% {
    background: #f86;
    -moz-transform: rotateZ(270deg);
    transform: rotateZ(270deg);
  }
  100% {
    background: #f86;
    -moz-transform: rotateZ(270deg);
    transform: rotateZ(270deg);
    -moz-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@-webkit-keyframes plus-loader-background {
  0% {
    background: #f86;
    -webkit-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
  }
  25% {
    background: #f86;
    -webkit-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  27.5% {
    background: #6d7;
    -webkit-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
  }
  50% {
    background: #6d7;
    -webkit-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  52.5% {
    background: #6d7;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
  }
  75% {
    background: #6d7;
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  77.5% {
    background: #f86;
    -webkit-transform: rotateZ(270deg);
    transform: rotateZ(270deg);
  }
  100% {
    background: #f86;
    -webkit-transform: rotateZ(270deg);
    transform: rotateZ(270deg);
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
@keyframes plus-loader-background {
  0% {
    background: #f86;
    -moz-transform: rotateZ(180deg);
    -ms-transform: rotateZ(180deg);
    -webkit-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
  }
  25% {
    background: #f86;
    -moz-transform: rotateZ(180deg);
    -ms-transform: rotateZ(180deg);
    -webkit-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  27.5% {
    background: #6d7;
    -moz-transform: rotateZ(90deg);
    -ms-transform: rotateZ(90deg);
    -webkit-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
  }
  50% {
    background: #6d7;
    -moz-transform: rotateZ(90deg);
    -ms-transform: rotateZ(90deg);
    -webkit-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  52.5% {
    background: #6d7;
    -moz-transform: rotateZ(0deg);
    -ms-transform: rotateZ(0deg);
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
  }
  75% {
    background: #6d7;
    -moz-transform: rotateZ(0deg);
    -ms-transform: rotateZ(0deg);
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
  77.5% {
    background: #f86;
    -moz-transform: rotateZ(270deg);
    -ms-transform: rotateZ(270deg);
    -webkit-transform: rotateZ(270deg);
    transform: rotateZ(270deg);
  }
  100% {
    background: #f86;
    -moz-transform: rotateZ(270deg);
    -ms-transform: rotateZ(270deg);
    -webkit-transform: rotateZ(270deg);
    transform: rotateZ(270deg);
    -moz-animation-timing-function: step-start;
    -webkit-animation-timing-function: step-start;
    animation-timing-function: step-start;
  }
}
/* :not(:required) hides this rule from IE9 and below */
.plus-loader:not(:required) {
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  display: inline-block;
  width: 48px;
  height: 48px;
  background: #f86;
  -moz-border-radius: 24px;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  -moz-transform: rotateZ(90deg);
  -ms-transform: rotateZ(90deg);
  -webkit-transform: rotateZ(90deg);
  transform: rotateZ(90deg);
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -moz-animation: plus-loader-background 3s infinite ease-in-out;
  -webkit-animation: plus-loader-background 3s infinite ease-in-out;
  animation: plus-loader-background 3s infinite ease-in-out;
}
.plus-loader:not(:required)::after {
  background: #f86;
  -moz-border-radius: 24px 0 0 24px;
  -webkit-border-radius: 24px;
  border-radius: 24px 0 0 24px;
  content: "";
  position: absolute;
  right: 50%;
  top: 0;
  width: 50%;
  height: 100%;
  -moz-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -moz-animation: plus-loader-top 3s infinite linear;
  -webkit-animation: plus-loader-top 3s infinite linear;
  animation: plus-loader-top 3s infinite linear;
}
.plus-loader:not(:required)::before {
  background: #fc6;
  -moz-border-radius: 24px 0 0 24px;
  -webkit-border-radius: 24px;
  border-radius: 24px 0 0 24px;
  content: "";
  position: absolute;
  right: 50%;
  top: 0;
  width: 50%;
  height: 100%;
  -moz-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -moz-animation: plus-loader-bottom 3s infinite linear;
  -webkit-animation: plus-loader-bottom 3s infinite linear;
  animation: plus-loader-bottom 3s infinite linear;
}

@-moz-keyframes circles-loader {
  0% {
    -moz-transform: rotate(-720deg);
    transform: rotate(-720deg);
  }
  50% {
    -moz-transform: rotate(720deg);
    transform: rotate(720deg);
  }
}
@-webkit-keyframes circles-loader {
  0% {
    -webkit-transform: rotate(-720deg);
    transform: rotate(-720deg);
  }
  50% {
    -webkit-transform: rotate(720deg);
    transform: rotate(720deg);
  }
}
@keyframes circles-loader {
  0% {
    -moz-transform: rotate(-720deg);
    -ms-transform: rotate(-720deg);
    -webkit-transform: rotate(-720deg);
    transform: rotate(-720deg);
  }
  50% {
    -moz-transform: rotate(720deg);
    -ms-transform: rotate(720deg);
    -webkit-transform: rotate(720deg);
    transform: rotate(720deg);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.circles-loader:not(:required) {
  position: relative;
  text-indent: -9999px;
  display: inline-block;
  width: 25px;
  height: 25px;
  background: rgba(255, 204, 51, 0.9);
  border-radius: 100%;
  -moz-animation: circles-loader 3s infinite ease-in-out;
  -webkit-animation: circles-loader 3s infinite ease-in-out;
  animation: circles-loader 3s infinite ease-in-out;
  -moz-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}
.circles-loader:not(:required)::before {
  background: rgba(255, 102, 0, 0.6);
  border-radius: 100%;
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  top: 18.75px;
  left: -10.82532px;
}
.circles-loader:not(:required)::after {
  background: rgba(255, 51, 0, 0.4);
  border-radius: 100%;
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  top: 18.75px;
  left: 10.82532px;
}

@-moz-keyframes dots-loader {
  0% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  8.33% {
    -moz-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  16.67% {
    -moz-box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  25% {
    -moz-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  33.33% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
  }
  41.67% {
    -moz-box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  50% {
    -moz-box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  58.33% {
    -moz-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  66.67% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  75% {
    -moz-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  83.33% {
    -moz-box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
  }
  91.67% {
    -moz-box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  100% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
}
@-webkit-keyframes dots-loader {
  0% {
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  8.33% {
    -webkit-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  16.67% {
    -webkit-box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  25% {
    -webkit-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  33.33% {
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
  }
  41.67% {
    -webkit-box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  50% {
    -webkit-box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  58.33% {
    -webkit-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  66.67% {
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  75% {
    -webkit-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  83.33% {
    -webkit-box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
  }
  91.67% {
    -webkit-box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  100% {
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
}
@keyframes dots-loader {
  0% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  8.33% {
    -moz-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    -webkit-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  16.67% {
    -moz-box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    -webkit-box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 14px 14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  25% {
    -moz-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
    -webkit-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  33.33% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae -14px -14px 0 7px;
  }
  41.67% {
    -moz-box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    -webkit-box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  50% {
    -moz-box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    -webkit-box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  58.33% {
    -moz-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    -webkit-box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 -14px 14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  66.67% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 -14px -14px 0 7px, #6d7 -14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  75% {
    -moz-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
    -webkit-box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
    box-shadow: #f86 14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px -14px 0 7px, #4ae 14px -14px 0 7px;
  }
  83.33% {
    -moz-box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
    -webkit-box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
    box-shadow: #f86 14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae 14px 14px 0 7px;
  }
  91.67% {
    -moz-box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    -webkit-box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px 14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
  100% {
    -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
    box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  }
}
/* :not(:required) hides this rule from IE9 and below */
.dots-loader:not(:required) {
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  display: inline-block;
  width: 7px;
  height: 7px;
  background: transparent;
  border-radius: 100%;
  -moz-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  -webkit-box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  box-shadow: #f86 -14px -14px 0 7px, #fc6 14px -14px 0 7px, #6d7 14px 14px 0 7px, #4ae -14px 14px 0 7px;
  -moz-animation: dots-loader 5s infinite ease-in-out;
  -webkit-animation: dots-loader 5s infinite ease-in-out;
  animation: dots-loader 5s infinite ease-in-out;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

@-moz-keyframes flower-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
    -moz-box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
    box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  }
  50% {
    -moz-transform: rotate(1080deg);
    transform: rotate(1080deg);
    -moz-box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
    box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
  }
}
@-webkit-keyframes flower-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
    box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  }
  50% {
    -webkit-transform: rotate(1080deg);
    transform: rotate(1080deg);
    -webkit-box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
    box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
  }
}
@keyframes flower-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -moz-box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
    -webkit-box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
    box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  }
  50% {
    -moz-transform: rotate(1080deg);
    -ms-transform: rotate(1080deg);
    -webkit-transform: rotate(1080deg);
    transform: rotate(1080deg);
    -moz-box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
    -webkit-box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
    box-shadow: white 0 0 15px 0, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px;
  }
}
/* :not(:required) hides this rule from IE9 and below */
.flower-loader:not(:required) {
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  display: inline-block;
  width: 16px;
  height: 16px;
  background: #e96;
  border-radius: 100%;
  -moz-box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  -webkit-box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  box-shadow: white 0 0 15px 0, #fd8 -12px -12px 0 4px, #fd8 12px -12px 0 4px, #fd8 12px 12px 0 4px, #fd8 -12px 12px 0 4px;
  -moz-animation: flower-loader 5s infinite ease-in-out;
  -webkit-animation: flower-loader 5s infinite ease-in-out;
  animation: flower-loader 5s infinite ease-in-out;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

@-moz-keyframes whirly-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes whirly-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes whirly-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.whirly-loader:not(:required) {
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  display: inline-block;
  width: 8px;
  height: 8px;
  background: transparent;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -moz-box-shadow: #e66 0px 26px 0 6px, #e66 0.90971px 26.05079px 0 5.93333px, #e66 1.82297px 26.06967px 0 5.86667px, #e66 2.73865px 26.05647px 0 5.8px, #e66 3.65561px 26.01104px 0 5.73333px, #e66 4.57274px 25.93327px 0 5.66667px, #e66 5.48887px 25.8231px 0 5.6px, #e66 6.40287px 25.68049px 0 5.53333px, #e66 7.31358px 25.50548px 0 5.46667px, #e66 8.21985px 25.2981px 0 5.4px, #e66 9.12054px 25.05847px 0 5.33333px, #e66 10.01448px 24.78672px 0 5.26667px, #e66 10.90054px 24.48302px 0 5.2px, #e66 11.77757px 24.1476px 0 5.13333px, #e66 12.64443px 23.78072px 0 5.06667px, #e66 13.5px 23.38269px 0 5px, #e66 14.34315px 22.95384px 0 4.93333px, #e66 15.17277px 22.49455px 0 4.86667px, #e66 15.98776px 22.00526px 0 4.8px, #e66 16.78704px 21.48643px 0 4.73333px, #e66 17.56953px 20.93855px 0 4.66667px, #e66 18.33418px 20.36217px 0 4.6px, #e66 19.07995px 19.75787px 0 4.53333px, #e66 19.80582px 19.12626px 0 4.46667px, #e66 20.5108px 18.468px 0 4.4px, #e66 21.1939px 17.78379px 0 4.33333px, #e66 21.85416px 17.07434px 0 4.26667px, #e66 22.49067px 16.34043px 0 4.2px, #e66 23.10251px 15.58284px 0 4.13333px, #e66 23.68881px 14.80241px 0 4.06667px, #e66 24.24871px 14px 0 4px, #e66 24.7814px 13.1765px 0 3.93333px, #e66 25.28607px 12.33284px 0 3.86667px, #e66 25.76198px 11.46997px 0 3.8px, #e66 26.2084px 10.58888px 0 3.73333px, #e66 26.62462px 9.69057px 0 3.66667px, #e66 27.01001px 8.77608px 0 3.6px, #e66 27.36392px 7.84648px 0 3.53333px, #e66 27.68577px 6.90284px 0 3.46667px, #e66 27.97502px 5.94627px 0 3.4px, #e66 28.23116px 4.97791px 0 3.33333px, #e66 28.4537px 3.99891px 0 3.26667px, #e66 28.64223px 3.01042px 0 3.2px, #e66 28.79635px 2.01364px 0 3.13333px, #e66 28.91571px 1.00976px 0 3.06667px, #e66 29px 0px 0 3px, #e66 29.04896px -1.01441px 0 2.93333px, #e66 29.06237px -2.03224px 0 2.86667px, #e66 29.04004px -3.05223px 0 2.8px, #e66 28.98185px -4.07313px 0 2.73333px, #e66 28.88769px -5.09368px 0 2.66667px, #e66 28.75754px -6.1126px 0 2.6px, #e66 28.59138px -7.12863px 0 2.53333px, #e66 28.38926px -8.14049px 0 2.46667px, #e66 28.15127px -9.1469px 0 2.4px, #e66 27.87755px -10.1466px 0 2.33333px, #e66 27.56827px -11.1383px 0 2.26667px, #e66 27.22365px -12.12075px 0 2.2px, #e66 26.84398px -13.09268px 0 2.13333px, #e66 26.42956px -14.05285px 0 2.06667px, #e66 25.98076px -15px 0 2px, #e66 25.49798px -15.93291px 0 1.93333px, #e66 24.98167px -16.85035px 0 1.86667px, #e66 24.43231px -17.75111px 0 1.8px, #e66 23.85046px -18.63402px 0 1.73333px, #e66 23.23668px -19.49789px 0 1.66667px, #e66 22.5916px -20.34157px 0 1.6px, #e66 21.91589px -21.16393px 0 1.53333px, #e66 21.21024px -21.96384px 0 1.46667px, #e66 20.4754px -22.74023px 0 1.4px, #e66 19.71215px -23.49203px 0 1.33333px, #e66 18.92133px -24.2182px 0 1.26667px, #e66 18.10379px -24.91772px 0 1.2px, #e66 17.26042px -25.58963px 0 1.13333px, #e66 16.39217px -26.23295px 0 1.06667px, #e66 15.5px -26.84679px 0 1px, #e66 14.58492px -27.43024px 0 0.93333px, #e66 13.64796px -27.98245px 0 0.86667px, #e66 12.69018px -28.50262px 0 0.8px, #e66 11.7127px -28.98995px 0 0.73333px, #e66 10.71663px -29.4437px 0 0.66667px, #e66 9.70313px -29.86317px 0 0.6px, #e66 8.67339px -30.2477px 0 0.53333px, #e66 7.6286px -30.59666px 0 0.46667px, #e66 6.57001px -30.90946px 0 0.4px, #e66 5.49886px -31.18558px 0 0.33333px, #e66 4.41643px -31.42451px 0 0.26667px, #e66 3.32401px -31.6258px 0 0.2px, #e66 2.22291px -31.78904px 0 0.13333px, #e66 1.11446px -31.91388px 0 0.06667px, #e66 0px -32px 0 0px, #e66 -1.11911px -32.04713px 0 -0.06667px, #e66 -2.24151px -32.05506px 0 -0.13333px, #e66 -3.36582px -32.02361px 0 -0.2px, #e66 -4.49065px -31.95265px 0 -0.26667px, #e66 -5.61462px -31.84212px 0 -0.33333px, #e66 -6.73634px -31.69198px 0 -0.4px, #e66 -7.8544px -31.50227px 0 -0.46667px, #e66 -8.9674px -31.27305px 0 -0.53333px, #e66 -10.07395px -31.00444px 0 -0.6px, #e66 -11.17266px -30.69663px 0 -0.66667px, #e66 -12.26212px -30.34982px 0 -0.73333px, #e66 -13.34096px -29.96429px 0 -0.8px, #e66 -14.4078px -29.54036px 0 -0.86667px, #e66 -15.46126px -29.07841px 0 -0.93333px, #e66 -16.5px -28.57884px 0 -1px, #e66 -17.52266px -28.04212px 0 -1.06667px, #e66 -18.52792px -27.46878px 0 -1.13333px, #e66 -19.51447px -26.85936px 0 -1.2px, #e66 -20.48101px -26.21449px 0 -1.26667px, #e66 -21.42625px -25.53481px 0 -1.33333px, #e66 -22.34896px -24.82104px 0 -1.4px, #e66 -23.2479px -24.07391px 0 -1.46667px, #e66 -24.12186px -23.29421px 0 -1.53333px, #e66 -24.96967px -22.48279px 0 -1.6px, #e66 -25.79016px -21.64052px 0 -1.66667px, #e66 -26.58223px -20.76831px 0 -1.73333px, #e66 -27.34477px -19.86714px 0 -1.8px, #e66 -28.07674px -18.938px 0 -1.86667px, #e66 -28.7771px -17.98193px 0 -1.93333px, #e66 -29.44486px -17px 0 -2px, #e66 -30.07908px -15.99333px 0 -2.06667px, #e66 -30.67884px -14.96307px 0 -2.13333px, #e66 -31.24325px -13.91039px 0 -2.2px, #e66 -31.7715px -12.83652px 0 -2.26667px, #e66 -32.26278px -11.74269px 0 -2.33333px, #e66 -32.71634px -10.63018px 0 -2.4px, #e66 -33.13149px -9.5003px 0 -2.46667px, #e66 -33.50755px -8.35437px 0 -2.53333px, #e66 -33.84391px -7.19374px 0 -2.6px, #e66 -34.14px -6.0198px 0 -2.66667px, #e66 -34.39531px -4.83395px 0 -2.73333px, #e66 -34.60936px -3.63759px 0 -2.8px, #e66 -34.78173px -2.43218px 0 -2.86667px, #e66 -34.91205px -1.21916px 0 -2.93333px, #e66 -35px 0px 0 -3px, #e66 -35.04531px 1.22381px 0 -3.06667px, #e66 -35.04775px 2.45078px 0 -3.13333px, #e66 -35.00717px 3.6794px 0 -3.2px, #e66 -34.92345px 4.90817px 0 -3.26667px, #e66 -34.79654px 6.13557px 0 -3.33333px, #e66 -34.62643px 7.36007px 0 -3.4px, #e66 -34.41316px 8.58016px 0 -3.46667px, #e66 -34.15683px 9.79431px 0 -3.53333px, #e66 -33.85761px 11.001px 0 -3.6px, #e66 -33.5157px 12.19872px 0 -3.66667px, #e66 -33.13137px 13.38594px 0 -3.73333px, #e66 -32.70493px 14.56117px 0 -3.8px, #e66 -32.23675px 15.72291px 0 -3.86667px, #e66 -31.72725px 16.86968px 0 -3.93333px, #e66 -31.17691px 18px 0 -4px, #e66 -30.58627px 19.11242px 0 -4.06667px, #e66 -29.95589px 20.2055px 0 -4.13333px, #e66 -29.28642px 21.27783px 0 -4.2px, #e66 -28.57852px 22.32799px 0 -4.26667px, #e66 -27.83295px 23.35462px 0 -4.33333px, #e66 -27.05047px 24.35635px 0 -4.4px, #e66 -26.23192px 25.33188px 0 -4.46667px, #e66 -25.37819px 26.27988px 0 -4.53333px, #e66 -24.49018px 27.1991px 0 -4.6px, #e66 -23.56888px 28.0883px 0 -4.66667px, #e66 -22.6153px 28.94626px 0 -4.73333px, #e66 -21.6305px 29.77183px 0 -4.8px, #e66 -20.61558px 30.56385px 0 -4.86667px, #e66 -19.57168px 31.32124px 0 -4.93333px, #e66 -18.5px 32.04294px 0 -5px, #e66 -17.40175px 32.72792px 0 -5.06667px, #e66 -16.27818px 33.37522px 0 -5.13333px, #e66 -15.1306px 33.98389px 0 -5.2px, #e66 -13.96034px 34.55305px 0 -5.26667px, #e66 -12.76875px 35.08186px 0 -5.33333px, #e66 -11.55724px 35.56951px 0 -5.4px, #e66 -10.32721px 36.01527px 0 -5.46667px, #e66 -9.08014px 36.41843px 0 -5.53333px, #e66 -7.81748px 36.77835px 0 -5.6px, #e66 -6.54075px 37.09443px 0 -5.66667px, #e66 -5.25147px 37.36612px 0 -5.73333px, #e66 -3.95118px 37.59293px 0 -5.8px, #e66 -2.64145px 37.77443px 0 -5.86667px, #e66 -1.32385px 37.91023px 0 -5.93333px;
  -webkit-box-shadow: #e66 0px 26px 0 6px, #e66 0.90971px 26.05079px 0 5.93333px, #e66 1.82297px 26.06967px 0 5.86667px, #e66 2.73865px 26.05647px 0 5.8px, #e66 3.65561px 26.01104px 0 5.73333px, #e66 4.57274px 25.93327px 0 5.66667px, #e66 5.48887px 25.8231px 0 5.6px, #e66 6.40287px 25.68049px 0 5.53333px, #e66 7.31358px 25.50548px 0 5.46667px, #e66 8.21985px 25.2981px 0 5.4px, #e66 9.12054px 25.05847px 0 5.33333px, #e66 10.01448px 24.78672px 0 5.26667px, #e66 10.90054px 24.48302px 0 5.2px, #e66 11.77757px 24.1476px 0 5.13333px, #e66 12.64443px 23.78072px 0 5.06667px, #e66 13.5px 23.38269px 0 5px, #e66 14.34315px 22.95384px 0 4.93333px, #e66 15.17277px 22.49455px 0 4.86667px, #e66 15.98776px 22.00526px 0 4.8px, #e66 16.78704px 21.48643px 0 4.73333px, #e66 17.56953px 20.93855px 0 4.66667px, #e66 18.33418px 20.36217px 0 4.6px, #e66 19.07995px 19.75787px 0 4.53333px, #e66 19.80582px 19.12626px 0 4.46667px, #e66 20.5108px 18.468px 0 4.4px, #e66 21.1939px 17.78379px 0 4.33333px, #e66 21.85416px 17.07434px 0 4.26667px, #e66 22.49067px 16.34043px 0 4.2px, #e66 23.10251px 15.58284px 0 4.13333px, #e66 23.68881px 14.80241px 0 4.06667px, #e66 24.24871px 14px 0 4px, #e66 24.7814px 13.1765px 0 3.93333px, #e66 25.28607px 12.33284px 0 3.86667px, #e66 25.76198px 11.46997px 0 3.8px, #e66 26.2084px 10.58888px 0 3.73333px, #e66 26.62462px 9.69057px 0 3.66667px, #e66 27.01001px 8.77608px 0 3.6px, #e66 27.36392px 7.84648px 0 3.53333px, #e66 27.68577px 6.90284px 0 3.46667px, #e66 27.97502px 5.94627px 0 3.4px, #e66 28.23116px 4.97791px 0 3.33333px, #e66 28.4537px 3.99891px 0 3.26667px, #e66 28.64223px 3.01042px 0 3.2px, #e66 28.79635px 2.01364px 0 3.13333px, #e66 28.91571px 1.00976px 0 3.06667px, #e66 29px 0px 0 3px, #e66 29.04896px -1.01441px 0 2.93333px, #e66 29.06237px -2.03224px 0 2.86667px, #e66 29.04004px -3.05223px 0 2.8px, #e66 28.98185px -4.07313px 0 2.73333px, #e66 28.88769px -5.09368px 0 2.66667px, #e66 28.75754px -6.1126px 0 2.6px, #e66 28.59138px -7.12863px 0 2.53333px, #e66 28.38926px -8.14049px 0 2.46667px, #e66 28.15127px -9.1469px 0 2.4px, #e66 27.87755px -10.1466px 0 2.33333px, #e66 27.56827px -11.1383px 0 2.26667px, #e66 27.22365px -12.12075px 0 2.2px, #e66 26.84398px -13.09268px 0 2.13333px, #e66 26.42956px -14.05285px 0 2.06667px, #e66 25.98076px -15px 0 2px, #e66 25.49798px -15.93291px 0 1.93333px, #e66 24.98167px -16.85035px 0 1.86667px, #e66 24.43231px -17.75111px 0 1.8px, #e66 23.85046px -18.63402px 0 1.73333px, #e66 23.23668px -19.49789px 0 1.66667px, #e66 22.5916px -20.34157px 0 1.6px, #e66 21.91589px -21.16393px 0 1.53333px, #e66 21.21024px -21.96384px 0 1.46667px, #e66 20.4754px -22.74023px 0 1.4px, #e66 19.71215px -23.49203px 0 1.33333px, #e66 18.92133px -24.2182px 0 1.26667px, #e66 18.10379px -24.91772px 0 1.2px, #e66 17.26042px -25.58963px 0 1.13333px, #e66 16.39217px -26.23295px 0 1.06667px, #e66 15.5px -26.84679px 0 1px, #e66 14.58492px -27.43024px 0 0.93333px, #e66 13.64796px -27.98245px 0 0.86667px, #e66 12.69018px -28.50262px 0 0.8px, #e66 11.7127px -28.98995px 0 0.73333px, #e66 10.71663px -29.4437px 0 0.66667px, #e66 9.70313px -29.86317px 0 0.6px, #e66 8.67339px -30.2477px 0 0.53333px, #e66 7.6286px -30.59666px 0 0.46667px, #e66 6.57001px -30.90946px 0 0.4px, #e66 5.49886px -31.18558px 0 0.33333px, #e66 4.41643px -31.42451px 0 0.26667px, #e66 3.32401px -31.6258px 0 0.2px, #e66 2.22291px -31.78904px 0 0.13333px, #e66 1.11446px -31.91388px 0 0.06667px, #e66 0px -32px 0 0px, #e66 -1.11911px -32.04713px 0 -0.06667px, #e66 -2.24151px -32.05506px 0 -0.13333px, #e66 -3.36582px -32.02361px 0 -0.2px, #e66 -4.49065px -31.95265px 0 -0.26667px, #e66 -5.61462px -31.84212px 0 -0.33333px, #e66 -6.73634px -31.69198px 0 -0.4px, #e66 -7.8544px -31.50227px 0 -0.46667px, #e66 -8.9674px -31.27305px 0 -0.53333px, #e66 -10.07395px -31.00444px 0 -0.6px, #e66 -11.17266px -30.69663px 0 -0.66667px, #e66 -12.26212px -30.34982px 0 -0.73333px, #e66 -13.34096px -29.96429px 0 -0.8px, #e66 -14.4078px -29.54036px 0 -0.86667px, #e66 -15.46126px -29.07841px 0 -0.93333px, #e66 -16.5px -28.57884px 0 -1px, #e66 -17.52266px -28.04212px 0 -1.06667px, #e66 -18.52792px -27.46878px 0 -1.13333px, #e66 -19.51447px -26.85936px 0 -1.2px, #e66 -20.48101px -26.21449px 0 -1.26667px, #e66 -21.42625px -25.53481px 0 -1.33333px, #e66 -22.34896px -24.82104px 0 -1.4px, #e66 -23.2479px -24.07391px 0 -1.46667px, #e66 -24.12186px -23.29421px 0 -1.53333px, #e66 -24.96967px -22.48279px 0 -1.6px, #e66 -25.79016px -21.64052px 0 -1.66667px, #e66 -26.58223px -20.76831px 0 -1.73333px, #e66 -27.34477px -19.86714px 0 -1.8px, #e66 -28.07674px -18.938px 0 -1.86667px, #e66 -28.7771px -17.98193px 0 -1.93333px, #e66 -29.44486px -17px 0 -2px, #e66 -30.07908px -15.99333px 0 -2.06667px, #e66 -30.67884px -14.96307px 0 -2.13333px, #e66 -31.24325px -13.91039px 0 -2.2px, #e66 -31.7715px -12.83652px 0 -2.26667px, #e66 -32.26278px -11.74269px 0 -2.33333px, #e66 -32.71634px -10.63018px 0 -2.4px, #e66 -33.13149px -9.5003px 0 -2.46667px, #e66 -33.50755px -8.35437px 0 -2.53333px, #e66 -33.84391px -7.19374px 0 -2.6px, #e66 -34.14px -6.0198px 0 -2.66667px, #e66 -34.39531px -4.83395px 0 -2.73333px, #e66 -34.60936px -3.63759px 0 -2.8px, #e66 -34.78173px -2.43218px 0 -2.86667px, #e66 -34.91205px -1.21916px 0 -2.93333px, #e66 -35px 0px 0 -3px, #e66 -35.04531px 1.22381px 0 -3.06667px, #e66 -35.04775px 2.45078px 0 -3.13333px, #e66 -35.00717px 3.6794px 0 -3.2px, #e66 -34.92345px 4.90817px 0 -3.26667px, #e66 -34.79654px 6.13557px 0 -3.33333px, #e66 -34.62643px 7.36007px 0 -3.4px, #e66 -34.41316px 8.58016px 0 -3.46667px, #e66 -34.15683px 9.79431px 0 -3.53333px, #e66 -33.85761px 11.001px 0 -3.6px, #e66 -33.5157px 12.19872px 0 -3.66667px, #e66 -33.13137px 13.38594px 0 -3.73333px, #e66 -32.70493px 14.56117px 0 -3.8px, #e66 -32.23675px 15.72291px 0 -3.86667px, #e66 -31.72725px 16.86968px 0 -3.93333px, #e66 -31.17691px 18px 0 -4px, #e66 -30.58627px 19.11242px 0 -4.06667px, #e66 -29.95589px 20.2055px 0 -4.13333px, #e66 -29.28642px 21.27783px 0 -4.2px, #e66 -28.57852px 22.32799px 0 -4.26667px, #e66 -27.83295px 23.35462px 0 -4.33333px, #e66 -27.05047px 24.35635px 0 -4.4px, #e66 -26.23192px 25.33188px 0 -4.46667px, #e66 -25.37819px 26.27988px 0 -4.53333px, #e66 -24.49018px 27.1991px 0 -4.6px, #e66 -23.56888px 28.0883px 0 -4.66667px, #e66 -22.6153px 28.94626px 0 -4.73333px, #e66 -21.6305px 29.77183px 0 -4.8px, #e66 -20.61558px 30.56385px 0 -4.86667px, #e66 -19.57168px 31.32124px 0 -4.93333px, #e66 -18.5px 32.04294px 0 -5px, #e66 -17.40175px 32.72792px 0 -5.06667px, #e66 -16.27818px 33.37522px 0 -5.13333px, #e66 -15.1306px 33.98389px 0 -5.2px, #e66 -13.96034px 34.55305px 0 -5.26667px, #e66 -12.76875px 35.08186px 0 -5.33333px, #e66 -11.55724px 35.56951px 0 -5.4px, #e66 -10.32721px 36.01527px 0 -5.46667px, #e66 -9.08014px 36.41843px 0 -5.53333px, #e66 -7.81748px 36.77835px 0 -5.6px, #e66 -6.54075px 37.09443px 0 -5.66667px, #e66 -5.25147px 37.36612px 0 -5.73333px, #e66 -3.95118px 37.59293px 0 -5.8px, #e66 -2.64145px 37.77443px 0 -5.86667px, #e66 -1.32385px 37.91023px 0 -5.93333px;
  box-shadow: #e66 0px 26px 0 6px, #e66 0.90971px 26.05079px 0 5.93333px, #e66 1.82297px 26.06967px 0 5.86667px, #e66 2.73865px 26.05647px 0 5.8px, #e66 3.65561px 26.01104px 0 5.73333px, #e66 4.57274px 25.93327px 0 5.66667px, #e66 5.48887px 25.8231px 0 5.6px, #e66 6.40287px 25.68049px 0 5.53333px, #e66 7.31358px 25.50548px 0 5.46667px, #e66 8.21985px 25.2981px 0 5.4px, #e66 9.12054px 25.05847px 0 5.33333px, #e66 10.01448px 24.78672px 0 5.26667px, #e66 10.90054px 24.48302px 0 5.2px, #e66 11.77757px 24.1476px 0 5.13333px, #e66 12.64443px 23.78072px 0 5.06667px, #e66 13.5px 23.38269px 0 5px, #e66 14.34315px 22.95384px 0 4.93333px, #e66 15.17277px 22.49455px 0 4.86667px, #e66 15.98776px 22.00526px 0 4.8px, #e66 16.78704px 21.48643px 0 4.73333px, #e66 17.56953px 20.93855px 0 4.66667px, #e66 18.33418px 20.36217px 0 4.6px, #e66 19.07995px 19.75787px 0 4.53333px, #e66 19.80582px 19.12626px 0 4.46667px, #e66 20.5108px 18.468px 0 4.4px, #e66 21.1939px 17.78379px 0 4.33333px, #e66 21.85416px 17.07434px 0 4.26667px, #e66 22.49067px 16.34043px 0 4.2px, #e66 23.10251px 15.58284px 0 4.13333px, #e66 23.68881px 14.80241px 0 4.06667px, #e66 24.24871px 14px 0 4px, #e66 24.7814px 13.1765px 0 3.93333px, #e66 25.28607px 12.33284px 0 3.86667px, #e66 25.76198px 11.46997px 0 3.8px, #e66 26.2084px 10.58888px 0 3.73333px, #e66 26.62462px 9.69057px 0 3.66667px, #e66 27.01001px 8.77608px 0 3.6px, #e66 27.36392px 7.84648px 0 3.53333px, #e66 27.68577px 6.90284px 0 3.46667px, #e66 27.97502px 5.94627px 0 3.4px, #e66 28.23116px 4.97791px 0 3.33333px, #e66 28.4537px 3.99891px 0 3.26667px, #e66 28.64223px 3.01042px 0 3.2px, #e66 28.79635px 2.01364px 0 3.13333px, #e66 28.91571px 1.00976px 0 3.06667px, #e66 29px 0px 0 3px, #e66 29.04896px -1.01441px 0 2.93333px, #e66 29.06237px -2.03224px 0 2.86667px, #e66 29.04004px -3.05223px 0 2.8px, #e66 28.98185px -4.07313px 0 2.73333px, #e66 28.88769px -5.09368px 0 2.66667px, #e66 28.75754px -6.1126px 0 2.6px, #e66 28.59138px -7.12863px 0 2.53333px, #e66 28.38926px -8.14049px 0 2.46667px, #e66 28.15127px -9.1469px 0 2.4px, #e66 27.87755px -10.1466px 0 2.33333px, #e66 27.56827px -11.1383px 0 2.26667px, #e66 27.22365px -12.12075px 0 2.2px, #e66 26.84398px -13.09268px 0 2.13333px, #e66 26.42956px -14.05285px 0 2.06667px, #e66 25.98076px -15px 0 2px, #e66 25.49798px -15.93291px 0 1.93333px, #e66 24.98167px -16.85035px 0 1.86667px, #e66 24.43231px -17.75111px 0 1.8px, #e66 23.85046px -18.63402px 0 1.73333px, #e66 23.23668px -19.49789px 0 1.66667px, #e66 22.5916px -20.34157px 0 1.6px, #e66 21.91589px -21.16393px 0 1.53333px, #e66 21.21024px -21.96384px 0 1.46667px, #e66 20.4754px -22.74023px 0 1.4px, #e66 19.71215px -23.49203px 0 1.33333px, #e66 18.92133px -24.2182px 0 1.26667px, #e66 18.10379px -24.91772px 0 1.2px, #e66 17.26042px -25.58963px 0 1.13333px, #e66 16.39217px -26.23295px 0 1.06667px, #e66 15.5px -26.84679px 0 1px, #e66 14.58492px -27.43024px 0 0.93333px, #e66 13.64796px -27.98245px 0 0.86667px, #e66 12.69018px -28.50262px 0 0.8px, #e66 11.7127px -28.98995px 0 0.73333px, #e66 10.71663px -29.4437px 0 0.66667px, #e66 9.70313px -29.86317px 0 0.6px, #e66 8.67339px -30.2477px 0 0.53333px, #e66 7.6286px -30.59666px 0 0.46667px, #e66 6.57001px -30.90946px 0 0.4px, #e66 5.49886px -31.18558px 0 0.33333px, #e66 4.41643px -31.42451px 0 0.26667px, #e66 3.32401px -31.6258px 0 0.2px, #e66 2.22291px -31.78904px 0 0.13333px, #e66 1.11446px -31.91388px 0 0.06667px, #e66 0px -32px 0 0px, #e66 -1.11911px -32.04713px 0 -0.06667px, #e66 -2.24151px -32.05506px 0 -0.13333px, #e66 -3.36582px -32.02361px 0 -0.2px, #e66 -4.49065px -31.95265px 0 -0.26667px, #e66 -5.61462px -31.84212px 0 -0.33333px, #e66 -6.73634px -31.69198px 0 -0.4px, #e66 -7.8544px -31.50227px 0 -0.46667px, #e66 -8.9674px -31.27305px 0 -0.53333px, #e66 -10.07395px -31.00444px 0 -0.6px, #e66 -11.17266px -30.69663px 0 -0.66667px, #e66 -12.26212px -30.34982px 0 -0.73333px, #e66 -13.34096px -29.96429px 0 -0.8px, #e66 -14.4078px -29.54036px 0 -0.86667px, #e66 -15.46126px -29.07841px 0 -0.93333px, #e66 -16.5px -28.57884px 0 -1px, #e66 -17.52266px -28.04212px 0 -1.06667px, #e66 -18.52792px -27.46878px 0 -1.13333px, #e66 -19.51447px -26.85936px 0 -1.2px, #e66 -20.48101px -26.21449px 0 -1.26667px, #e66 -21.42625px -25.53481px 0 -1.33333px, #e66 -22.34896px -24.82104px 0 -1.4px, #e66 -23.2479px -24.07391px 0 -1.46667px, #e66 -24.12186px -23.29421px 0 -1.53333px, #e66 -24.96967px -22.48279px 0 -1.6px, #e66 -25.79016px -21.64052px 0 -1.66667px, #e66 -26.58223px -20.76831px 0 -1.73333px, #e66 -27.34477px -19.86714px 0 -1.8px, #e66 -28.07674px -18.938px 0 -1.86667px, #e66 -28.7771px -17.98193px 0 -1.93333px, #e66 -29.44486px -17px 0 -2px, #e66 -30.07908px -15.99333px 0 -2.06667px, #e66 -30.67884px -14.96307px 0 -2.13333px, #e66 -31.24325px -13.91039px 0 -2.2px, #e66 -31.7715px -12.83652px 0 -2.26667px, #e66 -32.26278px -11.74269px 0 -2.33333px, #e66 -32.71634px -10.63018px 0 -2.4px, #e66 -33.13149px -9.5003px 0 -2.46667px, #e66 -33.50755px -8.35437px 0 -2.53333px, #e66 -33.84391px -7.19374px 0 -2.6px, #e66 -34.14px -6.0198px 0 -2.66667px, #e66 -34.39531px -4.83395px 0 -2.73333px, #e66 -34.60936px -3.63759px 0 -2.8px, #e66 -34.78173px -2.43218px 0 -2.86667px, #e66 -34.91205px -1.21916px 0 -2.93333px, #e66 -35px 0px 0 -3px, #e66 -35.04531px 1.22381px 0 -3.06667px, #e66 -35.04775px 2.45078px 0 -3.13333px, #e66 -35.00717px 3.6794px 0 -3.2px, #e66 -34.92345px 4.90817px 0 -3.26667px, #e66 -34.79654px 6.13557px 0 -3.33333px, #e66 -34.62643px 7.36007px 0 -3.4px, #e66 -34.41316px 8.58016px 0 -3.46667px, #e66 -34.15683px 9.79431px 0 -3.53333px, #e66 -33.85761px 11.001px 0 -3.6px, #e66 -33.5157px 12.19872px 0 -3.66667px, #e66 -33.13137px 13.38594px 0 -3.73333px, #e66 -32.70493px 14.56117px 0 -3.8px, #e66 -32.23675px 15.72291px 0 -3.86667px, #e66 -31.72725px 16.86968px 0 -3.93333px, #e66 -31.17691px 18px 0 -4px, #e66 -30.58627px 19.11242px 0 -4.06667px, #e66 -29.95589px 20.2055px 0 -4.13333px, #e66 -29.28642px 21.27783px 0 -4.2px, #e66 -28.57852px 22.32799px 0 -4.26667px, #e66 -27.83295px 23.35462px 0 -4.33333px, #e66 -27.05047px 24.35635px 0 -4.4px, #e66 -26.23192px 25.33188px 0 -4.46667px, #e66 -25.37819px 26.27988px 0 -4.53333px, #e66 -24.49018px 27.1991px 0 -4.6px, #e66 -23.56888px 28.0883px 0 -4.66667px, #e66 -22.6153px 28.94626px 0 -4.73333px, #e66 -21.6305px 29.77183px 0 -4.8px, #e66 -20.61558px 30.56385px 0 -4.86667px, #e66 -19.57168px 31.32124px 0 -4.93333px, #e66 -18.5px 32.04294px 0 -5px, #e66 -17.40175px 32.72792px 0 -5.06667px, #e66 -16.27818px 33.37522px 0 -5.13333px, #e66 -15.1306px 33.98389px 0 -5.2px, #e66 -13.96034px 34.55305px 0 -5.26667px, #e66 -12.76875px 35.08186px 0 -5.33333px, #e66 -11.55724px 35.56951px 0 -5.4px, #e66 -10.32721px 36.01527px 0 -5.46667px, #e66 -9.08014px 36.41843px 0 -5.53333px, #e66 -7.81748px 36.77835px 0 -5.6px, #e66 -6.54075px 37.09443px 0 -5.66667px, #e66 -5.25147px 37.36612px 0 -5.73333px, #e66 -3.95118px 37.59293px 0 -5.8px, #e66 -2.64145px 37.77443px 0 -5.86667px, #e66 -1.32385px 37.91023px 0 -5.93333px;
  -moz-animation: whirly-loader 1.25s infinite linear;
  -webkit-animation: whirly-loader 1.25s infinite linear;
  animation: whirly-loader 1.25s infinite linear;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

@-moz-keyframes atebits-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  3% {
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  10% {
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  13% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  20% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  23% {
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  30% {
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  33% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  40% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  43% {
    -moz-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -moz-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  53% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  60% {
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  63% {
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  70% {
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  73% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  80% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  83% {
    -moz-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  90% {
    -moz-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  93% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@-webkit-keyframes atebits-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  3% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  10% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  13% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  20% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  23% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  30% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  33% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  40% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  43% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  53% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  60% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  63% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  70% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  73% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  80% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  83% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  90% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  93% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
@keyframes atebits-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  3% {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  10% {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  13% {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  20% {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  23% {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  30% {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  33% {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  40% {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  43% {
    -moz-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -moz-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  53% {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  60% {
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  63% {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  70% {
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  73% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  80% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  83% {
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  90% {
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  93% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.atebits-loader:not(:required) {
  background: rgba(0, 0, 0, 0.5);
  display: inline-block;
  width: 9px;
  height: 9px;
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  -moz-box-shadow: rgba(0, 0, 0, 0.5) -12px -12px 0 0, rgba(0, 0, 0, 0.5) 12px -12px 0 0, rgba(0, 0, 0, 0.5) -12px 0 0 0, rgba(0, 0, 0, 0.5) 12px 0 0 0, rgba(0, 0, 0, 0.5) -12px 12px 0 0, rgba(0, 0, 0, 0.5) 0 12px 0 0, rgba(0, 0, 0, 0.5) 12px 12px 0 0;
  -webkit-box-shadow: rgba(0, 0, 0, 0.5) -12px -12px 0 0, rgba(0, 0, 0, 0.5) 12px -12px 0 0, rgba(0, 0, 0, 0.5) -12px 0 0 0, rgba(0, 0, 0, 0.5) 12px 0 0 0, rgba(0, 0, 0, 0.5) -12px 12px 0 0, rgba(0, 0, 0, 0.5) 0 12px 0 0, rgba(0, 0, 0, 0.5) 12px 12px 0 0;
  box-shadow: rgba(0, 0, 0, 0.5) -12px -12px 0 0, rgba(0, 0, 0, 0.5) 12px -12px 0 0, rgba(0, 0, 0, 0.5) -12px 0 0 0, rgba(0, 0, 0, 0.5) 12px 0 0 0, rgba(0, 0, 0, 0.5) -12px 12px 0 0, rgba(0, 0, 0, 0.5) 0 12px 0 0, rgba(0, 0, 0, 0.5) 12px 12px 0 0;
  -moz-animation: atebits-loader 8s infinite ease-in-out;
  -webkit-animation: atebits-loader 8s infinite ease-in-out;
  animation: atebits-loader 8s infinite ease-in-out;
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

@-moz-keyframes wobblebar-loader {
  0% {
    left: 4px;
  }
  3% {
    left: 104px;
  }
  6% {
    left: 4px;
  }
  9% {
    left: 104px;
  }
  12% {
    left: 4px;
  }
  15% {
    left: 104px;
  }
  18% {
    left: 32px;
  }
  27% {
    left: 32px;
  }
  30% {
    left: 104px;
  }
  33% {
    left: 4px;
  }
  36% {
    left: 104px;
  }
  39% {
    left: 4px;
  }
  42% {
    left: 104px;
  }
  45% {
    left: 4px;
  }
  48% {
    left: 104px;
  }
  51% {
    left: 52px;
  }
  63% {
    left: 52px;
  }
  66% {
    left: 4px;
  }
  69% {
    left: 104px;
  }
  72% {
    left: 4px;
  }
  75% {
    left: 104px;
  }
  78% {
    left: 4px;
  }
  81% {
    left: 104px;
  }
  84% {
    left: 72px;
  }
  94% {
    left: 72px;
  }
  97% {
    left: 104px;
  }
}
@-webkit-keyframes wobblebar-loader {
  0% {
    left: 4px;
  }
  3% {
    left: 104px;
  }
  6% {
    left: 4px;
  }
  9% {
    left: 104px;
  }
  12% {
    left: 4px;
  }
  15% {
    left: 104px;
  }
  18% {
    left: 32px;
  }
  27% {
    left: 32px;
  }
  30% {
    left: 104px;
  }
  33% {
    left: 4px;
  }
  36% {
    left: 104px;
  }
  39% {
    left: 4px;
  }
  42% {
    left: 104px;
  }
  45% {
    left: 4px;
  }
  48% {
    left: 104px;
  }
  51% {
    left: 52px;
  }
  63% {
    left: 52px;
  }
  66% {
    left: 4px;
  }
  69% {
    left: 104px;
  }
  72% {
    left: 4px;
  }
  75% {
    left: 104px;
  }
  78% {
    left: 4px;
  }
  81% {
    left: 104px;
  }
  84% {
    left: 72px;
  }
  94% {
    left: 72px;
  }
  97% {
    left: 104px;
  }
}
@keyframes wobblebar-loader {
  0% {
    left: 4px;
  }
  3% {
    left: 104px;
  }
  6% {
    left: 4px;
  }
  9% {
    left: 104px;
  }
  12% {
    left: 4px;
  }
  15% {
    left: 104px;
  }
  18% {
    left: 32px;
  }
  27% {
    left: 32px;
  }
  30% {
    left: 104px;
  }
  33% {
    left: 4px;
  }
  36% {
    left: 104px;
  }
  39% {
    left: 4px;
  }
  42% {
    left: 104px;
  }
  45% {
    left: 4px;
  }
  48% {
    left: 104px;
  }
  51% {
    left: 52px;
  }
  63% {
    left: 52px;
  }
  66% {
    left: 4px;
  }
  69% {
    left: 104px;
  }
  72% {
    left: 4px;
  }
  75% {
    left: 104px;
  }
  78% {
    left: 4px;
  }
  81% {
    left: 104px;
  }
  84% {
    left: 72px;
  }
  94% {
    left: 72px;
  }
  97% {
    left: 104px;
  }
}
/* :not(:required) hides this rule from IE9 and below */
.wobblebar-loader:not(:required) {
  background: #a9d;
  -moz-border-radius: 10.66667px;
  -webkit-border-radius: 10.66667px;
  border-radius: 10.66667px;
  display: inline-block;
  overflow: hidden;
  text-indent: -9999px;
  width: 128px;
  height: 21.33333px;
  position: relative;
}
.wobblebar-loader:not(:required)::after {
  -moz-animation: wobblebar-loader 15000ms infinite ease;
  -webkit-animation: wobblebar-loader 15000ms infinite ease;
  animation: wobblebar-loader 15000ms infinite ease;
  background: white;
  display: block;
  -moz-border-radius: 7.11111px;
  -webkit-border-radius: 7.11111px;
  border-radius: 7.11111px;
  content: "";
  position: absolute;
  top: 3.55556px;
  left: 4px;
  width: 21.33333px;
  height: 14.22222px;
}

@-moz-keyframes three-quarters-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes three-quarters-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes three-quarters-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.three-quarters-loader:not(:required) {
  -moz-animation: three-quarters-loader 1250ms infinite linear;
  -webkit-animation: three-quarters-loader 1250ms infinite linear;
  animation: three-quarters-loader 1250ms infinite linear;
  border: 8px solid #38e;
  border-right-color: transparent;
  border-radius: 16px;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  overflow: hidden;
  text-indent: -9999px;
  width: 32px;
  height: 32px;
}

@-moz-keyframes timer-loader {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes timer-loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes timer-loader {
  0% {
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.timer-loader:not(:required) {
  border: 6px solid #c8d;
  -moz-border-radius: 24px;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  width: 48px;
  height: 48px;
}
.timer-loader:not(:required)::before {
  -moz-animation: timer-loader 1250ms infinite linear;
  -webkit-animation: timer-loader 1250ms infinite linear;
  animation: timer-loader 1250ms infinite linear;
  -moz-transform-origin: 3px 3px;
  -ms-transform-origin: 3px 3px;
  -webkit-transform-origin: 3px 3px;
  transform-origin: 3px 3px;
  background: #c8d;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 19.2px;
  left: 15px;
  top: 15px;
}
.timer-loader:not(:required)::after {
  -moz-animation: timer-loader 15000ms infinite linear;
  -webkit-animation: timer-loader 15000ms infinite linear;
  animation: timer-loader 15000ms infinite linear;
  -moz-transform-origin: 3px 3px;
  -ms-transform-origin: 3px 3px;
  -webkit-transform-origin: 3px 3px;
  transform-origin: 3px 3px;
  background: #c8d;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 16px;
  left: 15px;
  top: 15px;
}

@-moz-keyframes gauge-loader {
  0% {
    -moz-transform: rotate(-50deg);
    transform: rotate(-50deg);
  }
  10% {
    -moz-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  20% {
    -moz-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  24% {
    -moz-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  40% {
    -moz-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  54% {
    -moz-transform: rotate(70deg);
    transform: rotate(70deg);
  }
  56% {
    -moz-transform: rotate(78deg);
    transform: rotate(78deg);
  }
  58% {
    -moz-transform: rotate(73deg);
    transform: rotate(73deg);
  }
  60% {
    -moz-transform: rotate(75deg);
    transform: rotate(75deg);
  }
  62% {
    -moz-transform: rotate(70deg);
    transform: rotate(70deg);
  }
  70% {
    -moz-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  80% {
    -moz-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  83% {
    -moz-transform: rotate(25deg);
    transform: rotate(25deg);
  }
  86% {
    -moz-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  89% {
    -moz-transform: rotate(25deg);
    transform: rotate(25deg);
  }
  100% {
    -moz-transform: rotate(-50deg);
    transform: rotate(-50deg);
  }
}
@-webkit-keyframes gauge-loader {
  0% {
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
  }
  10% {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  20% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  24% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  40% {
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  54% {
    -webkit-transform: rotate(70deg);
    transform: rotate(70deg);
  }
  56% {
    -webkit-transform: rotate(78deg);
    transform: rotate(78deg);
  }
  58% {
    -webkit-transform: rotate(73deg);
    transform: rotate(73deg);
  }
  60% {
    -webkit-transform: rotate(75deg);
    transform: rotate(75deg);
  }
  62% {
    -webkit-transform: rotate(70deg);
    transform: rotate(70deg);
  }
  70% {
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  80% {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  83% {
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
  }
  86% {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  89% {
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
  }
  100% {
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
  }
}
@keyframes gauge-loader {
  0% {
    -moz-transform: rotate(-50deg);
    -ms-transform: rotate(-50deg);
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
  }
  10% {
    -moz-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  20% {
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  24% {
    -moz-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }
  40% {
    -moz-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  54% {
    -moz-transform: rotate(70deg);
    -ms-transform: rotate(70deg);
    -webkit-transform: rotate(70deg);
    transform: rotate(70deg);
  }
  56% {
    -moz-transform: rotate(78deg);
    -ms-transform: rotate(78deg);
    -webkit-transform: rotate(78deg);
    transform: rotate(78deg);
  }
  58% {
    -moz-transform: rotate(73deg);
    -ms-transform: rotate(73deg);
    -webkit-transform: rotate(73deg);
    transform: rotate(73deg);
  }
  60% {
    -moz-transform: rotate(75deg);
    -ms-transform: rotate(75deg);
    -webkit-transform: rotate(75deg);
    transform: rotate(75deg);
  }
  62% {
    -moz-transform: rotate(70deg);
    -ms-transform: rotate(70deg);
    -webkit-transform: rotate(70deg);
    transform: rotate(70deg);
  }
  70% {
    -moz-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  80% {
    -moz-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  83% {
    -moz-transform: rotate(25deg);
    -ms-transform: rotate(25deg);
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
  }
  86% {
    -moz-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  89% {
    -moz-transform: rotate(25deg);
    -ms-transform: rotate(25deg);
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
  }
  100% {
    -moz-transform: rotate(-50deg);
    -ms-transform: rotate(-50deg);
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.gauge-loader:not(:required) {
  background: #6ca;
  -moz-border-radius-topleft: 32px;
  -webkit-border-top-left-radius: 32px;
  border-top-left-radius: 32px;
  -moz-border-radius-topright: 32px;
  -webkit-border-top-right-radius: 32px;
  border-top-right-radius: 32px;
  display: inline-block;
  width: 64px;
  height: 32px;
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
}
.gauge-loader:not(:required)::before {
  -moz-animation: gauge-loader 4000ms infinite ease;
  -webkit-animation: gauge-loader 4000ms infinite ease;
  animation: gauge-loader 4000ms infinite ease;
  background: white;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  content: "";
  position: absolute;
  left: 30px;
  top: 5.33333px;
  width: 4px;
  height: 26.66667px;
  -moz-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}
.gauge-loader:not(:required)::after {
  content: "";
  background: white;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  position: absolute;
  left: 25.6px;
  top: 25.6px;
  width: 12.8px;
  height: 12.8px;
}

@-moz-keyframes heartbeat-loader {
  0% {
    -moz-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  14% {
    -moz-transform: rotate(45deg) scale(1.3);
    transform: rotate(45deg) scale(1.3);
  }
  28% {
    -moz-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  42% {
    -moz-transform: rotate(45deg) scale(1.3);
    transform: rotate(45deg) scale(1.3);
  }
  70% {
    -moz-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
}
@-webkit-keyframes heartbeat-loader {
  0% {
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  14% {
    -webkit-transform: rotate(45deg) scale(1.3);
    transform: rotate(45deg) scale(1.3);
  }
  28% {
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  42% {
    -webkit-transform: rotate(45deg) scale(1.3);
    transform: rotate(45deg) scale(1.3);
  }
  70% {
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
}
@keyframes heartbeat-loader {
  0% {
    -moz-transform: rotate(45deg) scale(1);
    -ms-transform: rotate(45deg) scale(1);
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  14% {
    -moz-transform: rotate(45deg) scale(1.3);
    -ms-transform: rotate(45deg) scale(1.3);
    -webkit-transform: rotate(45deg) scale(1.3);
    transform: rotate(45deg) scale(1.3);
  }
  28% {
    -moz-transform: rotate(45deg) scale(1);
    -ms-transform: rotate(45deg) scale(1);
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  42% {
    -moz-transform: rotate(45deg) scale(1.3);
    -ms-transform: rotate(45deg) scale(1.3);
    -webkit-transform: rotate(45deg) scale(1.3);
    transform: rotate(45deg) scale(1.3);
  }
  70% {
    -moz-transform: rotate(45deg) scale(1);
    -ms-transform: rotate(45deg) scale(1);
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
}
/* :not(:required) hides this rule from IE9 and below */
.heartbeat-loader:not(:required) {
  -moz-animation: heartbeat-loader 1300ms ease 0s infinite normal;
  -webkit-animation: heartbeat-loader 1300ms ease 0s infinite normal;
  animation: heartbeat-loader 1300ms ease 0s infinite normal;
  display: inline-block;
  position: relative;
  overflow: hidden;
  text-indent: -9999px;
  width: 36px;
  height: 36px;
  -moz-transform: rotate(45deg) scale(1);
  -ms-transform: rotate(45deg) scale(1);
  -webkit-transform: rotate(45deg) scale(1);
  transform: rotate(45deg) scale(1);
  -moz-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
.heartbeat-loader:not(:required):after {
  position: absolute;
  content: "";
  background: #e87;
}
.heartbeat-loader:not(:required):before {
  position: absolute;
  content: "";
  background: #e87;
  -moz-border-radius-topleft: 12px;
  -webkit-border-top-left-radius: 12px;
  border-top-left-radius: 12px;
  -moz-border-radius-bottomleft: 12px;
  -webkit-border-bottom-left-radius: 12px;
  border-bottom-left-radius: 12px;
  top: 12px;
  left: 0;
  width: 36px;
  height: 24px;
}
.heartbeat-loader:not(:required):after {
  -moz-border-radius-topleft: 12px;
  -webkit-border-top-left-radius: 12px;
  border-top-left-radius: 12px;
  -moz-border-radius-topright: 12px;
  -webkit-border-top-right-radius: 12px;
  border-top-right-radius: 12px;
  top: 0;
  left: 12px;
  width: 24px;
  height: 13px;
}

.gradient {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  background-size: 600% 600%;
  animation: anim-gradient 10s ease infinite;
}

@keyframes anim-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.bounce {
  -webkit-animation: bounce 2s ease infinite;
  animation: bounce 2s ease infinite;
}

@-webkit-keyframes bounce {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(-6px);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-6px);
  }
  50% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(-6px);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
.scroll-parent {
  position: relative;
  width: 100vw;
  height: 20em;
  overflow: hidden;
}
.scroll-parent .scroll-element {
  width: inherit;
  height: 20em;
  position: absolute;
  left: 0%;
  top: 0%;
  animation: primary 33s linear infinite;
}
.scroll-parent .scroll-element img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.scroll-parent .primary {
  animation: primary 33s linear infinite;
}
.scroll-parent .secondary {
  animation: secondary 33s linear infinite;
}
.scroll-parent.right .scroll-element {
  left: inherit;
  right: 0%;
}
.scroll-parent.right .primary {
  animation: primary2 33s linear infinite;
}
.scroll-parent.right .secondary {
  animation: secondary2 33s linear infinite;
}

@keyframes primary {
  from {
    left: 0%;
  }
  to {
    left: -100%;
  }
}
@keyframes secondary {
  from {
    left: 100%;
  }
  to {
    left: 0%;
  }
}
@keyframes primary2 {
  from {
    right: 0%;
  }
  to {
    right: -100%;
  }
}
@keyframes secondary2 {
  from {
    right: 100%;
  }
  to {
    right: 0%;
  }
}
.arrow-line {
  position: absolute;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  outline: none;
  width: 40%;
  bottom: 20px;
  margin: 0 auto;
  left: 0;
  right: 0;
}
@media all and (max-width: 896px) {
  .arrow-line {
    width: 40%;
    bottom: 20px;
  }
}
@media all and (max-width: 639px) {
  .arrow-line {
    width: 50%;
    bottom: 20px;
  }
}
.arrow-line:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 200px;
  height: 1px;
  background: #fff;
}
.arrow-line:after {
  content: "";
  position: absolute;
  bottom: -2px;
  right: -300px;
  width: 21px;
  height: 11px;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}
@media all and (max-width: 639px) {
  .arrow-line:after {
    bottom: -3px;
    width: 18px;
  }
}
.arrow-line:before {
  animation: arrowlong01 2s ease infinite;
}
.arrow-line:after {
  animation: arrowlong02 2s ease infinite;
}

@keyframes arrowlong01 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}
@keyframes arrowlong02 {
  0% {
    left: 0;
    opacity: 0;
  }
  20% {
    left: 0;
    opacity: 1;
  }
  80% {
    left: 100%;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
  }
}
.blinking {
  -webkit-animation: blink 1.5s ease-in-out infinite alternate;
  -moz-animation: blink 1.5s ease-in-out infinite alternate;
  animation: blink 1.5s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeout {
  animation-name: fadeout-transform-keyframes;
  animation-duration: 3000ms;
  animation-delay: 100ms;
  animation-fill-mode: backwards;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: normal;
  transform-origin: 0 0;
  display: inline-block;
}

@keyframes fadeout-transform-keyframes {
  0% {
    transform: translate(-100px, -40px) scale(2.8) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    animation-timing-function: cubic-bezier(0.1, 0.1, 0.1, 0.1);
    opacity: 0;
  }
  15.0% {
    transform: translate(0px, 0px) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    opacity: 1;
  }
  66.67% {
    transform: translate(0px, 0px) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    animation-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    opacity: 1;
  }
  100% {
    transform: translate(10px, 0px) scale(0.8) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    opacity: 0;
  }
}
.popup {
  -webkit-animation: popup 0.5s ease-in-out infinite alternate;
  -moz-animation: popup 0.5s ease-in-out infinite alternate;
  animation: popup 0.5s ease-in-out infinite alternate;
}

@-webkit-keyframes popup {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-moz-keyframes popup {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes popup {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.popup {
  animation-name: popup-transform-keyframes;
  animation-duration: 3000ms;
  animation-delay: 100ms;
  animation-fill-mode: backwards;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: normal;
  transform-origin: 0 0;
  display: inline-block;
}

@keyframes popup-transform-keyframes {
  0% {
    transform: translate(0px, 0px) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    animation-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    opacity: 0;
  }
  33.33% {
    transform: translate(0px, -20px) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    opacity: 1;
  }
  66.67% {
    transform: translate(0px, -20px) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    animation-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    opacity: 1;
  }
  100% {
    transform: translate(8px, -15px) scale(0.8) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    opacity: 0;
  }
}
.blur_in {
  -webkit-animation: blur_in 0.5s ease-in-out infinite alternate;
  -moz-animation: blur_in 0.5s ease-in-out infinite alternate;
  animation: blur_in 0.5s ease-in-out infinite alternate;
  animation-iteration-count: 1 !important;
  opacity: 0;
}

@-webkit-keyframes blur_in {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@-moz-keyframes blur_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blur_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.blur_in {
  animation-name: blur_in-transform-keyframes;
  animation-duration: 3200ms;
  animation-delay: 100ms;
  animation-fill-mode: backwards;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: normal;
  transform-origin: 0 0;
  display: inline-block;
}

@keyframes blur_in-transform-keyframes {
  0% {
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    animation-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    opacity: 0;
    filter: blur(1.5rem);
  }
  33.33% {
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    opacity: 1;
    filter: blur(0);
  }
  66.67% {
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    animation-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    opacity: 1;
    filter: blur(0);
  }
  100% {
    transform: translate(0px, 0px) rotateX(0deg) rotateY(0deg) rotateZ(0deg) translate(0%, 0%);
    opacity: 0;
    filter: blur(1.5rem);
  }
}
.truck {
  -webkit-animation: truck 2s infinite;
  animation: truck 2s infinite;
}

@-webkit-keyframes truck {
  0% {
    transform: translate(0px, 2px);
  }
  5% {
    transform: translate(0px, -2px);
  }
  10% {
    transform: translate(0px, 2px);
  }
  15% {
    transform: translate(0px, -2px);
  }
  20% {
    transform: translate(0px, 2px);
  }
  25% {
    transform: translate(0px, -2px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}
@keyframes truck {
  0% {
    transform: translate(0px, 2px);
  }
  5% {
    transform: translate(0px, -2px);
  }
  10% {
    transform: translate(0px, 2px);
  }
  15% {
    transform: translate(0px, -2px);
  }
  20% {
    transform: translate(0px, 2px);
  }
  25% {
    transform: translate(0px, -2px);
  }
  30% {
    transform: translate(0px, 0px);
  }
}
.kirari {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background-clip: text;
  -webkit-background-clip: text;
}
.kirari:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: kirari 3s ease-in-out infinite;
}

@keyframes kirari {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.picopico {
  animation: picopico 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
}

@keyframes picopico {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(5deg);
  }
  85% {
    transform: rotate(5deg);
  }
  90% {
    transform: rotate(0deg);
  }
}
.kakukaku {
  animation: kakukaku 1s steps(2, start) infinite;
}

@keyframes kakukaku {
  0% {
    transform: rotate(20deg);
  }
  to {
    transform: rotate(-10deg);
  }
}
.puyopuyo {
  animation-name: puyopuyo;
  animation-duration: 2.8s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
}

@keyframes puyopuyo {
  0% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(1, 1);
  }
  70% {
    transform: scale(1, 0.8);
  }
  80% {
    transform: scale(0.8, 1.1);
  }
  90% {
    transform: scale(1, 0.8);
  }
  100% {
    transform: scale(1, 1);
  }
}
.fuwafuwa {
  animation-name: fuwafuwa;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-moz-keyframes fuwafuwa {
  0% {
    -moz-transform: translate(0, 0);
  }
  50% {
    -moz-transform: translate(0, -10px);
  }
  100% {
    -moz-transform: translate(0, 0);
  }
}
.yurayura {
  transform-origin: center bottom;
  -webkit-animation-name: yurayura;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease;
  -moz-animation-name: yurayura;
  -moz-animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: ease;
}

@-webkit-keyframes yurayura {
  0% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(6deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(-6deg);
  }
  100% {
    transform: rotate(0);
  }
}
.rotate_x {
  -webkit-animation: rotate_x 2s linear infinite;
  animation: rotate_x 2s linear infinite;
  transform-origin: center;
  width: 140px;
  display: flex;
  justify-content: center;
}

@-webkit-keyframes rotate_x {
  0% {
    transform: rotateY(0);
  }
  25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0;
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes rotate_x {
  0% {
    transform: rotateY(0);
  }
  25% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 0;
  }
  100% {
    transform: rotateY(360deg);
  }
}
.rotate {
  -webkit-animation: rotate-anime 25s linear infinite;
  animation: rotate-anime 25s linear infinite;
  transform-origin: center;
}

@-webkit-keyframes rotate-anime {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate-anime {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes heartbeat {
  0% {
    -moz-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -moz-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -moz-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -moz-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -moz-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes heartbeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartbeat {
  0% {
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.heartbeat:not(:required) {
  -moz-animation: heartbeat 1300ms ease 0s infinite normal;
  -webkit-animation: heartbeat 1300ms ease 0s infinite normal;
  animation: heartbeat 1300ms ease 0s infinite normal;
  display: inline-block;
  position: relative;
}

.parallax_txt {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.parallax_txt span {
  display: block;
  padding-left: 15%;
  -webkit-animation: animate-banner 20s linear infinite;
  animation: animate-banner 20s linear infinite;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 24rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.08);
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}
@media all and (max-width: 639px) {
  .parallax_txt span {
    font-size: 20vw;
  }
}
.parallax_txt.base_color span {
  color: rgba(162, 213, 56, 0.1);
}
.parallax_txt.gray span {
  color: rgba(136, 136, 136, 0.1);
}

@-webkit-keyframes animate-banner {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-115%);
    transform: translateX(-115%);
  }
}
@keyframes animate-banner {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-115%);
    transform: translateX(-115%);
  }
}
.mtitle_box {
  background: #a2d538;
  color: #fff;
  font-size: 2rem;
  position: relative;
  padding: 15px 25px;
  margin-bottom: 25px;
  font-weight: 600;
  overflow: hidden;
  margin: 25px 0;
}
.mtitle_box.f-2 {
  text-align: center;
}
.mtitle_box.f-2 span {
  font-size: 2rem;
  text-align: center;
}
.mtitle_box span {
  font-weight: normal;
  font-size: 14px;
  padding-left: 10px;
}
.mtitle_box:before {
  background-color: rgba(255, 255, 255, 0.6);
  content: "";
  display: block;
  transform: rotate(50deg);
  position: absolute;
  bottom: -250px;
  right: -150px;
  width: 300px;
  height: 280px;
}
@media all and (max-width: 896px) {
  .mtitle_box:before {
    font-size: 1.5rem;
    right: -200px;
  }
}
@media all and (max-width: 639px) {
  .mtitle_box {
    font-size: 1.5rem;
    margin: 0 0 15px;
  }
}
.mtitle_box.type1 {
  background-image: -webkit-gradient(linear, right top, left top, from(#a2d538), to(#4bb4a1));
}
.mtitle_box.type2 {
  background: #8fb8c9;
}
.mtitle_box.type_n {
  text-align: center;
  background: #e3dbd5;
  color: #a2d538;
}
.mtitle_box.type_n:before {
  display: none;
}

.mtitle_box2 {
  background: rgba(162, 213, 56, 0.2);
  font-size: 2rem;
  color: #a2d538;
  position: relative;
  font-weight: 600;
  overflow: hidden;
  letter-spacing: 0.1rem;
  box-shadow: rgba(17, 17, 17, 0.1) 0 6px 3px 2px;
  padding: 15px 25px;
  margin-bottom: 25px;
}
.mtitle_box2:before {
  background-color: #a2d538;
  content: "";
  display: block;
  transform: rotate(50deg);
  position: absolute;
  bottom: -250px;
  right: -150px;
  width: 300px;
  height: 280px;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .mtitle_box2 {
    font-size: 15px;
    line-height: 1.5;
  }
  .mtitle_box2 span {
    font-size: 2rem;
  }
  .mtitle_box2:before {
    width: 123px;
    right: -170px;
    top: -106px;
  }
}

.mtitle_box3 {
  background: #a2d538;
  color: #fff;
  padding: 15px 20px;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  overflow: hidden;
  margin: 25px 0;
}
.mtitle_box3 .eng {
  font-size: 2.2rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.mtitle_box3 .ja {
  font-size: 1.6rem;
  position: relative;
  z-index: 1;
}
.mtitle_box3.sub {
  background: #4bb4a1;
}
@media all and (max-width: 639px) {
  .mtitle_box3 {
    font-size: 1.5rem;
  }
}
.mtitle_box3.b-m0 {
  margin-bottom: 0px !important;
}
.mtitle_box3::before {
  background-color: #fff;
  content: "";
  transform: rotate(-144deg);
  display: block;
  opacity: 0.1;
  position: absolute;
  top: 350%;
  left: -4%;
  width: 200%;
  height: 930%;
  z-index: 0;
}
@media all and (max-width: 639px) {
  .mtitle_box3::before {
    top: 280%;
    left: -64%;
  }
}
.mtitle_box3::after {
  background-color: #fff;
  content: "";
  display: block;
  opacity: 0.2;
  position: absolute;
  bottom: -190%;
  left: 85%;
  width: 10%;
  transform: rotate(45deg);
  height: 620%;
}
@media all and (max-width: 639px) {
  .mtitle_box3::after {
    width: 40%;
  }
}
.mtitle_box3 .photo {
  margin: 0 auto;
  text-align: center;
}

.mtitle_box4 {
  background: rgba(162, 213, 56, 0.2);
  font-size: 1.8rem;
  position: relative;
  padding: 23px 22px;
  margin: 30px 0;
  font-weight: 700;
  color: #a2d538;
}
.mtitle_box4.middle {
  padding: 33px 22px;
  background: rgba(162, 213, 56, 0.1);
}
.mtitle_box4 span {
  font-weight: normal;
  font-size: 14px;
  padding-left: 10px;
}
.mtitle_box4:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 900;
  display: block;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}
@media all and (max-width: 639px) {
  .mtitle_box4 {
    font-size: 1.5rem;
  }
}

.mtitle_company {
  position: relative;
  background-color: #fff;
  border: 1px solid #ddd;
  font-size: 2.2rem;
  padding: 15px 30px;
  margin-bottom: 20px;
  border-radius: 0px;
  line-height: 1.2;
  background: linear-gradient(0deg, #eeeeee 0%, white 32%);
}
@media all and (max-width: 639px) {
  .mtitle_company {
    font-size: 1.6rem;
  }
}
.mtitle_company .eng {
  color: #a2d538;
  font-size: 80%;
  display: block;
}
.mtitle_company:before {
  position: absolute;
  top: 15%;
  left: 10px;
  width: 6px;
  height: 70%;
  content: "";
  background: #a2d538;
  z-index: 1;
}
.mtitle_company span {
  font-size: 80%;
}

.mtitle_bl {
  font-size: 1.6rem;
  border-left: 3px solid #a2d538;
  line-height: 1.6;
  font-weight: 600;
  margin: 24px 0;
  padding: 6px 0.5em;
}
@media all and (max-width: 639px) {
  .mtitle_bl {
    font-size: 1.5rem;
    padding: 6px 0.5em;
    margin-top: 30px;
  }
}

.mtitle_bar {
  padding: 12px 0;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #a2d538;
  position: relative;
}
.mtitle_bar.sub {
  color: #4bb4a1;
}
.mtitle_bar.sub::after {
  background: repeating-linear-gradient(-45deg, transparent 0, transparent 0.3rem, rgba(75, 180, 161, 0.2) 0.3rem, rgba(75, 180, 161, 0.2) 0.7rem);
}
.mtitle_bar:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0c8";
  font-weight: 900;
  margin-right: 8px;
  color: rgba(162, 213, 56, 0.4);
}
.mtitle_bar::after {
  content: "";
  display: block;
  width: 100%;
  margin: 4px 0;
  height: 0.85rem;
  background: repeating-linear-gradient(-45deg, transparent 0, transparent 0.3rem, rgba(162, 213, 56, 0.2) 0.3rem, rgba(162, 213, 56, 0.2) 0.7rem);
}

.mtitle_num {
  margin: 15px 0;
  padding: 5px 0;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.2;
  border-bottom: solid thin #ccc;
  display: flex;
  align-items: center;
}
.mtitle_num > .num {
  font-size: 1.8em;
  color: #a2d538;
  margin-right: 12px;
}
.mtitle_num.type_r > .num {
  font-size: 1.8em;
  color: #fff;
  background: #a2d538;
  border-radius: 50%;
  display: grid;
  place-items: center;
  width: 50px;
  padding: 0 10px;
  height: 50px;
  flex: 0;
}
.mtitle_num.type_r .ja {
  font-size: 2rem;
  color: #a2d538;
}
.mtitle_num.type1 {
  border-bottom: solid 3px #ccc;
  padding: 0;
  font-size: 1.6rem;
}
@media all and (max-width: 639px) {
  .mtitle_num.type1 {
    font-size: 1.4rem;
  }
}
.mtitle_num.type1 > .num {
  font-size: 1.8em;
  color: #fff;
  background: #a2d538;
  display: grid;
  place-items: center;
  width: auto;
  padding: 0 10px;
  height: 50px;
  flex: 0;
  transform: translate(-5px, -5px);
}
.mtitle_num.type1 .ja {
  font-size: 2rem;
  color: #a2d538;
}
.mtitle_num.sub > .num {
  color: #4bb4a1;
}
.mtitle_num > .txt {
  color: #a2d538;
}

.mtitle_ribbon {
  display: block;
  position: relative;
  height: 45px;
  text-align: center;
  box-sizing: border-box;
  margin: 0 auto 30px;
  width: calc(100% - 52px);
}
@media all and (max-width: 639px) {
  .mtitle_ribbon {
    margin: 0 auto 60px;
  }
}
.mtitle_ribbon:before {
  content: "";
  position: absolute;
  width: 10px;
  bottom: -20px;
  left: -26px;
  z-index: -2;
  border: 20px solid #b6de62;
  border-left-color: transparent;
}
.mtitle_ribbon:after {
  content: "";
  position: absolute;
  width: 10px;
  bottom: -20px;
  right: -26px;
  z-index: -2;
  border: 20px solid #b6de62;
  border-right-color: transparent;
}
.mtitle_ribbon span {
  display: inline-block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 7px 20px;
  line-height: 1.6;
  font-size: 2.6rem;
  color: #fff;
  background: #a2d538;
}
@media all and (max-width: 639px) {
  .mtitle_ribbon span {
    font-size: 1.8rem;
  }
}
.mtitle_ribbon span:before {
  position: absolute;
  content: "";
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-right: solid 15px #86b426;
}
.mtitle_ribbon span:after {
  position: absolute;
  content: "";
  top: 100%;
  right: 0;
  border: none;
  border-bottom: solid 10px transparent;
  border-left: solid 15px #86b426;
}

.mtitle_dashed {
  width: 100%;
  max-width: 100%;
  padding: 0.4em 0.5em 0.4em;
  margin: 30px auto;
  font-size: 1.5em;
  font-weight: 900;
  line-height: 1.2;
  color: white;
  text-align: center;
  letter-spacing: 0.2em;
  background: #a2d538;
  border: dashed 1px white;
  box-shadow: 0 0 0 5px #a2d538;
}
@media all and (max-width: 639px) {
  .mtitle_dashed {
    font-size: 1.4rem;
    line-height: 1.6;
    padding: 15px 0;
  }
}

.speech_bubble {
  position: relative;
  z-index: 1;
  width: 100%;
  background: #fff;
  font-weight: normal;
  line-height: 1;
  padding: 1.5em 1em;
  border-radius: 30px;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
  border: 1px solid #aaa;
  margin-bottom: 1.5em;
}
@media all and (max-width: 639px) {
  .speech_bubble {
    margin-bottom: 1em;
  }
}
.speech_bubble:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -7px;
  left: 0;
  right: 0;
  margin: 0 auto 0;
  height: 15px;
  width: 15px;
  background: #fff;
  box-shadow: #aaa 1px 1px 0 0;
  transform: rotate(45deg);
}

.mtitle_circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  font-weight: normal;
  font-size: 1.4rem;
  letter-spacing: 0;
  display: inline-block;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.4;
  position: relative;
  transition: all 0.3s 0s ease;
  border: 1px solid #fff;
  color: #fff;
  background-color: #c3a349;
  z-index: 1;
  box-shadow: rgba(51, 51, 51, 0.2) 10px 10px 15px 5px;
}
.mtitle_circle.type2 {
  border: 1px solid #a2d538;
  background: #fff;
  color: #a2d538;
}
.mtitle_circle.type2 .ttl {
  color: #a2d538;
}
.mtitle_circle.type3 {
  border: 1px solid #a2d538;
  background: #a2d538;
  color: #fff;
}
.mtitle_circle.type3 .ttl {
  color: #fff;
}
.mtitle_circle.center {
  margin: 0 auto 20px;
}
.mtitle_circle > a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.mtitle_circle.black {
  background-color: #111;
  color: #fff;
}
.mtitle_circle.black .ttl,
.mtitle_circle.black .num {
  color: #fff;
}
.mtitle_circle > .ttl {
  line-height: 1;
}
.mtitle_circle > .num {
  font-size: 300%;
  line-height: 1;
}
.mtitle_circle > i {
  margin-bottom: 5px;
  font-size: 130%;
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .mtitle_circle {
    font-size: 1.2rem;
    width: 80px;
    height: 80px;
  }
  .mtitle_circle a {
    color: #a2d538;
  }
}

.mtitle_circle_mini {
  font-size: 2.8rem;
  line-height: 1;
  border-radius: 50%;
  border: 1px solid #a2d538;
  color: #a2d538;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #fff;
  margin: 0 auto 15px;
}
.mtitle_circle_mini span {
  font-size: 50%;
}

.mtitle_square_mini {
  font-size: 2.8rem;
  line-height: 1;
  border: 1px solid #a2d538;
  color: #a2d538;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #fff;
  margin: 0 auto 15px;
}
.mtitle_square_mini span {
  font-size: 50%;
}

.mtitle_cursol_b {
  position: relative;
  padding: 1rem 0.5rem;
  margin-bottom: 30px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #a2d538;
  border-top: solid 1px #a2d538;
  border-bottom: solid 1px #a2d538;
}
.mtitle_cursol_b.type_w {
  border-left: solid 1px #a2d538;
  border-right: solid 1px #a2d538;
  background-color: #fff;
}
.mtitle_cursol_b::after {
  position: absolute;
  top: 100%;
  left: 110px;
  width: 0;
  height: 0;
  content: "";
  border: solid 15px transparent;
  border-top-color: #a2d538;
}
.mtitle_cursol_b.tcenter::after {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  content: "";
  border: solid 10px transparent;
  border-top-color: #a2d538;
}
@media (max-width: 992px) {
  .mtitle_cursol_b {
    padding: 1rem 0;
    text-align: center;
  }
  .mtitle_cursol_b::after {
    left: 50%;
    border-width: 10px;
    transform: translateX(-50%);
  }
}

.mtitle_cursol_b2 {
  color: #fff;
  position: relative;
  padding: 20px 1rem;
  margin-bottom: 30px;
  font-size: 1.8rem;
  font-weight: 700;
  color: white;
  background-color: #a2d538;
}
.mtitle_cursol_b2.tcenter::after {
  position: absolute;
  top: 98%;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  content: "";
  border: solid 25px transparent;
  border-top-color: #a2d538;
}
.mtitle_cursol_b2::after {
  position: absolute;
  top: 98%;
  left: 50px;
  width: 0;
  height: 0;
  z-index: 10;
  content: "";
  border: solid 25px transparent;
  border-top-color: #a2d538;
}
@media (max-width: 1100px) {
  .mtitle_cursol_b2::after {
    border-width: 10px;
  }
}
@media (max-width: 576px) {
  .mtitle_cursol_b2 {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
}

.mtitle_vw {
  margin: 0 auto 0;
  text-align: center;
  position: relative;
  min-height: 100px;
}
.mtitle_vw.tleft {
  text-align: left;
}
.mtitle_vw .eng {
  font-size: 8rem;
  color: #a2d538;
  display: block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  left: 0.2em;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.mtitle_vw .ja {
  font-size: 2rem;
  line-height: 1;
  color: #333;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  display: block;
  top: -10px;
  right: 0;
  -ms-writing-mode: tb-rl;
  width: 100%;
  height: 100px;
}
.mtitle_vw:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 115px;
  top: -30px;
  right: -10px;
  background-color: #a2d538;
}
@media all and (max-width: 639px) {
  .mtitle_vw:before {
    margin: 0 auto;
    right: 0;
    left: 0;
  }
}
@media all and (max-width: 639px) {
  .mtitle_vw {
    min-height: auto;
  }
  .mtitle_vw .eng {
    font-size: 3rem;
  }
  .mtitle_vw .ja {
    font-size: 1.2rem;
    top: -25px;
    right: 0px;
  }
  .mtitle_vw:before {
    right: inherit;
    left: 0;
  }
}

.num {
  font-weight: 600;
}
.num a {
  color: #a2d538;
  font-size: 2.8rem;
  text-align: center;
  margin-left: 5px;
}
@media all and (max-width: 639px) {
  .num a {
    font-size: 2rem;
  }
}
.num a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}
.num a:hover {
  color: #ff6a49;
}

.num_bg .num {
  color: rgba(162, 213, 56, 0.3);
  font-size: 18rem;
  line-height: 1;
  position: absolute;
  z-index: 0;
}
@media all and (max-width: 1100px) {
  .num_bg .num {
    font-size: 15rem;
  }
}
@media all and (max-width: 639px) {
  .num_bg .num {
    font-size: 10rem;
  }
}
.num_bg.top .num {
  top: -120px;
}
@media all and (max-width: 639px) {
  .num_bg.top .num {
    top: -5px;
  }
}
.num_bg.right .num {
  left: inherit;
  right: 20px;
}
.num_bg.right2 .num {
  left: inherit;
  top: -20px;
  right: 0;
}

.btn_mini.radius a {
  border-radius: 20px;
}
.btn_mini a {
  background: #fefefe;
  text-align: center;
  width: 150px;
  color: #a2d538;
  display: block;
  padding: 3px 5px;
  border: 1px solid;
}
.btn_mini a:hover {
  background: #a2d538;
  color: #fefefe;
}
@media all and (max-width: 639px) {
  .btn_mini a {
    margin: 10px auto;
  }
}
.btn_mini.center a {
  margin: 10px auto;
}
.btn_mini.right a {
  margin: 10px 0 0 auto;
}
@media all and (max-width: 639px) {
  .btn_mini.right a {
    margin: 10px auto;
  }
}
.btn_mini.mail {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}
.btn_mini.mail a {
  background: #ffc517;
  margin: 15px auto 25px;
}
.btn_mini.mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}
.btn_mini.grd a {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  color: #fff;
}
.btn_mini.grd a:hover {
  background: #a2d538;
}

.btn_normal {
  margin-top: 10px;
  margin-bottom: 10px;
}
.btn_normal i {
  margin-bottom: 5px;
  font-size: 2.2rem;
}
.btn_normal.center a {
  margin: 0 auto;
}
.btn_normal.right a {
  margin: 0 0 0 auto;
}
@media all and (max-width: 896px) {
  .btn_normal.right a {
    margin: 0 auto;
  }
}
.btn_normal.radius a {
  border-radius: 2em;
  overflow: hidden;
}
.btn_normal.radius a::before {
  border-radius: 2em;
}
.btn_normal.white a {
  color: #555;
  background: #fff;
  box-shadow: rgba(17, 17, 17, 0.1) 0 0 2px 2px;
}
.btn_normal.white a:after {
  color: #a2d538;
}
.btn_normal.white a::before {
  background: #a2d538;
  color: #fff;
}
.btn_normal.white a:hover {
  color: #fff;
}
.btn_normal.white a:hover::after {
  color: #fff;
}
.btn_normal.white a:hover {
  opacity: 1;
}
.btn_normal.base_color2 a {
  color: #333;
}
.btn_normal.base_color2 a:after {
  color: #333;
}
.btn_normal.base_color2 a::before {
  background: #fff;
  color: #333;
}
.btn_normal.base_color2 a:hover {
  color: #333;
}
.btn_normal.base_color2 a:hover::after {
  color: #333;
}
.btn_normal.base_color2 a:hover {
  opacity: 1;
}
.btn_normal.sub_color a {
  background: #4bb4a1;
}
.btn_normal.sub_color a::before {
  background: #357e71;
}
.btn_normal.grd a {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
}
.btn_normal.grd a::before {
  background: #a2d538;
}
.btn_normal.size_m a {
  padding: 1.5em 1em;
  max-width: 320px;
}
.btn_normal a {
  color: #fff;
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.1px;
  line-height: 1;
  padding: 1em 1em;
  position: relative;
  text-align: center;
  -webkit-transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
  max-width: 300px;
  background: #a2d538;
  position: relative;
  z-index: 10;
  color: #fff;
  font-weight: bold;
}
@media all and (max-width: 896px) {
  .btn_normal a {
    font-size: 1.3rem;
    margin: 0 auto;
  }
}
.btn_normal a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  display: grid;
  top: 0;
  bottom: 0;
  right: 10%;
  place-items: center;
  color: #fff;
  z-index: -1;
  transition: 0.3s;
}
.btn_normal a:hover::after {
  right: 1%;
  transition: 0.3s;
}
.btn_normal a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  content: "";
  background: #769f22;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.btn_normal a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.btn_big {
  margin-top: 10px;
  margin-bottom: 10px;
}
.btn_big i {
  margin-bottom: 5px;
  font-size: 2.2rem;
}
.btn_big.center a {
  margin: 0 auto;
}
.btn_big.right a {
  margin: 0 0 0 auto;
}
@media all and (max-width: 896px) {
  .btn_big.right a {
    margin: 0 auto;
  }
}
.btn_big.radius a {
  border-radius: 50px;
  overflow: hidden;
}
.btn_big.radius a::before {
  border-radius: 50px;
}
.btn_big.white a {
  color: #555;
  background: #fff;
  box-shadow: rgba(17, 17, 17, 0.1) 0 0 2px 2px;
}
.btn_big.white a:after {
  color: #a2d538;
}
.btn_big.white a::before {
  background: #a2d538;
  color: #fff;
}
.btn_big.white a:hover {
  color: #fff;
}
.btn_big.white a:hover::after {
  color: #fff;
}
.btn_big.white a:hover {
  opacity: 1;
}
.btn_big.base_color2 a {
  color: #333;
}
.btn_big.base_color2 a:after {
  color: #333;
}
.btn_big.base_color2 a::before {
  background: #fff;
  color: #333;
}
.btn_big.base_color2 a:hover {
  color: #333;
}
.btn_big.base_color2 a:hover::after {
  color: #333;
}
.btn_big.base_color2 a:hover {
  opacity: 1;
}
.btn_big.sub_color a {
  background: #4bb4a1;
}
.btn_big.sub_color a::before {
  background: #357e71;
}
.btn_big.grd a {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
}
.btn_big.grd a::before {
  background: #a2d538;
}
.btn_big a {
  color: #fff;
  display: block;
  font-size: 2.8rem;
  letter-spacing: 0.1px;
  line-height: 1;
  padding: 50px 10px;
  position: relative;
  text-align: center;
  -webkit-transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
  transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
  max-width: 100%;
  background: #a2d538;
  position: relative;
  z-index: 10;
  color: #fff;
  font-weight: bold;
}
.btn_big a span {
  font-size: 1.6rem;
  display: block;
}
@media all and (max-width: 639px) {
  .btn_big a span {
    font-size: 1.1rem;
    font-weight: normal;
  }
}
@media all and (max-width: 896px) {
  .btn_big a {
    font-size: 1.8rem;
    margin: 0 auto;
    padding: 30px 10px;
  }
}
.btn_big a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  display: grid;
  top: 0;
  bottom: 0;
  right: 10%;
  place-items: center;
  color: #fff;
  z-index: -1;
  transition: 0.3s;
}
@media all and (max-width: 639px) {
  .btn_big a:after {
    right: 5%;
  }
}
.btn_big a:hover::after {
  right: 1%;
  transition: 0.3s;
}
.btn_big a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  content: "";
  background: #769f22;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.btn_big a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.btn_txt {
  display: inline;
  margin: 20px auto;
}
.btn_txt.white a {
  color: #fff;
}
.btn_txt.white a:before, .btn_txt.white a:after {
  background-color: #fff;
}
.btn_txt.center {
  margin: 0 auto !important;
  text-align: center !important;
  display: block !important;
}
.btn_txt a {
  color: #a2d538;
  position: relative;
}
.btn_txt a:before {
  content: "";
  position: absolute;
  bottom: -5px;
  width: 130%;
  height: 1px;
  background-color: #a2d538;
  transition: 0.5s;
}
.btn_txt a:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 1px;
  left: 130%;
  bottom: -5px;
  background-color: #a2d538;
  -webkit-transform-origin: 0px 0.5px;
  transform-origin: 0px 0.5px;
  -webkit-transform: rotate(-150deg);
  transform: rotate(-150deg);
  transition: 0.5s;
}
.btn_txt a:hover {
  opacity: 0.6;
}
.btn_txt a:hover:before {
  width: 150%;
  transition: 0.5s;
}
.btn_txt a:hover:after {
  left: 150%;
  transition: 0.5s;
}

.btn_more {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin-top: 50px;
}
.btn_more a {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  color: #a2d538;
  padding-right: 30px;
}
.btn_more:before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #a2d538;
  border-radius: 50%;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.btn_more:after {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  top: 50%;
  right: 10px;
  border-top: 1px solid #a2d538;
  border-right: 1px solid #a2d538;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.btn_more:hover:before {
  background: #a2d538;
}
.btn_more:hover:after {
  border-color: #fefefe !important;
}
@media all and (max-width: 896px) {
  .btn_more {
    justify-content: flex-start;
    max-width: 160px;
    margin: 10px auto;
    background: #fff;
    padding: 6px 20px;
    border-radius: 30px;
  }
  .btn_more:before {
    right: 10px;
  }
  .btn_more:after {
    right: 20px;
  }
}

.btn_slim {
  margin-bottom: 3%;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(17, 20, 25, 0.3);
}
.btn_slim a {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #333;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
}
.btn_slim a:before {
  position: absolute;
  z-index: 2;
  display: block;
  content: "";
  right: 18px;
  top: 14px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #231815;
  border-right: 2px solid #231815;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transition: all 0.12s ease-in 0s;
  transition: all 0.12s ease-in 0s;
}
.btn_slim a:after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  top: -2px;
  right: 0;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(17, 20, 25, 0.3);
  border-radius: 50%;
  -webkit-transition: all 0.12s ease-in 0s;
  transition: all 0.12s ease-in 0s;
}
.btn_slim a:hover:before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.btn_slim a:hover:after {
  background-color: #231815;
  border: 1px solid #231815;
}
.btn_slim a span {
  display: block;
  color: #231815;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0;
  padding-bottom: 12px;
}

.btn_i {
  width: 300px;
  margin: 20px auto 20px;
}
.btn_i.left {
  margin: 20px auto 30px 0;
}
@media all and (max-width: 639px) {
  .btn_i.left {
    margin: 20px auto 30px;
  }
}
.btn_i a {
  display: block;
  position: relative;
  padding: 15px 0;
  background-color: #a2d538;
  border: 1px solid #a2d538;
  line-height: 24px;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  text-align: center;
  color: #ffffff;
  border-radius: 50px;
}
.btn_i a i {
  display: block;
  position: absolute;
  top: 50%;
  right: -10px;
  width: 50px;
  height: 1px;
  background-color: #ffffff;
  transition: all 0.3s ease;
}
.btn_i a:hover {
  background-color: #fff;
  border: 1px solid #a2d538;
  color: #a2d538;
}
.btn_i a:hover i {
  width: 34px;
  background-color: #a2d538;
}
.btn_i.type2 a {
  background-color: #1fa33a;
  border: 1px solid #1fa33a;
}
.btn_i.type2 a:hover {
  background-color: #fff;
  border: 1px solid #1fa33a;
  color: #1fa33a;
}
.btn_i.type2 a:hover i {
  width: 34px;
  background-color: #1fa33a;
}
@media all and (max-width: 639px) {
  .btn_i {
    width: 90%;
  }
  .btn_i a {
    font-size: 1.2rem;
  }
}

.btn_grd.center > a {
  margin: 0 auto;
}
.btn_grd.right {
  margin: 0 0 0 auto;
}
@media all and (max-width: 639px) {
  .btn_grd.right {
    margin: 0 auto;
  }
}
.btn_grd > a {
  width: 100%;
  height: 100%;
  color: inherit;
  margin-top: 20px;
  position: relative;
  display: block;
  width: 280px;
  text-align: center;
  color: #fff;
  padding: 16px 20px;
  border-radius: 40px;
  transition: 0.4s;
  font-size: 120%;
  background-position: left 0;
  background-size: 200%;
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
}
.btn_grd > a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  font-weight: 900;
  margin-left: 8px;
  display: inline-block;
  position: relative;
  transition: 0.4s;
}
.btn_grd > a:hover {
  transition: 0.1s;
  background-position: right 0;
}
.btn_grd > a:hover:after {
  transform: translateX(4px);
  transition: 0.4s;
}
@media all and (max-width: 639px) {
  .btn_grd a {
    width: 220px;
    padding: 8px 20px;
    font-size: 1.4rem;
  }
}

.btn_cute {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: #fff;
  border-radius: 40px;
  padding: 16px;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 3px 8px;
  width: 280px;
  font-size: 1.8rem;
}
.btn_cute:before {
  position: relative;
  bottom: 0;
  opacity: 0;
  clip-path: circle(1%);
  transition: ease-in all;
  transition-delay: 0.6s;
  transition-duration: 1.5s;
  z-index: 0;
}
@media all and (max-width: 639px) {
  .btn_cute {
    font-size: 1.3rem;
    margin: 0 auto;
  }
}
.btn_cute .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 44px;
  height: 44px;
  background: #a2d538;
  margin-left: -1px;
  border-radius: 22px;
}
.btn_cute .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.btn_cute .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 4px;
  width: 2rem;
  height: 0.125rem;
  background: none;
}
.btn_cute .circle .icon.arrow:before {
  position: absolute;
  content: "";
  background-color: #fff;
  top: -0.45rem;
  right: -0.3rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border-top: 0rem solid #fff;
  border-right: 0rem solid #fff;
  transform: rotate(45deg);
}
@media all and (max-width: 639px) {
  .btn_cute .circle .icon.arrow {
    left: 2px;
  }
}
.btn_cute .txt {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  color: #a2d538;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
.btn_cute:hover {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
}
.btn_cute:hover:before {
  background: #a2d538;
  opacity: 1;
  clip-path: circle(120%);
  z-index: 1;
}
.btn_cute:hover .circle {
  width: 101%;
  background: #a2d538;
}
.btn_cute:hover .circle .icon.arrow {
  transform: translate(1rem, 0);
}
.btn_cute:hover .circle .icon.arrow:before {
  position: absolute;
  content: "";
  background-color: #a2d538;
  top: -0.35rem;
  right: 0.1rem;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.225rem solid #fff;
  border-right: 0.225rem solid #fff;
  border-radius: 0%;
}
.btn_cute:hover .txt {
  color: #fff;
}
.btn_cute.type1 {
  background-image: linear-gradient(to right, #a2d538, #a2d538);
  background-size: 140%;
  width: 280px;
}
.btn_cute.type1 .circle {
  background: #fff;
}
.btn_cute.type1 .icon {
  background: #a2d538;
}
.btn_cute.type1 .icon.arrow:before {
  border-color: #8fb8c9;
}
.btn_cute.type1 .txt {
  color: #fff;
  font-size: 1.1em;
}
.btn_cute.type1:hover .txt {
  color: #a2d538;
}

.sns_btn {
  display: flex;
  gap: 5px 5px;
}
@media all and (max-width: 639px) {
  .sns_btn {
    align-items: center;
    justify-content: center;
  }
}
.sns_btn.center {
  align-items: center;
  justify-content: center;
}
.sns_btn li {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  position: relative;
  fill: #fff;
}
@media all and (max-width: 639px) {
  .sns_btn li {
    width: 40px;
    height: 40px;
  }
}
.sns_btn li a {
  position: absolute;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.sns_btn li a:hover {
  background-color: rgba(255, 255, 255, 0.4);
}
.sns_btn li img {
  width: 20px;
  height: 20px;
}
@media all and (max-width: 639px) {
  .sns_btn li img {
    width: 15px;
    height: 15px;
  }
}
.sns_btn li svg {
  width: 20px;
  height: 20px;
}
@media all and (max-width: 639px) {
  .sns_btn li svg {
    width: 15px;
    height: 15px;
  }
}
.sns_btn li.tel {
  background: #a2d538;
}
.sns_btn li.cart {
  background: #a2d538;
}
.sns_btn li.mail {
  background: #a2d538;
}
.sns_btn li.youtube {
  background: #e61f19;
}
.sns_btn li.facebook {
  background: #315096;
}
.sns_btn li.twitter {
  background: #55acee;
}
.sns_btn li.instagram {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat !important;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat !important;
}
.sns_btn li.hatena {
  background: #008fde;
}
.sns_btn li.poket {
  background: #dc3d50;
}
.sns_btn li.feedly {
  background: #6cc655;
}
.sns_btn li.line {
  background: #50cc1a;
}
.sns_btn li.tiktok {
  background: #111;
}
.sns_btn.type1 li.tel, .sns_btn.type1 li.cart, .sns_btn.type1 li.mail, .sns_btn.type1 li.youtube, .sns_btn.type1 li.facebook, .sns_btn.type1 li.twitter, .sns_btn.type1 li.instagram, .sns_btn.type1 li.hatena, .sns_btn.type1 li.poket, .sns_btn.type1 li.feedly, .sns_btn.type1 li.tiktok, .sns_btn.type1 li.line {
  background: #fff !important;
  box-shadow: rgba(136, 136, 136, 0.1) 0 0 2px 2px;
}
.sns_btn.type1 li.tel {
  fill: #a2d538;
}
.sns_btn.type1 li.cart {
  fill: #a2d538;
}
.sns_btn.type1 li.mail {
  fill: #a2d538;
}
.sns_btn.type1 li.youtube {
  fill: #e61f19;
}
.sns_btn.type1 li.facebook {
  fill: #315096;
}
.sns_btn.type1 li.twitter {
  fill: #55acee;
}
.sns_btn.type1 li.instagram {
  fill: #f13f79 !important;
}
.sns_btn.type1 li.hatena {
  fill: #008fde;
}
.sns_btn.type1 li.poket {
  fill: #dc3d50;
}
.sns_btn.type1 li.feedly {
  fill: #6cc655;
}
.sns_btn.type1 li.line {
  fill: #50cc1a;
}
.sns_btn.type1 li.tiktok {
  fill: #111;
}
.sns_btn.type2 li.facebook, .sns_btn.type2 li.twitter, .sns_btn.type2 li.instagram, .sns_btn.type2 li.hatena, .sns_btn.type2 li.poket, .sns_btn.type2 li.feedly, .sns_btn.type2 li.tiktok, .sns_btn.type2 li.line {
  background: #fff !important;
  box-shadow: rgba(136, 136, 136, 0.1) 0 0 2px 2px;
  fill: #fff;
  stroke-miterlimit: 5;
  stroke-width: 2;
}
.sns_btn.type2 li.facebook {
  stroke: #315096;
}
.sns_btn.type2 li.twitter {
  stroke: #55acee;
}
.sns_btn.type2 li.instagram {
  stroke: #f13f79 !important;
}
.sns_btn.type2 li.hatena {
  stroke: #008fde;
}
.sns_btn.type2 li.poket {
  stroke: #dc3d50;
}
.sns_btn.type2 li.feedly {
  stroke: #6cc655;
}
.sns_btn.type2 li.line {
  stroke: #50cc1a;
}
.sns_btn.type2 li.tiktok {
  stroke: #111;
}
.sns_btn.type3 li.tel, .sns_btn.type3 li.cart, .sns_btn.type3 li.mail, .sns_btn.type3 li.youtube, .sns_btn.type3 li.facebook, .sns_btn.type3 li.twitter, .sns_btn.type3 li.instagram, .sns_btn.type3 li.hatena, .sns_btn.type3 li.poket, .sns_btn.type3 li.feedly, .sns_btn.type3 li.tiktok, .sns_btn.type3 li.line {
  width: 30px;
  height: 30px;
  background: transparent;
  box-shadow: rgba(136, 136, 136, 0) 0 0 2px 2px;
  fill: #a2d538;
}
.sns_btn.type3 li.tel {
  fill: #a2d538;
}
.sns_btn.type3 li.cart {
  fill: #a2d538;
}
.sns_btn.type3 li.mail {
  fill: #a2d538;
}
.sns_btn.type3 li.youtube {
  fill: #a2d538;
}
.sns_btn.type3 li.facebook {
  fill: #a2d538;
}
.sns_btn.type3 li.twitter {
  fill: #a2d538;
}
.sns_btn.type3 li.instagram {
  fill: #a2d538;
  background-color: transparent !important;
  background: transparent !important;
}
.sns_btn.type3 li.hatena {
  fill: #a2d538;
}
.sns_btn.type3 li.poket {
  fill: #a2d538;
}
.sns_btn.type3 li.feedly {
  fill: #a2d538;
}
.sns_btn.type3 li.line {
  fill: #a2d538;
}
.sns_btn.type3 li.tiktok {
  fill: #a2d538;
}
.sns_btn.type_w li.tel, .sns_btn.type_w li.cart, .sns_btn.type_w li.mail, .sns_btn.type_w li.youtube, .sns_btn.type_w li.facebook, .sns_btn.type_w li.twitter, .sns_btn.type_w li.instagram, .sns_btn.type_w li.hatena, .sns_btn.type_w li.poket, .sns_btn.type_w li.feedly, .sns_btn.type_w li.tiktok, .sns_btn.type_w li.line {
  width: 30px;
  height: 20px;
  background: transparent;
  box-shadow: rgba(136, 136, 136, 0) 0 0 2px 2px;
  fill: #fff;
}
.sns_btn.type_w li.instagram {
  fill: #fff;
  background-color: transparent !important;
  background: transparent !important;
}

.btn_tel_normal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 20px;
}
.btn_tel_normal > .tel {
  font-size: 4rem;
  color: #a2d538;
}
.btn_tel_normal > .tel i {
  font-size: 3rem;
}
@media all and (max-width: 639px) {
  .btn_tel_normal > .tel {
    font-size: 2.9rem;
  }
  .btn_tel_normal > .tel i {
    font-size: 2rem;
  }
}
.btn_tel_normal > .btn {
  font-size: 2rem;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #a2d538;
  color: #fff;
}
.btn_tel_normal > .btn a i {
  color: #fff;
}
@media all and (max-width: 639px) {
  .btn_tel_normal > .btn {
    width: 40px;
    height: 40px;
    font-size: 2rem;
  }
}

.btn_aline {
  display: flex;
  justify-content: center;
  gap: 0px 20px;
}
.btn_aline.center {
  text-align: center;
}
.btn_aline.col_2 li,
.btn_aline.col_2 .child {
  max-width: 100%;
  width: 100%;
}
@media all and (max-width: 639px) {
  .btn_aline.col_2 li,
  .btn_aline.col_2 .child {
    max-width: 100%;
  }
}
.btn_aline li,
.btn_aline .child {
  max-width: 360px;
  width: 100%;
}
.btn_aline li a,
.btn_aline .child a {
  max-width: 100% !important;
  width: 100% !important;
}
@media all and (max-width: 639px) {
  .btn_aline {
    display: block;
    margin: 10px auto;
  }
  .btn_aline li,
  .btn_aline .child {
    max-width: 100%;
    width: 100%;
  }
}

.btn_list_link {
  display: flex;
  margin: 10px auto;
  transition: all 0.3s 0s ease;
  max-width: 900px;
  font-weight: bold;
  align-items: center;
  text-align: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 10px;
}
@media all and (max-width: 639px) {
  .btn_list_link {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.btn_list_link li {
  padding: 3px 35px 3px 25px;
  font-size: 1.4rem;
  font-weight: normal;
  display: table-cell;
  position: relative;
  background-color: #fff;
  color: #a2d538;
  border: 1px solid #a2d538;
  border-radius: 30px;
}
.btn_list_link li:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  top: 0;
  right: 15px;
  height: 100%;
  display: grid;
  place-items: center;
  transition: all 0.3s 0s ease;
  color: #a2d538;
}
.btn_list_link li:after:after {
  right: 10px;
  color: #fff;
}
@media all and (max-width: 639px) {
  .btn_list_link li {
    width: 100%;
    padding: 5px 5px 5px 5px;
    display: block;
    font-size: 0.9rem;
  }
}
.btn_list_link li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.btn_list_link li:hover {
  background-color: #a2d538;
  color: #fff;
}
.btn_list_link li:hover:after {
  right: 10px;
  color: #fff;
}
.btn_list_link.type1 {
  margin: 0px auto;
  display: block;
  text-align: left;
}
.btn_list_link.type1 li {
  border: 0px;
  border-radius: 0;
  border-bottom: 1px dotted #aaa;
  display: block;
  padding: 5px 2px;
}
.btn_list_link.type1 li:before {
  content: "●";
  margin-right: 5px;
  color: #4bb4a1;
}

.btn_list_link02 {
  margin: 10px auto;
}
.btn_list_link02 li {
  padding: 8px 0;
  font-size: 1.5rem;
  font-weight: normal;
  display: table-cell;
  position: relative;
  background-color: #e9b9af;
  color: #a2d538;
  text-align: center;
}
.btn_list_link02 li:first-child {
  display: none;
}
@media all and (max-width: 639px) {
  .btn_list_link02 li {
    width: 100%;
    padding: 5px 5px 5px 5px;
    display: block;
    font-size: 1.2rem;
  }
  .btn_list_link02 li:first-child {
    display: block;
  }
}
.btn_list_link02 li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.btn_list_link02 li:hover {
  background-color: #a2d538;
  color: #fff;
}
.btn_list_link02 li:hover:after {
  right: 10px;
  color: #fff;
}
.btn_list_link02.type1 {
  margin: 0px auto;
  display: block;
  text-align: left;
}
.btn_list_link02.type1 li {
  border: 0px;
  border-radius: 0;
  border-bottom: 1px dotted #aaa;
  display: block;
  padding: 5px 2px;
}
.btn_list_link02.type1 li:before {
  content: "●";
  margin-right: 5px;
  color: #4bb4a1;
}

.bnr_list {
  text-align: center;
}
.bnr_list.grid1 li {
  max-width: 400px;
}
@media all and (max-width: 639px) {
  .bnr_list.grid1 li {
    max-width: 98%;
  }
}
.bnr_list.type_s li img {
  height: 45px;
}
@media all and (max-width: 639px) {
  .bnr_list.type_s li img img {
    height: 30px;
  }
}
.bnr_list li {
  margin: 0 auto;
  width: 100%;
  text-align: center;
  background: #fefefe;
  height: 100%;
  position: relative;
  padding: 1em;
}
.bnr_list li img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  height: auto;
  max-height: 60px;
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  transform: scale(1);
}
@media all and (max-width: 639px) {
  .bnr_list li {
    font-size: 12px;
    line-height: 1.5;
    margin: 0 auto 10px;
  }
}
.bnr_list li > a:hover img {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  opacity: 0.8;
  transform: scale(0.9);
}
.bnr_list .bnr_txt {
  margin-top: 4px;
  padding: 12px 0;
  line-height: 1;
}
@media all and (max-width: 639px) {
  .bnr_list .bnr_txt {
    font-size: 1.5rem;
  }
}

img.white {
  filter: brightness(0) invert(1);
}

img.shadow {
  filter: drop-shadow(5px 5px 5px #aaa);
}

img.radius {
  border-radius: 20px;
}

img.radius_r {
  border-radius: 0 20px 20px 0;
}
@media all and (max-width: 639px) {
  img.radius_r {
    border-radius: 20px;
  }
}

img.radius_l {
  border-radius: 20px 0 0 20px;
}
@media all and (max-width: 639px) {
  img.radius_l {
    border-radius: 20px;
  }
}

.img_overlay {
  position: relative;
  min-height: 350px;
  height: 100%;
  z-index: 10;
}
@media all and (max-width: 639px) {
  .img_overlay {
    min-height: 250px;
  }
}
.img_overlay.radius img {
  border-radius: 20px;
}
.img_overlay .figure01 {
  position: absolute;
  left: 0;
  width: 55%;
  height: 85%;
}
.img_overlay .figure02 {
  position: absolute;
  top: 16%;
  right: 0;
  width: 55%;
  height: 100%;
}

.img_area.size_s {
  height: 250px;
}
@media all and (max-width: 639px) {
  .img_area.size_s {
    height: 250px;
  }
}
.img_area.size_m {
  height: 350px;
}
@media all and (max-width: 639px) {
  .img_area.size_m {
    height: 250px;
  }
}
.img_area.size_b {
  height: 450px;
}
@media all and (max-width: 639px) {
  .img_area.size_b {
    height: 250px;
  }
}
.img_area img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
}

.picture {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  transition: 0.8s;
}
.picture img {
  transition: 0.8s;
}
.picture.icon {
  text-align: center;
  display: grid;
  place-items: center;
  padding: 20px 0;
  background: #f2f2f2;
  border: 1px solid #ddd;
}
.picture.icon img {
  width: 120px;
}
.picture.radius {
  border-radius: 20px;
}
.picture.size_s {
  height: 200px;
}
@media all and (max-width: 639px) {
  .picture.size_s {
    height: 200px;
  }
}
.picture.size_m {
  height: 350px;
}
@media all and (max-width: 639px) {
  .picture.size_m {
    height: 200px;
  }
}
.picture.contain img {
  object-fit: contain;
}
.picture.contain_mini {
  height: 100px;
  margin-bottom: 20px;
}
.picture.contain_mini img {
  object-fit: contain;
}
@media all and (max-width: 639px) {
  .picture {
    height: auto;
  }
}
.picture a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  transition: 0.8s;
  background-color: rgba(162, 213, 56, 0.2);
}
.picture a img {
  opacity: 0.8;
}
.picture a .link_ttl {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: #fff;
  font-size: 1.8rem;
  opacity: 0;
  visibility: hidden;
  transition: 0.8s;
}
.picture a .link_ttl .eng {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.picture a .link_ttl .small {
  font-size: 80%;
}
@media all and (max-width: 639px) {
  .picture a .link_ttl {
    opacity: 1;
    visibility: visible;
    font-size: 1.6rem;
  }
}
.picture a .link_icon {
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  display: block;
  color: #fff;
}
.picture a .link_icon i {
  border: #fff solid 2px;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  margin: auto;
  font-size: 2.3rem;
  transition: 0.8s;
  display: grid;
  place-items: center;
}
.picture a .link_icon .txt {
  text-align: center;
  font-size: 1.6rem;
}
@media all and (max-width: 639px) {
  .picture a .link_icon {
    opacity: 1;
    visibility: visible;
    font-size: 1.6rem;
  }
}
.picture a:hover {
  transition: 0.8s;
}
.picture a:hover .link_ttl {
  opacity: 1;
  visibility: visible;
  transition: 0.8s;
}
.picture a:hover img {
  transform: scale(1.05);
  transition: 0.8s;
  opacity: 0.6;
}
.picture a:hover .link_icon i {
  background-color: #fff;
  color: #a2d538;
}
.picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.picture_bg_color {
  position: relative;
}
.picture_bg_color img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.picture_bg_color.radius:after {
  border-radius: 20px;
}
.picture_bg_color.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.picture_bg_color.right {
  text-align: right;
}
.picture_bg_color.right:after {
  right: -30px;
  left: inherit;
  bottom: -30px;
}
@media all and (max-width: 639px) {
  .picture_bg_color.right:after {
    right: -10px;
    bottom: -10px;
    opacity: 0.4;
  }
}
.picture_bg_color.sub:after {
  content: "";
  background-color: #4bb4a1;
}
.picture_bg_color:after {
  content: "";
  background-color: #a2d538;
  display: block;
  position: absolute;
  right: 0px;
  bottom: -30px;
  left: -30px;
  width: calc(100% - 30px);
  height: calc(100% - 30px);
  z-index: -1;
}
@media all and (max-width: 639px) {
  .picture_bg_color:after {
    bottom: -10px;
    left: -10px;
    opacity: 0.4;
  }
}
@media all and (max-width: 639px) {
  .picture_bg_color {
    width: 90%;
    margin: 0 auto;
  }
}

.picture_dodot {
  position: relative;
}
.picture_dodot:before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#a2d538 30%, rgba(0, 0, 0, 0) 31%), radial-gradient(#a2d538 30%, rgba(0, 0, 0, 0) 31%);
  background-size: 6px 6px;
  background-position: 0 0, 3px 3px;
  z-index: -2;
}

.picture_trapezium {
  -webkit-clip-path: polygon(20% 0%, 80% 16%, 80% 98%, 20% 84%);
  clip-path: polygon(0% 0%, 100% 16%, 100% 98%, 0% 84%);
  overflow: hidden;
  position: relative;
}

.picture_arrow {
  -webkit-clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0% 100%, 5% 50%, 0% 0%);
  clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0% 100%, 5% 50%, 0% 0%);
  overflow: hidden;
  position: relative;
}

.picture_wide {
  position: relative;
  width: 100%;
  height: auto;
}
.picture_wide:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.picture_wide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.picture_two {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  display: flex;
  padding: 1em;
  gap: 1em;
}
.picture_two img {
  width: 50%;
}
.picture_two img:nth-child(2n) {
  transform: translateY(1em);
}
.picture_two.radius img {
  border-radius: 30px;
}

.mask_wave {
  margin: 30px 0;
  -webkit-mask-image: url(../img/svg/mask_wave.svg);
  mask-image: url(../img/svg/mask_wave.svg);
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
}
@media all and (max-width: 896px) {
  .mask_wave {
    margin: 10px 0;
    padding: 30px 0;
    -webkit-mask-size: cover;
    mask-size: cover;
  }
}

.cover_svg {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.cover_svg:before {
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
  margin: 0 0 auto;
  width: 100%;
  height: 100%;
  background: none top no-repeat;
  z-index: 2;
}
.cover_svg:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  margin: auto 0 0;
  width: 100%;
  height: 100%;
  background: url(../img/svg/cover_wave_bottom.svg) bottom no-repeat;
  z-index: 1;
}
.cover_svg.type_b:before {
  background: none;
}
.cover_svg #u-firstview {
  height: calc(100vh - 0px) !important;
}
@media all and (max-width: 639px) {
  .cover_svg #u-firstview {
    height: calc(90vh - 100px) !important;
  }
}

.nametag {
  width: 300px;
  margin: -20px 0 0 auto;
  position: absolute;
  z-index: 2;
  background: #4bb4a1;
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: 15px 6px;
  box-shadow: 0 0 8px rgba(51, 51, 51, 0.05);
  line-height: 1.5;
  font-size: 1.6rem;
  right: -30px;
  bottom: -30px;
  overflow: hidden;
  filter: drop-shadow(rgba(136, 136, 136, 0.2) 3px 3px 3px 3px);
}
.nametag .small {
  font-size: 80%;
}
.nametag:before {
  position: absolute;
  content: "";
  background-color: rgba(255, 255, 255, 0.2);
  z-index: -1;
  transform: rotate(45deg);
  width: 200px;
  height: 200px;
  top: -100px;
  left: -100px;
}
@media all and (max-width: 639px) {
  .nametag {
    font-size: 1.4rem;
    right: -10px;
    bottom: -10px;
  }
}

.photo_s {
  position: relative;
  width: 100%;
  height: 300px;
  margin-top: 20px;
}
@media all and (max-width: 896px) {
  .photo_s {
    margin-bottom: 80px;
  }
}
.photo_s .p1 {
  position: absolute;
  width: 340px;
  height: 227px;
  top: 50px;
  left: 0;
}
.photo_s .p1 img {
  width: 100%;
  object-fit: cover;
}
.photo_s .p2 {
  position: absolute;
  width: 238px;
  height: 161px;
  top: 0;
  right: 20px;
}
.photo_s .p2 img {
  width: 100%;
  object-fit: cover;
}
@media all and (max-width: 1100px) {
  .photo_s {
    padding-bottom: 18%;
    height: auto;
  }
  .photo_s .p1 {
    width: 50%;
  }
  .photo_s .p2 {
    width: 35%;
  }
}
@media all and (max-width: 639px) {
  .photo_s {
    padding-bottom: 54%;
  }
  .photo_s .p1 {
    width: 55%;
  }
  .photo_s .p2 {
    width: 40%;
    right: 0px;
  }
}

.tbl_scroll {
  width: 100%;
}
@media all and (max-width: 639px) {
  .tbl_scroll {
    overflow-x: scroll;
    overflow-y: hidden;
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 10px;
    overflow: auto;
    white-space: nowrap;
  }
  .tbl_scroll table {
    width: 600px !important;
  }
  .tbl_scroll .sitemap {
    width: 500px !important;
  }
  .tbl_scroll::-webkit-scrollbar {
    height: 5px;
  }
  .tbl_scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  .tbl_scroll::-webkit-scrollbar-thumb {
    background: #bcbcbc;
  }
  .tbl_scroll::-webkit-scrollbar-piece {
    background: #eee;
  }
}

.tbl {
  width: 100%;
  margin: 10px 0;
}
.tbl.color {
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl.color th,
.tbl.color td {
  padding: 10px;
  border: 2px solid #fff;
}
.tbl.color th {
  background-color: rgba(162, 213, 56, 0.8);
  color: #fff;
}
.tbl.color th span {
  font-size: 1.4rem;
}
.tbl.color td {
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl.color02 {
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl.color02 tr th:nth-child(2) {
  background-color: rgba(162, 213, 56, 0.5);
}
.tbl.color02 tr td:nth-child(2) {
  background-color: rgba(255, 255, 89, 0.2);
}
.tbl.color02 th,
.tbl.color02 td {
  padding: 25px 10px;
  border: 2px solid #fff;
  line-height: 1.4;
}
.tbl.color02 th em,
.tbl.color02 td em {
  display: block;
  font-weight: bold;
  font-style: normal;
  font-size: 6rem;
  line-height: 1;
}
@media all and (max-width: 639px) {
  .tbl.color02 th em,
  .tbl.color02 td em {
    font-size: 2rem;
  }
}
.tbl.color02 th {
  background-color: rgba(162, 213, 56, 0.8);
  color: #fff;
  font-size: 200%;
  line-height: 1.2;
}
.tbl.color02 th span {
  font-size: 1.4rem;
}
.tbl.color02 td {
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl.col_2 th {
  width: 50%;
}
.tbl.col_3 th {
  width: 33.3333333333%;
}
.tbl.col_4 th {
  width: 25%;
}
.tbl.col_5 th {
  width: 20%;
}
.tbl.col_6 th {
  width: 16.6666666667%;
}
.tbl.col_7 th {
  width: 14.2857142857%;
}
.tbl.col_8 th {
  width: 12.5%;
}
.tbl.col_9 th {
  width: 11.1111111111%;
}
.tbl.col_10 th {
  width: 10%;
}
.tbl th,
.tbl td {
  padding: 10px;
  vertical-align: middle;
  border: 1px solid #aaa;
}
.tbl th {
  background: #eee;
}
.tbl th span {
  font-size: 1.4rem;
}
.tbl a {
  text-decoration: underline;
}
.tbl a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1c1";
  font-weight: 900;
  color: #d81e1e;
  margin-right: 3px;
}
.tbl.callendar {
  text-align: center;
}
.tbl.callendar th {
  width: 12.5%;
}
.tbl.callendar td {
  width: 12.5%;
}
@media all and (max-width: 639px) {
  .tbl {
    font-size: 1.1rem !important;
    padding: 5px;
  }
  .tbl th,
  .tbl td {
    font-size: 1.1rem !important;
  }
}
.tbl td.price {
  text-align: right;
  font-size: 1.2em;
  font-weight: 600;
}
.tbl td.price span {
  font-size: 1.1rem;
}
.tbl .cell01 {
  width: 25%;
}
@media all and (max-width: 639px) {
  .tbl th {
    width: 35%;
    text-align: left;
  }
  .tbl th,
  .tbl td {
    padding: 10px;
  }
}

.tbl_border {
  width: 100%;
}
.tbl_border .t-right {
  text-align: right;
}
.tbl_border th,
.tbl_border td {
  padding: 15px;
  border-bottom: 2px solid #888;
  vertical-align: middle;
}
.tbl_border th.type1,
.tbl_border td.type1 {
  width: 190px;
}
@media all and (max-width: 639px) {
  .tbl_border th.type1,
  .tbl_border td.type1 {
    width: 150px;
  }
}
.tbl_border th.b-no,
.tbl_border td.b-no {
  padding-bottom: 0;
  border-bottom: none;
}
.tbl_border th.tm-no,
.tbl_border td.tm-no {
  padding-top: 0;
}
@media all and (max-width: 639px) {
  .tbl_border th,
  .tbl_border td {
    padding: 10px;
    font-size: 1.2rem;
  }
}
.tbl_border th {
  width: 25%;
  text-align: left;
  font-weight: 600;
  border-bottom-color: #a2d538;
}
.tbl_border th.th-1 {
  width: 45%;
}
.tbl_color {
  width: 100%;
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl_color .t-right {
  text-align: right;
}
.tbl_color.col_2 th,
.tbl_color.col_2 td {
  width: 50%;
}
.tbl_color.radius tr:first-child th {
  border-radius: 20px 0 0 0;
}
.tbl_color.radius tr:first-child td {
  border-radius: 0 20px 0 0;
}
.tbl_color.radius tr:last-child th {
  border-radius: 0 0 0 20px;
}
.tbl_color.radius tr:last-child td {
  border-radius: 0 0 20px 0;
}
.tbl_color.bar td {
  padding: 25px;
  border-right: 3px solid #fff;
}
.tbl_color.white {
  border-top: 2px #fff solid;
  border-left: 2px #fff solid;
  border-right: 2px #fff solid;
}
.tbl_color.white th {
  width: 40%;
}
.tbl_color.black {
  background-color: rgba(17, 17, 17, 0.1);
}
.tbl_color.black th,
.tbl_color.black td {
  border-bottom: 3px solid rgba(255, 255, 255, 0);
}
.tbl_color.black th {
  background-color: rgba(17, 17, 17, 0.6);
  border-right: 3px solid rgba(255, 255, 255, 0);
}
.tbl_color.black tr:nth-child(2n) {
  background-color: rgba(17, 17, 17, 0.05);
}
.tbl_color.black tr:nth-child(2n) th {
  background-color: rgba(17, 17, 17, 0.9);
}
.tbl_color.black tr:hover {
  background-color: rgba(17, 17, 17, 0.12);
  transition: 0.2s;
}
.tbl_color.black tr:hover th {
  background-color: rgba(17, 17, 17, 0.62);
}
.tbl_color.sub {
  background-color: rgba(75, 180, 161, 0.1);
}
.tbl_color.sub th,
.tbl_color.sub td {
  border-bottom: 3px solid rgba(255, 255, 255, 0);
}
.tbl_color.sub th {
  background-color: rgba(75, 180, 161, 0.6);
  border-right: 3px solid rgba(255, 255, 255, 0);
}
.tbl_color.sub tr:nth-child(2n) {
  background-color: rgba(75, 180, 161, 0.05);
}
.tbl_color.sub tr:nth-child(2n) th {
  background-color: rgba(75, 180, 161, 0.9);
}
.tbl_color.sub tr:hover {
  background-color: rgba(75, 180, 161, 0.12);
  transition: 0.2s;
}
.tbl_color.sub tr:hover th {
  background-color: rgba(75, 180, 161, 0.62);
}
.tbl_color tr:nth-child(2n) {
  background-color: rgba(162, 213, 56, 0.05);
}
.tbl_color tr:nth-child(2n) th {
  background-color: rgba(162, 213, 56, 0.9);
}
.tbl_color tr:hover {
  background-color: rgba(162, 213, 56, 0.12);
  transition: 0.2s;
}
.tbl_color tr:hover th {
  background-color: rgba(162, 213, 56, 0.92);
}
.tbl_color th,
.tbl_color td {
  padding: 25px;
  border-bottom: 3px solid #fff;
  vertical-align: middle;
}
.tbl_color th.type1,
.tbl_color td.type1 {
  width: 190px;
}
@media all and (max-width: 639px) {
  .tbl_color th.type1,
  .tbl_color td.type1 {
    width: 150px;
  }
}
.tbl_color th.b-no,
.tbl_color td.b-no {
  padding-bottom: 0;
  border-bottom: none;
}
.tbl_color th.tm-no,
.tbl_color td.tm-no {
  padding-top: 0;
}
@media all and (max-width: 639px) {
  .tbl_color th,
  .tbl_color td {
    padding: 10px;
    font-size: 1.2rem;
  }
}
.tbl_color th {
  width: 25%;
  background-color: rgba(162, 213, 56, 0.8);
  color: #fff;
  text-align: left;
  font-weight: 600;
  border-right: 3px solid #fff;
}
.tbl_color th.th-1 {
  width: 45%;
}
@media all and (max-width: 639px) {
  .tbl_color.res th,
  .tbl_color.res td {
    width: 100%;
    display: block;
    text-align: center;
  }
}

.tbl_simple {
  margin: 32px 0;
  background: transparent;
  font-size: 90%;
  width: 100%;
}
.tbl_simple.white td,
.tbl_simple.white th {
  border-top: #fff 1px solid;
  border-bottom: #fff 1px solid;
}
.tbl_simple.type_s th {
  padding: 5px 8px;
  width: 80px;
  font-size: 1.2rem;
}
.tbl_simple.type_s td {
  font-size: 1.2rem;
}
.tbl_simple th {
  text-align: left;
  vertical-align: middle;
  padding: 16px 8px;
  font-weight: normal;
  line-height: 1.5;
  border-top: #888 1px solid;
  border-left: #888 0px solid;
  border-right: #888 0px solid;
  border-bottom: #888 1px solid;
  width: 25%;
}
@media all and (max-width: 639px) {
  .tbl_simple th {
    width: 35%;
  }
}
.tbl_simple td {
  padding: 5px 10px;
  vertical-align: middle;
  border-top: #888 1px solid;
  border-bottom: #888 1px solid;
  border-left: #888 0px solid;
  border-right: #888 0px solid;
}
.tbl_simple td b {
  color: #d81e1e;
}

.tbl_fee {
  width: 100%;
  line-height: 1.2;
  margin-bottom: 20px;
  background-color: #fafafa;
}
.tbl_fee.type1 {
  background-color: #fff;
  border: 0px solid #333;
}
.tbl_fee.type1 th,
.tbl_fee.type1 td {
  vertical-align: top;
  padding: 15px 0px;
  border-bottom: 1px solid #333;
}
.tbl_fee.type1 td {
  color: #a2d538;
  font-family: "Noto Serif JP", "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
}
.tbl_fee.type1 tr:nth-child(even) {
  background-color: rgba(162, 213, 56, 0);
}
.tbl_fee tr:nth-child(even) {
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl_fee th,
.tbl_fee td {
  vertical-align: top;
  padding: 15px 10px;
}
.tbl_fee th span,
.tbl_fee td span {
  font-size: 80%;
}
.tbl_fee th {
  text-align: left;
  font-weight: 500;
}
.tbl_fee td {
  text-align: right;
  font-size: 1.2em;
  font-weight: 600;
  color: #a2d538;
}
.tbl_fee td.price {
  color: #a2d538;
}
.tbl_fee td span {
  font-size: 1.1rem;
}

.tbl_price_calc {
  width: 100%;
}
.tbl_price_calc th,
.tbl_price_calc td {
  font-size: 1.4rem;
  padding: 15px;
  vertical-align: middle;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
}
.tbl_price_calc th span.price,
.tbl_price_calc td span.price {
  font-size: 2rem;
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .tbl_price_calc th span.price,
  .tbl_price_calc td span.price {
    font-size: 1.4rem;
  }
}
.tbl_price_calc th .small,
.tbl_price_calc td .small {
  font-weight: normal;
}
.tbl_price_calc th {
  background: rgba(162, 213, 56, 0.1);
  border: 2px solid #a2d538;
}
.tbl_price_calc td {
  background-color: #eff4dd;
}
.tbl_price_calc .th-1 {
  background-color: #fff !important;
  padding: 5px;
  font-weight: 3.2rem;
}
@media all and (max-width: 639px) {
  .tbl_price_calc th,
  .tbl_price_calc td {
    padding: 10px 5px;
    font-size: 10px;
  }
  .tbl_price_calc th span,
  .tbl_price_calc td span {
    font-size: 10px;
  }
}

.tbl_price_kaigo {
  width: 100%;
}
.tbl_price_kaigo th,
.tbl_price_kaigo td {
  padding: 15px;
  vertical-align: middle;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  border: 1px solid #fff;
}
.tbl_price_kaigo th .small,
.tbl_price_kaigo td .small {
  font-weight: normal;
}
.tbl_price_kaigo tr {
  background-color: #e1edc5;
}
.tbl_price_kaigo tr:nth-child(even) td {
  background-color: #e1edc5;
}
.tbl_price_kaigo th {
  background: #c1db80;
}
.tbl_price_kaigo td {
  background-color: #eff4dd;
}
.tbl_price_kaigo .th-1 {
  background-color: #fff !important;
  padding: 5px;
}
@media all and (max-width: 639px) {
  .tbl_price_kaigo th,
  .tbl_price_kaigo td {
    padding: 10px 5px;
    font-size: 10px;
  }
  .tbl_price_kaigo th span,
  .tbl_price_kaigo td span {
    font-size: 10px;
  }
}

.tbl_flow {
  width: 100%;
  background-color: rgba(162, 213, 56, 0.1);
}
.tbl_flow tr td {
  background: #fdeff4;
}
.tbl_flow tr td:nth-child(2n) {
  background: #fffdeb;
  font-weight: bold;
}
.tbl_flow tr td:nth-child(3n) {
  background: #dbf1fc;
}
.tbl_flow tr th {
  background: #fdeff4;
}
.tbl_flow tr th:nth-child(2n) {
  background: #fffdeb;
  font-weight: bold;
}
.tbl_flow tr th:nth-child(3n) {
  background: #dbf1fc;
}
.tbl_flow .t-right {
  text-align: right;
}
.tbl_flow.bar td {
  padding: 25px;
  border-right: 3px solid #fff;
}
.tbl_flow th,
.tbl_flow td {
  padding: 25px;
  border-bottom: 1px solid #333;
  vertical-align: middle;
}
@media all and (max-width: 639px) {
  .tbl_flow th,
  .tbl_flow td {
    padding: 5px;
    font-size: 1rem;
  }
}
.tbl_flow th {
  width: 33.33%;
  font-weight: 600;
}
@media all and (max-width: 639px) {
  .tbl_flow th {
    padding: 15px 5px;
  }
}
.tbl_flow th.th-1 {
  width: 45%;
}
.tbl_company {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 5px;
}
.tbl_company th,
.tbl_company td {
  padding: 10px 10px;
  vertical-align: middle;
}
.tbl_company th {
  text-align: left;
  width: 25%;
  position: relative;
  background: #a2d538;
  color: #fff;
  font-weight: 600;
}
.tbl_company th::after {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: #f9f9f9;
  border-width: 10px;
  border-left-color: #a2d538;
  margin-top: -10px;
}
.tbl_company td {
  background: #f9f9f9;
  padding-left: 20px;
}

.tbl_time .box {
  background: #fff;
  padding: 15px 0px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
}
.tbl_time.blue .box {
  background: rgba(41, 126, 222, 0.1);
}
.tbl_time.blue tbody td {
  color: #297ede;
}
.tbl_time.white table {
  color: #fff;
}
.tbl_time.white thead th {
  font-weight: normal;
  line-height: 1.5;
  padding: 18px 0 9px;
  background-color: #fff;
  color: #a2d538;
  border-bottom: 1px solid #fff;
  text-align: center;
}
.tbl_time.white th,
.tbl_time.white td {
  padding: 15px 2px;
  color: #fff;
}
.tbl_time.white tr {
  border-bottom: 1px solid #fff;
}
.tbl_time table {
  color: #333;
}
.tbl_time th {
  font-weight: 500;
  font-weight: 500;
}
.tbl_time tbody td {
  color: #a2d538;
}
.tbl_time table {
  width: 100%;
  max-width: 550px;
  margin: 0 auto;
}
.tbl_time.day8 table {
  max-width: 470px;
}
.tbl_time thead th {
  font-weight: normal;
  line-height: 1.5;
  padding: 9px 0 9px;
  border-bottom: 1px solid #aaa;
  text-align: center;
}
.tbl_time thead th:first-child {
  width: 36%;
}
.tbl_time tbody th {
  width: 36%;
  text-align: center;
}
.tbl_time.day8 thead th:first-child,
.tbl_time.day8 tbody th {
  width: 33%;
}
.tbl_time tbody th,
.tbl_time tbody td {
  padding: 4px 0;
  line-height: 1.5;
}
.tbl_time tbody th {
  font-weight: normal;
  padding-right: 13px;
}
.tbl_time thead th:not(:first-child),
.tbl_time tbody td {
  width: 8.1666666667%;
  text-align: left;
}
.tbl_time.day8 tbody th {
  padding-right: 10px;
}
.tbl_time.day8 thead th:not(:first-child),
.tbl_time.day8 tbody td {
  width: 7.5714285714%;
}
.tbl_time.day8 thead th:last-child,
.tbl_time.day8 tbody td:last-child {
  width: 11%;
}
.tbl_time tbody td {
  font-size: 77.78%;
  padding-left: 0.05em;
}
.tbl_time tbody tr:first-child th {
  padding-left: 0.6em;
}

.tbl_timetable {
  width: 100%;
}
.tbl_timetable.type1 {
  border-top: none;
}
.tbl_timetable.type1 th,
.tbl_timetable.type1 td {
  border: none;
}
.tbl_timetable.white {
  color: #fff;
  border: 1px solid #fff;
}
.tbl_timetable.white th,
.tbl_timetable.white td {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.tbl_timetable th:nth-child(n+2) {
  width: 5em !important;
}
@media all and (max-width: 639px) {
  .tbl_timetable th:nth-child(n+2) {
    width: 3em !important;
  }
}
.tbl_timetable th,
.tbl_timetable td {
  border-bottom: 1px solid rgba(162, 213, 56, 0.3);
  padding: 20px 5px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
  font-weight: normal;
}
.tbl_timetable th .txt,
.tbl_timetable td .txt {
  letter-spacing: 0;
  font-size: 12px;
}
@media all and (max-width: 639px) {
  .tbl_timetable th,
  .tbl_timetable td {
    font-size: 12px;
  }
}
.tbl_timetable thead tr {
  background: #a2d538;
  color: #fff;
}
.tbl_timetable .th-1 {
  width: 35%;
  text-align: center;
  font-weight: normal;
}
.tbl_timetable .circle,
.tbl_timetable b {
  color: #4bb4a1;
}
.tbl_timetable .circle.type-brown,
.tbl_timetable b.type-brown {
  color: #a2d538;
}
.tbl_timetable .triangle {
  color: #0083de;
}
@media all and (max-width: 639px) {
  .tbl_timetable {
    padding: 15px 10px;
  }
  .tbl_timetable .th-1 {
    width: 25%;
  }
}
.tbl_timetable.type2 .circle {
  color: #a2d538;
}

.news_list.type1 > li {
  box-shadow: rgba(170, 170, 170, 0) 0 0 5px 5px;
  background-color: #fff;
  border-bottom: 1px solid #eee;
}
.news_list.type1 > li .data {
  color: #333;
  background-color: inherit;
  border-right: 1px solid #aaa;
  padding: 1px 8px;
  margin-right: 8px;
}
@media all and (max-width: 639px) {
  .news_list.type1 > li .data {
    margin-right: 0px;
    border-right: 0px solid #aaa;
  }
}
.news_list > li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  padding: 16px;
  position: relative;
  box-shadow: rgba(17, 17, 17, 0.2) 0 1px;
  background-color: #fff;
}
.news_list > li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.news_list > li a:hover {
  background-color: rgba(242, 242, 242, 0.4);
}
.news_list > li a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  top: 0;
  right: 15px;
  height: 100%;
  display: grid;
  place-items: center;
  transition: all 0.3s 0s ease;
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .news_list > li a:after {
    top: -7px;
    place-items: end;
  }
}
.news_list > li a:after:after {
  right: 10px;
}
.news_list > li a:hover:after {
  right: 10px;
}
.news_list > li:not(:last-of-type) {
  margin-bottom: 15px;
}
.news_list > li .data {
  color: #fff;
  padding: 1px 16px;
  min-width: 120px;
  background-color: #a2d538;
  text-align: center;
}
.news_list > li .tag {
  color: #a2d538;
  background-color: #eee;
  border: 1px solid #eee;
  padding: 0px 16px;
  margin-left: 5px;
  min-width: 120px;
  text-align: center;
  /*background: #111;*/
}
.news_list > li .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0;
  padding: 4px 0 0 10px;
  line-height: 1.4;
}
@media all and (max-width: 896px) {
  .news_list > li .data {
    display: inline-block;
    padding: 3px 6px;
    margin-left: 0;
  }
  .news_list > li .tag {
    padding: 2px 6px;
    margin-left: 8px;
  }
  .news_list > li .txt {
    flex: 100;
    margin: 5px 0 0;
    width: 100%;
    display: block;
    font-size: 1.2rem;
  }
}
@media all and (max-width: 639px) {
  .news_list > li {
    padding: 4px;
    justify-content: space-between;
  }
  .news_list > li .data {
    width: 49%;
    padding: 1px 6px;
    text-align: center;
  }
  .news_list > li .tag {
    width: 49%;
    padding: 1px 6px 0px;
    margin-left: 4px;
  }
  .news_list > li .txt {
    padding: 8px 0;
    margin-left: 4px;
    flex: none;
  }
}

.list_products li {
  padding-bottom: 50px;
  position: relative;
  background-color: #fff;
}
.list_products li a {
  color: inherit;
}
@media all and (max-width: 639px) {
  .list_products li {
    padding: 0 0 5px;
  }
}
.list_products li table {
  margin: 15px;
  width: calc(100% - 30px);
  font-size: 80%;
}
.list_products li table th {
  width: 5em !important;
}
.list_products li table th,
.list_products li table td {
  padding: 5px 5px !important;
  font-weight: normal !important;
}
.list_products li .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: normal;
}
.list_products li .figure,
.list_products li figure {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #fff;
}
.list_products li .figure:before,
.list_products li figure:before {
  content: "";
  display: block;
  padding-top: 80%;
}
.list_products li .figure img,
.list_products li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.list_products li .category span {
  color: #a2d538;
  border: 1px solid #a2d538;
  padding: 5px 15px;
  line-height: 1;
  display: inline-block;
  border-radius: 10px;
}
.list_products li .category span.white span {
  color: #fff;
  border: 1px solid #fff;
  padding: 5px 15px;
  line-height: 1;
  text-align: center;
  margin: 0 auto;
}
.list_products li .ttl {
  margin: 10px 0;
  font-size: 120%;
  border-bottom: 1px solid #aaa;
  display: inline-block;
}
.list_products li .price {
  font-weight: bold;
  margin: 0 10px;
}

.list_circle > li {
  position: relative;
  width: 100%;
  height: auto;
}
.list_circle > li:before {
  display: block;
  content: "";
  padding-top: 100%;
}
.list_circle > li .list_circle_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #81cbbd;
  border: #a2d538 2px solid;
  text-align: center;
}

.list_amenity li {
  width: calc(100% - 0px);
  height: calc(100% - 1px);
  padding: 0 0 0 8px;
  background-color: #f2f2f2;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.list_amenity span {
  background: #fafafa;
  width: 40px;
  padding: 5px 0;
  text-align: center;
}

.list_grd li {
  align-items: center;
  padding: 16px 0.5em;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
  font-weight: bold;
  line-height: 1.3;
  color: #999;
  background: white;
  border-left: solid 6px #d1cab6;
  -webkit-box-shadow: 2px 2px 6px #aaa inset;
  box-shadow: 2px 2px 6px #aaa inset;
  -webkit-transform: skewX(-5deg);
  -ms-transform: skewX(-5deg);
  transform: skewX(-5deg);
  font-size: 1.8rem;
}
.list_grd li span {
  font-size: 1.6rem;
}
@media all and (max-width: 639px) {
  .list_grd li {
    font-size: 1.3rem;
  }
  .list_grd li span {
    font-size: 1rem;
  }
}

.list_common li {
  padding-bottom: 5px;
  padding-left: 1rem;
  margin-bottom: 5px;
  border-bottom: 1px dotted #cccccc;
}
.list_common li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.list_policy {
  background: rgba(255, 255, 255, 0.7);
  padding: 25px;
  margin-bottom: 40px;
}
.list_policy li {
  font-family: "YakuHanJP", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  padding-bottom: 5px;
  margin-bottom: 6px;
  font-weight: 600;
}
.list_policy li:before {
  content: "一、";
  margin-right: 7px;
  color: #a2d538;
}
@media all and (max-width: 639px) {
  .list_policy {
    padding: 15px;
  }
  .list_policy li {
    font-size: 1.4rem;
  }
}

.list_check.sub li:before {
  color: #4bb4a1;
}
.list_check li {
  padding: 8px;
  font-weight: 600;
}
.list_check li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  font-weight: 900;
  margin-right: 8px;
  color: #a2d538;
}
.list_check li:not(:last-child) {
  margin-bottom: 4px;
  border-bottom: 1px solid #ccc;
}

.list_inline li {
  display: inline-block;
  padding: 3px;
}
.list_inline li:not(:last-of-type):after {
  content: "/";
  margin: 0 5px;
  color: #a2d538;
  font-weight: normal;
}
@media all and (max-width: 639px) {
  .list_inline li {
    display: block;
    padding: 0;
  }
  .list_inline li:before {
    content: "-";
    color: #a2d538;
  }
  .list_inline li:not(:last-of-type):after {
    display: none;
  }
}

.list_inline2 {
  text-align: center;
  margin: 10px auto;
}
.list_inline2 li {
  display: inline-block;
  padding: 4px 15px;
  background: #fefefe;
  border: 1px solid #888;
  font-weight: 600;
  border-radius: 30px;
  margin-bottom: 10px;
}
.list_inline2 li:not(:last-child) {
  margin-right: 8px;
}
@media all and (max-width: 639px) {
  .list_inline2 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
  .list_inline2 li:not(:last-child) {
    margin-right: 0px;
  }
}

.list_disc {
  margin: 15px 0;
}
.list_disc.black li:before {
  content: "●";
  color: #aaa;
}
.list_disc.sub li:before {
  content: "●";
  color: #4bb4a1;
}
.list_disc li {
  position: relative;
  line-height: 1.8em;
  padding-left: 1.5em;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
}
.list_disc li:last-of-type {
  margin-bottom: 0;
}
.list_disc li:before {
  content: "●";
  color: #a2d538;
  position: absolute;
  top: 0;
  left: 0;
}

.list_kome > li {
  position: relative;
  line-height: 1.8em;
  padding-left: 1.5em;
  margin-bottom: 5px;
}
.list_kome > li:last-of-type {
  margin-bottom: 0;
}
.list_kome > li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.ol_list {
  counter-reset: number;
  list-style: none;
  padding: 5px;
}
.ol_list.white li {
  color: #fff;
}
.ol_list.white li:before {
  color: #333;
  border-left: #f2f2f2;
  border-top: #f2f2f2;
  background: #fff;
}
.ol_list li {
  line-height: 1.8em;
  padding: 5px 0 5px 2.8em;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.ol_list li span {
  font-weight: normal;
  padding: 10px;
  line-height: 1.6;
  font-size: 80%;
}
.ol_list li:before {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  counter-increment: number;
  content: counter(number);
  background: rgba(162, 213, 56, 0.6);
  color: #a2d538;
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 30px;
  height: 30px;
  text-align: center;
  color: #fff;
  margin-right: 10px;
  border-radius: 100%;
  display: grid;
  place-items: center;
}
@media all and (max-width: 639px) {
  .ol_list li span {
    font-size: 0.9em;
  }
}
.ol_list.square > li:before {
  border-radius: 0;
}

.ol_list_main {
  counter-reset: number;
  list-style: none;
}
.ol_list_main li {
  line-height: 1.8;
  padding: 0.5em;
  border-bottom: 2px dotted #aaa;
  position: relative;
  font-size: 1.8rem;
  font-weight: bold;
}
.ol_list_main li:before {
  position: relative;
  counter-increment: number;
  content: counter(number);
  display: grid;
  font-size: 7rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px #c9e78c;
  transition: -webkit-text-stroke 0.2s;
  will-change: -webkit-text-stroke;
}
@media all and (max-width: 639px) {
  .ol_list_main {
    padding-left: 0 !important;
    margin: 2em auto;
  }
  .ol_list_main li {
    font-size: 1.4rem;
    padding: 0.5em 0.2em 1.5em 3em;
  }
  .ol_list_main li:before {
    position: absolute;
    top: 0.2em;
    left: 0;
    font-size: 4rem;
    -webkit-text-stroke: 1px #a2d538;
  }
}

.dl_list {
  overflow: hidden;
  font-size: 1.4rem;
  margin: 20px 0;
}
.dl_list dt {
  float: left;
  width: 9em;
  padding: 5px;
  line-height: 1.3;
  color: #fff;
  text-align: center;
  border: 1px solid #a2d538;
  border-radius: 30px;
  background: #a2d538;
  font-size: 1.3rem;
}
@media all and (max-width: 639px) {
  .dl_list dt {
    font-size: 1.2rem;
  }
}
.dl_list dd {
  padding: 0 0 12px 10.2em;
  line-height: 1.6;
  border-bottom: 1px dotted #dddddd;
  margin: 0 0 10px;
}
.dl_list dd a {
  color: #333;
  background-image: linear-gradient(to right, #a2d538, #1fa33a);
  padding-bottom: 0.25em;
  background-position: 100% 100%;
  background-size: 0% 1px;
  background-repeat: no-repeat;
  transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  font-weight: 700;
}
.dl_list dd a:hover {
  background-position: 0 100%;
  background-size: 100% 1px;
}
.dl_list dd:last-child {
  margin: 0;
  border-bottom: none;
}
@media all and (max-width: 639px) {
  .dl_list dt {
    float: none;
  }
  .dl_list dd {
    padding: 8px 5px;
  }
}

.accordion {
  position: relative;
}
.accordion .open {
  display: block;
  line-height: 1.6;
  border: none;
  cursor: pointer;
  font-size: 1.6rem;
  transition: 0.5s ease-in;
  position: relative;
  padding: 20px 60px;
  margin: 0;
  background: #f2f2f2;
  font-weight: 600;
  border: 1px solid #eee;
  background-color: rgba(162, 213, 56, 0.2);
}
@media all and (max-width: 639px) {
  .accordion .open {
    font-size: 1.3rem;
  }
}
.accordion .open:hover {
  background-color: rgba(162, 213, 56, 0.1);
}
.accordion .open:before {
  content: "Q";
  position: absolute;
  left: 15px;
  top: 33px;
  width: 35px;
  height: 35px;
  font-size: 2rem;
  display: inline-block;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  text-align: center;
  background: #fff;
  color: #a2d538;
  border-radius: 50%;
  transform: translateY(-50%);
}
.accordion .open:after {
  font-family: "Font Awesome 5 Free";
  content: "\+";
  font-weight: 900;
  color: #a2d538;
  font-size: 2rem;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-46%);
}
.accordion .open.active {
  background-color: rgba(162, 213, 56, 0.2);
}
.accordion .open.active:after {
  font-family: "Font Awesome 5 Free";
  content: "\f068";
  font-weight: 900;
}
.accordion > .panel {
  max-height: 0;
  overflow: hidden;
  transition: 0.3s ease-out;
  margin-bottom: 10px;
}
.accordion > .panel .inner {
  padding: 20px 20px;
  background-color: rgba(162, 213, 56, 0.1);
  margin: 0 0 15px;
  position: relative;
  padding-left: 60px;
}
.accordion > .panel .inner:before {
  content: "A";
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
  font-size: 2rem;
  position: absolute;
  left: 15px;
  display: inline-block;
  text-align: center;
  width: 35px;
  height: 35px;
  line-height: 35px;
  background: #fff;
  color: #d81e1e;
  border-radius: 50%;
}

.hr_deco {
  display: block;
  margin: 2em auto;
  border-top: 0px solid rgba(0, 0, 0, 0.1);
  border-bottom: 0px solid rgba(255, 255, 255, 0.3);
  width: 100%;
  height: 0.7rem;
  background: repeating-linear-gradient(-45deg, transparent 0, transparent 0.3rem, rgba(170, 170, 170, 0.2) 0.3rem, rgba(170, 170, 170, 0.2) 0.7rem);
}
.hr_deco.sub {
  background: repeating-linear-gradient(-45deg, transparent 0, transparent 0.3rem, rgba(75, 180, 161, 0.2) 0.3rem, rgba(75, 180, 161, 0.2) 0.7rem);
}
.hr_deco.base {
  background: repeating-linear-gradient(-45deg, transparent 0, transparent 0.3rem, rgba(162, 213, 56, 0.2) 0.3rem, rgba(162, 213, 56, 0.2) 0.7rem);
}

.hr_border {
  display: block;
  margin: 2em auto;
  border-bottom: 0px solid rgba(255, 255, 255, 0.3);
  width: 100%;
  height: 2px;
  background: #a2d538;
  margin: 2rem auto;
}

.hr_bar {
  display: block;
  border-bottom: 0px solid rgba(255, 255, 255, 0.3);
  width: 100%;
  margin: 2em auto;
  text-align: center;
  position: relative;
}
.hr_bar:before {
  content: "";
  background-color: #a2d538;
  background-size: contain;
  background-image: linear-gradient(to right, #a2d538 50%, #aaa 50%);
  z-index: 1;
  width: 120px;
  height: 3px;
  position: absolute;
  top: -2em;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.hr_down_arrow {
  display: block;
  border-bottom: 0px solid rgba(255, 255, 255, 0.3);
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 300px 0 300px;
  border-color: #f2f2f2 transparent transparent transparent;
}
@media all and (max-width: 639px) {
  .hr_down_arrow {
    border-width: 50px 150px 0 150px;
  }
}
.hr_down_arrow.base_color {
  border-color: #a2d538 transparent transparent transparent !important;
}

.hr_img01 {
  text-align: center;
  position: relative;
  width: 100%;
  height: 20px;
  margin: 2em auto;
}
.hr_img01:before {
  content: "";
  background: url(../img/hr/03.png) repeat-x center center;
  background-size: auto 20px;
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
@media all and (max-width: 639px) {
  .hr_img01:before {
    background-size: auto 10px;
    height: 10px;
  }
}
.hr_img01.type_2:before {
  content: "";
  background: url(../img/hr/04.png) repeat-x center center;
}

[data-tab-content] {
  display: none;
}
[data-tab-content].active {
  display: block;
}

.tab_nav {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin: 0 0 1rem;
  border: none;
  border-radius: 3px;
  background: #fff;
}
.tab_nav .item {
  width: 25%;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 20px 0;
  align-items: center;
  text-decoration: none;
}
@media all and (max-width: 639px) {
  .tab_nav .item {
    padding: 10px 0;
    font-size: 1.1rem;
  }
}
.tab_nav .item.active {
  position: relative;
  z-index: 1;
  color: #fff;
}
.tab_nav .item:first-child.active ~ .tab_view {
  transform: translateX(0) scaleX(0.25);
}
.tab_nav .item:nth-child(2).active ~ .tab_view {
  transform: translateX(25%) scaleX(0.25);
}
.tab_nav .item:nth-child(3).active ~ .tab_view {
  transform: translateX(50%) scaleX(0.25);
}
.tab_nav .item:nth-child(4).active ~ .tab_view {
  transform: translateX(75%) scaleX(0.25);
}

.tab_view {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: 0 0;
  transition: transform 0.25s;
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
  }
}
.tab_content {
  padding: 20px 0;
}
.tab_content.active {
  animation: fadeIn 0.7s ease 0s 1 normal;
}

.tabbtn01 {
  overflow: hidden;
  position: relative;
  background-color: #a2d538;
}
.tabbtn01:before {
  background-color: rgba(255, 255, 255, 0.3);
  content: "";
  display: block;
  transform: rotate(48deg);
  position: absolute;
  top: -125px;
  right: -160px;
  width: 300px;
  height: 280px;
}
.tabbtn01 .actab {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 1px;
  color: #1b2538;
  transition: 0.5s;
}
.tabbtn01 .actab > input {
  position: absolute;
  opacity: 0;
  transition: 0.5s;
}
.tabbtn01 .actab label {
  font-weight: bold;
  font-size: 3rem;
  text-align: center;
  color: #fff;
  line-height: 1.2;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 1em 2em 1em 1em;
  cursor: pointer;
}
@media all and (max-width: 639px) {
  .tabbtn01 .actab label {
    font-size: 1.8rem;
  }
}
.tabbtn01 .actab label span {
  font-size: 1.6rem;
  font-weight: normal;
}
@media all and (max-width: 639px) {
  .tabbtn01 .actab label span {
    font-size: 1.1rem;
  }
}
.tabbtn01 .actab label:hover {
  color: #fff;
}
.tabbtn01 .actab .content {
  overflow: hidden;
  max-height: 0;
  transition: 0.5s;
}
.tabbtn01 .actab .content .bx {
  padding: 0 20px 20px;
}
@media all and (max-width: 639px) {
  .tabbtn01 .actab .content .bx {
    padding: 0;
  }
}
.tabbtn01 .actab input:checked ~ label {
  color: #fff;
}
.tabbtn01 .actab input:checked ~ .content {
  max-height: 300em;
}
.tabbtn01 .actab label::after {
  line-height: 1.6;
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 3em;
  margin-top: -20.5px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  text-align: center;
}
.tabbtn01 .actab input[type=checkbox] + label::after {
  content: "＋";
}
.tabbtn01 .actab input[type=checkbox]:checked + label::after {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
  content: "－";
}

.category_tab {
  position: relative;
  display: flex;
  text-align: center;
  justify-content: space-around;
  width: 100%;
  gap: 0 0;
  margin-bottom: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #eee;
}
.category_tab li {
  position: relative;
  flex: 1;
  border-right: 1px solid #eee;
  color: #888;
  font-weight: bold;
  padding: 10px 10px;
  cursor: pointer;
  font-size: 1.4rem;
}
.category_tab li a {
  color: #888;
}
.category_tab li:hover {
  background: #b6de62;
  color: #fff;
}
.category_tab li:hover a {
  color: #fff;
}
.category_tab li:last-child {
  margin-right: 0px;
  border-right: 0px solid #aaa;
}
.category_tab li.active {
  background: #a2d538;
  color: #fff;
}
.category_tab li.active a {
  color: #fff;
}
.category_tab li.active:before {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
  background: #fff;
}
@media all and (max-width: 639px) {
  .category_tab li {
    font-size: 1.2rem;
    padding: 5px 5px;
  }
}

.category_contents.panel {
  display: none;
}
@media all and (max-width: 896px) {
  .category_contents.panel {
    margin-bottom: 30px;
  }
}
.category_contents.panel.show {
  display: block;
}

.bg_img {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 0;
}
.bg_img.type1:before {
  background-image: url(../images/house/01.jpg);
}
.bg_img.type2:before {
  background-image: url(../images/house/02.jpg);
}
.bg_img.type3:before {
  background-image: url(../images/house/19.jpg);
}
.bg_img.type4:before {
  background-image: url(../images/house/16.jpg);
}
.bg_img.type5:before {
  background-image: url(../images/house/05.jpg);
}
.bg_img.type6:before {
  background-image: url(../images/house/06.jpg);
}
.bg_img.type7:before {
  background-image: url(../images/house/07.jpg);
}
.bg_img.type8:before {
  background-image: url(../images/house/08.jpg);
}
.bg_img.type9:before {
  background-image: url(../images/nursery/09.jpg);
}
.bg_img.type10:before {
  background-image: url(../images/house/deco_line01.png);
}
.bg_img.type11:before {
  background-image: url(../images/nursery/11.jpg);
}
.bg_img.type12:before {
  background-image: url(../images/nursery/12.jpg);
}
.bg_img.type13:before {
  background-image: url(../images/nursery/13.jpg);
}
.bg_img.type14:before {
  background-image: url(../images/nursery/14.jpg);
}
.bg_img.type15:before {
  background-image: url(../images/nursery/15.jpg);
}
.bg_img.type16:before {
  background-image: url(../images/nursery/16.jpg);
}
.bg_img.bg_gray {
  background-color: inherit !important;
}
.bg_img.bg_gray:before {
  filter: grayscale(100%);
}
.bg_img.bg_blur {
  overflow: hidden;
}
.bg_img.bg_blur:before {
  filter: blur(4px);
}
.bg_img.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.bg_img.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.bg_img.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.bg_img.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.bg_img.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.bg_img.bg_base {
  background-color: inherit !important;
}
.bg_img.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.bg_img.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_img.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.bg_img.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_img.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.bg_img.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_img.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.bg_img.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_img.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.bg_img.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_img.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.bg_img.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
.bg_img:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -2;
  top: 0;
  left: 0;
}
.bg_img.repeat:before {
  background-repeat: repeat-x;
  background-size: contain;
  background-position: center bottom;
}
.bg_img.fixed:before {
  background-attachment: fixed;
}
.bg_img.fixed_type_l:before {
  background-attachment: fixed;
  background-size: 50%;
  background-position: left bottom;
}

.bg_base_color {
  background-color: #a2d538 !important;
}

.bg_sub_color {
  background-color: #4bb4a1 !important;
}

.bg_color {
  background-color: #fff !important;
}

.bg_base {
  background: #f8f3eb !important;
}

.bg_grd {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
}

.bg_orange {
  background-color: #ffe7d9 !important;
}

.bg_pink {
  background-color: #f985ca !important;
}

.bg_red {
  background-color: #ffdcdc !important;
}

.bg_sky {
  background-color: #d0f4ff !important;
}

.bg_blue {
  background-color: #f0fbff !important;
}

.bg_green {
  background-color: #d9ffdc !important;
}

.bg_yellow {
  background-color: #fffed7 !important;
}

.bg_white {
  background-color: white !important;
}
.bg_white.radius {
  border-radius: 25px;
  overflow: hidden;
}

.bg_glass {
  background-color: rgba(255, 255, 255, 0.6) !important;
}

.bg_glass_base {
  background-color: rgba(134, 180, 38, 0.5) !important;
}

.bg_glass_sub {
  background-color: rgba(75, 180, 161, 0.4) !important;
}

.bg_black {
  background-color: #111111 !important;
}

.bg_beige {
  background-color: #f6f0df !important;
}

.bg_brown {
  background-color: #3a200c !important;
}

.bg_111 {
  background-color: #111 !important;
}

.bg_222 {
  background-color: #222 !important;
}

.bg_333 {
  background-color: #333 !important;
}

.bg_aaa {
  background-color: #aaa !important;
}

.bg_bbb {
  background-color: #bbb !important;
}

.bg_ccc {
  background-color: #ccc !important;
}

.bg_ddd {
  background-color: #ddd !important;
}

.bg_eee {
  background-color: #eee !important;
}

.bg_f2 {
  background-color: #f2f2f2 !important;
}
.bg_f2.type1 {
  position: relative;
  background-color: inherit !important;
}
.bg_f2.type1:before {
  content: "";
  position: absolute;
  width: 100%;
  background-color: #f2f2f2 !important;
  background-position: center center;
  background-size: cover;
  top: 10%;
  bottom: 10%;
  right: 0;
  left: 0;
  width: 100%;
  height: 80%;
  z-index: 0;
}

.bg_transparent {
  background: transparent !important;
}

.bg_shadow {
  box-shadow: rgba(17, 17, 17, 0.1) 3px 3px 3px 3px;
}

.bg_line {
  background-color: #2bac38 !important;
}

.bg_facebook {
  background-color: #365491 !important;
}

.bg_twitter {
  background-color: #3596d4 !important;
}

.bg_insta {
  background-color: #f13f79;
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat !important;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat !important;
}

.bg_base1 {
  width: 100%;
  position: relative;
  background-color: #f8f3eb;
}
.bg_base1.type1 {
  background-color: inherit !important;
}
.bg_base1.type1:before {
  content: "";
  position: absolute;
  width: 100%;
  background-color: #f2f2f2 !important;
  background-position: center center;
  background-size: cover;
  top: 20%;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 80%;
  z-index: 0;
}

.bg_base2 {
  margin: 50px auto;
  width: 96%;
  position: relative;
  background-color: #f8f3eb;
}
.bg_base2.type_r {
  border-radius: 20px;
}

.bg_base3 {
  margin-top: 20px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 40px 15px;
  background: #f8f3eb;
}

.bg_base4 {
  position: relative;
}
.bg_base4:before {
  content: "";
  position: absolute;
  width: 100%;
  background: #f8f3eb;
  background-position: center center;
  top: 5%;
  bottom: 0;
  right: 0;
  left: auto;
  width: 80%;
  height: 90%;
  z-index: -1;
}
.bg_base4.reverse:before {
  right: auto;
  left: 0;
}

.bg_base5 {
  background: #f8f3eb;
  position: relative;
}
.bg_base5:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
}

.bg_base6 {
  position: relative;
}
.bg_base6:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.8) 50%, rgba(248, 243, 235, 0.9) 50%);
  z-index: -2;
}

.bg_base6a {
  position: relative;
}
.bg_base6a:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.1) 50%, rgba(248, 243, 235, 0.2) 50%);
  z-index: -2;
}

.bg_base7 {
  position: relative;
}
.bg_base7:before {
  content: "";
  position: absolute;
  width: 100%;
  background: #f8f3eb;
  background-position: center center;
  top: 15%;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 85%;
  height: 70%;
  z-index: -1;
}
.bg_base7.reverse:before {
  right: auto;
  left: -5%;
}

.bg_gray {
  margin: 50px auto;
  width: 96%;
  position: relative;
  background-image: linear-gradient(23deg, rgba(224, 224, 224, 0.02) 0%, rgba(202, 202, 202, 0.02) 13%, transparent 13%, transparent 80%, rgba(65, 65, 65, 0.02) 80%, rgba(163, 163, 163, 0.02) 100%), linear-gradient(42deg, rgba(98, 98, 98, 0.02) 0%, rgba(128, 128, 128, 0.02) 36%, transparent 36%, transparent 77%, rgba(252, 252, 252, 0.02) 77%, rgba(252, 252, 252, 0.02) 100%), linear-gradient(286deg, rgba(173, 173, 173, 0.02) 0%, rgba(173, 173, 173, 0.02) 2%, transparent 2%, transparent 12%, rgba(196, 196, 196, 0.02) 12%, rgba(105, 105, 105, 0.02) 100%), linear-gradient(77deg, rgba(87, 87, 87, 0.02) 0%, rgba(136, 136, 136, 0.02) 18%, transparent 18%, transparent 55%, rgba(247, 247, 247, 0.02) 55%, rgba(247, 247, 247, 0.02) 100%), linear-gradient(90deg, #fff, #fff);
}
@media all and (max-width: 896px) {
  .bg_gray {
    width: calc(100% - 20px);
    margin: 50px auto;
    padding: 0 10px;
  }
}
@media all and (max-width: 639px) {
  .bg_gray {
    width: calc(100% - 0px);
    margin: 30px auto;
    padding: 0 0px;
  }
}

.bg_gray2 {
  margin-left: 20px;
  margin-right: 20px;
  padding: 40px 15px;
  background-image: linear-gradient(23deg, rgba(228, 228, 228, 0.02) 0%, rgba(202, 202, 202, 0.02) 13%, transparent 13%, transparent 80%, rgba(107, 107, 107, 0.02) 80%, rgba(11, 11, 11, 0.02) 100%), linear-gradient(42deg, rgba(98, 98, 98, 0.02) 0%, rgba(98, 98, 98, 0.02) 36%, transparent 36%, transparent 77%, rgba(252, 252, 252, 0.02) 77%, rgba(252, 252, 252, 0.02) 100%), linear-gradient(286deg, rgba(173, 173, 173, 0.02) 0%, rgba(173, 173, 173, 0.02) 2%, transparent 2%, transparent 12%, rgba(59, 59, 59, 0.02) 12%, rgba(59, 59, 59, 0.02) 100%), linear-gradient(77deg, rgba(87, 87, 87, 0.02) 0%, rgba(87, 87, 87, 0.02) 18%, transparent 18%, transparent 55%, rgba(247, 247, 247, 0.02) 55%, rgba(247, 247, 247, 0.02) 100%), linear-gradient(90deg, #fff, #fff);
}
@media all and (max-width: 639px) {
  .bg_gray2 {
    padding: 0px 5px;
    margin: 0px;
  }
}

.bg_gray3 {
  margin-top: 20px;
  margin-left: 20px;
  margin-right: 20px;
  background: #f2f2f2;
}

.bg_gray4 {
  position: relative;
}
.bg_gray4:before {
  content: "";
  position: absolute;
  width: 100%;
  background: #f2f2f2;
  background-position: center center;
  top: 10%;
  bottom: 0;
  right: 0;
  left: auto;
  width: 80%;
  height: 90%;
  z-index: -1;
}
.bg_gray4.reverse:before {
  right: auto;
  left: 0;
}

.bg_gray5 {
  background: #f2f2f2;
  position: relative;
}
.bg_gray5:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
}

.bg_gray6 {
  position: relative;
}
.bg_gray6:before {
  content: "";
  position: absolute;
  width: 100%;
  background: #f2f2f2;
  background-position: center center;
  top: 5%;
  bottom: 0;
  right: -5%;
  left: auto;
  width: 110%;
  height: 89%;
  z-index: -1;
}
@media all and (max-width: 639px) {
  .bg_gray6:before {
    height: 100%;
  }
}
.bg_gray6.reverse:before {
  right: auto;
  left: -5%;
}

.bg_pattern1 {
  width: 100%;
  position: relative;
  background: url(../img/pattern/dot_green.png);
}
.bg_pattern1.type2 {
  background: url(../img/pattern/dot_orange.png);
}

.bg_pattern2 {
  margin: 50px auto;
  padding: 30px 0;
  width: calc(100% - 80px);
  position: relative;
  border-radius: 20px;
  background: url(../img/pattern/dot_green.png);
}
@media all and (max-width: 639px) {
  .bg_pattern2 {
    width: calc(96% - 0px);
  }
}

.bg_pattern3 {
  margin-top: 20px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 40px 15px;
  background: url(../img/pattern/dot_green.png);
}

.bg_pattern4 {
  position: relative;
}
.bg_pattern4:before {
  content: "";
  position: absolute;
  width: 100%;
  background-image: url(../img/pattern/dot_green.png);
  background-repeat: repeat;
  background-attachment: cover;
  top: 0;
  right: 0;
  left: auto;
  width: 90%;
  height: 100%;
  z-index: -1;
}
.bg_pattern4.reverse:before {
  right: auto;
  left: 0;
}

.bg_pattern4r {
  position: relative;
}
.bg_pattern4r:before {
  content: "";
  position: absolute;
  width: 100%;
  border-radius: 0 20px 20px 0;
  background-image: url(../img/pattern/dot_green.png);
  background-repeat: repeat;
  background-attachment: cover;
  top: 0;
  right: auto;
  left: 0;
  width: 90%;
  height: 100%;
  z-index: -1;
}
.bg_pattern4r.reverse:before {
  top: 0;
  right: 0;
  left: auto;
  border-radius: 20px 0 0 20px;
}

.bg_pattern5 {
  background: url(../img/pattern/dot_green.png);
  position: relative;
}
.bg_pattern5:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
}

.bg_shape_bottom {
  width: 95%;
  overflow: hidden;
  margin: 0 0 0 auto;
  border-radius: 80px 0 0 0;
}

.bg_shape_left {
  width: 95%;
  overflow: hidden;
  z-index: 0;
  border-radius: 0 80px 80px 0;
}

.bg_shape_right {
  width: 95%;
  overflow: hidden;
  z-index: 0;
  margin: 0 0 0 auto;
  border-radius: 80px 0 0 80px;
}

.bg_repeat {
  position: relative;
  width: 100%;
  background-repeat: repeat-x;
  background-position: top top;
}
.bg_repeat .type1 {
  background-image: url(../img/repeat/rainbow.png);
}
.bg_repeat .type2 {
  background-image: url(../img/repeat/house.png);
}
.bg_repeat .type3 {
  background-image: url(../images/rainbow.png);
}
.bg_repeat .type4 {
  background-image: url(../images/rainbow.png);
}
.bg_repeat .type5 {
  background-image: url(../images/rainbow.png);
}
.bg_repeat.center {
  background-position: center center;
}
.bg_repeat.bottom {
  background-position: bottom bottom;
}
@media all and (max-width: 639px) {
  .bg_repeat {
    background-size: 50%;
  }
}

.bg_grid {
  background: rgba(255, 255, 255, 0.9);
  /* border-top: 1px solid #555;
  border-bottom: 1px solid #555;*/
  background-image: linear-gradient(90deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2)), linear-gradient(0deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2));
  background-size: 20px 20px;
  background-repeat: repeat;
}

.bg_stripe {
  position: relative;
}
.bg_stripe:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(25%, #fff), color-stop(25%, white), color-stop(50%, white), color-stop(50%, #fff), color-stop(75%, #fff), color-stop(75%, white), to(white));
  background-image: linear-gradient(90deg, #fff 25%, white 25%, white 50%, #fff 50%, #fff 75%, white 75%, white);
  background-size: 100px 100px;
}

.bg_svg {
  position: relative;
}
.bg_svg:before {
  content: "";
  position: absolute;
  width: 100%;
  background-image: url(../img/svg/bg_slash02.svg);
  background-position: center center;
  background-size: 100%;
  background-repeat: repeat-y;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_svg.fixed:before {
  background-position: center bottom;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.bg_shine {
  position: relative;
  background-image: linear-gradient(16deg, rgba(116, 116, 116, 0.05) 0%, rgba(116, 116, 116, 0.05) 25%, transparent 25%, transparent 96%, rgba(177, 177, 177, 0.08) 96%, rgba(177, 177, 177, 0.08) 100%), linear-gradient(236deg, rgba(148, 148, 148, 0.04) 0%, rgba(148, 148, 148, 0.04) 53%, transparent 53%, transparent 59%, rgba(56, 56, 56, 0.02) 59%, rgba(56, 56, 56, 0.02) 100%), linear-gradient(284deg, rgba(16, 16, 16, 0.03) 0%, rgba(16, 16, 16, 0.03) 46%, transparent 46%, transparent 71%, rgba(181, 181, 181, 0.1) 71%, rgba(181, 181, 181, 0.1) 100%), linear-gradient(316deg, rgba(197, 197, 197, 0.02) 0%, rgba(197, 197, 197, 0.02) 26%, transparent 26%, transparent 49%, rgba(58, 58, 58, 0.02) 49%, rgba(58, 58, 58, 0.02) 100%), linear-gradient(90deg, rgb(255, 255, 255), rgb(255, 255, 255));
}
.bg_shine.type_base {
  background-image: linear-gradient(-164deg, rgba(162, 213, 56, 0.07) 0%, rgba(162, 213, 56, 0.07) 25%, transparent 25%, transparent 96%, rgba(162, 213, 56, 0.08) 96%, rgba(162, 213, 56, 0.08) 100%), linear-gradient(210deg, rgba(162, 213, 56, 0.04) 0%, rgba(162, 213, 56, 0.04) 53%, transparent 53%, transparent 59%, rgba(241, 245, 233, 0.4) 59%, rgba(241, 245, 233, 0.4) 100%), linear-gradient(255deg, rgba(162, 213, 56, 0.07) 0%, rgba(162, 213, 56, 0.07) 46%, transparent 46%, transparent 71%, rgba(162, 213, 56, 0.15) 71%, rgba(162, 213, 56, 0.15) 100%), linear-gradient(316deg, rgba(241, 245, 233, 0.6) 0%, rgba(241, 245, 233, 0.6) 26%, transparent 26%, transparent 49%, rgba(241, 245, 233, 0.6) 49%, rgba(241, 245, 233, 0.6) 100%), linear-gradient(90deg, rgba(241, 245, 233, 0.2), rgba(241, 245, 233, 0.2));
}

.bg_slash {
  position: relative;
}
.bg_slash:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 150px;
  bottom: -1;
  left: 0;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: #fff;
}

.bg_curve {
  position: relative;
  height: 100px;
}
.bg_curve:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 300px;
  top: -100px;
  left: 0;
  background-color: #a2d538;
  z-index: -1;
  transform: rotate(180deg);
  -webkit-clip-path: polygon(100% 0%, 0% 0%, 0% 67.71%, 1% 67.67%, 2% 67.55%, 3% 67.34%, 4% 67.06%, 5% 66.7%, 6% 66.27%, 7% 65.76%, 8% 65.18%, 9% 64.53%, 10% 63.81%, 11% 63.04%, 12% 62.21%, 13% 61.32%, 14% 60.39%, 15% 59.42%, 16% 58.4%, 17% 57.36%, 18% 56.28%, 19% 55.19%, 20% 54.07%, 21% 52.95%, 22% 51.83%, 23% 50.7%, 24% 49.58%, 25% 48.48%, 26% 47.39%, 27% 46.33%, 28% 45.3%, 29% 44.3%, 30% 43.34%, 31% 42.43%, 32% 41.57%, 33% 40.76%, 34% 40.02%, 35% 39.33%, 36% 38.72%, 37% 38.17%, 38% 37.69%, 39% 37.29%, 40% 36.97%, 41% 36.72%, 42% 36.55%, 43% 36.47%, 44% 36.47%, 45% 36.54%, 46% 36.7%, 47% 36.94%, 48% 37.26%, 49% 37.65%, 50% 38.12%, 51% 38.67%, 52% 39.28%, 53% 39.96%, 54% 40.7%, 55% 41.5%, 56% 42.36%, 57% 43.26%, 58% 44.22%, 59% 45.21%, 60% 46.24%, 61% 47.3%, 62% 48.38%, 63% 49.49%, 64% 50.6%, 65% 51.73%, 66% 52.86%, 67% 53.98%, 68% 55.09%, 69% 56.19%, 70% 57.27%, 71% 58.32%, 72% 59.33%, 73% 60.31%, 74% 61.25%, 75% 62.14%, 76% 62.97%, 77% 63.75%, 78% 64.47%, 79% 65.12%, 80% 65.71%, 81% 66.23%, 82% 66.67%, 83% 67.03%, 84% 67.32%, 85% 67.53%, 86% 67.66%, 87% 67.71%, 88% 67.67%, 89% 67.56%, 90% 67.36%, 91% 67.09%, 92% 66.74%, 93% 66.31%, 94% 65.8%, 95% 65.23%, 96% 64.59%, 97% 63.88%, 98% 63.11%, 99% 62.28%, 100% 61.4%);
  clip-path: polygon(100% 0%, 0% 0%, 0% 67.71%, 1% 67.67%, 2% 67.55%, 3% 67.34%, 4% 67.06%, 5% 66.7%, 6% 66.27%, 7% 65.76%, 8% 65.18%, 9% 64.53%, 10% 63.81%, 11% 63.04%, 12% 62.21%, 13% 61.32%, 14% 60.39%, 15% 59.42%, 16% 58.4%, 17% 57.36%, 18% 56.28%, 19% 55.19%, 20% 54.07%, 21% 52.95%, 22% 51.83%, 23% 50.7%, 24% 49.58%, 25% 48.48%, 26% 47.39%, 27% 46.33%, 28% 45.3%, 29% 44.3%, 30% 43.34%, 31% 42.43%, 32% 41.57%, 33% 40.76%, 34% 40.02%, 35% 39.33%, 36% 38.72%, 37% 38.17%, 38% 37.69%, 39% 37.29%, 40% 36.97%, 41% 36.72%, 42% 36.55%, 43% 36.47%, 44% 36.47%, 45% 36.54%, 46% 36.7%, 47% 36.94%, 48% 37.26%, 49% 37.65%, 50% 38.12%, 51% 38.67%, 52% 39.28%, 53% 39.96%, 54% 40.7%, 55% 41.5%, 56% 42.36%, 57% 43.26%, 58% 44.22%, 59% 45.21%, 60% 46.24%, 61% 47.3%, 62% 48.38%, 63% 49.49%, 64% 50.6%, 65% 51.73%, 66% 52.86%, 67% 53.98%, 68% 55.09%, 69% 56.19%, 70% 57.27%, 71% 58.32%, 72% 59.33%, 73% 60.31%, 74% 61.25%, 75% 62.14%, 76% 62.97%, 77% 63.75%, 78% 64.47%, 79% 65.12%, 80% 65.71%, 81% 66.23%, 82% 66.67%, 83% 67.03%, 84% 67.32%, 85% 67.53%, 86% 67.66%, 87% 67.71%, 88% 67.67%, 89% 67.56%, 90% 67.36%, 91% 67.09%, 92% 66.74%, 93% 66.31%, 94% 65.8%, 95% 65.23%, 96% 64.59%, 97% 63.88%, 98% 63.11%, 99% 62.28%, 100% 61.4%);
}
@media all and (max-width: 639px) {
  .bg_curve:before {
    height: 150px;
    top: -30px;
  }
}
.bg_curve:after {
  content: "";
  position: absolute;
  width: 130%;
  height: 300px;
  top: -90px;
  left: -30%;
  background-color: rgba(162, 213, 56, 0.3);
  z-index: -2;
  transform: rotate(180deg);
  -webkit-clip-path: polygon(100% 0%, 0% 0%, 0% 67.71%, 1% 67.67%, 2% 67.55%, 3% 67.34%, 4% 67.06%, 5% 66.7%, 6% 66.27%, 7% 65.76%, 8% 65.18%, 9% 64.53%, 10% 63.81%, 11% 63.04%, 12% 62.21%, 13% 61.32%, 14% 60.39%, 15% 59.42%, 16% 58.4%, 17% 57.36%, 18% 56.28%, 19% 55.19%, 20% 54.07%, 21% 52.95%, 22% 51.83%, 23% 50.7%, 24% 49.58%, 25% 48.48%, 26% 47.39%, 27% 46.33%, 28% 45.3%, 29% 44.3%, 30% 43.34%, 31% 42.43%, 32% 41.57%, 33% 40.76%, 34% 40.02%, 35% 39.33%, 36% 38.72%, 37% 38.17%, 38% 37.69%, 39% 37.29%, 40% 36.97%, 41% 36.72%, 42% 36.55%, 43% 36.47%, 44% 36.47%, 45% 36.54%, 46% 36.7%, 47% 36.94%, 48% 37.26%, 49% 37.65%, 50% 38.12%, 51% 38.67%, 52% 39.28%, 53% 39.96%, 54% 40.7%, 55% 41.5%, 56% 42.36%, 57% 43.26%, 58% 44.22%, 59% 45.21%, 60% 46.24%, 61% 47.3%, 62% 48.38%, 63% 49.49%, 64% 50.6%, 65% 51.73%, 66% 52.86%, 67% 53.98%, 68% 55.09%, 69% 56.19%, 70% 57.27%, 71% 58.32%, 72% 59.33%, 73% 60.31%, 74% 61.25%, 75% 62.14%, 76% 62.97%, 77% 63.75%, 78% 64.47%, 79% 65.12%, 80% 65.71%, 81% 66.23%, 82% 66.67%, 83% 67.03%, 84% 67.32%, 85% 67.53%, 86% 67.66%, 87% 67.71%, 88% 67.67%, 89% 67.56%, 90% 67.36%, 91% 67.09%, 92% 66.74%, 93% 66.31%, 94% 65.8%, 95% 65.23%, 96% 64.59%, 97% 63.88%, 98% 63.11%, 99% 62.28%, 100% 61.4%);
  clip-path: polygon(100% 0%, 0% 0%, 0% 67.71%, 1% 67.67%, 2% 67.55%, 3% 67.34%, 4% 67.06%, 5% 66.7%, 6% 66.27%, 7% 65.76%, 8% 65.18%, 9% 64.53%, 10% 63.81%, 11% 63.04%, 12% 62.21%, 13% 61.32%, 14% 60.39%, 15% 59.42%, 16% 58.4%, 17% 57.36%, 18% 56.28%, 19% 55.19%, 20% 54.07%, 21% 52.95%, 22% 51.83%, 23% 50.7%, 24% 49.58%, 25% 48.48%, 26% 47.39%, 27% 46.33%, 28% 45.3%, 29% 44.3%, 30% 43.34%, 31% 42.43%, 32% 41.57%, 33% 40.76%, 34% 40.02%, 35% 39.33%, 36% 38.72%, 37% 38.17%, 38% 37.69%, 39% 37.29%, 40% 36.97%, 41% 36.72%, 42% 36.55%, 43% 36.47%, 44% 36.47%, 45% 36.54%, 46% 36.7%, 47% 36.94%, 48% 37.26%, 49% 37.65%, 50% 38.12%, 51% 38.67%, 52% 39.28%, 53% 39.96%, 54% 40.7%, 55% 41.5%, 56% 42.36%, 57% 43.26%, 58% 44.22%, 59% 45.21%, 60% 46.24%, 61% 47.3%, 62% 48.38%, 63% 49.49%, 64% 50.6%, 65% 51.73%, 66% 52.86%, 67% 53.98%, 68% 55.09%, 69% 56.19%, 70% 57.27%, 71% 58.32%, 72% 59.33%, 73% 60.31%, 74% 61.25%, 75% 62.14%, 76% 62.97%, 77% 63.75%, 78% 64.47%, 79% 65.12%, 80% 65.71%, 81% 66.23%, 82% 66.67%, 83% 67.03%, 84% 67.32%, 85% 67.53%, 86% 67.66%, 87% 67.71%, 88% 67.67%, 89% 67.56%, 90% 67.36%, 91% 67.09%, 92% 66.74%, 93% 66.31%, 94% 65.8%, 95% 65.23%, 96% 64.59%, 97% 63.88%, 98% 63.11%, 99% 62.28%, 100% 61.4%);
}
@media all and (max-width: 639px) {
  .bg_curve:after {
    height: 150px;
    top: -30px;
  }
}

.bg_deco {
  position: relative;
}
.bg_deco:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/elegant/bg_wave02.jpg) repeat-y top center;
  z-index: -2;
}
.bg_deco.reverse:before {
  transform: scale(-1, 1);
}

.bg_deco_side {
  position: relative;
  z-index: 1;
}
.bg_deco_side .single {
  z-index: 10 !important;
}
.bg_deco_side.type1:before, .bg_deco_side.type1:after {
  position: absolute;
  content: "";
  width: 80%;
  height: 40%;
  z-index: 1;
  opacity: 0.6;
}
@media all and (max-width: 639px) {
  .bg_deco_side.type1:before, .bg_deco_side.type1:after {
    width: 35%;
  }
}
.bg_deco_side:before, .bg_deco_side:after {
  position: absolute;
  content: "";
  width: 450px;
  height: 471px;
  opacity: 1;
}
@media all and (max-width: 896px) {
  .bg_deco_side:before, .bg_deco_side:after {
    width: 55%;
  }
}
@media all and (max-width: 639px) {
  .bg_deco_side:before, .bg_deco_side:after {
    width: 200px;
    height: 200px;
  }
}
@media all and (max-width: 639px) {
  .bg_deco_side.type_side {
    padding: 200px 0 0;
  }
}
.bg_deco_side.type_side:before {
  top: 10%;
  bottom: inherit;
  left: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side.type_side:after {
  top: 10%;
  bottom: inherit;
  right: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right top/contain;
}
.bg_deco_side.type_side:before, .bg_deco_side.type_side:after {
  position: absolute;
  content: "";
  width: 30%;
  height: 100%;
  opacity: 1;
}
@media all and (max-width: 896px) {
  .bg_deco_side.type_side:before, .bg_deco_side.type_side:after {
    width: 40%;
  }
}
@media all and (max-width: 639px) {
  .bg_deco_side.type_side:before, .bg_deco_side.type_side:after {
    width: 50%;
    padding: 200px 0;
  }
}
.bg_deco_side:before {
  left: 0;
  top: 0;
  z-index: -1;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side:after {
  right: 0;
  bottom: 0;
  z-index: -1;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side.type_top:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side.type_top:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side.type_top02:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left02.png) no-repeat left top/contain;
  z-index: 10;
}
.bg_deco_side.type_top02:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right02.png) no-repeat right bottom/contain;
  z-index: 10;
}
.bg_deco_side.type_top03:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
  z-index: 10;
}
@media all and (max-width: 639px) {
  .bg_deco_side.type_top03:before {
    left: 0 !important;
    top: 0 !important;
    bottom: inherit !important;
  }
}
.bg_deco_side.type_top03:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right top/contain;
  z-index: 10;
}
@media all and (max-width: 639px) {
  .bg_deco_side.type_top03:after {
    right: 0 !important;
    top: 0 !important;
    bottom: inherit !important;
  }
}
@media all and (max-width: 896px) {
  .bg_deco_side.type_top03:before, .bg_deco_side.type_top03:after {
    width: 40%;
  }
}
@media all and (max-width: 639px) {
  .bg_deco_side.type_top03:before, .bg_deco_side.type_top03:after {
    width: 40%;
    height: 100% !important;
  }
}
.bg_deco_side.type_bottom:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side.type_bottom:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side.type2:before {
  left: -42%;
  top: 0;
}
.bg_deco_side.type2:after {
  right: -33%;
  bottom: -10%;
}

.bg_deco_side2 {
  position: relative;
}
.bg_deco_side2:before, .bg_deco_side2:after {
  position: absolute;
  content: "";
  width: 55%;
  height: 40%;
}
@media all and (max-width: 639px) {
  .bg_deco_side2:before, .bg_deco_side2:after {
    width: 55%;
  }
}
.bg_deco_side2:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left02.png) no-repeat left top/contain;
}
.bg_deco_side2:after {
  right: 0;
  bottom: 0;
  background: url(../images/house/bg_deco_right02.png) no-repeat right bottom/contain;
}
.bg_deco_side2.type_top:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left02.png) no-repeat left top/contain;
}
.bg_deco_side2.type_top:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right02.png) no-repeat right bottom/contain;
}
.bg_deco_side2.type_bottom:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left02.png) no-repeat left top/contain;
}
.bg_deco_side2.type_bottom:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right02.png) no-repeat right bottom/contain;
}

.bg_deco_side03 {
  position: relative;
}
.bg_deco_side03:before, .bg_deco_side03:after {
  position: absolute;
  content: "";
  width: 70%;
  height: 60%;
}
@media all and (max-width: 639px) {
  .bg_deco_side03:before, .bg_deco_side03:after {
    width: 55%;
  }
}
.bg_deco_side03:before {
  left: 0;
  top: -1%;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side03:after {
  right: -18%;
  bottom: -8%;
  z-index: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side03.type_top:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side03.type_top:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side03.type_bottom:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side03.type_bottom:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}

.bg_deco_side04 {
  position: relative;
}
.bg_deco_side04:before, .bg_deco_side04:after {
  position: absolute;
  content: "";
  width: 70%;
  height: 60%;
}
@media all and (max-width: 639px) {
  .bg_deco_side04:before, .bg_deco_side04:after {
    width: 100;
  }
}
.bg_deco_side04:before {
  left: 0;
  top: -1%;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side04:after {
  right: -18%;
  bottom: 10%;
  z-index: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side04.type_top:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side04.type_top:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}
.bg_deco_side04.type_bottom:before {
  left: 0;
  top: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}
.bg_deco_side04.type_bottom:after {
  right: 0;
  top: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}

.bg_deco_left {
  position: relative;
}
.bg_deco_left:after {
  position: absolute;
  content: "";
  width: 57em;
  height: 30em;
}
@media all and (max-width: 639px) {
  .bg_deco_left:after {
    width: 20em;
    height: 17em;
  }
}
.bg_deco_left:after {
  left: 0;
  background: url(../images/house/bg_deco_left.png) no-repeat left top/contain;
}

.bg_deco_right {
  position: relative;
}
.bg_deco_right:after {
  position: absolute;
  content: "";
  width: 57em;
  height: 30em;
}
@media all and (max-width: 639px) {
  .bg_deco_right:after {
    width: 20em;
    height: 17em;
  }
}
.bg_deco_right:after {
  right: 0;
  background: url(../images/house/bg_deco_right.png) no-repeat right bottom/contain;
}

.bg_deco_left.top:after,
.bg_deco_right.top:after {
  top: 0;
}
.bg_deco_left.bottom:after,
.bg_deco_right.bottom:after {
  bottom: 0 !important;
}

.bg_deco_center {
  position: relative;
}
.bg_deco_center:before {
  position: absolute;
  content: "";
  left: 50%;
  top: 50%;
  width: 800px;
  height: 800px;
  transform: translate(-50%, -50%);
  background: url(../images/house/bg_deco_center.png) no-repeat center/contain;
  z-index: -1;
  opacity: 0.5;
}
@media all and (max-width: 639px) {
  .bg_deco_center:before {
    width: 95%;
    height: 95%;
  }
}

.bg_deco_sand {
  background-image: url(../images/nursery/bg_top.png), url(../images/nursery/bg_deco_bottom.png);
  background-position: top, bottom;
  background-repeat: repeat-x;
}

.bg_deco_top {
  background-image: url(../images/nursery/bg_top.png);
  background-position: top;
  background-repeat: repeat-x;
}

.bg_deco_bottom {
  background-image: url(../images/nursery/bg_deco_bottom.png);
  background-position: bottom;
  background-repeat: repeat-x;
}

.bg_downarrow {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.bg_downarrow.type1:before {
  background-image: url(../images/house/01.jpg);
}
.bg_downarrow.type2:before {
  background-image: url(../images/house/02.jpg);
}
.bg_downarrow.type3:before {
  background-image: url(../images/house/19.jpg);
}
.bg_downarrow.type4:before {
  background-image: url(../images/house/16.jpg);
}
.bg_downarrow.type5:before {
  background-image: url(../images/house/05.jpg);
}
.bg_downarrow.type6:before {
  background-image: url(../images/house/06.jpg);
}
.bg_downarrow.type7:before {
  background-image: url(../images/house/07.jpg);
}
.bg_downarrow.type8:before {
  background-image: url(../images/house/08.jpg);
}
.bg_downarrow.type9:before {
  background-image: url(../images/nursery/09.jpg);
}
.bg_downarrow.type10:before {
  background-image: url(../images/house/deco_line01.png);
}
.bg_downarrow.type11:before {
  background-image: url(../images/nursery/11.jpg);
}
.bg_downarrow.type12:before {
  background-image: url(../images/nursery/12.jpg);
}
.bg_downarrow.type13:before {
  background-image: url(../images/nursery/13.jpg);
}
.bg_downarrow.type14:before {
  background-image: url(../images/nursery/14.jpg);
}
.bg_downarrow.type15:before {
  background-image: url(../images/nursery/15.jpg);
}
.bg_downarrow.type16:before {
  background-image: url(../images/nursery/16.jpg);
}
.bg_downarrow.bg_gray {
  background-color: inherit !important;
}
.bg_downarrow.bg_gray:before {
  filter: grayscale(100%);
}
.bg_downarrow.bg_blur {
  overflow: hidden;
}
.bg_downarrow.bg_blur:before {
  filter: blur(4px);
}
.bg_downarrow.bg_black_grd:after {
  content: "";
  position: absolute;
  width: 100%;
  background: rgb(0, 0, 0);
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 95%);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.bg_downarrow.bg_white_grd:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.5) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.bg_downarrow.bg_white_grd_b:after {
  content: "";
  position: absolute;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  z-index: 0;
}
.bg_downarrow.bg_base_grd:after {
  background: linear-gradient(151deg, rgb(162, 213, 56) 0%, rgb(75, 180, 161) 100%);
  content: "";
  position: absolute;
  width: 100%;
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0.8;
}
.bg_downarrow.bg_sharp:after {
  clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
  -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
}
.bg_downarrow.bg_base {
  background-color: inherit !important;
}
.bg_downarrow.bg_base:before {
  filter: grayscale(100%);
  filter: blur(4px);
}
.bg_downarrow.bg_base:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(162, 213, 56, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_downarrow.bg_white {
  background-color: rgba(255, 255, 255, 0) !important;
}
.bg_downarrow.bg_white:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_downarrow.bg_glass {
  background-color: rgba(255, 255, 255, 0) !important;
}
.bg_downarrow.bg_glass:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_downarrow.bg_black {
  background-color: rgba(17, 17, 17, 0) !important;
}
.bg_downarrow.bg_black:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_downarrow.bg_dark {
  background-color: rgba(51, 51, 51, 0) !important;
}
.bg_downarrow.bg_dark:after {
  content: "";
  position: absolute;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-position: center center;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.bg_downarrow.curve {
  -webkit-clip-path: ellipse(100% 100% at top);
  clip-path: ellipse(100% 100% at top);
  overflow: hidden;
}
.bg_downarrow.type_r {
  border-radius: 30px;
  width: 96%;
  margin: 0 auto 30px;
  overflow: hidden;
}
.bg_downarrow:before {
  content: "";
  background-image: url(../img/icon/downarrow.jpg);
  position: absolute;
  width: 95%;
  margin: 0 auto;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -2;
  top: 0;
  left: 0;
  right: 0;
}

.deco_line01 {
  position: relative;
  height: 150px;
  margin-bottom: -50px;
  z-index: 2;
}
@media all and (max-width: 639px) {
  .deco_line01 {
    height: 110px;
    margin-bottom: -30px;
  }
}
.deco_line01:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/house/deco_line01.png) repeat-x center bottom/contain;
}

#particle-bg {
  position: relative;
  background-color: #fff;
  background-position: center center;
}
#particle-bg .particle-js-canvas-el {
  width: 100%;
  position: absolute;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 0;
}

.slide_list {
  position: relative;
}
.slide_list .ribbon {
  position: absolute;
  top: -59px;
  right: -95px;
  width: 300px;
  height: 308px;
  overflow: hidden;
  z-index: 1;
}
@media all and (max-width: 639px) {
  .slide_list .ribbon {
    transform: scale(0.7);
    top: -88px;
    right: -111px;
  }
}
.slide_list .ribbon span {
  display: inline-block;
  position: absolute;
  padding: 7px 0;
  left: -12px;
  top: 89px;
  width: 260px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  background: #4bb4a1;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(32deg);
  transform: rotate(32deg);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
.slide_list .ribbon span:before, .slide_list .ribbon span:after {
  position: absolute;
  content: "";
  border-top: 10px solid #3c9081;
  bottom: -10px;
  z-index: -1;
}
.slide_list .ribbon span:before {
  border-left: 6px solid transparent;
  border-right: 17px solid transparent;
  left: 0px;
}
.slide_list .ribbon span:after {
  border-left: 6px solid transparent;
  border-right: 12px solid transparent;
  right: 0px;
}
.slide_list .mtitle_slide_list {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: white;
  width: 300px;
  height: 300px;
  margin: auto;
  display: flex;
  text-align: center;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.slide_list .mtitle_slide_list .eng {
  font-size: 3.8rem;
  color: #a2d538;
}
.slide_list .mtitle_slide_list .ja {
  font-size: 1.8rem;
}
.slide_list li {
  margin-right: 1%;
  width: 500px;
  height: auto;
  position: relative;
}
@media all and (max-width: 639px) {
  .slide_list li {
    width: 280px;
    height: auto;
  }
}
.slide_list li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.slide_list li:hover img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  transition: all 0.4s ease;
}
.slide_list li:hover a {
  background-color: rgba(255, 255, 255, 0.5);
}
.slide_list li figure {
  background: rgba(246, 240, 223, 0.2);
  display: block;
  text-align: center;
  padding: 0px;
  width: 100%;
  height: 52vh;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .slide_list li figure {
    height: 30vh;
  }
}
.slide_list li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
}
.slide_list li p {
  display: none;
  font-size: 1.2rem;
  background-color: rgba(75, 180, 161, 0.2);
  font-weight: bold;
  padding: 2px 5px;
  text-align: center;
  margin-top: 0px;
}
@media all and (max-width: 896px) {
  .slide_list li p {
    font-size: 12px;
  }
}

#info {
  display: none;
}

.acdi-box {
  margin-top: 10px;
  padding-bottom: 10px;
}
@media all and (max-width: 639px) {
  .acdi-box {
    padding-bottom: 50px;
  }
}
.acdi-box .acdi-box-inner {
  position: relative;
  border-radius: 20px;
}
.acdi-box .acdi-box-inner .ttl {
  border-top: 1px solid #a2d538;
  border-bottom: 1px solid #a2d538;
  padding: 40px 0;
  text-align: center;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
}
.acdi-box .acdi-box-inner .ttl:after {
  position: absolute;
  top: 44%;
  right: 26px;
  display: block;
  width: 7px;
  height: 7px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
}
.acdi-box .acdi-box-inner.open .ttl:after {
  transform: rotate(-45deg);
}
.acdi-box .acdi-box-inner .detail {
  padding: 15px;
}
.acdi-box .acdi-box-inner .detail .subttl {
  margin-bottom: 20px;
  font-size: 1.8rem;
  text-align: center;
  position: relative;
  z-index: 1;
  display: block;
  background-color: rgba(75, 180, 161, 0.2);
  border-radius: 50px;
  padding: 20px;
}
.acdi-box .acdi-box-inner .detail .detail-txt {
  margin-top: 20px;
  padding-left: 50px;
  font-size: 1.7rem;
  position: relative;
}
.acdi-box .acdi-box-inner .detail .detail-txt:before {
  position: absolute;
  content: "";
  width: 5px;
  height: 30px;
  background-color: #4bb4a1;
  left: 20px;
  top: 0;
}
.acdi-box .acdi-box-inner .detail .detail-txt:after {
  position: absolute;
  content: "";
  width: 5px;
  height: 15px;
  background-color: #ff5fbe;
  left: 20px;
  top: 15px;
}
.acdi-box .acdi-box-inner .detail .detail-list {
  padding: 10px 20px;
}
.acdi-box .acdi-box-inner .detail .detail-list li {
  position: relative;
  padding-left: 25px;
}
.acdi-box .acdi-box-inner .detail .detail-list li:before {
  position: absolute;
  content: "■";
  width: 20px;
  height: 20px;
  color: #4bb4a1;
  left: 0;
}
@media all and (max-width: 639px) {
  .acdi-box .acdi-box-inner {
    padding: 0;
  }
  .acdi-box .acdi-box-inner .ttl {
    border-top: 1px solid #a2d538;
    border-bottom: 1px solid #a2d538;
    padding: 20px 0;
    font-size: 1.6rem;
  }
  .acdi-box .acdi-box-inner .detail {
    padding: 0px;
  }
  .acdi-box .acdi-box-inner .detail .subttl {
    margin-bottom: 20px;
    font-size: 1.3rem;
    text-align: center;
    position: relative;
    z-index: 1;
    display: block;
    padding: 10px;
  }
  .acdi-box .acdi-box-inner .detail .detail-txt {
    margin-top: 20px;
    padding-left: 20px;
    font-size: 1.2rem;
    position: relative;
  }
  .acdi-box .acdi-box-inner .detail .detail-txt:before {
    position: absolute;
    content: "";
    width: 5px;
    height: 30px;
    background-color: #4bb4a1;
    left: 0px;
    top: 0;
  }
  .acdi-box .acdi-box-inner .detail .detail-txt:after {
    position: absolute;
    content: "";
    width: 5px;
    height: 15px;
    background-color: #ff5fbe;
    left: 0px;
    top: 15px;
  }
  .acdi-box .acdi-box-inner .detail .detail-list {
    padding: 10px 0px;
  }
  .acdi-box .acdi-box-inner .detail .detail-list li {
    position: relative;
    padding-left: 25px;
    font-size: 1.2rem;
  }
  .acdi-box .acdi-box-inner .detail .detail-list li:before {
    position: absolute;
    content: "■";
    width: 20px;
    height: 20px;
    color: #4bb4a1;
    left: 0;
  }
}

.scrollify {
  width: 100%;
  height: 100vh;
}

#box2,
#box3,
#box4,
#box5 {
  padding: 120px 0 0;
  z-index: 1;
}
@media all and (max-width: 639px) {
  #box2,
  #box3,
  #box4,
  #box5 {
    padding: 80px 0 80px;
  }
}
#box2 section,
#box3 section,
#box4 section,
#box5 section {
  z-index: 100;
}

.pagination {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1em;
  z-index: 10;
  list-style: none;
}
@media all and (max-width: 639px) {
  .pagination {
    right: 4px;
  }
}
.pagination a {
  display: block;
  height: 20px;
  margin-bottom: 5px;
  color: #a2d538;
  position: relative;
  padding: 4px;
}
.pagination a.active:after {
  box-shadow: inset 0 0 0 5px;
}
.pagination a .hover-text {
  position: absolute;
  right: 15px;
  top: 0;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  padding-right: 15px;
}
.pagination a:hover .hover-text {
  opacity: 1;
}
.pagination a:after {
  -webkit-transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
  width: 10px;
  height: 10px;
  display: block;
  border: 1px solid;
  border-radius: 50%;
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  right: 3px;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .pagination a .hover-text {
    display: none;
  }
}
.svg {
  display: flex;
  place-items: center;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  position: relative;
  fill: #fff;
}
.svg.center {
  margin: 0 auto;
}
.svg.type1 {
  background-color: transparent;
  border: 0px solid #fff;
}
.svg.type1 svg {
  fill: #a2d538;
}
.svg .ttl {
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  padding: 5px 0;
  margin-top: 8px;
  font-weight: bold;
}
.svg img {
  width: 60px;
  height: 60px;
  filter: brightness(0) invert(1);
}
@media all and (max-width: 639px) {
  .svg img {
    width: 30px;
    height: 30px;
  }
}
.svg svg {
  width: 80px;
  height: 80px;
  fill: #fff;
}
@media all and (max-width: 639px) {
  .svg svg {
    width: 30px;
    height: 30px;
  }
}
@media all and (max-width: 639px) {
  .svg {
    width: 80px;
    height: 80px;
  }
  .svg .ttl {
    font-size: 1.1rem;
  }
}

#top_navi ul.commonnav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px 16px;
}
@media all and (max-width: 896px) {
  #top_navi ul.commonnav {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 639px) {
  #top_navi ul.commonnav {
    grid-template-columns: repeat(1, 1fr);
    font-size: 1rem !important;
  }
}
#top_navi ul.commonnav .ttl {
  font-size: 1.2rem;
  color: #a2d538;
  padding: 0px 0px;
  border-bottom: 1px solid #ccc;
  margin-top: 10px;
  margin-bottom: 5px;
  position: relative;
}
#top_navi ul.commonnav .ttl:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  margin-right: 5px;
}
#top_navi ul.commonnav > li {
  width: 100%;
  margin-bottom: 10px;
}
#top_navi ul.commonnav > li > a {
  color: #555;
  display: block;
  font-weight: bold;
  position: relative;
  padding: 10px 0px 10px 25px;
  font-size: 1.2rem;
  color: #fff;
  background-color: #86b426;
  line-height: 1.2;
}
#top_navi ul.commonnav > li > a:before {
  border-left: 6px solid #fff;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 5px;
  top: 38%;
  border-left: 6px solid #a2d538;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}
#top_navi ul.commonnav > li > a:hover {
  color: #fff;
  background-color: #678a1d;
}
@media all and (max-width: 639px) {
  #top_navi ul.commonnav > li > a {
    font-size: 1rem;
  }
}
#top_navi ul.commonnav > li span {
  color: #fff;
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
#top_navi .dropdown {
  margin-top: 10px;
}
#top_navi .dropdown .dropdown-li {
  border-right: 0;
  margin: 0 0 2px;
}
#top_navi .dropdown .dropdown-li a {
  display: block;
  padding: 8px 8px;
  color: #333;
  font-size: 1.2rem;
  background: #f2f2f2;
}
#top_navi .dropdown .dropdown-li a:hover {
  background: rgba(170, 170, 170, 0.4);
}
@media all and (max-width: 639px) {
  #top_navi .dropdown .dropdown-li a {
    font-size: 1rem;
  }
}

.main_content {
  width: calc(100% - 200px);
  margin: 0 0 0 auto;
  overflow: hidden;
}
.main_content .br {
  display: none;
}
@media screen and (max-width: 1600px) {
  .main_content {
    width: calc(100% - 245px);
  }
  .main_content .single,
  .main_content .single02,
  .main_content .single03 {
    padding: 40px 0;
  }
  .main_content .single,
  .main_content .single03 {
    padding-left: 2%;
    padding-right: 2%;
  }
  .main_content .br {
    display: block;
  }
}
@media all and (max-width: 896px) {
  .main_content {
    width: 100%;
  }
  .main_content .single,
  .main_content .single03 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.side_header_bg {
  position: relative;
}
.side_header_bg:before {
  content: "";
  position: absolute;
  width: 100%;
  background-image: url(../images/cp_ogj/side_header_bg.png);
  background-position: bottom center;
  background-size: 100%;
  background-repeat: no-repeat;
  top: inherit;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  mix-blend-mode: multiply;
}

#side_header {
  position: fixed;
  top: 0;
  left: 0;
  padding: 30px 20px;
  background-color: #111;
  z-index: 100;
  height: 100vh;
  width: 245px;
  filter: drop-shadow(0px 0px 10px rgba(48, 48, 48, 0.2));
  /*
  &:before {
      position: absolute;
      content: "";
      width: 50px;
      height: 100%;
      //background: url(../img/nav-bg.png) repeat-y;
      background-size: 50px 700px;
      right: -30px;
      top: 0;
  } */
}
#side_header .logo {
  text-align: center;
}
@media all and (max-width: 639px) {
  #side_header .logo {
    display: none;
  }
}
#side_header.type_w {
  background-color: #fff;
  filter: drop-shadow(0px 0px 10px rgba(48, 48, 48, 0));
}
#side_header.type_bg_base {
  background-color: #f8f3eb;
  filter: drop-shadow(0px 0px 10px rgba(48, 48, 48, 0));
}
#side_header.type_base_color {
  background-color: #a2d538;
  filter: drop-shadow(0px 0px 10px rgba(48, 48, 48, 0));
}
#side_header.fix {
  position: fixed;
}
#side_header #side_header_nav {
  margin-top: 20px;
}
#side_header #side_header_nav.type_tr {
  margin-top: 80px;
  margin-bottom: 100px;
}
#side_header #side_header_nav.type_tr ul.commonnav {
  display: flex;
  justify-content: center;
}
#side_header #side_header_nav.type_tr ul.commonnav > li {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  border-bottom: 0px solid #ddd;
  margin: 0;
}
#side_header #side_header_nav.type_tr ul.commonnav > li > a {
  color: #333;
  padding: 10px;
  display: block;
  font-weight: bold;
  position: relative;
  font-size: 1.4rem;
}
#side_header #side_header_nav.type_tr ul.commonnav > li > a:before {
  content: none;
}
#side_header #side_header_nav.type_tr ul.commonnav > li > a:hover {
  color: #a2d538;
  background-color: rgba(162, 213, 56, 0.1);
}
#side_header #side_header_nav.type_tr ul.commonnav > li span {
  display: block;
  color: #333;
}
#side_header #side_header_nav.type1 ul > li {
  border-bottom: 0px solid #ddd;
  color: #fff;
}
#side_header #side_header_nav.type1 ul > li > a {
  color: #fff;
  background-color: #86b426;
}
#side_header #side_header_nav.type1 ul > li > a:before {
  border-left: 6px solid #fff;
}
#side_header #side_header_nav.type1 ul > li > a:hover {
  color: #fff;
  background-color: #678a1d;
}
#side_header #side_header_nav.type_white ul.commonnav > li {
  border-bottom: 0px solid #ddd;
  color: #fff;
}
#side_header #side_header_nav.type_white ul.commonnav > li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  margin: 0 auto;
  border-bottom: 1px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
  transition: 0.5s;
}
#side_header #side_header_nav.type_white ul.commonnav > li > a {
  color: #fff;
}
#side_header #side_header_nav.type_white ul.commonnav > li > a:before {
  border-left: 6px solid #fff;
}
#side_header #side_header_nav.type_white ul.commonnav > li > a:hover {
  color: #fff;
}
#side_header #side_header_nav ul.commonnav > li {
  margin-bottom: 10px;
  position: relative;
}
#side_header #side_header_nav ul.commonnav > li:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  margin: 0 auto;
  border-bottom: 1px solid #a2d538;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
  transition: 0.5s;
}
#side_header #side_header_nav ul.commonnav > li:hover:before {
  width: 100%;
  border-bottom: 1px solid #4bb4a1;
  transition: 0.5s;
}
#side_header #side_header_nav ul.commonnav > li > a {
  color: #333;
  display: block;
  font-weight: bold;
  position: relative;
  padding: 5px 0px 5px 5px;
  font-size: 1.4rem;
  /* 右矢印
  &:before {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      left: 5px;
      top: 38%;
      border-left: 6px solid #111;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
  } 
  */
}
#side_header #side_header_nav ul.commonnav > li span {
  display: block;
  color: #333;
}
#side_header #side_header_nav .dropdown {
  display: none;
  margin-top: 10px;
}
#side_header #side_header_nav .dropdown .dropdown-li {
  border-right: 0;
  margin: 0 0 5px;
}
#side_header #side_header_nav .dropdown .dropdown-li a {
  display: block;
  padding: 8px 8px;
  color: #333;
  font-size: 1.3rem;
  background: #f2f2f2;
}
#side_header #side_header_nav .dropdown .dropdown-li a:hover {
  background: rgba(170, 170, 170, 0.4);
}
#side_header #side_header_nav .dropdown .dropdown-li.foot_only {
  display: none;
}
@media all and (max-width: 896px) {
  #side_header #side_header_nav {
    display: none;
  }
}
#side_header .pagesub_nav {
  background-color: #fff;
  padding: 10px 20px;
  margin-bottom: 40px;
  text-align: center;
}
#side_header .pagesub_nav li {
  padding-top: 5px;
  margin-bottom: 5px;
  border-top: 1px solid #a2d538;
}
#side_header .pagesub_nav li:first-child {
  border-top: none;
}
#side_header .pagesub_nav li a {
  color: #363636;
  font-weight: bold;
  font-size: 1.4rem;
}
#side_header .pagesub_nav li a:hover {
  color: #a2d538;
}
#side_header .pagesub_nav li span {
  display: block;
  color: #333;
}
@media all and (max-width: 1100px) {
  #side_header {
    padding: 50px 20px;
  }
  #side_header:before {
    background-size: 30px 480px;
    right: -30px;
  }
  #side_header #logo {
    width: 200px;
  }
}
@media all and (max-width: 896px) {
  #side_header {
    background: none;
    position: absolute;
    max-width: auto;
    left: 0;
    right: inherit;
    margin: 0 auto;
    top: 0;
    padding: 5px;
    width: 100%;
    height: 65px;
  }
  #side_header.fix {
    position: absolute;
  }
  #side_header .head_tel,
  #side_header .head_mail,
  #side_header .sns_btn {
    display: none;
  }
  #side_header .logo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  #side_header .logo img {
    height: 60px;
    object-fit: contain;
  }
  #side_header:before {
    display: none;
  }
}

.head_tel {
  text-align: center;
  margin-bottom: 5px;
  font-size: 1.1rem;
}
.head_tel span {
  display: block;
}
.head_tel a {
  font-size: 2.3rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  /*&:first-letter {
  	text-transform: uppercase;
  	color: $base_color;
  } */
}
.head_tel a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
  font-size: 1.5rem;
}
.head_tel.white {
  color: #fff;
}
.head_tel.white a {
  color: #fff;
}
.head_tel.bg_color {
  color: #fff;
  background-color: transparent;
}
.head_tel.bg_color a {
  color: #fff;
}

.head_mail {
  margin: 0 8px;
  transition: 0.6;
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid #a2d538;
  text-align: center;
}
.head_mail.white {
  border: 1px solid #fff;
  box-shadow: rgba(17, 17, 17, 0.1) 0 0 3px 3px;
  margin: 10px 0px;
}
.head_mail.bg_color {
  border: 1px solid #fff;
  background-color: #fff;
  box-shadow: rgba(17, 17, 17, 0.1) 0 0 3px 3px;
  margin: 10px 0px;
}
.head_mail.bg_color:hover {
  background-color: #e6e6e6;
}
.head_mail.bg_color:hover a {
  color: #fff;
}
.head_mail a {
  color: #fff;
  padding: 0 20px;
  display: block;
  position: relative;
  transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
}
.head_mail a span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: -5px;
}
.head_mail:hover {
  background-color: #fff;
  border: 1px solid #a2d538;
  transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
}
.head_mail:hover a {
  color: #a2d538;
}

#epark {
  margin-top: 10px;
}
#epark .richreserve_panel {
  max-width: 440px !important;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
#epark .epark_haisha_yoyaku_richreserve .richreserve2_body {
  float: none;
}
#epark span.richreserve2_body {
  width: 50% !important;
}
#epark span.richreserve2_head {
  width: 50% !important;
  height: 80px !important;
}
#epark span.richreserve2_head_icon {
  top: -3% !important;
}
#epark span.richreserve2_head_title {
  font-size: 1.3vw !important;
  /* font-size: 1.5vw !important; */
  bottom: -5% !important;
}
#epark span.richreserve2_body {
  height: 80px !important;
}
#epark .epark_haisha_yoyaku_richreserve .richreserve2_body_body {
  height: 90% !important;
}
#epark .epark_haisha_yoyaku_richreserve .richreserve2_body_body > span {
  height: 90% !important;
}

@media all and (max-width: 639px) {
  #epark span.richreserve2_head_title {
    font-size: 4.2vw;
  }
}
@media all and (max-width: 639px) {
  #epark span.richreserve2_head_title {
    font-size: 4.2vw !important;
  }
}
.medical2-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.medical2-wrap .medical1 {
  width: 50%;
}
.medical2-wrap .medical1 .left {
  width: 60%;
  padding: 120px 30px;
}

@media all and (max-width: 896px) {
  .medical2-wrap .medical1:before {
    width: 100%;
    height: 280px;
  }
  .medical2-wrap .medical1 .left {
    width: 100%;
    margin-top: 280px;
    padding: 30px 15px;
  }
}
@media all and (max-width: 639px) {
  .medical2-wrap .medical1 {
    width: 100%;
  }
  .medical2-wrap .medical1:before {
    height: 280px;
  }
  .medical2-wrap .medical1 .left {
    margin-top: 280px;
    padding: 20px 15px;
  }
}
.medical1 {
  display: flex;
  flex-wrap: wrap;
  background: #f2edde;
  position: relative;
}
.medical1:before {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 40%;
  height: 100%;
  background: url(../images/01.jpg) no-repeat center/cover;
}
.medical1.type1:before {
  background: url(../images/01.jpg) no-repeat center/cover;
}
.medical1.type2:before {
  background: url(../images/02.jpg) no-repeat center/cover;
}
.medical1.type3:before {
  background: url(../images/03.jpg) no-repeat center/cover;
}
.medical1.type4:before {
  background: url(../images/04.jpg) no-repeat center/cover;
}
.medical1 .left {
  padding: 40px 40px;
  width: 60%;
  position: relative;
}
.medical1 .left .inner {
  max-width: 550px;
  margin: 0 auto;
}

@media all and (max-width: 639px) {
  .medical1:before {
    width: 100%;
    height: 200px;
  }
  .medical1 .left {
    width: 100%;
    margin-top: 200px;
    padding: 25px 15px;
  }
}
.medical2-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.medical2-wrap .medical1 {
  width: 50%;
  background: #fff;
}
.medical2-wrap .medical1 .left {
  width: 60%;
  background-color: rgba(162, 213, 56, 0.3);
  padding: 120px 30px;
}

@media all and (max-width: 896px) {
  .medical2-wrap .medical1:before {
    width: 100%;
    height: 280px;
  }
  .medical2-wrap .medical1 .left {
    width: 100%;
    margin-top: 280px;
    padding: 30px 15px;
  }
}
@media all and (max-width: 639px) {
  .medical2-wrap .medical1 {
    width: 100%;
  }
  .medical2-wrap .medical1:before {
    height: 280px;
  }
  .medical2-wrap .medical1 .left {
    margin-top: 280px;
    padding: 20px 15px;
  }
}
.point-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px;
}
.point-title.blue .num:before {
  background: #297ede;
}
.point-title.blue .txt {
  color: #297ede;
}
.point-title .num {
  font-family: "Arvo", serif;
  font-weight: 500;
  font-size: 3.6rem;
  color: #a2d538;
  line-height: 1;
  position: relative;
}
.point-title .num:before {
  position: absolute;
  content: "";
  left: 50%;
  top: -50px;
  width: 1px;
  height: 75px;
  background: #a2d538;
}
.point-title .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  line-height: 1.3;
  margin-left: 20px;
  font-size: 1.8rem;
  color: #a2d538;
}

@media all and (max-width: 639px) {
  .point-title .num {
    font-size: 2.8rem;
  }
}
@media all and (max-width: 639px) {
  .point-title .txt {
    font-size: 1.5rem;
  }
}
.vw_box {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  position: absolute;
  width: 1220px;
  margin: 0 auto;
  top: 0;
  right: 0;
  left: 0;
  font-size: 1.8rem;
}
.vw_box.right {
  top: -5%;
  right: -10%;
}
@media all and (max-width: 639px) {
  .vw_box.right {
    top: -1%;
    right: -1%;
  }
}
.vw_box .ttl {
  font-size: 2.8rem;
  margin: 0 0.5em;
  z-index: 2;
  position: relative;
  letter-spacing: 0.2em;
}
.vw_box .ttl.beta {
  background-color: #a2d538;
  color: #fff;
  padding: 1em 0.5em;
  display: inline-block;
}
.vw_box p {
  z-index: 2;
  position: relative;
}
#toplink2 ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style-type: none;
	
}
#toplink2 li {
	text-align: center;
	margin: 10px;
}
#toplink2 li a {
	text-decoration: none;
}
#toplink2 li a:hover {
	opacity: .6;
}
#toplink2 li img {
	max-width: 100%;
}

.form-contents dl dt:not(.pattern-exclusion) span.required::before{
  background: #a2d538!important;
  border:1px solid #a2d538!important;
}
.form-contents .submit-btn{
  background: #363636!important;
  border:1px solid #363636!important;
}
.form-contents :not(.pattern-exclusion) button:hover {
  color: #363636!important;
  background: #fff!important;
  border: solid 2px #363636!important;
}
.form-contents .submit-btn:hover::before {
      background-color: #363636!important;
}
.form-contents dl dt:not(.pattern-exclusion) span.optional::before {
  padding: 5px 8px;
  margin-right: 5px;
  font-size: 11px;
  border-radius: 20px;
  position: relative;
  top: -2px;
}
.form-contents dl dt:not(.pattern-exclusion) span.optional::before {
  content: '任意';
  color: #333!important;
  background: #ffff59!important;
}

.form-contents form dl {
  margin-bottom: 0!important;
}

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