:root {
    --layout-max-width: 1200px;
    --layout-contents-max-width: 1200px;
    --layout-sidebar-width: 280px;
    --color-primary: #001f42;
    --color-secondary: #002fb9;
    --color-fg-primary: #000;
    --color-fg-reverse: #fff;
    --color-fg-link: #00adff;
    --color-bg-primary: #fff;
    --color-bg-secondary: #e5eff6;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Helvetica, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.5
}

body,
html {
    margin: 0;
    min-height: 100svh;
    overflow-x: hidden;
    padding: 0
}

a {
    color: inherit;
    text-decoration: none
}

dd,
dl,
dt,
figcaption,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
ul {
    margin: 0;
    padding: 0
}

li,
ol,
ul {
    list-style: none
}

button,
input[type=color],
input[type=date],
input[type=datetime-local],
input[type=datetime],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
    background: none;
    border: none;
    box-sizing: border-box;
    color: inherit;
    font-size: 100%;
    margin: 0;
    outline: none;
    padding: 0;
    vertical-align: baseline
}

button {
    cursor: pointer
}

[x-cloak] {
    display: none !important
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24
}

/*.material-symbols-outlined:before {
    content: attr(data-icon)
}*/

.global-header {
    box-sizing: border-box;
    height: var(--layout-header-height);
    margin-inline: auto;
    max-width: var(--layout-max-width);
    position: relative
}

@media(min-width:540px) {
    .global-header {
        --layout-header-height: 96px
    }
}

@media(max-width:1200px) {
    .global-header {
        padding-inline: 1rem
    }
}

@media(max-width:540px) {
    .global-header {
        --layout-header-height: 64px
    }
}

.global-header__site-logo {
    align-items: center;
    display: flex;
    height: 100%
}

.global-header__site-logo>a>img {
    display: block;
    width: auto
}

@media(min-width:960px) {
    .global-header__site-logo>a>img {
        height: 56px
    }
}

@media(max-width:960px) {
    .global-header__site-logo>a>img {
        height: 42px
    }
}

.global-header-nav__button {
    align-items: center;
    aspect-ratio: 1;
    background-color: var(--color-bg-primary);
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    z-index: 98
}

@media(min-width:960px) {
    .global-header-nav__button .material-symbols-outlined {
        font-size: 2.75em
    }
}

@media(max-width:960px) {
    .global-header-nav__button .material-symbols-outlined {
        font-size: 2em
    }
}

.global-header-nav__backdrop {
    background-color: rgba(0, 0, 0, .25);
    cursor: pointer;
    display: block;
    height: 100vh;
    left: -100vw;
    position: fixed;
    top: 0;
    width: 200vw;
    z-index: 97
}

.global-header-nav__list {
    background-color: #f6f6f6;
    padding: 1rem;
    position: absolute;
    right: 0;
    top: 100%;
    width: calc(var(--layout-sidebar-width) + 2rem);
    z-index: 99
}

.global-header-nav__list>li {
    font-size: 1em
}

.global-header-nav__list>li:not(:last-child) {
    border-bottom: 1px solid #ccc
}

.global-header-nav__list>li>a {
    color: var(--color-primary);
    display: block;
    font-weight: 700;
    padding: .5rem;
    position: relative
}

.global-header-nav__list>li>a .material-symbols-outlined {
    font-size: 1.5em;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%
}

@media(any-hover:hover) {
    .global-header-nav__list>li>a:hover {
        background-color: #eee
    }
}

.global-header-nav__list>li .global-search-form {
    border: 1px solid #aaa;
    margin-block: .5rem
}

.contents-header {
    background-color: var(--color-primary)
}

.contents-header__inner {
    box-sizing: border-box;
    color: var(--color-fg-reverse);
    font-weight: 700;
    margin-inline: auto;
    max-width: var(--layout-max-width);
    padding-block: 8px
}

@media(min-width:540px) {
    .contents-header__inner {
        font-size: 1.4rem
    }
}

@media(max-width:1200px) {
    .contents-header__inner {
        padding-inline: 1rem
    }
}

@media(max-width:960px) {
    .contents-header__inner {
        font-size: 1.1rem
    }
}

.contents-header__inner--short {
    max-width: var(--layout-contents-max-width)
}

.contents-header__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

@media(any-hover:hover) {
    .contents-header__list>li:hover {
        text-decoration: underline
    }
}

.dq-logo {
    display: none;
    margin-left: 5px
}

@media(min-width:540px) {
    .dq-logo {
        display: inline-block
    }
}

.dq-text {
    background: #e5eff6;
    color: #001f42;
    display: flex;
    font-size: 12px;
    justify-content: center;
    padding: 0 1rem .2em
}

@media(min-width:540px) {
    .dq-text {
        display: none
    }
}

.global-footer {
    background-color: var(--color-primary);
    display: flow-root
}

.global-footer__inner {
    color: var(--color-fg-reverse);
    margin-inline: auto;
    max-width: var(--layout-contents-max-width)
}

@media(max-width:960px) {
    .global-footer__inner {
        display: grid;
        grid-template-areas: "footer-tag-list" "footer-nav" "footer-nav-small"
    }
}

.global-footer-nav {
    grid-area: footer-nav
}

@media(min-width:540px) {
    .global-footer-nav:after {
        border-top: 1px solid;
        content: "";
        display: block;
        margin-inline: calc(-50vw + 50%);
        width: 100vw
    }
}

@media(min-width:960px) {
    .global-footer-nav__list {
        display: flex
    }
}

.global-footer-nav__list>li {
    min-width: -moz-fit-content;
    min-width: fit-content
}

@media(min-width:960px) {
    .global-footer-nav__list>li {
        border-left: 1px solid
    }

    .global-footer-nav__list>li:last-child {
        width: 100%
    }
}

@media(max-width:960px) {
    .global-footer-nav__list>li {
        border-top: 1px solid
    }
}

.global-footer-nav__list>li>a {
    align-items: center;
    box-sizing: border-box;
    color: inherit;
    display: flex;
    height: 100%
}

@media(min-width:960px) {
    .global-footer-nav__list>li>a {
        font-size: .9rem;
        padding: .5rem 1.5rem
    }
}

@media(max-width:960px) {
    .global-footer-nav__list>li>a {
        padding: 1rem
    }
}

@media(any-hover:hover) {
    .global-footer-nav__list>li>a:hover {
        background-color: color-mix(in srgb, var(--color-primary) 80%, #fff)
    }
}

@media(min-width:960px) {
    .global-footer-nav__list>li .global-search-form {
        margin: .5rem 0 .5rem .5rem
    }
}

@media(max-width:960px) {
    .global-footer-nav__list>li .global-search-form {
        margin: 1rem
    }
}

.global-footer-tag-list {
    grid-area: footer-tag-list;
    margin-block: 2rem;
    text-align: center
}

@media(max-width:960px) {
    .global-footer-tag-list {
        margin: 1.5rem 1rem
    }
}

@media(min-width:960px) {
    .global-footer-tag-list .global-tag-list {
        -moz-column-gap: 2rem;
        column-gap: 2rem;
        grid-auto-flow: column;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, 1fr)
    }
}

.global-footer-nav-small {
    grid-area: footer-nav-small
}

@media (max-width:960px) {
    .global-footer-nav {
        -ms-grid-column: 1;
        -ms-grid-row: 2
    }

    .global-footer-tag-list {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .global-footer-nav-small {
        -ms-grid-column: 1;
        -ms-grid-row: 3
    }
}

@media(min-width:960px) {
    .global-footer-nav-small {
        font-size: .9em;
        margin: 2rem
    }
}

@media(max-width:960px) {
    .global-footer-nav-small {
        font-size: .8em;
        margin: 1.5rem
    }
}

.global-footer-nav-small__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 1px;
    row-gap: 8px
}

.global-footer-nav-small__list>li {
    border-inline: 1px solid color-mix(in srgb, currentColor 75%, #fff);
    margin-left: -1px;
    padding: 0 .75rem
}

@media(any-hover:hover) {
    .global-footer-nav-small__list>li>a:hover {
        text-decoration: underline
    }
}

.global-footer .copy {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0 5px;
    justify-content: center;
    margin-bottom: 30px
}

.global-footer .copy img {
    height: auto;
    width: 100px
}

.main {
    box-sizing: border-box;
    margin: 2rem auto 4rem;
    max-width: var(--layout-contents-max-width);
    min-height: 50vh
}

@media(max-width:1200px) {
    .main {
        max-width: 100%;
        padding-inline: 1rem
    }
}

.main--no-margin-top {
    margin: 0 auto 4rem
}

.main--full-width,
.main-with-sidebar {
    max-width: var(--layout-max-width)
}

.main-with-sidebar {
    margin: 1rem auto
}

@media(min-width:1200px) {
    .main-with-sidebar {
        box-sizing: border-box;
        -moz-column-gap: 2rem;
        column-gap: 2rem;
        display: grid;
        grid-template-columns: 1fr var(--layout-sidebar-width)
    }
}

.main-with-sidebar>.main {
    margin: 0 auto;
    min-width: 0;
    width: 100%
}

.sidebar {
    display: flex;
    flex-direction: column;
    row-gap: 2rem
}

@media(max-width:1200px) {
    .sidebar {
        margin-block: 2rem;
        padding-inline: 1rem
    }

    .sidebar-category {
        display: none
    }
}

.sidebar-recommend__title {
    color: var(--color-primary);
    font-size: 1rem
}

.sidebar-recommend__list>li {
    font-size: .9rem;
    padding-top: 1rem
}

.sidebar-recommend__list>li:not(:last-child) {
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem
}

.sidebar-freespace {
    align-items: center;
    display: flex;
    flex-direction: column;
    row-gap: 1rem
}

.sidebar-freespace img {
    display: block;
    height: auto;
    margin-inline: auto;
    max-width: 100%
}

.front-page-hero {
    background-image: var(--local-bg-image);
    background-size: cover;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    gap: 40px;
    justify-content: center;
    margin-inline: calc(-50vw + 50%);
    width: 100vw
}

@media(min-width:960px) {
    .front-page-hero {
        padding: 3rem 2rem
    }
}

@media(max-width:960px) {
    .front-page-hero {
        padding: 3rem 2rem
    }
}

@media(max-width:768px) {
    .front-page-hero {
        flex-direction: column;
        gap: 1em
    }
}

@media(max-width:540px) {
    .front-page-hero {
        padding: 2rem 1rem
    }
}

.front-page-hero>hgroup {
    align-self: center
}

.front-page-hero__pre-title {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 1rem;
    text-align: center
}

@media(min-width:540px) {
    .front-page-hero__pre-title {
        font-size: 2rem
    }
}

.front-page-hero__title>img {
    display: block;
    margin-inline: auto;
    width: 100%
}

@media(min-width:540px) {
    .front-page-hero__title>img {
        max-width: 560px
    }
}

@media(max-width:540px) {
    .front-page-hero__title>img {
        max-width: 320px
    }
}

.front-page-hero__description {
    margin-inline: auto;
    margin-top: 1.5rem;
    max-width: 640px
}

@media(min-width:960px) {
    .front-page-hero__description {
        font-size: 1.1em
    }
}

@media(max-width:960px) {
    .front-page-hero__description {
        font-size: 1.1em
    }
}

@media(max-width:540px) {
    .front-page-hero__description {
        font-size: .9em
    }
}

.front-page-hero .front-page-hero__description,
.front-page-hero .front-page-hero__title>img {
    align-self: center;
    flex: 1 1 50%;
    max-width: 430px;
    width: 100%
}

.front-page-hero .front-page-hero__description {
    margin-inline: unset;
    margin-top: 0
}

@media(min-width:960px) {
    .front-page-new-posts {
        align-items: start;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        display: grid;
        grid-template-areas: "title freespace" ". freespace";
        grid-template-columns: 1fr auto;
        grid-template-rows: auto 1fr;
        margin-block: 4rem
    }
}

@media(max-width:960px) {
    .front-page-new-posts {
        margin-block: 2rem
    }
}

.front-page-new-posts__title {
    border-bottom: 3px solid;
    color: var(--color-primary);
    grid-area: title;
    letter-spacing: 4px;
    margin-bottom: 1rem;
    padding-bottom: 2px
}

@media(min-width:960px) {
    .front-page-new-posts__title {
        font-size: 1.75em
    }
}

@media(max-width:960px) {
    .front-page-new-posts__title {
        font-size: 1.5em
    }
}

.front-page-new-posts__freespace {
    display: grid;
    grid-area: freespace;
    row-gap: 1rem
}

.front-page-new-posts__freespace img {
    display: block;
    height: auto;
    margin-inline: auto;
    max-width: 100%;
    width: 300px
}

.front-page-new-posts__lower-freespace,
.front-page-new-posts__upper-freespace {
    display: flex;
    justify-content: space-evenly;
    margin-block: 2rem
}

.front-page-new-posts__lower-freespace {
	gap: 2rem;
	flex-direction: row;
	flex-wrap: wrap;
}
.front-page-new-posts__lower-freespace > div {
	width: auto !important;
	max-width: 420px !important;
}/* 20250715 --------------------------------------------- */
.front-page-new-posts__lower-freespace a:has(img) {
	width: 100%;
	max-width: 420px;
}/* 20250715 --------------------------------------------- */


.front-page-new-posts__lower-freespace img,
.front-page-new-posts__upper-freespace img {
    aspect-ratio: 16/9;
    display: inline-block;
    height: auto;
    margin-inline: auto;
//    max-width: 100%;
    transition: .2s
}

.front-page-new-posts__lower-freespace img:hover,
.front-page-new-posts__upper-freespace img:hover {
    opacity: .7
}

.front-page-new-posts__lower-freespace>a,
.front-page-new-posts__upper-freespace>a {
    max-width: 50%;
//    min-width: 300px;
    position: relative;
    z-index: 0
}

@media(min-width:960px) {
    .front-page-new-posts__upper-freespace {
        display: none
    }
}

.front-page-new-posts-list {
    display: grid;
    margin-bottom: 2rem
}

@media(min-width:960px) {
    .front-page-new-posts-list {
        row-gap: 1rem
    }
}

@media(max-width:960px) {
    .front-page-new-posts-list {
        row-gap: .75rem
    }
}

.front-page-new-posts-item {
    align-items: flex-start;
    display: grid
}

@media(min-width:960px) {
    .front-page-new-posts-item {
        gap: 8px;
        grid-template-areas: "category title";
        grid-template-columns: 96px 1fr
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail) {
        grid-template-areas: "category thumbnail title";
        grid-template-columns: 96px 120px 1fr
    }

    .front-page-new-posts-item>.front-page-new-posts__title {
        -ms-grid-column: 3;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts__title {
        -ms-grid-column: 3;
        -ms-grid-row: 1
    }
}

@media(max-width:960px) {
    .front-page-new-posts-item {
        gap: 4px 8px;
        grid-template-areas: "category title";
        grid-template-columns: 72px 1fr
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail) {
        grid-template-areas: "thumbnail category" "thumbnail title";
        grid-template-columns: 96px auto
    }

    .front-page-new-posts-item>.front-page-new-posts__title {
        -ms-grid-column: 3;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts__title {
        -ms-grid-column: 2;
        -ms-grid-row: 2
    }
}

.front-page-new-posts-item__category {
    background-color: #e6e6e6;
    grid-area: category;
    padding-block: 4px;
    text-align: center
}

@media(min-width:960px) {
    .front-page-new-posts-item__category {
        font-size: .8rem;
        max-width: 96px
    }
}

@media(max-width:960px) {
    .front-page-new-posts-item__category {
        font-size: .75rem;
        max-width: 72px
    }
}

.front-page-new-posts-item__thumbnail {
    grid-area: thumbnail;
    width: 100%
}

.front-page-new-posts-item__title {
    font-weight: 700;
    grid-area: title;
    margin-top: .1lh
}

@media (min-width:960px) {
    .front-page-new-posts__title {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .front-page-new-posts__freespace {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        -ms-grid-column: 3
    }

    .front-page-new-posts-item__category {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts-item__category {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item__thumbnail {
        -ms-grid-column: 2;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item__title {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item>.front-page-new-posts-item__title {
        -ms-grid-column: 3;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts-item__title {
        -ms-grid-column: 3;
        -ms-grid-row: 1
    }
}

@media (max-width:960px) {
    .front-page-new-posts-item>.front-page-new-posts-item__category {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts-item__category {
        -ms-grid-column: 2;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts-item__thumbnail {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        -ms-grid-column: 1
    }

    .front-page-new-posts-item>.front-page-new-posts-item__title {
        -ms-grid-column: 3;
        -ms-grid-row: 1
    }

    .front-page-new-posts-item:has(.front-page-new-posts-item__thumbnail)>.front-page-new-posts-item__title {
        -ms-grid-column: 2;
        -ms-grid-row: 2
    }
}

@media(min-width:960px) {
    .front-page-new-posts-item__title {
        font-size: 1.1rem
    }
}

@media(max-width:960px) {
    .front-page-new-posts-item__title {
        font-size: .9rem
    }
}

@media(any-hover:hover) {
    .front-page-new-posts-item__title a:hover {
        text-decoration: underline
    }
}

.front-page-pickup-posts__title {
    border-bottom: 3px solid;
    color: var(--color-primary);
    letter-spacing: 4px;
    margin-bottom: 1rem;
    padding-bottom: 2px
}

@media(min-width:960px) {
    .front-page-pickup-posts__title {
        font-size: 1.75em
    }
}

@media(max-width:960px) {
    .front-page-pickup-posts__title {
        font-size: 1.5em
    }
}

.page-content a {
    color: var(--color-fg-link)
}

@media(any-hover:hover) {
    .page-content a:hover {
        text-decoration: underline
    }
}

.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    margin-block: 3rem 1.5rem
}

.page-content p {
    font-size: 14px;
    line-height: 1.75;
    margin-block: 1.5rem
}

.page-content li,
.page-content ol,
.page-content ul {
    list-style: initial;
    padding: initial
}

.page-content ol,
.page-content ul {
    margin-block: 1.5rem;
    padding-inline-start: 1.5rem
}

.page-content img {
    height: auto
}

.page-content iframe,
.page-content img {
    display: block;
    margin-inline: auto;
    max-width: 100%
}

.page-content figcaption {
    color: #888;
    font-size: 14px;
    margin-top: .5rem;
    text-align: center
}

.page-content blockquote {
    background-color: #f2f2f2;
    border-left: 8px solid #ccc;
    border-radius: 8px;
    font-style: italic;
    margin: 1.5rem 0;
    padding: .5rem 1rem
}

.page-content table {
    border-spacing: 0;
    width: 100%
}

.page-content table>thead {
    background-color: var(--color-primary);
    color: var(--color-fg-reverse)
}

.page-content table>tbody>tr:nth-child(odd) {
    background-color: var(--color-bg-secondary)
}

.page-content table>tbody>tr>td {
    font-size: .9rem;
    padding: 1rem;
    vertical-align: top
}

.page-company-header {
    padding-block: 3rem;
    position: relative
}

.page-company-header:before {
    background-image: var(--local-bg-image);
    background-size: cover;
    content: "";
    display: block;
    height: 100%;
    margin-inline: calc(-50vw + 50%);
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: -1
}

.page-company-header__title-group {
    background-color: var(--color-primary);
    color: var(--color-fg-reverse);
    margin-left: auto;
    position: relative;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content
}

@media(min-width:960px) {
    .page-company-header__title-group {
        margin-bottom: -6rem;
        padding: 4rem 3rem
    }
}

@media(max-width:960px) {
    .page-company-header__title-group {
        margin-bottom: -6rem;
        padding: 2rem
    }
}

.page-company-header__title-group:before {
    background-color: var(--color-primary);
    content: "";
    display: block;
    height: 100%;
    left: 100%;
    position: absolute;
    top: 0;
    width: calc(50vw - 50%)
}

.page-company-header__title {
    font-weight: 700
}

@media(min-width:960px) {
    .page-company-header__title {
        font-size: 1.6rem
    }
}

@media(max-width:960px) {
    .page-company-header__title {
        font-size: 1.4rem
    }
}

.page-company-header__subtitle {
    font-size: 1rem;
    opacity: .8
}

.page-content--company {
    margin-top: 6rem
}

.page-content--company tbody td:first-child {
    font-weight: 700
}

@media(max-width:960px) {
    .page-content--company table>tbody>tr {
        display: grid;
        padding: 1rem;
        row-gap: .5rem
    }

    .page-content--company table>tbody>tr>td {
        padding: 0
    }
}

.page-about-wrapper {
    /*background-color: #69b4ee !important;*/
    display: flow-root
}

.page-about-header {
    position: relative
}

@media(min-width:960px) {
    .page-about-header {
        padding-block: 5rem 8rem
    }
}

@media(max-width:960px) {
    .page-about-header {
        padding-block: 2rem 6rem
    }
}

.page-about-header:before {
    background-image: var(--local-bg-image);
    background-size: cover;
    content: "";
    display: block;
    height: 100%;
    margin-inline: calc(-50vw + 50%);
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100vw
}

.page-about-header__title {
    color: var(--color-primary);
    letter-spacing: 2px;
    position: relative;
    text-align: center;
    z-index: 2
}

@media(min-width:960px) {
    .page-about-header__title {
        font-size: 2.5rem
    }
}

@media(max-width:960px) {
    .page-about-header__title {
        font-size: 1.25rem
    }
}

.page-about-header__title>span {
    display: inline-block
}

.page-about-header__title>img {
    display: block;
    max-width: 100%;
    width: 900px
}

@media(min-width:960px) {
    .page-about-header__title>img {
        margin: .5rem auto
    }
}

@media(max-width:960px) {
    .page-about-header__title>img {
        margin: 0 auto
    }
}

.page-about-content {
    background-color: var(--color-bg-primary);
    /*box-shadow: 0 8px 16px color-mix(in srgb, var(--color-primary) 50%, #69b4ee 50%);*/
	box-shadow:0 2px 8px rgba(0,0,0,0.08);
    margin-top: -4rem;
    position: relative;
    z-index: 2
}

@media(min-width:960px) {
    .page-about-content {
        padding: 3rem
    }
}

@media(max-width:960px) {
    .page-about-content {
        padding: 1.5rem
    }
}

.page-about-content__description {
    margin-bottom: 2rem;
    text-align: justify
}

.page-about-content__description>p {
    line-height: 1.75;
    margin-block: 1rem
}

.page-about-features {
    display: grid
}

.page-about-features-item {
    position: relative
}

@media(min-width:960px) {
    .page-about-features-item {
        padding-left: 4rem
    }
}

@media(max-width:960px) {
    .page-about-features-item {
        padding-left: 2rem
    }
}

.page-about-features-item:not(:last-child) {
    border-bottom: 1px solid;
    margin-bottom: 3rem;
    padding-bottom: 4rem
}

.page-about-features-item:before {
    background-image: var(--local-num-image);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    position: absolute
}

@media(min-width:960px) {
    .page-about-features-item:before {
        height: 3rem;
        left: 0;
        top: -.5rem;
        width: 2rem
    }
}

@media(max-width:960px) {
    .page-about-features-item:before {
        height: 2rem;
        left: -1rem;
        top: 0;
        width: 2rem
    }
}

.page-about-features-item__title {
    color: var(--color-primary)
}

@media(min-width:960px) {
    .page-about-features-item__title {
        font-size: 1.75rem
    }
}

@media(max-width:960px) {
    .page-about-features-item__title {
        font-size: 1.25rem
    }
}

.page-about-features-item__title>span {
    display: inline-block
}

.page-about-features-item__description {
    line-height: 1.75;
    margin-block: .5rem 1rem;
    text-align: justify
}

.page-about-features-item__link {
    background-color: var(--color-bg-secondary);
    display: block;
    padding: .5rem
}

@media(min-width:960px) {
    .page-about-features-item__link {
        padding-right: 1rem;
        width: -moz-fit-content;
        width: fit-content
    }
}

@media(any-hover:hover) {
    .page-about-features-item__link:hover {
        text-decoration: underline
    }
}

.page-about-features-item__thumbnail {
    display: grid
}

@media(min-width:960px) {
    .page-about-features-item__thumbnail {
        align-items: center;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        grid-template-columns: 176px auto
    }
}

@media(max-width:960px) {
    .page-about-features-item__thumbnail {
        -moz-column-gap: .75rem;
        column-gap: .75rem;
        grid-template-columns: 120px auto
    }
}

.page-about-features-item__thumbnail>img {
    display: block;
    height: auto;
    width: 100%
}

.page-about-features-item__thumbnail>figcaption {
    font-weight: 700
}

@media(min-width:960px) {
    .page-about-features-item__thumbnail>figcaption {
        font-size: 1.2rem
    }
}

@media(max-width:960px) {
    .page-about-features-item__thumbnail>figcaption {
        font-size: .9rem
    }

    .page-about-features-item__thumbnail>figcaption>br {
        display: none
    }
}

.page-404-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 50vh
}

.page-404-content__heading {
    font-size: 2rem;
    font-weight: 700;
    text-align: center
}

.page-404-content__text {
    font-size: 1rem;
    text-align: center
}

.single-article-title {
    font-size: 1.5rem
}

@media(min-width:540px) {
    .single-article-title {
        font-size: 1.65rem
    }
}

.single-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 8px;
    opacity: .8
}

.single-article-meta__author,
.single-article-meta__time {
    align-items: center;
    -moz-column-gap: 4px;
    column-gap: 4px;
    display: flex
}

.single-article-meta__author .material-symbols-outlined,
.single-article-meta__time .material-symbols-outlined {
    font-size: 1.2rem;
    font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
    opacity: .75
}

.single-article-meta__time {
    font-size: .9rem
}

.single-article-meta__author {
    font-size: 1.1rem
}

.single-article-thumbnail {
    margin-block: 1rem
}

.single-article-thumbnail img {
    aspect-ratio: 16/9;
    display: block;
    height: auto;
    max-width: 80%; /*500pxから変更*/
	-o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left;
    object-position: left;
	margin:0 auto;
}

.single-article-content {
    line-height: 1.75;
    text-align: justify;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: normal
}

.single-article-content a {
    color: var(--color-fg-link)
}

@media(any-hover:hover) {
    .single-article-content a:hover {
        text-decoration: underline
    }
}

.single-article-content h2,
.single-article-content h4,
.single-article-content h5,
.single-article-content h6 {
    color: var(--color-primary);
    margin-block: 3rem 1.5rem
}

.single-article-content h2 {
    font-size: 1.5rem
}

@media(max-width:540px) {
    .single-article-content h2 {
        font-size: 1.35rem
    }
}

.single-article-content h3 {
    border-left: 8px solid var(--color-secondary);
    margin-block: 3rem 1.5rem;
    padding-left: 8px
}

.single-article-content p {
    margin-block: 1.5rem
}

.single-article-content blockquote {
    background-color: #f2f2f2;
    border-left: 8px solid #ccc;
    border-radius: 8px;
    font-style: italic;
    margin: 1.5rem 0;
    padding: .5rem 1rem
}

.single-article-content li,
.single-article-content ol,
.single-article-content ul {
    list-style: initial;
    padding: initial
}

.single-article-content ol,
.single-article-content ul {
    margin-block: 1.5rem;
    padding-inline-start: 1.5rem
}

.single-article-content strong {
//    color: var(--color-primary)
}

.single-article-content img {
    height: auto
}

.single-article-content iframe,
.single-article-content img {
    display: block;
    margin-inline: auto;
    max-width: 100%
}

.single-article-content figcaption {
    color: #888;
    font-size: 14px;
    margin-top: .5rem;
    text-align: center
}

.single-article-content .wp-block-table {
    overflow-x: auto
}

.single-article-content table {
    border-spacing: 0;
    margin-inline: auto;
    width: -moz-max-content;
    width: max-content
}

.single-article-content table>thead {
    background-color: var(--color-primary);
    color: var(--color-fg-reverse)
}

.single-article-content table>thead>tr>th {
    font-size: .9rem;
    padding: .5rem;
    vertical-align: top
}

.single-article-content table>tbody>tr:nth-child(odd) {
    background-color: var(--color-bg-secondary)
}

.single-article-content table>tbody>tr>td {
    font-size: .9rem;
    padding: .5rem 1rem;
    vertical-align: top
}

.single-article-content .has-small-font-size {
    font-size: .8rem
}

.single-article-content .has-normal-font-size {
    font-size: 1rem
}

.single-article-content .has-medium-font-size {
    font-size: 1.2rem
}

.single-article-content .has-large-font-size {
    font-size: 1.5rem
}

.single-article-content .has-huge-font-size {
    font-size: 2rem
}

.single-article-content .has-text-align-left {
    text-align: left
}

.single-article-content .has-text-align-center {
    text-align: center
}

.single-article-content .has-text-align-right {
    text-align: right
}

.single-article-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.single-article-content .alignright {
    float: right;
    margin-bottom: 20px;
    margin-left: 20px
}

.single-article-content .alignleft {
    float: left;
    margin-bottom: 20px;
    margin-right: 20px
}

.single-article-content .has-black-color {
    color: #000
}

.single-article-content .has-cyan-bluish-gray-color {
    color: #abb8c3
}

.single-article-content .has-white-color {
    color: #fff
}

.single-article-content .has-pale-pink-color {
    color: #f78da7
}

.single-article-content .has-vivid-red-color {
    color: #cf2e2e
}

.single-article-content .has-luminous-vivid-orange-color {
    color: #ff6900
}

.single-article-content .has-luminous-vivid-amber-color {
    color: #fcb900
}

.single-article-content .has-light-green-cyan-color {
    color: #7bdcb5
}

.single-article-content .has-vivid-green-cyan-color {
    color: #00d084
}

.single-article-content .has-pale-cyan-blue-color {
    color: #8ed1fc
}

.single-article-content .has-vivid-cyan-blue-color {
    color: #0693e3
}

.single-article-content .has-vivid-purple-color {
    color: #9b51e0
}

.single-article-content .has-black-background-color {
    background-color: #000
}

.single-article-content .has-cyan-bluish-gray-background-color {
    background-color: #abb8c3
}

.single-article-content .has-white-background-color {
    background-color: #fff
}

.single-article-content .has-pale-pink-background-color {
    background-color: #f78da7
}

.single-article-content .has-vivid-red-background-color {
    background-color: #cf2e2e
}

.single-article-content .has-luminous-vivid-orange-background-color {
    background-color: #ff6900
}

.single-article-content .has-luminous-vivid-amber-background-color {
    background-color: #fcb900
}

.single-article-content .has-light-green-cyan-background-color {
    background-color: #7bdcb5
}

.single-article-content .has-vivid-green-cyan-background-color {
    background-color: #00d084
}

.single-article-content .has-pale-cyan-blue-background-color {
    background-color: #8ed1fc
}

.single-article-content .has-vivid-cyan-blue-background-color {
    background-color: #0693e3
}

.single-article-content .has-vivid-purple-background-color {
    background-color: #9b51e0
}

.single-tag {
    border-left: 1px solid var(--color-primary)
}

.single-tag__list {
    border-bottom: 1px solid var(--color-primary);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: 1rem 0 1rem 1rem
}

.single-tag__list>li>a {
    background-color: #e4e4e4;
    font-weight: 700;
    padding: .2em .5em
}

@media(min-width:960px) {
    .single-tag__list>li>a {
        font-size: .9rem
    }
}

@media(max-width:540px) {
    .single-tag__list>li>a {
        font-size: .75rem
    }
}

@media(any-hover:hover) {
    .single-tag__list>li>a:hover {
        text-decoration: underline
    }
}

.single-tag__list>li>a:before {
    content: "#"
}

.single-recommend {
    border-left: 1px solid var(--color-primary);
    padding: 1rem
}

.single-recommend__list {
    display: grid;
    row-gap: 1rem
}

.single-recommend__list>li {
    align-items: start;
    -moz-column-gap: 8px;
    column-gap: 8px;
    display: grid;
    grid-template-columns: 18px 1fr
}

.single-recommend__list>li:before {
    aspect-ratio: 1;
    background-color: var(--color-secondary);
    clip-path: polygon(0 0, 0 100%, 80% 50%);
    content: "";
    display: block;
    margin-top: 2px;
    width: 18px
}

.single-recommend__list>li>a {
    font-weight: 700
}

@media(min-width:960px) {
    .single-recommend__list>li>a {
        font-size: 1rem
    }
}

@media(max-width:540px) {
    .single-recommend__list>li>a {
        font-size: .9rem
    }
}

@media(any-hover:hover) {
    .single-recommend__list>li>a:hover {
        text-decoration: underline
    }
}

.article-pager-freespace {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-block: 1rem
}
.article-pager-freespace > div {
	width: auto;
	max-width: 436px;
}

@media(min-width:540px) {
    .article-pager-freespace {
        grid-template-columns: calc(50% - .5rem) calc(50% - .5rem)
    }
}

@media(max-width:540px) {
    .article-pager-freespace {
        flex-direction: column;
        grid-template-columns: 1fr;
        justify-items: center
    }
}

.article-pager-freespace img {
    display: block;
    height: auto;
    margin-inline: auto;
    max-width: 100%;
    transition: .2s
}

.article-pager-freespace img:hover {
    opacity: .7
}

.article-pager-freespace>a {
    max-width: 50%;
    position: relative;
    z-index: 0
}

@media(max-width:540px) {
    .article-pager-freespace>a {
        max-width: 100%
    }
}

.author-profile {
    min-height: min(160px, 75%);
    position: relative
}

@media(min-width:960px) {
    .author-profile {
        padding: 40px 0 40px calc(min(160px, 75%) - 1.5rem);
        position: relative
    }
}

@media(max-width:960px) {
    .author-profile {
        margin-bottom: 1rem
    }
}

.author-profile__avatar {
    aspect-ratio: 1;
    background-color: var(--color-primary);
    box-sizing: border-box;
    padding: 2px
}

@media(min-width:960px) {
    .author-profile__avatar {
        left: 0;
        position: absolute;
        top: 0;
        width: min(160px, 75%)
    }
}

@media(max-width:960px) {
    .author-profile__avatar {
        margin-inline: auto;
        position: relative;
        width: calc(min(160px, 75%)*.8);
        z-index: 2
    }
}

.author-profile__avatar>img {
    display: block;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.author-profile__info {
    background-color: #f0f0f0
}

@media(max-width:960px) {
    .author-profile__info {
        margin-top: -1.5rem;
        padding-top: 1.5rem
    }
}

.author-profile__name {
    color: var(--color-primary);
    font-size: 1.5rem;
    font-weight: 700
}

@media(min-width:960px) {
    .author-profile__name {
        border-bottom: 2px solid var(--color-primary);
        padding: 1.5rem 3rem .5rem
    }
}

@media(min-width:540px) {
    .author-profile__name {
        font-size: 1.65rem
    }
}

@media(max-width:960px) {
    .author-profile__name {
        padding: 1rem 1.5rem .25rem
    }
}

.author-profile__title {
    font-size: 1.2rem;
    font-weight: 700
}

@media(min-width:960px) {
    .author-profile__title {
        padding: .5rem 3rem 0
    }
}

@media(max-width:960px) {
    .author-profile__title {
        padding: 0 1.5rem 1rem
    }
}

.author-profile__description {
    line-height: 1.75;
    text-align: justify;
    white-space: pre-line
}

@media(min-width:960px) {
    .author-profile__description {
        padding: 1rem 3rem 1.5rem
    }
}

@media(max-width:960px) {
    .author-profile__description {
        padding: 0 1.5rem 1rem
    }
}

.author-profile__description a {
    color: var(--color-fg-link)
}

@media(any-hover:hover) {
    .author-profile__description a:hover {
        text-decoration: underline
    }
}

@media(max-width:540px) {
    .authors-item {
        padding: .5rem
    }
}

.authors-item>a {
    display: grid
}

@media(min-width:540px) {
    .authors-item>a {
        align-items: start;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        grid-template-columns: 12% 1fr;
        padding: 1rem
    }
}

@media(max-width:540px) {
    .authors-item>a {
        font-size: .9rem;
        gap: 8px;
        grid-template-columns: 25% 1fr
    }
}

.authors-item:nth-child(odd) {
    background-color: #e9e9e9
}

.authors-item__avatar {
    aspect-ratio: 1
}

.authors-item__avatar>img {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

@media(min-width:540px) {
    .authors-item__name {
        font-size: 1.5em
    }
}

@media(max-width:540px) {
    .authors-item__name {
        font-size: 1.3em
    }
}

@media(any-hover:hover) {
    a:hover .authors-item__name {
        text-decoration: underline
    }
}

.authors-item__user-title {
    margin-top: 4px;
    text-align: justify
}

@media(min-width:540px) {
    .authors-item__user-title {
        font-size: 1.2rem
    }
}

@media(max-width:540px) {
    .authors-item__user-title {
        font-size: 1rem
    }
}

.category-cover {
    margin-bottom: 2rem
}

@media(min-width:960px) {
    .category-cover__title {
        font-size: 1.75rem
    }
}

@media(max-width:960px) {
    .category-cover__title {
        font-size: 1.5rem
    }
}

.category-cover__sub-title {
    margin-top: .25rem
}

@media(min-width:960px) {
    .category-cover__sub-title {
        font-size: 1.25rem
    }
}

@media(max-width:960px) {
    .category-cover__sub-title {
        font-size: 1.1rem
    }
}

.category-cover__thumbnail {
    margin-top: 1rem
}

.category-cover__thumbnail img {
    display: block;
    height: auto;
    max-width: 500px;
    width: 100%
}

.category-cover__description {
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 1rem;
    text-align: justify
}

.category-cover__description a {
    color: var(--color-fg-link)
}

@media(any-hover:hover) {
    .category-cover__description a:hover {
        text-decoration: underline
    }
}

.category-cover__description p {
    margin-block: 1.5rem
}

.category-cover__description li,
.category-cover__description ol,
.category-cover__description ul {
    list-style: initial;
    padding: initial
}

.category-cover__description ol,
.category-cover__description ul {
    margin-block: 1.5rem;
    padding-inline-start: 1.5rem
}

.category-cover__description img {
    height: auto
}

.category-cover__description iframe,
.category-cover__description img {
    display: block;
    margin-inline: auto;
    max-width: 100%
}

.pagination .page-numbers {
    align-items: center;
    display: flex;
    justify-content: center;
    list-style: none;
    margin-block: 1rem;
    padding-inline: 0
}

/*@media(min-width:540px) {
    .pagination .page-numbers {
        font-size: 1rem;
        gap: .5rem
    }
}*/

@media(max-width:540px) {
    .pagination .page-numbers {
        font-size: .8rem;
        gap: .25rem
    }
}

/*.pagination .page-numbers>a,
.pagination .page-numbers>li>a,
.pagination .page-numbers>li>span,
.pagination .page-numbers>span {
    align-items: center;
    color: var(--color-primary);
    display: flex;
    font-weight: 700;
    height: 1em;
    justify-content: center;
    line-height: 1em;
    min-width: 1em;
    padding: .5rem
}*/

.page-numbers {
	width:0px;
	height:0px;
	text-align:center;
	align-content:center;
	color:#0a1628;
	border:0px solid #0a1628;
	border-radius:0px;
	display:inline-block;
	box-shadow:0 !important;
	margin:10px 4px;
}

.pagination .page-numbers>a .material-symbols-outlined,
.pagination .page-numbers>li>a .material-symbols-outlined,
.pagination .page-numbers>li>span .material-symbols-outlined,
.pagination .page-numbers>span .material-symbols-outlined {
    margin-top: -.1lh;
    padding: 0
}

.pagination .page-numbers>a,
.pagination .page-numbers>li>a {
    border-radius: 4px
}

@media(any-hover:hover) {

    .pagination .page-numbers>a:hover,
    .pagination .page-numbers>li>a:hover {
        background-color: #f0f0f0
    }
}

.pagination .page-numbers>li>span,
.pagination .page-numbers>span {
    color: #999
}

.bundle-with-image-title,
.posts-only-thumbnail-title,
.posts-with-thumbnail-title {
    border-bottom: 3px solid;
    color: var(--color-primary);
    letter-spacing: 2px;
    margin-bottom: 1rem;
    padding-bottom: 2px
}

@media(min-width:960px) {

    .bundle-with-image-title,
    .posts-only-thumbnail-title,
    .posts-with-thumbnail-title {
        font-size: 1.5em
    }
}

@media(max-width:960px) {

    .bundle-with-image-title,
    .posts-only-thumbnail-title,
    .posts-with-thumbnail-title {
        font-size: 1.25em
    }
}

.bundle-with-image-title__link,
.posts-only-thumbnail-title__link,
.posts-with-thumbnail-title__link {
    display: block;
    letter-spacing: 2px;
    line-height: 2rem;
    margin-left: auto;
    margin-top: -2rem;
    translate: 0 calc(-50% - 2px);
    width: -moz-fit-content;
    width: fit-content
}

@media(any-hover:hover) {

    .bundle-with-image-title__link,
    .posts-only-thumbnail-title__link,
    .posts-with-thumbnail-title__link {
        transition: opacity .3s
    }

    .bundle-with-image-title__link:hover,
    .posts-only-thumbnail-title__link:hover,
    .posts-with-thumbnail-title__link:hover {
        opacity: .7
    }
}

@media(max-width:540px) {
    .posts-with-thumbnail-item {
        padding: .5rem
    }
}

.posts-with-thumbnail-item>a {
    display: grid
}

@media(min-width:540px) {
    .posts-with-thumbnail-item>a {
        align-items: start;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        grid-template-columns: 16% 1fr;
        padding: 1rem
    }
}

@media(max-width:540px) {
    .posts-with-thumbnail-item>a {
        font-size: .9rem;
        gap: 8px;
        grid-template-columns: 30% 1fr
    }
}

.posts-with-thumbnail-item:nth-child(odd) {
    background-color: #e9e9e9
}

.posts-with-thumbnail-item__thumbnail {
    aspect-ratio: 16/9;
    background-color: rgba(0, 0, 0, .2)
}

.posts-with-thumbnail-item__thumbnail>img {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

@media(min-width:540px) {
    .posts-with-thumbnail-item__title {
        font-size: 1.3em
    }
}

@media(max-width:540px) {
    .posts-with-thumbnail-item__title {
        font-size: 1.1em
    }
}

@media(any-hover:hover) {
    a:hover .posts-with-thumbnail-item__title {
        text-decoration: underline
    }
}

.posts-with-thumbnail-item__description {
    margin-top: 4px;
    text-align: justify
}

@media(min-width:540px) {
    .posts-with-thumbnail-item__description {
        font-size: 1.1em
    }
}

@media(max-width:540px) {
    .posts-with-thumbnail-item__description {
        font-size: .75em
    }
}

.posts-only-thumbnail-list {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr))
}

@media(min-width:1200px) {
    .posts-only-thumbnail-list {
        grid-template-columns: repeat(3, 1fr)
    }
}

.posts-only-thumbnail-item>a {
    display: block
}

@media(any-hover:hover) {
    .posts-only-thumbnail-item>a {
        transition: opacity .3s
    }

    .posts-only-thumbnail-item>a:hover {
        opacity: .5
    }
}

.posts-only-thumbnail-item__thumbnail {
    aspect-ratio: 16/9;
    background-color: rgba(0, 0, 0, .2)
}

.posts-only-thumbnail-item__thumbnail>img {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

@media(min-width:540px) {
    .bundle-with-image-list {
        display: grid;
        gap: .5rem;
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr))
    }
}

@media(min-width:1200px) {
    .bundle-with-image-list {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(max-width:540px) {
    .bundle-with-image-item {
        padding: .5rem
    }

    .bundle-with-image-item:nth-child(odd) {
        background-color: #e9e9e9
    }
}

.bundle-with-image-item>a {
    display: grid
}

@media(min-width:540px) {
    .bundle-with-image-item>a {
        row-gap: .5rem
    }
}

@media(max-width:540px) {
    .bundle-with-image-item>a {
        font-size: .9rem;
        gap: .5rem;
        grid-template-columns: 30% 1fr
    }
}

@media(any-hover:hover) {
    .bundle-with-image-item>a {
        transition: opacity .3s
    }

    .bundle-with-image-item>a:hover {
        opacity: .5
    }
}

.bundle-with-image-item__thumbnail {
    aspect-ratio: 16/9;
    background-color: rgba(0, 0, 0, .2)
}

.bundle-with-image-item__thumbnail>img {
    display: block;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.bundle-with-image-item__title {
    margin-top: 4px
}

@media(min-width:540px) {
    .bundle-with-image-item__title {
        font-size: 1.1rem
    }
}

@media(max-width:540px) {
    .bundle-with-image-item__title {
        font-size: 1rem
    }
}

.bundle-with-image-item__description,
.bundle-with-image-item__sub-title {
    font-weight: 400;
    margin-top: 4px
}

@media(min-width:540px) {

    .bundle-with-image-item__description,
    .bundle-with-image-item__sub-title {
        font-size: .9rem
    }
}

@media(max-width:540px) {

    .bundle-with-image-item__description,
    .bundle-with-image-item__sub-title {
        font-size: .75rem
    }
}

.bundle-with-image-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    opacity: .8
}

@media(min-width:540px) {
    .bundle-with-image-item__meta {
        font-size: .9rem
    }
}

@media(max-width:540px) {
    .bundle-with-image-item__meta {
        font-size: .75rem
    }
}

.bundle-with-image-item__meta .material-symbols-outlined {
    font-size: 1rem
}

.bundle-with-image-item__post-date {
    align-items: center;
    -moz-column-gap: 4px;
    column-gap: 4px;
    display: flex
}

.mw-wp-form {
    margin: 2rem auto;
    max-width: var(--layout-contents-max-width)
}

.mw-wp-form__list {
    display: grid;
    margin-block: 2rem
}

@media(min-width:960px) {
    .mw-wp-form__list {
        grid-template-columns: 320px auto;
        row-gap: 1.5rem
    }
}

@media(max-width:960px) {
    .mw-wp-form__list {
        row-gap: .5rem
    }
}

.mw-wp-form dd,
.mw-wp-form dt {
    line-height: 1.75
}

@media(min-width:960px) {

    .mw-wp-form dd,
    .mw-wp-form dt {
        border-bottom: 1px solid #f0f0f0;
        padding-bottom: 1.5rem
    }
}

.mw-wp-form dd small {
    opacity: .5
}

@media(max-width:960px) {
    .mw-wp-form dd {
        margin-bottom: 1.5rem
    }
}

.mw-wp-form__label {
    border-radius: 2px;
    color: #fff;
    font-size: 14px;
    margin-right: 1rem;
    padding: .25rem 1rem;
    vertical-align: 1px
}

.mw-wp-form__label--req {
    background: var(--color-primary)
}

.mw-wp-form__label--opt {
    background: #878d8e
}

.mw-wp-form dd input[type=email],
.mw-wp-form dd input[type=text],
.mw-wp-form dd textarea {
    background-color: #e6e6e6;
    border: 1px solid gray;
    box-sizing: border-box;
    padding: .5rem;
    width: 100%
}

.mw-wp-form dd textarea {
    min-height: 160px;
    resize: vertical
}

.mw-wp-form dd select {
    background-color: #f0f0f0;
    border: .5rem solid #f0f0f0;
    max-width: 100%;
    outline: 1px solid gray;
    width: -moz-fit-content;
    width: fit-content
}

.mw-wp-form dd input[type=checkbox] {
    margin-right: .5rem;
    scale: 1.25
}

.mw-wp-form__automatic {
    font-size: 15px;
    margin: 0 0 0 20px
}

.mw-wp-form__buttons {
    display: grid;
    row-gap: 1rem
}

.mw-wp-form__buttons br {
    display: none
}

.mw-wp-form__buttons button[type=submit] {
    background-color: var(--color-primary);
    border-radius: 8px;
    color: #fff;
    display: block;
    height: 4rem;
    margin-inline: auto;
    max-width: 320px;
    transition: opacity .6s;
    width: 100%
}

@media(any-hover:hover) {
    .mw-wp-form__buttons button[type=submit]:hover {
        opacity: .75
    }
}

.mw-wp-form__buttons button[type=submit][name=submitBack] {
    background-color: #666
}

.global-search-form {
    background-color: var(--color-fg-reverse);
    box-sizing: border-box;
    color: var(--color-fg-primary);
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    display: grid;
    grid-template-columns: 1fr auto;
    padding: .4rem .5rem;
    position: relative
}

.global-search-form__input[type=search] {
    display: block;
    width: 100%
}

.global-search-form__input[type=search]::-moz-placeholder {
    font-size: .8rem
}

.global-search-form__input[type=search]::placeholder {
    font-size: .8rem
}

.global-search-form__submit {
    align-items: center;
    display: flex;
    height: 100%;
    min-width: -moz-fit-content;
    min-width: fit-content;
}

.global-search-form__submit .material-symbols-outlined {
    font-size: 1.6em;
}

.global-tag-list {
    color: var(--color-primary) !important;
    display: grid !important; 
    row-gap: 4px !important;
}

.global-tag-list>li>a {
    background-color: black;
    border: 1px solid black;
    display: block !important;
    padding: .5rem .75rem !important;
}

.sidebar-category a{
	background-color: var(--color-bg-primary);
    border: 1px solid var(--color-primary);
    display: block;
    padding: .5rem .75rem;
	margin: 5px 0;
	text-align:left;
}

@media(any-hover:hover) {
    .global-tag-list>li>a:hover {
        text-decoration: underline
    }
}

.shortcode-nextpage {
    position: relative
}

.shortcode-nextpage>a {
    background-color: var(--color-bg-secondary);
    border: 2px solid transparent;
    color: var(--color-primary);
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    padding: .5rem 3rem .5rem 1rem;
    text-align: center;
    transition: border .2s
}

@media(max-width:540px) {
    .shortcode-nextpage>a {
        font-size: 1rem;
        padding: .5rem 2rem .5rem 1rem
    }
}

@media(any-hover:hover) {
    .shortcode-nextpage>a:hover {
        border-color: color-mix(in srgb, var(--color-primary), var(--color-bg-secondary) 50%)
    }
}

.shortcode-nextpage .material-symbols-outlined {
    color: color-mix(in srgb, var(--color-primary), var(--color-bg-secondary) 25%);
    font-size: 2.5rem;
    pointer-events: none;
    position: absolute;
    right: .25rem;
    top: 50%;
    transform: translateY(-50%)
}

@media(max-width:540px) {
    .shortcode-nextpage .material-symbols-outlined {
        font-size: 2rem;
        right: .1rem
    }
}

/* 内部通報特設ページ -------------------------------------------------------------------------------- */
.helpline-header {
    margin-block: 1rem
}

.helpline-header__title {
    margin-inline: calc(50% - 50vw);
    width: 100vw
}

@media(min-width:540px) {
    .helpline-header__title {
        display: grid;
        grid-template-columns: 1fr min(var(--layout-max-width), 100vw) 1fr;
        justify-content: center
    }

    .helpline-header__title:after,
    .helpline-header__title:before {
        background-repeat: repeat-x;
        background-size: auto 100%;
        content: "";
        display: block;
        height: 100%;
        width: 100%
    }

    .helpline-header__title:before {
        background-image: var(--banner-left)
    }

    .helpline-header__title:after {
        background-image: var(--banner-right)
    }
}

@media(max-width:1200px) {
    .helpline-header__title {
        grid-template-columns: 1fr min(var(--layout-max-width) - 2rem, 100vw - 2rem) 1fr
    }
}

.helpline-header__image {
    display: block;
    height: auto;
    width: 100%
}

@media(min-width:960px) {
    .helpline-header__image {
        aspect-ratio: 2265/141
    }
}

@media(max-width:960px)and (min-width:540px) {
    .helpline-header__image {
        aspect-ratio: 9/1;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: left center;
        object-position: left center
    }
}

.helpline-header__content {
    font-size: 1rem;
    font-weight: 400;
    margin-top: 1rem
}

@media(max-width:960px) {
    .helpline-header__content {
        font-size: .85rem
    }
}

@media(max-width:540px) {
    .helpline-header__content {
        font-size: .75rem;
        padding-inline: 2vw
    }
}

.helpline-header {
    margin-block: 1rem
}

/* 20250715↓ --------------------------------------------- */
/* コンプライアンス特設ページ -------------------------------------------------------------------------------- */
.compliance-header__title {
    margin-inline: calc(50% - 50vw);
    width: 100vw
}

@media(min-width:540px) {
    .compliance-header__title {
        display: grid;
        grid-template-columns: 1fr min(var(--layout-max-width), 100vw) 1fr;
        justify-content: center
    }

    .compliance-header__title:after,
    .compliance-header__title:before {
        background-repeat: repeat-x;
        background-size: auto 100%;
        content: "";
        display: block;
        height: 100%;
        width: 100%
    }

    .compliance-header__title:before {
        background-image: var(--banner-left)
    }

    .compliance-header__title:after {
        background-image: var(--banner-right)
    }
}

@media(max-width:1200px) {
    .compliance-header__title {
        grid-template-columns: 1fr min(var(--layout-max-width) - 2rem, 100vw - 2rem) 1fr
    }
}

.compliance-header__image {
    display: block;
    height: auto;
    width: 100%
}

@media(min-width:960px) {
    .compliance-header__image {
        aspect-ratio: 2265/141
    }
}

@media(max-width:960px)and (min-width:540px) {
    .compliance-header__image {
        aspect-ratio: 9/1;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: left center;
        object-position: left center
    }
}

.compliance-header__content {
    font-size: 1rem;
    font-weight: 400;
    margin-top: 1rem
}

@media(max-width:960px) {
    .compliance-header__content {
        font-size: .85rem
    }
}

@media(max-width:540px) {
    .compliance-header__content {
        font-size: .75rem;
        padding-inline: 2vw
    }
}

/* コンプライアンス特設ページ（ヘッダー色変更） -------------------------------------------------------------------------------- */
nav.contents-header:has(.compliance-header) {
	background: #a99;
	
}

/* ↓セミナー等のフォーム設置ページ用 -------------------------------------------------------------------------------- */
a.button {
	box-sizing: border-box;
	width: 100%;
	display: block;
	color: #fff;
	font-size: 125%;
	letter-spacing: 0.1em;
	text-align: center;
	text-shadow: 1px 1px 2px #db5a00;
	background: #ff6900;
	padding: 10px;
	padding-right: 40px;
	border-radius: 4px;
	margin-top: 70px;
	margin-bottom: 70px;
	transition: 0.2s;
	position: relative;
}
a.button:hover {
	text-decoration: none;
	opacity: 0.7;
}
a.button::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	position: absolute;
	top: 25%;
	right: 20px;
	transform: rotateZ(45deg);
}
dl.inline {
	overflow: hidden;
	padding-top: 10px;
	border-top: solid 1px #ccc;
	margin-top: 10px;
}
dl.inline dt{
	clear: both;
	float: left;
	display: block;
	position: relative;
}
dl.inline dt::after {
	content: "：";
	display: inline-block;
	position: absolute;
	right: 0;
}
dl.inline dd{
	padding-bottom: 10px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 10px;
}
dl.inline.em5 dt {
	width: 5em;
}
dl.inline.em5 dd{
	padding-left: 5em;
}
dl.inline.em6 dt {
	width: 6em;
}
dl.inline.em6 dd{
	padding-left: 6em;
}
.wp-block-columns-is-layout-flex {
	display: flex;
	gap: 20px;
	&:has(.wp-block-buttons) {
		justify-content: space-evenly;
	}
}
@media (680px > width) {
	.wp-block-columns-is-layout-flex {
		flex-direction: column;
	}
}
dl.inline {
	overflow: hidden;
	padding-top: 10px;
	border-top: solid 1px #ccc;
	margin-top: 10px;
}
dl.inline dt{
	clear: both;
	float: left;
	display: block;
	position: relative;
}
dl.inline dt::after {
	content: "：";
	display: inline-block;
	position: absolute;
	right: 0;
}
dl.inline dd{
	padding-bottom: 10px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 10px;
}
dl.inline.em5 dt {
	width: 5em;
}
dl.inline.em5 dd{
	padding-left: 5em;
}
dl.inline.em6 dt {
	width: 6em;
}
dl.inline.em6 dd{
	padding-left: 6em;
}

.closed_text {
	color: #cf2e2e;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	padding: 10px;
	border: solid 2px #cf2e2e;
}
/* ↑セミナー等のフォーム設置ページ用 -------------------------------------------------------------------------------- */

/* ↓内部通報 一問一答 個別ページ -------------------------------------------------------------------------------- */
.single-article-content {
	.qanda_btn {
		> div {
			width: 100%;
		}
		.wp-block-button {
			width: 100%;
			a {
				box-sizing: border-box;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				letter-spacing: 0.05em;
				text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.075);
				padding: 15px 25px;
				position: relative;
				&:hover {
					text-decoration: none;
					opacity: 0.7;
				}
				&::after {
					content: "";
					width: 14px;
					height: 14px;
					display: block;
					border-right: solid 2px #fff;
					border-bottom: solid 2px #fff;
					position: absolute;
					right: 40px;
					top: 50%;
					transform: rotateZ(45deg) translateY(-85%);
				}
			}
		}
	}
}
figure {
	a[href^="https://vimeo.com/"] {
		position: relative;
		z-index: 0;
		&::before {
			content: "";
			display: block;
			width: 20%;
			aspect-ratio: 1 / 1;
			background: url("../images/movie_arrow.svg");
			filter: drop-shadow(1px 1px 10px rgba(0, 0, 0, 0.5));
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translateX(-50%) translateY(-50%);
			z-index: 1;
		}
		&::after {
			content: "クリックで動画ページに移動します";
			display: flex;
			justify-content: center;
			align-items: center;
			width: 100%;
			height: 100%;
			color: #fff;
			font-size: clamp(16px, 2vw, 24px);
			letter-spacing: 0.1em;
			text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
			background: rgba(0, 0, 0, 0.5);
			position: absolute;
			left: 50%;
			top: 50%;
			transform: translateX(-50%) translateY(-50%);
			z-index: 1;
			opacity: 0;
			transition: 0.3s;
		}
		&:hover::after {
			opacity: 1;
		}
		img {
	//		filter: blur(5px);
			opacity: 0.5;
		}
	}
}
/* ↑内部通報 一問一答 個別ページ -------------------------------------------------------------------------------- */

/* ↓内部通報 一問一答 動画一覧 -------------------------------------------------------------------------------- */
.single-article-content {
	.backnumber {
		a {
			color: #000;
			display: flex;
			gap: 10px;
			flex-direction: row;
			padding: 9px;
			border: solid 1px transparent;
			&:hover {
				text-decoration: none;
				background: rgba(0, 31, 66, 0.05);
				border: solid 1px rgba(0, 31, 66, 0.075);
			}
		}
		div:has(img) {
			display: block;
			max-width: 140px;
		}
		div:has(p) {
			display: flex;
			justify-content: center;
			align-items: center;
		}
		p.backnumber_title {
			margin: 0;
		}
		
	}
}
/* ↑内部通報 一問一答 動画一覧 -------------------------------------------------------------------------------- */

/* ↓SEO対策特化ページ用 -------------------------------------------------------------------------------- */
.single-article-content,
.single-article-content {
	.page_menu {
		padding: 20px 40px 10px;
		border: solid 1px var(--color-primary);
		margin-top: 40px;
		position: relative;
		&::before {
			content: "Page Menu";
			display: block;
			color: var(--color-primary);
			background: #fff;
			padding: 0px 15px;
			border: solid 1px var(--color-primary);
			border-radius: 50px;
			position: absolute;
			left: 20px;
			top: 0;
			transform: translateY(-50%);
		}
		li {
			 > ol, > ul {
				margin-block: 0;
			}
		}
	}
}

main:has(.page_menu) {
	.single-article-content {
		p.posts-with-thumbnail-item__title {
			color: #000;
			font-size: 16px;
			margin: 0;
			&::before {
				content: "関連記事";
				display: block;
				font-size: 14px;
			}
		}
	}
}
main {
	.single-article-content {
		.posts-with-thumbnail-item:nth-child(odd) {
			transition: 0.3s;
			&:hover{
				opacity: 0.7;
			}
		}
		p.posts-with-thumbnail-item__title {
			color: #000;
			font-size: 16px;
			margin: 0;
			&::before {
				content: "関連記事";
				display: block;
				font-size: 14px;
			}
		}
	}
}
/* ↑SEO対策特化ページ用 -------------------------------------------------------------------------------- */


.wp-block-image .aligncenter>figcaption, .wp-block-image .alignleft>figcaption, .wp-block-image .alignright>figcaption, .wp-block-image.aligncenter>figcaption, .wp-block-image.alignleft>figcaption, .wp-block-image.alignright>figcaption{
    caption-side: bottom;
    display: block;
	}


/*ページネーション*/
.single-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
}

.single-pagination__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
}

.single-pagination__link:hover {
    background-color: #f5f5f5;
}

.single-pagination__current {
    background-color: #333;
    color: #fff;
    border-color: #333;
}