/*
Theme Name:     14sym-custom
Theme URI:      https://example.com/
Description:    Custom child theme of Twenty Twenty-Five
Author:         Your Name
Author URI:     https://example.com
Template:       twentytwentyfive
Version:        1.0.0
Text Domain:    14sym-custom
*/
@import url("../twentytwentyfive/style.css");
iframe {
    width: 100%;
    vertical-align: middle !important;
}
.main-content {
    width: 100%;
    max-width: 128rem;
    margin: 0 auto;
    padding: 6rem 7.5rem;
    min-height: 60vh;
    position: relative;
    z-index: 9;
}
.main-content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 4rem);
    background: rgba(255, 255, 255, .8);
    z-index: -1;
}
.main-content .has-global-padding {
    padding: 0;
}
.main-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.main-content .wp-block-post-title{
    max-width: 100%;
}
.main-content h1 {
    font-size: 4rem;
    line-height: 1.2;
    margin-bottom: 5.6rem;
    margin-top: 0;
}
body.lang-ja {
    font-family: "Noto Sans JP", sans-serif;
}
body.lang-en {
    font-family: "din-2014", sans-serif;
}
.English {
    font-family: "din-2014", sans-serif;
}
.header__main--nav .dropdown-lang a.English i {
    margin-top: 0;
}
.custom-main {
    margin: 2rem 0 0 !important;
    padding: 0 !important;
}
.infopage-box {
    background: #E83421;
    margin-bottom: 3.1rem;
    padding: 4rem 0;
}
.infopage-box__main {
    display: grid;
    align-items: start;
    justify-content: center;
    gap: 4rem;
    grid-template-columns: repeat(2, auto);
}
.infopage-box__main > ul {
    margin-top: 5rem;
}
.infopage-box__main .head h3 {
    margin-bottom: 1.5rem;
    color: #FFF;
    font-size: 2.4rem;
    line-height: 1.6;
}
.infopage-box__main .head h3:nth-child(2) {
    margin-bottom: 1.5rem;
    font-size: 2rem;
    line-height: 1.2;
}
.infopage-box__main ul li {
    color: #FFF;
    display: grid;
    align-items: start;
    justify-content: start;
    gap: 0.6rem;
    line-height: 1.6;
    margin-bottom: 1.3rem;
    grid-template-columns: repeat(2, auto);
}
.infopage-box__main ul li i {
    margin-top: .5rem;
}
.infopage-box__main ul li a {
    color: #FFF;
    display: grid;
    align-items: start;
    justify-self: center;
    grid-template-columns: repeat(2, auto);
    gap: 0.6rem;
    line-height: 1.6;
    text-decoration: underline;
    transition: all 400ms ease-in-out;
}
.infopage-box__main ul li a:hover {
    opacity: 0.7;
    text-decoration: none;
}
.infopage-box__main ul li:last-child {
    margin-bottom: 0;
}
.breadcrumb-box {
    position: absolute;
    top: 2rem;
    right: 2rem;
}
.breadcrumb-box ul {
    display: flex;
    align-items: center;
    justify-self: start;
}
.breadcrumb-box ul li {
    color: #000;
    font-size: 1.2rem;
    line-height: 1.3;
}
.breadcrumb-box ul li a {
    color: #000;
    font-size: 1.2rem;
    line-height: 1.3;
}
.breadcrumb-box ul li + li {
    &::before {
        content: ">";
        color: #000;
        font-family: "din-2014", sans-serif;
        padding: 0 .5rem;
    }
}
.main-menu-container ul li {
    position: relative;
}
.main-menu-container ul li .sub-menu {
    background: rgba(255, 255, 255, .8);
    padding: 2rem;
    position: absolute;
    z-index: 999;
    top: 1.8rem;
    left: 0;
    display: grid;
    align-items: start;
    gap: 1rem;
    grid-template-columns: 1fr;
    min-width: 22rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.main-menu-container ul li:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.main-menu-container .current-menu-item > a,
.main-menu-container .current_page_item > a {
    color: #E83421;
}
.logo {
    position: relative;
}
.logo a picture {
    display: block;
    position: relative;
    z-index: 99;
}
.logo a picture img {
    opacity: 1;
}
.logo a picture:last-child {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9;
}
.logo a:hover picture:last-child {
    z-index: 999;
}
.toggle-submenu  {
    display: none;
}
.lang-ja .info-box {
	margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
    #wpadminbar {
        position: fixed;
    }
    .custom-main {
        margin-top: 0 !important;
    }
    .main-content {
        padding: 11rem 2rem !important;
        min-height: 45rem;
    }
    .main-content h1 {
        font-size: 3rem;
        margin-bottom: 1.9rem;
    }
    .infopage-box {
        margin-bottom: 2.1rem;
    }
    .infopage-box__main {
        align-items: start;
        gap: 0;
        grid-template-columns: 1fr;
    }
    .infopage-box__main > ul {
        margin: 0;
    }
    .infopage-box__main .head {
        margin-bottom: .4rem;
    }
    .infopage-box__main .head h3 {
        margin-bottom: .8rem;
        font-size: 1.6rem;
    }
    .infopage-box__main .head h3:nth-child(2) {
        font-size: 1.4rem;
    }
    .infopage-box__main ul li {
        margin-bottom: .6rem;
        font-size: 1.2rem;
    }
    .infopage-box__main ul li i {
        margin-top: .5rem;
    }
    .breadcrumb-box {
        top: 8rem;
        right: auto;
        left: 2rem;
        z-index: 999;
        width: 14rem;
    }
    .breadcrumb-box ul {
        flex-wrap: wrap;
    }
    .breadcrumb-box ul li {
        font-size: .8rem;
    }
    .breadcrumb-box ul li a {
        font-size: .8rem;
    }
    .main-menu-container {
        overflow: auto;
        max-height: 100vh;
        padding-bottom: 4rem;
    }
    .main-menu-container ul li a:hover {
        color: #e83421 !important;
    }
    .main-menu-container ul li .sub-menu {
        display: none;
        position: static;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        background: transparent;
        padding: 0 2rem;
        margin: 0;
        gap: 0;
    }
    .main-menu-container ul li .sub-menu li a {
        font-size: 1.8rem;
    }
    .toggle-submenu {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 4rem;
        color: #FFFFFF;
        position: absolute;
        top: 0;
        right: 0;
        font-size: 2rem;
    }
}