@charset "UTF-8";
/*
Theme Name: Medisa
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version:
*/
html, body {
    overflow-x: hidden !important;
}
body {
    opacity: 0;
    transition: opacity 0.6s ease;
    margin: 0;
    padding-top: 100px;
    letter-spacing: 0.03em;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN',
        'メイリオ', Meiryo, sans-serif;
    text-align: justify;
}
body.page-loaded {
    opacity: 1;
}
body.menu-open {
    overflow: hidden;
    height: 100vh;
    touch-action: none;
    position: fixed;
    width: 100%;
}
body:not(.menu-open) {
    overflow: auto;
}
h1, h2, h3, h4, h5, h6 {
    border: none;
}
p {
    color: #3e3e3e;
    font-size: 1.15vw;
}
ul {
    font-size: 1.1vw;
}
h2 {
    font-size: 1.9vw;
}
h3 {
    font-size: 1.4vw;
}
h4 {
    background: none;
    font-size: 1.3vw;
}
.site-footer-title:after, .sub-section-title:after, h3:where(:not(.wp-block-post-title)):after {
    border: none;
}
/*パンくずリストの非表示*/
.breadcrumb {
    display: none;
}
.line {
    border-bottom: 1.5px #c4c4c4 solid;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl {
    padding-right: 0;
    padding-left: 0;
}
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.wp-block-group.is-layout-constrained {
    max-width: 80vw;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.wp-block-group.is-layout-constrained>* {
    max-width: 80vw !important;
    box-sizing: border-box;
}

/*reCAPTCHAのバッジを非表示に*/

.grecaptcha-badge { 
   visibility: hidden; 
}

/* ====================================================================================
   カスタムヘッダー
   ==================================================================================== */
.custom-header {
    padding: 1.2vw 2vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000;
    background: transparent;
    transition: background-image 0.6s ease, box-shadow 0.6s ease, background-color 0.6s ease;
    opacity: 1;
}
.header-bg-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    display: none;
}
.custom-header.scrolled .header-bg-layer {
    display: block;
    background-image: url('/wp-content/uploads/2025/05/header-bg-texture.webp');
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 9999;
}
.header-logo {
    position: relative;
    z-index: 2100;
    -webkit-tap-highlight-color: transparent;
    /* ← スマホSafariやAndroidでの黒エフェクトを無効化 */
    outline: none;
}
.header-logo img {
    height: 2.99vw;
    width: auto;
    transition: none;
}
.header-nav {
    display: flex;
    align-items: center;
}
.header-menu {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
    gap: 1.15vw;
}
.header-menu li {
    margin: 0 15px;
}
.header-menu li a {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.2s ease;
    letter-spacing: 0.1em;
    font-size: 1.1vw;
}
.header-menu li a:hover {
    opacity: 0.7;
}
.header-buttons {
    display: flex;
    gap: 1.1vw;
    margin-left: 1vw;
}
.btn {
    padding: 0.45vw 2.1vw;
    border-radius: 9999px;
    font-weight: bold;
    font-size: 1.00vw;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
    letter-spacing: 0.15em;
}
.btn-outline {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff;
}
.btn-outline:hover {
    background-color: #fff;
    color: #0a2a57;
}
.btn-filled {
    background-color: #fff;
    color: #0a2a57;
    border: 2px solid #fff;
}
.btn-filled:hover {
    background-color: transparent;
    color: #fff;
}
#site-header {
    display: none !important;
}
/* ドロップダウンメニュー用 */
.header-menu li.menu-item-has-children {
    position: relative;
}
.header-menu li.menu-item-has-children>.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(10, 42, 87, 0.95);
    /* ← 透明度のある濃紺 */
    padding: 10px 0;
    min-width: 240px;
    z-index: 1002;
}
.header-menu li.menu-item-has-children:hover>.sub-menu {
    display: block;
}
.header-menu li.menu-item-has-children>.sub-menu li {
    margin: 0;
}
.header-menu li.menu-item-has-children>.sub-menu li a {
    display: block;
    padding: 10px 20px;
    color: white;
    text-decoration: none;
    transition: background-color 0.2s ease;
    font-weight: 400;
    font-size: 1.00vw;
    white-space: nowrap;
    /* ← 改行防止 */
}
.header-menu li.menu-item-has-children>.sub-menu li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}
/* ====================================================================================
   ハンバーガーメニュー
   ==================================================================================== */
.custom-hamburger-button {
    position: absolute;
    top: 17px;
    right: 3.5vw;
    /*width: 3.2vw;
  height: 3vw;*/
    padding: 25px;
    cursor: pointer;
    z-index: 2100;
    display: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
}
.custom-hamburger-button .bar1,
.custom-hamburger-button .bar2,
.custom-hamburger-button .bar3 {
    position: absolute;
    width: 38px;
    height: 3px;
    background: #fff;
    border-radius: 1vw;
    transition: all 0.4s ease-in-out;
}
.bar1 {
    top: 8px;
}
.bar2 {
    top: 17.6px;
    transform: translateY(-50%);
    opacity: 1;
}
.bar3 {
    bottom: 8px;
}
.custom-hamburger-button .menu-label {
    position: absolute;
    top: 17.4px;
    left: 44px;
    transform: translate(-50%, -50%);
    opacity: 0;
    color: #fff;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    font-size: 12px;
}
.custom-hamburger-button:hover .bar1 {
    top: 0px;
}
.custom-hamburger-button:hover .bar3 {
    bottom: 0px;
}
.custom-hamburger-button:hover .bar2 {
    opacity: 0;
}
.custom-hamburger-button:hover .menu-label {
    opacity: 1;
}
.custom-hamburger-button.active .bar1 {
    top: -1px;
}
.custom-hamburger-button.active .bar3 {
    bottom: 9px;
}
.custom-hamburger-button.active .bar2 {
    opacity: 0;
}
.custom-hamburger-button.active .menu-label {
    opacity: 1;
}
.custom-hamburger-button:not(.active) .bar1 {
    top: 2.3px;
}
.custom-hamburger-button:not(.active) .bar3 {
    bottom: 17.3px;
}
.custom-hamburger-button:not(.active) .bar2 {
    opacity: 1;
}
.custom-hamburger-button:not(.active) .menu-label {
    opacity: 0;
}
/* フルスクリーンメニュー */
.custom-fullscreen-menu {
    display: none;
}
.custom-fullscreen-menu ul,
.custom-fullscreen-menu ul li {
    list-style: none;
    /* ← この行を追加！ */
}
.custom-fullscreen-menu.open {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 33%;
    height: 100vh;
    background-color: #0F2253;
    color: #fff;
    z-index: 1000;
    padding: 2em 0;
    overflow-y: auto;
}
.full-screen-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fullscreen-menu-items {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    /* ← 左右いっぱいに伸ばす */
    height: 100%;
    padding: 0 2.5vw;
    margin: 0;
    width: 100%;
}
.fullscreen-menu-items li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2em 1.5em;
    /* ←上下の余白を均等に広めに */
    border-bottom: 1px dashed #fff;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}
.fullscreen-menu-items li a {
    color: #fff;
    font-size: 1.55vw;
    text-decoration: none;
    flex-grow: 1;
}
.fullscreen-menu-items li.has-submenu {
    display: block;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.submenu-panel a {
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    padding: 0.3em 0;
    border-bottom: 1px dashed #fff;
}
/* 製品・サービスの下層リンクをインデント付きで常時表示 */
.fullscreen-menu-items li.has-submenu>.submenu-panel {
    display: block;
    padding-left: 4vw;
    margin-top: 0.3em;
}
.fullscreen-menu-items li.has-submenu>.submenu-panel a {
    font-size: 1.45vw;
    display: block;
    padding: 0.5em 0;
    border-bottom: none;
    color: #fff;
    text-decoration: none;
    position: relative;
}
.fullscreen-menu-items li.has-submenu>.submenu-panel a::before {
    content: "└ ";
    position: absolute;
    left: -1.5em;
    color: #fff;
}
/*デフォルトハンバーガーメニューを非表示*/
div#vk-mobile-nav-menu-btn {
    display: none;
}
/* ====================================================================================
   メインビジュアル
   ==================================================================================== */
.main-visual-layered {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 0;
    margin-top: -100px;
}
.main-visual-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/wp-content/uploads/2025/05/main-visual-bg.webp') no-repeat center bottom;
    background-size: cover;
    z-index: 0;
}
.main-visual-person {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 100%;
    width: auto;
    background: url('/wp-content/uploads/2025/05/main-visual-person.webp') no-repeat right bottom;
    background-size: contain;
    z-index: 2;
    pointer-events: none;
    aspect-ratio: 5 / 4;
}
.main-visual-text {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    z-index: 3;
    color: white;
    font-size: 2.79vw;
    line-height: 1.25;
    font-weight: bold;
    text-shadow: 1px 2px 10px #00000069;
}
.main-visual-text span {
    display: inline-block;
}
.main-visual-text .large {
    font-size: 3.89vw;
}
/* ====================================================================================
   TOPページ
   ==================================================================================== */
.case-studies-area {
    padding-top: 10vw;
    padding-bottom: 10vw;
}
section.inquiry-area {
    padding-top: 10vw;
    padding-bottom: 5vw;
}
.button-wrapper {
    margin-top: 60px !important;
}
/* ボタンの配置スタイル */
.button-wrapper.center {
    text-align: center;
}
.button-wrapper.left {
    text-align: left;
}
.button-wrapper.right {
    text-align: right;
}
.circle-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background-color: #0F2253;
    color: #fff;
    padding: 0.6vw 0.7vw 0.6vw 5vw;
    border-radius: 9999px;
    font-size: 1.009vw;
    text-decoration: none;
    transition: background-color 0.3s ease;
    gap: 4vw;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.15em;
}
.btn-circle {
    width: 2vw;
    height: 2vw;
    background-color: #F3F3F3;
    border-radius: 50%;
    transition: transform 0.3s ease;
}
.circle-button:hover .btn-circle {
    transform: translateX(-6px);
}
a.circle-button:hover {
    color: #f3f3f3;
}
/* ====================================================================================
   メッセージ
   ==================================================================================== */
section.message-area {
    padding-top: 13vw;
    padding-bottom: 13vw;
}
.illust-box {
    position: relative;
    z-index: 1;
}
.bg-box {
    width: var(--bg-size, 140px);
    position: absolute;
}
.main-illust {
    width: var(--main-size, 180px);
    position: absolute;
    transition: opacity 1s ease, transform 1s ease;
    opacity: 0;
    transform: translateY(20px);
}
/* 各イラスト固有の位置とサイズ調整 */
.top-left .bg-box {
    width: 14.3vw;
    top: -9.9vw;
    left: -4vw;
}
.top-left .main-illust {
    width: 8.8vw;
    top: -3.7vw;
    left: 4vw;
}
.top-right .bg-box {
    width: 16.7vw;
    top: -6vw;
    right: -16vw;
}
.top-right .main-illust {
    width: 19.3vw;
    top: -0.6vw;
    right: -7.2vw;
}
.bottom-left .bg-box {
    width: 23vw;
    bottom: -14vw;
    left: -21.2vw;
}
.bottom-left .main-illust {
    width: 13.2vw;
    bottom: -6.7vw;
    left: -4vw;
}
.bottom-right .bg-box {
    width: 12.1vw;
    bottom: -17.8vw;
    right: 3vw;
}
.bottom-right .main-illust {
    width: 13.2vw;
    bottom: -11.7vw;
    right: 2vw;
}
.fade-in-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}
.illust-delay-1 {
    transition-delay: 0.3s;
}
.illust-delay-2 {
    transition-delay: 0.5s;
}
.illust-delay-3 {
    transition-delay: 0.6s;
}
.illust-delay-4 {
    transition-delay: 0.8s;
}
/* ====================================================================================
   お知らせ（TOP）
   ==================================================================================== */
section.news-area {
    padding-top: 5vw;
    padding-bottom: 21vw;
}
.news-info_wrapper {
    list-style: none;
    padding: 0;
    margin: 0;
}
.news-info_wrapper li {
    margin: 0 !important;
    padding: 0;
}
.news-row_wrapper {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #929292;
    padding: 1.5vw 0 1.5vw 1.2vw;
    font-size: 1.12vw;
    text-decoration: none;
    color: inherit;
    transition: background-color 0.3s ease;
}
.news-row_wrapper:hover {
    background-color: #ededed;
}
.news-date_wrapper {
    display: flex;
    align-items: baseline;
    gap: 1.6vw;
    min-width: 18vw;
    white-space: nowrap;
}
.news-date {
    color: #3e3e3e;
}
.news-classification div {
    border: 1px solid #3e3e3e;
    font-size: 0.94vw;
    color: #3e3e3e;
    background: #f1f1f1;
}
.news-area .news {
    padding: 0.1vw 1vw;
}
.news-area .blog {
    padding: 0.1vw 1.5vw;
}
.news-content {
    flex: 1;
    font-weight: 500;
    color: #3e3e3e;
}
.news-row_wrapper:hover .news-content {
    color: #3e3e3e;
}
.news-area h2 {
    font-size: 2.9vw;
    margin-bottom: 1.4vw !important;
}
/* ====================================================================================
   製品・サービス（TOP）
   ==================================================================================== */
.service-area {
    position: relative;
    background-color: #e8e8e8;
    padding-top: 1vw;
    padding-bottom: 3vw;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    z-index: 0;
    max-width: 100vw !important;
    padding-left: 10vw;
    padding-right: 10vw;
}
/* 中のコンテンツだけを中央寄せ + 最大幅制限 */
.service-inner {
    max-width: 80vw;
    margin: 0 auto;
    padding-left: 2vw;
    padding-right: 2vw;
    box-sizing: border-box;
}
/* 波型背景 */
.service-area::before,
.service-area::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 15vw;
    background-repeat: no-repeat;
    background-size: 100% auto;
    z-index: -1;
}
.service-area::before {
    top: -13vw;
    background-image: url('/wp-content/uploads/2025/05/wave-top.svg');
}
.service-area::after {
    bottom: -14vw;
    background-image: url('/wp-content/uploads/2025/05/wave-bottom.svg');
    background-position: center bottom;
}
/* WPのレイアウト制限解除 */
.service-area.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* 見出しなどのマージン */
.service-area h2 {
    margin-bottom: 1vw !important;
}
.service-area h3 {
    margin-bottom: 0.2vw !important;
}
.service-area .sub-text {
    margin-bottom: 3.5vw !important;
}
.service-box01 {
    margin-bottom: 5vw !important;
}
/* イラスト配置（切れ防止のため z-index 高め + 外にはみ出せるように） */
.service-illust {
    position: absolute;
    z-index: 2;
    pointer-events: none;
}
.service-illust.left-top {
    top: -13vw;
    left: 7vw;
    width: 14vw;
}
.service-illust.right-top {
    top: -2vw;
    right: -4vw;
    width: 21vw;
}
.service-illust.left-bottom {
    bottom: 10vw;
    left: -3vw;
    width: 21vw;
}
.service-illust.right-bottom {
    bottom: -14vw;
    right: 6vw;
    width: 16vw;
}
/* コンテンツ内画像 */
.service-area-img01,
.service-area-img02 {
    display: block;
    max-width: 100%;
    height: auto;
    margin-top: 2vw;
    margin-bottom: 4vw;
    position: relative;
    z-index: 2;
}
.service-area-img01 {
    margin-left: auto;
    margin-right: 0;
    width: 93%;
}
.service-area-img02 {
    margin-right: auto;
    margin-left: 0;
    width: 87%;
}
/* 見出しブロック（アイコンとテキスト） */
.service-heading-box {
    display: flex;
    align-items: center;
    gap: 2vw;
    margin-bottom: 1vw;
}
.service-number-img {
    width: auto;
    height: 8vw;
    flex-shrink: 0;
}
.service-heading-text h3 {
    font-size: 1.65vw;
    font-weight: 700;
    margin: 13px 0 0px 0;
    color: #0F2253;
    letter-spacing: 0.05em;
}
.service-heading-text h4 {
    font-size: 1.19vw;
    font-weight: 600;
    margin: -0.5em 0 0 -8px;
    letter-spacing: 0.03em;
    line-height: 1.6;
}
.service-heading-box.align-right {
    justify-content: flex-end;
    /* 右寄せ */
}
.service-heading-box.align-right .service-heading-text {
    text-align: right;
}
.fade-in-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s ease, transform 1s ease;
}
.illust-delay-5 {
    transition-delay: 0.9s;
}
.illust-delay-6 {
    transition-delay: 1.0s;
}
/* ====================================================================================
   システムの特徴・強み
   ==================================================================================== */
.system-area {
    position: relative;
    z-index: 0;
    display: inline-block;
}
.system-area .system-area-img01 {
    position: relative;
    z-index: 1;
}
.system-deco-box {
    position: absolute;
    left: -13vw;
    top: 7vw;
    width: 22vw;
    z-index: 0;
}
section.system-area {
    padding-top: 24vw;
    padding-bottom: 6vw;
}
.system-area .wp-block-columns>.wp-block-column:first-child {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.system-area .system-area-img01 {
    margin: 0;
    padding-bottom: 2vw;
}
.system-area h2 {
    margin-bottom: 1vw !important;
}
.system-area h4 {
    background-color: #0F2253;
    color: #fff;
    padding: 6px 23px 6px 23px;
    border-radius: 9999px;
    font-size: 1.0vw;
    margin: 0;
}
.system-area h3 {
    font-size: 1.2vw;
    color: #0F2253;
    margin: 0;
    padding: 0;
}
.system-area .point-heading-row {
    display: flex;
    gap: 1vw;
    margin-bottom: 0.4vw
}
.system-area .point-heading-row .wp-block-column:first-child {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}
.system-area .point-heading-row .wp-block-column:last-child {
    flex: 1;
    display: flex;
    align-items: center;
}
.system-area .point-box {
    margin-bottom: 2vw;
}
/* ====================================================================================
   選ばれる3つの理由
   ==================================================================================== */
section.reasons-area {
    padding-top: 5vw;
    padding-bottom: 10vw;
}
/* 全体に共通のスタイル */
.reasons-area figure {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto 1.6vw auto;
    text-align: center;
}
/* 各画像クラスに対してサイズ調整（必要に応じて変更可） */
.reasons-area-img01 img,
.reasons-area-img02 img,
.reasons-area-img03 img {
    max-width: 93%;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}
.reasons-area .sub-text {
    margin-bottom: 3.5vw !important;
}
.reasons-area h3 {
    color: #0F2253;
    margin-bottom: 0.7vw !important;
    height: 4vw;
    display: flex;
    align-items: center;
    /* 垂直中央 */
    justify-content: center;
    /* 横中央（必要に応じて） */
    text-align: center;
    border-bottom: 2px solid #bfbfbf;
}
/* ====================================================================================
   お問い合わせ（TOP）
   ==================================================================================== */
.custom-contact {
    max-width: 79% !important;
    margin: 0 auto;
}
.inquiry-area .sub-text {
    margin-bottom: 3.5vw !important;
}
.custom-contact p {
    margin-bottom: 0.4vw !important;
}
span.tenpu {
    font-size: 0.9vw;
    color: #ca2121;
}
input[type=file] {
    margin: 0 0 1.5vw 0;
}
.wpcf7-list-item {
    margin: 0;
}
a.privacy-policy-link {
    color: #ca2121;
    text-decoration-color: #ca2121;
}
a.privacy-policy-link:hover {
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 1px;
}
p.recaptcha-text a {
    color: #ca2121;
    text-decoration-color: #ca2121;
}
p.recaptcha-text a:hover {
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 1px;
}
/* Contact Form 7 入力欄共通スタイル */
.custom-contact input[type="text"],
.custom-contact input[type="tel"],
.custom-contact input[type="email"],
.custom-contact input[type="file"],
.custom-contact textarea,
.custom-contact select {
    background: #E1E1E1;
    border: none;
    border-radius: 0.3vw;
    padding: 0.8vw 1vw;
    width: 100%;
    box-sizing: border-box;
    font-size: 1vw;
    color: #333;
    outline: none;
}
/* 選択メニューも同じように */
.custom-contact select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-position: right 1em center;
    background-repeat: no-repeat;
}
/* フォーカス時の視認性 */
.custom-contact input:focus,
.custom-contact textarea:focus,
.custom-contact select:focus {
    outline: 2px solid #999;
    background: #ddd;
}
/* ファイルアップロードボックスの見た目改善 */
.custom-contact input[type="file"] {
    background: #E1E1E1;
    padding: 0.5em;
}
/* チェックボックスのカスタマイズ */
.custom-contact input[type="checkbox"] {
    width: 2vw;
    height: 2vw;
    background-color: #E1E1E1;
    border: none;
    border-radius: 0.3vw;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    position: relative;
    vertical-align: middle;
    margin-right: 0.1vw;
}
/* チェックが入った状態の見た目 */
.custom-contact input[type="checkbox"]:checked {
    background-color: #0F2253;
}
/* チェックマーク（擬似要素で描画） */
.custom-contact input[type="checkbox"]:checked::after {
    content: '✔';
    color: #fff;
    font-size: 1.5vw;
    position: absolute;
    top: -0.19vw;
    left: 0.38vw;
    line-height: 1.7em;
}
/* チェックボックスのアクセシビリティ調整 */
.custom-contact input[type="checkbox"]:focus {
    outline: 2px solid #999;
}
/* 送信ボタンのスタイル（中央寄せ） */
.custom-contact p input[type="submit"] {
    background-color: #0F2253;
    color: #fff;
    border: none;
    padding: 0.8vw 5.9vw;
    font-size: 1.1vw;
    font-weight: bold;
    border-radius: 4vw;
    transition: background-color 0.3s ease;
    display: block;
    margin: 5vw auto;
}
/* ホバー時 */
.custom-contact input[type="submit"]:hover {
    background-color: #324577;
}
/* ====================================================================================
   導入事例（TOP）
   ==================================================================================== */
/*今だけ非表示*/
.case-studies-area {
    display: none !important;
}
.page-id-38 .page-header {
    background: url(/wp-content/uploads/2025/06/case-studie-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
/* ====================================================================================
   採用情報（TOP）
   ==================================================================================== */
.recruit-area {
    position: relative;
    background-color: #e8e8e8;
    padding-top: 3vw;
    padding-bottom: 3vw;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    z-index: 0;
    max-width: 100vw !important;
    padding-left: 10vw;
    padding-right: 10vw;
    margin-top: 14vw;
    margin-bottom: 14vw;
}
.recruit-area.section-with-wave::before,
.recruit-area.section-with-wave::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 15vw;
    background-repeat: no-repeat;
    background-size: 100% auto;
    z-index: -1;
}
.recruit-area.section-with-wave::before {
    top: -13vw;
    background-image: url('/wp-content/uploads/2025/05/wave-top.svg');
}
.recruit-area.section-with-wave::after {
    bottom: -14vw;
    background-image: url('/wp-content/uploads/2025/05/wave-bottom.svg');
    background-position: center bottom;
}
.recruit-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4vw;
}
.recruit-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 1vw;
}
.recruit-content {
    flex: 1 1 35%;
    text-align: center;
}
.recruit-content h2 {
    margin-bottom: 1vw;
}
.recruit-content h3 {
    font-size: 1.6vw;
    margin-bottom: 2vw;
    font-weight: 600;
}
.recruit-content p {
    font-size: 1.1vw;
    line-height: 1.8;
    color: #333;
}
/* ボタン中央揃え */
.recruit-content .button-wrapper {
    margin-top: 2vw;
}
/* 装飾イラスト配置 */
.recruit-illust {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}
.recruit-illust.top-left.square1 {
    top: -18vw;
    left: 16vw;
    width: 14vw;
    z-index: 2;
}
.recruit-illust.top-left.square2 {
    top: -8vw;
    left: -3vw;
    width: 28vw;
}
.recruit-illust.bottom-right.square1 {
    bottom: -1vw;
    right: 3vw;
    width: 30vw;
}
.recruit-illust.bottom-right.square2 {
    bottom: -24vw;
    right: -4vw;
    width: 20vw;
}
.recruit-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    /* 横並びを維持 */
    gap: 4vw;
}
.recruit-image {
    flex: 1 1 25%;
    max-width: 25%;
}
.recruit-content {
    flex: 1 1 50%;
    max-width: 50%;
}
.recruit-image.left {
    position: relative;
    top: 12vw;
}
.recruit-image.right {
    position: relative;
    bottom: 12vw;
}
/* ====================================================================================
   下層ページ
   ==================================================================================== */
.page-header {
    min-height: 20vw;
    margin-top: -100px !important;
}
.page-header-title, h1.page-header-title {
    font-size: 2.1vw;
    padding-top: 4.9vw;
}
.column01 {
    gap: 6vw;
}
.wp-block-group.is-layout-constrained>* {
    max-width: none !important;
}
.error404 .page-header {
    background: url(/wp-content/uploads/2025/05/products-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
/* ====================================================================================
   製品・サービス
   ==================================================================================== */
.page-id-35 .page-header {
    background: url(/wp-content/uploads/2025/05/products-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.page-id-142 .page-header {
    background: url(/wp-content/uploads/2025/05/products-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.page-id-144 .page-header {
    background: url(/wp-content/uploads/2025/05/products-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.products-message {
    display: flex;
    gap: 2rem;
    /* カラム間の余白 */
    align-items: flex-start;
    margin-bottom: 7vw;
}
.products-message>.wp-block-column:first-child {
    flex: 0 0 30%;
    /* 幅30%、縮まない、広がらない */
}
.products-message>.wp-block-column:last-child {
    flex: 1;
    /* 残りのスペースをすべて使う */
}
.products-box01 {
    gap: 4vw;
    margin: 0 auto;
    width: 69vw;
    margin-bottom: 7vw;
    position: relative;
    z-index: 1;
}
.products-box02 img {
    width: 25.4vw;
    padding: 1vw 1vw 2vw 0;
}
.products-box03 img {
    width: 21.7vw;
    padding: 1vw 1vw 2vw 0;
}
.products-box02 h3, .products-box03 h3 {
    font-size: 1.55vw;
    color: #0f2253;
    letter-spacing: 0.05em;
    margin-bottom: 5px !important;
    border-bottom: 2px solid #bfbfbf;
    padding-bottom: 8px;
}
.products-box01 h4 {
    padding: 6px 0 0 0;
    font-size: 1.2vw;
}
.products-box01 .button-wrapper.center {
    margin-top: 0 !important;
}
.products-box01 .circle-button {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background-color: #0F2253;
    color: #fff;
    padding: 0.6vw 0.7vw 0.6vw 10vw;
    border-radius: 9999px;
    font-size: 1.009vw;
    text-decoration: none;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.15em;
}
.products-box02, .products-box03 {
    background: #E8E8E8;
    padding: 2vw;
    border-radius: 2vw;
}
.products-box02::before, .products-box03::before {
    content: "";
    display: block;
    width: 13vw;
    height: auto;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    aspect-ratio: 1000 / 226;
    position: absolute;
}
.products-box02::before {
    background-image: url("https://test.medisa.net/wp-content/uploads/2025/06/service-ashirai01.webp");
    top: -1.6vw;
}
.products-box03::before {
    background-image: url("https://test.medisa.net/wp-content/uploads/2025/06/service-ashirai02.webp");
    top: -1.6vw;
    right: 2vw;
}
.products-illust {
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.products-illust.bottom-right.square2 {
    bottom: -2vw;
    right: -16vw;
    width: 19vw;
    padding: 0;
}
.products-box01 p {
    height: 8.2vw;
    padding-bottom: 10.9vw;
}
.products-illust.top-left.square1 {
    position: absolute;
    top: -6vw;
    left: -19vw;
    width: 16vw;
    z-index: -1;
    pointer-events: none;
    padding: 0;
}
/* ====================================================================================
   放射線部門システム
   ==================================================================================== */
.ris-message {
    gap: 1vw;
    margin-bottom: 7vw;
    background: #E8E8E8;
    border-radius: 2vw;
    padding: 2vw 2.5vw;
    position: relative;
    z-index: 1;
}
.ris-message img {
    max-width: 91%;
    margin-right: 0;
    margin-left: auto;
    /* ←これで右寄せにもなる */
    display: block;
}
.ris-message h2 {
    border-bottom: 2px solid #bfbfbf;
    color: #0F2253;
    margin-bottom: 1.4vw !important;
}
.ris-points-columns {
    gap: 1vw;
}
.ris-point-item {
    position: relative;
    padding: 0vw 0vw 0vw 0vw;
    border: 0.19vw solid #0F2253;
    border-radius: 2vw;
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    height: 22.5vw;
}
.ris-icon {
    position: absolute;
    top: -2.6vw;
    left: 50%;
    transform: translateX(-50%);
    width: 5vw;
    height: 5vw;
    z-index: 1;
}
.ris-icon img {
    width: 100%;
    height: auto;
    display: block;
}
.ris-point-item ul,
.ris-point-item p {
    text-align: left;
}
.ris-point-item h3 {
    text-align: center;
    color: #fff;
    height: 7vw;
    background: #0F2253;
    padding: 2.5vw 1vw 1vw 1vw;
    border-radius: 1.8vw 1.8vw 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ris-point-item ul {
    font-size: 1.1vw;
    padding: 0 1vw 1vw 2vw;
    margin-bottom: 0 !important;
}
.ris-point-item p {
    font-size: 1.05vw;
    padding: 0 1vw 1vw 1vw;
}
.ris-box01, .ris-box02, .ris-box03 {
    margin-bottom: 9vw;
    position: relative;
    z-index: 0;
}
.ris-box01 h2 {
    margin-bottom: 4vw !important;
}
.ris-box02 h2, .ris-box03 h2, .ris-box04 h2 {
    border-bottom: 2px solid #bfbfbf;
    margin-bottom: 1.4vw !important;
}
.ris-box02 h4 {
    margin-bottom: 0 !important;
    color: #0f2253;
    padding-bottom: 0.3vw !important;
    padding-top: 0;
    border-bottom: 1.5px solid #bfbfbf;
    border-radius: 0;
}
.ris-box03 h3 {
    margin-bottom: 0 !important;
}
.ris-box02 span {
    font-size: 1vw;
    margin-left: 1vw;
    color: #313131;
}
.ris-box04 {
    margin-bottom: 7vw;
}
.ris-gray {
    background: #efefef;
    padding: 1vw;
    border-radius: 1vw;
}
.ris-gray ul {
    padding-left: 2.2vw;
}
.wp-block-group.ris-gray.is-layout-constrained.wp-block-group-is-layout-constrained {
    margin-bottom: 1vw;
}
.smb-spider-slider>.spider__dots {
    margin: 0px !important;
}
.ris-box03-option {
    gap: 4vw;
}
.ris-box03-option p {
    margin-bottom: 0.6vw !important;
}
.ris-box03-option h3 {
    border-bottom: dotted 2px #bebebe;
    padding-bottom: 0.4vw;
    margin-bottom: 0.4vw !important;
}
.ris-box03-option img {
    box-shadow: 2px 2px 8px #c6c6c6;
}
.ris-box04 img {
    border-radius: 2vw;
}
.ris-step {
    gap: 4vw;
}
.note-with-icon {
    display: flex;
    align-items: flex-start;
    gap: 0.5em;
    margin-top: 1.5vw !important;
}
.note-symbol {
    flex-shrink: 0;
    font-weight: bold;
    color: #0F2253;
    line-height: 1.4;
    font-size: 1.2vw;
}
.note-text {
    margin: 0;
    line-height: 1.6;
}
.step-flow {
    position: relative;
    padding-left: 5.5vw;
}
.step-flow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 3.2vw;
    width: 0.19vw;
    height: 100%;
    background: repeating-linear-gradient(to bottom, #0F2253, #0F2253 4px, transparent 4px, transparent 8px);
    z-index: 0;
}
.step-item {
    position: relative;
    margin-bottom: 3rem;
}
.step-marker {
    position: absolute;
    left: -4.7vw;
    top: 0;
    width: 5vw;
    height: 5vw;
    background-color: #0F2253;
    color: #fff;
    font-weight: bold;
    font-size: 1.2vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.step-content {
    margin-left: 0.6vw;
}
.step-content h4 {
    margin: 0 0 -0.1vw 0;
    font-size: 1.3vw;
    color: #0F2253;
}
.step-content p {
    font-size: 1.1vw;
    color: #333;
    line-height: 1.3;
    margin-left: 0.8vw;
}
.ris-illust {
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.ris-illust.top-left.square1 {
    position: absolute;
    top: -17vw;
    left: -16vw;
    width: 19vw;
    z-index: -1;
    pointer-events: none;
    padding: 0;
}
.ris-illust.bottom-right.square2 {
    bottom: -27vw;
    right: -13vw;
    width: 20vw;
    padding: 0;
}
.ris-illust.bottom-left.square3 {
    bottom: 3vw;
    left: -13vw;
    width: 20vw;
    padding: 0;
}
.ris-illust.top-right.square4 {
    position: absolute;
    top: -5vw;
    right: -11vw;
    width: 12vw;
    z-index: -1;
    pointer-events: none;
}
.ris-illust.bottom-left.square5 {
    bottom: -11vw;
    left: -14vw;
    width: 30vw;
}
.ris-illust.bottom-left.illust1 {
    bottom: -5vw;
    left: 5vw;
    width: 14vw;
    z-index: 1;
}
/* ====================================================================================
   レポート既読管理システム
   ==================================================================================== */
.report-message {
    gap: 1vw;
    margin-bottom: 7vw;
    background: #E8E8E8;
    border-radius: 2vw;
    padding: 2vw 2.5vw;
}
.report-message img {
    max-width: 85%;
    margin-right: 0;
    margin-left: auto;
    /* ←これで右寄せにもなる */
    display: block;
}
.report-message h2 {
    border-bottom: 2px solid #bfbfbf;
    color: #0F2253;
    margin-bottom: 1.4vw !important;
}
.report-points-columns {
    gap: 1vw;
}
.report-point-item {
    position: relative;
    padding: 0vw 0vw 0vw 0vw;
    border: 0.19vw solid #0F2253;
    border-radius: 2vw;
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    height: 22.5vw;
}
.report-icon {
    position: absolute;
    top: -2.6vw;
    left: 50%;
    transform: translateX(-50%);
    width: 5vw;
    height: 5vw;
    z-index: 1;
}
.report-icon img {
    width: 100%;
    height: auto;
    display: block;
}
.report-point-item ul,
.report-point-item p {
    text-align: left;
}
.report-point-item h3 {
    text-align: center;
    color: #fff;
    height: 7vw;
    background: #0F2253;
    padding: 2.5vw 1vw 1vw 1vw;
    border-radius: 1.8vw 1.8vw 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.report-point-item ul {
    font-size: 1.1vw;
    padding: 0 1vw 1vw 2vw;
    margin-bottom: 0 !important;
}
.report-point-item p {
    font-size: 1.05vw;
    padding: 0 1vw 1vw 1vw;
}
.report-box01 {
    margin-bottom: 9vw;
}
.report-box01 h2 {
    margin-bottom: 4vw !important;
}
.report-box02 {
    margin-bottom: 7vw;
    gap: 4vw;
}
.report-box02 h2 {
    border-bottom: 2px solid #bfbfbf;
    margin-bottom: 1.4vw !important;
}
.report-box02 img {
    margin-bottom: 2vw;
    box-shadow: 2px 2px 8px #c6c6c6;
}
.report-message, .report-box01, .report-box02 {
    position: relative;
    z-index: 0;
}
.report-illust.top-left.square1 {
    position: absolute;
    top: -11vw;
    left: -13vw;
    width: 19vw;
    z-index: -1;
    pointer-events: none;
    padding: 0;
}
.report-illust {
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.report-illust.bottom-right.square2 {
    bottom: 8vw;
    right: -14vw;
    width: 21vw;
    padding: 0;
    box-shadow: none;
}
/* ====================================================================================
   導入事例
   ==================================================================================== */
.case-studies-message {
    display: flex;
    gap: 2rem;
    /* カラム間の余白 */
    align-items: flex-start;
    margin-bottom: 7vw;
}
.case-studies-message>.wp-block-column:first-child {
    flex: 0 0 30%;
    /* 幅30%、縮まない、広がらない */
}
.case-studies-message>.wp-block-column:last-child {
    flex: 1;
    /* 残りのスペースをすべて使う */
}
.case-heading {
    display: flex;
    align-items: center;
    gap: 1em;
    margin-bottom: 1.2em;
    position: relative;
}
.case-badge {
    width: 7vw;
    aspect-ratio: 1 / 1;
    background-image: url('/wp-content/uploads/2025/05/message-box02.webp');
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-align: center;
    z-index: 2;
}
.case-label {
    font-size: 1.1vw;
    font-weight: bold;
    line-height: 1.2;
}
.case-number {
    font-size: 2.2vw;
    font-weight: bold;
    line-height: 1;
}
.case-title-wrapper {
    flex: 1;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}
.case-title {
    font-weight: bold;
    color: #0F2253;
    margin: 0 0 0.4em;
    font-size: 1.7vw;
    z-index: 1;
}
.case-line {
    position: relative;
    background-image: repeating-linear-gradient(-45deg, #0F2253 0 2.5px, transparent 1.5px 7px);
    background-repeat: no-repeat;
    background-size: 100% 1vw;
    background-position: bottom;
    height: 0.8vw;
    transform: translateZ(0);
    top: -0.4vw;
    left: -2vw;
}
.case-box h3 {
    border-bottom: dotted 2px #bebebe;
    padding-bottom: 0.4vw;
    margin-bottom: 0.4vw !important;
}
.case-box {
    margin-bottom: 4vw !important;
    gap: 4vw;
}
.case-area1 {
    margin-bottom: 7vw;
    display: none;
    /*掲載OKなら消す*/
}
.case-effect {
    background: #E8E8E8;
    padding: 1.5vw;
    border-radius: 1.5vw;
}
/* ====================================================================================
   お知らせ
   ==================================================================================== */
.blog .page-header {
    background: url(/wp-content/uploads/2025/06/news-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.post-template-default .page-header {
    background: url(/wp-content/uploads/2025/06/news-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.archive .page-header {
    background: url(/wp-content/uploads/2025/06/news-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.btn-primary {
    background-color: #0F2253;
    border: none !important;
}
.entry-meta-item-updated {
    display: none;
}
.entry-meta-item-author {
    display: none;
}
.entry-title {
    border-bottom: 1px solid #a2a2a2;
    padding-bottom: 14px;
}
.entry-header {
    margin-bottom: 3.8vw;
}
/* ====================================================================================
   お問い合わせ
   ==================================================================================== */
.page-id-19 .page-header {
    background: url(/wp-content/uploads/2025/06/inquiry-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
/* ====================================================================================
   会社案内
   ==================================================================================== */
.page-id-18 .page-header {
    background: url(/wp-content/uploads/2025/06/company-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.company-message {
    display: flex;
    justify-content: flex-end;
}
.company-message img {
    width: 32vw;
}
.company-box01 {
    margin-bottom: 2vw;
}
.syomei {
    display: flex;
    justify-content: flex-end;
}
.syomei img {
    width: 14vw;
    height: auto;
}
.company-message img {
    width: 32vw;
    border-radius: 2vw;
}
.company-box03 {
    margin-bottom: 7vw;
}
.company-message, .company-box02, .company-box03 {
    position: relative;
    z-index: 1;
}
.company-illust {
    position: absolute;
    z-index: -1;
}
.company-illust.bottom-right.square1 {
    bottom: -10vw;
    right: -13vw;
    width: 20vw;
    padding: 0;
}
.company-illust.bottom-left.square2 {
    bottom: -22vw;
    left: -6vw;
    width: 20vw;
}
.company-illust.bottom-left.square3 {
    bottom: -10vw;
    left: 8vw;
    width: 12vw;
}
.company-box02 {
    position: relative;
    background-color: #e8e8e8;
    padding-top: 3vw;
    padding-bottom: 3vw;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    z-index: 0;
    max-width: 100vw !important;
    padding-left: 10vw;
    padding-right: 10vw;
    margin-bottom: 21vw;
}
.company-box02.section-with-wave::before, .company-box02.section-with-wave::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 15vw;
    background-repeat: no-repeat;
    background-size: 100% auto;
    z-index: -2;
}
.company-box02.section-with-wave::before {
    top: -13vw;
    background-image: url(/wp-content/uploads/2025/05/wave-top.svg);
}
.company-box02.section-with-wave::after {
    bottom: -14vw;
    background-image: url(/wp-content/uploads/2025/05/wave-bottom.svg);
    background-position: center bottom;
}
/* ====================================================================================
   採用情報
   ==================================================================================== */
.page-id-40 .page-header {
    background: url(/wp-content/uploads/2025/06/careers-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.careers-message {
    gap: 6vw;
    margin-bottom: 7vw;
}
.careers-message img {
    border-radius: 2vw;
    margin-top: 3vw;
}
.careers-box01 .wp-block-columns {
    gap: 6vw;
    margin-bottom: 7vw;
}
.careers-box01 img {
    border-radius: 2vw;
}
.careers-box02 {
    gap: 6vw;
    margin-bottom: 7vw;
}
/* POINTバッジ */
.career-point {
    position: relative;
}
.point-label {
    display: inline-block;
    background-color: #0F2253;
    color: #fff;
    font-weight: bold;
    font-size: 1vw;
    padding: 0.4vw 1.2vw;
    border-radius: 4vw;
    position: absolute;
    z-index: 1;
    top: -1vw;
}
/* 東北メディサで働く魅力 */
.careers-box01 .point-box {
    background-color: #f2f2f2;
    padding: 1.9vw 1.5vw 1.5vw 1.5vw;
    border-radius: 1vw;
    margin-top: 2vw !important;
}
.careers-box01 .point-box .point-heading {
    color: #0F2253;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0.6vw;
    padding-bottom: 0;
}
.careers-box03 {
    margin-bottom: 7vw;
}
.careers-box04 {
    margin-bottom: 7vw;
}
/*採用の流れ*/
.careers-flow {
    gap: 1.6vw;
}
.step-card {
    position: relative;
    background-color: #f2f2f2;
    border-radius: 1.5vw;
    padding: 2.5vw 1.5vw 1.5vw;
    flex: 1 1 calc(25% - 2vw);
    text-align: center;
}
.step-number {
    position: absolute;
    top: 1vw;
    left: 1.5vw;
    text-align: left;
}
.step-label {
    display: block;
    font-size: 1vw;
    font-weight: bold;
    color: #0F2253;
    text-transform: uppercase;
    text-align: center;
}
.step-index {
    font-size: 2.17vw;
    font-weight: bold;
    color: #0F2253;
    position: relative;
    display: inline-block;
    margin-top: 0vw;
    text-align: center;
}
/* 線の下と左ドット */
.step-index::after {
    content: "";
    display: block;
    width: 1.99vw;
    height: 0.29vw;
    background-color: #0F2253;
    margin-top: 0.1vw;
    border-radius: 4vw;
    position: relative;
    left: 0.59vw;
}
.step-index::before {
    content: "";
    position: absolute;
    width: 0.36vw;
    height: 0.35vw;
    background-color: #941818;
    border-radius: 50%;
    left: -0.001vw;
    top: 3.18vw;
}
.step-icon {
    height: 13vw;
}
.step-icon img {
    object-fit: contain;
    margin: 3.6vw auto 1.5vw;
    max-height: 8vw;
    width: 13vw;
}
.step-title {
    font-size: 1.25vw;
    font-weight: bold;
    color: #0F2253;
    margin-bottom: 0.7vw !important;
}
.step-desc {
    text-align: left;
    font-size: 1.06vw;
    color: #333;
    line-height: 1.6;
}
/*採用ページのお問い合わせフォーム*/
.careers-box04 .custom-contact {
    max-width: 100% !important;
    width: 100% !important;
}
.careers-box04 .wp-block-columns {
    gap: 6vw;
}
.careers-Message, .careers-box01, .careers-box02, .careers-box03, .careers-box04 {
    position: relative;
    z-index: 1;
}
.careers-illust {
    position: absolute;
    pointer-events: none;
    z-index: -1;
}
.careers-illust.top-left.square1 {
    position: absolute;
    top: -3vw;
    left: -16vw;
    width: 24vw;
    pointer-events: none;
    transform: rotate(-9deg);
}
.careers-illust.bottom-right.square2 {
    bottom: -17vw;
    right: -13vw;
    width: 18vw;
}
.careers-illust.top-left.illust1 {
    position: absolute;
    top: -21vw;
    left: 3vw;
    width: 19vw;
    pointer-events: none;
    transform: rotate(-11deg) scaleX(-1);
    z-index: 1;
}
.careers-illust.top-left.square3 {
    position: absolute;
    top: -35vw;
    left: -14vw;
    width: 22vw;
    pointer-events: none;
    transform: rotate(47deg) scaleX(-1);
}
.careers-illust.bottom-right.square4 {
    bottom: 42vw;
    right: -14vw;
    width: 24vw;
}
/*エンゲージ*/
.engage-bnr {
    max-width: 75%;
    margin: auto;
    padding-top: 1vw;
}
.engage-bnr img {
    transition: transform 0.3s ease;
}
.engage-bnr:hover img {
    transform: translateY(5px);
    /* 下に5px移動 */
}
/* ====================================================================================
   プライバシーポリシー
   ==================================================================================== */
.page-id-3 .page-header {
    background: url(/wp-content/uploads/2025/06/privacy-policy-header.webp) no-repeat;
    background-size: cover;
    background-position: 0 -3rem;
}
.button-wrapper.left.privacy-form {
    margin-top: -3px !important;
}
.privacy-indent1 {
    padding-left: 4vw;
}
.privacy-indent2 {
    padding-left: 6vw;
}
.privacy-form {
    margin-bottom: 7vw;
}
/* ====================================================================================
   お問い合わせ
   ==================================================================================== */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #0f2253;
}
.tel-wrapper {
    text-align: center;
}
.tel-box {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.2vw;
    font-weight: bold;
    color: #0F2253;
    gap: 1.1vw;
    text-decoration: none;
    transition: color 0.3s ease;
}
.tel-box i {
    color: #0F2253;
    font-size: 2.2vw;
    transition: color 0.3s ease;
}
.tel-box:hover {
    color: #941818;
}
.tel-hours {
    font-size: 1.15vw;
    margin-top: 1vw;
}
/* ====================================================================================
   カスタムフッター
   ==================================================================================== */
/* デフォルトの site-footer-copyright を非表示 */
.site-footer-copyright {
    display: none;
}
.custom-footer {
    background: url('/wp-content/uploads/2025/05/main-visual-bg.webp') no-repeat center center;
    background-size: cover;
    color: #e0e0f0;
    padding: 5vw 2vw 2vw;
}
.custom-footer a {
    color: #e0e0f0;
    text-decoration: none;
}
.custom-footer a:hover {
    text-decoration: underline;
}
.footer-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 4vw;
    align-items: center;
}
.footer-left {
    flex: 0 1 50%;
    min-width: 300px;
}
.footer-left .footer-logo img {
    height: 3.5vw;
    margin-bottom: 1.5vw;
}
.footer-left p {
    margin: 6px 0;
    line-height: 1.8;
}
.footer-left .privacy-link,
.footer-left .privacy-policy {
    margin-top: 16px;
    display: inline-block;
    font-size: 1vw;
}
.footer-left .footer-company-info {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-left .footer-company-info li {
    margin-bottom: 8px;
    line-height: 1.1;
}
.footer-right {
    flex: 0 1 45%;
    display: flex;
    justify-content: flex-start;
    gap: 5vw;
    min-width: 300px;
    font-size: 1.0vw;
}
.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-column ul li {
    margin-bottom: 19px;
    text-align: left;
    white-space: nowrap;
}
.footer-bottom {
    text-align: center;
    margin-top: 2vw;
    font-size: 1.2vw;
}
ul.footer-company-info {
    font-size: 1.09vw;
}
.footer-right ul {
    font-size: 1.15vw;
}
/* ====================================================================================
   レスポンシブ
   ==================================================================================== */
@media (min-width: 2560px) {
	.custom-header {
    padding: 30.72px 51.2px;
}
	.header-logo img {
    height: 45px;
}
	.header-menu li a {
    font-size: 21px;
}
	.btn {
    padding: 10px 37px;
    font-size: 18px;
}
	.main-visual-text .large {
    font-size: 79px;
}
	.main-visual-text {
    font-size: 65px;
}
	h2 {
    font-size: 32px;
}
	p {
    font-size: 20px;
}
	.circle-button {
    padding: 8px 10px 8px 76px;
    font-size: 20px;
    gap: 49px;
}
	.button-wrapper {
    margin-top: 73px !important;
}
	.btn-circle {
    width: 27px;
    height: 27px;
}
	.container, .container-lg, .container-md, .container-sm, .container-xl, .wp-block-group.is-layout-constrained {
    max-width: 1600px;
}
	.news-area h2 {
    font-size: 38px;
    margin-bottom: 40px !important;
}
	h3 {
    font-size: 25px;
}
	.news-date_wrapper {
    gap: 31px;
    min-width: 350px;
}
	.news-area .news {
    padding: 4px 25px;
}
	.news-classification div {
    font-size: 18px;
}
	.news-area .blog {
    padding: 4px 34.5px;
}
	
	.news-row_wrapper {
    font-size: 21px;
		    padding: 25px 0 25px 30px;
}
	.service-area {
        padding-left: 480px;
        padding-right: 480px;
    }
	.recruit-area {
    padding-left: 480px;
    padding-right: 480px;
}
	.company-box02 {
	padding-left: 480px;
    padding-right: 480px;	
	}
	
	    .top-left .main-illust {
        width: 199.68px;
        top: -145.92px;
        left: 0px;
    }
	.top-left .bg-box {
    width: 263px;
        top: -290px;
    left: -140px;
}
	.top-right .main-illust {
    width: 380px;
        top: -40.96px;
        right: -261.12px;
}
	.top-right .bg-box {
    width: 299.52px;
		top: -153.6px;
		    right: -409.6px;
}
	    .bottom-left .bg-box {
        width: 646.56px;
        bottom: -889.02px;
        left: -856.692px;
    }
	.bottom-left .main-illust {
    width: 261.12px;
    bottom: -245px;
    left: -256px;
}
	.bottom-right .bg-box {
    width: 250px;
    bottom: -455px;
    right: 66px;
}
	.bottom-right .main-illust {
    width: 260px;
    bottom: -325px;
    right: 0px;
}
	.service-illust.left-top {
    top: -358.4px;
    left: 179.2px;
    width: 307.2px;
}
	.service-number-img {
    width: auto;
    height: 153px;
    flex-shrink: 0;
}
	.service-heading-text h3 {
    font-size: 30px;
    margin: 18px 0 0 0;
    padding: 0 0 3px 0;
}
	.service-heading-text h4 {
    font-size: 25px;
    margin: -6px 0 0 0px;
    padding: 10px 0 0 0;
}
	.service-area-img01 {
    width: 90%;
}
	.service-area-img02 {
    width: 85%;
}
	.service-heading-box {
    display: flex;
    margin-bottom: 45px;
}
	.service-box01 {
    margin-bottom: 165px !important;
}
	.service-area .sub-text {
    margin-bottom: 140px !important;
}
	.service-illust.right-top {
    top: 76.8px;
    right: 256px;
    width: 307px;
}
	.service-illust.left-bottom {
    bottom: 0px;
    left: 204px;
    width: 460px;
}
	.service-illust.right-bottom {
    bottom: -256px;
    right: 153.6px;
    width: 256px;
}
	.system-deco-box {
    left: -281px;
    top: 742px;
    width: 409px;
}
	.system-area .sub-text {
    margin-bottom: 100px !important;
}
	.system-area h4 {
    padding: 6px 24px;
    font-size: 20px;
}
	
	.system-area h3 {
    font-size: 25px;
}
	.point-box p {
    padding-left: 43px;
}
	.point-box {
    padding-left: 40px;
}
	.point3 {
    gap: 3vw;
}
	.recruit-content h3 {
    font-size: 25px;
}
	.recruit-content p {
    font-size: 20px;
}
	.recruit-illust.top-left.square2 {
    top: -230px;
    left: 204px;
    width: 486px;
}
	.recruit-illust.top-left.square1 {
    top: -588px;
    left: 153px;
    width: 256px;
}
	recruit-illust.bottom-right.square1 {
    bottom: -230.4px;
    right: 435.2px;
    width: 563.2px;
}
	.recruit-illust.bottom-right.square2 {
    bottom: -537.6px;
    right: -76.8px;
    width: 409.6px;
}
	.custom-contact input[type="text"], .custom-contact input[type="tel"], .custom-contact input[type="email"], .custom-contact input[type="file"], .custom-contact textarea, .custom-contact select {
    padding: 20px 25px;
    width: 100%;
    font-size: 20px;
}
	span.tenpu {
    font-size: 19px;
}
	.custom-contact input[type="checkbox"] {
    width: 44px;
    height: 44px;
}
	.custom-contact p input[type="submit"] {
    padding: 10px 128px;
    font-size: 23px;
}
	.footer-left .footer-logo img {
    height: 68px;
}
	ul.footer-company-info {
    font-size: 20PX;
}
	.footer-left .privacy-link, .footer-left .privacy-policy {
    margin-top: 40px;
    font-size: 20PX;
}
	.footer-bottom {
    font-size: 21PX;
}
	.footer-right ul {
    font-size: 21PX;
}
	.footer-column ul li {
    margin-bottom: 35px;
}
	.custom-footer {
    padding: 118px 51.2px 51.2px;
}
	
	.page-header-title, h1.page-header-title {
    font-size: 34px;
    padding-top: 100px;
}
	.page-header {
    min-height: 384px;
}
	.page-id-3 .page-header {
    background-position: 0 65%;
}
	.page-id-35 .page-header {
    background-position: 0 80%;
}
	.error404 .page-header {
    background-position: 0 80%;
}
	.page-id-38 .page-header {
    background-position: 0 52%;
}
	.blog .page-header {
    background-position: 0 69%;
}
	.post-template-default .page-header {
    background-position: 0 69%;
}
	.archive .page-header {
    background-position: 0 69%;
}
	.page-id-18 .page-header {
    background-position: 0 47%;
}
	.page-id-40 .page-header {
    background-position: 0 66%;
}
	.page-id-19 .page-header {
    background-position: 0 62%;
}
	
	
	
	ol, ul {
    font-size: 20px;
}
	.header-menu li.menu-item-has-children>.sub-menu li a {
    padding: 10px 20px;
    font-size: 21px;
}
	    .site-body {
        padding: 150px 0 150px;
    }
	
	.products-box01 .circle-button {
    font-size: 20px;
    padding: 8px 10px 8px 41%;
}
	.products-box02::before, .products-box03::before {
    width: 281px;
}
	
	.products-box02 img {
    width: 641.904px;
    padding: 25.6px 25.6px 51.2px 0;
}
	.products-box03 img {
    width: 18.98vw;
    padding: 25.6px 25.6px 51.2px 0;
}
	.products-box02 h3, .products-box03 h3 {
    font-size: 32px;
    padding-bottom: 8px;
}
	.products-box01 h4 {
    font-size: 24px;
}
	.products-box01 p {
    height: 5vw;
    padding-bottom: 3vw;
}
	.products-box02 figure.wp-block-image.aligncenter.size-full img {
    max-height: 500px !important;
    width: auto;
}
	.products-box03 figure.wp-block-image.aligncenter.size-full img {
    max-height: 500px !important;
    width: auto;
}
	.products-illust.top-left.square1 {
    top: 435.2px;
    left: -281.6px;
    width: 332.8px;
}
	.products-illust.bottom-right.square2 {
    bottom: 588.8px;
    right: -358.4px;
    width: 384px;
}
	.ris-message {
    border-radius: 35px;
}
	
	.ris-message h2 {
    margin-bottom: 18px !important;
}
	.ris-box01 h2 {
    margin-bottom: 99px !important;
}
	.ris-point-item h3 {
    height: 107px;
    padding: 46px 22px 22px 22px;
		border-radius: 30px 30px 0 0;
}
	
	.ris-icon {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 98px;
    z-index: 1;
}
	
	.ris-point-item ul {
    font-size: 20px;
}
	
	.ris-point-item p {
    font-size: 20px;
}
	.ris-point-item {
    height: 422.4px;
		border-radius: 35px;
		border: 3px solid #0F2253;
}
	.ris-gray {
    border-radius: 17px;
}
	.products-box02, .products-box03 {
    padding: 2vw;
    border-radius: 35px;
}
	
	.products-box03::before {
    top: -4%;
}
	.products-box02::before {
    top: -4%;
}
	h4 {
    font-size: 24px;
}
	.ris-gray ul {
    padding-left: 41px;
}
	.ris-box02 span {
    font-size: 21px;
    margin-left: 21px;
}
	
	.ris-illust.top-left.square1 {
    top: -384px;
    left: -230px;
    width: 358px;
}
	.ris-illust.bottom-right.square2 {
    bottom: -588.8px;
    right: -281.6px;
    width: 358.4px;
}
	.ris-illust.bottom-left.square3 {
    bottom: -102.4px;
    left: -204.8px;
    width: 332.8px;
}
	
	.ris-illust.top-right.square4 {
    top: -76.8px;
    right: -512px;
    width: 281.6px;
}
	.ris-illust.bottom-left.square5 {
    bottom: -409.6px;
    left: -332.8px;
    width: 486.4px;
}
	
	.ris-illust.bottom-left.illust1 {
    bottom: -51.2px;
    left: 76.8px;
    width: 256px;
}
	.note-symbol {
    font-size: 20px;
		line-height: 1.6;
}
	.step-marker {
    left: -127px;
    width: 100px;
    height: 100px;
    font-size: 21px;
}
	.step-flow::before {
    left: 2.5vw;
    width: 4px;
    height: 33vh;
}
	.step-content h4 {
    font-size: 25px;
}
	.step-content p {
    font-size: 20px;
    line-height: 1.3;
    margin-left: 16px;
}
	.step-item {
    margin-bottom: 66px;
}
	    .report-message h2 {
        margin-bottom: 18px !important;
    }
	    .report-point-item h3 {
        height: 107px;
        padding: 46px 22px 22px 22px;
        border-radius: 30px 30px 0 0;
    }
	
	    .report-icon {
        top: -60px;
        width: 98px;
    }
	
	.report-point-item p {
    font-size: 20px;
}
	.report-point-item {
    border: 3px solid #0F2253;
    border-radius: 35px;
    height: 450px;
}
	
	.report-box02 img {
    margin-bottom: 30px;
}
	.report-message {
    border-radius: 35px;
}
	.report-illust.top-left.square1 {
    top: -281.6px;
    left: -281.6px;
    width: 358.4px;
}
	
	.report-illust.bottom-right.square2 {
    bottom: -230.4px;
    right: -358.4px;
    width: 332.8px;
}
	.report-message img {
    max-width: 74%;
}
	    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_title, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_title {
        font-size: 26px;
    }
	.vk_post_date.media-date.published {
    font-size: 18px;
}
	    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt {
        font-size: 20px;
    }
	.vk_post .vk_post_btn {
    font-size: 17px;
    padding: 7px 32px;
}
	.vk_post_imgOuter_singleTermLabel {
    font-size: 13px;
}
	.entry-meta {
    font-size: 18px;
}
	.entry-meta-data-list dt {
    font-size: 15px;
}
	.entry-meta-data-list dd {
    font-size: 15px;
}
	.point-label {
    font-size: 20px;
    padding: 7px 26px;
    top: -19px;
    left: 14px;
}
	.careers-box01 .point-box {
    padding: 36px 25px 25px 25px;
    border-radius: 17px;
}
	
.step-icon img {
    margin: 109.16px auto 19.4px;
    max-height: 150.6px;
    width: 256px;
}
	.step-label {
    display: block;
    font-size: 25px;
}
	
	.step-label {
    font-size: 25px;
}
	.step-index {
    font-size: 55px;
    margin-top: -15px;
}
	.step-index::before {
    width: 9px;
    height: 9px;
    left: -0.0256px;
    top: 81.408px;
}
	.step-index::after {
    width: 50.944px;
    height: 7.424px;
    margin-top: 2.56px;
    left: 15.104px;
}
	.step-title {
    font-size: 26px;
		    margin-bottom: 5px !important;
}
	.step-icon {
    height: 281px;
}
	.engage-bnr {
    max-width: 60%;
}
	    .career-point .point-box p {
        padding-left: 0px;
    }
	.careers-illust.top-left.square1 {
    top: -230.4px;
    left: -537.6px;
    width: 409.6px;
}
	
	.careers-illust.bottom-right.square2 {
    bottom: -204.8px;
    right: -332.8px;
    width: 230.4px;
}
	.careers-illust.top-left.square3 {
    top: -460.8px;
    left: -435.2px;
    width: 384px;
}
	
	.careers-illust.top-left.illust1 {
    top: -563.2px;
    left: -179.2px;
    width: 384px;
}
	.careers-illust.bottom-right.square4 {
    bottom: 1075.2px;
    right: -512px;
    width: 409.6px;
}
	.syomei img {
    width: 230.4px;
}
	.company-illust.bottom-left.square2 {
    bottom: -563.2px;
    left: -153.6px;
    width: 384px;
}
	
	.company-illust.bottom-left.square3 {
    bottom: -256px;
    left: 128px;
    width: 256px;
}
	.tel-box {
    font-size: 56.32px;
    gap: 1.1vw;
}
	.tel-hours {
    font-size: 22px;
    margin-top: 12px;
}
	
	

	
	
	
	
	
	
	
}
/* タブレット縦向き（例：iPad Pro縦向き）やスマホに適用される */
@media screen and (max-width: 1024px) and (orientation: portrait) {
    .main-visual-person {
        background-image: url(/wp-content/uploads/2025/06/main-visual-person-tablet.webp);
        background-position: center bottom;
        aspect-ratio: 3 / 4;
    }
    .header-logo img {
        height: 3.99vw;
    }
    /*ハンバーガーメニュー*/
    .custom-hamburger-button {
        display: block;
    }
    .header-nav {
        display: none !important;
    }
    .custom-fullscreen-menu.open {
        display: flex;
    }
    .main-visual-text .large {
        font-size: 4.89vw;
    }
    .main-visual-text {
        font-size: 3.79vw;
    }
    p {
        color: #3e3e3e;
        font-size: 1.5vw;
    }
    ul {
        font-size: 1.5vw;
    }
    h2 {
        font-size: 2.5vw;
    }
    .news-area h2 {
        font-size: 3vw;
    }
    h3 {
        font-size: 1.9vw;
    }
    h4 {
        font-size: 1.6vw;
    }
    ol {
        font-size: 1.5vw;
    }
    .circle-button {
        padding: 0.7vw 0.7vw 0.7vw 5vw;
        font-size: 1.35vw;
        gap: 4vw;
    }
    .news-row_wrapper {
        padding: 1.5vw 0 1.5vw 1.2vw;
        font-size: 1.39vw;
    }
    .news-date_wrapper {
        gap: 1.6vw;
        min-width: 21.4vw;
    }
    .news-classification div {
        font-size: 1.2vw;
    }
    .service-heading-box {
        margin-bottom: 2vw;
    }
    .service-number-img {
        height: 10vw;
    }
    .service-heading-text h3 {
        font-size: 2.3vw;
        margin: 1.2vw 0 0px 0;
        padding-bottom: 0.3vw;
    }
    .service-heading-text h4 {
        font-size: 1.69vw;
        line-height: 1.4;
    }
    .button-wrapper {
        margin-top: 4vw !important;
    }
    .service-area-img01 {
        width: 97%;
    }
    .service-area-img02 {
        width: 96%;
    }
    .system-area h4 {
        font-size: 1.5vw;
        position: absolute;
        top: -1.5vw;
    }
    .system-area h3 {
        font-size: 1.75vw;
    }
    .system-area .wp-block-columns {
        flex-direction: column !important;
    }
    .system-area .system-area-img01 {
        width: 80%;
        margin: auto;
    }
    /*コンテンツ幅*/
    .container, .container-lg, .container-md, .container-sm, .container-xl, .wp-block-group.is-layout-constrained {
        max-width: 86vw;
    }
    /*コンテンツ幅*/
    .service-area {
        padding-left: 7vw;
        padding-right: 7vw;
    }
    /*コンテンツ幅*/
    .recruit-area {
        padding-left: 7vw;
        padding-right: 7vw;
    }
    /*コンテンツ幅*/
    .custom-contact {
        max-width: 100% !important;
    }
    /*コンテンツ幅*/
    .company-box02 {
        padding-left: 7vw;
        padding-right: 7vw;
    }
    .top-left .bg-box {
        width: 16.3vw;
    }
    .top-left .main-illust {
        width: 10.8vw;
    }
    .top-right .bg-box {
        width: 18.7vw;
    }
    .top-right .main-illust {
        width: 21.3vw;
    }
    .bottom-left .main-illust {
        width: 15.2vw;
        bottom: -10.7vw;
    }
    .bottom-left .bg-box {
        width: 25vw;
        bottom: -20vw;
    }
    .bottom-right .bg-box {
        width: 14.1vw;
    }
    .bottom-right .main-illust {
        width: 15.2vw;
        right: -1vw;
    }
    .service-illust.left-top {
        width: 17vw;
    }
    .service-illust.right-top {
        right: -8vw;
        width: 22vw;
    }
    .service-illust.left-bottom {
        bottom: 6vw;
        left: -5vw;
        width: 26vw;
    }
    .service-illust.right-bottom {
        bottom: -16vw;
        right: 8vw;
        width: 19vw;
    }
    .system-deco-box {
        left: -9vw;
        top: 17vw;
        width: 29vw;
    }
    .reasons-area h3 {
        height: 7vw;
    }
    .system-area .point-box {
        margin-bottom: 4vw;
    }
    .point-box {
        background: #e8e8e8;
        padding: 1.5vw;
        border-radius: 1vw;
    }
    .reasons-area .wp-block-columns {
        flex-direction: column !important;
    }
    .reasons-area .wp-block-column {
        width: 63%;
        margin-bottom: 5vw;
        margin-left: auto;
        margin-right: auto;
    }
    .recruit-illust.top-left.square2 {
        left: -4vw;
        width: 30vw;
    }
    .recruit-illust.top-left.square1 {
        left: 16vw;
        width: 17vw;
    }
    .recruit-illust.bottom-right.square1 {
        bottom: -5vw;
        right: 2vw;
        width: 34vw;
    }
    .recruit-illust.bottom-right.square2 {
        bottom: -29vw;
        right: -5vw;
        width: 22vw;
    }
    .custom-contact input[type="text"], .custom-contact input[type="tel"], .custom-contact input[type="email"], .custom-contact input[type="file"], .custom-contact textarea, .custom-contact select {
        padding: 0.9vw 1vw;
        font-size: 1.5vw;
    }
    span.tenpu {
        font-size: 1.3vw;
    }
    .custom-contact p input[type="submit"] {
        font-size: 1.6vw;
    }
    ul.footer-company-info {
        font-size: 1.39vw;
    }
    .footer-right ul {
        font-size: 1.5vw;
    }
    .footer-bottom {
        font-size: 1.5vw;
    }
    .page-header-title, h1.page-header-title {
        font-size: 2.5vw;
        padding-top: 1.9vw;
    }
    .products-message>.wp-block-column:first-child {
        flex: 0 0 auto;
        /* 幅は中の内容に合わせて自動 */
        white-space: nowrap;
        /* テキストの強制改行を防ぐ */
    }
    .products-message h2 {
        white-space: nowrap;
        /* 念のためh2にも指定 */
    }
    .products-box01 {
        width: 91%;
    }
    .products-illust.top-left.square1 {
        top: -6vw;
        left: -14vw;
        width: 21vw;
    }
    .products-illust.bottom-right.square2 {
        bottom: -7vw;
        right: -18vw;
        width: 24vw;
    }
    .products-box02::before, .products-box03::before {
        width: 16vw;
    }
    .products-box02::before {
        top: -1.9vw;
        left: -1vw;
    }
    .products-box03::before {
        top: -1.9vw;
        right: -1vw;
    }
    .products-box02 h3, .products-box03 h3 {
        font-size: 1.9vw;
    }
    .products-box01 h4 {
        font-size: 1.6vw;
    }
    .products-box01 p {
        height: 14.2vw;
    }
    .products-box01 .circle-button {
        padding: 0.7vw 0.7vw 0.7vw 11vw;
        font-size: 1.35vw;
    }
    .products-box02 img {
        width: 29.4vw;
    }
    .products-box03 img {
        width: 24.9vw;
    }
    .ris-message img {
        max-width: 94%;
    }
    .ris-icon {
        top: -3.69vw;
        width: 7vw;
    }
    .ris-point-item h3 {
        padding: 3vw 1vw 1vw 1vw;
        font-size: 1.9vw;
        height: 8vw;
    }
    .ris-points-columns {
        flex-direction: column !important;
        gap: 5vw;
        /* 各カラム間の余白 */
    }
    .ris-points-columns>.wp-block-column {
        width: 100% !important;
        max-width: 100%;
    }
    .ris-point-item {
        margin-bottom: 2vw;
        height: auto;
    }
    .ris-point-item ul {
        font-size: 1.5vw;
        padding: 0 3vw 1vw 4vw;
    }
    .ris-point-item p {
        font-size: 1.45vw;
        padding: 0 2vw 1vw 2vw;
    }
    .ris-illust.top-left.square1 {
        left: -12vw;
        width: 21vw;
    }
    .ris-illust.bottom-right.square2 {
        bottom: -30vw;
        right: -18vw;
        width: 23vw;
    }
    .ris-box02 span {
        font-size: 1.4vw;
    }
    .ris-illust.top-right.square4 {
        top: -4vw;
        right: -9vw;
        width: 13vw;
    }
    .ris-illust.bottom-left.square5 {
        width: 38vw;
    }
    .ris-illust.bottom-left.illust1 {
        bottom: -2vw;
        width: 18vw;
    }
    .note-symbol {
        line-height: 1.6;
        font-size: 1.5vw;
    }
    .note-with-icon {
        gap: 0.3em
    }
    .step-marker {
        left: -4.7vw;
        width: 7vw;
        height: 7vw;
        font-size: 1.5vw;
    }
    .step-flow::before {
        left: 4.3vw;
        width: 0.25vw;
    }
    .step-content {
        margin-left: 2.6vw;
    }
    .step-content h4 {
        font-size: 1.6vw;
        padding-bottom: 0;
    }
    .step-content p {
        font-size: 1.43vw;
    }
    .report-message img {
        max-width: 92%;
    }
    .report-message {
        z-index: 1 !important;
    }
    .report-points-columns {
        flex-direction: column !important;
        gap: 5vw;
        /* 各カラム間の余白 */
    }
    .report-points-columns>.wp-block-column {
        width: 100% !important;
        max-width: 100%;
    }
    .report-point-item {
        margin-bottom: 2vw;
    }
    .report-point-item p {
        font-size: 1.5vw;
        padding: 0 2vw 2vw 2vw;
    }
    .report-icon {
        top: -3.69vw;
        width: 7vw;
    }
    .report-point-item h3 {
        padding: 3vw 1vw 1vw 1vw;
        font-size: 1.9vw;
        height: 8vw;
    }
    .report-point-item {
        height: auto;
    }
    .report-illust.bottom-right.square2 {
        bottom: 1vw;
        right: -16vw;
        width: 25vw;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt {
        font-size: 1.5vw;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_title, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_title {
        font-size: 1.8vw;
    }
    h1 {
        font-size: 2.5vw;
    }
    .point-label {
        font-size: 1.3vw;
        padding: 0.5vw 1.9vw;
    }
    .careers-box01 .point-box {
        padding: 2.9vw 1.5vw 1.5vw 1.5vw;
        margin-top: 3vw !important;
    }
    .careers-box02 {
        gap: 3vw;
    }
    .careers-illust.top-left.square3 {
        top: -42vw;
        left: -14vw;
        width: 28vw;
    }
    .careers-illust.top-left.illust1 {
        top: -26vw;
        left: 1vw;
        width: 22vw;
    }
    .step-title {
        font-size: 1.75vw;
    }
    .step-desc {
        font-size: 1.5vw;
    }
    .careers-flow {
        gap: 1vw;
    }
    .engage-bnr {
        max-width: 82%;
    }
    .company-message img {
        width: 100%;
    }
    .syomei img {
        width: 18vw;
    }
    .company-illust.bottom-left.square2 {
        bottom: -20vw;
        left: -9vw;
        width: 23vw;
    }
    .company-illust.bottom-left.square3 {
        bottom: -10vw;
        left: 7vw;
        width: 15vw;
    }
    .custom-header {
        height: 70px;
    }
}
@media screen and (max-width: 781px) {
    .main-visual-text .large {
        font-size: 6.5vw;
    }
    .main-visual-text {
        font-size: 4.8vw;
    }
    .custom-fullscreen-menu.open {
        width: 46%;
    }
    .fullscreen-menu-items li a {
        font-size: 2.2vw;
    }
    .fullscreen-menu-items li.has-submenu>.submenu-panel a {
        font-size: 2.1vw;
    }
    .fullscreen-menu-items li {
        padding: 1.9vw 2.5vw;
    }
    .fullscreen-menu-items li.has-submenu>.submenu-panel {
        padding-left: 5vw;
    }
    h2 {
        font-size: 3.2vw;
    }
    p {
        font-size: 2vw;
    }
    .circle-button {
        font-size: 1.7vw;
        padding: 0.8vw 1vw 0.8vw 7vw;
    }
    .btn-circle {
        width: 2.4vw;
        height: 2.4vw;
    }
    .news-area h2 {
        font-size: 4vw;
    }
    .news-classification div {
        font-size: 1.59vw;
    }
    .news-row_wrapper {
        padding: 1.7vw 0 1.7vw 0;
        font-size: 1.75vw;
    }
    .news-date_wrapper {
        min-width: 25.4vw;
    }
    h3 {
        font-size: 2.6vw;
    }
    .service-number-img {
        height: 12vw;
    }
    .service-heading-text h3 {
        font-size: 2.8vw;
    }
    .service-heading-text h4 {
        font-size: 2.1vw;
    }
    .service-area-img01 {
        width: 82%;
        margin: auto;
    }
    .service-area-img02 {
        width: 80%;
        margin: auto;
    }
    .service-illust.left-top {
        width: 21vw;
        top: -18vw;
        left: 5vw;
    }
    .service-illust.right-top {
        right: -13vw;
        width: 32vw;
        top: 71vw;
    }
    .service-illust.left-bottom {
        bottom: 5vw;
        left: 1vw;
        width: 41vw;
    }
    .service-illust.right-bottom {
        bottom: -17vw;
        right: -3vw;
        width: 23vw;
    }
    section.news-area {
        padding-bottom: 35vw;
    }
    .service-area .sub-text {
        margin-bottom: 7vw !important;
    }
    .service-box01 {
        margin-bottom: 12vw !important;
    }
    .service-area {
        padding-top: 4vw;
        padding-bottom: 5vw;
    }
    /*カラム順番逆転*/
    .service-box02 {
        flex-direction: column-reverse !important;
    }
    section.system-area {
        padding-top: 29vw;
        padding-bottom: 13vw;
    }
    .system-area .system-area-img01 {
        width: 93%;
        padding-bottom: 2vw;
    }
    .system-deco-box {
        left: -13vw;
        top: 28vw;
        width: 32vw;
    }
    .system-area h3 {
        font-size: 2.32vw;
    }
    .point-box {
        padding: 1.6vw 1.9vw;
    }
    .reasons-area .wp-block-column {
        width: 100%;
    }
    .reasons-area figure {
        width: 89%;
    }
    .reasons-area h3 {
        height: auto;
        font-size: 2.4vw;
    }
    section.reasons-area {
        padding-bottom: 17vw;
    }
    .recruit-content h3 {
        font-size: 2.4vw;
    }
    .recruit-content p {
        font-size: 1.9vw;
    }
    .recruit-flex {
        display: flex;
        flex-direction: column;
        /* 縦並びに変更 */
        align-items: center;
        gap: 2em;
        /* 各ブロックの余白を調整 */
    }
    .recruit-flex .recruit-image,
    .recruit-flex .recruit-content {
        width: 100%;
        text-align: center;
    }
    .recruit-flex .recruit-image img {
        max-width: 100%;
        height: auto;
    }
    .recruit-image {
        max-width: 26%;
    }
    .recruit-image.left {
        position: absolute;
        top: -20vw;
        right: 6vw;
    }
    .recruit-image.right {
        position: absolute;
        bottom: -33vw;
        left: 7vw;
    }
    .recruit-area {
        padding-top: 6vw;
        padding-bottom: 12vw;
        margin-top: 19vw;
        margin-bottom: 36vw;
    }
    .recruit-illust.bottom-right.square1 {
        bottom: -15vw;
        right: 15vw;
        width: 47vw;
    }
    .recruit-illust.top-left.square2 {
        top: -17vw;
        left: -9vw;
        width: 40vw;
    }
    .recruit-illust.top-left.square1 {
        left: 7vw;
        width: 19vw;
        top: -24vw;
    }
    .recruit-illust.bottom-right.square2 {
        bottom: -27vw;
        right: -8vw;
        width: 30vw;
    }
    .custom-contact input[type="text"], .custom-contact input[type="tel"], .custom-contact input[type="email"], .custom-contact input[type="file"], .custom-contact textarea, .custom-contact select {
        padding: 0.9vw 1vw;
        font-size: 1.9vw;
    }
    span.tenpu {
        font-size: 1.6vw;
    }
    .custom-contact input[type="checkbox"] {
        width: 3vw;
        height: 3vw;
    }
    .custom-contact p input[type="submit"] {
        font-size: 1.9vw;
        padding: 0.9vw 11.9vw;
    }
    .footer-left .footer-logo img {
        height: 4.9vw;
        margin-bottom: 2vw;
    }
    .footer-right ul {
        font-size: 1.9vw;
    }
    ul.footer-company-info {
        font-size: 1.69vw;
    }
    a.privacy-policy {
        font-size: 1.9vw;
    }
    .footer-bottom {
        font-size: 1.8vw;
    }
    .top-left .bg-box {
        width: 19.3vw;
        top: -9.9vw;
        left: -9vw;
    }
    .top-left .main-illust {
        width: 13.8vw;
        left: 1vw;
    }
    .top-right .main-illust {
        width: 25.3vw;
        top: -2.6vw;
        right: -8.2vw;
    }
    .custom-hamburger-button {
        right: 3.9vw;
    }
    .products-message {
        gap: 1vw;
        margin-bottom: 13vw;
    }
    .products-box01 {
        width: 100%;
        gap: 9vw;
        margin-bottom: 10vw;
    }
    .products-box02 img {
        width: 62.4vw;
    }
    .products-box03 img {
        width: 53.9vw;
    }
    .products-box02::before, .products-box03::before {
        width: 27vw;
    }
    .products-box02::before {
        top: -2.9vw;
        left: 0vw;
    }
    .products-box03::before {
        top: 93vw;
        right: 2vw;
    }
    .products-box02 h3, .products-box03 h3 {
        font-size: 3.1vw;
    }
    .products-box01 h4 {
        font-size: 2.6vw;
    }
    .products-box01 p {
        height: auto;
        padding-bottom: 2.9vw;
    }
    .products-box01 .circle-button {
        padding: 0.9vw 1.0vw 0.9vw 35vw;
        font-size: 1.8vw;
    }
    .products-illust.bottom-right.square2 {
        width: 28vw;
    }
    .products-illust.top-left.square1 {
        top: 2vw;
        left: -21vw;
        width: 23vw;
    }
    .page-header {
        min-height: 25vw;
    }
    .page-id-35 .page-header {
        background-position: -3vw 0vw;
    }
	.error404 .page-header {
    background-position: -3vw 0vw;
}
    .page-id-142 .page-header {
        background-position: -3vw 0vw;
    }
    .page-id-144 .page-header {
        background-position: -3vw 0vw;
    }
    .page-id-38 .page-header {
        background-position: -3vw 0vw;
    }
    .blog .page-header {
        background-position: -3vw 0vw;
    }
    .post-template-default .page-header {
        background-position: -3vw 0vw;
    }
    .archive .page-header {
        background-position: -3vw 0vw;
    }
    .page-id-18 .page-header {
        background-position: -3vw 0vw;
    }
    .page-id-40 .page-header {
        background-position: -3vw 0vw;
    }
    .page-id-19 .page-header {
        background-position: -3vw 0vw;
    }
    .page-id-3 .page-header {
        background-position: -3vw 0vw;
    }
    .page-header-title, h1.page-header-title {
        font-size: 3.3vw;
        padding-top: 5.9vw;
    }
    .ris-message {
        margin-bottom: 15vw;
    }
    .ris-message img {
        max-width: 81%;
        margin: auto;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .report-message img {
        max-width: 74%;
        margin: auto;
        padding-top: 3vw;
        padding-bottom: 2vw;
    }
    .ris-point-item h3 {
        padding: 1vw 1vw 1vw 5vw;
        font-size: 2.5vw;
        height: 8vw;
        margin-bottom: 1.2vw !important;
    }
    .ris-icon {
        top: 0.6vw;
        width: 7vw;
        left: 30%;
    }
    .ris-point-item ul {
        font-size: 1.9vw;
    }
    .ris-point-item p {
        font-size: 1.85vw;
    }
    .ris-box01 h2 {
        margin-bottom: 2.3vw !important;
    }
    .ris-points-columns {
        gap: 2.2vw;
    }
    .ris-illust.top-left.square1 {
        left: -16vw;
        width: 25vw;
        top: -24vw;
    }
    h4 {
        font-size: 2.5vw;
    }
    ul {
        font-size: 1.9vw;
    }
    .ris-gray ul {
        padding-left: 3.2vw;
    }
    .ris-box02 span {
        font-size: 1.8vw;
    }
    .function-box2 {
        gap: 1vw;
    }
    .ris-box01, .ris-box02, .ris-box03 {
        margin-bottom: 15vw;
    }
    .ris-box03 p {
        margin-bottom: 3vw !important;
    }
    .ris-box04 {
        margin-bottom: 10vw;
    }
    .note-symbol {
        font-size: 1.9vw;
    }
    .step-marker {
        left: -4.7vw;
        width: 10vw;
        height: 10vw;
        font-size: 2.2vw;
    }
    .step-content {
        margin-left: 6.9vw;
    }
    .step-content h4 {
        font-size: 2.4vw;
        padding-bottom: 1vw;
    }
    .step-content p {
        font-size: 1.9vw;
        margin-left: 1.6vw;
    }
    .step-item {
        margin-bottom: 7vw;
    }
    .step-flow::before {
        left: 5.7vw;
        width: 0.29vw;
    }
    .ris-step {
        gap: 6vw;
    }
    .ris-illust.bottom-left.square3 {
        bottom: -9vw;
        left: -14vw;
        width: 23vw;
    }
    .ris-illust.bottom-left.square5 {
        width: 39vw;
        bottom: -35vw;
        left: -18vw;
    }
    .ris-illust.bottom-left.illust1 {
        bottom: 136vw;
        width: 19vw;
        left: 78vw;
    }
    .report-box01 h2 {
        margin-bottom: 2.3vw !important;
    }
    .report-points-columns {
        gap: 2.2vw;
    }
    .report-point-item h3 {
        padding: 1vw 1vw 1vw 5vw;
        font-size: 2.5vw;
        height: 8vw;
        margin-bottom: 1.2vw !important;
    }
    .report-icon {
        top: 0.6vw;
        width: 7vw;
        left: 32%;
    }
    .report-point-item p {
        font-size: 1.9vw;
    }
    .report-box01 {
        margin-bottom: 13vw;
    }
    .report-message {
        margin-bottom: 10vw;
    }
    .careers-message {
        gap: 1vw;
        margin-bottom: 15vw;
    }
    .careers-box01 .wp-block-columns {
        gap: 1vw;
        margin-bottom: 15vw;
    }
    .point-label {
        font-size: 1.9vw;
        padding: 0.5vw 3vw;
    }
    .careers-box01 .point-box {
        padding: 4vw 1.9vw 1.9vw 1.9vw;
        margin-top: 3vw !important;
    }
    .careers-box02 {
        gap: 8vw;
    }
    .careers-box02 {
        margin-bottom: 31vw;
    }
    .careers-box02 {
        margin-bottom: 31vw;
    }
    .careers-illust.top-left.square1 {
        top: -18vw;
        left: -15vw;
        width: 30vw;
        transform: rotate(-5deg);
    }
    .careers-illust.bottom-right.square2 {
        bottom: -14vw;
        right: -7vw;
        width: 21vw;
    }
    .careers-illust.top-left.square3 {
        top: -26vw;
        left: -14vw;
        width: 31vw;
    }
    .careers-illust.top-left.illust1 {
        top: -27vw;
        left: 23vw;
        width: 26vw;
    }
    .careers-box03 {
        margin-bottom: 15vw;
    }
    .careers-flow {
        gap: 2.5vw !important;
    }
    .step-card {
        display: flex;
        align-items: flex-start;
        padding: 2.5vw;
        text-align: left;
        gap: 2vw;
    }
    .step-number {
        flex: 0 0 auto;
        margin-right: 0.5em;
        top: 2.8vw;
        left: 2.8vw;
    }
    .step-label {
        font-size: 2vw;
    }
    .step-index {
        font-size: 4.19vw;
        margin-top: -1vw;
    }
    .step-index::before {
        width: 1vw;
        height: 1vw;
        left: 0.1vw;
        top: 5.58vw;
    }
    .step-index::after {
        width: 3.8vw;
        height: 0.64vw;
        margin-top: 0;
        left: 1.39vw;
        top: -0.3vw;
    }
    .step-icon {
        flex: 0 0 20vw;
        height: auto;
        margin: 0;
        padding-left: 7vw;
    }
    .step-icon img {
        max-height: 11vw;
        width: auto;
        margin: auto;
        display: block;
    }
    .step-title {
        font-size: 2.3vw;
        text-align: left !important;
        margin: 0 !important;
    }
    .step-desc {
        font-size: 1.9vw;
    }
    .engage-bnr {
        max-width: 57%;
    }
    .careers-box04 {
        margin-bottom: 10vw;
    }
    .careers-illust.bottom-right.square4 {
        bottom: 67vw;
        right: -17vw;
        width: 27vw;
    }
    .footer-right {
        gap: 4.5vw;
    }
    .company-box01 .wp-block-column:last-child img.wp-image-326 {
        width: 70vw;
        max-width: 100%;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .company-illust.bottom-right.square1 {
        bottom: -6vw;
        right: -15vw;
        width: 34vw;
    }
    .company-box02 {
        padding-top: 11vw;
        padding-bottom: 11vw;
        margin-bottom: 38vw;
    }
    .syomei img {
        width: 20vw;
        margin-top: 4vw;
    }
    .company-illust.bottom-left.square2 {
        bottom: -24vw;
        width: 28vw;
    }
    .company-illust.bottom-left.square3 {
        bottom: -7vw;
        left: 9vw;
        width: 17vw;
    }
    .company-box03 {
        margin-bottom: 10vw;
    }
    .tel-box {
        font-size: 4.7vw;
    }
    .tel-hours {
        font-size: 2.05vw;
    }
    .inquiry-space {
        height: 1vw !important;
    }
    ol {
        font-size: 2vw;
    }
    .custom-contact input[type="checkbox"]:checked::after {
        font-size: 2.3vw;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_title, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_title {
        font-size: 2.2vw;
    }
    .vk_post_date.media-date.published {
        font-size: 1.8vw;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt {
        font-size: 1.8vw;
    }
    h1 {
        font-size: 3.3vw;
    }
    span.published {
        font-size: 1.8vw;
    }
}
@media screen and (max-width: 681px) {
    .footer-inner {
        gap: 0vw;
    }
}
@media screen and (max-width: 624px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .wp-block-group.is-layout-constrained {
        max-width: 93vw;
    }
    .header-logo img {
        height: 30px;
    }
    .custom-hamburger-button {
        right: 27px;
    }
    .main-visual-text {
        font-size: 5vw;
        letter-spacing: 0.2vw;
    }
    .main-visual-person {
        right: -13vw;
    }
    .main-visual-text .large {
        font-size: 7vw;
    }
    section.message-area {
        padding-top: 45vw;
        padding-bottom: 48vw;
    }
    h2 {
        font-size: 3.9vw;
    }
    p {
        font-size: 2.6vw;
    }
    .circle-button {
        font-size: 2.4vw;
        padding: 0.9vw 1.5vw 0.9vw 9vw;
        gap: 5vw;
    }
    .btn-circle {
        width: 3vw;
        height: 3vw;
    }
    .button-wrapper {
        margin-top: 12vw !important;
    }
    .message-area h2 {
        margin-bottom: 9vw;
    }
    .top-left .bg-box {
        width: 25.3vw;
        top: -30.9vw;
        left: -5vw;
    }
    .top-left .main-illust {
        width: 15.8vw;
        left: 8vw;
        top: -21.7vw;
    }
    .top-right .bg-box {
        width: 27.7vw;
        top: -38vw;
        right: -15vw;
    }
    .top-right .main-illust {
        width: 32.3vw;
        top: -32.6vw;
        right: -0.2vw;
    }
    .bottom-left .bg-box {
        width: 29vw;
        bottom: -48vw;
    }
    .bottom-left .main-illust {
        width: 18.2vw;
        bottom: -32.7vw;
        left: 3vw;
    }
    .bottom-right .bg-box {
        width: 23.1vw;
        bottom: -32.8vw;
        right: 2vw;
    }
    .bottom-right .main-illust {
        width: 19.2vw;
        right: 1vw;
        bottom: -24.7vw;
    }
    .news-area h2 {
        font-size: 5vw;
    }
    .news-row_wrapper {
        padding: 2vw 0 2vw 2vw;
        font-size: 2.4vw;
    }
    .news-content {
        font-size: 2.6vw;
    }
    .news-date {
        font-size: 2.4vw;
    }
    .news-classification div {
        font-size: 1.9vw;
    }
    .news-row_wrapper {
        display: flex;
        flex-direction: column;
        gap: 0.6vw;
        align-items: flex-start;
        text-align: left;
    }
    .news-date_wrapper {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 2vw;
    }
    .news-date,
    .news-classification,
    .news-content {
        text-align: left;
    }
    .news-area .button-wrapper {
        margin-top: 8vw !important;
    }
    section.news-area {
        margin-bottom: 9vw;
    }
    .service-area {
        padding-top: 17vw;
        padding-bottom: 20vw;
    }
    .service-illust.left-top {
        width: 25vw;
        top: -20vw;
        left: 7vw;
    }
    h3 {
        font-size: 3.1vw;
    }
    .service-number-img {
        height: 18vw;
    }
    .service-heading-text h3 {
        font-size: 3.3vw;
        padding-bottom: 0.9vw;
    }
    .service-heading-text h4 {
        font-size: 2.7vw;
    }
    .service-box01 .button-wrapper.left {
        margin-top: 6vw !important;
    }
    .service-area-img01 {
        width: 92%;
    }
    .service-box01 {
        margin-bottom: 16vw !important;
        gap: 7vw;
    }
    .service-box02 .button-wrapper.right {
        margin-top: 6vw !important;
    }
    .service-area-img02 {
        width: 79%;
    }
    .service-box02 {
        gap: 7vw;
    }
    .service-illust.right-top {
        right: -14vw;
        width: 31vw;
        top: 102vw;
    }
    .service-illust.left-bottom {
        bottom: 9vw;
        left: -6vw;
        width: 43vw;
    }
    .service-illust.right-bottom {
        bottom: -19vw;
        right: 4vw;
        width: 26vw;
    }
    section.system-area {
        padding-top: 43vw;
        padding-bottom: 29vw;
    }
    .system-deco-box {
        left: -15vw;
        top: 48vw;
        width: 32vw;
    }
    .system-area h4 {
        font-size: 2.5vw;
        top: -2.5vw;
    }
    .point-box {
        padding: 5vw 3vw;
    }
    .system-area h3 {
        font-size: 3vw;
        padding-bottom: 1vw;
    }
    .system-area .point-box {
        margin-bottom: 5vw;
    }
    .service-area {
        padding-left: 4vw;
        padding-right: 4vw;
    }
    .reasons-area figure {
        width: 100%;
    }
    .reasons-area h3 {
        font-size: 3.5vw;
    }
    .reasons-area .wp-block-column {
        margin-bottom: 8vw;
    }
    .reasons-area .sub-text {
        margin-bottom: 7.5vw !important;
    }
    .recruit-area {
        padding-top: 15vw;
        padding-bottom: 33vw;
        margin-top: 28vw;
        margin-bottom: 36vw;
    }
    .recruit-area {
        padding-left: 4vw;
        padding-right: 4vw;
        margin-bottom: 46vw;
    }
    .recruit-content h3 {
        font-size: 3.1vw;
    }
    .recruit-content p {
        font-size: 2.6vw;
    }
    .recruit-illust.top-left.square2 {
        top: -24vw;
        width: 52vw;
    }
    .recruit-illust.top-left.square1 {
        left: 3vw;
        width: 23vw;
        top: -36vw;
    }
    .recruit-image.left {
        position: absolute;
        top: -30vw;
        right: 4vw;
    }
    .recruit-image {
        max-width: 29%;
    }
    .recruit-image.right {
        bottom: -21vw;
        left: 4vw;
    }
    .recruit-illust.bottom-right.square1 {
        bottom: -1vw;
        right: 10vw;
        width: 60vw;
    }
    .recruit-illust.bottom-right.square2 {
        bottom: -42vw;
        right: -10vw;
        width: 38vw;
    }
    .custom-contact input[type="text"], .custom-contact input[type="tel"], .custom-contact input[type="email"], .custom-contact input[type="file"], .custom-contact textarea, .custom-contact select {
        padding: 1.8vw 2vw;
        font-size: 2.55vw;
        border-radius: 0.9vw;
    }
    span.tenpu {
        font-size: 2.2vw;
    }
    .custom-contact input[type="checkbox"] {
        width: 5vw;
        height: 5vw;
        border-radius: 0.9vw;
    }
    .custom-contact input[type="checkbox"]:checked::after {
        font-size: 3.5vw;
        left: 1vw;
    }
    .custom-contact p input[type="submit"] {
        font-size: 2.6vw;
        margin: 8vw auto;
    }
    .fullscreen-menu-items li a {
        font-size: 2.7vw;
    }
    .fullscreen-menu-items li.has-submenu>.submenu-panel a {
        font-size: 2.6vw;
    }
    .fullscreen-menu-items li.has-submenu>.submenu-panel {
        padding-left: 8vw;
    }
    .fullscreen-menu-items li {
        padding: 2.6vw 3.4vw;
    }
    .custom-fullscreen-menu.open {
        width: 60%;
    }
    .footer-inner {
        display: flex;
        flex-direction: column-reverse;
        gap: 7vw;
    }
    .footer-left,
    .footer-right {
        width: 100%;
    }
    .footer-right ul {
        font-size: 2.6vw;
    }
    .footer-column ul li {
        margin-bottom: 5vw;
    }
    .footer-left .footer-logo img {
        height: 6.9vw;
        margin-bottom: 2vw;
    }
    ul.footer-company-info {
        font-size: 2.4vw;
    }
    a.privacy-policy {
        font-size: 2.4vw;
    }
    .footer-left .privacy-link, .footer-left .privacy-policy {
        margin-top: 3vw;
        display: inline-block;
    }
    .custom-footer {
        padding: 8vw 3vw 3vw;
    }
    .footer-left {
        margin-bottom: 7vw;
    }
    .footer-right {
        gap: 9.5vw;
    }
    .footer-bottom {
        font-size: 2.5vw;
    }
    .page-header {
        min-height: 35vw;
        background-size: cover !important;
    }
    .page-id-35 .page-header {
        background: url(/wp-content/uploads/2025/06/products-header-sp.webp) no-repeat;
        background-position: 0vw -12vw;
    }
	.error404 .page-header {
    background: url(/wp-content/uploads/2025/06/products-header-sp.webp) no-repeat;
        background-position: 0vw -12vw;
}
    .page-id-142 .page-header {
        background: url(/wp-content/uploads/2025/06/products-header-sp.webp) no-repeat;
        background-position: 0vw -12vw;
    }
    .page-id-144 .page-header {
        background: url(/wp-content/uploads/2025/06/products-header-sp.webp) no-repeat;
        background-position: 0vw -12vw;
    }
    .page-id-38 .page-header {
        background: url(/wp-content/uploads/2025/06/case-studie-header-sp.webp) no-repeat;
        background-position: 0vw -11vw;
    }
    .blog .page-header {
        background: url(/wp-content/uploads/2025/06/news-header-sp.webp) no-repeat;
        background-position: 0vw -13vw;
    }
    .post-template-default .page-header {
        background: url(/wp-content/uploads/2025/06/news-header-sp.webp) no-repeat;
        background-position: 0vw -13vw;
    }
    .archive .page-header {
        background: url(/wp-content/uploads/2025/06/news-header-sp.webp) no-repeat;
        background-position: 0vw -13vw;
    }
    .page-id-18 .page-header {
        background: url(/wp-content/uploads/2025/06/company-header-sp.webp) no-repeat;
        background-position: 0vw -12vw;
    }
    .page-id-40 .page-header {
        background: url(/wp-content/uploads/2025/06/careers-header-sp.webp) no-repeat;
        background-position: 0vw -11vw;
    }
    .page-id-19 .page-header {
        background: url(/wp-content/uploads/2025/06/inquiry-header-sp.webp) no-repeat;
        background-position: 0vw -11vw;
    }
    .page-id-3 .page-header {
        background: url(/wp-content/uploads/2025/06/privacy-policy-header-sp.webp) no-repeat;
        background-position: 0vw -13vw;
    }
    .products-box02::before {
        top: -3.9vw;
        width: 31vw;
    }
    .products-box02 h3, .products-box03 h3 {
        font-size: 3.8vw;
    }
    .products-box02 img {
        width: 71.4vw;
        padding: 5vw 0vw 5vw 0px;
    }
    .products-box01 h4 {
        font-size: 3.1vw;
    }
    .products-box01 .circle-button {
        padding: 0.9vw 1.0vw 0.9vw 35vw;
        font-size: 2.4vw;
    }
    .products-box03::before {
        top: 115vw;
        right: 0vw;
        width: 31vw;
    }
    .products-box03 img {
        width: 61.9vw;
        padding: 5vw 0vw 5vw 0;
    }
    .products-box01 p {
        padding-bottom: 1.9vw;
    }
    .products-illust.bottom-right.square2 {
        bottom: -18vw;
        right: -23vw;
        width: 43vw;
    }
    .products-box01 {
        margin-bottom: 25vw;
    }
    .products-illust.top-left.square1 {
        top: 67vw;
        left: -14vw;
        width: 31vw;
    }
    .page-header-title, h1.page-header-title {
        font-size: 3.9vw;
        padding-top: 9.9vw;
    }
    .ris-message h2 {
        font-size: 4.1vw;
    }
    .ris-message img {
        max-width: 85%;
    }
    .ris-point-item h3 {
        font-size: 2.9vw;
        height: 9vw;
        margin-bottom: 1.5vw !important;
    }
    .ris-icon {
        top: 0.6vw;
        width: 8vw;
        left: 29%;
    }
    .ris-point-item ul {
        font-size: 2.6vw;
        padding: 0 2vw 2vw 4.6vw;
    }
    .ris-point-item p {
        font-size: 2.3vw;
        padding: 0 2vw 2vw 2vw;
    }
    h4 {
        font-size: 3vw;
    }
    .ris-gray ul {
        padding-left: 5.2vw;
    }
    ul {
        font-size: 2.6vw;
        line-height: 2.9vw;
    }
    .ris-box02 span {
        font-size: 2.2vw;
    }
    .ris-gray {
        padding: 1.5vw;
    }
    .step-marker {
        width: 12vw;
        height: 12vw;
        font-size: 2.8vw;
    }
    .step-content {
        margin-left: 9.9vw;
    }
    .step-content h4 {
        font-size: 2.9vw;
    }
    .step-content p {
        font-size: 2.6vw;
    }
    .step-flow::before {
        left: 6.7vw;
        width: 0.39vw;
    }
    .ris-message {
        margin-bottom: 25vw;
    }
    .ris-box01, .ris-box02, .ris-box03 {
        margin-bottom: 25vw;
    }
    .ris-box03-option {
        gap: 9vw;
    }
    .ris-box04 {
        margin-bottom: 25vw;
    }
    .note-symbol {
        font-size: 2.6vw;
    }
    .ris-illust.top-left.square1 {
        left: -9vw;
        width: 29vw;
        top: -40vw;
    }
    .ris-illust.bottom-right.square2 {
        bottom: -48vw;
        right: -13vw;
        width: 29vw;
    }
    .ris-illust.bottom-left.square3 {
        bottom: -15vw;
        left: -13vw;
        width: 26vw;
    }
    .ris-illust.top-right.square4 {
        top: -14vw;
        right: 3vw;
        width: 19vw;
    }
    .ris-illust.bottom-left.illust1 {
        bottom: -22vw;
        width: 20vw;
        left: 18vw;
    }
    .ris-illust.bottom-left.square5 {
        width: 45vw;
        bottom: -48vw;
        left: -18vw;
    }
    ol {
        font-size: 2.6vw;
    }
    .report-message img {
        max-width: 75%;
        padding-bottom: 3vw;
    }
    .report-point-item h3 {
        font-size: 2.9vw;
        height: 9vw;
        margin-bottom: 1.5vw !important;
    }
    .report-icon {
        top: 0.6vw;
        width: 8vw;
        left: 31%;
    }
    .report-point-item p {
        font-size: 2.6vw;
    }
    .report-box02 {
        margin-bottom: 25vw;
        gap: 13vw;
    }
    .report-illust.bottom-right.square2 {
        bottom: 28vw;
        right: -16vw;
        width: 33vw;
    }
    .report-illust.top-left.square1 {
        top: -31vw;
        left: -6vw;
        width: 30vw;
    }
    .report-message {
        margin-bottom: 25vw;
    }
    .report-box01 {
        margin-bottom: 25vw;
    }
    .post-list {
        display: flex;
        flex-direction: column;
        gap: 4vw;
        /* カード間の余白（調整可） */
    }
    /* 画像が左右に分かれていた場合の縦並び対応（必要に応じて） */
    .vk_post.media {
        flex-direction: column;
    }
    .vk_post_imgOuter {
        width: 100%;
        height: auto;
        background-size: cover;
        background-position: center;
    }
    .vk_post_body {
        padding: 4vw;
        text-align: left;
    }
    .vk_post_excerpt {
        font-size: 3.5vw;
        line-height: 1.6;
    }
    .vk_post_date {
        font-size: 3.2vw;
        margin-bottom: 2vw;
    }
    .vk_post .media-img {
        width: 100%;
    }
    .vk_post .media-body {
        width: 100%;
        padding: 2vw 0 1vw 0;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_title, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_title {
        font-size: 3vw;
    }
    .vk_post_date.media-date.published {
        font-size: 2.3vw;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt {
        font-size: 2.3vw;
    }
    .vk_post_btnOuter.text-right a {
        font-size: 2.3vw !important;
        padding: 0.8vw 6vw 0.8vw 6vw;
        font-weight: normal;
    }
    .vk_post_imgOuter_singleTermLabel {
        font-size: 2vw;
    }
    span.published {
        font-size: 2.3vw;
    }
    .syomei img {
        width: 27vw;
    }
    .company-box03 {
        margin-bottom: 25vw;
    }
    .company-box02 {
        padding-top: 17vw;
        padding-bottom: 16vw;
        margin-bottom: 40vw;
    }
    .careers-message {
        margin-bottom: 25vw;
    }
    .point-label {
        font-size: 2.4vw;
    }
    .careers-box01 .point-box {
        padding: 5.2vw 2vw 2vw 2vw;
        margin-top: 3vw !important;
    }
    .careers-box01 {
        margin-bottom: 25vw;
    }
    .careers-box02 {
        gap: 17vw;
    }
    .step-title {
        font-size: 2.9vw;
        padding-bottom: 1vw;
    }
    .step-card {
        padding: 3vw;
        gap: 3vw;
    }
    .step-icon {
        flex: 0 0 23vw;
        padding-left: 8vw;
    }
    figure.wp-block-image.size-full.step-icon {
        display: flex;
        align-items: center;
        height: 14vw;
    }
    .step-number {
        top: 30%;
    }
    .careers-box03 {
        margin-bottom: 25vw;
    }
    .tel-hours {
        font-size: 2.6vw;
    }
    .tel-box {
        font-size: 5.7vw;
        margin-top: 4vw;
    }
}
@media screen and (max-width: 440px) {
    .main-visual-person {
        right: -20vw;
        aspect-ratio: 2.9 / 4;
    }
    .main-visual-text {
        font-size: 6.5vw;
        letter-spacing: 0.2vw;
        top: 46%;
    }
    .main-visual-text .large {
        font-size: 8vw;
    }
    .custom-fullscreen-menu.open {
        width: 100%;
    }
    .fullscreen-menu-items li a {
        font-size: 3.7vw;
    }
    .fullscreen-menu-items li.has-submenu>.submenu-panel {
        padding-left: 13vw;
    }
    .fullscreen-menu-items li.has-submenu>.submenu-panel a {
        padding: 0.7em 0;
        font-size: 3.45vw;
    }
    .fullscreen-menu-items li {
        padding: 5vw 0 5vw 7vw;
    }
    h2 {
        font-size: 5vw;
    }
    p {
        font-size: 3.5vw;
    }
    .circle-button {
        font-size: 3vw;
        padding: 1vw 1.9vw 1vw 13vw;
        gap: 7vw;
    }
    .btn-circle {
        width: 4vw;
        height: 4vw;
    }
    section.message-area {
        padding-top: 55vw;
        padding-bottom: 59vw;
    }
    .top-left .bg-box {
        width: 31.3vw;
        top: -35.9vw;
        left: -11vw;
    }
    .top-left .main-illust {
        width: 19.8vw;
        left: 5vw;
        top: -28.7vw;
    }
    .top-right .bg-box {
        width: 31.7vw;
        top: -51vw;
        right: -8vw;
    }
    .top-right .main-illust {
        width: 35.3vw;
        top: -41.6vw;
        right: 4.8vw;
    }
    .bottom-left .bg-box {
        width: 43vw;
        bottom: -73vw;
        left: -17.2vw;
    }
    .bottom-left .main-illust {
        width: 21.2vw;
        bottom: -53.7vw;
        left: 10vw;
    }
    .bottom-right .bg-box {
        width: 24.1vw;
        bottom: -49.8vw;
        right: 3vw;
    }
    .bottom-right .main-illust {
        width: 22.2vw;
        right: -2vw;
        bottom: -37.7vw;
    }
    section.news-area {
        padding-top: 24vw;
        padding-bottom: 45vw;
    }
    .news-area h2 {
        font-size: 6.5vw;
    }
    .news-date {
        font-size: 3.4vw;
    }
    .news-classification div {
        font-size: 2.5vw;
    }
    .news-area .news {
        padding: 0vw 2vw;
    }
    .news-area .blog {
        padding: 0vw 3.3vw;
    }
    .news-content {
        font-size: 3.3vw;
        line-height: 4.8vw;
    }
    .news-area .button-wrapper {
        margin-top: 10vw !important;
    }
    .news-row_wrapper {
        padding: 4vw 1vw 4vw 1vw;
    }
    .service-illust.left-top {
        width: 28vw;
        top: -21vw;
        left: 5vw;
    }
    .service-area {
        padding-top: 21vw;
        padding-bottom: 21vw;
    }
    h3 {
        font-size: 4vw;
    }
    .service-area .sub-text {
        margin-bottom: 12vw !important;
    }
    .service-number-img {
        height: 24vw;
    }
    .service-heading-text h3 {
        font-size: 4.5vw;
        padding-bottom: 1.3vw;
        margin: 4.2vw 0 0 0;
    }
    .service-heading-text h4 {
        font-size: 3.6vw;
    }
    .service-heading-text {
        padding-left: 1.5vw;
    }
    .service-area-img01 {
        width: 100%;
    }
    .service-box01 {
        margin-bottom: 19vw !important;
    }
    .service-area-img02 {
        width: 95%;
    }
    .service-illust.right-top {
        right: -7vw;
        width: 29vw;
        top: 150vw;
    }
    .service-illust.left-bottom {
        bottom: 32vw;
        left: -8vw;
        width: 45vw;
    }
    section.system-area {
        padding-top: 52vw;
        padding-bottom: 26vw;
    }
    .service-illust.right-bottom {
        bottom: -28vw;
        right: -4vw;
        width: 30vw;
    }
    .system-area .system-area-img01 {
        width: 100%;
        padding-bottom: 6vw;
    }
    .system-area h4 {
        font-size: 3.2vw;
        top: -3.5vw;
    }
    .system-area h3 {
        font-size: 3.7vw;
        padding-bottom: 1vw;
    }
    .system-area .point-box {
        margin-bottom: 7vw;
    }
    .system-deco-box {
        left: -15vw;
        top: 253vw;
        width: 34vw;
    }
    .reasons-area-img01 img, .reasons-area-img02 img, .reasons-area-img03 img {
        max-width: 90%;
    }
    .reasons-area h3 {
        font-size: 3.9vw;
        padding: 1vw 0 2vw 0;
    }
    section.reasons-area {
        padding-bottom: 25vw;
    }
    .recruit-area {
        padding-top: 31vw;
        padding-bottom: 54vw;
        margin-top: 31vw;
        margin-bottom: 64vw;
    }
    .recruit-content h3 {
        font-size: 4vw;
    }
    .recruit-illust.top-left.square2 {
        top: -15vw;
        width: 58vw;
    }
    .recruit-illust.top-left.square1 {
        left: -4vw;
        width: 29vw;
        top: -48vw;
    }
    .recruit-image {
        max-width: 35%;
    }
    .recruit-content p {
        font-size: 3.5vw;
    }
    .recruit-image.right {
        bottom: -33vw;
    }
    .recruit-illust.bottom-right.square2 {
        bottom: -54vw;
        right: -10vw;
        width: 42vw;
    }
    .recruit-illust.bottom-right.square1 {
        bottom: 15vw;
        right: 1vw;
        width: 68vw;
    }
    .custom-contact input[type="text"], .custom-contact input[type="tel"], .custom-contact input[type="email"], .custom-contact input[type="file"], .custom-contact textarea, .custom-contact select {
        padding: 1.8vw 2vw;
        font-size: 3.4vw;
        border-radius: 0.9vw;
    }
    span.tenpu {
        font-size: 3.0vw;
    }
    .custom-contact p input[type="submit"] {
        font-size: 3.5vw;
        margin: 10vw auto;
        padding: 0.9vw 13.9vw;
    }
    section.inquiry-area {
        padding-top: 10vw;
        padding-bottom: 20vw;
    }
    .footer-right {
        gap: 10.5vw;
    }
    .footer-left .footer-logo img {
        height: 7.9vw;
        margin-bottom: 3vw;
    }
    ul.footer-company-info {
        font-size: 3.0vw;
    }
    .footer-left .privacy-link, .footer-left .privacy-policy {
        margin-top: 7vw;
		font-size: 3vw;
    }
    a.privacy-policy {
        font-size: 2.9vw;
    }
    .footer-bottom {
        font-size: 3.2vw;
    }
    .footer-inner {
        gap: 16vw;
    }
    .custom-footer {
        padding: 10vw 3vw 3vw;
    }
    .footer-right ul {
        font-size: 3.3vw;
    }
    .footer-column ul li {
        margin-bottom: 8vw;
        text-align: center;
    }
    .footer-right {
        gap: 13.5vw;
    }
    a.housya {
        padding-top: 4vw !important;
    }
    .page-header {
        min-height: 49vw;
        background-position: 0vw 0vw !important;
    }
    .page-header-title, h1.page-header-title {
        font-size: 4.5vw;
        padding-top: 12.9vw;
    }
    .products-box02::before {
        top: -4.9vw;
        width: 38vw;
    }
    .products-box02 img {
        width: 81.4vw;
        padding: 6vw 0vw 6vw 0px;
    }
    .products-box02 h3, .products-box03 h3 {
        font-size: 4.7vw;
    }
    .products-box01 h4 {
        font-size: 3.9vw;
    }
    .products-box01 .circle-button {
        padding: 0.9vw 2vw 0.9vw 30vw;
        font-size: 3.7vw;
    }
    .products-box01 {
        gap: 14vw;
        margin-bottom: 40vw;
    }
    .products-illust.bottom-right.square2 {
        bottom: -35vw;
        right: -18vw;
        width: 46vw;
    }
    .products-box03 img {
        width: 74.9vw;
        padding: 3vw 0vw 6vw 0;
    }
    .products-box03::before {
        top: 161.9vw;
        width: 38vw;
    }
    .products-illust.top-left.square1 {
        display: none;
    }
    .products-box02, .products-box03 {
        padding: 5vw 4vw;
    }
    .products-box01 p {
        padding-bottom: 4.9vw;
    }
    .ris-message h2 {
        font-size: 5vw;
    }
    .ris-message img {
        max-width: 95%;
    }
    .report-message img {
        max-width: 91%;
    }
    .ris-box01 h2 {
        margin-bottom: 2.3vw !important;
        font-size: 4.6vw;
    }
    .report-box01 h2 {
        margin-bottom: 2.3vw !important;
        font-size: 4.7vw;
    }
    .ris-point-item h3 {
        font-size: 3.8vw;
        height: 10vw;
        margin-bottom: 2.5vw !important;
    }
    .report-point-item h3 {
        font-size: 3.8vw;
        height: 10vw;
        margin-bottom: 2.5vw !important;
    }
    .ris-icon {
        width: 9vw;
        left: 22%;
    }
    .report-icon {
        width: 9vw;
        left: 24%;
    }
    ul {
        font-size: 3.5vw;
        line-height: 5vw;
    }
    .ris-point-item ul {
        font-size: 3.5vw;
        padding: 0 2vw 3vw 6.6vw;
    }
    .ris-point-item p {
        font-size: 3.25vw;
        padding: 0 2vw 2vw 2vw;
    }
    .ris-points-columns {
        gap: 4.2vw;
    }
    .footer-right {
        padding-left: 4vw;
    }
    .report-point-item p {
        font-size: 3.4vw;
    }
    .report-message {
        margin-bottom: 30vw;
    }
    .report-illust.top-left.square1 {
        top: -44vw;
    }
    .report-points-columns {
        gap: 4.2vw;
    }
    .report-box02 {
        margin-bottom: 40vw;
    }
    .report-illust.bottom-right.square2 {
        bottom: -34vw;
        right: -28vw;
        width: 43vw;
    }
    h4 {
        font-size: 3.9vw;
    }
    .ris-box02 span {
        font-size: 3.0vw;
    }
    .ris-illust.bottom-right.square2 {
        bottom: -38vw;
    }
    .ris-box01, .ris-box02, .ris-box03 {
        margin-bottom: 45vw;
    }
    .ris-message {
        margin-bottom: 35vw;
    }
    .wp-block-group.ris-gray.is-layout-constrained.wp-block-group-is-layout-constrained {
        margin-bottom: 3vw;
    }
    .function-box2 {
        gap: 3vw;
    }
    .ris-box03-option {
        gap: 15vw;
    }
    .ris-illust.bottom-left.square5 {
        width: 57vw;
    }
    .ris-illust.bottom-left.illust1 {
        bottom: -33vw;
        width: 23vw;
    }
    .note-symbol {
        font-size: 3.5vw;
    }
    .step-marker {
        width: 14vw;
        height: 14vw;
        font-size: 2.9vw;
    }
    .step-content {
        margin-left: 11.9vw;
    }
    .step-content h4 {
        font-size: 3.4vw;
    }
    .step-content p {
        font-size: 3.4vw;
    }
    .step-item {
        margin-bottom: 9vw;
    }
    .step-flow::before {
        left: 7.7vw;
        height: 97%;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_title, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_title {
        font-size: 3.6vw;
    }
    .vk_post_date.media-date.published {
        font-size: 3vw;
    }
    .entry-body>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt, .main-section>.vk_posts>.vk_post-col-lg-12 .vk_post_excerpt {
        font-size: 3.3vw;
    }
    .vk_post_btnOuter.text-right a {
        font-size: 3.0vw !important;
    }
    .vk_post_imgOuter_singleTermLabel {
        font-size: 2.5vw;
    }
    h1 {
        font-size: 4.2vw;
    }
    span.published {
        font-size: 2.9vw;
    }
    .careers-message {
        margin-bottom: 30vw;
    }
    .careers-illust.top-left.square1 {
        top: -32vw;
    }
    .point-label {
        font-size: 3.2vw;
        padding: 0.7vw 5vw;
        top: -3vw;
    }
    .careers-box01 .point-box {
        padding: 7.2vw 3vw 3vw 3vw;
        margin-top: 7vw !important;
    }
    .careers-box02 {
        margin-bottom: 50vw;
    }
    .careers-illust.top-left.square3 {
        top: -52vw;
        width: 31vw;
    }
    .careers-illust.top-left.illust1 {
        top: -36vw;
        left: 4vw;
        width: 32vw;
    }
    .step-index {
        font-size: 6.5vw;
        margin-top: -1.5vw;
    }
    .step-label {
        font-size: 3vw;
    }
    .step-index::before {
        top: 8.9vw;
        width: 1vw;
        height: 1vw;
    }
    .step-index::after {
        width: 6.6vw;
        height: 0.54vw;
        margin-top: 0;
        left: 1.39vw;
        top: -0.2vw;
    }
    .step-card {
        display: flex;
        flex-direction: column;
        /* 縦並びにする */
        align-items: center;
        /* 中央揃えにしたい場合はこれを追加 */
        text-align: center;
    }
    .step-title {
        font-size: 3.7vw;
    }
    .step-icon img {
        max-height: 23vw;
    }
    figure.wp-block-image.size-full.step-icon {
        height: 25vw;
    }
    .engage-bnr {
        max-width: 69%;
    }
    .careers-box04 {
        margin-bottom: 40vw;
    }
    .careers-illust.bottom-right.square4 {
        bottom: -34vw;
        right: -17vw;
        width: 36vw;
    }
    .company-illust.bottom-right.square1 {
        bottom: -17vw;
        right: -22vw;
        width: 45vw;
    }
    .company-box01 .wp-block-column:last-child img.wp-image-326 {
        width: 78vw;
    }
    .syomei img {
        width: 35vw;
    }
    .company-box02 {
        margin-bottom: 50vw;
    }
    .company-illust.bottom-left.square2 {
        bottom: -40vw;
        width: 37vw;
    }
    .company-illust.bottom-left.square3 {
        bottom: -11vw;
        left: 15vw;
        width: 24vw;
    }
    .company-box03 {
        margin-bottom: 40vw;
    }
    .tel-box {
        font-size: 6.7vw;
    }
    .tel-hours {
        font-size: 3.5vw;
    }
    .main-section {
        margin-bottom: 40vw;
    }
    ol {
        font-size: 3.5vw;
    }
    .privacy-form {
        margin-bottom: 40vw;
    }
    .step-number {
        top: 6%;
    }
    .akusyuicon img {
        width: 33vw;
        margin-bottom: 0;
    }
}