@charset "UTF-8";
/* =============================================================================
   パーシャルファイル
   ========================================================================== */
/* -----------------------------------------------------------------------------
   メディアクエリ
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   クリアフィックス
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   about
   -------------------------------------------------------------------------- */
#about {
  padding: 0 20px;
}

.aboutWrap {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 30px;
  margin-bottom: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #f5f5f5;
  border-radius: 30px;
  padding: 50px 30px;
}
@media screen and (min-width: 768px) {
  .aboutWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 100px;
    padding: 80px;
    border-radius: 90px;
    margin-bottom: 80px;
  }
}
.aboutTtl {
  max-width: 320px;
  margin-top: 0px;
  margin-right: 50px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .aboutTtl {
    max-width: 133px;
    margin-top: -120px;
    margin-bottom: 0;
  }
}
/* -----------------------------------------------------------------------------
   service
   -------------------------------------------------------------------------- */
#service {
  overflow: hidden;
  background-image: url(../img/index/background.png);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  background-color: #eefbf4;
}
.serviceTtlWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom-left-radius: 1000px 200px;
  border-bottom-right-radius: 1000px 200px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  background-color: #fff;
  margin-bottom: 40px;
}
.serviceTtl {
  max-width: 850px;
  margin-bottom: 40px;
  padding: 0 50px;
}
@media screen and (min-width: 768px) {
  .serviceTtl {
    padding: 0;
  }
}
.serviceInner {
  max-width: 960px;
  margin: -100px auto 0;
  padding: 100px 20px 10px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .serviceInner {
    padding: 120px 40px 30px;
  }
}
.serviceItem {
  margin-bottom: 50px;
}
.serviceItemNum {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}
.serviceItemNum::before,
.serviceItemNum::after {
  content: "";
  height: 4px;
  border-radius: 2px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: #00b395;
}
.serviceItemNum:before {
  margin-right: -1rem;
}

.serviceItemNum:after {
  margin-left: -1rem;
}

.serviceItemInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 25px;
}
@media screen and (min-width: 1000px) {
  .serviceItemInner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
  }
}
.serviceItem:nth-child(2n) > .serviceItemInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 1000px) {
  .serviceItem:nth-child(2n) > .serviceItemInner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.serviceItemInnerImgBox {
  max-width: 100%;
}
@media screen and (min-width: 1000px) {
  .serviceItemInnerImgBox {
    max-width: 220px;
  }
}
.serviceItemInnertxtBox {
  max-width: 600px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1000px) {
  .serviceItemInnertxtBox {
    margin-bottom: 0;
  }
}
.serviceItemInnerDesc {
  font-size: 1.5rem;
  margin-top: 20px;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .serviceItemInnerDesc {
    margin-top: 30px;
    line-height: 1.8;
  }
}
.serviceItemInnerMaruttoTxt {
  max-width: 540px;
  margin: 0 auto;
}
/* -----------------------------------------------------------------------------
   cv
   -------------------------------------------------------------------------- */
#cv {
  background-color: #aaf2c7;
  padding: 0 20px;
}

.cvInner {
  max-width: 960px;
  margin: 0 auto;
  padding: 30px 15px;
}
@media screen and (min-width: 768px) {
  .cvInner {
    padding: 30px 0 50px;
  }
}
.cvTtl {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .cvTtl {
    margin-bottom: 30px;
  }
}
.cvBtnWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
  padding: 0 10px;
}
@media screen and (min-width: 768px) {
  .cvBtnWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 40px;
  }
}
.mitsumoriBtn {
  display: inline-block; /*inline扱いかつwidthとheightを反映する事が出来ます*/
  max-width: 100%; /*横幅です用途に合わせて数値を変えましょう*/
  height: auto;
  background-color: #ff7365; /*ボタンの色*/
  padding: 20px 37px 15px; /*ボタンの内スペースの幅です*/
  -webkit-box-shadow: 0 6px 0 0 #e53d2e;
          box-shadow: 0 6px 0 0 #e53d2e; /*cssの影の機能を利用してボタンの側面を描いています。ボタンの色より暗い色を指定しましょう*/
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  border-radius: 75px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .mitsumoriBtn {
    max-width: 460px;
    height: 140px;
    margin-bottom: 0;
    padding: 30px 50px 15px;
  }
}
@media screen and (min-width: 1000px) {
  .mitsumoriBtn {
    height: 150px;
  }
}
.mitsumoriBtn:hover { /*:hoverはその要素にマウスを当てた時の状態*/
  -webkit-box-shadow: 0 2px 0 0 #e53d2e;
          box-shadow: 0 2px 0 0 #e53d2e; /*hoverしたら影が縦に4px減るようにしています*/
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px); /*影が減った分、下に移動させています。*/
}

.lineBtn {
  display: inline-block; /*inline扱いかつwidthとheightを反映する事が出来ます*/
  max-width: 100%; /*横幅です用途に合わせて数値を変えましょう*/
  height: auto;
  background-color: #06c755; /*ボタンの色*/
  padding: 20px 50px 15px; /*ボタンの内スペースの幅です*/
  -webkit-box-shadow: 0 6px 0 0 #048b3b;
          box-shadow: 0 6px 0 0 #048b3b; /*cssの影の機能を利用してボタンの側面を描いています。ボタンの色より暗い色を指定しましょう*/
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  border-radius: 75px;
}
@media screen and (min-width: 768px) {
  .lineBtn {
    max-width: 460px;
    height: 140px;
    padding: 35px 40px;
  }
}
@media screen and (min-width: 1000px) {
  .lineBtn {
    height: 150px;
  }
}
.lineBtn:hover { /*:hoverはその要素にマウスを当てた時の状態*/
  -webkit-box-shadow: 0 2px 0 0 #048b3b;
          box-shadow: 0 2px 0 0 #048b3b; /*hoverしたら影が縦に4px減るようにしています*/
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px); /*影が減った分、下に移動させています。*/
}

.lineBtn img {
  width: 100%;
}

/* -----------------------------------------------------------------------------
   ここからcvバックアップ
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   ここまで
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   items
   -------------------------------------------------------------------------- */
.itemsInner {
  max-width: 100%;
  margin: 0 auto;
  padding: 50px 20px 0;
}
@media screen and (min-width: 768px) {
  .itemsInner {
    max-width: 1000px;
    padding: 80px 20px 0;
  }
}
.collectItemsWrap {
  background-color: #eefbf4;
  border-radius: 30px;
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .collectItemsWrap {
    padding-top: 80px;
  }
}
.collectItemsTtl {
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (min-width: 768px) {
  .collectItemsTtl {
    width: 660px;
    padding: 0;
  }
}
.collectItemsBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 30px;
  max-width: 440px;
  margin: 0 auto 30px;
}
@media screen and (min-width: 768px) {
  .collectItemsBox {
    max-width: 500px;
  }
}
@media screen and (min-width: 1000px) {
  .collectItemsBox {
    max-width: 960px;
  }
}
.collectItemsBox li {
  width: 48%;
  margin-right: 10px;
  margin-bottom: 20px;
}
@media screen and (min-width: 480px) {
  .collectItemsBox li {
    width: 180px;
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  .collectItemsBox li {
    width: 210px;
  }
}
.collectItemsBox li:nth-child(2n) {
  margin-right: 0;
}
@media screen and (min-width: 1000px) {
  .collectItemsBox li:nth-child(2n) {
    margin-right: 20px;
  }
}
.collectItemsBox li:nth-child(4) {
  margin-right: 0;
}
.collectItemsBox li:nth-child(8) {
  margin-right: 0;
}
.notCollectItemsWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #e5e5e5;
  border-radius: 30px;
  border: 10px solid #e5e5e5;
}
@media screen and (min-width: 1000px) {
  .notCollectItemsWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.notCollectItemsTxtBox {
  width: 300px;
}
.notCollectItemsTtl {
  width: 100%;
  margin: 0 auto;
  padding: 0 65px 10px;
}
@media screen and (min-width: 1000px) {
  .notCollectItemsTtl {
    width: 190px;
    padding: 0;
  }
}
.notCollectItemsImgBox {
  width: 100%;
}
@media screen and (min-width: 1000px) {
  .notCollectItemsImgBox {
    width: 660px;
  }
}
.notCollectItemsImgBox ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  border-radius: 25px;
  padding: 10px 30px;
}
@media screen and (min-width: 768px) {
  .notCollectItemsImgBox ul {
    padding: 10px 60px;
  }
}
@media screen and (min-width: 1000px) {
  .notCollectItemsImgBox ul {
    border-radius: 0 25px 25px 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.notCollectItemsImgBox ul li {
  width: 100px;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .notCollectItemsImgBox ul li {
    margin-right: 30px;
  }
}
.notCollectItemsImgBox ul li:nth-child(3) {
  width: 115px;
}

/* -----------------------------------------------------------------------------
   l-index
   -------------------------------------------------------------------------- */
#difference {
  background-image: url(../img/index/background.png);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
}

.differenceInner {
  overflow: hidden;
}

.differenceTtlWrap {
  padding: 50px 20px;
  background-color: #fff;
  border-bottom-left-radius: 1000px 200px;
  border-bottom-right-radius: 1000px 200px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .differenceTtlWrap {
    padding: 100px 20px;
    margin-bottom: 50px;
  }
}
.differenceTtl {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 30px;
}
.differenceItemWrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 480px) {
  .differenceItemWrap {
    padding: 0 20px;
  }
}
.differenceItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .differenceItem {
    margin-bottom: 50px;
  }
}
.differenceItem.halfSize {
  width: 50%;
  padding: 0 5px;
}
@media screen and (min-width: 1000px) {
  .differenceItem.halfSize {
    width: 460px;
    padding: 0;
  }
}
.differenceItem.halfSize:first-child {
  margin-right: 0;
}
@media screen and (min-width: 1000px) {
  .differenceItem.halfSize:first-child {
    margin-right: 40px;
  }
}
.differenceItem.smallSize {
  width: 50%;
  margin-right: 0;
  padding: 0 5px;
}
@media screen and (min-width: 1000px) {
  .differenceItem.smallSize {
    width: 300px;
    margin-right: 30px;
    padding: 0;
  }
}
.differenceItem.smallSize:last-of-type {
  margin-right: 0;
}

.differenceNum {
  max-width: 110px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .differenceNum {
    max-width: 130px;
  }
}
.differenceItemTtlBox {
  width: 100%;
  height: 100px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: url(../img/index/difference_bg.jpg);
  background-size: cover;
  background-position: center;
  border-radius: 60px 60px 0 0;
  border: 4px solid #e5e5e5;
}
@media screen and (min-width: 480px) {
  .differenceItemTtlBox {
    height: 120px;
  }
}
.differenceItemTtlBox .differenceChara01 {
  position: absolute;
  top: -25px;
  left: 0px;
  width: 50px;
}
@media screen and (min-width: 768px) {
  .differenceItemTtlBox .differenceChara01 {
    left: 20px;
    width: 100px;
    top: -20px;
  }
}
.differenceItemTtlBox .differenceChara02 {
  position: absolute;
  top: -25px;
  right: 10px;
  width: 44px;
  bottom: 10px;
}
@media screen and (min-width: 768px) {
  .differenceItemTtlBox .differenceChara02 {
    right: 15px;
    top: -15px;
    width: 92px;
  }
}
.differenceItemSubttl {
  padding: 30px;
}

.differenceItemSubttl.p-20 {
  padding: 20px;
}

.differenceItemTxtBox {
  width: 100%;
  padding: 10px 10px 15px;
  border: 4px solid #e5e5e5;
  border-top: none;
  border-radius: 0 0 30px 30px;
  background-color: #fff;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (min-width: 480px) {
  .differenceItemTxtBox {
    padding: 10px 20px 15px;
    border-radius: 0 0 60px 60px;
  }
}
@media screen and (min-width: 768px) {
  .differenceItemTxtBox {
    padding: 20px 40px;
  }
}
.differenceItemTxtBox p {
  font-size: 1.4rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .differenceItemTxtBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.item-sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .item-sp-none {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
/* -----------------------------------------------------------------------------
   trouble
   -------------------------------------------------------------------------- */
#trouble {
  padding: 0 20px;
}
.troubleInner {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 0 30px;
}
@media screen and (min-width: 768px) {
  .troubleInner {
    padding: 50px 0;
  }
}
.troubleTtl {
  margin-bottom: 30px;
  padding: 0 30px;
}
@media screen and (min-width: 768px) {
  .troubleTtl {
    margin-bottom: 50px;
    padding: 0;
  }
}
.troubleListsWrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (min-width: 1000px) {
  .troubleListsWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.troubleListsInner {
  max-width: 100%;
  padding: 40px;
  background-color: #f5f5f5;
  border-radius: 60px;
}
@media screen and (min-width: 1000px) {
  .troubleListsInner {
    max-width: 800px;
    padding: 80px;
  }
}
.troubleListsImg {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .troubleListsImg {
    width: 50%;
  }
}
@media screen and (min-width: 1000px) {
  .troubleListsImg {
    position: absolute;
    width: 210px;
    margin-bottom: 0;
  }
}
/* -----------------------------------------------------------------------------
   staff
   -------------------------------------------------------------------------- */
#staff {
  background-image: url(../img/index/background.png);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
}

.staffInner {
  overflow: hidden;
}

.staffTtlWrap {
  padding: 0 20px 50px;
  background-color: #fff;
  border-bottom-left-radius: 1000px 200px;
  border-bottom-right-radius: 1000px 200px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .staffTtlWrap {
    padding: 0 20px 50px;
    margin-bottom: 50px;
  }
}
.staffTtlWrap > .cmnArrow {
  margin-bottom: 20px;
}

.staffTtl {
  max-width: 310px;
  margin: 0 auto;
}

.staffItemWrap {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 30px;
}
@media screen and (min-width: 1000px) {
  .staffItemWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-bottom: 80px;
  }
}
.staffTxt {
  max-width: 100%;
  height: auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 1000px) {
  .staffTxt {
    max-width: 570px;
    height: 335px;
  }
}
.staffImg {
  max-width: 100%;
}
@media screen and (min-width: 1000px) {
  .staffImg {
    max-width: 410px;
  }
}
/* -----------------------------------------------------------------------------
   flow
   -------------------------------------------------------------------------- */
#flow {
  padding: 0 20px;
}

.flowInner {
  max-width: 960px;
  margin: 0 auto;
  padding: 50px 0;
}
@media screen and (min-width: 768px) {
  .flowInner {
    padding: 100px 0;
  }
}
.flowTtl {
  max-width: 610px;
  margin: 0 auto;
  margin-bottom: 30px;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .flowTtl {
    margin-bottom: 80px;
    padding: 0;
  }
}
.flowImgWrap {
  overflow: auto;
  width: 100%;
  height: auto;
}
.flowImg {
  width: 640px;
  height: 385px;
}
@media screen and (min-width: 768px) {
  .flowImg {
    width: 100%;
    height: auto;
  }
}
/* -----------------------------------------------------------------------------
   voice
   -------------------------------------------------------------------------- */
#voice {
  background-color: #00b395;
  padding: 50px 0;
}
@media screen and (min-width: 768px) {
  #voice {
    padding: 80px 0;
  }
}
.voiceTtl {
  max-width: 590px;
  margin: 0 auto;
  margin-bottom: 30px;
  padding: 0 20px;
}
@media screen and (min-width: 1000px) {
  .voiceTtl {
    padding: 0;
  }
}
.voiceBox {
  position: relative;
  overflow: hidden;
}

.swiper-container {
  max-width: 1400px;
  margin: 0 auto;
  position: initial;
  overflow: visible;
}
.swiper-slide {
  height: auto;
  border-radius: 20px;
  overflow: hidden;
}

.swiper-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: initial;
}

.swiper-button-prev,
.swiper-button-next {
  width: 40px;
  height: 40px;
  top: 50%;
  position: absolute;
  background: none;
}

.swiper-button-prev img,
.swiper-button-next img {
  width: 40px;
  height: 40px;
}

.swiper-button-prev {
  left: 5%;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev {
    left: 20%;
  }
}
.swiper-button-next {
  right: 5%;
}
@media screen and (min-width: 768px) {
  .swiper-button-next {
    right: 20%;
  }
}
.l-voice-inner {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
.l-voice-inner-imgbox {
  padding: 0 30px;
  max-width: 150px;
}
@media screen and (min-width: 768px) {
  .l-voice-inner-imgbox {
    max-width: 150px;
  }
}
.l-voice-inner img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .l-voice-inner img {
    max-width: 140px;
  }
}
.l-voice-inner p {
  font-size: 1.5rem;
  line-height: 1.6;
  padding: 10px 20px 10px 25px;
}
@media screen and (min-width: 768px) {
  .l-voice-inner p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
/* -----------------------------------------------------------------------------
   coupon
   -------------------------------------------------------------------------- */
#coupon {
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  #coupon {
    padding: 90px 20px 100px;
  }
}
.couponInner {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  background-color: #eefbf4;
  border-radius: 90px;
  padding: 40px 20px;
}
@media screen and (min-width: 768px) {
  .couponInner {
    padding: 80px;
  }
}
@media screen and (min-width: 1000px) {
  .couponInner {
    padding: 50px 80px 80px;
  }
}
.couponInner::before {
  content: "";
  display: none;
  background: url(../img/index/coupon_img03.png);
  background-size: cover;
  width: 225px;
  height: 92px;
  position: absolute;
  top: -40px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .couponInner::before {
    display: inline-block;
  }
}
.couponInner::after {
  content: "";
  display: none;
  background: url(../img/index/coupon_img02.png);
  background-size: cover;
  width: 225px;
  height: 92px;
  position: absolute;
  top: -40px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .couponInner::after {
    display: inline-block;
  }
}
.couponTtl {
  max-width: 620px;
  margin: 0 auto;
  margin-bottom: 50px;
}
.couponInfoWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1000px) {
  .couponInfoWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.couponInfoTxtBox {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (min-width: 1000px) {
  .couponInfoTxtBox {
    width: 450px;
    margin-bottom: 0;
  }
}
.couponInfoTxtBox p {
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .couponInfoTxtBox p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.couponInfoImgBox {
  max-width: 350px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .couponInfoImgBox {
    width: 300px;
  }
}
@media screen and (min-width: 1000px) {
  .couponInfoImgBox {
    width: 300px;
    margin: 0;
  }
}
/* -----------------------------------------------------------------------------
   map
   -------------------------------------------------------------------------- */
#map {
  padding: 0 20px;
}

.mapInner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 0 30px 0;
}
@media screen and (min-width: 768px) {
  .mapInner {
    padding: 0 0 100px 0;
  }
}
.mapTtl {
  max-width: 250px;
  margin: 0 auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .mapTtl {
    margin-bottom: 50px;
  }
}
.mapInfoWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1000px) {
  .mapInfoWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.mapInfoImgBox {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 1000px) {
  .mapInfoImgBox {
    width: 50%;
    margin-bottom: 0;
  }
}
.mapInfoTxtBox {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1000px) {
  .mapInfoTxtBox {
    width: 50%;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.mapInfoTxtBoxInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 1000px) {
  .mapInfoTxtBoxInner {
    width: 430px;
    margin-bottom: 0;
  }
}
.mapInfoTxtBoxSubttl {
  border-radius: 30px 30px 0 0;
  background-color: #00b395;
  padding: 30px;
  text-align: center;
}

.mapInfoTxtBoxSubttl img {
  max-width: 370px;
}

.mapInfoTxtBoxdesc {
  padding: 20px 30px;
  border: 4px solid #00b395;
  border-radius: 0 0 30px 30px;
  border-top: none;
  margin-top: -1px;
}

.mapInfoTxtBoxdescItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mapInfoTxtBoxdescItem:last-of-type {
  border-top: 1px solid #ddd;
  padding-top: 5px;
}

.mapInfoTxtBoxdescItem dt {
  width: 60px;
  margin-right: 15px;
}
@media screen and (min-width: 1000px) {
  .mapInfoTxtBoxdescItem dt {
    width: 50px;
  }
}
.mapInfoTxtBoxdescItem dt span {
  padding: 0 5px;
  background-color: #eefbf4;
  border-radius: 4px;
}

.mapInfoTxtBoxdescItem dd {
  width: 100%;
  line-height: 1.8;
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .mapInfoTxtBoxdescItem dd {
    font-size: 1.6rem;
    line-height: 2;
  }
}
@media screen and (min-width: 1000px) {
  .mapInfoTxtBoxdescItem dd {
    width: 300px;
  }
}
.quoDesc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media screen and (min-width: 1000px) {
  .quoDesc {
    width: 430px;
  }
}
.quoDesc p {
  font-weight: 700;
  padding-right: 20px;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .quoDesc p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.quoDesc img {
  width: 120px;
}

/* -----------------------------------------------------------------------------
   faq
   -------------------------------------------------------------------------- */
#faq {
  padding: 0 20px;
}

.faqInner {
  max-width: 960px;
  margin: 0 auto;
  background-color: #eefbf4;
  border-radius: 90px;
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .faqInner {
    padding: 80px 50px;
  }
}
.faqTtl {
  max-width: 235px;
  margin: 0 auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .faqTtl {
    margin-bottom: 50px;
  }
}
.toggle_contents {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .toggle_contents {
    margin-bottom: 30px;
  }
}
.toggle_contents:last-of-type {
  margin-bottom: 0;
}

.toggle_title {
  position: relative;
  padding: 25px 50px;
  cursor: pointer;
  line-height: 1.4;
  border-radius: 30px;
  background-color: #00b395;
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .toggle_title {
    padding: 25px 90px;
    font-size: 1.7rem;
  }
}
.toggle_title::before {
  content: "";
  display: inline-block;
  background-image: url(../img/index/faq_img01.png);
  background-size: cover;
  background-position: center;
  width: 20px;
  height: 21px;
  position: absolute;
  left: 20px;
  top: 20px;
}
@media screen and (min-width: 768px) {
  .toggle_title::before {
    width: 35px;
    height: 37px;
  }
}
.toggle_btn {
  position: absolute;
  top: 23px;
  right: 15px;
  display: block;
  width: 30px;
  height: 30px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .toggle_btn {
    top: 25px;
    right: 30px;
  }
}
.toggle_btn:before, .toggle_btn:after {
  display: block;
  content: "";
  background-color: #fff;
  position: absolute;
  width: 20px;
  height: 4px;
  top: 50%;
  left: 50%;
  border-radius: 2px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .toggle_btn:before, .toggle_btn:after {
    width: 30px;
  }
}
.toggle_btn:before {
  width: 4px;
  height: 20px;
}
@media screen and (min-width: 768px) {
  .toggle_btn:before {
    height: 30px;
  }
}
.toggle_title.selected .toggle_btn:before {
  content: normal;
}

.toggle_contents dd {
  display: none;
  border: 4px solid #00b395;
  border-radius: 30px;
  background-color: #fff;
  margin-top: 10px;
  padding: 25px 30px 25px 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .toggle_contents dd {
    padding: 25px 30px 25px 90px;
  }
}
.toggle_contents dd::before {
  content: "";
  display: inline-block;
  background-image: url(../img/index/faq_img02.png);
  background-size: cover;
  background-position: center;
  width: 20px;
  height: 21px;
  position: absolute;
  left: 20px;
  top: 20px;
}
@media screen and (min-width: 768px) {
  .toggle_contents dd::before {
    width: 35px;
    height: 37px;
  }
}
.toggle_contents dd p {
  max-width: 730px;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .toggle_contents dd p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.toggle_contents:first-of-type dd {
  display: block;
}

/* -----------------------------------------------------------------------------
   form
   -------------------------------------------------------------------------- */
.formInner {
  padding: 50px 0 0;
}
@media screen and (min-width: 768px) {
  .formInner {
    padding: 100px 0 0;
  }
}
.formTtl {
  max-width: 730px;
  margin: 0 auto 40px;
  padding: 0 50px;
}

.tabArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* flexで横並び */
  cursor: pointer; /* カーソルポインターに */
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.tab {
  position: relative;
  width: 50%; /* calc関数を使用し、均等に3分割する */
  padding: 22px 0;
  text-align: center; /* 文字を中央に。 */
  color: #00b395;
  font-size: 2.1rem;
  background-color: #f5f5f5;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .tab {
    font-size: 2.8rem;
  }
}
.tab.active::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 20px;
  background-image: url(../img/common/cmn_arrow03.png);
  background-size: cover;
  background-position: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -15px;
}
@media screen and (min-width: 768px) {
  .tab.active::before {
    width: 35px;
    height: 28px;
  }
}
.tab.active {
  background-color: #00b395;
  color: #fff;
}

.panelArea {
  border-top: 4px solid #00b395;
}

.panel {
  display: none;
  padding: 0 20px;
  background-color: #f5f5f5;
}

.panel.active {
  display: block;
}

.panelInner {
  max-width: 960px;
  margin: 0 auto;
  padding: 60px 0;
}

.panelInner p {
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .panelInner p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.aboutBuildingWrap {
  margin-bottom: 40px;
}

.aboutBuildingTtl {
  font-size: 2.2rem;
  margin-bottom: 20px;
  padding-left: 0;
}
@media screen and (min-width: 1000px) {
  .aboutBuildingTtl {
    padding-left: 20px;
  }
}
.aboutBuildingWrap ul {
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
}

.aboutBuildingWrap ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .aboutBuildingWrap ul li {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
@media screen and (min-width: 1000px) {
  .aboutBuildingWrap ul li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.aboutBuildingWrap ul li:last-of-type {
  border-bottom: none;
}

.aboutBuildingWrap ul li p {
  width: 100%;
  margin-bottom: 5px;
  font-weight: 700;
}
@media screen and (min-width: 1000px) {
  .aboutBuildingWrap ul li p {
    width: 50%;
    margin-bottom: 0;
  }
}
.aboutBuildingForm {
  width: 100%;
}
@media screen and (min-width: 1000px) {
  .aboutBuildingForm {
    width: 50%;
  }
}
.aboutBuildingForm label {
  margin-right: 30px;
}

.aboutBuildingForm label input {
  margin-right: 7px;
  accent-color: #555;
}

.aboutItemsWrap {
  margin-bottom: 30px;
}

.aboutItemsTtl {
  font-size: 2.2rem;
  margin-bottom: 20px;
  padding-left: 0;
}
@media screen and (min-width: 1000px) {
  .aboutItemsTtl {
    padding-left: 20px;
  }
}
.aboutItemsBox {
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
}

.aboutItemsSection {
  padding: 40px 0 15px;
  border-bottom: 2px solid #e5e5e5;
}

.aboutItemsSection:last-of-type {
  border: none;
}

.aboutItemsSectionTtl {
  display: inline-block;
  padding: 0 20px;
  font-weight: 700;
  color: #fff;
  background-color: #00b395;
  border-radius: 16px;
  margin-left: 20px;
  margin-bottom: 10px;
}

.aboutItemsSection ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 1000px) {
  .aboutItemsSection ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.aboutItem {
  width: 100%;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 12px 20px;
  border-right: none;
}
@media screen and (min-width: 768px) {
  .aboutItem {
    padding: 15px 20px;
  }
}
@media screen and (min-width: 1000px) {
  .aboutItem {
    width: 33.3333333333%;
    border-right: 1px solid #e5e5e5;
  }
}
.aboutItem:nth-child(3n) {
  border-right: none;
}
.aboutItemColumn {
  padding: 20px;
  width: 100%;
  border-right: none;
}
@media screen and (min-width: 1000px) {
  .aboutItemColumn {
    width: 50%;
    border-right: 1px solid #e5e5e5;
    padding: 20px 30px 20px 20px;
  }
}
.aboutItemColumn:nth-child(2n) {
  border-right: none;
}

.aboutItemColumn > .aboutItemName {
  margin-bottom: 30px;
}

.aboutItemColumn.smallSectionSize {
  padding: 20px;
  width: 100%;
  border-right: none;
}
@media screen and (min-width: 1000px) {
  .aboutItemColumn.smallSectionSize {
    width: 33.3333333333%;
    border-right: 1px solid #e5e5e5;
    padding: 20px 30px 20px 20px;
  }
}
.aboutItemColumn:nth-of-type(5) {
  border-right: none;
}

.aboutItemColumn + .aboutItem {
  border-right: none;
  padding-right: 20px;
}
@media screen and (min-width: 1000px) {
  .aboutItemColumn + .aboutItem {
    border-right: 1px solid #e5e5e5;
    padding-right: 30px;
  }
}
.aboutItemColumn + .aboutItem + .aboutItem {
  padding-right: 20px;
}
@media screen and (min-width: 1000px) {
  .aboutItemColumn + .aboutItem + .aboutItem {
    padding-right: 30px;
  }
}
.aboutItemColumnInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
}
.aboutItemColumnInner:last-of-type {
  margin-bottom: 0;
}

.aboutItemColumnInner p {
  font-size: 1.4rem;
  line-height: 1.2;
}

.borderRight {
  border-right: none;
}
@media screen and (min-width: 1000px) {
  .borderRight {
    border-right: 1px solid #e5e5e5 !important;
  }
}
.borderNone {
  border-right: none;
}

.aboutItemName {
  font-size: 1.4rem;
  vertical-align: middle;
  letter-spacing: 0.04em;
  line-height: 1.2 !important;
  text-indent: 0;
  padding-left: 60px;
  position: relative;
}
.aboutItemName::before {
  content: "";
  display: inline-block;
  background-size: cover;
  background-position: center;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-left: -60px;
}
.smallText {
  font-size: 1.1rem;
  line-height: 1;
}

.aboutItemName.item01::before {
  background-image: url(../img/index/form_general_img01.png);
}

.aboutItemName.item02::before {
  background-image: url(../img/index/form_general_img02.png);
}

.aboutItemName.item03::before {
  background-image: url(../img/index/form_general_img03.png);
}

.aboutItemName.item04::before {
  background-image: url(../img/index/form_general_img04.png);
}

.aboutItemName.item05::before {
  background-image: url(../img/index/form_general_img05.png);
}

.aboutItemName.item06::before {
  background-image: url(../img/index/form_general_img06.png);
}

.aboutItemName.item07::before {
  background-image: url(../img/index/form_general_img07.png);
}

.aboutItemName.item08::before {
  background-image: url(../img/index/form_general_img08.png);
}

.aboutItemName.item09::before {
  background-image: url(../img/index/form_general_img09.png);
}

.aboutItemName.item10::before {
  background-image: url(../img/index/form_general_img10.png);
}

.aboutItemName.item11::before {
  background-image: url(../img/index/form_general_img11.png);
}

.aboutItemName.item12::before {
  background-image: url(../img/index/form_general_img12.png);
}

.aboutItemName.item13::before {
  background-image: url(../img/index/form_general_img13.png);
}

.aboutItemName.item14::before {
  background-image: url(../img/index/form_general_img14.png);
}

.aboutItemName.item15::before {
  background-image: url(../img/index/form_general_img15.png);
}

.aboutItemName.item16::before {
  background-image: url(../img/index/form_general_img16.png);
}

.aboutItemName.item17::before {
  background-image: url(../img/index/form_general_img17.png);
}

.aboutItemName.item18::before {
  background-image: url(../img/index/form_general_img18.png);
}

.aboutItemName.item19::before {
  background-image: url(../img/index/form_general_img19.png);
}

.aboutItemName.item20::before {
  background-image: url(../img/index/form_general_img20.png);
}

.aboutItemName.item21::before {
  background-image: url(../img/index/form_general_img21.png);
}

.aboutItemName.item22::before {
  background-image: url(../img/index/form_general_img22.png);
}

.aboutItemName.item23::before {
  background-image: url(../img/index/form_general_img23.png);
}

.aboutItemName.item24::before {
  background-image: url(../img/index/form_general_img24.png);
}

.aboutItemName.item25::before {
  background-image: url(../img/index/form_general_img25.png);
}

.aboutItemName.item26::before {
  background-image: url(../img/index/form_general_img26.png);
}

.aboutItemName.item27::before {
  background-image: url(../img/index/form_general_img27.png);
}

.aboutItemName.item28::before {
  background-image: url(../img/index/form_general_img28.png);
}

.aboutItemName.item29::before {
  background-image: url(../img/index/form_general_img29.png);
}

.aboutItemName.item30::before {
  background-image: url(../img/index/form_general_img30.png);
}

.aboutItemName.item31::before {
  background-image: url(../img/index/form_general_img31.png);
}

.aboutItemName.item32::before {
  background-image: url(../img/index/form_general_img32.png);
}

.aboutItemName.item33::before {
  background-image: url(../img/index/form_general_img33.png);
}

.aboutItemName.item34::before {
  background-image: url(../img/index/form_general_img34.png);
}

/** firefoxでスポンボタンが数字に重なっていた為、スピンボタンを非表示にしています **/
input[type=number] {
  -moz-appearance: textfield;
}

/** input/スピンボタンのラップ要素 **/
.aboutItemCountWrap {
  position: relative;
  display: block;
  width: 80px !important;
  height: 3rem;
}

/** デフォルトのスピンボタンを隠す **/
.aboutItemCountWrap input::-webkit-outer-spin-button,
.aboutItemCountWrap input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/** input要素 **/
.aboutItemCountWrap input {
  width: 100%;
  height: 100%;
  padding-left: 3rem;
  padding-right: 3rem;
  text-align: center;
  border: 1px solid #555;
  border-radius: 2px;
  outline: none;
}

/** スピンボタン要素 **/
.aboutItemCountWrap .spinner {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-size: 1rem;
  padding: 2px 0.5rem;
  text-align: center;
  background: #e5e5e5;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/** 減算のスピンボタン要素 **/
.aboutItemCountWrap .spinner-down {
  left: 2px;
  border-right: 1px solid #555;
  color: #555;
  padding: 5px;
}

/** 加算のスピンボタン要素 **/
.aboutItemCountWrap .spinner-up {
  right: 2px;
  border-left: 1px solid #555;
  color: #555;
  padding: 5px;
}

.amountWrap {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 2%;
  margin-bottom: 30px;
}
.basicAmountWrap, .totalAmountWrap, .bigtotalAmountWrap {
  min-width: 30%;
  margin: 0 auto;
  border: 4px solid #e5e5e5;
  border-radius: 10px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-around;
  padding: 15px 30px;
}
.plus, .minus {
  flex-basis: 4%; font-size: xx-large; text-align: center;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.basicAmount, .totalAmount {
  font-size: 2rem;
  line-height: 1.4;
  color: #333;
}
.bigtotalAmount {
  font-size: 2rem;
  line-height: 1.4;
  color: #e63d2e;
}
.resetWrap {
  text-align: center;
}
.resetWrap input {
    border-radius: 10px;
    padding: 8px 16px;
    background: #e5e5e5;
}

.totalAmount span {
  font-size: 1.6rem;
}

.addMessageWrap {
  padding: 20px 30px;
  background-color: #fff;
  border-radius: 10px;
}

.addCheckWrap {
  margin-bottom: 50px;
}

.addMessageIntro {
  margin-bottom: 20px;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .addMessageIntro {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.lineYellow {
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, transparent), color-stop(20%, #fff566));
  background: linear-gradient(transparent 20%, #fff566 20%);
}

.addMessageWrap textarea {
  margin-top: 10px;
  width: 100%;
  height: 120px;
  padding: 10px;
  border: 1px solid #555555;
  border-radius: 10px;
  background-color: #f5f5f5;
}
@media screen and (min-width: 768px) {
  .addMessageWrap textarea {
    padding: 10px 20px;
  }

  .amountWrap {
    display: flex;
    max-width: 960px;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 auto 50px;
  }

  .basicAmountWrap, .totalAmountWrap, .bigtotalAmountWrap {
    min-width: 28%;
    margin: 0 auto;
    border: 4px solid #e5e5e5;
    border-radius: 10px;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-around;
    padding: 15px 20px;
    margin-bottom: 0px;
  }
  .plus, .minus {
    flex-basis: 4%; font-size: xx-large; text-align: center;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }

.aboutItemsWrap {
    margin-bottom: 50px;
}


}
::-webkit-input-placeholder {
  color: #cccccc;
}
::-moz-placeholder {
  color: #cccccc;
}
:-ms-input-placeholder {
  color: #cccccc;
}
::-ms-input-placeholder {
  color: #cccccc;
}
::placeholder {
  color: #cccccc;
}

.addMessageWrap ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-bottom: 1px solid #e5e5e5;
  padding: 15px 5px;
}
@media screen and (min-width: 1000px) {
  .addMessageWrap ul li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.addMessageWrap ul li:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.addMessageWrap ul li p {
  width: 100%;
  font-weight: 700;
}
@media screen and (min-width: 1000px) {
  .addMessageWrap ul li p {
    width: 50%;
  }
}
.addMessageRadioForm {
  width: 100%;
}
@media screen and (min-width: 1000px) {
  .addMessageRadioForm {
    width: 50%;
  }
}
.addMessageRadioForm label {
  margin-right: 30px;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .addMessageRadioForm label {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.addMessageRadioForm label input {
  margin-right: 7px;
  accent-color: #555;
}

.submitWrap {
  margin-bottom: 30px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

button,
.submitWrap > div {
  position: relative;
  width: 100%;
  background-color: #ff7365;
  border-radius: 50px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  -webkit-box-shadow: 0 6px 0 0 #e53d2e;
          box-shadow: 0 6px 0 0 #e53d2e;
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
}

@media screen and (min-width: 768px) {
  button,
  .submitWrap > div {
    width: 400px;
    padding: 20px;
  }
}
button::after,
.submitWrap > div::after {
  content: "";
  background-image: url(../img/common/cmn_arrow02.png);
  background-size: cover;
  background-position: center;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 15px;
  height: 30px;
}

button:hover,
.submitWrap > div:hover {
  -webkit-box-shadow: 0 2px 0 0 #e53d2e;
          box-shadow: 0 2px 0 0 #e53d2e; /*hoverしたら影が縦に4px減るようにしています*/
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px); /*影が減った分、下に移動させています。*/
}

.companyFormWrap {
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 20px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .companyFormWrap {
    padding: 30px;
  }
}
.companyFormWrap div {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .companyFormWrap div {
    margin-bottom: 40px;
  }
}
.companyFormWrap div dt {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.companyFormWrap div dt .m-required {
  font-size: 1.2rem;
  background-color: #e63d2e;
  color: #fff;
  padding: 3px 8px;
  border-radius: 4px;
  margin-left: 10px;
}
@media screen and (min-width: 768px) {
  .companyFormWrap div dt .m-required {
    font-size: 1.4rem;
    padding: 5px 10px;
  }
}
.companyFormWrap div dd input[type=text] {
  border: 1px solid #555;
  border-radius: 10px;
  padding: 10px 20px;
  width: 100%;
  background-color: #f5f5f5;
}

.companyFormWrap div dd input[type=email] {
  border: 1px solid #555;
  border-radius: 10px;
  padding: 10px 20px;
  width: 100%;
  background-color: #f5f5f5;
}

.companyFormWrap div dd input[type=tel] {
  border: 1px solid #555;
  border-radius: 10px;
  padding: 10px 20px;
  width: 100%;
  background-color: #f5f5f5;
}
@media screen and (min-width: 768px) {
  .companyFormWrap div dd input[type=tel] {
    width: 430px;
  }
}
.companyFormWrap div dd .postCode > input[type=text] {
  width: 150px;
  display: block;
  margin-bottom: 10px;
  margin-left: 30px;
}

.companyFormWrap div dd .postCode {
  position: relative;
}

.companyFormWrap div dd .postCode::before {
  content: "〒";
  display: inline-block;
  position: absolute;
  top: 10%;
}

.companyFormWrap div dd .postCode > input[type=text] + input[type=text] {
  width: 100%;
  margin-left: 0;
}

.companyFormWrap div dd textarea {
  width: 100%;
  height: 200px;
  padding: 10px;
  border: 1px solid #555555;
  border-radius: 10px;
  background-color: #f5f5f5;
}
@media screen and (min-width: 768px) {
  .companyFormWrap div dd textarea {
    padding: 10px 20px;
  }
}
.privacyPolicyWrapInner {
  width: 100%;
  margin: 0 auto;
  height: 190px;
  padding: 20px 30px;
  border: 1px solid #555;
  overflow-y: scroll;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .privacyPolicyWrapInner {
    width: 660px;
  }
}
.privacyPolicyItem {
  font-size: 1.4rem;
  margin-bottom: 20px !important;
}

.privacyPolicyItem p {
  padding-left: 20px;
  word-wrap: break-word;
}

.privacyPolicyItem p a {
  color: #333;
}

.agreeWrap {
  width: 290px;
  margin: 0 auto;
}

.submitWrap div{
  padding: 0;
}
.submitWrap div [type="submit"]{
  display: block;
  width: 100%;
  padding: 20px 0;
}
.submitWrap > div::after{
  z-index: -1;
}