.global-nav-list>li {
    float: left
}

.global-nav-list>li:hover .global-nav-description,
.global-nav-list>li[class*=current]:where(:not(.menu-item-anchor)) .global-nav-description {
    opacity: 1
}

.global-nav-list>li:hover:before,
.global-nav-list>li[class*=current]:where(:not(.menu-item-anchor)):before {
    width: 100%
}

.global-nav-list>li:before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 0;
    border-bottom: 1px solid var(--vk-color-primary);
    transition: all .5s ease-out
}

.global-nav-list>li.menu-item-has-children::after {
    transition: all .2s ease-out;
    content: "";
    position: absolute;
    padding: 0;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border: 10px solid transparent;
    z-index: 1000;
    opacity: 0;
    border-bottom-color: var(--vk-color-primary)
}

.device-pc .global-nav-list>li.menu-item-has-children:hover::after,
.global-nav-list>li.acc-parent-open::after {
    opacity: 1;
    bottom: 1px
}

.global-nav-list>li.acc-parent-close::after {
    opacity: 0
}

.global-nav-list>li>ul.sub-menu {
    margin-top: -1px
}

.global-nav-list ul li a:hover {
    background-color: var(--vk-color-primary)
}

body:not(.header_scrolled) .global-nav--text-layout--vertical .global-nav-list>li:before {
    left: unset;
    bottom: unset;
    border-bottom: none;
    border-right: 1px solid var(--vk-color-primary);
    top: 14px;
    right: 0;
    height: 0
}

body:not(.header_scrolled) .global-nav--text-layout--vertical .global-nav-list>li.acc-parent-open::after,
body:not(.header_scrolled) .global-nav--text-layout--vertical .global-nav-list>li.menu-item-has-children:hover::after {
    bottom: 0
}

body:not(.header_scrolled).device-pc .global-nav--text-layout--vertical .global-nav-list>li:hover:before,
body:not(.header_scrolled).device-pc .global-nav--text-layout--vertical .global-nav-list>li[class*=current]:before {
    height: calc(100% - 14px - 14px)
}

body:not(.header_scrolled).device-mobile .global-nav--text-layout--vertical .global-nav-list>li.acc-parent-open:before,
body:not(.header_scrolled).device-mobile .global-nav--text-layout--vertical .global-nav-list>li[class*=current]:before {
    height: calc(100% - 14px - 3em)
}

body,
html {
    font-family: Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "?? ?ゴシ?ク", "MS PGothic", sans-serif
}

.entry-title--post-type--page,
h2:where(:not(.wp-block-post-title)) {
    padding: .5em 0;
    border-top: 2px solid var(--vk-color-primary);
    border-bottom: 1px solid var(--vk-color-border-hr)
}

.site-footer-title,
.sub-section-title,
h3:where(:not(.wp-block-post-title)) {
    position: relative;
    border-bottom: 1px solid var(--vk-color-border);
    background: 0 0;
    padding: 0 0 .5em;
    border-radius: 0
}

.site-footer-title:after,
.sub-section-title:after,
h3:where(:not(.wp-block-post-title)):after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid var(--vk-color-primary)
}

h4:where(:not(.wp-block-post-title)) {
    padding: .5em;
    background-color: var(--vk-color-border-hr);
    border-radius: var(--vk-size-radius)
}

h5:where(:not(.wp-block-post-title)) {
    padding-bottom: .5em;
    border-bottom: 1px solid var(--vk-color-border-hr)
}

.wp-block-button__link {
    padding-top: calc(.6em + 2px);
    padding-bottom: calc(.6em + 2px)
}

.vk_button {
    margin-top: 0
}

.vk_button .vk_button_link.btn,
.wp-block-button.is-style-outline .wp-block-button__link {
    border-width: 1px;
    padding-top: .6em;
    padding-bottom: .6em
}

body,
html {
    font-family: Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "?? ?ゴシ?ク", "MS PGothic", sans-serif
}

.site-header {
    background-color: #fff
}

.page-header {
    color: #fff;
    background-color: var(--vk-color-primary)
}

.breadcrumb {
    border-top: 1px solid var(--vk-color-border-hr);
    border-bottom: 1px solid var(--vk-color-border-hr)
}

.site-footer {
    border-top: 1px solid var(--vk-color-primary)
}

.footer-nav {
    border-bottom: 1px solid var(--vk-color-border-hr)
}

.footer-nav-list li:first-child {
    border-left: 1px solid var(--vk-color-border)
}

.footer-nav-list li {
    border-right: 1px solid var(--vk-color-border)
}

@media (max-width:767.98px) {
    .footer-nav {
        border-bottom: none
    }

    .footer-nav-list li:first-child {
        border-left: none
    }

    .footer-nav-list li {
        border-right: none;
        border-bottom: 1px solid var(--vk-color-border-hr)
    }
}

/* tH[Ŝ̃X^C */
form {
    background-color: white;
    padding: 20px;
    width: 90%;
    margin: auto;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: left;
}

/* x̃X^C */
label {
    display: block;
    margin-top: 10px;
    font-weight: bold;
    color: #555;
}

/* ͗̃X^C */
input, textarea {
    width: 100%; /* box-sizingKp̂ŁApaddingborder݂100%Ɏ܂ */
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}

/* eLXgGA̍𒲐 */
textarea {
    resize: vertical;
    height: 120px;
}

/* M{^̃X^C */
button {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 10px;
    width: 100%;
    margin-top: 10px;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

/* zo[̃{^X^C */
button:hover {
    background-color: #218838;
}

@media screen and (max-width: 600px) {
    form {
        padding: 15px;
        width: 95%;
    }
    button {
        font-size: 14px;
        padding: 8px;
    }
}