@charset "UTF-8";
/* common
--------------------------------------*/
@media screen and (min-width: 768px) {
  .mt20 {
    margin-top: 20px !important;
  }
  .mt30 {
    margin-top: 30px !important;
  }
  .mt40 {
    margin-top: 40px !important;
  }
  .mt45 {
    margin-top: 45px !important;
  }
  .mt55 {
    margin-top: 55px !important;
  }
}
@media screen and (max-width: 767px) {
  .mt20, .mt30, .mt40, .mt45 {
    margin-top: 2rem !important;
  }
  .mt55 {
    margin-top: 2.5rem !important;
  }
  .sp_mt0 {
    margin-top: 0 !important;
  }
}
a[class^=btn_] {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 250px;
  height: 60px;
  text-indent: 120%;
  white-space: nowrap;
  overflow: hidden;
}
a[class^=btn_]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.3s;
}
a[class^=btn_]:hover::before {
  opacity: 1;
}

.btn_catalog_g02 {
  background: url(../img/btn_02_catalog_pc.png) left top no-repeat;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
.btn_catalog_g02::before {
  background: url(../img/btn_02_catalog_pc.png) left bottom no-repeat;
}

.btn_request {
  position: relative;
  display: block;
  margin: 0 auto;
  background: url(../img/btn_02_contact_pc.png) left top/cover no-repeat;
  box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.3);
}
.btn_request::before {
  background: url(../img/btn_02_contact_pc.png) left bottom/cover no-repeat;
}
.btn_request:hover::before {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .btn_catalog_g02, .btn_request {
    width: 350px !important;
    height: 85px !important;
  }
}
.btn_features_universal {
  background: url(../img/btn_size_pc.png) left top/cover no-repeat;
}
.btn_features_universal::before {
  background: url(../img/btn_size_pc.png) left bottom/cover no-repeat;
}



@media screen and (max-width: 767px) {
  a[class^=btn_] {
    background-size: cover;
    width: 250px;
    height: 55px;
  }
  a[class^=btn_]::before {
    display: none;
  }
  .btn_catalog_g02 {
    background: url(../img/btn_02_catalog_sp.png) left top/cover no-repeat;
    background-size: cover;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
  .btn_request {
    background: url(../img/btn_02_contact_sp.png) left top/cover no-repeat;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
    overflow: hidden;
  }
  .btn_features_universal {
    background: url(../img/btn_size_sp.png) left top/cover no-repeat;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  }
}
.f_color01 {
  fill: #333;
}

a:hover .f_color01 {
  fill: #fff;
}

.f_color02 {
  fill: #fff;
}
.f_color02 a, .f_color02 .a {
  fill: #fff;
}
.f_color02 .book {
  fill: #333;
  stroke: #fff;
}

/* TOP
*****************************/
.main_visual img.hitomae {
	position: absolute;
     width: 460px;
    bottom: 78px;
    right: 80px;
}
@media screen and (max-width: 425px) {
.main_visual img.hitomae {
	position: absolute;
     width: 460px;
    bottom: 130px;
    right: 130px;
}
}
.summary {
  margin-top: 90px;
  text-align: center;
}
.summary h2 {
  margin: 0 auto;
  width: 750px;
}
.summary h2 img {
  max-width: 100%;
}

.summary_txt {
  margin-top: 30px;
}
.summary_txt p {
  line-height: 2.5;
  letter-spacing: 0.3em;
}
.summary_txt p + p {
  margin-top: 55px;
}
.summary_txt p span {
  opacity: 0.5;
}

.text_line {
  display: inline-block;
  margin: -2px 0 0 8px;
  width: 35px;
  height: 1px;
  background-color: #333;
  vertical-align: middle;
}

.is_hide {
  opacity: 0;
}

@media screen and (max-width: 767px) {
  h2,
h2 + p {
    max-width: 100% !important;
  }
  .summary {
    margin-top: 0;
    text-align: center;
  }
  .summary h2 {
    margin: 0 auto;
    padding: 0 5px;
    width: 100%;
    max-width: 400px;
  }
  .summary_txt {
    margin-top: 35px;
  }
  .summary_txt p {
    font-size: 1.2rem;
    line-height: 2.4;
    letter-spacing: 0.1em;
  }
  .summary_txt p + p {
    margin-top: 30px;
  }
}
/* Slider */
.slick-loading .slick-list {
  background: #fff url(../img/bx_loader.gif) center center no-repeat;
}

.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
  width: 100%;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

#style {
  margin-top: 200px;
}
#style h2 {
  margin-bottom: 90px;
  height: 24px;
  background: url(../img/ttl_05.svg) 0 0 no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.style_details01 h2 + p {
  width: 758px;
}

.style_style_detail {
  margin-top: 40px;
}
.style_style_detail li {
  width: 960px;
  
}
.style_style_detail li + li{
  margin-top: 30px;
	}
.style_style_detail li:nth-child(1) {
  background-color: #595050;
}
.style_style_detail li:nth-child(2) {
  background-color: #F5B128;
}
.style_style_detail li:nth-child(3) {
  background-color: #A485BB;
}
.style_style_detail li a {
  position: relative;
  display: block;
  height: auto;
  text-align: center;
  transition: 0.3s;
}
.style_style_detail li.outline a {
  outline: 15px solid rgba(255, 255, 255, 0);
  outline-offset: -15px;
}
.style_style_detail li.outline a:hover {
  outline: 15px solid rgba(255, 255, 255, 0.6);
  outline-offset: -15px;
}
.style_style_detail li.outline_none a:hover{
  opacity: 0.6;
}
.style_style_detail li a figure {
  margin: 0;
}
.style_style_detail li a p {
  margin: 20px 0 10px;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .style_style_detail {
    display: flex;
	flex-flow: column;
	align-items: center;
  justify-content: center;
  }
  .bnr_area {
    margin: 65px auto 0;
    padding: 0 15px;
  }
  .bnr_area a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  #style {
    margin-top: 80px;
  }
  #style h2 {
    margin-bottom: 45px;
    height: 19px;
  }
  #style h2 + p {
    width: 100%;
  }
  .style_details01_txt {
    margin: 15px 0 0;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .style_details01 {
    position: relative;
    padding: 0 25px !important;
    height: auto;
  }
  .style_style_detail {
    margin-top: 25px;
  }
  .style_style_detail li {
    margin-top: 15px;
    width: 100%;
    aspect-ratio: 65/37;
  }
  .style_style_detail li a {
    padding: 0;
    height: 100%;
    text-align: left;
    transition: 0.3s;
    border: 0;
  }
  .style_style_detail li a:hover {
    border: 0;
  }
  .style_style_detail li a figure {
    margin: 0;
    height: 100%;
    text-align: right;
  }
  .style_style_detail li a figure img {
    width: auto;
    height: 100%;
    object-fit: contain;
  }
  .style_style_detail li a p {
    margin: 0 0 15px;
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 0.15em;
  }
  .style_style_detail li .text {
    position: absolute;
    bottom: 10px;
    left: 20px;
  }
  .style_style_detail li .text h3 {
    font-size: 3.3rem;
  }
  .style_style_detail li .text h3::after {
    content: "";
    display: block;
    margin-top: 20px;
    width: auto;
    height: 11px;
    background: url(../img/txt_more_sp.png) 0 0/auto 100% no-repeat;
  }
  .style_style_detail li .text h3 span {
    font-size: 2.5rem;
  }
  .bnr_area {
    margin: 30px auto 0;
    padding: 0 5px;
  }
}
#features {
  margin-top: 180px;
  padding-top: 20px;
}

.features_ttl {
  margin-bottom: 55px;
  height: 24px;
  background: url(../img/ttl_01.svg) 0 0 no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.features_ttl + p {
  width: 696px;
}

.scene_natural_text{
  margin: 15px 0 30px;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.9;
}

.features_universal_btnbox {
  margin: 60px auto 0;
}

.scene_wrap {
  padding-top: 80px;
}

.scene_wrap h2{
  margin-bottom: 90px;
  height: 24px;
  background: url(../img/ttl_06.svg) 0 0 no-repeat;
    background-size: auto;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.scene_detail {
  margin-top: 100px;
}
.scene_wrap div:first-child {
  margin-top: 0;
}
.scene_detail p {
  margin-top: 20px;
  letter-spacing: 0.03em;
}
.scene_detail.item01 h3 {
  width: 690px;
}
.scene_detail.item02 h3 {
  width: 190px;
}
.scene_detail.item03 h3 {
  width: 285px;
}

@media screen and (min-width: 768px) {
  .kichinto_list {
    margin: 15px 0 80px;
    display: flex;
  }
  .kichinto_list li {
    position: relative;
    padding: 0 2px;
    width: 33.3333333333%;
    text-align: center;
  }
  .kichinto_list li figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .kichinto_list li:nth-child(2) {
    order: -1;
  }
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.loopSliderWrap {
  top: 0;
  left: 0;
  height: 500px;
  overflow: hidden;
  position: absolute;
}
.loopSliderWrap::after {
  content: "";
  display: none;
  clear: none;
}

.features_ticker {
  position: relative;
  margin-top: 15px;
  height: 375px;
  overflow: hidden;
}
.features_ticker ul {
  float: left;
  overflow: hidden;
}
.features_ticker ul li {
  position: relative;
  width: 375px;
  height: 375px;
  float: left;
  border-right: 5px solid #fff;
  overflow: hidden;
}

.point {
  position: absolute;
  display: block;
  width: 44px;
  height: 44px;
  animation: pulse_wrap 3s ease-out infinite;
}
.point::before {
  content: "";
  display: block;
  position: absolute;
  top: -14px;
  left: -14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 32px solid rgba(122, 200, 67, 0.8);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  -webkit-animation: pulse 3s ease-out infinite;
  animation: pulse 3s ease-out infinite;
}

.item01 .point {
  top: 120px;
  left: 145px;
}

.item02 .point.first {
  bottom: 165px;
  right: 140px;
}
.item02 .point.last {
  bottom: 140px;
  right: 20px;
}

.item03 .point {
  bottom: 145px;
  left: 120px;
}

.item04 .point {
  bottom: 130px;
  right: 90px;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes pulse_wrap {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
@keyframes pulse_wrap {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 767px) {
  #features {
    margin-top: 108px;
  }
  .scene_natural {
    padding-top: 30px;
  }
  .scene_natural h2 {
    width: 100%;
  }
  .scene_natural_detail {
    margin-top: 50px;
  }
  .scene_natural_detail p {
    margin-top: 10px;
  }
  .scene_natural_detail.item02 {
    margin-top: 40px;
  }
  .scene_natural_detail.item02 h3 {
    width: 100%;
  }
  .features_universal {
    margin: 0 -30px;
  }
.scene_natural_text{
    margin: 10px 0 20px;
    font-size: 1.1rem;
    white-space: nowrap;
  }
  .features_universal_btnbox{
    margin: 40px auto 0;
  }
  .features_ttl {
    margin-bottom: 40px;
    height: 1.9rem;
  }
  .features_ttl + p {
    height: 95px;
  }
  .features_ttl + p img {
    width: auto;
    height: 100%;
  }
  .kichinto_list {
    margin-top: 25px;
  }
  .kichinto_list figure {
    padding: 0 8px;
  }
  .scene_natural_detail.iteml02 h3 img {
    width: auto;
    height: 33px;
  }
  .loopSliderWrap {
    height: 375px;
  }
  .features_ticker {
    margin-top: 10px;
    height: 350px;
  }
  .features_ticker ul li {
    position: relative;
    width: 350px;
    height: 350px;
  }
  .item01 .point {
    top: 105px;
    left: 125px;
  }
  .item02 .point.first {
    top: 172px;
    left: 163px;
  }
  .item02 .point.last {
    top: 198px;
    right: 4px;
  }
  .item03 .point {
    bottom: 130px;
    right: 105px;
  }
  .item04 .point {
    top: 170px;
    right: 74px;
  }
}
@media screen and (max-width: 364px) {
  .kichinto_list02_item ul p,
.kaiteki_list ul p {
    white-space: normal;
  }
  .features_visual figure.features_visual_img01 {
    top: 8rem;
  }
  .loopSliderWrap {
    height: 350px;
  }
  .features_ticker {
    height: 350px;
  }
  .features_ticker ul li {
    width: 350px;
    height: 350px;
  }
  .features_ticker ul li img {
    width: auto !important;
    height: 350px !important;
  }
}

/* special contents */
#scontents {
  margin-top: 20px;
  padding: 90px 0 0;
}

#scontents h2 {
  height: 22px;
  background: url(../img/ttl_sc_23ss.svg) 0 0/contain no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.btn_sc_more {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  border: 1px #fff solid;
  background: #333;
  padding: 0.3em 1.6em 0.5em 1.2em;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 1;
}

.btn_sc_more:link, .btn_sc_more:visited {
  color: #fff;
}

.btn_sc_more:hover {
  color: #333;
  background: #fff;
  border: 1px #333 solid;
}

.btn_sc_more::after {
  position: absolute;
  right: 0.8em;
  top: 50%;
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.btn_sc_more-wrap {
  margin-top: 15px;
  text-align: right;
}

.btn_sc_more:hover::after {
  border-top: 1px solid #333;
  border-right: 1px solid #333;
}

@media screen and (min-width: 768px) {
  #scontents {
    margin: 20px auto 0;
    width: 960px;
  }
  .sc_flex__item {
    width: calc((100% - 60px) / 3);
  }
  .sc_flex__item:nth-of-type(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  #scontents {
    margin: 105px 0 30px;
    padding: 0 30px;
  }
  #scontents h2 {
    height: 13px;
  }
}
@media screen and (max-width: 500px) {
  #scontents h2 {
    background-position: 0 0 !important;
  }
}
.sc_flex {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 30px;
}
.sc_flex.list02{
	margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .sc_flex {
    margin-top: 26px;
    gap: 20px 15px;
  }
  .sc_flex__item {
    width: calc((100% - 20px) / 2);
    margin: 0;
  }
  .btn_sc_more-wrap {
    margin-top: 20px;
    text-align: right;
  }
  .btn_sc_more-wrap a {
    padding-left: 0.7em;
    display: inline-flex;
    align-items: center;
    width: 62px;
    height: 24px;
  }
  .btn_sc_more::after {
    right: 8px;
  }
}
.sc_flex__item a {
  transition: all 0.3s ease;
}
.sc_flex__item a img {
  width: 100%;
}

.sc_flex__item a:hover {
  opacity: 0.6;
}

_:-ms-lang(x)::-ms-backdrop, .sc_flex__item {
  width: calc(33% - 1.5rem);
}

@media screen and (max-width: 767px) {
  _:-ms-lang(x)::-ms-backdrop, .sc_flex__item {
    width: 100%;
  }
}
/* meclib */
.area_meclib {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.area_meclib__item.area_meclib-text {
  width: 63%;
}

.area_meclib__item.area_meclib-app {
  margin-right: -15px;
  width: 37%;
}

.area_meclib-wrap {
  width: 760px;
  margin: 0 auto;
  margin-top: 75px;
  border: 1px solid #b2b2b2;
  padding: 30px 35px 20px;
}

.area_meclib-ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
  -ms-flex-pack: start;
  justify-content: start;
  width: 338px;
}

.area_meclib-ttl__item.meclibLogo-wrap {
  margin-right: 2rem;
}

.area_meclib-ttl__p {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.area_meclib-contents {
  font-size: 14px;
  line-height: 1.625;
}

.area_meclib-app {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.area_meclib-app__item {
  width: 48%;
}

.area_meclib-sp {
  display: none;
}

.meclibLogo-wrap {
  width: 237;
}

.meclibIc-wrap {
  width: 80px;
}

.app_google {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: space-between;
}

.app_apple {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: space-between;
}

.app_google__item {
  min-height: 1%;
}

.app_apple__item {
  min-height: 1%;
}

.meclibApp_qr {
  display: inline-block;
  width: 95px;
}

.meclibBadge_google {
  display: inline-block;
  width: 123px;
}
.meclibBadge_google a:hover {
  opacity: 0.6;
}

.meclibBadge_apple {
  display: inline-block;
  width: 86px;
  margin: 10px;
}
.meclibBadge_apple a:hover {
  opacity: 0.6;
}

/* btm area */
/* button fixed */
@media screen and (max-width: 767px) {
  #header .sp_contact {
    position: fixed;
    background-size: 100%;
    bottom: 0;
    right: 0;
    width: 100%;
    display: flex;
    height: 50px;
    z-index: 1000;
    transform: translateY(100px);
    transition: 0.3s;
  }
  #header .sp_contact .info_btn_sp {
    width: 50%;
  }
  #header.fixed .sp_contact {
    transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  .sp_contact a:not(.fixed) {
    -webkit-animation: none;
    animation: none;
  }
}
.info_btn_sp a {
  display: block;
  height: 100%;
  background: rgba(0, 137, 209, 0.9) url(../img/btn_info_pc.svg) center 30px/46% no-repeat;
  border-radius: 50%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .info_btn_sp a {
    background: rgba(0, 137, 209, 0.9) url(../img/btn_info_sp_202212.svg) center center/80% no-repeat;
    border-radius: 0;
    width: 100%;
  }
}
/*
.sp_contact a:hover {
  opacity: .5;
}

_:-ms-lang(x)::-ms-backdrop, .sp_contact a {
  background: rgba(160, 50, 140, 0.9) url(../img/btn_info_pc.svg) center 30px/60% no-repeat;
}

@media screen and (max-width: 767px) {
  _:-ms-lang(x)::-ms-backdrop, .sp_contact a {
    background: rgba(160, 50, 140, 0.9) url(../img/btn_info_sp.svg) center center/80% no-repeat;
  }
}
 */
.info_btn_sp.inq_digital a {
  background: rgba(100, 190, 50, 0.9) url(../img/btn_digital_pc.svg) center 30px/50% no-repeat;
}

@media screen and (max-width: 767px) {
  .info_btn_sp.inq_digital a {
    background: rgba(100, 190, 50, 0.9) url(../img/btn_digital_sp_202212.svg) center center/80% no-repeat;
  }
}
.info_btn_sp {
  display: none;
  opacity: 0;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-name: fadeIn_button;
  animation-name: fadeIn_button;
}

.info_btn_sp.showButton {
  display: block;
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .float_pagetop {
    display: none;
    position: fixed;
    right: 12px;
    bottom: 70px;
    width: 35px;
    height: 25px;
    z-index: 1000;
  }
  .float_pagetop a {
    display: block;
    height: 100%;
    background: url(../img/ic_pagetop.svg) center center/cover no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .area_meclib {
    display: block;
  }
  .area_meclib__item.area_meclib-text {
    width: 100%;
  }
  .area_meclib-wrap {
    position: relative;
    margin-top: 50px;
    padding: 2rem;
  }
  .area_meclib-ttl {
    display: block;
  }
  .area_meclib-ttl__item.meclibLogo-wrap {
    margin-right: 0;
  }
  .area_meclib-ttl__p {
    padding: 0 10px;
    font-size: 1.6rem;
  }
  .area_meclib-contents {
    padding: 0 10px;
    font-size: 1.2rem;
  }
  .area_meclib-app {
    display: block;
    text-align: left;
    margin-top: 0;
    padding-left: 95px;
  }
  .meclibBadge_google {
    width: 140px;
  }
  .meclibBadge_apple {
    width: 95px;
  }
  .area_meclib-sp {
    display: block;
    position: absolute;
    width: 80px;
    left: 0;
    bottom: 0;
    margin-bottom: 20px;
    margin-left: 35px;
  }
  .meclibLogo-wrap {
    width: 100%;
  }
  .meclibIc-wrap {
    display: none;
  }
  .app_google {
    display: block;
  }
  .app_apple {
    display: block;
  }
  .meclibApp_qr {
    display: none;
  }
  .meclibBadge_google {
    display: block;
  }
  .meclibBadge_apple {
    display: block;
    margin: 0 10px;
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(10%, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(10%, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-10%, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-10%, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInBtm {
  0% {
    opacity: 0;
    transform: translate3d(0, 60px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBtm {
  0% {
    opacity: 0;
    transform: translate3d(0, 60px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.js-anim_bottom, .js-anim_right {
  opacity: 0;
}

.is-visible.js-anim_bottom {
  animation: fadeInBtm 1s cubic-bezier(0.6, 0.2, 0.1, 1) forwards;
}
.is-visible.js-anim_right {
  animation: fadeInRight 1s cubic-bezier(0.6, 0.2, 0.1, 1) forwards;
}




