@charset "UTF-8";
/* Theme Name: Nextcloud日本公式サイト */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@media (min-width: 768px) {
  html {
    font-size: 100%;
    scroll-behavior: smooth;
  }
  body {
    min-width: 1280px;
    width: 100%;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.875;
    -webkit-font-smoothing: antialiased;
  }
  body .inner {
    width: 1180px;
    margin: 0 auto;
  }
  body .sec {
    position: relative;
    padding: 100px 0;
  }
  body .bg_pale_blue {
    background: #eef9ff;
  }
  body .center {
    text-align: center;
  }
  body p:not(:last-child) {
    margin-bottom: 30px;
  }
  body p.mdl {
    font-size: 1.25rem;
  }
  body p a {
    color: #0082c9;
  }
  body p a:hover {
    text-decoration: underline;
  }
  body .btn,
  body .btn_blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    padding: 20px 10px;
    color: #0082c9;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    background: #fff;
    border: 1px solid #0082c9;
    border-radius: 5px;
    transition: 0.2s ease;
  }
  body .btn:hover,
  body .btn_blue:hover {
    color: #fff;
    background: #0082c9;
  }
  body .btn_blue {
    color: #fff;
    background: #0082c9;
  }
  body .btn_blue:hover {
    color: #0082c9;
    background: #fff;
  }
  body .btnarea {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px;
  }
  body .sec_title {
    margin-bottom: 70px;
    font-size: 2.25rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
  body .sec_title::after {
    display: block;
    width: 90px;
    aspect-ratio: 90/5;
    margin-inline: auto;
    background: #0082c9;
    content: "";
    transform: translateY(20px);
  }
  body .bar_title,
  body .single .content h2 {
    position: relative;
    margin-bottom: 30px;
    padding: 5px 20px;
    overflow: hidden;
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 2;
    background: linear-gradient(70deg, #0082c9 0 50%, #80d2ff 50.2% 100%);
  }
  body .blue_title,
  body .single .content h4 {
    color: #0082c9;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  body .btb_title {
    color: #0082c9;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.9;
    border-top: 1px solid #0082c9;
    border-bottom: 1px solid #0082c9;
    padding: 20px;
    margin-bottom: 30px;
  }
  body .bb_title,
  body .single h1 {
    color: #0082c9;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    border-bottom: 1px solid #0082c9;
    padding: 30px 0;
    margin-bottom: 50px;
  }
  body .bl_title,
  body .single .content h3 {
    color: #0082c9;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    border-left: 4px solid #0082c9;
    padding: 10px 10px 10px 30px;
    margin-bottom: 30px;
  }
  body .txt {
    line-height: 1.9;
  }
  body .txt:not(:last-child) {
    margin-bottom: 30px;
  }
  body .note {
    line-height: 1.5;
  }
  body .cols2,
  body .cols3,
  body .cols5 {
    display: grid;
    gap: 30px;
  }
  body .cols2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body .cols3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body .cols5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  body img.media {
    display: block;
    width: auto;
    max-width: 900px;
  }
  body .check_fill,
  body .check_list {
    display: grid;
    gap: 20px;
  }
  body .check_fill li,
  body .check_list li {
    position: relative;
    padding-left: 40px;
  }
  body .check_fill li::before,
  body .check_list li::before {
    position: absolute;
    top: 5px;
    left: 0;
    width: 20px;
    aspect-ratio: 20/20;
    background: center/contain no-repeat url("./images/common/icon_check.svg");
    content: "";
  }
  body .check_fill li::before {
    background-image: url("./images/common/icon_check_circle.svg");
    background-size: 20px 20px;
  }
  body .check_list:not(:last-child) {
    margin-bottom: 40px;
  }
  body .check_panel {
    overflow: hidden;
    border: 1px solid #0082c9;
    border-radius: 10px;
  }
  body .check_panel .panel_title {
    padding: 5px 20px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 2;
    text-align: center;
    background: #0082c9;
  }
  body .check_panel .check_fill {
    display: grid;
    padding: 45px 50px;
  }
  body .check_panel .check_fill li {
    position: relative;
    padding-left: 40px;
    font-size: 1rem;
    line-height: 1.875;
  }
  body .service_list {
    display: grid;
    gap: 30px;
  }
  body .service_list li {
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 25px 30px 0;
    overflow: hidden;
    background: #eef9ff;
    border: 3px solid #0082c9;
    border-radius: 10px;
  }
  body .service_list li .blue_title {
    margin-bottom: 20px;
    line-height: 1.4;
  }
  body .service_list li p {
    line-height: 1.5;
    margin-bottom: 5px;
  }
  body .service_list li .btn_blue {
    width: 200px;
    justify-self: end;
    font-size: 1.25rem;
    margin-right: -30px;
    margin-bottom: -1px;
    border-radius: 10px 0 6px 0;
    padding: 15px;
  }
  body .service_list.service_nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body .service_list.service_nav li:first-child, body .service_list.service_nav li:last-child {
    grid-column: 1/-1;
  }
  body .service_list.service_nav li p {
    margin-bottom: 20px;
  }
  body .news_list {
    border-top: 1px solid #0082c9;
  }
  body .news_list > li {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 30px;
    align-items: center;
    padding: 25px 20px;
    border-bottom: 1px solid #0082c9;
  }
  body .news_list > li .dec {
    display: grid;
    grid-template-columns: 110px 200px 1fr;
    align-items: center;
    gap: 30px;
  }
  body .news_list > li .news_title a {
    font-size: 1.25rem;
    line-height: 1.6;
    display: block;
  }
  body .news_list > li .news_title a:hover {
    color: #0082c9;
  }
  body time {
    font-size: 1.25rem;
  }
  body .cat_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  body .cat {
    display: block;
    text-align: center;
    padding: 0 3px;
    color: #0082c9;
    border: 1px solid #0082c9;
    font-size: 0.6rem;
  }
  body .cat:hover {
    background: #0082c9;
    color: #fff;
  }
  body .form .txt {
    text-align: center;
    line-height: 1.5;
  }
  body .form .txt:not(:last-child) {
    margin-bottom: 50px;
  }
  body .form .txt a {
    color: #0082c9;
  }
  body .form ul {
    max-width: 800px;
    margin: 0 auto 50px;
  }
  body .form ul li:not(:last-child) {
    margin-bottom: 30px;
  }
  body .form ul .title {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
    font-size: 1.25rem;
    font-weight: bold;
  }
  body .form ul .title span {
    display: block;
    width: 70px;
    text-align: center;
    color: #fff;
    font-size: 1rem;
    border-radius: 3px;
    background: #c33535;
  }
  body .form ul .title span.gray {
    background: #a0a0a0;
  }
  body .form ul .title small {
    font-weight: 500;
    font-size: 1rem;
  }
  body .form ul .wpcf7-form-control.wpcf7-acceptance {
    font-size: 1.25rem;
  }
  body .form input[type=text],
  body .form input[type=email],
  body .form input[type=tel],
  body .form select,
  body .form textarea {
    width: 100%;
    height: 70px;
    padding: 10px;
    font-size: 1rem;
    background: #fff;
    border: 1px solid #c6ebff;
    border-radius: 5px;
    outline: none;
  }
  body .form textarea {
    height: 150px;
    resize: vertical;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox span.wpcf7-list-item {
    position: relative;
    width: 100%;
    margin: 0;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    cursor: pointer;
    display: block;
    font-size: 1.25rem;
    margin-bottom: 20px;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox input[type=checkbox] {
    position: absolute;
    opacity: 0;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label:before {
    content: "";
    border: 1px solid #c6ebff;
    border-radius: 5px;
    display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
    top: -3px;
    margin-right: 20px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 7px;
    width: 25px;
    height: 16px;
    border-left: 3px solid #0082c9;
    border-bottom: 3px solid #0082c9;
    transform: rotate(-45deg);
  }
  body .form .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item {
    position: relative;
    width: 100%;
    margin: 0;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label {
    cursor: pointer;
    position: relative;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance input[type=checkbox] {
    position: absolute;
    opacity: 0;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label:before {
    content: "";
    background: #fff;
    border: 1px solid #c6ebff;
    border-radius: 5px;
    display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
    top: -1px;
    margin-right: 20px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 7px;
    width: 25px;
    height: 16px;
    border-left: 3px solid #0082c9;
    border-bottom: 3px solid #0082c9;
    transform: rotate(-45deg);
  }
  body .form .agree {
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    margin-bottom: 50px;
  }
  body .form input[type=submit],
  body .form input[type=button],
  body .form button {
    display: block;
    cursor: pointer;
    width: 350px;
    margin: 0 auto;
  }
  body .form input[type=submit]:not(:last-child),
  body .form input[type=button]:not(:last-child),
  body .form button:not(:last-child) {
    margin: 50px auto 20px;
  }
  body .imgleft,
  body .imgright {
    display: flex;
    gap: 50px;
    align-items: center;
  }
  body .imgleft > img,
  body .imgright > img {
    display: block;
    max-width: 100%;
  }
  body .imgleft > div,
  body .imgright > div {
    flex: 1;
    min-width: 0;
  }
  body .imgright {
    flex-direction: row-reverse;
  }
  body .js-scrollable:not(:last-child) {
    margin-bottom: 10px !important;
  }
  body .tablepress {
    margin: 0 !important;
  }
  body table {
    width: 100%;
  }
  body table th,
  body table td {
    padding: 12px 16px !important;
    line-height: 1.6 !important;
    vertical-align: middle !important;
    background: #ecf8ff !important;
    border: 1px solid #fff !important;
    height: 70px !important;
  }
  body table th {
    font-weight: bold !important;
    background: #c6ebff !important;
    font-size: 1.25rem !important;
    text-align: left !important;
  }
  body table .blue {
    color: #0082c9;
  }
  body table .center {
    text-align: center;
  }
  body table .f_mdl {
    font-size: 1.25rem;
  }
  body table a {
    color: #0082c9;
  }
  body table a:hover {
    text-decoration: underline;
  }
  body .cards {
    display: grid;
    gap: 30px;
  }
  body .cards li {
    padding: 30px;
    background: #eef9ff;
    border: 3px solid #0082c9;
    border-radius: 10px;
  }
  body .cards .blue_title {
    margin-bottom: 20px;
  }
  body .cards p {
    line-height: 1.5;
  }
  body .usecase_list {
    border-top: 1px solid #0082c9;
  }
  body .usecase_list li {
    border-bottom: 1px solid #0082c9;
  }
  body .usecase_list a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 20px 60px 20px 20px;
    font-size: 1.25rem;
    font-weight: bold;
  }
  body .usecase_list a::after {
    position: absolute;
    top: 30px;
    right: 20px;
    width: 20px;
    aspect-ratio: 20/20;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    content: "";
    transform: rotate(90deg);
  }
  body .usecase_list a:hover {
    color: #0082c9;
  }
  body .numb_list {
    display: grid;
    grid-template-rows: repeat(4, 70px);
    gap: 30px;
    counter-reset: case_point;
  }
  body .numb_list li {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 100px;
    color: #0082c9;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    counter-increment: case_point;
  }
  body .numb_list li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 70px;
    aspect-ratio: 70/70;
    font-size: 1.25rem;
    border: 3px solid #0082c9;
    border-radius: 50%;
    content: counter(case_point);
  }
  header {
    padding-top: 150px;
    background: #fff;
  }
  header .h_blc {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    max-height: 150px;
    background: #fff;
    overflow: visible;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 50px;
  }
  header .h_blc .logo {
    width: 140px;
    margin-bottom: 0;
  }
  header .h_blc .logo a,
  header .h_blc .logo img {
    display: block;
    width: 100%;
  }
  header .h_blc .menu_content {
    overflow: visible;
  }
  header .h_blc .menu_content nav {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 10px 0;
    overflow: visible;
  }
  header .h_blc .menu_content nav .nav {
    display: flex;
    align-items: center;
    gap: clamp(12px, 2.35vw, 20px);
    overflow: visible;
  }
  header .h_blc .menu_content nav .nav > li {
    position: relative;
    overflow: visible;
  }
  header .h_blc .menu_content nav .nav > li > a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 5px;
    color: #0082c9;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.875;
    white-space: nowrap;
    transition: 0.2s ease;
  }
  header .h_blc .menu_content nav .nav > li > a:hover {
    color: #fff;
    background: #0082c9;
    opacity: 1;
  }
  header .h_blc .menu_content nav .nav .sub_menu {
    position: absolute;
    top: 100%;
    right: auto;
    left: 0;
    z-index: 20;
    display: block;
    box-sizing: border-box;
    width: max-content;
    min-width: 200px;
    padding: 6px 0;
    overflow: visible;
    visibility: hidden;
    background: #0082c9;
    box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05), 0 3px 7px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transform-origin: top center;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
  }
  header .h_blc .menu_content nav .nav .sub_menu.is_sub_open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }
  header .h_blc .menu_content nav .nav .sub_menu > li {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    overflow: visible;
  }
  header .h_blc .menu_content nav .nav .sub_menu a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 15px;
    color: #fff;
    font-size: 0.8rem;
    font-weight: bold;
    line-height: 1.5385;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  header .h_blc .menu_content nav .nav .sub_menu a:hover {
    color: #fff;
    background: #006ea9;
    opacity: 1;
  }
  header .h_blc .menu_content nav .nav .sub_menu .sub_menu {
    top: -6px;
    right: auto;
    left: 100%;
    z-index: 30;
    transform: translateY(-10px);
  }
  header .h_blc .menu_content nav .nav .sub_menu .sub_menu.is_sub_open {
    transform: translateY(0);
  }
  header .h_blc .menu_content nav .nav .sub_menu.is_sub_fit a {
    min-width: 0;
  }
  header .h_blc .menu_content nav .nav .sub_menu.is_sub_fit a > li > a {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  header .h_blc .menu_content nav .nav .sub_menu > li > a[aria-haspopup=true] {
    position: relative;
    padding-right: 44px;
  }
  header .h_blc .menu_content nav .nav .sub_menu > li > a[aria-haspopup=true]::after {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 14px;
    aspect-ratio: 14/14;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    filter: brightness(0) invert(1);
    content: "";
    transform: translateY(-50%) rotate(90deg);
  }
  header .h_blc .menu_content nav .h_cta {
    display: flex;
    gap: 20px;
  }
  header .h_blc .menu_content nav .h_cta a {
    width: 150px;
    padding: 16px;
  }
  header .fv {
    position: relative;
    height: 682px;
    overflow: hidden;
  }
  header .fv::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: 52%;
    background: #0082c9;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  header .fv .inner {
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  header .fv .inner .fv_txt {
    position: absolute;
    top: 59px;
    left: 0;
    width: 585px;
  }
  header .fv .inner .fv_txt h1 {
    display: block;
    font-size: 1.875rem;
    font-weight: bold;
    line-height: 1.83;
    margin-bottom: 30px;
  }
  header .fv .inner .fv_txt p {
    font-size: 0.875rem;
    line-height: 1.79;
    margin-bottom: 50px;
  }
  header .fv .inner .fv_txt .check_fill {
    gap: 20px;
    margin-bottom: 60px;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  header .fv .inner .fv_txt .fv_btn {
    display: flex;
    gap: 30px;
  }
  header .fv .inner img {
    position: absolute;
    top: 120px;
    right: -350px;
    z-index: 2;
    width: 856px;
  }
  header .fv_sub {
    position: relative;
    height: 300px;
    overflow: hidden;
    color: #fff;
    background: #0082c9;
  }
  header .fv_sub::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 30px 30px;
    content: "";
  }
  header .fv_sub .fv_txt {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
  }
  header .fv_sub .fv_txt .page_title {
    font-size: 2.25rem;
    font-weight: bold;
    line-height: 1.1;
    text-align: center;
    margin-bottom: 30px;
  }
  header .fv_sub .fv_txt .page_title::after {
    display: block;
    width: 90px;
    aspect-ratio: 90/5;
    margin-inline: auto;
    background: #fff;
    content: "";
    transform: translateY(28px);
    position: relative;
    left: 5px;
  }
  header .fv_sub .fv_txt .breadcrumbs {
    position: absolute;
    right: 50px;
    bottom: 30px;
    line-height: 1.5;
    width: max-content;
  }
  header .fv_sub .fv_txt .breadcrumbs a:hover {
    text-decoration: underline;
  }
  main {
    overflow-x: hidden;
  }
  main.top .partner {
    position: relative;
    color: #fff;
    background: #0082c9;
    padding: 35px 0;
  }
  main.top .partner::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px);
    background-size: 30px 30px;
    content: "";
    pointer-events: none;
    z-index: 0;
    opacity: 1;
  }
  main.top .partner .inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 50px;
    align-items: center;
  }
  main.top .partner .inner img {
    width: 230px;
    padding: 15px;
    background: #fff;
    border-radius: 10px;
  }
  main.top .partner .inner p {
    font-size: 1.25rem;
    line-height: 2;
  }
  main.top .about .check_list {
    margin-bottom: 30px;
  }
  main.top .about .feature_list {
    display: grid;
    gap: 30px;
    margin-bottom: 30px;
  }
  main.top .about .feature_list .imgleft > img {
    width: 370px;
    border-radius: 10px;
  }
  main.top .about .detail {
    padding: 0 30px 30px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #0082c9;
  }
  main.top .about .detail h3 {
    margin: 0 -30px 30px;
    padding: 10px 20px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    background: #0082c9;
  }
  main.top .about .detail .cols3 {
    gap: 20px 35px;
  }
  main.top .about .detail .btn_blue {
    width: 100%;
  }
  main.top .usecases .usecase_links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-bottom: 50px;
  }
  main.top .usecases .usecase_links li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 2;
    border-top: 1px solid #0082c9;
    border-bottom: 1px solid #0082c9;
  }
  main.top .usecases .usecase_links li a::after {
    flex: 0 0 auto;
    width: 20px;
    aspect-ratio: 20/20;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    content: "";
    transform: rotate(90deg);
  }
  main.top .usecases .usecase_links li a:hover {
    color: #0082c9;
  }
  main.top .blog .news_list,
  main.top .news .news_list {
    margin-bottom: 50px;
  }
  main.sub .product .cols3 {
    gap: 20px 65px;
  }
  main.sub .product .btn {
    width: 100%;
  }
  main.sub .feature_2 .imgleft {
    margin-bottom: 50px;
  }
  main.sub .feature_2 .imgleft img {
    width: 500px;
  }
  main.sub .feature_2 .check_list {
    padding: 50px;
    gap: 0;
  }
  main.sub .feature_2 .about .imgleft img {
    width: 680px;
  }
  main.sub .feature .demo ul {
    display: grid;
    gap: 30px 0;
  }
  main.sub .feature .demo img {
    width: 370px;
    border-radius: 10px;
  }
  main.sub .feature .reason ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 65px;
  }
  main.sub .feature .reason li {
    padding: 20px;
    background: #eef9ff;
    border: 3px solid #0082c9;
    border-radius: 10px;
  }
  main.sub .feature .reason .blue_title {
    margin-bottom: 20px;
  }
  main.sub .feature .function .cards {
    margin-bottom: 100px;
  }
  main.sub .feature .function .btn_blue {
    width: 350px;
  }
  main.sub .comparison {
    margin-bottom: 100px;
  }
  main.sub .comparison .js-scrollable:last-of-type {
    margin-bottom: 30px !important;
  }
  main.sub .comparison .js-scrollable th:nth-child(1),
  main.sub .comparison .js-scrollable td:nth-child(1) {
    width: 500px !important;
    font-size: 1.25rem;
  }
  main.sub .comparison .js-scrollable th:nth-child(2),
  main.sub .comparison .js-scrollable td:nth-child(2) {
    width: 280px !important;
  }
  main.sub .comparison .js-scrollable th:nth-child(3),
  main.sub .comparison .js-scrollable td:nth-child(3),
  main.sub .comparison .js-scrollable th:nth-child(4),
  main.sub .comparison .js-scrollable td:nth-child(4) {
    width: 200px !important;
  }
  main.sub .comparison .js-scrollable .row-1 .column-1 {
    background: #c6ebff !important;
  }
  main.sub .comparison .js-scrollable .column-2,
  main.sub .comparison .js-scrollable .column-3,
  main.sub .comparison .js-scrollable .column-4 {
    text-align: center !important;
  }
  main.sub .comparison .js-scrollable th.column-2 {
    color: #0082c9 !important;
  }
  main.sub .architecture img {
    max-width: 550px;
    margin: 0 auto 50px;
  }
  main.sub .requirements .js-scrollable th:first-child,
  main.sub .requirements .js-scrollable td:first-child {
    width: 250px;
    font-size: 1.25rem;
  }
  main.sub .requirements .btnarea {
    margin: 100px auto 0;
  }
  main.sub .requirements .btnarea .btn_blue {
    width: 350px;
  }
  main.sub .versionlog .js-scrollable th:nth-child(1),
  main.sub .versionlog .js-scrollable th:nth-child(2),
  main.sub .versionlog .js-scrollable td:nth-child(1),
  main.sub .versionlog .js-scrollable td:nth-child(2) {
    width: 200px;
    font-size: 1.25rem;
  }
  main.sub .versionlog .btnarea {
    margin: 100px auto 0;
  }
  main.sub .versionlog .btnarea .btn_blue {
    width: 350px;
  }
  main.sub .end_of_life .js-scrollable table {
    font-size: 1.25rem;
  }
  main.sub .end_of_life .js-scrollable th {
    width: 390px;
  }
  main.sub .api > .inner {
    margin-bottom: 100px;
  }
  main.sub .api .js-scrollable th:nth-child(1) {
    width: 270px;
  }
  main.sub .api .js-scrollable th:nth-child(2) {
    width: 200px;
  }
  main.sub .api .js-scrollable th:nth-child(3) {
    width: 310px;
  }
  main.sub .nextcloud_desktop_client .gallery {
    display: grid;
    grid-template-columns: repeat(4, 250px);
    gap: 60px;
    margin-bottom: 50px;
  }
  main.sub .nextcloud_desktop_client .gallery img {
    aspect-ratio: 250/300;
    border: 1px solid #ecf8ff;
  }
  main.sub .nextcloud_desktop_client .blue_title {
    margin-bottom: 50px;
    font-size: 2rem;
    line-height: 1.47;
    text-align: center;
    white-space: nowrap;
  }
  main.sub .nextcloud_desktop_client .btnarea {
    margin-bottom: 50px;
  }
  main.sub .nextcloud_desktop_client .btnarea .btn_blue {
    width: 350px;
  }
  main.sub .nextcloud_desktop_client .txt {
    line-height: 1.5;
    margin-bottom: 50px;
  }
  main.sub .nextcloud_desktop_client .media {
    max-width: 741px;
    aspect-ratio: 741/363;
    border: 1px solid #ecf8ff;
    margin: 0 auto 30px;
  }
  main.sub .nextcloud_desktop_client .check_list {
    padding: 50px;
    gap: 0;
  }
  main.sub .nextcloud_mobile_client p {
    line-height: 1.5;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft {
    margin-bottom: 30px;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft > img {
    width: 400px;
    aspect-ratio: 4/3;
    object-fit: contain;
    border: 1px solid #ecf8ff;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft .blue_title {
    font-size: 2rem;
    line-height: 1.45;
    margin-bottom: 50px;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft ul {
    display: flex;
    gap: 50px;
    align-items: center;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft ul img {
    width: 200px;
  }
  main.sub .nextcloud_mobile_client .app .inner > .blue_title {
    margin-bottom: 20px;
  }
  main.sub .nextcloud_mobile_client .ios_slider,
  main.sub .nextcloud_mobile_client .android_slider {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_swiper,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_swiper {
    max-width: 1110px;
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
  }
  main.sub .nextcloud_mobile_client .ios_slider .swiper-slide,
  main.sub .nextcloud_mobile_client .android_slider .swiper-slide {
    border: 1px solid #ecf8ff;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0082c9;
    cursor: pointer;
    transform: translateY(-50%);
    transition: opacity 0.3s ease;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_arrow::before,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_arrow::before {
    width: 15px;
    height: 15px;
    border-right: 2px solid currentcolor;
    border-bottom: 2px solid currentcolor;
    content: "";
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_arrow:hover,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_arrow:hover {
    opacity: 0.7;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_prev,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_prev {
    left: 3px;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_prev::before,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_prev::before {
    transform: rotate(135deg);
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_next,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_next {
    right: 3px;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_next::before,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_next::before {
    transform: rotate(-45deg);
  }
  main.sub .nextcloud_mobile_client .ios_slider.is_single .media_slider_swiper,
  main.sub .nextcloud_mobile_client .android_slider.is_single .media_slider_swiper {
    width: calc((100% - 100px) / 3);
    margin-right: auto;
    margin-left: auto;
  }
  main.sub .nextcloud_mobile_client .ios_slider.is_single .media_slider_arrow, main.sub .nextcloud_mobile_client .ios_slider.is_two .media_slider_arrow, main.sub .nextcloud_mobile_client .ios_slider.is_empty .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider.is_single .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider.is_two .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider.is_empty .media_slider_arrow {
    display: none;
  }
  main.sub .nextcloud_mobile_client .txt {
    margin-bottom: 50px;
  }
  main.sub .nextcloud_mobile_client .check_list {
    padding: 50px;
    gap: 0;
  }
  main.sub .onlyoffice .imgleft:not(:last-child),
  main.sub .onlyoffice .imgright:not(:last-child) {
    margin-bottom: 50px;
  }
  main.sub .onlyoffice .imgleft img,
  main.sub .onlyoffice .imgright img {
    width: 400px;
    border: 1px solid #ecf8ff;
  }
  main.sub .onlyoffice .imgleft .blue_title,
  main.sub .onlyoffice .imgright .blue_title {
    font-size: 2rem;
    line-height: 1.5;
  }
  main.sub .onlyoffice .about .blue_title {
    font-size: 2rem;
    line-height: 1.5;
  }
  main.sub .onlyoffice p {
    line-height: 1.5;
  }
  main.sub .onlyoffice .txt:not(:last-child) {
    margin-bottom: 50px;
  }
  main.sub .service {
    margin-bottom: 100px;
  }
  main.sub .system_deployment {
    margin-bottom: 100px;
  }
  main.sub .system_deployment .inner > .blue_title {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  main.sub .system_deployment .txt:not(:last-child),
  main.sub .system_deployment .note:not(:last-child) {
    margin-bottom: 50px;
  }
  main.sub .system_deployment .js-scrollable:not(:last-child) {
    margin-bottom: 50px !important;
  }
  main.sub .system_deployment .js-scrollable img {
    margin-bottom: 30px;
  }
  main.sub .system_deployment .js-scrollable p {
    margin: 10px 0;
  }
  main.sub .system_deployment .js-scrollable.server td:first-child img {
    width: 420px;
  }
  main.sub .system_deployment .js-scrollable.server td:last-child img {
    width: 660px;
  }
  main.sub .system_deployment .js-scrollable.example {
    margin-bottom: 30px !important;
  }
  main.sub .system_deployment .js-scrollable.example th:first-child {
    width: 270px;
  }
  main.sub .system_deployment .js-scrollable.example th:last-child {
    width: 200px;
  }
  main.sub .system_deployment .js-scrollable.role th:first-child {
    width: 270px;
  }
  main.sub .system_deployment .js-scrollable.role th:nth-child(3) {
    width: 100px;
  }
  main.sub .system_deployment .js-scrollable.role th:last-child {
    width: 160px;
  }
  main.sub .system_deployment .js-scrollable.role td:nth-child(3), main.sub .system_deployment .js-scrollable.role td:last-child {
    text-align: center;
  }
  main.sub .system_deployment .js-scrollable.role td .center {
    text-align: center;
    display: block;
  }
  main.sub .system_deployment .btnarea:not(:last-child) {
    margin-bottom: 50px;
  }
  main.sub .system_deployment .btnarea .btn_blue {
    width: 350px;
  }
  main.sub .our_supports {
    margin-bottom: 100px;
  }
  main.sub .our_supports .txt {
    line-height: 1.5;
  }
  main.sub .our_supports .txt:not(:last-child) {
    margin-bottom: 50px;
  }
  main.sub .our_supports .blue_title {
    font-size: 1.5rem;
  }
  main.sub .support_difference {
    margin-bottom: 100px;
  }
  main.sub .support_difference .blue_title {
    font-size: 1.5rem;
  }
  main.sub .support_difference .js-scrollable {
    margin-bottom: 30px !important;
  }
  main.sub .support_difference .js-scrollable th:nth-child(2), main.sub .support_difference .js-scrollable th:last-child {
    width: 460px;
  }
  main.sub .enterprise,
  main.sub .community {
    margin-bottom: 100px;
  }
  main.sub .enterprise .blue_title,
  main.sub .community .blue_title {
    font-size: 1.5rem;
  }
  main.sub .enterprise .txt,
  main.sub .enterprise .note,
  main.sub .community .txt,
  main.sub .community .note {
    margin-bottom: 50px;
  }
  main.sub .enterprise .js-scrollable:not(:last-child),
  main.sub .community .js-scrollable:not(:last-child) {
    margin-bottom: 50px !important;
  }
  main.sub .enterprise .js-scrollable.subsc th:first-child,
  main.sub .community .js-scrollable.subsc th:first-child {
    width: 260px;
  }
  main.sub .enterprise .js-scrollable.subsc th:nth-child(2),
  main.sub .community .js-scrollable.subsc th:nth-child(2) {
    width: 200px;
  }
  main.sub .enterprise .js-scrollable.type th:first-child,
  main.sub .community .js-scrollable.type th:first-child {
    width: 260px;
  }
  main.sub .enterprise .js-scrollable.user,
  main.sub .community .js-scrollable.user {
    margin-bottom: 30px !important;
  }
  main.sub .enterprise .js-scrollable.user th:first-child,
  main.sub .community .js-scrollable.user th:first-child {
    width: 260px;
  }
  main.sub .enterprise .js-scrollable.user th:nth-child(2),
  main.sub .community .js-scrollable.user th:nth-child(2) {
    width: 220px;
  }
  main.sub .enterprise .js-scrollable.plan th:nth-child(2),
  main.sub .enterprise .js-scrollable.plan th:nth-child(3),
  main.sub .enterprise .js-scrollable.plan th:nth-child(4),
  main.sub .enterprise .js-scrollable.plan td:nth-child(2),
  main.sub .enterprise .js-scrollable.plan td:nth-child(3),
  main.sub .enterprise .js-scrollable.plan td:nth-child(4),
  main.sub .community .js-scrollable.plan th:nth-child(2),
  main.sub .community .js-scrollable.plan th:nth-child(3),
  main.sub .community .js-scrollable.plan th:nth-child(4),
  main.sub .community .js-scrollable.plan td:nth-child(2),
  main.sub .community .js-scrollable.plan td:nth-child(3),
  main.sub .community .js-scrollable.plan td:nth-child(4) {
    text-align: center !important;
  }
  main.sub .enterprise .js-scrollable.plan .row-11 td,
  main.sub .enterprise .js-scrollable.plan .row-15 td,
  main.sub .community .js-scrollable.plan .row-11 td,
  main.sub .community .js-scrollable.plan .row-15 td {
    font-size: 1.25rem;
    font-weight: bold;
    background: #c6ebff !important;
  }
  main.sub .enterprise .js-scrollable.option th:first-child,
  main.sub .community .js-scrollable.option th:first-child {
    width: 350px;
  }
  main.sub .enterprise .js-scrollable.menu:not(:last-child),
  main.sub .community .js-scrollable.menu:not(:last-child) {
    margin-bottom: 30px !important;
  }
  main.sub .enterprise .js-scrollable.menu th,
  main.sub .community .js-scrollable.menu th {
    line-height: 1.1;
  }
  main.sub .enterprise .js-scrollable.menu th:first-child,
  main.sub .community .js-scrollable.menu th:first-child {
    width: 660px;
  }
  main.sub .enterprise .js-scrollable.menu td:nth-child(2),
  main.sub .enterprise .js-scrollable.menu td:nth-child(3),
  main.sub .community .js-scrollable.menu td:nth-child(2),
  main.sub .community .js-scrollable.menu td:nth-child(3) {
    text-align: center;
  }
  main.sub .enterprise .check_list,
  main.sub .community .check_list {
    padding: 50px;
    gap: 0;
  }
  main.sub .supports_application {
    margin-bottom: 100px;
  }
  main.sub .supports_application .dt-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 15px;
    margin-bottom: 30px;
    font-size: 1.25rem;
  }
  main.sub .supports_application .dt-search input {
    width: 200px;
    aspect-ratio: 200/50;
    padding: 5px 10px;
    border: 1px solid #c6ebff;
  }
  main.sub .supports_application .js-scrollable:not(:last-child),
  main.sub .supports_application .txt:not(:last-child) {
    margin-bottom: 50px !important;
  }
  main.sub .supports_application .js-scrollable.subsc th:first-child,
  main.sub .supports_application .txt.subsc th:first-child {
    width: 350px;
  }
  main.sub .single_usecase .sec_blc:not(:last-child) {
    margin-bottom: 100px;
  }
  main.sub .single_usecase .sec_blc > img {
    margin: 0 auto 50px;
  }
  main.sub .single_usecase .sec_blc .btnarea {
    margin: 50px auto 0;
  }
  main.sub .single_usecase .sec_blc .btn_blue {
    width: 350px;
  }
  main.sub .case .service_list li,
  main.sub .case_single .service_list li {
    position: relative;
    padding: 25px 30px;
  }
  main.sub .case .service_list .imgleft,
  main.sub .case_single .service_list .imgleft {
    align-items: flex-start;
    gap: 30px;
  }
  main.sub .case .service_list .imgleft img,
  main.sub .case_single .service_list .imgleft img {
    width: 300px;
  }
  main.sub .case .service_list .btn_blue,
  main.sub .case_single .service_list .btn_blue {
    position: absolute;
    bottom: 0;
    right: 30px;
  }
  main.sub .case .case_img,
  main.sub .case_single .case_img {
    border: 1px solid #ecf8ff;
    margin-bottom: 30px;
  }
  main.sub .case_single {
    margin-bottom: 100px;
  }
  main.sub .news_catlist {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
    width: 1120px;
    margin: 0 auto 50px;
  }
  main.sub .news_catlist .btn,
  main.sub .news_catlist .btn_blue {
    width: 100%;
    font-size: 1.25rem;
    padding: 14px 5px;
  }
  main.sub .single .content .dec {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 20px;
  }
  main.sub .single .content h2,
  main.sub .single .content h3,
  main.sub .single .content h4,
  main.sub .single .content h5,
  main.sub .single .content h6 {
    margin-top: 20px;
  }
  main.sub .single .content h5 {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  main.sub .single .content img,
  main.sub .single .content .wp-video {
    display: block;
    margin: 0 auto 30px;
  }
  main.sub .single .content iframe {
    width: 100%;
    display: block;
    margin: 0 auto 30px;
    height: auto;
    aspect-ratio: 16/9;
  }
  main.sub .single .content ul:not([class]),
  main.sub .single .content ul.wp-block-list {
    list-style-type: disc;
    margin: 0 0 30px 30px;
  }
  main.sub .single .content ul:not([class]) a,
  main.sub .single .content ul.wp-block-list a {
    color: #0082c9;
  }
  main.sub .single .content ul:not([class]) a:hover,
  main.sub .single .content ul.wp-block-list a:hover {
    text-decoration: underline;
  }
  main.sub .single .content ol {
    list-style-type: decimal;
    margin: 0 0 30px 30px;
  }
  main.sub .single .content ol a {
    color: #0082c9;
  }
  main.sub .single .content ol a:hover {
    text-decoration: underline;
  }
  main.sub .single .content .wp-block-separator {
    border-top: 2px solid;
    margin-bottom: 20px;
  }
  main.sub .single .content table {
    margin-bottom: 30px;
  }
  main.sub .single .content blockquote {
    padding: 20px;
    position: relative;
    background: #ecf8ff;
    margin-bottom: 30px;
  }
  main.sub .single .content dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
    margin-bottom: 30px;
  }
  main.sub .single .content dl dt {
    background: #c6ebff;
    padding: 20px;
    width: 30%;
    vertical-align: middle;
    font-weight: bold;
    border: 1px solid #fff;
  }
  main.sub .single .content dl dd {
    width: 70%;
    background: #ecf8ff;
    padding: 20px;
    vertical-align: middle;
    border: 1px solid #fff;
  }
  main.sub .single .content pre {
    display: block;
    font-family: Consolas, Lucida Console, monospace;
    font-size: 0.8rem;
    line-height: 20px;
    padding: 10px 15px;
    width: 100%;
    background-color: #faf6e1;
    margin-bottom: 30px;
  }
  main.sub .single .content code {
    display: inline-block;
    vertical-align: top;
    font-family: Consolas, Lucida Console, monospace;
    padding: 0 5px;
    background-color: #faf6e1;
  }
  main.sub .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 100px;
    font-size: 1.25rem;
  }
  main.sub .pagination span {
    width: 50px;
    height: 60px;
    margin: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0082c9;
    font-weight: bold;
    text-align: center;
    border: 1px solid #0082c9;
    border-radius: 5px;
    background: #0082c9;
    color: #fff;
  }
  main.sub .pagination a {
    width: 50px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0082c9;
    margin: 0 15px;
    font-weight: bold;
    text-align: center;
    border: 1px solid #0082c9;
    border-radius: 5px;
  }
  main.sub .pagination a:hover {
    background: #0082c9;
    color: #fff;
  }
  main.sub .pagenavi {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
  }
  main.sub .pagenavi li {
    display: flex;
  }
  main.sub .pagenavi li:only-child {
    grid-column: 1/-1;
    justify-content: center;
  }
  main.sub .pagenavi li.prev {
    justify-content: flex-start;
  }
  main.sub .pagenavi li.next {
    justify-content: flex-end;
  }
  main.sub .pagenavi .btn {
    width: 200px;
    font-size: 1.25rem;
  }
  main.sub .contact,
  main.sub .catalog_download {
    margin-bottom: 100px;
  }
  main.sub .contact .blue_title.center,
  main.sub .catalog_download .blue_title.center {
    font-size: 2rem;
  }
  main.sub .contact .media,
  main.sub .catalog_download .media {
    border: 5px solid #80d2ff;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 50px;
  }
  main.sub .contact .media img,
  main.sub .catalog_download .media img {
    width: 750px;
    margin: 0 auto;
  }
  main.sub .contact .numb_list,
  main.sub .catalog_download .numb_list {
    max-width: 960px;
    margin: 0 auto 50px;
    grid-template-rows: repeat(3, 70px);
  }
  main.sub .contact strong,
  main.sub .catalog_download strong {
    display: block;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
  }
  main.sub .whitepaper .txt {
    margin-bottom: 50px;
  }
  main.sub .whitepaper .bb_title {
    font-size: 1.5rem;
    padding: 0 0 30px;
    margin-bottom: 0;
  }
  main.sub .whitepaper ul:not(:last-child) {
    margin-bottom: 50px;
  }
  main.sub .whitepaper ul li {
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: 30px;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #0082c9;
    font-weight: bold;
    font-size: 1.25rem;
  }
  main.sub .whitepaper ul li h3 a {
    display: block;
  }
  main.sub .whitepaper ul li h3 a:hover {
    color: #0082c9;
  }
  main.sub .whitepaper ul .btn_blue {
    width: 200px;
    font-size: 1.25rem;
    padding: 14px;
  }
  main.sub .nextcloudblog #latest-posts,
  main.sub .nextcloudblog #notice-posts {
    margin-bottom: 100px;
  }
  main.sub .nextcloudblog .load_more {
    width: 100%;
    margin: 20px auto 0;
  }
  main.sub .nextcloudblog [data-news-load-area][hidden],
  main.sub .nextcloudblog [data-news-empty][hidden] {
    display: none !important;
  }
  footer {
    position: relative;
  }
  footer .f_contact {
    padding: 50px 0 55px;
    color: #fff;
    background: #0082c9;
  }
  footer .f_contact h2 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
    margin-bottom: 50px;
  }
  footer .f_contact ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  footer .f_contact ul li {
    padding: 30px 50px;
    color: #000;
    text-align: center;
    background: #fff;
    border-radius: 5px;
  }
  footer .f_contact ul li h3 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 20px;
  }
  footer .f_contact ul li p {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  footer .f_contact ul li .btn_blue {
    width: 100%;
  }
  footer .partners {
    padding: 50px 0 100px;
  }
  footer .partners ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 45px;
  }
  footer .partners ul li {
    display: grid;
    place-items: center;
    padding: 10px;
    background: #fff;
    border: 1px solid #a3a3a3;
    border-radius: 10px;
  }
  footer .partners ul li:last-child img {
    max-width: 120px;
  }
  footer .partners ul li img {
    width: 100%;
    object-fit: contain;
  }
  footer .f_btm {
    padding: 20px 0;
    color: #fff;
    background: #0082c9;
  }
  footer .f_btm .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
  }
  footer .f_btm .inner .f_logo a {
    display: grid;
    place-items: center;
    width: 200px;
    aspect-ratio: 200/100;
    padding: 10px;
    background: #fff;
    border-radius: 5px;
  }
  footer .f_btm .inner .f_logo a img {
    width: 135px;
    aspect-ratio: 135/84;
    object-fit: contain;
  }
  footer .f_btm .inner .f_meta {
    line-height: 2.5;
    text-align: right;
  }
  footer .f_btm .inner .f_meta ul {
    display: flex;
    align-items: center;
  }
  footer .f_btm .inner .f_meta ul li {
    position: relative;
  }
  footer .f_btm .inner .f_meta ul li:not(:last-child) {
    margin-right: 20px;
  }
  footer .f_btm .inner .f_meta ul li:not(:last-child):after {
    position: absolute;
    content: "|";
    top: -1px;
    right: -12px;
  }
  footer .f_btm .inner .f_meta ul a {
    display: block;
  }
  footer .f_btm .inner .f_meta ul a:hover {
    color: #80d2ff;
  }
  footer .pagetop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 15;
    width: 50px;
    aspect-ratio: 50/50;
    background: #0082c9;
    border-radius: 50%;
    cursor: pointer;
    transform: translateY(10px);
    transition: 0.7s;
  }
  footer .pagetop::after {
    position: absolute;
    inset: 14px 0 auto;
    width: 20px;
    aspect-ratio: 20/20;
    margin: auto;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    filter: brightness(0) invert(1);
    content: "";
  }
  footer .pagetop:hover {
    background: #80d2ff;
  }
  .smonly {
    display: none;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 87.5%;
    scroll-behavior: smooth;
  }
  body {
    width: 100%;
    min-width: 320px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
  }
  body.is_menu_open {
    overflow: hidden;
  }
  body .inner {
    padding: 0 20px;
  }
  body .sec {
    position: relative;
    padding: 40px 0;
  }
  body .bg_pale_blue {
    background: #eef9ff;
  }
  body .center {
    text-align: center;
  }
  body .center_mt40 {
    text-align: center;
  }
  body p:not(:last-child) {
    margin-bottom: 20px;
  }
  body p a {
    color: #0082c9;
  }
  body .btn,
  body .btn_blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 15px 5px;
    color: #0082c9;
    font-weight: bold;
    line-height: 1;
    background: #fff;
    border: 1px solid #0082c9;
    border-radius: 5px;
  }
  body .btn_blue {
    color: #fff;
    background: #0082c9;
  }
  body .btnarea {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }
  body .btnarea li {
    width: 100%;
  }
  body .sec_title {
    margin-bottom: 40px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
  }
  body .sec_title::after {
    display: block;
    width: 50px;
    aspect-ratio: 50/3;
    margin-inline: auto;
    background: #0082c9;
    content: "";
    transform: translateY(10px);
  }
  body .bar_title,
  body .single .content h2 {
    position: relative;
    margin-bottom: 20px;
    padding: 5px 10px;
    overflow: hidden;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    background: linear-gradient(70deg, #0082c9 0 50%, #80d2ff 50.2% 100%);
  }
  body .blue_title,
  body .single .content h4 {
    color: #0082c9;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 20px;
  }
  body .btb_title {
    color: #0082c9;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4;
    border-top: 1px solid #0082c9;
    border-bottom: 1px solid #0082c9;
    padding: 10px;
    margin-bottom: 20px;
  }
  body .bb_title,
  body .single h1 {
    color: #0082c9;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    border-bottom: 1px solid #0082c9;
    padding: 10px 0;
    margin-bottom: 20px;
  }
  body .bl_title,
  body .single .content h3 {
    color: #0082c9;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.4;
    border-left: 4px solid #0082c9;
    padding: 5px 5px 5px 15px;
    margin-bottom: 20px;
  }
  body .txt {
    line-height: 1.85;
  }
  body .txt:not(:last-child) {
    margin-bottom: 30px;
  }
  body .note {
    font-size: 0.8rem;
  }
  body .cols2,
  body .cols3,
  body .cols5 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  body img.media {
    display: block;
    width: auto;
    max-width: 100%;
  }
  body .check_fill,
  body .check_list {
    display: grid;
    gap: 12px;
  }
  body .check_fill li,
  body .check_list li {
    position: relative;
    padding-left: 30px;
  }
  body .check_fill li::before,
  body .check_list li::before {
    position: absolute;
    top: 3px;
    left: 0;
    width: 20px;
    aspect-ratio: 20/20;
    background: center/contain no-repeat url("./images/common/icon_check.svg");
    content: "";
  }
  body .check_fill li::before {
    background-image: url("./images/common/icon_check_circle.svg");
    background-size: 20px 20px;
  }
  body .check_list:not(:last-child) {
    margin-bottom: 20px;
  }
  body .check_panel {
    overflow: hidden;
    border: 1px solid #0082c9;
    border-radius: 10px;
  }
  body .check_panel .panel_title {
    padding: 10px 15px;
    color: #fff;
    font-size: 1.1429rem;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
    background: #0082c9;
  }
  body .check_panel .check_fill {
    display: grid;
    gap: 10px;
    padding: 20px;
  }
  body .check_panel .check_fill li {
    position: relative;
    padding-left: 30px;
    line-height: 1.7;
  }
  body .service_list {
    display: grid;
    gap: 20px;
  }
  body .service_list li {
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 20px 20px 0;
    overflow: hidden;
    background: #eef9ff;
    border: 2px solid #0082c9;
    border-radius: 10px;
  }
  body .service_list li .btn_blue {
    justify-self: end;
    width: 150px;
    min-width: 0;
    margin-right: -20px;
    border-radius: 10px 0 6px 0;
  }
  body .news_list {
    border-top: 1px solid #0082c9;
  }
  body .news_list > li {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #0082c9;
  }
  body .news_list > li .dec {
    display: grid;
    grid-template-columns: 80px calc(100% - 90px) 1fr;
    align-items: center;
    gap: 10px;
  }
  body .news_list > li .news_title a {
    display: block;
  }
  body .cat_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  body .cat {
    display: block;
    padding: 0 5px;
    color: #0082c9;
    border: 1px solid #0082c9;
    font-size: 0.8rem;
  }
  body .form {
    max-width: 100%;
    margin-inline: auto;
  }
  body .form .txt a {
    color: #0082c9;
  }
  body .form ul {
    margin-bottom: 30px;
  }
  body .form ul li:not(:last-child) {
    margin-bottom: 20px;
  }
  body .form ul .title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-weight: bold;
  }
  body .form ul .title span {
    display: block;
    width: 50px;
    text-align: center;
    color: #fff;
    font-size: 0.8rem;
    border-radius: 3px;
    background: #c33535;
  }
  body .form ul .title span.gray {
    background: #a0a0a0;
  }
  body .form ul .title small {
    font-weight: 500;
    font-size: 0.7rem;
  }
  body .form ul .wpcf7-form-control.wpcf7-acceptance {
    font-size: 1rem;
  }
  body .form input[type=text],
  body .form input[type=email],
  body .form input[type=tel],
  body .form select,
  body .form textarea {
    width: 100%;
    height: 50px;
    padding: 10px;
    font-size: 1rem;
    background: #fff;
    border: 1px solid #c6ebff;
    border-radius: 5px;
    outline: none;
  }
  body .form textarea {
    height: 100px;
    resize: vertical;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox span.wpcf7-list-item {
    position: relative;
    width: 100%;
    margin: 0;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label {
    cursor: pointer;
    display: block;
    margin-bottom: 20px;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox input[type=checkbox] {
    position: absolute;
    opacity: 0;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item-label:before {
    content: "";
    border: 1px solid #c6ebff;
    border-radius: 5px;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    top: 0;
    margin-right: 10px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }
  body .form .wpcf7-form-control.wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 5px;
    width: 20px;
    height: 10px;
    border-left: 3px solid #0082c9;
    border-bottom: 3px solid #0082c9;
    transform: rotate(-45deg);
  }
  body .form .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item {
    position: relative;
    width: 100%;
    margin: 0;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label {
    cursor: pointer;
    position: relative;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance input[type=checkbox] {
    position: absolute;
    opacity: 0;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label:before {
    content: "";
    background: #fff;
    border: 1px solid #c6ebff;
    border-radius: 5px;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    top: -1px;
    margin-right: 10px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
  }
  body .form .wpcf7-form-control.wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 5px;
    width: 20px;
    height: 10px;
    border-left: 3px solid #0082c9;
    border-bottom: 3px solid #0082c9;
    transform: rotate(-45deg);
  }
  body .form .agree {
    font-family: "Noto Sans JP", sans-serif;
    margin-bottom: 30px;
    font-size: 0.85rem;
  }
  body .form input[type=submit],
  body .form input[type=button],
  body .form button {
    display: block;
    cursor: pointer;
    width: 100%;
    margin: 0 auto;
  }
  body .form input[type=submit]:not(:last-child),
  body .form input[type=button]:not(:last-child),
  body .form button:not(:last-child) {
    margin: 30px auto 0;
  }
  body .imgleft,
  body .imgright {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  body .imgleft > img,
  body .imgright > img {
    display: block;
    width: 100%;
  }
  body .imgleft > div,
  body .imgright > div {
    width: 100%;
  }
  body .js-scrollable:not(:last-child) {
    margin-bottom: 20px !important;
  }
  body .js-scrollable .scroll-hint-icon {
    padding: 5px;
    height: 70px;
    top: calc(50% - 35px);
  }
  body .tablepress {
    margin: 0 !important;
  }
  body table {
    min-width: 600px !important;
    width: 100%;
    font-size: 0.8rem !important;
  }
  body table th,
  body table td {
    padding: 5px !important;
    line-height: 1.6 !important;
    vertical-align: middle !important;
    background: #ecf8ff !important;
    border: 1px solid #fff !important;
    height: 40px !important;
  }
  body table th {
    font-weight: bold !important;
    background: #c6ebff !important;
    font-size: 1rem !important;
    text-align: left !important;
  }
  body table .blue {
    color: #0082c9;
  }
  body table .center {
    text-align: center;
  }
  body table .f_mdl {
    font-size: 1rem;
  }
  body table a {
    color: #0082c9 !important;
    text-decoration: underline;
  }
  body .cards {
    display: grid;
    gap: 20px;
  }
  body .cards li {
    padding: 20px;
    background: #eef9ff;
    border: 3px solid #0082c9;
    border-radius: 10px;
  }
  body .usecase_list {
    border-top: 1px solid #0082c9;
  }
  body .usecase_list li {
    border-bottom: 1px solid #0082c9;
  }
  body .usecase_list a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px 35px 10px 5px;
    font-weight: bold;
  }
  body .usecase_list a::after {
    position: absolute;
    top: calc(50% - 6px);
    right: 5px;
    width: 12px;
    aspect-ratio: 12/12;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    content: "";
    transform: rotate(90deg);
  }
  body .numb_list {
    display: grid;
    gap: 20px;
    counter-reset: case_point;
  }
  body .numb_list li {
    position: relative;
    padding-left: 50px;
    color: #0082c9;
    font-weight: bold;
    counter-increment: case_point;
  }
  body .numb_list li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 40px;
    aspect-ratio: 40/40;
    border: 2px solid #0082c9;
    border-radius: 50%;
    content: counter(case_point);
  }
  header {
    padding-top: 74px;
    background: #fff;
    border-bottom: 1px solid rgba(0, 130, 201, 0.08);
  }
  header .h_blc {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    padding: 5px 10px;
    background: #fff;
    min-height: 74px;
  }
  header .h_blc .logo {
    width: 90px;
    margin-bottom: 0;
  }
  header .h_blc .logo a,
  header .h_blc .logo img {
    display: block;
    width: 100%;
  }
  header .h_blc .menu_btn {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 22;
    display: block;
    width: 45px;
    aspect-ratio: 45/45;
    color: #0082c9;
    border: 1px solid #0082c9;
    border-radius: 5px;
    cursor: pointer;
  }
  header .h_blc .menu_btn span, header .h_blc .menu_btn::before, header .h_blc .menu_btn::after {
    position: absolute;
    left: 11px;
    width: 22px;
    aspect-ratio: 22/2;
    background: currentColor;
    content: "";
    transition: 0.2s;
  }
  header .h_blc .menu_btn::before {
    top: 13px;
  }
  header .h_blc .menu_btn span {
    top: 21px;
  }
  header .h_blc .menu_btn::after {
    top: 29px;
  }
  .is_menu_open header .h_blc .menu_btn::before {
    top: 21px;
    transform: rotate(45deg);
  }
  .is_menu_open header .h_blc .menu_btn span {
    opacity: 0;
  }
  .is_menu_open header .h_blc .menu_btn::after {
    top: 21px;
    transform: rotate(-45deg);
  }
  header .h_blc .menu_content {
    position: fixed;
    inset: 74px 0 0;
    padding: 20px;
    overflow: auto;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: 0.5s ease;
  }
  .is_menu_open header .h_blc .menu_content {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  header .h_blc .menu_content nav .nav {
    margin-bottom: 20px;
  }
  header .h_blc .menu_content nav .nav > li {
    border-bottom: 1px solid #d9d9d9;
  }
  header .h_blc .menu_content nav .nav > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 10px 30px 10px 0;
    color: #0082c9;
    font-size: 1.2rem;
    font-weight: bold;
  }
  header .h_blc .menu_content nav .nav .sub_menu {
    display: none;
    overflow: hidden;
    transition: 0.5s;
  }
  header .h_blc .menu_content nav .nav .sub_menu a {
    display: block;
    position: relative;
    padding: 10px 30px 10px 10px;
    background: #eef9ff;
    color: #0082c9;
    font-weight: bold;
  }
  header .h_blc .menu_content nav .nav .sub_menu .sub_menu a {
    padding: 10px 30px 10px 20px;
    border-top: 1px solid #d9d9d9;
  }
  header .h_blc .menu_content nav .nav li > a[aria-haspopup=true]::after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 16px;
    aspect-ratio: 16/16;
    background: center/contain no-repeat url("./images/common/icon_chevron.svg");
    content: "";
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.25s ease;
  }
  header .h_blc .menu_content nav .nav li.is_accordion_open > a[aria-haspopup=true]::after {
    transform: translateY(-50%) rotate(-90deg);
  }
  header .h_blc .menu_content nav .h_cta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  header .fv {
    position: relative;
    padding: 40px 0;
    overflow: hidden;
    background: #fff;
  }
  header .fv::after {
    position: absolute;
    right: 0;
    top: 0px;
    width: 100%;
    aspect-ratio: 1.5/1;
    background: #0082c9;
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
  }
  header .fv .inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column-reverse;
  }
  header .fv .inner .fv_txt {
    padding-top: 30px;
  }
  header .fv .inner .fv_txt h1 {
    display: block;
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 20px;
  }
  header .fv .inner .fv_txt p {
    margin-bottom: 30px;
  }
  header .fv .inner .fv_txt .check_fill {
    gap: 16px;
    margin-bottom: 32px;
    font-size: 0.9286rem;
  }
  header .fv .inner .fv_txt .fv_btn {
    display: flex;
    gap: 10px;
  }
  header .fv .inner .fv_txt .fv_btn li {
    flex: 1;
  }
  header .fv .inner .fv_img {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-bottom: -25px;
    object-fit: contain;
  }
  header .fv_sub {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    color: #fff;
    background: #0082c9;
  }
  header .fv_sub::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
    background-size: 40px 40px;
    content: "";
  }
  header .fv_sub .fv_txt {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
  }
  header .fv_sub .fv_txt .page_title {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    margin-bottom: 10px;
  }
  header .fv_sub .fv_txt .page_title::after {
    display: block;
    width: 50px;
    aspect-ratio: 50/3;
    margin-inline: auto;
    background: #fff;
    content: "";
    transform: translateY(10px);
  }
  header .fv_sub .fv_txt .breadcrumbs {
    position: absolute;
    bottom: 10px;
    left: 10px;
    max-width: 95%;
    font-size: 0.7rem;
  }
  main {
    overflow-x: hidden;
  }
  main.top .partner {
    position: relative;
    padding: 40px 0;
    color: #fff;
    background: #0082c9;
  }
  main.top .partner::before {
    position: absolute;
    z-index: 0;
    opacity: 1;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px);
    background-size: 30px 30px;
    content: "";
    pointer-events: none;
  }
  main.top .partner .inner {
    position: relative;
    z-index: 1;
  }
  main.top .partner .inner img {
    width: 150px;
    padding: 10px;
    margin: 0 auto 20px;
    background: #fff;
    border-radius: 10px;
  }
  main.top .about .txt {
    margin-bottom: 30px;
  }
  main.top .about .check_list {
    margin-bottom: 30px;
  }
  main.top .about .feature_list {
    display: grid;
    gap: 30px;
    margin-bottom: 30px;
  }
  main.top .about .feature_list .imgleft > img {
    border-radius: 10px;
  }
  main.top .about .detail {
    background: #fff;
    padding: 0 20px 20px;
    overflow: hidden;
    border: 1px solid #0082c9;
    border-radius: 10px;
  }
  main.top .about .detail h3 {
    margin: 0 -20px 20px;
    padding: 10px;
    color: #fff;
    background: #0082c9;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
  }
  main.top .about .detail .cols3 {
    gap: 10px;
  }
  main.top .usecases .usecase_links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 30px;
  }
  main.top .usecases .usecase_links li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 5px;
    font-weight: bold;
    border-top: 1px solid #0082c9;
    border-bottom: 1px solid #0082c9;
  }
  main.top .usecases .usecase_links li a::after {
    flex: 0 0 auto;
    width: 15px;
    aspect-ratio: 15/15;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    content: "";
    transform: rotate(90deg);
  }
  main.top .blog .news_list,
  main.top .news .news_list {
    margin-bottom: 30px;
  }
  main.sub .product .cols3 {
    gap: 10px;
  }
  main.sub .feature_2 .imgleft {
    margin-bottom: 30px;
  }
  main.sub .feature_2 .check_list {
    padding: 20px;
  }
  main.sub .feature .demo ul {
    display: grid;
    gap: 30px 0;
  }
  main.sub .feature .demo img {
    border-radius: 10px;
  }
  main.sub .feature .reason ul {
    display: grid;
    gap: 20px;
  }
  main.sub .feature .reason li {
    padding: 20px;
    background: #eef9ff;
    border: 3px solid #0082c9;
    border-radius: 10px;
  }
  main.sub .feature .function .cards {
    margin-bottom: 30px;
  }
  main.sub .comparison {
    margin-bottom: 40px;
  }
  main.sub .comparison .js-scrollable th:nth-child(1),
  main.sub .comparison .js-scrollable td:nth-child(1) {
    width: 320px !important;
    font-size: 1rem;
  }
  main.sub .comparison .js-scrollable th:nth-child(2),
  main.sub .comparison .js-scrollable td:nth-child(2) {
    width: 180px !important;
  }
  main.sub .comparison .js-scrollable th:nth-child(3),
  main.sub .comparison .js-scrollable td:nth-child(3),
  main.sub .comparison .js-scrollable th:nth-child(4),
  main.sub .comparison .js-scrollable td:nth-child(4) {
    width: 130px !important;
  }
  main.sub .comparison .js-scrollable .row-1 .column-1 {
    background: #c6ebff !important;
  }
  main.sub .comparison .js-scrollable .column-2,
  main.sub .comparison .js-scrollable .column-3,
  main.sub .comparison .js-scrollable .column-4 {
    text-align: center !important;
  }
  main.sub .comparison .js-scrollable th.column-2 {
    color: #0082c9 !important;
  }
  main.sub .architecture img {
    max-width: 500px;
    width: 100%;
    margin: 0 auto 20px;
  }
  main.sub .requirements .js-scrollable th:first-child,
  main.sub .requirements .js-scrollable td:first-child {
    width: 150px;
    font-size: 1rem;
  }
  main.sub .requirements .btnarea {
    margin: 40px auto 0;
  }
  main.sub .versionlog .js-scrollable th:nth-child(1),
  main.sub .versionlog .js-scrollable th:nth-child(2),
  main.sub .versionlog .js-scrollable td:nth-child(1),
  main.sub .versionlog .js-scrollable td:nth-child(2) {
    width: 100px;
    font-size: 1rem;
  }
  main.sub .versionlog .btnarea {
    margin: 40px auto 0;
  }
  main.sub .end_of_life .js-scrollable table {
    font-size: 1rem !important;
  }
  main.sub .end_of_life .js-scrollable th {
    width: 200px;
  }
  main.sub .api > .inner {
    margin-bottom: 40px;
  }
  main.sub .api .js-scrollable th:nth-child(1) {
    width: 120px;
  }
  main.sub .api .js-scrollable th:nth-child(2) {
    width: 130px;
  }
  main.sub .api .js-scrollable th:nth-child(3) {
    width: 140px;
  }
  main.sub .nextcloud_desktop_client .gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 20px;
  }
  main.sub .nextcloud_desktop_client .gallery img {
    border: 1px solid #ecf8ff;
  }
  main.sub .nextcloud_desktop_client .btnarea {
    margin-bottom: 30px;
  }
  main.sub .nextcloud_desktop_client .media {
    border: 1px solid #ecf8ff;
    margin: 0 auto 20px;
  }
  main.sub .nextcloud_desktop_client .check_list {
    padding: 20px;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft > img {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 4/3;
    object-fit: contain;
    border: 1px solid #ecf8ff;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft .blue_title {
    font-size: 1.4rem;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft ul {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
  }
  main.sub .nextcloud_mobile_client .app .inner .imgleft ul img {
    width: 160px;
  }
  main.sub .nextcloud_mobile_client .ios_slider,
  main.sub .nextcloud_mobile_client .android_slider {
    position: relative;
    max-width: 400px;
    width: 100%;
    margin: 0 auto 20px;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_swiper,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_swiper {
    width: 90%;
    overflow: hidden;
    margin: 0 auto;
  }
  main.sub .nextcloud_mobile_client .ios_slider .swiper-slide,
  main.sub .nextcloud_mobile_client .android_slider .swiper-slide {
    border: 1px solid #ecf8ff;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0082c9;
    cursor: pointer;
    transform: translateY(-50%);
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_arrow::before,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_arrow::before {
    width: 12px;
    height: 12px;
    border-right: 2px solid currentcolor;
    border-bottom: 2px solid currentcolor;
    content: "";
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_prev,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_prev {
    left: 3px;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_prev::before,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_prev::before {
    transform: rotate(135deg);
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_next,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_next {
    right: 3px;
  }
  main.sub .nextcloud_mobile_client .ios_slider .media_slider_next::before,
  main.sub .nextcloud_mobile_client .android_slider .media_slider_next::before {
    transform: rotate(-45deg);
  }
  main.sub .nextcloud_mobile_client .ios_slider.is_single .media_slider_arrow, main.sub .nextcloud_mobile_client .ios_slider.is_empty .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider.is_single .media_slider_arrow,
  main.sub .nextcloud_mobile_client .android_slider.is_empty .media_slider_arrow {
    display: none;
  }
  main.sub .nextcloud_mobile_client .txt {
    margin-bottom: 30px;
  }
  main.sub .nextcloud_mobile_client .check_list {
    padding: 20px;
  }
  main.sub .onlyoffice .imgleft:not(:last-child),
  main.sub .onlyoffice .imgright:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .onlyoffice .imgleft img,
  main.sub .onlyoffice .imgright img {
    max-width: 400px;
    width: 100%;
    border: 1px solid #ecf8ff;
    margin: 0 auto;
  }
  main.sub .onlyoffice .imgleft .blue_title,
  main.sub .onlyoffice .imgright .blue_title {
    margin-bottom: 0;
  }
  main.sub .service {
    margin-bottom: 40px;
  }
  main.sub .system_deployment {
    margin-bottom: 40px;
  }
  main.sub .system_deployment .txt:not(:last-child),
  main.sub .system_deployment .note:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .system_deployment .js-scrollable:not(:last-child) {
    margin-bottom: 30px !important;
  }
  main.sub .system_deployment .js-scrollable img {
    margin-bottom: 10px;
  }
  main.sub .system_deployment .js-scrollable p {
    margin: 10px 0;
  }
  main.sub .system_deployment .js-scrollable.server td:first-child img {
    width: 280px;
  }
  main.sub .system_deployment .js-scrollable.server td:last-child img {
    width: 440px;
  }
  main.sub .system_deployment .js-scrollable.example {
    margin-bottom: 10px !important;
  }
  main.sub .system_deployment .js-scrollable.example th:first-child {
    width: 160px;
  }
  main.sub .system_deployment .js-scrollable.example th:last-child {
    width: 100px;
  }
  main.sub .system_deployment .js-scrollable.role th:first-child {
    width: 120px;
  }
  main.sub .system_deployment .js-scrollable.role th:nth-child(3) {
    width: 60px;
  }
  main.sub .system_deployment .js-scrollable.role th:last-child {
    width: 100px;
  }
  main.sub .system_deployment .js-scrollable.role td:nth-child(3), main.sub .system_deployment .js-scrollable.role td:last-child {
    text-align: center;
  }
  main.sub .system_deployment .js-scrollable.role td .center {
    text-align: center;
    display: block;
  }
  main.sub .system_deployment .btnarea:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .our_supports {
    margin-bottom: 40px;
  }
  main.sub .support_difference {
    margin-bottom: 40px;
  }
  main.sub .support_difference .js-scrollable th:nth-child(2), main.sub .support_difference .js-scrollable th:last-child {
    width: 220px;
  }
  main.sub .enterprise,
  main.sub .community {
    margin-bottom: 40px;
  }
  main.sub .enterprise .txt,
  main.sub .enterprise .note:not(:last-child),
  main.sub .community .txt,
  main.sub .community .note:not(:last-child) {
    margin-bottom: 30px;
  }
  main.sub .enterprise .js-scrollable:not(:last-child),
  main.sub .community .js-scrollable:not(:last-child) {
    margin-bottom: 40px !important;
  }
  main.sub .enterprise .js-scrollable.subsc th:first-child,
  main.sub .community .js-scrollable.subsc th:first-child {
    width: 140px;
  }
  main.sub .enterprise .js-scrollable.subsc th:nth-child(2),
  main.sub .community .js-scrollable.subsc th:nth-child(2) {
    width: 100px;
  }
  main.sub .enterprise .js-scrollable.type th:first-child,
  main.sub .community .js-scrollable.type th:first-child {
    width: 140px;
  }
  main.sub .enterprise .js-scrollable.user,
  main.sub .community .js-scrollable.user {
    margin-bottom: 10px !important;
  }
  main.sub .enterprise .js-scrollable.user th:first-child,
  main.sub .community .js-scrollable.user th:first-child {
    width: 100px;
  }
  main.sub .enterprise .js-scrollable.user th:nth-child(2),
  main.sub .community .js-scrollable.user th:nth-child(2) {
    width: 140px;
  }
  main.sub .enterprise .js-scrollable.plan th:nth-child(2),
  main.sub .enterprise .js-scrollable.plan th:nth-child(3),
  main.sub .enterprise .js-scrollable.plan th:nth-child(4),
  main.sub .enterprise .js-scrollable.plan td:nth-child(2),
  main.sub .enterprise .js-scrollable.plan td:nth-child(3),
  main.sub .enterprise .js-scrollable.plan td:nth-child(4),
  main.sub .community .js-scrollable.plan th:nth-child(2),
  main.sub .community .js-scrollable.plan th:nth-child(3),
  main.sub .community .js-scrollable.plan th:nth-child(4),
  main.sub .community .js-scrollable.plan td:nth-child(2),
  main.sub .community .js-scrollable.plan td:nth-child(3),
  main.sub .community .js-scrollable.plan td:nth-child(4) {
    text-align: center !important;
  }
  main.sub .enterprise .js-scrollable.plan .row-11 td,
  main.sub .enterprise .js-scrollable.plan .row-15 td,
  main.sub .community .js-scrollable.plan .row-11 td,
  main.sub .community .js-scrollable.plan .row-15 td {
    font-size: 1rem;
    font-weight: bold;
    background: #c6ebff !important;
  }
  main.sub .enterprise .js-scrollable.option th:first-child,
  main.sub .community .js-scrollable.option th:first-child {
    width: 200px;
  }
  main.sub .enterprise .js-scrollable.menu:not(:last-child),
  main.sub .community .js-scrollable.menu:not(:last-child) {
    margin-bottom: 10px !important;
  }
  main.sub .enterprise .js-scrollable.menu th:first-child,
  main.sub .community .js-scrollable.menu th:first-child {
    width: 280px;
  }
  main.sub .enterprise .js-scrollable.menu td:nth-child(2),
  main.sub .enterprise .js-scrollable.menu td:nth-child(3),
  main.sub .community .js-scrollable.menu td:nth-child(2),
  main.sub .community .js-scrollable.menu td:nth-child(3) {
    text-align: center;
  }
  main.sub .enterprise .check_list,
  main.sub .community .check_list {
    padding: 20px;
  }
  main.sub .supports_application {
    margin-bottom: 40px;
  }
  main.sub .supports_application .dt-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 20px;
  }
  main.sub .supports_application .dt-search input {
    width: 200px;
    aspect-ratio: 200/40;
    padding: 5px 10px;
    border: 1px solid #c6ebff;
  }
  main.sub .supports_application .js-scrollable:not(:last-child),
  main.sub .supports_application .txt:not(:last-child) {
    margin-bottom: 30px !important;
  }
  main.sub .supports_application .js-scrollable.subsc th:first-child,
  main.sub .supports_application .txt.subsc th:first-child {
    width: 200px;
  }
  main.sub .single_usecase .sec_blc:not(:last-child) {
    margin-bottom: 40px;
  }
  main.sub .single_usecase .sec_blc > img {
    margin: 0 auto 20px;
  }
  main.sub .case_single {
    margin-bottom: 40px;
  }
  main.sub .case_single .case_img {
    border: 1px solid #ecf8ff;
    margin-bottom: 20px;
  }
  main.sub .news_catlist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 0 auto 20px;
  }
  main.sub .single .content .dec {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px 20px;
    margin-bottom: 20px;
  }
  main.sub .single .content h2,
  main.sub .single .content h3,
  main.sub .single .content h4,
  main.sub .single .content h5,
  main.sub .single .content h6 {
    margin-top: 20px;
  }
  main.sub .single .content h5 {
    font-size: 1.22rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  main.sub .single .content img,
  main.sub .single .content .wp-video {
    display: block;
    margin: 0 auto 30px;
  }
  main.sub .single .content iframe {
    width: 100%;
    display: block;
    margin: 0 auto 30px;
    height: auto;
    aspect-ratio: 16/9;
  }
  main.sub .single .content ul:not([class]),
  main.sub .single .content ul.wp-block-list {
    list-style-type: disc;
    margin: 0 0 30px 30px;
  }
  main.sub .single .content ul:not([class]) li:not(:last-child),
  main.sub .single .content ul.wp-block-list li:not(:last-child) {
    margin-bottom: 10px;
  }
  main.sub .single .content ul:not([class]) a,
  main.sub .single .content ul.wp-block-list a {
    color: #0082c9;
  }
  main.sub .single .content ol {
    list-style-type: decimal;
    margin: 0 0 30px 20px;
  }
  main.sub .single .content ol li:not(:last-child) {
    margin-bottom: 10px;
  }
  main.sub .single .content ol a {
    color: #0082c9;
  }
  main.sub .single .content .wp-block-separator {
    border-top: 2px solid;
    margin-bottom: 20px;
  }
  main.sub .single .content table {
    min-width: 100% !important;
    margin-bottom: 30px;
  }
  main.sub .single .content blockquote {
    padding: 20px;
    position: relative;
    background: #ecf8ff;
    margin-bottom: 30px;
  }
  main.sub .single .content dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
    margin-bottom: 30px;
  }
  main.sub .single .content dl dt {
    background: #c6ebff;
    padding: 10px;
    width: 30%;
    vertical-align: middle;
    font-weight: bold;
    border: 1px solid #fff;
  }
  main.sub .single .content dl dd {
    width: 70%;
    background: #ecf8ff;
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #fff;
  }
  main.sub .single .content pre {
    display: block;
    font-family: Consolas, Lucida Console, monospace;
    font-size: 0.8rem;
    line-height: 20px;
    padding: 10px 15px;
    width: 100%;
    background-color: #faf6e1;
    margin-bottom: 30px;
  }
  main.sub .single .content code {
    display: inline-block;
    vertical-align: top;
    font-family: Consolas, Lucida Console, monospace;
    padding: 0 5px;
    background-color: #faf6e1;
  }
  main.sub .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 40px;
  }
  main.sub .pagination span {
    width: 40px;
    height: 50px;
    margin: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0082c9;
    font-weight: bold;
    text-align: center;
    border: 1px solid #0082c9;
    border-radius: 5px;
    background: #0082c9;
    color: #fff;
  }
  main.sub .pagination a {
    width: 40px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0082c9;
    margin: 0 10px;
    font-weight: bold;
    text-align: center;
    border: 1px solid #0082c9;
    border-radius: 5px;
  }
  main.sub .pagenavi {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
  }
  main.sub .pagenavi li {
    display: flex;
  }
  main.sub .pagenavi li:only-child {
    grid-column: 1/-1;
    justify-content: center;
  }
  main.sub .pagenavi li.prev {
    justify-content: flex-start;
  }
  main.sub .pagenavi li.next {
    justify-content: flex-end;
  }
  main.sub .pagenavi .btn {
    width: 100px;
  }
  main.sub .contact,
  main.sub .catalog_download {
    margin-bottom: 40px;
  }
  main.sub .contact .media,
  main.sub .catalog_download .media {
    border: 3px solid #80d2ff;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 30px;
  }
  main.sub .contact .media img,
  main.sub .catalog_download .media img {
    width: 400px;
    margin: 0 auto;
  }
  main.sub .contact .numb_list,
  main.sub .catalog_download .numb_list {
    margin: 0 auto 30px;
  }
  main.sub .contact strong,
  main.sub .catalog_download strong {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
  }
  main.sub .whitepaper .bb_title {
    padding: 0 0 10px;
    margin-bottom: 0;
  }
  main.sub .whitepaper ul:not(:last-child) {
    margin-bottom: 40px;
  }
  main.sub .whitepaper ul li {
    display: grid;
    gap: 10px;
    padding: 20px 10px;
    border-bottom: 1px solid #0082c9;
    font-weight: bold;
  }
  main.sub .nextcloudblog #latest-posts,
  main.sub .nextcloudblog #notice-posts {
    margin-bottom: 40px;
  }
  main.sub .nextcloudblog .load_more {
    width: 100%;
    margin: 20px auto 0;
  }
  main.sub .nextcloudblog [data-news-load-area][hidden],
  main.sub .nextcloudblog [data-news-empty][hidden] {
    display: none !important;
  }
  footer {
    position: relative;
  }
  footer .f_contact {
    padding: 40px 0;
    color: #fff;
    background: #0082c9;
  }
  footer .f_contact h2 {
    font-size: 1.15rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
  }
  footer .f_contact ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  footer .f_contact ul li {
    padding: 20px;
    color: #000;
    text-align: center;
    background: #fff;
    border-radius: 5px;
  }
  footer .f_contact ul li h3 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 10px;
  }
  footer .f_contact ul li p {
    margin-bottom: 20px;
  }
  footer .partners {
    padding: 40px 0;
  }
  footer .partners ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  footer .partners ul li {
    display: grid;
    place-items: center;
    padding: 10px;
    background: #fff;
    border: 1px solid #a3a3a3;
    border-radius: 10px;
  }
  footer .partners ul li:last-child img {
    max-width: 100px;
  }
  footer .partners ul li img {
    max-width: 200px;
    width: 100%;
    object-fit: contain;
  }
  footer .f_btm {
    padding: 20px 0;
    color: #fff;
    background: #0082c9;
  }
  footer .f_btm .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  footer .f_btm .inner .f_logo a {
    display: grid;
    place-items: center;
    width: 150px;
    aspect-ratio: 150/94;
    padding: 10px;
    background: #fff;
    border-radius: 5px;
  }
  footer .f_btm .inner .f_logo a img {
    width: 130px;
    aspect-ratio: 130/80;
    object-fit: contain;
  }
  footer .f_btm .inner .f_meta {
    line-height: 2.5;
    text-align: center;
  }
  footer .f_btm .inner .f_meta ul {
    display: flex;
    align-items: center;
  }
  footer .f_btm .inner .f_meta ul li {
    position: relative;
  }
  footer .f_btm .inner .f_meta ul li:not(:last-child) {
    margin-right: 20px;
  }
  footer .f_btm .inner .f_meta ul li:not(:last-child):after {
    position: absolute;
    content: "|";
    top: -1px;
    right: -12px;
  }
  footer .f_btm .inner .f_meta ul a {
    display: block;
  }
  footer .pagetop,
  footer .pagetop_visible {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 15;
    width: 40px;
    aspect-ratio: 40/40;
    background: #0082c9;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(0, 63, 99, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.2s;
  }
  footer .pagetop::after,
  footer .pagetop_visible::after {
    position: absolute;
    inset: 10px 0 auto;
    width: 20px;
    aspect-ratio: 20/20;
    margin: auto;
    background: center/contain no-repeat url("./images/common/icon_arrow.svg");
    filter: brightness(0) invert(1);
    content: "";
  }
  footer .pagetop_visible {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .pconly {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */