@charset "UTF-8";

@media screen and (max-width: 1024px) {
  section {
    padding: 60px 0;
  }
}
@media screen and (max-width: 1024px) {
  #page-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 2;
  }
  #page-top img {
    max-height: 40px;
    width: auto;
  }
}
@media screen and (max-width: 1024px) {
  #breadcrumbs {
    padding-right: 0;
    overflow-x: auto;
    word-break: keep-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  #breadcrumbs ul {
    display: block;
    padding-right: 15px;
  }
}
@media screen and (max-width: 600px) {
  #breadcrumbs {
    margin-bottom: 20px;
    padding-right: 0;
  }
  #breadcrumbs ul li a,
  #breadcrumbs ul li {
    font-size: 1.2rem;
  }
  #breadcrumbs ul li {
    padding-left: 3px;
  }
  #breadcrumbs ul li:before {
    font-size: 1.2rem;
    padding-right: 3px;
  }
}
@media screen and (max-width: 1024px) {
  .page-nav > div {
    display: block;
    padding: 10px;
  }
  .page-nav div img {
    max-width: 100%;
    height: 17vw;
    width: 100%;
    margin-bottom: 10px;
  }
  .page-nav div span {
    text-align: center;
    width: 100%;
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .sub-header-txt {
    font-size: 4rem;
  }
}
@media screen and (max-width: 600px) {
  .sub-header {
    padding-bottom: 20px;
  }
  .sub-header-txt {
    font-size: 3rem;
  }
}
@media screen and (max-width: 1024px) {
  .news-list03 li .news-cat a {
    font-size: 1rem;
    padding: 4px 8px;
  }
  .news-list03 li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #d1dee8;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .news-list03 li .news-img {
    width: 200px;
    margin-bottom: 0;
  }
  .news-list03 li .news-content {
    width: calc(100% - 220px);
  }
  .news-list03 li:last-of-type {
    border-bottom: none;
  }
}
@media screen and (max-width: 600px) {
  .news-list03 li .news-img {
    width: 140px;
  }
  .news-list03 li .news-content {
    width: calc(100% - 160px);
  }
}
@media screen and (max-width: 450px) {
  .news-list03 li .news-txt a {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.5em;
  }
  .news-list03 li .date-cat.flex {
    margin-bottom: 5px;
  }
  .news-list03 li .date {
    font-size: 1.2rem;
    margin: 0 0 10px;
    width: 100%;
  }
  .news-cat {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .contact-band {
    padding: 10px;
  }

  .contact-band-inner {
    padding: 60px 15px;
    width: 100%;
    margin: 0 auto;
  }

  .contact-band-title {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .cf-cb-head {
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    padding: 5px 10px;
  }
}
@media screen and (max-width: 450px) {
  .cf-tel-number {
    font-size: 1.8rem;
    margin-right: 5px;
  }
  .contact-band-tel-icon {
    width: 25px;
    height: 25px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 1400px) {
  .footer-inner {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  .footer {
    padding: 40px 0 15px;
  }
  .footer-logo-address,
  .footer-nav-wrap {
    width: 100%;
  }
  .footer-inner.flex {
    margin-bottom: 10px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
  }
  .footer-logo img {
    max-width: 180px;
    margin: 0 auto;
  }
  .footer-logo {
    padding-bottom: 0;
    margin-bottom: 20px;
    border-bottom: none;
  }
  .footer-address p {
    text-align: center;
  }
  .footer-menu a {
    color: #fff;
    font-size: 1.4rem;
  }
  .footer-menu .sub-menu li {
    padding-left: 0;
  }
  .footer-menu .sub-menu a {
    font-size: 1.4rem;
    padding-left: 0;
  }
  .footer-menu > li > a {
    padding-left: 0;
  }
  .sns-icon-wrap {
    margin-bottom: 25px;
  }
  .recap-box p,
  .recap-box p a {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 600px) {
  .footer-nav.flex .left,
  .footer-nav.flex .right {
    width: 100%;
    margin: 0;
  }
  .footer-menu-title {
    font-size: 1.6rem;
  }
  .sns-icon-title p span {
    font-size: 1.2rem;
  }
  .footer-address p,
  .footer-address a {
    font-size: 1.2rem;
  }
  .sns-icon-wrap.flex .line {
    margin: 0 10px;
  }
  .copyright p {
    margin: 10px 0 0;
    font-size: 1.2rem;
  }
  .recap-box p,
  .recap-box p a {
    text-align: center;
  }
}

@media screen and (max-width: 1024px) {
  .archive-info-wrap main {
    width: 100%;
    margin-bottom: 40px;
  }
  .sidebar {
    width: 100%;
  }
  .archive-info-title a {
    font-size: 1.6rem;
  }
  .archive-time-cat time {
    font-size: 1.6rem;
  }
  .sidebar h3 {
    font-size: 1.6rem;
  }
  .side-box li a,
  .widget_archive li a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 820px) {
  .archive-info-wrap {
    margin-bottom: 40px;
  }
  .archive-info-txt {
    width: calc(100% - 220px);
  }
  .archive-info-title {
    line-height: 1.5em;
  }
  .archive-info-title a {
    font-size: 1.4rem;
  }
  .archive-time-cat time {
    font-size: 1.4rem;
  }
  .archive-info-cat a {
    font-size: 1rem;
    margin-right: 10px;
    padding: 4px 8px;
  }
  .archive-time-cat {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 600px) {
  .archive-info-img {
    width: 140px;
  }
  .archive-info-img img {
    height: 20vw;
    min-height: 100px;
  }
  .archive-info-txt {
    width: calc(100% - 160px);
  }
}
@media screen and (max-width: 450px) {
  .archive-info-title a {
    font-size: 1.2rem;
  }
  .archive-time-cat {
    margin-bottom: 5px;
  }
  .archive-time-cat time {
    font-size: 1.2rem;
    margin: 0 0 10px;
    width: 100%;
    line-height: 1em;
  }
}
@media screen and (max-width: 1024px) {
  .single-info-wrap {
    margin-bottom: 40px;
  }
  .single-info-wrap main {
    width: 100%;
  }
  .single-info-title {
    font-size: 2rem;
  }
  .file-list a {
    font-size: 1.4rem;
  }
  .single-info-catch-img img {
    max-width: 400px;
    margin: 0 auto;
  }
  .single-info-article h2 {
    font-size: 18px;
    padding: 10px 15px;
  }
  .single-info-article h3 {
    font-size: 16px;
  }
}
@media screen and (max-width: 820px) {
  .gallery-list li {
    width: 32%;
  }
  .gallery-list::before {
    display: none;
  }
  .gallery-list::after {
    width: 32%;
  }
  .gallery-list a img {
    height: 22vw;
  }
}
@media screen and (max-width: 600px) {
  .single-info-title {
    letter-spacing: 0;
    font-size: 1.8rem;
  }
  .page-nav {
    margin: 40px 0;
  }
  .page-nav div img {
    height: 25vw;
  }
  .page-nav div span {
    font-size: 1.2rem;
  }
  .file-list li {
    width: 100%;
  }
}
@media screen and (max-width: 450px) {
  .single-info-title {
    font-size: 1.6rem;
  }
  .gallery-list li {
    width: 48%;
  }
  .gallery-list::after {
    display: none;
  }
  .gallery-list a img {
    height: 30vw;
  }
}

@media screen and (max-width: 1024px) {
  .contact-form01 th,
  .contact-form01 td {
    font-size: 1.4rem;
  }
  .required {
    padding: 3px 10px;
    font-size: 1rem;
    display: inline-block;
    transform: translateY(-1px);
    line-height: 1.3em;
  }
  .privacy-check .wpcf7-list-item-label {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 820px) {
  .contact-form01 th,
  .contact-form01 td {
    display: block;
    width: 100%;
  }
  .contact-form01 th {
    border-bottom: none;
    padding: 0;
  }
  .contact-form01 td {
    padding-top: 10px;
    border-bottom: none;
  }
  input[type="submit"],
  input[type="button"] {
    font-size: 1.6rem;
  }
  .wpcf7 form.invalid .wpcf7-response-output,
  .wpcf7 form.unaccepted .wpcf7-response-output {
    font-size: 1.4rem;
    border-radius: 0;
  }
  .wpcf7 form.sent .wpcf7-response-output {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 450px) {
  input[type="submit"],
  input[type="button"] {
    width: 100%;
  }
  .complete-txt {
    text-align: left;
  }
}
@media screen and (max-width: 1024px) {
  .privacy-head {
    font-size: 1.8rem;
  }
  .privacy-head span {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 820px) {
  .privacy-head {
    font-size: 1.8rem;
  }
  .privacy-head span {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 600px) {
  .privacy-head {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .search-txt01 {
    font-size: 1.8rem;
  }
  .error-url,
  .error-url span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .search-txt01 {
    font-size: 1.6rem;
  }

  .error-inner p {
    text-align: left;
    margin-bottom: 0;
  }
}

/*====================================================

Common

=====================================================*/

@media screen and (max-width: 1024px) {
  .ttl01-wrap {
    margin-bottom: 40px;
  }

  .ttl01-wrap .en {
    font-size: 3.2rem;
  }

  .ttl01-wrap .ja {
    font-size: 1.6rem;
  }

  .ttl02 {
    font-size: 1.6rem;
    margin-bottom: 30px;
    padding-left: 15px;
  }

  .ttl02::before {
    width: 10px;
    height: 10px;
    top: 10px;
  }

  .ttl03-wrap {
    margin-bottom: 40px;
  }

  .ttl03,
  .ttl03 span {
    font-size: 2.2rem;
  }

  .ttl03-en {
    font-size: 1.4rem;
  }

  .btn01 {
    max-width: 240px;
    background-size: 6px;
    background-position: right 15px top 51%;
    font-size: 1.4rem;
    padding: 12px 25px;
  }

  .sp-flex-reverse {
    flex-wrap: wrap-reverse;
  }
}

@media screen and (max-width: 600px) {
  .pc-none600 {
    display: block;
  }

  .sp-none600 {
    display: none;
  }
}

/*====================================================

Service

=====================================================*/

@media screen and (max-width: 1024px) {
  .service-list {
    gap: 40px;
  }

  .service-icon {
    width: 60px;
  }

  .service-head {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }

  .service-list li {
    background-color: var(--gray01);
    padding: 30px;
  }
}

@media screen and (max-width: 600px) {
  .service-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}

/*====================================================

Reason

=====================================================*/

@media screen and (max-width: 1024px) {
  .reason-section {
    padding: 60px 0;
  }

  .reason-list {
    margin-top: 0;
  }

  .reason-list li {
    flex-wrap: wrap-reverse;
  }

  .reason-img,
  .reason-content {
    width: 100%;
  }

  .reason-content {
    .number {
      font-size: 7rem;
      top: -10px;
      left: 3px;
    }
  }

  .reason-list li {
    margin-bottom: 40px;
  }

  .reason-img img {
    max-width: 400px;
    margin: 0 auto 20px;
    display: block;
  }

  .reason-head {
    font-size: 1.6rem;
    padding-left: 60px;
    margin-bottom: 20px;
  }

  .reason-head::after {
    display: none;
  }

  .reason-txt-box p {
    font-size: 1.3rem;
    margin-bottom: 0;
  }
}

/*====================================================

Media

=====================================================*/

@media screen and (max-width: 1400px) {
  .media-box.flex {
    margin-bottom: 60px;
  }

  .media-content {
    width: 46%;
  }
}

@media screen and (max-width: 1024px) {
  .media-block01 {
    padding: 0 15px;
  }

  .media-box02.flex {
    justify-content: flex-end;
    flex-wrap: wrap-reverse;
  }

  .media-img {
    width: 100%;
    margin: 0 0 25px;
  }

  .media-box02 .media-img {
    width: 100%;
    margin: 0 0 25px;
  }

  .media-img img {
    max-width: 400px;
    margin: 0 auto;
  }

  .media-content {
    width: 100%;
  }

  .media-ttl {
    font-size: 2rem;
    margin-bottom: 15px;
  }

  .media-txt {
    font-size: 1.3rem;
    line-height: 2em;
  }
}

/*====================================================

Works

=====================================================*/

@media screen and (max-width: 1024px) {
  .top-works-menu {
    width: 100%;
  }

  .tab-group {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 40px;
    padding: 0;
  }

  .tab {
    font-weight: 700;
    color: var(--txt-color);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    font-size: 1.8rem;
    opacity: 0.6;
    margin-bottom: 10px;
    position: relative;
    padding: 10px;
    background-color: #fff;
    border-radius: 5px;
    margin-right: 10px;
    font-size: 1.4rem;
  }

  .tab.is-active,
  .tab:hover {
    color: var(--txt-color);
    opacity: 1;
  }

  .tab::before {
    display: none;
  }

  .top-works-content {
    width: 100%;
  }

  .top-works-list {
    gap: 20px;
  }

  .top-works-ttl {
    margin-bottom: 10px;
  }

  .top-works-ttl a {
    font-size: 1.3rem;
  }

  .a-works.flex {
    flex-wrap: wrap-reverse;
  }

  .a-works-side,
  .a-works-content {
    width: 100%;
  }

  .a-works-content {
    margin-bottom: 60px;
  }

  .a-works-list {
    gap: 20px;
  }

  .a-works-head {
    font-size: 1.6rem;
    margin-bottom: 30px;
    padding-left: 15px;
  }

  .a-works-head::before {
    width: 10px;
    height: 10px;
    top: 10px;
  }

  .a-works-ttl {
    margin-bottom: 10px;
  }

  .a-works-ttl a {
    font-size: 1.3rem;
  }

  .a-works-side-ttl {
    font-size: 1.4rem;
    margin-top: 40px;
  }

  .a-works-cat-list li a {
    font-size: 1.2rem;
  }

  .combined-cat-list li a {
    font-size: 1rem;
  }

  .s-works-ttl {
    font-size: 2rem;
    margin-bottom: 20px;
    font-weight: bold;
  }

  .s-works-ttl-wrap {
    margin-bottom: 40px;
  }

  .s-works-head-wrap {
    margin-bottom: 15px;
  }

  .s-works-head.en {
    font-size: 2rem;
  }

  .s-works-head.ja {
    font-size: 1.4rem;
  }

  .s-works-concept {
    margin-bottom: 40px;
  }

  .concept-txt {
    font-size: 1.4rem;
  }

  .s-works-link-btn {
    margin-top: 30px;
  }
}

@media screen and (max-width: 820px) {
  .s-works-feature-list {
    gap: 0;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 30px;
  }

  .s-works-feature-img {
    max-width: 400px;
    margin: 0 auto 15px;
    width: 80%;
  }
}

@media screen and (max-width: 600px) {
  .top-works-list,
  .a-works-list {
    grid-template-columns: repeat(1, 1fr);
  }

  .works-mv,
  .works-mv-mov {
    padding: 30px 0;
  }
}

/*====================================================

Information

=====================================================*/

@media screen and (max-width: 1024px) {
  .marquee-content p {
    display: inline-block;
    margin: 0;
    padding: 0 1rem;
    font-size: 8rem;
  }
}

/*====================================================

Company

=====================================================*/

@media screen and (max-width: 1024px) {
  .overview-box {
    margin-bottom: 60px;
  }

  .tablepress tbody td.column-1 {
    width: 80px;
  }

  .tablepress tbody td.column-2 {
    width: calc(100% - 80px);
  }
}

@media screen and (max-width: 600px) {
  .gmap {
    padding-bottom: 70%;
  }
}

/*====================================================

blog

=====================================================*/

@media screen and (max-width: 1400px) {
  .top-blog-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }

  .single-blog-wrap main {
    width: calc(100% - 460px);
  }

  .blog-sidebar {
    width: 400px;
  }
}

@media screen and (max-width: 1200px) {
  .archive-blog-wrap main {
    width: 100%;
    margin-bottom: 40px;
  }

  .single-blog-wrap main {
    width: 100%;
    max-width: 900px;
    margin: 0 auto 40px;
  }

  .blog-sidebar {
    width: 100%;
  }

  .side-bnr {
    max-width: 400px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 1024px) {
  .top-blog-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .archive-blog-time {
    font-size: 1.2rem;
  }

  .archive-blog-title a {
    font-size: 1.4rem;
  }

  .archive-blog-cat-list li {
    margin-right: 5px;
    margin-bottom: 5px;
  }

  .archive-blog-cat-list li a {
    padding: 5px;
    font-size: 1rem;
  }

  .single-blog-title {
    font-size: 2rem;
  }

  .single-blog-date p,
  .single-blog-date p span {
    font-size: 1.2rem;
    line-height: 1.6em;
  }

  .single-blog-date p {
    padding: 0px 10px 3px;
  }

  .article-blog-cat-list li a {
    font-size: 1.2rem;
    padding: 3px 5px;
  }

  .article-blog-cat-list {
    margin-bottom: 20px;
  }

  .blog-h2 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    margin-top: 40px;
    padding-left: 10px;
    border-left: 3px solid var(--main);
  }

  .blog-h3 {
    font-size: 1.6rem;
    margin-bottom: 20px;
    font-weight: bold;
    margin-top: 20px;
  }

  .blog-editor ul li::before {
    top: 10px;
  }

  .single-blog-article p,
  .single-blog-article span {
    font-size: 1.3rem;
  }

  .blog-editor a {
    font-size: 1.3rem;
  }

  .blog-editor ul,
  .blog-editor ol {
    padding: 20px;
  }

  .sub-header-blog .sub-header-txt {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 600px) {
  .top-blog-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .archive-blog-list > li {
    width: 100%;
    margin-bottom: 20px;
  }

  .archive-blog-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .archive-blog-img {
    width: 45%;
  }

  .archive-blog-txt {
    width: 50%;
  }

  .archive-blog-title {
    line-height: 1.5em;
  }

  .archive-blog-title a {
    font-size: 1.2rem;
    line-height: 1.6em;
    letter-spacing: 0.01em;
  }

  .toc-wrap {
    padding: 30px 20px;
  }

  .toc-head {
    font-size: 2rem !important;
  }

  .toc-h2 a,
  .toc-h3 a {
    font-size: 1.2rem;
  }

  .toc-h2::before {
    top: 10px;
  }

  .toc-h3 {
    padding-left: 5px;
  }
}

/*====================================================

MEO

=====================================================*/

@media screen and (max-width: 1400px) {
  .meo-mv-link-btn {
    margin-top: 40px;
    margin-left: 10%;
  }

  .meo-mv-link-btn a {
    padding: 10px 25px;
    font-size: 1.6rem;
    width: 100%;
    background-position: right 15px top 53%;
  }

  .meo-voice-section {
    background-size: auto 180px, auto 180px, cover;
    background-position: bottom -40px left 25px, bottom -40px right 25px,
      bottom center;
    padding-bottom: 150px;
  }
}

@media screen and (max-width: 1200px) {
  .mr-head,
  .mr-head span {
    font-size: 3rem;
  }
}

@media screen and (max-width: 1024px) {
  .meo-mv-content {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .meo-mv-catch {
    width: 90%;
    margin: 0 auto;
    margin-top: 0;
  }

  .meo-mv-link-btn a {
    padding: 5px 25px;
    font-size: 1.4rem;
    width: 100%;
  }

  .meo-mv-link-btn {
    margin-top: 30px;
    margin-left: 0;
  }

  .worry-section {
    background-position: bottom left 10%, bottom right 10%, top;
    background-size: 100px auto, 100px auto, 8px auto;
  }

  .worry-list {
    padding: 30px 20px;
    border: 2px solid var(--blue);
  }

  .worry-list li {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .worry-head,
  .worry-head span {
    font-size: 1.6rem;
  }

  .worry-head .check-icon {
    width: 100%;
    transform: translateY(0);
  }

  .worry-head .check-icon img {
    width: 20px;
    margin: 0 auto 5px;
  }

  .meo-reason-wrap01 {
    padding: 60px 0 70px;
  }

  .meo-reason-wrap01:before {
    margin-left: -30px;
    border: 30px solid transparent;
    border-top: 30px solid var(--blue);
  }

  .meo-reason-head01 {
    font-size: 2.2rem;
    margin-bottom: 30px;
    line-height: 1.75em;
  }

  .meo-reason-head01 span {
    font-size: 1.6rem;
  }

  .meo-reason-head02 {
    font-size: 2rem;
  }

  .meo-reason-wrap02 {
    margin-top: 60px;
  }

  .meo-reason-box02 {
    margin-bottom: 40px;
  }

  .mr-img {
    width: 100%;
  }

  .mr-img img {
    max-width: 400px;
    margin: 0 auto 15px;
  }

  .mr-content {
    width: 100%;
  }

  .mr-head,
  .mr-head span {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 40px;
  }

  .mr-head::before {
    width: 40px;
    right: 0;
    margin: 0 auto;
  }

  .mr-txt-box p {
    font-size: 1.4rem;
  }

  .system-list li {
    flex-wrap: wrap-reverse;
  }

  .system-content {
    width: 100%;
    padding-left: 50px;
  }

  .system-img {
    width: 100%;
  }

  .system-img img {
    max-width: 400px;
    margin: 0 auto 15px;
  }

  .system-head,
  .system-head span {
    font-size: 1.8rem;
  }

  .system-head {
    margin-bottom: 15px;
  }

  .system-txt {
    font-size: 1.4rem;
  }

  .system-nm {
    font-size: 1.4rem;
    top: -10px;
  }

  .meo-voice-icon {
    width: 60px;
  }

  .meo-voice-head,
  .meo-voice-head span {
    font-size: 1.8rem;
    width: calc(100% - 75px);
  }

  .meo-voice-txt {
    font-size: 1.4rem;
    line-height: 1.75em;
  }

  .faq-list dt,
  .faq-list dd {
    font-size: 1.4rem;
  }

  .faq-list dt::before,
  .faq-list dt::after {
    width: 15px;
    height: 2px;
  }
}

@media screen and (max-width: 820px) {

  .footer-cta01 {
    display: none;
  }

  .footer-cta01-sp {
    display: block;
    transition-duration: 0.3s;
    transform: translateY(70px);
  }

  .footer-cta01-sp.active {
    transform: translateY(0px);
  }

  .meo-reason-wrap01 {
    padding: 60px 0 20px;
  }

  .meo-reason-box01 {
    width: 100%;
    margin-bottom: 40px;
    padding: 30px 5px;
  }

  .meo-reason-head02 {
    font-size: 1.8rem;
  }

  .meo-reason-box01 img {
    max-width: 400px;
    margin: 0 auto;
  }

  .meo-voice-content,
  .meo-voice-img {
    width: 100%;
  }

  .meo-voice-img img {
    max-width: 300px;
    margin: 15px auto 0;
  }

  .meo-voice-head-box {
    margin-bottom: 10px;
  }

  .meo-voice-icon {
    width: 100%;
  }

  .meo-voice-head {
    width: 100%;
    text-align: center;
  }

  .meo-voice-icon img {
    max-width: 80px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 600px) {
  .system-nm {
    font-size: 1.4rem;
    top: 5px;
  }

  .system-content {
    padding-left: 30px;
  }

  .meo-voice-list li {
    padding: 30px 20px;
  }
}
