.footer {
	background: #fff;
    position: relative;
}

@media screen and (min-width: 768px) {
  .footer:before {
      content: "";
      position: absolute;
      width: 450px;
      height: 450px;
      z-index: 0;
      bottom: 0;
      right: 0;
      background-image: url(../images/moza-footer.png);
      background-size: cover;
  }
}

.footer__map .footer__map-inner  {
	width: 100%;
    height: 377px;
}

.footer__map .footer__map-inner iframe {
	width: 100%;
    height: 377px;
  	border: none;
}

.cta__wrapper {
  	position: relative;
  	color: #664EA2;
  	background: linear-gradient(135deg, #F5E7FD 0%, #E9DEF0 25%, #EED8F2 50%, #F4ECF5 75%, #DFDDF5 100%);
}
@media screen and (min-width: 768px) {
	.cta__wrapper {
        margin: -5px 0 0;
    }
}

.cta__inner {
	position: relative;
  	z-index: 10;
}
@media screen and (min-width: 1024px) {
  .cta__inner {
  	display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

.cta__box {
	text-align: center;
  	position: relative;
    padding: 105px 0;
  	display: flex;
    flex-direction: column;
    justify-content: center;
  	transition: 0.3s all;
}

.cta__box .menuBtn01 {
	margin-bottom: 50px;
}

.cta__box:hover {
	text-decoration: none;
}

.cta__box:before {
	position: absolute;
  	bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90%;
    height: 1px;
    background: #D8D8D8;
}

.cta__box:first-of-type:after {
	position: absolute;
  	top: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90%;
    height: 1px;
    background: #D8D8D8;
}

@media screen and (min-width: 1024px) {
  .cta__box:before {
  	top: 50%;
    right: 0;
    left: auto;
    transform: translateY(-50%);
    height: 65%;
    width: 1px;
  }
  
  .cta__box:first-of-type:after {
      top: 50%;
      left: 0;
      right: auto;
      transform: translateY(-50%);
      height: 65%;
      width: 1px;
  }
}

.cta__jaTtl {
	font-size: 18px;
  	color: #664EA2;
}

.cta__enTtl {
	font-size: 14px;
  	letter-spacing: 1px;
  	color: #664EA2;
}

.cta__TelNum {
	font-size: 34px;
  	color: #9A82D0;
}

.cta__TelCaption {
	font-size: 10px;
}

.footer {
	padding: 95px 0 73px;
}

.footer__wrapper {
	border-bottom: 1px solid #9A82D0;
  	padding-bottom: 25px;
}
@media screen and (min-width: 768px) {
    .footer__wrapper {
        display: flex;
      	justify-content: space-between;
        flex-direction: row-reverse;
    }
}

.footer__inner {
	display: flex;
}
.footer__row {
  	width: 50%;
}
a.footer__item {
    padding: 10px 0;
    display: block;
    white-space: nowrap;
}
@media screen and (min-width: 768px) {
      .footer__inner {
			gap: 55px;
        	flex-direction: column;
      }
  	  
  	  .footer__row {
          display: flex;
          width: 100%;
          gap: 33px;
          justify-content: end;
      }
}

.footer__logo {
	text-align: center;
}
@media screen and (min-width: 768px) {
	.footer__logo {
        text-align: left;
    }
}

.footer__logo img {
	margin: 20px auto;
    width: 50%;
  	max-width:100px;
}
@media screen and (min-width: 768px) {
	.footer__logo img {
        margin: 0 auto 15px;
        max-width:auto;
      	width: 80px;
        height: 74px;
    }
}

.c3947 {
  	width: 100%;
}

.footer__address {
	font-size: 12px;
  	text-align: center;
}
@media screen and (min-width: 768px) {
	.footer__address {
        text-align: left;
    }
}

.footer__item {
	color: #7A7878;
  	transition: color 0.3s;
  	text-decoration: none;
  	font-size: 14px;
}

.footer__item:hover {
	color: #9A82D0;
  	text-decoration: none;
}

.footer__copyRight {
	text-align: center;
  	font-size: 12px;
    margin-top: 40px;
  	font-weight: light;
  	color: #9A82D0;
}
@media screen and (min-width: 768px) {
	.footer__copyRight {
        text-align: right;
    }
  
  	p.cta__jaTtl.one {
        margin-top: -15px;
    }
}

a.spMenuLink__Insta.-footer,
a.spMenuLink__line.-footer{
    width: 48px;
    height: 48px;
    display: inline-block;
    position: relative;
    background: #F4EFF6;
    border-radius: 50px;
    transition: 0.3s;
}

a.spMenuLink__Insta.-footer:hover,
a.spMenuLink__line.-footer:hover {
	background: #9A82D0;
}

.spMenuLink__Insta:hover .spMenuLink__Insta__footerBox__inner {
	background-image: url(../images/insta-icon-white.svg);
}

.spMenuLink__line:hover .spMenuLink__Iine__footerBox__inner {
	background-image: url(../images/line-icon-white.svg);
}

.spMenuLink__Insta__footerBox__inner {
	width: 20px;
    height: 20px;
  	background-image: url(../images/insta-icon.svg);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  	transition: 0.3s;
}

.spMenuLink__Iine__footerBox__inner {
	width: 23px;
    height: 23px;
    background-image: url(../images/line-icon.svg);
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}