@charset "UTF-8";

/* スムーズスクロール */
html {
    scroll-behavior: smooth;
}

/* アクセシビリティ用スタイル */
.skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    background: #000;
    color: #fff;
    text-decoration: none;
    z-index: 10000;
}

.skip-link:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    padding: 12px 24px;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 外部リンクアイコン（target="_blank"のリンクに自動付与） */
a[target="_blank"]:not(.no-external-icon)::after {
    content: "";
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    margin-left: 0.2em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='7' width='12' height='12' rx='1' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M9 5V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='7' width='12' height='12' rx='1' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M9 5V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    vertical-align: middle;
}

/* 画像リンクやボタンリンクにはアイコンを付けない */
a[target="_blank"]:has(img)::after,
a[target="_blank"]:has(svg)::after,
a[target="_blank"].map-button::after,
a[target="_blank"].apply-button::after,
a[target="_blank"].present-button::after,
a[target="_blank"].nursery-apply-button::after,
.company-banner-item a[target="_blank"]::after {
    display: none;
}

/* company-banner-item内の企業名の後ろに外部リンクアイコンを表示 */
.company-banner-item .company-name::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.25em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='7' width='12' height='12' rx='1' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M9 5V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3' y='7' width='12' height='12' rx='1' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M9 5V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    vertical-align: middle;
}

/* リンクなしの企業名（キッズ・マネー・スクール）は外部リンクアイコンを非表示 */
.company-banner-item:not(:has(a)) .company-name::after {
    display: none;
}

.g-header{
    display: block;
    width: 100%;
    background-color: #fff;
}

.g-header-inner{
    background-image: repeating-linear-gradient(
        -45deg,
        #f39a0025,
        #f39a0025 6px,
        #fff 6px,
        #fff 12px
    );
}

.g-header-img{
    max-width: 1000px;
    height: auto;
    margin: 0px auto;
}

.g-header-imgimg{
    max-width: 100%;
    height: auto;
}

.g-footer{
    display: block;
    width: 100%;
    background-color: #000;
}

.g-footer-inner{
    padding:15px 10px 135px;
}

.g-footer-inner p{
    font-size: 11px;
    color: #fff;
    text-align: center;
    line-height: 1.3em;
}