/*! feature - v3.32.0 - 18-09-2025 */
:root {
    --direction-multiplier: 1
}

body.rtl,
html[dir=rtl] {
    --direction-multiplier: -1
}

.feature-hidden {
    display: none
}

.feature-visibility-hidden {
    visibility: hidden
}

.feature-screen-only,
.screen-reader-text,
.screen-reader-text span,
.ui-helper-hidden-accessible {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: -10000em;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.feature-clearfix:after {
    clear: both;
    content: "";
    display: block;
    height: 0;
    width: 0
}

.feature *,
.feature :after,
.feature :before {
    box-sizing: border-box
}

.feature a {
    box-shadow: none;
    text-decoration: none
}

.feature hr {
    background-color: transparent;
    margin: 0
}

.feature img {
    border: none;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    max-width: 100%
}

.feature .feature-widget:not(.feature-widget-text-editor):not(.feature-widget-theme-post-content) figure {
    margin: 0
}

.feature embed,
.feature iframe,
.feature object,
.feature video {
    border: none;
    line-height: 1;
    margin: 0;
    max-width: 100%;
    width: 100%
}

.feature-element {
    --flex-direction: initial;
    --flex-wrap: initial;
    --justify-content: initial;
    --align-items: initial;
    --align-content: initial;
    --gap: initial;
    --flex-basis: initial;
    --flex-grow: initial;
    --flex-shrink: initial;
    --order: initial;
    --align-self: initial;
    align-self: var(--align-self);
    flex-basis: var(--flex-basis);
    flex-grow: var(--flex-grow);
    flex-shrink: var(--flex-shrink);
    order: var(--order)
}

.feature-element.feature-absolute,
.feature-element.feature-fixed {
    z-index: 1
}

.feature-element:where(.e-con-full,
.feature-widget) {
    align-content: var(--align-content);
    align-items: var(--align-items);
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    gap: var(--row-gap) var(--column-gap);
    justify-content: var(--justify-content)
}

.feature-invisible {
    visibility: hidden
}

.feature-background-overlay {
    inset: 0;
    position: absolute;
    background-color: #0A8F20;
    opacity: 0.8;
    mix-blend-mode: multiply;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}

.feature-tag {
    display: inline-flex
}

.feature-align-center {
    text-align: center
}

.feature-align-right {
    text-align: right
}

.feature-align-left {
    text-align: left
}

.feature-section {
    position: relative
}

.feature-section .feature-container {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.feature-section.feature-section-boxed>.feature-container {
    max-width: 1200px
}

.feature-section.feature-section-stretched {
    position: relative;
    width: 100%
}

.feature-section.feature-section-items-top>.feature-container {
    align-items: flex-start
}

.feature-section.feature-section-items-middle>.feature-container {
    align-items: center
}

.feature-section.feature-section-items-bottom>.feature-container {
    align-items: flex-end
}

@media (min-width: 768px) {
    .feature-section.feature-section-height-full {
        height: 100vh
    }

    .feature-section.feature-section-height-full>.feature-container {
        height: 100%
    }
}

.feature-bc-flex-widget .feature-section-content-top>.feature-container>.feature-column>.feature-widget-wrap {
    align-items: flex-start
}

.feature-bc-flex-widget .feature-section-content-middle>.feature-container>.feature-column>.feature-widget-wrap {
    align-items: center
}

.feature-bc-flex-widget .feature-section-content-bottom>.feature-container>.feature-column>.feature-widget-wrap {
    align-items: flex-end
}

.feature-widget-wrap {
    align-content: flex-start;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column
}

.feature:not(.feature-bc-flex-widget) .feature-widget-wrap {
    display: flex
}

.feature-widget-wrap>.feature-element {
    width: 100%
}

.feature-widget-wrap.e-swiper-container {
    width: calc(100% - (var(--e-column-margin-left, 0px) + var(--e-column-margin-right, 0px)))
}

.feature-widget {
    position: relative
}

.feature-widget:not(:last-child) {
    margin-bottom: var(--kit-widget-spacing, 20px)
}


.feature-widget-image img {
    width: 100%;
    height: 100%;
}

.feature-element-64044d7 {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 2em;
    color: #297842
}

.feature-element-86656d7 {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 2em;
    color: #199BC8
}

.feature-element-95940df {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 2em;
    color: #B99011
}

.feature-widget:not(:last-child).feature-absolute,
.feature-widget:not(:last-child).feature-widget__width-auto,
.feature-widget:not(:last-child).feature-widget__width-initial {
    margin-bottom: 0
}

.feature-column {
    display: flex;
    min-height: 1px;
    position: relative;
    align-items: stretch
}

.feature-column-gap-narrow>.feature-column>.feature-element-populated {
    padding: 5px;
    height: 100%
}

.feature-column-gap-default>.feature-column>.feature-element-populated {
    padding: 10px;
    height: 100%
}

.feature-column-gap-extended>.feature-column>.feature-element-populated {
    padding: 15px;
    height: 100%
}

.feature-column-gap-wide>.feature-column>.feature-element-populated {
    padding: 20px;
    height: 100%
}

.feature-column-gap-wider>.feature-column>.feature-element-populated {
    padding: 30px;
    height: 100%
}

.feature-inner-section .feature-column-gap-no .feature-element-populated {
    padding: 0
}

@media (min-width: 768px) {
    .feature-column.feature-col-10,
    .feature-column[data-col="10"] {
        width: 10%
    }

    .feature-column.feature-col-11,
    .feature-column[data-col="11"] {
        width: 11.111%
    }

    .feature-column.feature-col-12,
    .feature-column[data-col="12"] {
        width: 12.5%
    }

    .feature-column.feature-col-14,
    .feature-column[data-col="14"] {
        width: 14.285%
    }

    .feature-column.feature-col-16,
    .feature-column[data-col="16"] {
        width: 16.666%
    }

    .feature-column.feature-col-20,
    .feature-column[data-col="20"] {
        width: 20%
    }

    .feature-column.feature-col-25,
    .feature-column[data-col="25"] {
        width: 25%
    }

    .feature-column.feature-col-30,
    .feature-column[data-col="30"] {
        width: 30%
    }

    .feature-column.feature-col-33,
    .feature-column[data-col="33"] {
        width: 33.333%
    }

    .feature-column.feature-col-40,
    .feature-column[data-col="40"] {
        width: 40%
    }

    .feature-column.feature-col-50,
    .feature-column[data-col="50"] {
        width: 50%
    }

    .feature-column.feature-col-60,
    .feature-column[data-col="60"] {
        width: 60%
    }

    .feature-column.feature-col-66,
    .feature-column[data-col="66"] {
        width: 66.666%
    }

    .feature-column.feature-col-70,
    .feature-column[data-col="70"] {
        width: 70%
    }

    .feature-column.feature-col-75,
    .feature-column[data-col="75"] {
        width: 75%
    }

    .feature-column.feature-col-80,
    .feature-column[data-col="80"] {
        width: 80%
    }

    .feature-column.feature-col-83,
    .feature-column[data-col="83"] {
        width: 83.333%
    }

    .feature-column.feature-col-90,
    .feature-column[data-col="90"] {
        width: 90%
    }

    .feature-column.feature-col-100,
    .feature-column[data-col="100"] {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 767px) {
    .feature-column.feature-sm-10 {
        width: 10%
    }

    .feature-column.feature-sm-11 {
        width: 11.111%
    }

    .feature-column.feature-sm-12 {
        width: 12.5%
    }

    .feature-column.feature-sm-14 {
        width: 14.285%
    }

    .feature-column.feature-sm-16 {
        width: 16.666%
    }

    .feature-column.feature-sm-20 {
        width: 20%
    }

    .feature-column.feature-sm-25 {
        width: 25%
    }

    .feature-column.feature-sm-30 {
        width: 30%
    }

    .feature-column.feature-sm-33 {
        width: 33.333%
    }

    .feature-column.feature-sm-40 {
        width: 40%
    }

    .feature-column.feature-sm-50 {
        width: 50%
    }

    .feature-column.feature-sm-60 {
        width: 60%
    }

    .feature-column.feature-sm-66 {
        width: 66.666%
    }

    .feature-column.feature-sm-70 {
        width: 70%
    }

    .feature-column.feature-sm-75 {
        width: 75%
    }

    .feature-column.feature-sm-80 {
        width: 80%
    }

    .feature-column.feature-sm-83 {
        width: 83.333%
    }

    .feature-column.feature-sm-90 {
        width: 90%
    }

    .feature-column.feature-sm-100 {
        width: 100%
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .feature-column.feature-md-10 {
        width: 10%
    }

    .feature-column.feature-md-11 {
        width: 11.111%
    }

    .feature-column.feature-md-12 {
        width: 12.5%
    }

    .feature-column.feature-md-14 {
        width: 14.285%
    }

    .feature-column.feature-md-16 {
        width: 16.666%
    }

    .feature-column.feature-md-20 {
        width: 20%
    }

    .feature-column.feature-md-25 {
        width: 25%
    }

    .feature-column.feature-md-30 {
        width: 30%
    }

    .feature-column.feature-md-33 {
        width: 33.333%
    }

    .feature-column.feature-md-40 {
        width: 40%
    }

    .feature-column.feature-md-50 {
        width: 50%
    }

    .feature-column.feature-md-60 {
        width: 60%
    }

    .feature-column.feature-md-66 {
        width: 66.666%
    }

    .feature-column.feature-md-70 {
        width: 70%
    }

    .feature-column.feature-md-75 {
        width: 75%
    }

    .feature-column.feature-md-80 {
        width: 80%
    }

    .feature-column.feature-md-83 {
        width: 83.333%
    }

    .feature-column.feature-md-90 {
        width: 90%
    }

    .feature-column.feature-md-100 {
        width: 100%
    }
}

@media (min-width: 1025px) and (max-width: 99999px) {
    .feature-reverse-laptop>.feature-container>:first-child {
        order: 10
    }

    .feature-reverse-laptop>.feature-container>:nth-child(2) {
        order: 9
    }

    .feature-reverse-laptop>.feature-container>:nth-child(3) {
        order: 8
    }

    .feature-reverse-laptop>.feature-container>:nth-child(4) {
        order: 7
    }

    .feature-reverse-laptop>.feature-container>:nth-child(5) {
        order: 6
    }

    .feature-reverse-laptop>.feature-container>:nth-child(6) {
        order: 5
    }

    .feature-reverse-laptop>.feature-container>:nth-child(7) {
        order: 4
    }

    .feature-reverse-laptop>.feature-container>:nth-child(8) {
        order: 3
    }

    .feature-reverse-laptop>.feature-container>:nth-child(9) {
        order: 2
    }

    .feature-reverse-laptop>.feature-container>:nth-child(10) {
        order: 1
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .feature-reverse-tablet>.feature-container>:first-child {
        order: 10
    }

    .feature-reverse-tablet>.feature-container>:nth-child(2) {
        order: 9
    }

    .feature-reverse-tablet>.feature-container>:nth-child(3) {
        order: 8
    }

    .feature-reverse-tablet>.feature-container>:nth-child(4) {
        order: 7
    }

    .feature-reverse-tablet>.feature-container>:nth-child(5) {
        order: 6
    }

    .feature-reverse-tablet>.feature-container>:nth-child(6) {
        order: 5
    }

    .feature-reverse-tablet>.feature-container>:nth-child(7) {
        order: 4
    }

    .feature-reverse-tablet>.feature-container>:nth-child(8) {
        order: 3
    }

    .feature-reverse-tablet>.feature-container>:nth-child(9) {
        order: 2
    }

    .feature-reverse-tablet>.feature-container>:nth-child(10) {
        order: 1
    }
}

@media (max-width: 767px) {
    .feature-reverse-mobile>.feature-container>:first-child {
        order: 10
    }

    .feature-reverse-mobile>.feature-container>:nth-child(2) {
        order: 9
    }

    .feature-reverse-mobile>.feature-container>:nth-child(3) {
        order: 8
    }

    .feature-reverse-mobile>.feature-container>:nth-child(4) {
        order: 7
    }

    .feature-reverse-mobile>.feature-container>:nth-child(5) {
        order: 6
    }

    .feature-reverse-mobile>.feature-container>:nth-child(6) {
        order: 5
    }

    .feature-reverse-mobile>.feature-container>:nth-child(7) {
        order: 4
    }

    .feature-reverse-mobile>.feature-container>:nth-child(8) {
        order: 3
    }

    .feature-reverse-mobile>.feature-container>:nth-child(9) {
        order: 2
    }

    .feature-reverse-mobile>.feature-container>:nth-child(10) {
        order: 1
    }

    .feature-column {
        width: 100%
    }
}

@media (max-width: 767px) {
    .feature .feature-hidden-mobile,
    .feature .feature-hidden-phone {
        display: none
    }

    .feature-widget-image-mobile-265 {
        display: flex;
        justify-content: center;
    }

    .feature-widget-image-mobile-265 img {
        width: 265px !important;
        height: auto !important;
        object-fit: contain;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .feature .feature-hidden-tablet {
        display: none
    }
}

@media (min-width: 1025px) and (max-width: 99999px) {
    .feature .feature-hidden-desktop {
        display: none
    }
    
    br.br-hidden-desktop {
        display: none
    }
}

/* Widget Video Styles */
.feature-widget-video .feature-widget-container,
.feature-widget-video:not(:has(.feature-widget-container)) {
    overflow: hidden;
    transform: translateZ(0);
}

.feature-widget-video .feature-wrapper {
    aspect-ratio: 1;
}

.feature-widget-video .feature-wrapper iframe,
.feature-widget-video .feature-wrapper video {
    background-color: #000;
    border: none;
    display: flex;
    height: 100%;
    width: 100%;
}

.feature-widget-video .feature-open-inline .feature-custom-embed-image-overlay {
    background-position: 50%;
    background-size: cover;
    inset: 0;
    position: absolute;
}

.feature-widget-video .feature-custom-embed-image-overlay {
    cursor: pointer;
    text-align: center;
}

.feature-widget-video .feature-custom-embed-image-overlay:hover .feature-custom-embed-play i {
    opacity: 1;
}

.feature-widget-video .feature-custom-embed-image-overlay img {
    aspect-ratio: var(--video-aspect-ratio);
    display: block;
    object-fit: cover;
    object-position: center center;
    width: 100%;
}

.feature-widget-video .feature-hosted-video .feature-video {
    object-fit: cover;
}

.feature-inner > .feature-widget-video,
.feature > .feature-widget-video {
    width: var(--container-widget-width);
    --flex-grow: var(--container-widget-flex-grow);
}

/* Widget Heading Styles */
.feature-widget-heading .feature-heading-title[class*=feature-size-] > a {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}


.feature-widget-heading .feature-heading-title.feature-size-small {
    font-size: 15px;
}

.feature-widget-heading .feature-heading-title.feature-size-medium {
    font-size: 19px;
}

.feature-widget-heading .feature-heading-title.feature-size-large {
    font-size: 29px;
}

.feature-widget-heading .feature-heading-title.feature-size-xl {
    font-size: 39px;
}

.feature-widget-heading .feature-heading-title.feature-size-xxl {
    font-size: 59px;
}

/* Video Section Background */
.feature-element-4d3afc4 {
    background-color: #FFFFFF;
    box-shadow: 1px 1px 10px 0px rgba(207.39999999999998, 207.39999999999998, 207.39999999999998, 0.5);
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 4% 30% 4% 30%;
}

.feature-element-4d3afc4 .feature-widget-video .feature-widget-container {
    max-width: 800px;
    margin: 0 auto;
}

.feature-element-4d3afc4 .feature-widget-video {
    margin-bottom: 20px;
}

.feature-element-4d3afc4 .feature-heading-title {
    text-align: center;
}

.feature-element-4d3afc4 h3.feature-heading-title {
    margin-bottom: 10px;
}

.feature-element-4d3afc4 p.feature-heading-title {
    margin-top: 0;
}

/* Heading Title Styles */
.feature-element-c8d6a80 .feature-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 900;
    line-height: 2em;
    color: #00516D;
}

.feature-element-6c41929 .feature-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 15px;
    font-weight: 900;
    line-height: 2em;
    color: #000000;
}

/* Responsive Styles */
@media (max-width: 767px) {
    .feature-element-4d3afc4 {
        padding: 20px 10px;
    }

    .feature-element-c8d6a80 .feature-heading-title {
        font-size: 15px;
    }

    .feature-element-6c41929 .feature-heading-title {
        font-size: 14px;
    }

    .feature-widget-heading .feature-heading-title.feature-size-default {
        font-size: 17px;
        line-height: 1.9em;
    }

    .feature-widget-heading .feature-heading-title.feature-size-small {
        font-size: 14px;
    }

    .feature-widget-heading .feature-heading-title.feature-size-medium {
        font-size: 18px;
    }

    .feature-widget-heading .feature-heading-title.feature-size-large {
        font-size: 24px;
    }

    .feature-widget-heading .feature-heading-title.feature-size-xl {
        font-size: 32px;
    }

    .feature-widget-heading .feature-heading-title.feature-size-xxl {
        font-size: 48px;
    }
}

/* Widget Text Editor Styles */
.feature-widget-text-editor {
    text-align: left;
}

.feature-widget-text-editor p {
    margin: 0;
    padding: 0;
}

.feature-widget-text-editor p:not(:last-child) {
    margin-bottom: 15px;
}

/* Representative Message Section Styles */
.feature-element-102eeab {
    background-color: #F5F5F5;
    background-image: url("/html2/img/feature/交差-35-scaled-1.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.feature-message-populated {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    margin: 5% 2% 5% 2%;
    --e-column-margin-right: 2%;
    --e-column-margin-left: 2%;
    padding: 5% 5% 0% 5% !important;
    background-color: #FFFFFFED;
    height: auto !important;
}

.feature-element-2e4f818 {
    margin-bottom: 40px;
}

.feature-element-fdc2a7d .feature-heading-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}

.feature-element-adb4a7e .feature-heading-title {
    font-size: 18px;
    font-weight: 400;
    color: #666;
    letter-spacing: 0.1em;
}

.feature-element-7e85a4a img {
    width: 425px;
    height: auto;
    aspect-ratio: auto 425 / 410;
    display: block;
    margin: 0 auto;
}

.feature-element-45c3ec7 .feature-container {
    align-items: center;
}

.feature-col-30-444 {
    width: 30.444%;
}

.feature-col-69-556 {
    width: 69.556%;
}

.feature-element-994bf12 {
    padding: 0% 0% 0% 3%;
}

.feature-element-f33a881 .feature-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 2em;
    color: #00516D;
    text-align: left;
    margin-bottom: 0;
}

.feature-element-5700e7a {
    font-size: 16px;
    line-height: 2;
    text-align: right;
}

.feature-element-0bec3c9 {
    padding: 2% 0% 3% 0%;
}

.feature-element-6da3348 {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    line-height: 2;
    text-align: justify;
}

@media (max-width: 767px) {
    .feature-element-fdc2a7d .feature-heading-title {
        font-size: 24px;
    }

    .feature-element-adb4a7e .feature-heading-title {
        font-size: 16px;
    }

    .feature-element-f33a881 .feature-heading-title {
        font-size: 22px;
        text-align: center;
    }

    .feature-element-5700e7a {
        font-size: 14px;
        text-align: right;
    }

    .feature-element-6da3348 {
        font-size: 14px;
    }

    .feature-col-30-444,
    .feature-col-69-556 {
        width: 100%;
    }

    .feature-element-994bf12 {
        padding: 0;
    }

    .feature-element-f33a881 .feature-widget-container {
        padding: 5% 0% 0% 0%;
    }
    
    /* SP: data-id="31286e0" 配下の feature-widget-wrap のスタイル */
    .feature-element-31286e0 > .feature-widget-wrap {
        margin: 5% 2% 5% 2% !important;
        padding: 5% !important;
    }
}

/* Safety Section Items Padding - 安全の取り組み項目 */
.feature-element-5ed8077 .feature-column-gap-no .feature-element-populated {
    padding: 5% !important;
}

/* SP: 安全の取り組みの左右余白を削除 */
@media (max-width: 767px) {
    .feature-element-5ed8077 .feature-column-gap-no .feature-element-populated {
        padding: 5% 0% !important;
    }
}

/* Safety Section Styles - 安全の取り組みセクション */
.feature-element-5eecb74 {
    background-color: #F5F5F5;
    padding: 60px 0;
}

.feature-element-5eecb74 .feature-widget-heading {
    text-align: center;
    margin-bottom: 20px;
}

.feature-element-5eecb74 .feature-widget-heading .feature-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
}

.feature-element-5eecb74 h3.feature-heading-title {
    font-size: 22px;
    font-weight: 700;
    color: #00516D;
    margin-bottom: 15px;
}

.feature-element-5eecb74 .feature-widget-text-editor {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    color: #000;
}

.feature-element-5eecb74 .feature-widget-image img {
    height: auto;
    display: block;
}

.feature-element-5eecb74 .feature-inner-section {
    margin-bottom: 40px;
}

.feature-element-5eecb74 .feature-inner-section:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .feature-element-5eecb74 {
        padding: 5% 0% 4% 0%;
    }
    
    .feature-element-5eecb74 h3.feature-heading-title {
        font-size: 18px;
    }
    
    .feature-element-5eecb74 .feature-widget-text-editor {
        font-size: 14px;
    }
    
    /* SP: 小見出しと文章の間の余白を半分にする */
    .feature-element-5eecb74 h3.feature-heading-title {
        margin-bottom: 7.5px;
    }
    
}
/* === Training Method Section - トレーニングメソッド === */

/* Divider Widget Styles */
.feature-widget-divider {
    --divider-border-style: solid;
    --divider-border-width: 1px;
    --divider-color: #d4d4d4;
    --divider-gap: 15px;
    --divider-pattern-height: 24px;
    --divider-pattern-size: 20px;
    --divider-pattern-url: none;
}

.feature-widget-divider .feature-divider {
    align-items: center;
    display: flex;
    padding-bottom: var(--divider-gap);
    padding-top: var(--divider-gap);
}

.feature-widget-divider .feature-divider-separator {
    background-color: var(--divider-color);
    border: 0;
    flex-grow: 1;
    height: var(--divider-border-width);
    margin: 0;
}

/* Training Method Section Base Styles */
.feature-element-baf6130 {
    padding: 60px 0;
}

/* SP: 安全の取り組みとトレーニングメソッドのセクション間余白を半分にする */
@media (max-width: 767px) {
    .feature-element-5eecb74 {
        margin-bottom: 0 !important;
        padding-bottom: 0;
    }
    
    .feature-element-baf6130 {
        margin-top: 0 !important;
    }
}

.feature-element-baf6130 .feature-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Section Title and Description */
.feature-element-02ee9c8 {
    text-align: center;
    margin-bottom: 10px;
}

.feature-element-02ee9c8 .feature-heading-title {
    font-size: 16px;
    font-weight: 600;
    color: #00516D;
    font-family: "Noto Sans JP", Sans-serif;
}

.feature-element-72f6051 {
    text-align: center;
    margin-bottom: 30px;
}

.feature-element-72f6051 .feature-heading-title {
    font-size: 32px;
    font-weight: 700;
    color: #00516D;
    font-family: "Noto Sans JP", Sans-serif;
    letter-spacing: 2px;
}

.feature-element-859ee7d {
    text-align: left;
    margin-bottom: 40px;
}

.feature-element-859ee7d .feature-widget-container {
    font-size: 15px;
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 500;
    line-height: 2.5em;
    color: #000;
}

/* Subsection Title */
.feature-element-d56fdc5 {
    text-align: left;
    margin-bottom: 15px;
}

.feature-element-d56fdc5 .feature-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #00516D;
    margin-bottom: 0;
}

/* Divider */
.feature-element-e361c68 {
    margin-bottom: 30px;
}

.feature-element-e361c68 .feature-divider-separator {
    background-color: #00516D;
}

/* Description Text */
.feature-element-62f6955 {
    text-align: left;
    margin-bottom: 40px;
}

.feature-element-62f6955 .feature-widget-container {
    font-size: 15px;
    font-family: "Noto Sans JP", Sans-serif;
    font-weight: 500;
    line-height: 2.5em;
    color: #000;
    background-color: #f5f5f5;
    padding: 2% 2% 2% 2%;
}

/* 4 Abilities Cards Section */
.feature-element-402f7ba {
    margin-bottom: 40px;
}


/* Each Ability Card */
.feature-element-402f7ba .feature-col-25 {
    text-align: center;
}

.feature-element-402f7ba .feature-widget-image {
    margin-bottom: 15px;
}

.feature-element-402f7ba .feature-widget-image img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}

.feature-element-402f7ba .feature-widget-heading {
    margin-bottom: 10px;
}

.feature-element-402f7ba .feature-heading-title {
    font-size: 18px;
    font-weight: 600;
    color: #00516D;
    font-family: "Noto Sans JP", Sans-serif;
}

.feature-element-402f7ba .feature-widget-text-editor {
    font-size: 14px;
    line-height: 1.6;
    color: #000;
    font-family: "Noto Sans JP", Sans-serif;
}

.feature-element-b30a9e6 .feature-widget-container {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 2em;
}

/* KOBA★トレ Banner Section */
.feature-element-e478925 {
    margin-top: 20px;
}

.feature-element-e478925 .feature-widget-image {
    text-align: center;
}

.feature-element-e478925 .feature-widget-image img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-element-e478925 .feature-widget-image a:hover img {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* Responsive Styles - Mobile */
@media (max-width: 767px) {
    .feature-element-baf6130 {
        padding: 5% 0% 4% 0%;
    }

    .feature-element-72f6051 .feature-heading-title {
        font-size: 24px;
    }

    .feature-element-859ee7d .feature-widget-container {
        font-size: 14px;
        line-height: 1.5em;
    }

    .feature-element-62f6955 .feature-widget-container {
        font-size: 14px;
        line-height: 1.5em;
        padding: 4% 4% 4% 4%;
    }

    /* SP: KOBA式～の文字サイズを小さくする */
    .feature-element-d56fdc5 .feature-heading-title {
        font-size: 15px;
        line-height: 1.9em;
    }

    /* 4 Abilities Cards - 1 column on mobile */
    .feature-element-402f7ba {
        margin-bottom: 0;
    }

    /* SP: 各カード間の上下余白を半分にする */
    .feature-element-402f7ba .feature-col-25 {
        width: 100%;
    }

    /* SP: 小見出しの下の余白を半分にする */
    .feature-element-402f7ba .feature-widget-heading {
        margin-bottom: 5px;
    }

    .feature-element-402f7ba .feature-widget-heading .feature-heading-title.feature-size-default {
        font-size: 20px !important;
        line-height: normal !important;
    }

    .feature-element-402f7ba .feature-widget-text-editor {
        font-size: 13px;
    }

    .feature-element-b30a9e6 .feature-widget-container {
        text-align: center;
        font-size: 14px;
        line-height: 2em;
    }
}



/* ========================================
   ハットリくんとは Section Styles
   ======================================== */

/* Section Container */
.feature-element-64249e8 {
    background-color: #F5F5F5;
    padding: 60px 0;
}

/* Section Heading */
.feature-element-0fd6077 .feature-widget-container {
    background-color: #00516D;
    padding: 2% 0% 2% 0%;
}

.feature-element-0fd6077 .feature-heading-title {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 0;
    line-height: 1.4;
}

/* Inner Section with Background */
.feature-element-01ad701 {
    background-color: #FFFFFF;
    border-style: solid;
    border-width: 0px 2px 2px 2px;
    border-color: #00516D;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    margin-top: -20px;
    margin-bottom: 0px;
    padding: 2% 0% 2% 0%;
}

/* Image Column */
.feature-element-92149f2 .feature-widget-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-element-418891e .feature-widget-container img {
    width: 300px;
    height: auto;
    border-radius: 8px;
}

/* Text Column */
.feature-element-0e1a47c {
    display: flex;
    align-items: center;
}

.feature-element-51daeeb .feature-widget-container {
    padding: 0 20px;
}

.feature-element-51daeeb .feature-widget-container p {
    font-family: "Noto Sans JP", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 2.5em;
    color: #000000;
    margin: 0;
}

/* Responsive Styles for Hattori-kun Section */
@media (max-width: 1024px) {
    .feature-element-64249e8 {
        padding: 50px 0;
    }

    .feature-element-0fd6077 .feature-heading-title {
        font-size: 28px;
    }

    .feature-element-01ad701 {
        padding: 2% 0% 2% 0%;
    }

    .feature-element-51daeeb .feature-widget-container p {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    .feature-element-64249e8 {
        padding: 40px 0;
    }

    .feature-element-0fd6077 .feature-widget-container {
        padding: 5% 0% 5% 0%;
    }

    .feature-element-0fd6077 .feature-heading-title {
        font-size: 18px;
    }

    .feature-element-01ad701 {
        padding: 5px;
    }

    .feature-element-01ad701 .feature-column {
        width: 100%;
    }

    .feature-element-418891e .feature-widget-container img {
        max-width: 300px;
        margin-bottom: 20px;
    }

    /* SP: ハットリくんとはの説明文章の上下左右余白を外側余白と同等にする */
    .feature-element-51daeeb .feature-widget-container {
        padding: 0;
    }

    .feature-element-51daeeb .feature-widget-container p {
        font-size: 14px;
        line-height: 1.5em;
    }
}
