@charset "UTF-8";
@media screen and (min-width: 768px) {
  /* --------------------------------------------------------------
   共通
  -------------------------------------------------------------- */
  .sponly {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  /* --------------------------------------------------------------
   共通
  -------------------------------------------------------------- */
  body {
    min-width: 3.2rem;
    font-size: 0.1125rem;
  }
  .pconly {
    display: none !important;
  }
  :root {
    --header_height: 0.72rem;
  }
  .mod_btn a {
    border: 0.04rem solid #fff;
    -webkit-box-shadow: 0 0 0.074rem #d74c77;
            box-shadow: 0 0 0.074rem #d74c77;
  }
  .mod_btn a::after {
    right: 0.13rem;
    font-size: 0.14rem;
  }
  .mod_btn._small a {
    min-width: 3rem;
    font-size: 0.135rem;
    padding: 0.17rem 0;
  }
  .mod_btn._small a::after {
    right: 0.1rem;
    font-size: 0.1rem;
  }
  .mod_btn._middle a {
    width: 100%;
    font-size: 0.12rem;
    padding: 0.16rem 0;
  }
  .mod_btn._middle a::after {
    right: 0.1rem;
    font-size: 0.12rem;
  }
  .mod_btn._large a {
    width: 3.35rem;
    border-radius: 0.2rem;
    font-size: 0.16rem;
    padding: 0.15rem 0;
  }
  .mod_btn._large a::after {
    right: 0.1rem;
    font-size: 0.15rem;
  }
  .cmn_header {
    padding: 0 0.17rem;
  }
  .cmn_header .logo_area {
    gap: 0 0.17rem;
  }
  .cmn_header .service_logo img {
    width: 1.21rem;
    height: auto;
  }
  .cmn_header .main_logo img {
    width: 0.72rem;
    height: auto;
  }
  .cmn_footer {
    padding: 0.54rem 0 0.47rem;
  }
  .cmn_footer .container {
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .cmn_footer .service_logo {
    text-align: center;
    position: static;
  }
  .cmn_footer .service_logo img {
    width: 1.59rem;
    height: 0.57rem;
  }
  .cmn_footer .main_logo {
    margin: 0.34rem 0;
  }
  .cmn_footer .main_logo img {
    width: 1.07rem;
    height: auto;
  }
  .cmn_footer .txt {
    line-height: 1.75;
  }
  .cmn_footer .txt,
  .cmn_footer small {
    font-size: 0.1rem;
    letter-spacing: 0.035em;
  }
  .cmn_footer small {
    margin-top: 0.2rem;
    display: block;
  }
  .mv {
    padding: 0.312rem 0.22rem 0.34rem;
    background-image: url(../../../img/lp/datacenter03_transference2nd/mv/bg_sp.jpg);
  }
  .mv .cat {
    font-size: 0.255rem;
    line-height: 1.37;
    letter-spacing: 0.13em;
  }
  .mv .cat .strong {
    font-size: 0.3rem;
  }
  .mv .btn_wrap {
    margin-top: 0.29rem;
  }
  .mv .mod_btn {
    text-align: center;
  }
  .mv .mod_btn:not(:first-of-type) {
    margin-top: 0.12rem;
  }
  .sec01 .before {
    padding: 0.3rem 0 0.24rem;
  }
  .sec01 .before::after {
    height: 0.31rem;
    bottom: -0.305rem;
  }
  .sec01 .before .container::before {
    content: none;
  }
  .sec01 .before .tit {
    text-align: center;
    font-size: 0.175rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
  .sec01 .before .lists {
    margin-top: 0.25rem;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0.16rem 0;
  }
  .sec01 .before .lists li {
    width: 2.3rem;
    margin: 0 auto;
    padding: 0.13rem 0;
    font-size: 0.12rem;
    border-radius: 0.16rem;
    line-height: 1.56;
  }
  .sec01 .after {
    padding: 0.65rem 0 0.35rem;
  }
  .sec01 .after .copy {
    font-size: 0.225rem;
  }
  .sec01 .after .copy span {
    padding: 0 0.45rem;
  }
  .sec01 .after .copy span::before, .sec01 .after .copy span::after {
    width: 1px;
    height: 0.3rem;
    top: 0.02rem;
  }
  .sec01 .after .copy span::before {
    left: 0.3rem;
  }
  .sec01 .after .copy span::after {
    right: 0.3rem;
  }
  .sec01 .after .txt {
    margin-top: 0.2rem;
    font-size: 0.16rem;
    line-height: 1.67;
  }
  .sec02 {
    padding: 0.37rem 0 2.6rem;
  }
  .sec02::before {
    width: 2.97rem;
    height: 2.155rem;
    bottom: 0.1rem;
  }
  .sec02 .tit {
    width: 3.3rem;
    padding: 0.17rem 0;
    font-size: 0.175rem;
    letter-spacing: 0.035em;
    border-radius: 0.15rem;
  }
  .sec02 .parent_lists {
    width: 3rem;
    margin: 0.44rem auto 0;
    -webkit-transform: translateX(0.23rem);
            transform: translateX(0.23rem);
  }
  .sec02 .parent_lists::before {
    width: 0.96rem;
    height: 0.28rem;
    top: -1.2rem;
    left: 2.04rem;
  }
  .sec02 .parent_lists::after {
    width: 0.95rem;
    height: 0.5rem;
    top: 4.07rem;
    right: 2.46rem;
  }
  .sec02 .parent_lists .item {
    color: #fff;
    position: relative;
  }
  .sec02 .parent_lists .item:not(:first-of-type) {
    margin-top: 0.35rem;
  }
  .sec02 .parent_lists .num {
    top: -0.2rem;
    left: -0.65rem;
  }
  .sec02 .parent_lists .num img {
    width: 0.637rem;
    height: 0.721rem;
  }
  .sec02 .list_tit {
    font-size: 0.2175rem;
  }
  .sec02 .child_lists {
    margin-top: 0.2rem;
  }
  .sec02 .child_lists li {
    padding-left: 1.5em;
    line-height: 1.5;
  }
  .sec02 .child_lists li:not(:first-of-type) {
    margin-top: 0.07rem;
  }
  .sec02 .child_lists li::before {
    width: 0.1rem;
    height: 0.1rem;
    top: 0.05rem;
  }
  .sec03 {
    padding: 0.4rem 0 0.4rem;
  }
  .sec03 .tit .small {
    font-size: 0.16rem;
  }
  .sec03 .tit .small::before, .sec03 .tit .small::after {
    width: 1px;
    height: 0.2rem;
    top: -0.02rem;
  }
  .sec03 .tit .small::before {
    left: -0.15rem;
  }
  .sec03 .tit .small::after {
    right: -0.15rem;
  }
  .sec03 .tit .large {
    margin-top: 0.1rem;
    font-size: 0.225rem;
    line-height: 1.4;
  }
  .sec03 .copy {
    margin-top: 0.3rem;
    font-size: 0.225rem;
  }
  .sec03 .copy._after {
    margin-top: 0.75rem;
  }
  .sec03 .lists_wrap::before, .sec03 .lists_wrap::after {
    content: none;
  }
  .sec03 .lists {
    margin-top: 0.48rem;
  }
  .sec03 .lists::before {
    width: 0.31rem;
    height: 5.3rem;
    top: -0.28rem;
    left: calc(50% - 0.155rem);
  }
  .sec03 .modal_btn {
    width: 3.1rem;
    line-height: 0.63rem;
    border-radius: 0.2rem;
    font-size: 0.2rem;
  }
  .sec03 .modal_btn::before {
    width: 0.32rem;
    height: 0.32rem;
    top: calc(50% - 0.16rem);
    right: 0.2rem;
  }
  .sec03 .modal_btn:not(:first-of-type) {
    margin-top: 0.33rem;
  }
  .sec03 .modal_btn span {
    font-size: 0.18rem;
  }
  .sec03 .after_tit {
    margin-top: 0.41rem;
    font-size: 0.175rem;
  }
  .sec03 .after_tit span {
    padding: 0 0.4rem;
  }
  .sec03 .after_tit span::before, .sec03 .after_tit span::after {
    width: 1px;
    height: 0.2rem;
    top: 0.05rem;
  }
  .sec03 .after_tit span::before {
    left: 0.2rem;
  }
  .sec03 .after_tit span::after {
    right: 0.2rem;
  }
  .sec03 .after_txt {
    width: 3.35rem;
    margin: 0.28rem auto 0;
    text-align: left;
    line-height: 2.07;
  }
  .sec04 {
    padding: 0.37rem 0 0;
  }
  .sec04 .container {
    width: 100%;
  }
  .sec04 .tit {
    font-size: 0.21rem;
    line-height: 1.54;
    position: relative;
    z-index: 2;
  }
  .sec04 .txt {
    width: 100%;
    padding: 0 0.2rem;
    margin: 0.23rem auto 0;
    line-height: 2.18;
    position: relative;
  }
  .sec04 .txt::before {
    width: 0.96rem;
    height: 0.28rem;
    top: -0.95rem;
    left: 2.7rem;
  }
  .sec04 .txt::after {
    width: 0.95rem;
    height: 0.5rem;
    top: 0.77rem;
    right: 2.67rem;
  }
  .sec04 .wrap {
    margin-top: 0.37rem;
    display: block;
  }
  .sec04 .item {
    width: 100%;
    padding: 0.4rem 0.2rem;
    background-color: transparent;
    position: relative;
  }
  .sec04 .item::after {
    content: "";
    width: calc(100% - 0.4rem);
    height: 1px;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    border-bottom: 1px solid #4c4948;
  }
  .sec04 .item_tit {
    font-size: 0.15rem;
  }
  .sec04 .name {
    margin-top: 0.2rem;
    padding: 0.1rem 0;
    font-size: 0.155rem;
    background-color: #fff;
  }
  .sec04 .name .add {
    width: 0.62rem;
    height: 0.62rem;
    top: calc(50% - 0.31rem);
    right: -0.15rem;
    font-size: 0.1rem;
    border: 0.02rem solid #4c4948;
  }
  .sec04 .name .add .strong {
    margin-bottom: 0.025rem;
    font-size: 0.214rem;
  }
  .sec04 .cat {
    margin-top: 0.16rem;
    font-size: 0.1rem;
  }
  .sec04 .lists {
    margin-top: 0.3rem;
  }
  .sec04 .lists dt {
    padding: 0.09rem 0;
    font-size: 0.11rem;
  }
  .sec04 .lists dt::before {
    width: 0.22rem;
    height: 0.27rem;
    bottom: -0.13rem;
    left: 0.15rem;
  }
  .sec04 .lists dt:not(:first-of-type) {
    margin-top: 0.45rem;
  }
  .sec04 .lists dd {
    margin-top: 0.21rem;
  }
  .sec04 .lists .desc {
    line-height: 1.86;
    font-size: 0.095rem;
  }
  .sec04 .lists .stit {
    margin-bottom: 0.1rem;
    font-size: 0.12rem;
  }
  .sec04 .lists .stit:not(:first-of-type) {
    margin-top: 0.2rem;
  }
  .cta {
    padding: 0.18rem 0.14rem 0.46rem;
  }
  .cta .wrap {
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    gap: 0.3rem 0;
  }
  .cta .txt {
    width: 100%;
    padding-top: 0.32rem;
  }
  .cta .cat {
    font-size: 0.16rem;
  }
  .cta .cat span::before, .cta .cat span::after {
    width: 1px;
    height: 0.2rem;
    top: 0.02rem;
  }
  .cta .cat span::before {
    left: -0.15rem;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .cta .cat span::after {
    right: -0.15rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .cta .tit {
    text-align: center;
    margin-top: 0.12rem;
    font-size: 0.225rem;
    line-height: 1.5;
  }
  .cta .desc {
    margin-top: 0.24rem;
    line-height: 1.86;
    font-size: 0.125rem;
  }
  .cta .mod_btn {
    margin-top: 0.225rem;
  }
  .cta .img {
    width: 100vw;
    margin: calc(50% - 50vw);
  }
  .cta .img img {
    width: 100%;
    height: auto;
  }
  .qa {
    padding: 0.42rem 0.19rem 0.4rem;
  }
  .qa .tit {
    font-size: 0.175rem;
  }
  .qa .ac {
    width: 100%;
    margin: 0.42rem auto 0;
  }
  .qa .ac_parent {
    padding: 0.1rem 0.3rem 0.1rem 0.6rem;
    font-size: 0.13rem;
    line-height: 1.56;
  }
  .qa .ac_parent::after {
    width: 0.18rem;
    height: 0.1rem;
    top: 0.25rem;
    right: 0.1rem;
  }
  .qa .ac_parent:not(:first-of-type) {
    margin-top: 0.25rem;
  }
  .qa .ac_parent span {
    top: 0.1rem;
    left: 0.2rem;
  }
  .qa .ac_child .ac_child_inner {
    padding: 0.12rem 0 0;
  }
  .contact {
    padding: 0.47rem 0 1.63rem;
  }
  .contact::before {
    width: 1.58rem;
    height: 0.865rem;
    top: 1.82rem;
    left: 0;
  }
  .contact::after {
    width: 1.625rem;
    height: 1.06rem;
    top: 1.64rem;
    right: 0;
  }
  .contact .tit {
    font-size: 0.12rem;
  }
  .contact .tit span::before, .contact .tit span::after {
    width: 1px;
    height: 0.15rem;
    top: 0.02rem;
  }
  .contact .tit span::before {
    left: -0.1rem;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .contact .tit span::after {
    right: -0.1rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .contact .mod_btn {
    margin-top: 0.3rem;
  }
  .mod_modal {
    padding: 0.4rem 0;
  }
  .mod_modal .content {
    width: calc(100% - 0.4rem);
    padding: 0.4rem;
    border-radius: 0.25rem;
  }
  .mod_modal .tit {
    width: 100%;
    line-height: 0.6rem;
    font-size: 0.18rem;
    border-radius: 0.15rem;
  }
  .mod_modal .txt {
    margin: 0.2rem auto 0;
  }
  .mod_modal .img {
    margin-top: 0.35rem;
  }
  .mod_modal .capt {
    margin-top: 1em;
    font-weight: 300;
    font-size: 0.13rem;
  }
  .mod_modal .close_btn {
    top: 0.15rem;
    right: 0.1rem;
  }
  .mod_modal .close_btn img {
    width: 0.2rem;
    height: 0.2rem;
  }
  .mod_modal#modal01 .img img {
    width: 1.57rem;
  }
}
