/* ===== 共通フッターCSS（common.cssから抽出しrem→px化＝character.cssの16px基準と衝突しないよう基準非依存に） ===== */
footer {
  position: relative;
  padding-top: 80px;
  margin-top: 17%;
}
@media screen and (max-width: 600px) {
  footer {
    padding-top: 40px;
  }
}
footer::before {
  content: "";
  background: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/bg_footer-top.png?updatedAt=1752114198808") no-repeat;
  display: block;
  width: 100%;
  height: 105px;
  bottom: 99%;
  position: absolute;
  background-size: 100% 100%;
  background-color: transparent;
}

.footer-container {
  max-width: 1200px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  background: #fff;
}
@media screen and (min-width: 1921px) {
  .footer-container {
    font-size: 14px;
    margin-top: 140px;
  }
}
@media screen and (max-width: 1280px) {
  .footer-container {
    width: 90%;
  }
}
@media screen and (max-width: 600px) {
  .footer-container {
    width: 100%;
    margin-top: 8.7vw;
  }
}

.footer-about-wrapper {
  width: 30%;
  margin-right: 4%;
  border-right: #ddd 1px solid;
}
@media screen and (min-width: 1921px) {
  .footer-about-wrapper {
    padding-right: 30px;
    margin-right: 40px;
  }
}
@media screen and (max-width: 1280px) {
  .footer-about-wrapper {
    width: 34%;
  }
}
@media screen and (max-width: 900px) {
  .footer-about-wrapper {
    width: 100%;
    border-right: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
}
@media screen and (max-width: 600px) {
  .footer-about-wrapper {
    display: block;
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    border-right: none;
    margin-right: 0;
  }
}

.logo-yumephoto {
  width: 100%;
  margin-bottom: 2%;
  padding: 0 4.5vw 2.60415vw 3.64582vw;
  margin: 0 auto;
}
.logo-yumephoto a {
  width: 100%;
  display: block;
  line-height: 0;
}
.logo-yumephoto a img {
  width: 100%;
  vertical-align: middle;
}
.logo-yumephoto a img {
  height: auto;
}
@media screen and (min-width: 1921px) {
  .logo-yumephoto {
    padding: 0 86px 50px 70px;
  }
}
@media screen and (max-width: 1280px) {
  .logo-yumephoto {
    width: 90%;
    margin-right: 10%;
  }
}
@media screen and (max-width: 900px) {
  .logo-yumephoto {
    width: 32%;
    margin-right: 4%;
    padding: 0;
  }
}
@media screen and (max-width: 600px) {
  .logo-yumephoto {
    width: 35%;
    margin: 0 auto 4%;
  }
}

.footer-tel-contact-wrapper {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 900px) {
  .footer-tel-contact-wrapper {
    width: 64%;
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .footer-tel-contact-wrapper {
    width: 100%;
    margin: 5vw auto;
  }
}
.footer-tel-contact-wrapper .btn-freedial {
  width: 100%;
  padding-left: 8%;
}
@media screen and (max-width: 900px) {
  .footer-tel-contact-wrapper .btn-freedial {
    padding: 0;
  }
}
.footer-tel-contact-wrapper .btn-freedial .freedial {
  width: 100%;
  text-align: left;
  font-weight: 900;
}
@media screen and (min-width: 1921px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial {
    font-size: 40px;
  }
}
@media screen and (max-width: 900px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial {
    text-align: center;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 600px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial {
    font-size: 7.3vw;
  }
}
.footer-tel-contact-wrapper .btn-freedial .freedial a {
  font-size: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
  color: #000;
}
@media screen and (max-width: 1280px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial a {
    font-size: 30px;
    margin-left: 10%;
  }
}
@media screen and (max-width: 900px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial a {
    display: inline;
    font-size: 40px;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 600px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial a {
    font-size: 36px;
  }
}
.footer-tel-contact-wrapper .btn-freedial .freedial a::before {
  content: "";
  display: block;
  background: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_tel.png?updatedAt=1752114203167") no-repeat;
  background-size: contain;
  width: 47px;
  height: 27px;
  position: absolute;
  right: 100%;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 600px) {
  .footer-tel-contact-wrapper .btn-freedial .freedial a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer-tel-contact-wrapper .business-hours {
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}
@media screen and (min-width: 1921px) {
  .footer-tel-contact-wrapper .business-hours {
    font-size: 16px;
  }
}
@media screen and (max-width: 900px) {
  .footer-tel-contact-wrapper .business-hours {
    font-size: 16px;
  }
}
@media screen and (max-width: 600px) {
  .footer-tel-contact-wrapper .business-hours {
    font-size: 3vw;
  }
}
.footer-tel-contact-wrapper .btn-web {
  margin-top: 1.5vw;
}
@media screen and (max-width: 1280px) {
  .footer-tel-contact-wrapper .btn-web {
    width: 90%;
  }
}
@media screen and (max-width: 900px) {
  .footer-tel-contact-wrapper .btn-web {
    width: 100%;
    margin-top: 24px;
  }
}
@media screen and (max-width: 600px) {
  .footer-tel-contact-wrapper .btn-web {
    margin-bottom: 24px;
  }
}
.footer-tel-contact-wrapper .btn-web a {
  display: inline-block;
  padding: 24px 40px 24px 60px;
  color: #fff;
  background: #d7250c;
  border: #fff 1px solid;
  border-radius: 50px;
  z-index: 2;
  font-size: 18px;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .footer-tel-contact-wrapper .btn-web a {
    font-size: 14px;
    padding: 20px 32px 20px 50px;
  }
}
.footer-tel-contact-wrapper .btn-web a::before {
  content: "";
  display: block;
  background: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_mail.png?updatedAt=1752114198735") no-repeat;
  background-size: contain;
  width: 47px;
  height: 27px;
  position: absolute;
  left: 8%;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1280px) {
  .footer-tel-contact-wrapper .btn-web a::before {
    width: 36px;
    height: 21px;
  }
}

.address {
  width: 85%;
  font-size: 14px;
  margin: 10% 0 10% 0;
}
@media screen and (min-width: 1921px) {
  .address {
    width: 293px;
    font-size: 14px;
  }
}
@media screen and (max-width: 1029.9px) {
  .address {
    width: 90%;
  }
}
@media screen and (max-width: 972.9px) {
  .address {
    width: 95%;
  }
}
@media screen and (max-width: 921.9px) {
  .address {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .address {
    width: 100%;
    font-size: 2.6vw;
    margin: 0 7% 6% 0;
  }
}

@media screen and (max-width: 600px) {
  .sns-and-privacy {
    width: 59vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
  }
}

.sns-icons-wrapper {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-right: 25%;
}
@media screen and (max-width: 600px) {
  .sns-icons-wrapper {
    width: 54%;
    gap: 5%;
    margin: 0 auto;
  }
}
.sns-icons-wrapper .sns-icons-item:hover {
  position: relative;
  left: -2px;
  top: -2px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.sns-icons-wrapper .sns-icons-item:first-of-type {
  margin-left: 0;
}
.sns-icons-wrapper .sns-icons-item {
  width: 20%;
  margin-left: 10%;
}
.sns-icons-wrapper .sns-icons-item a {
  width: 100%;
}
.sns-icons-wrapper .sns-icons-item a img {
  width: 100%;
}

.privacy-mark {
  width: 20%;
}
@media screen and (max-width: 900px) {
  .privacy-mark {
    width: 10%;
    margin-top: -150px;
  }
}
@media screen and (max-width: 600px) {
  .privacy-mark {
    width: 15%;
    margin: 0 auto;
  }
}
.privacy-mark img {
  width: 100%;
}

.on-new-line {
  display: none;
}
@media screen and (max-width: 1235.9px) {
  .on-new-line {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .on-new-line {
    display: none;
  }
}

@media screen and (max-width: 1235.9px) {
  .off-new-line {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .off-new-line {
    display: block;
  }
}

.footer-sitemap-wrapper {
  width: 68%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2%;
}
@media screen and (max-width: 900px) {
  .footer-sitemap-wrapper {
    display: none;
  }
}

.category-box {
  width: 33%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.title-category {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 32px;
  margin-left: 32px;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .title-category {
    font-size: 16px;
  }
}
.title-category::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_album.png?updatedAt=1752114198752") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  margin-right: 16px;
  right: 100%;
}

.title-category-service::before {
  background-image: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_menu.png?updatedAt=1752114198773");
}

.title-category-yumephoto::before {
  background-image: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_yume.png?updatedAt=1752114203286");
}

.title-category-special::before {
  background-image: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_useful.png?updatedAt=1752114203255");
}

.title-category-support::before {
  background-image: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_soft.png?updatedAt=1752114202744");
}

.title-about-yume, .title-for-user {
  margin-top: 13.653%;
}

.category-detail-wrapper {
  width: 100%;
  margin-bottom: 40px;
}

.title-category-detail {
  font-size: 16px;
  font-weight: 900;
  margin-bottom: 16px;
}
@media screen and (max-width: 1280px) {
  .title-category-detail {
    font-size: 14px;
  }
}

.footer-page-list {
  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;
}

.footer-page-item {
  width: 100%;
  height: auto;
  margin: 0 0 6% 8%;
  position: relative;
}
.footer-page-item::before {
  content: "";
  width: 0.4vw;
  height: 0.6vw;
  background: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_arrow.png?updatedAt=1752114198833") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -6%;
}
@media screen and (min-width: 1921px) {
  .footer-page-item::before {
    width: 7px;
    height: 11px;
  }
}
.footer-page-item a {
  font-size: 14px;
  letter-spacing: 0;
}
@media screen and (min-width: 1921px) {
  .footer-page-item a {
    font-size: 16px;
    letter-spacing: initial;
  }
}
@media screen and (max-width: 1280px) {
  .footer-page-item a {
    font-size: 12px;
  }
}
.footer-page-item a img {
  width: 7px;
  margin: 0 2%;
}
.footer-page-item a .ico-site {
  width: 7%;
  margin-left: 4%;
}
.footer-page-item a .long-course-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer-page-item a span {
  font-size: 10px;
}
.footer-page-item a .footer-rkrk-soft {
  font-size: 14px;
}

.footer-long-title-item::before {
  top: 25%;
}

.external-site a {
  position: relative;
  display: inline-block;
}
.external-site a::after {
  content: "";
  width: 16px;
  height: 12px;
  background: url("https://ik.imagekit.io/yumephoto/yumeportal/footer/ico_link-outside.png?updatedAt=1752114198803") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  margin: auto auto auto 16px;
}
@media screen and (min-width: 1921px) {
  .external-site a::after {
    width: 26px;
    height: 17px;
  }
}
.footer-bottom {
  width: 100%;
  background: #fff;
  font-size: 1vw;
  color: #da3c37;
  text-align: center;
  margin: 60px 0;
}
@media screen and (min-width: 1921px) {
  .footer-bottom {
    font-size: 19px;
  }
}
@media screen and (max-width: 900px) {
  .footer-bottom {
    font-size: 14px;
  }
}

#contact .corona-guide-banner {
  display: none;
}

.page-title-wrapper {
  background: url("../img/bg_redstripe.png") repeat;
  background-size: 40px;
}
@media screen and (max-width: 1280px) {
  .page-title-wrapper {
    height: auto;
    background-position: center center;
  }
}
.page-title-wrapper .inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 40px 0;
}
@media screen and (max-width: 1280px) {
  .page-title-wrapper .inner {
    width: 92%;
  }
}
@media screen and (max-width: 900px) {
  .page-title-wrapper .inner {
    padding: 24px 0;
  }
}
@media screen and (max-width: 600px) {
  .page-title-wrapper .inner {
    padding: 16px 0;
  }
}
.page-title-wrapper .page-title-text {
  font-size: 40px;
  color: #fff;
  font-weight: 600;
}
@media screen and (max-width: 1280px) {
  .page-title-wrapper .page-title-text {
    font-size: 34px;
  }
}
@media screen and (max-width: 900px) {
  .page-title-wrapper .page-title-text {
    font-size: 30px;
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .page-title-wrapper .page-title-text {
    font-size: 26px;
  }
}
.page-title-wrapper .page-desc {
  color: #fff;
  margin-bottom: 1em;
  line-height: 160%;
}
@media screen and (max-width: 900px) {
  .page-title-wrapper .page-desc {
    text-align: center;
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .page-title-wrapper .page-desc {
    font-size: 12px;
  }
}

#customers-voice .page-title-wrapper {
  display: none;
}

.bread-crumb {
  background: #fefafa;
  padding: 16px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
}
@media screen and (max-width: 900px) {
  .bread-crumb {
    padding: 14px 0;
  }
}
@media screen and (max-width: 600px) {
  .bread-crumb {
    padding: 10px 0;
  }
}
.bread-crumb .breadcrumb-list-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  max-width: 1200px;
  width: 92%;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .bread-crumb .breadcrumb-list-container {
    font-size: 14px;
  }
}
.bread-crumb li, .bread-crumb a {
  font-size: 12px;
  color: #888;
}
@media screen and (max-width: 600px) {
  .bread-crumb li, .bread-crumb a {
    font-size: 10px;
  }
}
.bread-crumb li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: #444;
  display: inline-block;
  margin-right: 24px;
}
@media screen and (max-width: 1280px) {
  .bread-crumb li {
    margin-right: 10px;
  }
}
.bread-crumb li:after {
  content: "";
  display: inline-block;
  border-top: 2px solid #d7250c;
  border-right: 2px solid #d7250c;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 4px;
  height: 4px;
  margin-top: 3px;
  margin-left: 24px;
}
@media screen and (max-width: 1280px) {
  .bread-crumb li:after {
    margin-left: 10px;
  }
}
.bread-crumb li:last-child:after {
  content: none;
}
.bread-crumb li.current-page:after {
  content: none;
}
.bread-crumb a {
  text-decoration: underline;
}
.bread-crumb .current-page {
  margin-right: 0;
  padding-right: 12px;
}

#customers-voice .bread-crumb {
  display: none;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 77%;
  z-index: 10000;
}
@media screen and (max-width: 900px) {
  #page-top {
    bottom: 50px;
  }
}
@media screen and (max-width: 600px) {
  #page-top {
    bottom: 50px;
  }
}
#page-top a {
  display: block;
  z-index: 999;
  padding: 6px 0 0;
  border-radius: 30px;
  width: 40px;
  height: 40px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  background: #D7250C;
  padding-top: 9px;
}
#page-top:before {
  display: none;
}

.guide-contact {
  width: 400px;
  margin: 2em auto 0;
}
@media screen and (max-width: 900px) {
  .guide-contact {
    width: 50%;
  }
}
@media screen and (max-width: 600px) {
  .guide-contact {
    width: 90%;
  }
}

.child-navi-wrapper {
  background-color: #FFF;
  padding: 100px 0;
  text-align: center;
}
.child-navi-wrapper .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
@media screen and (max-width: 900px) {
  .child-navi-wrapper .inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.child-navi-wrapper .inner div {
  width: auto;
  min-height: 70px;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  margin-top: 50px;
}
@media screen and (max-width: 900px) {
  .child-navi-wrapper .inner div {
    font-size: 20px;
  }
}
.child-navi-wrapper .inner div a {
  width: 100%;
  min-width: 270px;
  display: inline-block;
  color: #fff;
  background: #E35346;
  border: #fff 1px solid;
  border-radius: 100px;
  padding: 1em 2em;
  position: relative;
  z-index: 2;
}
.child-navi-wrapper .inner div a:hover {
  background-color: #da4e41;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
}
.child-navi-wrapper .inner div a:hover:after {
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  right: 6%;
}
.child-navi-wrapper .inner div a:hover:after {
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  right: 6%;
}
.child-navi-wrapper .inner div p {
  display: inline-block;
  position: relative;
}
.child-navi-wrapper .inner div p:before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background-size: 4px 4px;
  background-image: linear-gradient(-45deg, #e37972 25%, transparent 25%, transparent 50%, #e37972 50%, #e37972 75%, transparent 75%, transparent);
  display: inline-block;
  position: absolute;
  top: 3px;
  left: 3px;
  z-index: 2;
}
.child-navi-wrapper .inner div a::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 8%;
  margin-top: -4px;
}
.child-navi-wrapper .inner div p {
  margin-bottom: 20px;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 77%;
  z-index: 10000;
}
@media screen and (max-width: 900px) {
  #page-top {
    bottom: 50px;
  }
}
@media screen and (max-width: 600px) {
  #page-top {
    bottom: 50px;
  }
}
#page-top a {
  display: block;
  z-index: 999;
  padding: 6px 0 0;
  border-radius: 30px;
  width: 40px;
  height: 40px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  background: #D7250C;
}
#page-top:before {
  display: none;
}

.footer-wrap {
  background: #FCF1F0;
}
@media screen and (max-width: 1280px) {
  .footer-wrap {
    padding: 0 3%;
  }
}
@media screen and (max-width: 600px) {
  .footer-wrap {
    padding: 0 3%;
  }
}

.footer {
  width: 100%;
  max-width: 1280px;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 4% 0;
  font-size: 14px;
  font-size: 14px;
}
@media screen and (max-width: 900px) {
  .footer {
    padding: 4% 0 0;
  }
}
@media screen and (max-width: 600px) {
  .footer {
    width: 100%;
    padding: 4% 0 0;
  }
}

.footer-map {
  max-width: 900px;
  width: 65%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 900px) {
  .footer-map {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .footer-map {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .footer-map h2 {
    font-size: 22px;
    padding-left: 1em;
    margin-bottom: 0;
    padding-bottom: 0;
    line-height: 2;
  }
}
.footer-map .footer-nav-box {
  width: 32%;
  padding: 4% 0;
}
.footer-map .footer-nav-box:nth-of-type(3) {
  margin-right: 0;
}
.footer-map .footer-nav-box .footer-nav-child-box {
  float: left;
}
.footer-map .footer-nav-box .footer-nav {
  line-height: 1.8;
}
.footer-map .footer-nav-box .footer-nav .footer-nav-item {
  padding-left: 15px;
  position: relative;
}
.footer-map .footer-nav-box .footer-nav .footer-nav-item::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 8%;
  margin-top: -4px;
}
.footer-map .footer-nav-box .footer-nav .footer-nav-item a {
  color: #777;
  letter-spacing: -1px;
  left: 0;
}
.footer-map .footer-nav-box .footer-nav li.footer-nav-item::after {
  border-top: solid 2px #da3c37;
  border-right: solid 2px #da3c37;
  left: 0;
}
.footer-map .footer-nav-box .footer-nav a:hover {
  text-decoration: underline;
}
.footer-map .footer-nav-box .footer-nav li.footer-nav-item:hover::after {
  left: -2px;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
}
.footer-map .footer-nav-box .footer-nav .link-outside a {
  position: relative;
}
.footer-map .footer-nav-box .footer-nav .link-outside a:after {
  content: "";
  position: absolute;
  background-image: url(../img/footer/ico_link-outside.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17px;
  height: 11px;
  margin: auto;
  top: 0;
  bottom: 0;
  right: -24px;
}
.footer-map .footer-nav-box .title-category {
  font-weight: 600;
  margin-top: 10px;
  margin-bottom: 5px;
}

.footer-about {
  max-width: 320px;
  width: 26%;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  .footer-about {
    width: 30%;
  }
}
@media screen and (max-width: 900px) {
  .footer-about {
    width: 100%;
    max-width: none;
  }
}
@media screen and (max-width: 600px) {
  .footer-about {
    width: 100%;
    max-width: none;
  }
}
.footer-about .footer-about-box {
  background: #fff;
  padding: 5% 7%;
  margin-bottom: 5px;
}
@media screen and (max-width: 1280px) {
  .footer-about .footer-about-box {
    padding: 5% 3%;
  }
}
@media screen and (max-width: 900px) {
  .footer-about .footer-about-box {
    background: #fff;
    padding: 4% 2%;
    line-height: 1.6;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .footer-about-box {
    padding: 5% 7%;
  }
}
@media screen and (max-width: 900px) {
  .footer-about .footer-about-box #addressBox {
    margin-bottom: 4%;
  }
}
.footer-about .footer-about-box .office-address-container {
  margin-bottom: 12px;
}
.footer-about .footer-about-box .address {
  font-size: 12px;
}
@media screen and (max-width: 600px) {
  .footer-about .footer-about-box .address {
    font-size: 11px;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .footer-about-box .syozai {
    font-size: 16px;
  }
}
.footer-about .footer-about-box .fax-number {
  margin-left: 1em;
}
.footer-about .logo {
  margin-bottom: 2%;
  padding-bottom: 4%;
}
@media screen and (max-width: 900px) {
  .footer-about .logo {
    width: 40%;
    float: left;
    border: none;
    padding: 0 4%;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .logo {
    width: 100%;
    float: none;
  }
}
.footer-about .logo .logo-img {
  width: 50% !important;
  height: 50%;
}
@media screen and (max-width: 900px) {
  .footer-about .logo .logo-img {
    width: 100%;
    max-width: 184px;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .logo .logo-img {
    width: 50%;
    height: 50%;
  }
}
@media screen and (max-width: 900px) {
  .footer-about #footer-logo-sns-wrapper {
    border-bottom: 2px dotted #d6736c;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 600px) {
  .footer-about #footer-logo-sns-wrapper {
    margin-bottom: 0;
  }
}
.footer-about #sns-icons-wrapper {
  border-bottom: #d6736c 2px dotted;
}
@media screen and (max-width: 900px) {
  .footer-about #sns-icons-wrapper {
    width: 50%;
    float: right;
    border-bottom: none;
  }
}
@media screen and (max-width: 600px) {
  .footer-about #sns-icons-wrapper {
    width: 90%;
    margin: 0 auto;
    float: none;
  }
}
.footer-about #sns-icons-container {
  margin: 8px auto 16px;
}
@media screen and (max-width: 900px) {
  .footer-about #sns-icons-container .button-contact-line {
    width: 100%;
  }
}
.footer-about #sns-icons-container .line {
  padding-left: 40px;
}
.footer-about .sns-icons-item {
  float: left;
  width: 19%;
  margin-left: 8%;
  position: relative;
  left: 0;
  top: 0;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.footer-about .sns-icons-item:hover {
  position: relative;
  left: -2px;
  top: -2px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.footer-about .sns-icons-item:first-of-type {
  margin-left: 0;
}
.footer-about .sns-icons-item img {
  width: 100%;
}
.footer-about .freedial::before {
  content: "";
  width: 47px;
  height: 26px;
  display: inline-block;
  background: url(../img/footer/tel_icon.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  .footer-about .freedial::before {
    width: 30px;
    height: 18px;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .freedial::before {
    width: 26px;
  }
}
.footer-about .tel {
  font-size: 30px;
  color: #da4d43;
  position: relative;
  padding: 5% 0;
  margin: 0 auto;
  line-height: 1;
}
@media screen and (max-width: 600px) {
  .footer-about .tel {
    padding: 5% 0;
  }
}
.footer-about .tel a {
  color: #DA4D43;
}
.footer-about .tel .timing {
  font-size: 14px;
  display: block;
  margin-bottom: 3%;
}
@media screen and (max-width: 900px) {
  .footer-about .footer-tel-contact-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .footer-tel-contact-wrapper {
    display: inherit;
  }
}
.footer-about .idoltime {
  border-bottom: #d6736c 2px dotted;
  font-weight: 600;
}
@media screen and (max-width: 900px) {
  .footer-about .idoltime {
    width: 45%;
    font-size: 30px;
    border: none;
    padding: 10px 0;
  }
}
@media screen and (max-width: 600px) {
  .footer-about .idoltime {
    width: 100%;
    border-bottom: #d6736c 2px dotted;
    padding: 5% 0;
  }
}
@media screen and (max-width: 600px) {
  .footer-about {
    border-left: none;
  }
}
.footer-about .donichi {
  font-size: 24px;
  margin-bottom: 2%;
}

.contact-wrapper {
  width: 100%;
}
@media screen and (max-width: 900px) {
  .contact-wrapper {
    width: 55%;
  }
}
@media screen and (max-width: 600px) {
  .contact-wrapper {
    width: 100%;
  }
}

.contact {
  width: 90%;
  font-weight: 600;
  text-align: center;
  margin: 4% auto;
}
.contact a {
  width: 100%;
  display: inline-block;
  color: #fff;
  background: #D7250C;
  position: relative;
  z-index: 2;
}
.contact a:hover {
  background-color: #da4e41;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
}
.contact a:hover:after {
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  right: 6%;
}
.contact a:hover:after {
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  right: 6%;
}
.contact p {
  position: relative;
}
.contact p:before {
  content: "";
  width: 100%;
  height: 100%;
  background-size: 4px 4px;
  background-image: linear-gradient(-45deg, #e37972 25%, transparent 25%, transparent 50%, #e37972 50%, #e37972 75%, transparent 75%, transparent);
  display: inline-block;
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  .contact {
    margin: 0 auto;
  }
}
@media screen and (max-width: 600px) {
  .contact {
    margin: 4% auto;
  }
}
.contact a {
  padding: 8% 0;
  font-size: 16px;
  width: 100%;
}
@media screen and (max-width: 900px) {
  .contact a {
    font-size: 20px;
    padding: 4% 0;
  }
}
@media screen and (max-width: 600px) {
  .contact a {
    padding: 8% 0;
  }
}
@media screen and (max-width: 900px) {
  .contact a:before {
    content: "";
    display: block;
  }
}

.footer-bottom {
  width: 100%;
  background: #fff;
  font-size: 14px;
  color: #da3c37;
  text-align: center;
  padding: 20px;
}
@media screen and (max-width: 1280px) {
  .footer-bottom {
    background: transparent;
  }
}
@media screen and (max-width: 900px) {
  .footer-bottom {
    background-color: transparent;
  }
}
@media screen and (max-width: 600px) {
  .footer-bottom {
    background-color: transparent;
  }
}
