/*****************************************************************
全てに適用
*****************************************************************/
/*
* {
  font-family: "Kiwi Maru", serif;
}*/

* {
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

img {
  /* PCの右クリック禁止 */
  pointer-events: none;

  /* SPの長押し禁止 */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
}

h1 {
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

h2 {
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

p {
  font-size: 1.2rem;
}

button {
  border: none;
  background: none;
}

#page-top {
  z-index: 999999;
  bottom: 0%;
  right: 1%;
  width: 4.5%;
}

#page-top:hover {
  transform: translateY(-15px);
}

.marker {
  background: linear-gradient(transparent 70%, rgba(255, 230, 0, 0.763) 50%);
  display: inline;
  background-repeat: no-repeat;
  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;
  /* マーカーが引かれる速度を指定 */
  transition: background-size 1.5s;
}

.marker.on {
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%;
}

/*-------背景画像固定-------*/
.cd-fixed-bg {
  position: relative;
  min-height: 100%;
  /*height: 400px; /*--スクロールをさせるため 高さ指定--*/
  background-size: cover;
  /*--背景画像のサイズ--*/
  background-attachment: fixed;
  /*--背景画像の固定--*/
  background-repeat: no-repeat;
  /*--背景画像の繰り返し--*/
  background-position: center center;
  /*--背景画像の位置--*/
  z-index: 2;
  /*padding: 2em 0;*/
}

.cd-fixed-bg.cd-bg-1 {
  /*background-image: url("../img/back-img.png");*/
  background-color: #fce7de;
  width: 100%;
}

/*@media screen and (min-width:1000px) and (max-width:1400px) {
  .cd-fixed-bg.cd-bg-1 {
    background-image: url("../img/back-img_m.png");
    background-color: #fce7de;
    width: 100%;
  }
}

@media screen and (min-width:768px) and (max-width:999px) {
  .cd-fixed-bg.cd-bg-1 {
    background-image: url("../img/back-img_s.png");
    background-color: #fce7de;
    width: 100%;
  }
}*/


/*--------スクロールバーの非表示----------*/
::-webkit-scrollbar {
  width: 13px;
}

::-webkit-scrollbar-track {
  background-color: #d2d4b6;
}

::-webkit-scrollbar-thumb {
  background-color: #babd8e;
  border-radius: 10px;
}

/*--------マウスカーソル----------*/

/*ページ全体でカーソルを消す*/
body {
  cursor: none;
}

#js-mouse {
  pointer-events: none;
  position: fixed;
  top: -25px;
  left: -25px;
  width: 40px;
  height: 40px;
  background-color: rgba(255, 191, 0, 0.5);
  border-radius: 50%;
  transform: translate(0, 0);
  transition: all 0.2s ease-out;
  z-index: 9999;
  opacity: 0;
}

#js-cursor {
  pointer-events: none;
  position: fixed;
  top: -27px;
  left: -6px;
  width: 25px;
  height: 9px;
  background-color: rgba(95, 161, 65, 0.6);
  border-radius: 50%;
  /*transform: translate(0, 0);*/
  /*transition: width 0.3s ease-out, height 0.3s ease-out;*/
  transition: all 0.2s ease-out;
  z-index: 10000;
  opacity: 0;
}

#js-mouse.js-hover {
  width: 70px;
  height: 70px;
}

#js-cursor.js-hover {
  width: 25px;
  height: 25px;
  top: -5px;
  left: -5px;
}


@media screen and (max-width:1400px) {
  #js-mouse {
    display: none;
  }

  #js-cursor {
    display: none;
  }

  body {
    cursor: default;
  }
}

.breadcrumbs {
  color: #f08b75;
}

.breadcrumbs a {
  color: #f08b75;
}

/***---------------------------------------------------------***
ページ遷移
****---------------------------------------------------------***/
/* ↓ 共通の記述 */
/* 全体 */
.content {
  opacity: 0;
  pointer-events: none;
}

body.appear .content {
  animation-name: PageAnime-content;
  animation-duration: 0.55s;
  animation-delay: 0.55s;
  animation-fill-mode: forwards;
  opacity: 0;
  pointer-events: auto;
}

.animation .content {
  opacity: 1;
  pointer-events: auto;
}

@keyframes PageAnime-content {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*背景色が動く*/

.move .animation-bg {
  background: #ef8b75;
  display: block;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

/*上から下へ動く*/

.ttb .animation-bg {
  animation-name: PageAnime-ttb;
}

@keyframes PageAnime-ttb {
  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);
  }
}

/***---------------------------------------------------------***
ヘッダー
****---------------------------------------------------------***/
/* ヘッダー */
header {
  background-color: #ef8b75;
  padding: 1%;
}

.nav-contents {
  font-weight: bold;
  color: #fff;
}

nav ul li {
  width: auto;
}

.c-header {
  height: 100px;
}

.c-header {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.inner-block {
  width: 100%;
  margin: auto;
  padding: 15px 60px;
  box-sizing: border-box;
  position: relative;
}

.c-header .inner-block {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.c-header .logo {
  width: 25%;
  color: #75bec2;
  font-size: 50px;
  font-weight: bold;
}

/* メニューボタン */
.c-menu ul {
  display: flex;
  align-items: center;
  width: 100%;
  color: #fff;
}

.c-menu li {
  margin-left: 40px;
}

.c-menu li a {
  font-size: 1.4rem;
  font-weight: 500;
  position: relative;
  transition: 0.2s ease-in-out;
  font-family: "Kiwi Maru", serif;
  /*text-align: center;*/
}

.c-menu li a::before {
  background: transparent;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  position: absolute;
  bottom: -3px;
  left: 0;
  transition: 0.2s ease-in-out;
}

@media screen and (min-width:1120px) and (max-width:1200px) {
  #contact-xs {
    width: 50%;
    margin: 2rem auto;
    background-color: unset;
    border-top: unset;
  }

  header {
    padding: 0;
  }
}

@media screen and (min-width: 762px) {
  .c-menu li a:hover {
    color: #722311;
  }

  .c-menu li a:hover::before {
    background: #722311;
    transition: 0.2s ease-in-out;
  }

  #contact-xs a:hover::before {
    background: unset;
    transition: unset;
  }

  #contact-xs a:hover {
    color: #c7583f;
  }

  .c-menu.level02 li a:hover {
    color: #ff97bd;
  }

  .c-menu.level02 li a:hover::before {
    background: #ff97bd;
    transition: 0.2s ease-in-out;
  }

  .c-menu.level03 li a:hover {
    color: #77ebda;
  }

  .c-menu.level03 li a:hover::before {
    background: #77ebda;
    transition: 0.2s ease-in-out;
  }
}

/*@media screen and (min-width: 926px) */
@media screen and (min-width: 1201px) {
  .c-menu-btn {
    display: none;
  }
}

/*@media screen and (max-width: 925px)*/
@media screen and (max-width: 1200px) {
  .c-header {
    height: 70px;
  }

  .c-header .logo {
    width: 35%;
  }

  .c-menu {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: 0.3s ease-in-out;
    transform: translateY(-70px);
    z-index: 999;
  }

  .c-menu ul {
    display: block;
    width: 100%;
  }

  .c-menu li {
    background: #fff;
    margin-left: 0;
  }

  .c-menu li a {
    display: block;
    padding: 15px 30px;
    box-sizing: border-box;
    color: #333;
  }

  .c-menu li+li {
    border-top: 1px solid #ddd;
  }

  .c-menu.is-open {
    opacity: 1;
    display: block;
    transform: translateY(70px);
  }

  .c-menu li a:hover {
    color: #333;
  }

  .c-menu li a:hover::before {
    content: none;
  }

  .c-menu.level02 li a:hover {
    color: #333;
  }

  .c-menu.level02 li a:hover::before {
    content: none;
  }
}

.c-menu-btn {
  cursor: pointer;
  width: 30px;
  height: 22px;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  z-index: 999;
}

.c-menu-btn .inn {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.c-menu-btn .inn .line {
  position: absolute;
  display: inline-block;
  background-color: #ffffff;
  border-radius: 10px;
  height: 4px;
  left: 0;
  width: 100%;
  transition: 0.3s;
}

.c-menu-btn .inn .line:nth-of-type(1) {
  top: 0;
}

.c-menu-btn .inn .line:nth-of-type(2) {
  top: 10px;
}

.c-menu-btn .inn .line:nth-of-type(3) {
  top: 20px;
}

.c-menu-btn.is-open .inn .line:nth-of-type(1) {
  top: 45%;
  transform: rotate(45deg);
}

.c-menu-btn.is-open .inn .line:nth-of-type(2) {
  opacity: 0;
}

.c-menu-btn.is-open .inn .line:nth-of-type(3) {
  top: 45%;
  transform: rotate(-45deg);
  bottom: auto;
}

/* 問合せボタン */
a.contact-button {
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
  margin: auto;
  padding: 10px 20px;
  font-weight: bold;
  border-radius: 5px;
  color: #b54331;
  background-color: #fff;
  border: 3px solid #c7583f;
  box-shadow: 3px 3px #c7583f;
  transition: 0.3s ease-in-out;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

a.contact-button:hover {
  box-shadow: none;
  transform: translate(3px, 3px);
  color: #c7583f;
}

/* 問合せボタンここまで */

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.4);
  display: none;
  transition: all 0.6s;
  cursor: pointer;
}

.black-bg.is-open {
  display: block;
}

/***---------------------------------------------------------***
ヘッダー　ドロップダウン　
****---------------------------------------------------------***/
/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
.has-child {
  position: relative;
}

.has-child ul {
  display: inherit;
}

.has-child ul li {
  margin-left: 0;
}

.has-child ul li a {
  padding: 1.5rem 1rem;
}

/*ナビゲーションのリンク設定*/
nav ul li a {
  display: block;
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
.has-child::before {
  content: '';
  position: absolute;
  right: -16px;
  top: 7px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(135deg);
}


/*下の階層を持っているulの指定*/
.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  left: 0;
  top: 68px;
  z-index: 4;
  width: 350px;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all .3s;
  list-style: none;
}

/*hoverしたら表示*/
.has-child:hover>ul,
.has-child ul li:hover>ul,
.has-child:active>ul,
.has-child ul li:active>ul {
  visibility: visible;
  opacity: 1;
  list-style: none;
}

/*ナビゲーションaタグの形状*/
.has-child ul li a {
  color: #573713;
  border-bottom: solid 3px #d78b7a;
  background-color: #fde7de;
}

.has-child ul li:last-child a {
  border-radius: 0px 0px 20px 20px;
}

.has-child ul li a:hover,
.has-child ul li a:active {
  background: #f08b75;
  color: #ffffff;
}

.has-child li a:hover::before {
  background: unset;
  transition: unset;
}

@media screen and (min-width:768px) and (max-width:1200px) {
  .has-child ul li a {
    padding: 0.9rem 2rem;
    font-size: 1.1rem;
  }

  nav {
    padding: 0;
  }

  nav ul {
    display: block;
  }

  .has-child ul,
  .has-child ul ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのslidetoggleで表示させるため非表示に*/
    transition: none;
    /*JSで制御するためCSSのアニメーションを切る*/
  }

  nav ul li a {
    border-bottom: 1px solid #ccc;
  }

  .has-child ul li:last-child a {
    border-radius: unset;
  }


  /*矢印の位置と向き*/
  .has-child::before {
    left: unset;
    right: 1.5rem;
    top: 20px;
    border-top: 2px solid #f08b75;
    border-right: 2px solid #f08b75;
    transform: rotate(135deg);
  }

  .has-child.active::before {
    transform: rotate(-45deg);
  }
}


/***---------------------------------------------------------***
トップ画像(トップ文字スライドショー)
****---------------------------------------------------------***/
.slideshow-container {
  position: relative;
}

.slide {
  display: none;
}

.text {
  color: rgb(255, 255, 255);
  font-size: 1.8rem;
  position: absolute;
  top: 62%;
  left: 30%;
  transform: translate(-50%, -50%);
  text-align: center;
  background-image: -webkit-linear-gradient(left, transparent, #fea65a 10%, #fea65a 90%, transparent);
  background-image: linear-gradient(to right, transparent, #fea65a 10%, #fea65a 90%, transparent);
  padding: 1rem 4rem;
  box-sizing: border-box;
  line-height: normal;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.fade {
  animation: fade 10s ease-in-out infinite;
}

@keyframes fade {

  0%,
  100% {
    opacity: 0;
  }

  25%,
  75% {
    opacity: 1;
  }
}

@media screen and (min-width:1120px) and (max-width:1400px) {
  .text {
    font-size: 1.3rem;
    left: 30%;
    padding: 1.1rem 5.5rem;
  }
}





/***---------------------------------------------------------***
お知らせ・新着情報
****---------------------------------------------------------***/
.topics-list {
  padding: 3rem 0;
  box-sizing: border-box;
  margin-bottom: 4rem;
}

.topics-list .topics {
  width: 100%;
  background-color: white;
  padding: 3.5rem 5rem 2rem 5rem;
  margin: 0 auto;
  box-sizing: border-box;
  border-radius: 15px;
  position: relative;
  font-size: 1.2rem;
}

.topics-list .topics li {
  margin-bottom: 1.5em;
  align-items: center;
}

.topics-list .topics li .title {
  width: calc(100% - 14em);
  line-height: 2rem;
}

.topics-list .topics li .cat {
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  border: none;
}

.topics-list .topics li .cat.nenkin {
  background-color: #69cf94;
}

.topics-list .topics li .cat.jyoseikin {
  background-color: #fdb750;
}

.topics-list .topics li .cat.houkaisei {
  background-color: #59cedc;
}

.topics-list .topics li .cat.news {
  background-color: #eb5b5b;
  ;
}

.topics-list .topics li .cat.others {
  /*background-color: #ad95fb;*/
  background-color: #fb95b5;
}




.topics-list .topics li .date {
  width: 6em;
}

.btn-color1 {
  position: absolute;
  right: 70px;
  bottom: -20px;
  padding: 1rem 3rem;
  box-sizing: border-box;
  border-color: #f08b75 !important;
  background-color: #f08b75 !important;
  font-size: 1.3rem;
  font-weight: 500;
  border-radius: 50px;
}

@media screen and (max-width:380px) {
  .btn-color1 {
    padding: 1rem 2rem;
    font-size: 1.1rem;
  }
}

.btn-color1.btn.hover:hover {
  background-color: #ffffff !important;
  color: #f08b75 !important;
}

.midashi.type5 {
  border-bottom: 0.2em solid #f18b75;
}

.midashi.type5::before {
  background-color: #feb7a1;
}

body.appear .content {
  background-color: #fbe7de;
}

/**---------single.phpで追加したクラス---------**/

#single_wrap .top-image {
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
  background-image: url("../img/notice.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#single_wrap .opacity {
  width: 100%;
  /* 親である.sample1の幅に対する割合 */
  height: 100%;
  /*親である.sample1の高さに対する割合 */
  background-color: rgba(252, 231, 222, 0.6);
}

#single_wrap .centered-text {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #563713;
}

#single_wrap .centered-text h1 {
  font-size: 3rem;
  margin: 0;
  text-shadow: 0 0 10px #ffffff;
}

#single_wrap .back-style {
  background-color: white;
  margin-top: 5rem;
  padding: 3rem;
  box-sizing: border-box;
  border-radius: 20px;
}

/*カテゴリを非表示*/
#single_wrap .back-style a.cat {
  display: none;
}

/*「タイトル」の設定*/
#single_wrap h3 {
  font-size: 1.5rem;
  background-color: #fce7de;
  padding: 0.5rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

/*「本文」の設定*/
#single_wrap p {
  line-height: 2.5em;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

/*パンくずリストを非表示*/
#single_wrap .breadcrumbs {
  display: none;
}

/*「画像」の設定*/
#single_wrap .img {
  width: 70%;
  margin: 3rem auto;
}

#single_wrap .img .one img {
  width: 100%;
}

#single_wrap .img .two span img {
  width: 100%;
}

/*「前の記事へ」「次の記事へ」の設定*/
#single_navi {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
  font-size: 1.2rem;
  position: relative;
}

#single_navi .post_previous,
#single_navi .post_next {
  position: absolute;
  color: #f08b75;
}

#single_navi .post_previous a,
#single_navi .post_next a {
  text-decoration: none;
  color: #f08b75;
}

#single_navi .post_previous {
  left: 0;
}

#single_navi .post_next {
  right: 0;
}

#notice .topics-list {
  margin-bottom: 1rem;
}

/*#notice .topics-list .wp-pagenavi {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

#notice .topics-list .wp-pagenavi .pages {
  background-color: #ffffff;
  border: none;
  padding: 1rem 1.5rem;
  box-sizing: border-box;
  margin: 8px;
  border-radius: 10px;
}

#notice .topics-list .wp-pagenavi a,
#notice .topics-list .wp-pagenavi span {
  background-color: #fde7de;
  padding: 1rem 1.5rem;
  margin: 8px;
  border-radius: 10px;
  color: #563713;
}

#notice .topics-list .wp-pagenavi a:hover,
#notice .topics-list .wp-pagenavi span.current {
  border-color: #f08b75;
  background-color: #f08b75;
  color: white;
  font-weight: bold;
}*/

.wp-pagenavi {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.wp-pagenavi .pages {
  background-color: #ffffff;
  border: none;
  padding: 1rem 1.5rem;
  box-sizing: border-box;
  margin: 8px;
  border-radius: 10px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  background-color: #fde7de;
  padding: 1rem 1.5rem;
  margin: 8px;
  border-radius: 10px;
  color: #563713;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border-color: #f08b75;
  background-color: #f08b75;
  color: white;
  font-weight: bold;
}

/***---------------------------------------------------------***
お知らせ一覧（カテゴリ別ページ）
****---------------------------------------------------------***/
#archive_wrap .topics .topics-list {
  margin-bottom: 0rem;
}

/***---------------------------------------------------------***
業務内容　カスタムボタン
****---------------------------------------------------------***/
.custom-btn.flex-wrap {
  justify-content: space-between;
  /*justify-content: space-around;*/
}

/***********************************/
.custom-button {
  display: block;
  /*height: 30vh;*/
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
  text-decoration: none;
}

.custom-button p {
  margin: 2rem auto 0 auto;
  font-size: 1.3rem;
}

.custom-button h1 {
  font-size: 2.2rem;
}

.custom-button h2 {
  position: relative;
  height: 280px;
  text-align: center;
  background: #fff;
  border-radius: 10px;
  font-weight: 500;
  color: #563713;
  box-shadow: 6px 7px 0px #f79a78;
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

/**業務ボタンホバーホバー色変**/
.custom-button h2:hover {
  transform: translateY(4px);
  box-shadow: none;
  background: #fff5d0;
}

.custom-button h2:hover::after {
  background: #fff5d0;
  border: 6px solid #fd8052;
}

.custom-button h2:hover::before {
  background: #fff5d0;
}


.custom-button h2 span:hover::after {
  background: #fff5d0;
}

.custom-button h2 span:hover::before {
  background: #fff5d0;
  border: 6px solid #fd8052;
}

/**業務ボタンホバーホバー色変ここまで**/

.custom-button h2:before {
  position: absolute;
  content: "";
  top: -50px;
  left: calc(50% - 65px);
  width: 135px;
  height: 135px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.custom-button h2:after {
  position: absolute;
  content: "";
  top: 15px;
  left: 15px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  border: 6px solid #ffb7a1;
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.custom-button h2 img {
  position: absolute;
  z-index: 2;
  top: -10px;
  left: calc(50% - 40px);
  width: 5rem;
  height: 50px;
}

.custom-button h2 span {
  position: relative;
  z-index: 1;
  display: block;
  height: 100%;
  padding: 4rem 3rem;
  box-sizing: border-box;
}

.custom-button h2 span:before {
  position: absolute;
  content: "";
  left: calc(50% - 50px);
  /*top: -36px;
  width: 90px;
  height: 40px;*/
  top: -38px;
  width: 89px;
  height: 45px;
  border: 6px solid #ffb7a1;
  border-radius: 50vw 50vw 0 0;
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.custom-button h2 span:after {
  position: absolute;
  content: "";
  position: absolute;
  left: calc(50% - 43.5px);
  /*top: 7px;
  width: 89.5px;
  height: 16px;*/
  top: 11px;
  width: 89px;
  height: 12px;
  border-radius: 0px;
  background: #ffffff;
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

@media screen and (min-width:1120px) and (max-width:1500px) {
  .custom-button h2 span {
    padding: 4rem 1.5rem;
  }

  .custom-button h1 {
    font-size: 1.8rem;
  }
}

/***---------------------------------------------------------***
トップページボタン(業務案内・料金案内)
****---------------------------------------------------------***/
#wrap2 .slider-img {
  position: relative;
  height: 230px;
  border-radius: 300px;
  background-color: #ffffff;
  text-decoration: none;
  color: #573713;
}

#wrap2 .slider-img p {
  top: 30%;
  left: 0%;
  font-size: 2.3rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
}

#wrap2 .slider-img:hover {
  color: #ffffff;
}

#wrap2 img {
  width: 200px;
  height: 200px;
  object-fit: cover;
  position: absolute;
  top: 7%;
  right: 4%;
  border-radius: 300px;
}


#wrap2 .midashi.type5 {
  border-bottom: 0.2em solid #ffd8cd;
}

@media screen and (max-width:380px) {
  #wrap2 .midashi.type5 {
    width: 60% !important;
  }

  #wrap2 .slider-img p {
    font-size: 1.2rem !important;
  }
}

#wrap2 .midashi.type5::before {
  background-color: unset;
}

/*背景色スライダー　ボタンアニメーション*/
.slider-button {
  background: #fff;
  transform: perspective(1px) translateZ(0);
  font-size: 30px;
  border: 0;
  cursor: pointer;
  text-transform: lowercase;
  display: inline-block;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(.86, .01, .15, .99);
}

.slider-button::before {
  background: #f89b78;
  clip-path: inset(0 100% 0 0);
  opacity: 1;
  transition: 0.4s;
  content: "";
  position: absolute;
  z-index: -1;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0;
}

.slider-button:hover::before {
  clip-path: inset(0 0 0 0);
}

.slider-button:hover {
  color: white;
  box-shadow: 0 0 0 10px rgba(248, 155, 120, 0.4);
}


@media screen and (min-width:1120px) and (max-width:1300px) {
  #wrap2 .slider-img {
    height: 10rem;
  }

  #wrap2 img {
    width: 130px;
    height: 130px;
    top: 10%;
    right: 5%;
    border-radius: 200px;
  }

  #wrap2 .slider-img p {
    font-size: 1.5rem;
  }
}

@media screen and (min-width:1301px) and (max-width:1500px) {
  #wrap2 .slider-img {
    height: 10rem;
  }

  #wrap2 img {
    width: 140px;
    height: 140px;
    top: 7%;
    right: 2%;
    border-radius: 200px;
  }

  #wrap2 .slider-img p {
    font-size: 1.8rem;
  }
}

@media screen and (min-width:1501px) and (max-width:1700px) {
  #wrap2 .slider-img {
    height: 13rem;
  }

  #wrap2 img {
    width: 170px;
    height: 170px;
    top: 10%;
    right: 5%;
    border-radius: 200px;
  }

  #wrap2 .slider-img p {
    font-size: 2.2rem;
  }
}

/***---------------------------------------------------------***
トップ画像(当事務所について・業務内容・料金案内)
****---------------------------------------------------------***/
.top-image {
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
}

.top-image img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.4;
}

.centered-text {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #563713;
}

.centered-text h1 {
  font-size: 3rem;
  margin: 0;
  text-shadow: 0 0 10px #ffffff;
}

/***---------------------------------------------------------***
コンテンツ(業務案内・料金案内)
****---------------------------------------------------------***/
.contents {
  width: 60%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 15px;
  padding: 4rem;
  box-sizing: border-box;
}

.contents h1 {
  color: #c7583f;
  font-size: 2.3rem;
}

.contents .subheading {
  background-color: #fbe7de;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 2rem;
  width: 100%;
  padding: 25px 15px;
  box-sizing: border-box;
  border-radius: 3px;
}

.contents .img {
  width: 80%;
  text-align: center;
  margin: 3rem auto;
}

#ryokin .contents .img {
  width: 90%;
  text-align: center;
  margin: 0rem auto;
}

.contents .text-bun {
  margin: 1rem 10px 3rem 10px;
}

/*.contents p {
  margin-top: 1rem;
  margin-bottom: 2rem;
}*/

.home-btn a {
  text-decoration: none;
  color: #f08b75;
  font-size: 1.5rem;
  font-weight: 500;
  border-bottom: dotted 5px #f08b75;
}

/***---------------------------------------------------------***
表
****---------------------------------------------------------***/
table {
  width: 95%;
  margin: 1rem auto 1rem auto;
  background-color: #fff;
  /*border-collapse: collapse;*/
}

.table-title {
  background-color: #ef8b75;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
}

table,
th,
tr,
td {
  border: 2px solid rgb(165, 125, 125);
  padding: 1rem;
  box-sizing: border-box;
}

.column1 {
  background-color: #fbe7de;
  color: #563713;
  font-size: 1.2rem;
}

table strong {
  color: #563713;
}


@media screen and (max-width: 640px) {
  table {
    margin: 0 auto;
    border: 1px solid rgb(165, 125, 125);
  }

  tr,
  td {
    display: block;
    width: 100%;
  }

  tr {
    padding: 0;
    border: none;
  }

  #ryokin tr,
  #ryokin td {
    display: revert;
    width: 100%;
  }

}


#ryokin table,
#ryokin th,
#ryokin tr,
#ryokin td {
  padding: 0.5rem;
}

#ryokin .table-scroll {
  overflow-x: scroll;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}

/* Chrome, Safari 対応 */
#ryokin .table-scroll::-webkit-scrollbar {
  display: block;
  height: 10px;
  width: 10px;
  border-radius: 10px;
}


#ryokin .table-scroll table {
  width: 100%;
  min-width: unset;
}


/*--------スクロールバーの非表示----------
::-webkit-scrollbar {
  width: 7px;
}

::-webkit-scrollbar-track {
  background-color: #d2d4b6;
}

::-webkit-scrollbar-thumb {
  background-color: #babd8e;
}*/

/***---------------------------------------------------------***
ご挨拶
****---------------------------------------------------------***/
.container {
  width: 50%;
  margin: 0 auto;
}

.container .title {
  border-bottom: 5px dotted #ef8b75;
  padding: 1rem;
  box-sizing: border-box;
  font-size: 2rem;
  font-weight: 500;
  color: #563713;
  text-align: center;
}

.container .jimusyo-content {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.container .jimusyo-text {
  padding: 1rem;
  box-sizing: border-box;
}

.container .jimusyo-text.large-font {
  font-size: 1.4rem;
}

.container .small-image {
  width: 20%;
  display: block;
  margin: 0 auto;
  opacity: 0.7;
}

@media screen and (min-width:1120px) and (max-width:1400px) {
  .container {
    width: 65%;
  }
}

/***---------------------------------------------------------***
ボタン
****---------------------------------------------------------***/
@keyframes anime {
  0% {
    transform: scale(0.95);
    opacity: 1;
  }

  90% {
    opacity: 0.1;
  }

  to {
    transform: scale(1.2, 1.5);
    opacity: 0;
  }
}

.base-btn {
  position: relative;
  width: 400px;
  margin: 80px auto;
  transition: 0.2s;
  z-index: 6666;
}

.base-btn:before {
  animation: anime 2s ease-out infinite;
}

.base-btn:before,
.base-btn:after {
  content: "";
  position: absolute;
  z-index: -10;
  width: 100%;
  height: 100%;
  top: 3px;
  left: 0;
  border-radius: 100px;
  background: #ef8b75;
  border: 1px solid #ffa996;
  transform: translate3d(0, 0, 0);
}

.wave-btn {
  display: block;
  position: relative;
  top: 3px;
  padding: 25px 0;
  border-radius: 100px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #c7583f;
}

.wave-btn:after {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #ef8b75;
  border-radius: 100px;
  transition: 0.2s;
  transform: translate3d(0, 0, 0);
}

.base-btn .wave-btn span {
  display: block;
  position: relative;
  top: -3px;
  z-index: 2;
  transition: 0.2s;
  font-size: 1.4rem;
  font-weight: 500;
}

.base-btn .wave-btn span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 8px;
  height: 8px;
  margin: -4px 0 0;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: translateX(5px) rotate(45deg);
  transition: 0.3s 0.1s;
}

.wave-btn:hover {
  top: 3px;
}

.wave-btn:hover:after {
  top: 0;
  background: #c7583f;
}

.wave-btn:hover span {
  top: 0;
}

.wave-btn:hover span:after {
  right: 27px;
}

/***---------------------------------------------------------***
フッター
****---------------------------------------------------------***/

/* SVGウラ左右画像 */
.footer-svg {
  position: relative;
  height: 390px;
}

.footer-svg::before,
.footer-svg::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40%;
  background-repeat: no-repeat;
}

.footer-svg::before {
  left: 0;
  background-image: url("../img/back-img_left.png");
  background-size: contain;
  background-position: left;
}

.footer-svg::after {
  right: 0;
  background-image: url("../img/back-img_right.png");
  background-size: contain;
  background-position: right;
}

@media screen and (min-width:1800px) {

  .footer-svg::before,
  .footer-svg::after {
    width: 20%;
  }
}

@media screen and (min-width:1635px) and (max-width:1800px) {
  .footer-svg {
    height: 300px;
  }

  .footer-svg::before,
  .footer-svg::after {
    width: 30%;
  }
}

@media screen and (min-width:1120px) and (max-width:1635px) {
  .footer-svg {
    height: 250px;
  }
}

@media screen and (min-width:935px) and (max-width:1120px) {
  .footer-svg {
    height: 200px;
  }
}

@media screen and (min-width:700px) and (max-width:935px) {
  .footer-svg {
    height: 150px;
  }
}

@media screen and (min-width:500px) and (max-width:700px) {
  .footer-svg {
    height: 100px;
  }
}

@media screen and (max-width:500px) {
  .footer-svg {
    height: 85px;
  }

  .footer-svg::before,
  .footer-svg::after {
    width: 50%;
  }
}

/* SVG画像 */
.wave-back {
  max-width: 100%;
  position: absolute;
  bottom: -4px;
  z-index: 5;
}

/* フッター部分 */
footer {
  background-color: #ef8b75;
  top: 0px;
  z-index: 8;
  position: relative;
}

footer p {
  font-size: 1.3rem;
  margin-bottom: 2%;
  margin-top: 2%;
  line-height: 2rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
}

footer p span {
  font-size: 1.8rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
}

footer a.contact-button {
  font-size: 1.3rem;
  padding: 20px 20px;
}

@media screen and (max-width:380px) {
  footer a.contact-button {
    font-size: unset !important;
    padding: 1.5rem 0rem !important;
    white-space: nowrap;
  }

  footer p {
    font-size: 1.1rem;
  }

  footer p span {
    font-size: 1.3rem;
  }

  footer .xs-w90 {
    width: 95%;
  }

  footer .right-img {
    margin-top: 1rem !important;
  }
}

footer .flex-wrap {
  justify-content: space-between;
}

footer .right-img {
  margin-top: -6rem;
}

footer .sns.flex-wrap {
  justify-content: center;
}

.sns-icon {
  margin: auto 0
}

.sns-icon li {
  list-style: none;
}

.img-shake {
  animation: shake 2s infinite;
  transform: rotate(5deg);
}

@keyframes shake {
  50% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(5deg);
  }
}


@media screen and (min-width:1120px) and (max-width:1500px) {
  footer .right-img {
    margin-top: 0rem;
  }
}


/***---------------------------------------------------------***
お問い合わせ
****---------------------------------------------------------***/
#contact .breadcrumbs {
  margin: 0 auto;
}

#contact .wpcf7-spinner {
  display: none;
}

#contact .info-frame {
  background-color: white;
  border-radius: 20px;
  padding: 5% 10%;
  box-sizing: border-box;
}

#contact .btn {
  background-color: #f08b75;
  border: 1px solid #f08b75;
  border-radius: 4em;
  padding: 0.8em 3em;
}


#contact form dl dt {
  display: block;
  width: 100%;
  font-weight: bold;
  margin-bottom: 15px;
}

#contact form dl dd {
  display: block;
  width: 100%;
}

#contact form .require {
  background-color: #c94242;
  padding: 0 1rem;
  box-sizing: border-box;
  border-radius: 20px;
  color: #fff;
  margin-left: 1rem;
}


#contact .wpcf7-form-control-wrap input {
  width: 100%;
  box-sizing: border-box;
  border: 3px solid #ffc2b5;
}

/*「営業メールではない」承諾確認チェックボックス*/
#contact .form_agreement p {
  text-align: center;
  margin-bottom: 2rem;
}

#contact .form_agreement .wpcf7-form-control-wrap input {
  width: unset;
}

#contact .form_agreement .wpcf7-form-control-wrap .wpcf7-list-item {
  margin: 0;
}

/*「営業メールではない」承諾確認チェックボックスここまで*/

#contact .wpcf7-form-control-wrap textarea {
  border: 3px solid #ffc2b5;
  border-radius: 7px;
  padding: 5px;
}

#contact form input[type="text"],
#contact form input[type="tel"],
#contact form input[type="email"] {
  border-radius: 7px;
  padding: 5px;
}

#contact .form_group {
  margin-bottom: 2rem;
}

#contact .form_group p {
  margin-bottom: 0.2em;
  line-height: 1.4em;
}

#contact .form_group.submit p {
  text-align: center;
}

#contact .form_group p .form_btn input {
  padding: 0.5rem 4rem;
  border-radius: 5rem;
  background-color: #f08b75;
  border: none;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
}

#tel .info-frame {
  border: 7px solid #f08b75;
  padding: 0%;
}

#tel .info-frame .tel p {
  font-size: 4.1rem;
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
}

#tel .info-frame .tel p a {
  text-decoration: none;
  color: black;
}

#tel .tel-title {
  background-color: #f18b75;
  color: white;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  padding: 1rem;
  box-sizing: border-box;
  border-radius: 8px 8px 0 0px;
  margin-bottom: 0;
}

#tel .info-frame .flex-wrap {
  padding: 4% 8%;
  box-sizing: border-box;
}

@media screen and (min-width:1120px) and (max-width:1300px) {
  #tel .info-frame .tel p {
    font-size: 2.5rem;
  }
}

@media screen and (min-width:1300px) and (max-width:1500px) {
  #tel .info-frame .tel p {
    font-size: 3rem;
  }
}

@media screen and (min-width:1500px) and (max-width:1700px) {
  #tel .info-frame .tel p {
    font-size: 3.5rem;
  }
}

/***---------------------------------------------------------***
お問い合わせ 確認画面
****---------------------------------------------------------***/
#confirm .form {
  width: 45%;
  margin: 0 auto;
  background-color: rgb(255, 255, 255);
  padding: 5% 8%;
  box-sizing: border-box;
  border-radius: 20px;
  margin-top: 5%;
}

#confirm .form .form_group {
  margin-bottom: 5%;
}

#confirm .form label {
  font-size: 1.2rem;
  font-weight: 500;
}

#confirm .form .form_btn p,
#confirm .form .form_btn-back p {
  text-align: center;
}

#confirm .form .form_btn p input {
  font-size: 1.2rem;
  font-weight: bold;
  padding: 1rem 9rem;
  box-sizing: border-box;
  border: unset;
  border-radius: 3rem;
  background-color: #f08b75;
  color: #ffffff;
}

#confirm .wpcf7-spinner {
  display: none;
}

#confirm .form .form_btn-back p input {
  font-size: 1rem;
  border: unset;
  border-bottom: 3px dotted;
  background-color: unset;
  color: #f08b75;
  padding: 0.5rem 3%;
  box-sizing: border-box;
}

@media screen and (min-width:1120px) and (max-width:1700px) {
  #confirm .form {
    width: 65%;
  }
}

/***---------------------------------------------------------***
お問い合わせ 完了画面
****---------------------------------------------------------***/
.balloon {
  width: 60%;
  position: relative;
  display: inline-block;
  padding: 2rem 3rem;
  border-radius: 20px;
  min-width: 120px;
  max-width: 100%;
  color: #333;
  background: #ffffff;
  margin: 0 auto;
}

.balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #ffffff;
}

.balloon p {
  margin: 0;
  padding: 0;
  text-align: center;
}


/* 1番上のボタンのみ幅100％ */
.custom-btn.flex-wrap #gyomu-custom div:nth-of-type(1) {
  width: 100%;
}

.custom-btn.flex-wrap #gyomu-custom div:nth-of-type(1) .custom-button p {
  width: 80%;
  margin: 2rem auto 0 auto;
  font-size: 1.3rem;
}

/* 業務内容の「番号なしリスト」「番号ありリスト」を使用する場合の箇条書き部分 */
#business ul {
  width: 90%;
  margin: 0 auto;
}

/***---------------------------------------------------------***
プライバシーポリシー
****---------------------------------------------------------***/
#privacy .contents .subheading {
  margin-top: 2rem;
}

#privacy .contents .content-section ul {
  list-style: none;
}



/******************************************************/
#wrapper-inner {
  width: 20%;
  margin-left: auto;
}

#scroll-down {
  display: block;
  position: relative;
  padding-top: 20px;
  box-sizing: border-box;
  transform: rotate(-90deg);
}

.arrow-down {
  display: block;
  margin: 0 auto;
  width: 10px;
}

.arrow-down:after {
  content: '';
  display: block;
  margin: 0;
  padding: 0;
  width: 10px;
  height: 10px;
  /*border-top: 5px solid #feccb6;
  border-right: 5px solid #feccb6;*/
  border-top: 5px solid #c3c79e;
  border-right: 5px solid #c3c79e;
  border-radius: 2px;
  behavior: url(-ms-transform.htc);
  -moz-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}

#scroll-down::before {
  -webkit-animation: elasticus 3s cubic-bezier(1, 0, 0, 1) infinite;
  /* Safari 4+ */
  -moz-animation: elasticus 3s cubic-bezier(1, 0, 0, 1) infinite;
  /* Fx 5+ */
  -o-animation: elasticus 3s cubic-bezier(1, 0, 0, 1) infinite;
  /* Opera 12+ */
  animation: elasticus 3s cubic-bezier(1, 0, 0, 1) infinite;
  /* IE 10+, Fx 29+ */

  position: absolute;
  top: -140%;
  left: 50%;
  width: 5px;
  height: 80px;
  background: #c3c79e;
  border-radius: 10px;
  /*background: #feccb6;*/
  content: ' ';
}

@-webkit-keyframes elasticus {
  0% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }

  50% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  50.1% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  100% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }
}

@-moz-keyframes elasticus {
  0% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }

  50% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  50.1% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  100% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }
}

@-o-keyframes elasticus {
  0% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }

  50% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  50.1% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  100% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }
}

@keyframes elasticus {
  0% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }

  50% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  50.1% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  100% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0);
  }
}