/*
Theme Name: PRSJ Theme 2025
Author: PRSJ
Description: 公益社団法人日本パブリックリレーションズ協会（PRSJ） WordPress テーマ（2025年版）
Version: 1.0.0
*/

/* Box Sizing */

html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

/* Display */

.d-none {
    display: none !important;
}

@media screen and (min-width: 65rem) {
    .d-pc-block {
        display: block !important;
    }

    .d-pc-inline {
        display: inline !important;
    }

    .d-pc-none {
        display: none !important;
    }
}

.d-grid {
    display: grid !important;
}

.d-flex {
    display: flex !important;
}

.flex-column {
    flex-direction: column;
}

.flex-column-reverse {
    flex-direction: column-reverse;
}

@media screen and (max-width: 65rem) {
    .sm-flex-column {
        flex-direction: column;
        align-items: start;
    }
}

.sm-flex-column {
    gap: 0 1rem;
    /* 役員一覧ページ参照 */
}

@media screen and (max-width: 65rem) {
    .fixed-bottom-right {
        display: none;
    }
}

@keyframes bounce {

    0%,
    10%,
    100% {
        transform: translateY(0);
    }

    5% {
        transform: translateY(-20px);
    }

}

@media screen and (min-width: 65rem) {
    .fixed-bottom-right {
        position: fixed;
        right: 32px;
        bottom: 32px;
        z-index: 999;
        animation: bounce 6s ease-in-out infinite;
    }
}

/* Button (Basic) */

@media screen and (max-width: 65rem) {
    .wp-block-button {
        width: 100%;
    }
}

@media screen and (min-width: 65rem) {
    .wp-block-button {
        min-width: 20rem;
        max-width: 100%;
    }

    .wp-block-column .wp-block-button {
        min-width: 0;
        /* PRアワード 過去の審査団コメントページ参照 */
    }
}

.wp-block-button__link {
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

/* Button (Outline) */

.wp-block-button.is-style-outline .wp-block-button__link {
    /* 「輪郭」選択時 */
    border-color: var(--wp--preset--color--gray);
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
    border-color: var(--wp--preset--color--secondary);
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--base);
}

/* Button (Transparent) */

.wp-block-button.is-style-button-transparent .wp-block-button__link {
    border-color: var(--wp--preset--color--base);
    background-color: transparent;
    color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-button-transparent .wp-block-button__link:hover,
.wp-block-button.is-style-button-transparent .wp-block-button__link:focus {
    background-color: rgba(255, 255, 255, 0.2)
}

/* Button (Rounded Button) */

.wp-block-button.is-style-rounded-button-primary,
.wp-block-button.is-style-rounded-button-secondary,
.wp-block-button.is-style-rounded-button-tertiary,
.wp-block-button.is-style-rounded-button-base,
.wp-block-button.is-style-rounded-button-icon {
    min-width: unset;
}

.wp-block-button.is-style-rounded-button-primary .wp-block-button__link,
.wp-block-button.is-style-rounded-button-secondary .wp-block-button__link,
.wp-block-button.is-style-rounded-button-tertiary .wp-block-button__link,
.wp-block-button.is-style-rounded-button-base .wp-block-button__link,
.wp-block-button.is-style-rounded-button-icon .wp-block-button__link {
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50);
    border-radius: 9999rem;
}

.wp-block-button.is-style-rounded-button-primary .wp-block-button__link {
    border-color: var(--wp--preset--color--primary);
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-rounded-button-primary .wp-block-button__link:hover,
.wp-block-button.is-style-rounded-button-primary .wp-block-button__link:focus {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-rounded-button-tertiary .wp-block-button__link {
    border-color: var(--wp--preset--color--tertiary);
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-rounded-button-tertiary .wp-block-button__link:hover,
.wp-block-button.is-style-rounded-button-tertiary .wp-block-button__link:focus {
    border-color: var(--wp--preset--color--secondary);
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-rounded-button-base .wp-block-button__link {
    border-color: var(--wp--preset--color--gray);
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-rounded-button-base .wp-block-button__link:hover,
.wp-block-button.is-style-rounded-button-base .wp-block-button__link:focus {
    background-color: var(--wp--preset--color--gray);
}

/* Button (For Icon) */

.wp-block-button.is-style-rounded-button-icon {
    width: calc(var(--wp--preset--font-size--medium) * 1.3 + var(--wp--preset--spacing--30) * 2 + 0.0625rem * 2);
    height: calc(var(--wp--preset--font-size--medium) * 1.3 + var(--wp--preset--spacing--30) * 2 + 0.0625rem * 2);
}

.wp-block-button.is-style-rounded-button-icon .wp-block-button__link {
    padding: 0;
    border-color: var(--wp--preset--color--base);
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-rounded-button-icon .wp-block-button__link img {
    vertical-align: middle;
}

.wp-block-button.is-style-rounded-button-icon .wp-block-button__link .fa-magnifying-glass {
    position: relative;
    top: 2px;
}

/* Button (Large) */

.wp-block-button.large-button {
    width: 100%;
}

.wp-block-button.large-button .wp-block-button__link {
    min-height: 11rem;
    border-color: var(--wp--preset--color--tertiary);
    border-radius: 0.25rem;
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--large);
}

@media screen and (max-width: 65rem) {
    .wp-block-button.large-button .wp-block-button__link {
        min-height: 7.5rem;
    }
}

.wp-block-button.large-button .wp-block-button__link:hover,
.wp-block-button.large-button .wp-block-button__link:focus {
    border-color: var(--wp--preset--color--secondary);
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--base);
}

/* Paragraph */

.main p+p {
    margin-block-start: 1.5em;
}

.main .is-layout-flex>p+p {
    margin-block-start: 0;
    /* 役員一覧ページ参照 */
}

p.indent-1 {
    padding-left: 1em;
    text-indent: -1em;
}

p.indent-15 {
    padding-left: 1.5em;
    text-indent: -1.5em;
}

p.indent-2 {
    padding-left: 2em;
    text-indent: -2em;
}

p.indent-3 {
    padding-left: 3em;
    text-indent: -3em;
}

/* Heading (Basic) */

h2 {
    opacity: 0;
    transform: translateY(1.25rem);
    background: linear-gradient(to right, var(--wp--preset--color--secondary) 20%, var(--wp--preset--color--gray) 20%) center bottom / 100% 0.25rem no-repeat;
    transition: 0.6s ease-out;
}

h2.in-view {
    opacity: 1;
    transform: translateY(0);
}

h3 {
    position: relative;
}

h3::before {
    position: absolute;
    top: -1rem;
    left: -0.75rem;
    width: 0.6875rem;
    height: 0.6875rem;
    background: var(--wp--preset--color--gray);
    content: '';
}

h3::after {
    position: absolute;
    top: -0.5rem;
    left: -1rem;
    width: 0.5rem;
    height: 0.5rem;
    background: var(--wp--preset--color--secondary);
    content: '';
}

/* Heading (Variation) */

h2[data-background-text] {
    padding: 0;
    background: none;
}

h2[data-background-text]::before {
    position: absolute;
    z-index: -1;
    max-width: 100%;
    overflow: hidden;
    color: #DCE5F7;
    line-height: 1.3;
    white-space: nowrap;
    content: attr(data-background-text);
}

@media screen and (max-width: 65rem) {
    h2[data-background-text]::before {
        top: -2rem;
        left: 1rem;
        font-size: 3rem;
    }
}

@media screen and (min-width: 65rem) {
    h2[data-background-text]::before {
        top: -3rem;
        left: 1.5rem;
        font-size: 4.5rem;
    }
}

/* Link */

a {
    text-underline-offset: .375em;
}

/* List */

ul {
    list-style-type: disc;
}

/* Form */

form {
    display: grid;
}

.form-item {
    display: grid;
}

.form-item .form-label {
    font-weight: 700;
    line-height: 1.3;
}

.form-item .form-data {
    display: flex;
}

.form-item .form-data.form-data-group {
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.5rem;
}

.form-item .form-data label {
    display: flex;
    align-items: center;
    gap: 0 0.5rem;
    border-radius: 2px;
    line-height: 1.3;
    cursor: pointer;
}

@media screen and (max-width: 65rem) {
    form {
        gap: 1.5em 0;
    }

    .form-item {
        gap: 0.5rem 0;
    }

    .form-item .form-data:not(.form-data-group) {
        flex-direction: column;
        gap: 0.25rem 0;
    }

    .form-item .form-data label {
        padding: 0.5rem;
        background-color: var(--wp--preset--color--tertiary);
    }
}

@media screen and (min-width: 65rem) {
    form {
        gap: 0.75rem 0;
    }

    .form-item {
        grid-template-columns: 20% 1fr;
        gap: 0 1rem;
    }

    .form-item .form-label {
        align-content: center;
        text-align: right;
    }

    .form-item .form-data:not(.form-data-group) {
        flex-wrap: wrap;
        gap: 0 2rem;
    }

    .form-item .form-data label {
        padding: 0.5rem 0;
    }
}

input[type="text"],
input[type="search"],
select,
textarea {
    padding: 0.5rem;
    border: 1px solid var(--wp--preset--color--gray);
    border-radius: 2px;
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.3;
    transition: .2s ease-in-out;
}

input[type="text"],
input[type="search"],
textarea {
    width: 100%;
}

input[type="text"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
    outline: 4px solid var(--wp--preset--color--secondary);
}

input[type="checkbox"] {
    appearance: none;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin: 0;
    cursor: pointer;
}

input[type="checkbox"]:before,
input[type="checkbox"]:after {
    position: absolute;
    content: '';
}

input[type="checkbox"]:before {
    top: 0;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid var(--wp--preset--color--dark-gray);
    border-radius: 2px;
    background: var(--wp--preset--color--base);
    cursor: pointer;
}

input[type="checkbox"]:checked:before {
    border-color: var(--wp--preset--color--secondary);
    background: var(--wp--preset--color--secondary);
}

input[type="checkbox"]:checked:after {
    top: 0.375rem;
    left: 0.25rem;
    transform: rotate(-45deg);
    width: 0.75rem;
    height: 0.375rem;
    border: 0.125rem solid var(--wp--preset--color--base);
    border-top-style: none;
    border-right-style: none;
}

input[type="radio"] {
    appearance: none;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin: 0;
    cursor: pointer;
}

input[type="radio"]:before,
input[type="radio"]:after {
    position: absolute;
    border-radius: 50%;
    content: '';
}

input[type="radio"]:before {
    top: 0;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    border: 0.3125rem solid var(--wp--preset--color--base);
    background: var(--wp--preset--color--base);
}

input[type="radio"]:after {
    top: 0;
    left: 0;
    width: 1.25rem;
    height: 1.25rem;
    border: 0.125rem solid var(--wp--preset--color--dark-gray);
    background: transparent;
}

input[type="radio"]:checked:before {
    background: var(--wp--preset--color--secondary);
}

input[type="radio"]:checked:after {
    border-color: var(--wp--preset--color--secondary);
}

/* Header */

header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background-color: var(--wp--preset--color--base);
}

header a {
    color: var(--wp--preset--color--contrast);
    font-weight: 400;
}

header a:hover,
header a:focus {
    text-decoration: none;
}

/* Header Top Bar */

@media screen and (max-width: 65rem) {
    .header-top-bar {
        padding: 0.25rem var(--wp--preset--spacing--20);
    }
}

@media screen and (min-width: 65rem) {
    .header-top-bar {
        padding: 0.25rem 0;
    }
}

/* Header Navigation Main Menu */

@media screen and (max-width: 65rem) {
    .wp-block-navigation>.wp-block-navigation__container {
        align-items: start;
        gap: 0;
/*         padding: 1rem 0; */
    }

	.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	
	
    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item {
        justify-content: center;
        width: 20%;
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content {
        padding-right: 0;
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label {
        display: grid;
        grid-template-rows: auto auto;
        place-items: center;
        font-weight: 700;
        font-size: var(--wp--preset--font-size--small);
        text-align: center;
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label>.menu-icon {
        height: 1.5rem;
        margin-bottom: 0.375rem;
    }
}

@media screen and (min-width: 65rem) {
    .wp-block-navigation>.wp-block-navigation__container {
/*         padding: 1.25rem 0; */
        justify-content: space-around;
        /* エディタには反映されない */
		justify-content: center;
		gap: 0;
    }
	
	.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item {
/* 		padding-top: 1.25rem;
		padding-bottom: 1.25rem; */
	}

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content {
        padding-right: 0;
		padding: 1.25rem 2rem;
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label {
        font-weight: 700;
        font-size: 1.25rem;
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label>.menu-icon {
        display: none;
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label br {
        display: none;
    }
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-icon {
    display: none;
}

/* Header Navigatioin Main Menu Hover Effect */

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    position: relative;
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0.3125rem;
    border-radius: 9999rem;
    background-color: var(--wp--preset--color--secondary);
    content: "";
    transition: all 0.1s ease;
}

@media screen and (max-width: 65rem) {
    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after {
        bottom: -0.5rem;
    }
}

@media screen and (min-width: 65rem) {
    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after {
        bottom: -0.5625rem;
    }
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content[aria-expanded="false"]:hover::after,
.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content[aria-expanded="false"]:focus::after {
    width: 0.3125rem;
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content[aria-expanded="true"]::after {
    width: 1.875rem;
    background-color: var(--wp--preset--color--primary);
}

/* Header Navigation Sub Menu */

.wp-block-navigation,
.wp-block-navigation>.wp-block-navigation__container,
.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item {
    position: static;
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container {
    display: grid;
    position: absolute;
    top: 100%;
    left: 0%;
    /* パーセントを付けないと隙間ができる */
    width: 100% !important;
    max-height: calc(100vh - 200px);
    overflow-y: auto !important;
    border-top: 1px solid var(--wp--preset--color--gray);
    border-right: none;
    border-bottom: none;
    border-left: none;
    box-shadow: var(--wp--preset--shadow--medium);
    background: var(--wp--preset--color--tertiary);
}

@media screen and (max-width: 65rem) {
    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container {
        padding: 1.5rem;
    }
}

@media screen and (min-width: 65rem) {
    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container {
        grid-template-columns: 20rem auto auto;
        gap: 0 2rem;
        padding: 1.5rem max(1.5rem, calc((100% - var(--wp--style--global--wide-size)) / 2));
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container::before {
        grid-row: span 5;
        padding: 0.75rem 0;
        border-right: 1px solid #ccc;
        font-weight: 700;
        font-size: var(--wp--preset--font-size--large);
        line-height: 1.3;
        content: attr(data-label);
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container[data-label="PRを知る／事例ケーススタディ"]::before {
        content: "PRを知る／ケーススタディ";
    }

    .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container::after {
        position: absolute;
        top: 4.5rem;
        left: max(1.5rem, calc((100% - var(--wp--style--global--wide-size)) / 2));
        color: var(--wp--preset--color--secondary);
        font-size: var(--wp--preset--font-size--small);
        line-height: 1.3;
        content: attr(data-description);
    }
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding: 1rem 0 1rem 1.5rem;
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content>.wp-block-navigation-item__label {
    font-weight: 500;
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content::before {
    position: absolute;
    top: 1rem;
    left: 0;
    color: var(--wp--preset--color--secondary);
    font-weight: 900;
    font-family: "Font Awesome 7 Free";
    content: "\f152";
}

.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover>.wp-block-navigation-item__label,
.wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content:focus>.wp-block-navigation-item__label {
    font-weight: 700;
}

/* Modal */

.modal-overlay {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    margin-left: 0px !important;
    margin-right: 0px !important;
    /* 重要 */
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    width: 35rem;
    max-width: 90%;
    max-height: 90%;
    overflow-y: auto;
}

/* Badge */

.badge {
    display: inline-flex;
    align-items: center;
    padding: 1px calc(var(--wp--preset--spacing--40) / 2) 0;
    border-radius: 0.25rem;
    background-color: var(--wp--preset--color--dark-gray);
    color: var(--wp--preset--color--base);
    font-weight: 700;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.8125);
    line-height: 1.5;
}

/* Swiper Pagenation Bullet */

.swiper-pagination-bullet {
    opacity: 0.9;
    width: 80px;
    border: none;
    border-radius: 9999px;
    background-color: var(--wp--preset--color--gray);
}

.swiper-pagination-bullet-active {
    background-color: var(--wp--preset--color--base);
}

/* Swiper Button */

.swiper-button-prev::after {
    content: url('https://prsj.or.jp/wp/wp-content/themes/prsj-theme-2025/assets/images/icon-circle-chevron-left.svg');
}

.swiper-button-next::after {
    content: url('https://prsj.or.jp/wp/wp-content/themes/prsj-theme-2025/assets/images/icon-circle-chevron-right.svg');
}

.swiper-button-prev:hover::after,
.swiper-button-next:hover::after,
.swiper-button-prev:focus::after,
.swiper-button-next:focus::after {
    opacity: 0.8;
}

/* Swiper Posts */

.swiper-posts {
    padding: 0 max(var(--wp--style--root--padding-left), calc((100% - 80rem) / 2));
}

.swiper-posts:not(:has(.card-no-shadow)) {
    padding-bottom: 1rem;
    margin-bottom: -1rem;
    /* Shadow が途切れないため */
}

.swiper-posts>.swiper-wrapper>.swiper-slide {
    line-height: 1.5;
}

.swiper-posts>.swiper-wrapper>.swiper-slide:not(.card-no-shadow):has(a:hover),
.swiper-posts>.swiper-wrapper>.swiper-slide:not(.card-no-shadow):has(a:focus) {
    box-shadow: var(--wp--preset--shadow--medium);
}

.swiper-posts>.swiper-wrapper>.swiper-slide>a {
    color: var(--wp--preset--color--contrast);
    font-weight: 400;
}

.swiper-posts>.swiper-wrapper>.swiper-slide>a:hover,
.swiper-posts>.swiper-wrapper>.swiper-slide>a:focus {
    text-decoration: none;
}

.swiper-posts>.swiper-wrapper>.swiper-slide>a:hover>.card-img-top>img,
.swiper-posts>.swiper-wrapper>.swiper-slide>a:focus>.card-img-top>img {
    opacity: 0.6;
}

@media screen and (max-width: 40rem) {

    .swiper-posts>.swiper-wrapper>.swiper-slide-prev,
    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide {
        opacity: 0.3;
        pointer-events: none;
    }
}

@media screen and (min-width: 40rem) and (max-width: 65rem) {

    .swiper-posts>.swiper-wrapper>.swiper-slide-prev,
    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide+.swiper-slide {
        opacity: 0.3;
        pointer-events: none;
    }
}

@media screen and (min-width: 65rem) {
    .swiper-posts>.swiper-wrapper>.swiper-slide {
        opacity: 0;
        pointer-events: none;
    }

    .swiper-posts>.swiper-wrapper>.swiper-slide-prev,
    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide+.swiper-slide+.swiper-slide+.swiper-slide {
        opacity: 0.3;
    }

    .swiper-posts>.swiper-wrapper>.swiper-slide-active,
    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide,
    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide+.swiper-slide,
    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide+.swiper-slide+.swiper-slide {
        opacity: 1;
        pointer-events: unset;
    }

    .swiper-posts>.swiper-wrapper>.swiper-slide-prev {
        mask-image: linear-gradient(to left, black 0%, transparent 50%);
    }

    .swiper-posts>.swiper-wrapper>.swiper-slide-active+.swiper-slide+.swiper-slide+.swiper-slide+.swiper-slide {
        mask-image: linear-gradient(to right, black 0%, transparent 50%);
    }
}

.swiper-posts .swiper-button-next.swiper-button-disabled,
.swiper-posts .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}

@media screen and (max-width: 40rem) {

    .swiper-posts .swiper-button-prev,
    .swiper-posts .swiper-button-next {
        top: calc(100vw / 3.9);
    }

    .swiper-posts .swiper-button-disabled+.swiper-button-next::after {
        animation: swipeHint 1.5s ease-in-out infinite;
    }

    @keyframes swipeHint {
        0% {
            transform: translateX(0);
            opacity: 0.5;
        }

        50% {
            transform: translateX(0.5rem);
            opacity: 1;
        }

        100% {
            transform: translateX(0);
            opacity: 0.5;
        }
    }
}

@media screen and (min-width: 40rem) and (max-width: 65rem) {

    .swiper-posts .swiper-button-prev,
    .swiper-posts .swiper-button-next {
        top: calc(100vw / 7.6);
    }
}

@media screen and (min-width: 65rem) {

    .swiper-posts .swiper-button-prev,
    .swiper-posts .swiper-button-next {
        top: 5.25rem;
    }

    .swiper-posts .swiper-button-prev {
        left: max(calc(var(--wp--style--root--padding-left) - 1.25rem), calc((100vw - 80rem) / 2) - 1.25rem);
    }

    .swiper-posts .swiper-button-next {
        right: max(calc(var(--wp--style--root--padding-right) - 1.25rem), calc((100vw - 80rem) / 2) - 1.25rem);
    }
}

/* Grid Posts */

.grid-posts {
    display: grid;
    gap: 1.5rem 1rem;
    align-items: start;
}

@media screen and (max-width: 40rem) {

    .grid-posts {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 40rem) and (max-width: 65rem) {
    .grid-posts {
        grid-template-columns: 1fr 1fr;
    }
}


@media screen and (min-width: 65rem) {

    .grid-posts {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.grid-posts>.grid-post {
    line-height: 1.5;
}

.grid-posts>.grid-post:not(.card-no-shadow):has(a:hover),
.grid-posts>.grid-post:not(.card-no-shadow):has(a:focus) {
    box-shadow: var(--wp--preset--shadow--medium);
}

.grid-posts>.grid-post>a {
    color: var(--wp--preset--color--contrast);
    font-weight: 400;
}

.grid-posts>.grid-post>a:hover,
.grid-posts>.grid-post>a:focus {
    text-decoration: none;
}

.grid-posts>.grid-post>a:hover>.card-img-top>img,
.grid-posts>.grid-post>a:focus>.card-img-top>img {
    opacity: 0.6;
}

/* News List */

.news-list {
    list-style: none;
    padding: 0;
}

@media screen and (max-width: 65rem) {
    .news-list>.news-item {
        /* display: flex;
        flex-direction: column;
        gap: 0.25rem 0; */
    }

    .news-list>.news-item>.news-category {
        /* margin-left: .5rem; */
    }


    .news-list>.news-item+.news-item {
        margin-block-start: 1.5rem;
    }
}

@media screen and (min-width: 65rem) {
    .news-list>.news-item {
        /* display: grid;
        grid-template-columns: auto 1fr;
        gap: 0 1rem; */
    }

    .news-list>.news-item+.news-item {
        margin-block-start: 1rem;
    }
}

.news-list>.news-item>.news-date {
    color: var(--wp--preset--color--dark-gray);
    font-weight: 700;
    line-height: 1.5;
}


.news-list>.news-item>.news-title {
    line-height: 1.5;
}

.news-list>.news-item>.news-title>a {
    margin: 0;
    color: var(--wp--preset--color--contrast);
    font-weight: 400;
    text-underline-offset: 0.3125em;
}

.badge.news-category-member {
    background-color: var(--wp--preset--color--secondary);
}

.badge.news-category-press-release {
    background-color: #c6646b;
}

/* Pick Up List (Swiper) */
/* Pick Up List (Grid) */

.pick-up-swiper-posts>.swiper-wrapper>.pick-up-item>a>.card-body>.pick-up-meta>.pick-up-date,
.pick-up-grid-posts>.pick-up-item>a>.card-body>.pick-up-meta>.pick-up-date {
    color: var(--wp--preset--color--dark-gray);
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
}

.pick-up-swiper-posts>.swiper-wrapper>.pick-up-item>a>.card-body>.pick-up-title,
.pick-up-grid-posts>.pick-up-item>a>.card-body>.pick-up-title {
    font-weight: 500;
}

.pick-up-swiper-posts>.swiper-wrapper>.pick-up-item>a>.card-body>.pick-up-keywords,
.pick-up-grid-posts>.pick-up-item>a>.card-body>.pick-up-keywords {
    font-size: var(--wp--preset--font-size--small);
}

.pick-up-swiper-posts>.swiper-wrapper>.pick-up-item>a>.card-body>.pick-up-meta,
.pick-up-swiper-posts>.swiper-wrapper>.pick-up-item>a>.card-body>.pick-up-keywords,
.pick-up-grid-posts>.pick-up-item>a>.card-body>.pick-up-meta,
.pick-up-grid-posts>.pick-up-item>a>.card-body>.pick-up-keywords {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 1rem;
}

.badge.pick-up-category-interview {
    background-color: #f0972d;
}

.badge.pick-up-category-report {
    background-color: #c6646b;
}

.badge.pick-up-category-study {
    background-color: #38867a;
}

.badge.pick-up-category-event {
    background-color: var(--wp--preset--color--secondary);
}

/* Event List (Swiper) */
/* Event List (Grid) */

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-title,
.event-grid-posts>.event-item>a>.card-body>.event-title {
    font-weight: 500;
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-meta>.event-date,
.event-grid-posts>.event-item>a>.card-body>.event-meta>.event-date {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: calc(var(--wp--preset--font-size--large) * 1.25);
}

.event-grid-posts>.event-item>a>.card-body>.event-meta>.event-date>.event-date-year {
    position: relative;
    top: 4px;
    padding-right: 0.5rem;
    font-size: 0.875rem;
    vertical-align: top;
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-meta>.event-date>.event-date-weekday,
.event-grid-posts>.event-item>a>.card-body>.event-meta>.event-date>.event-date-weekday {
    font-weight: 400;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
}

.event-grid-posts>.event-item>a>.card-body>.event-meta>.event-date>.event-date-weekday {
    position: relative;
    top: -1px;
    vertical-align: middle;
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-meta>.event-date>.event-date-tilde,
.event-grid-posts>.event-item>a>.card-body>.event-meta>.event-date>.event-date-tilde {
    position: relative;
    top: -1px;
    padding-right: 0.25rem;
    font-weight: 400;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
    vertical-align: middle;
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-keywords,
.event-grid-posts>.event-item>a>.card-body>.event-keywords {
    font-size: var(--wp--preset--font-size--small);
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-meta,
.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-keywords,
.event-grid-posts>.event-item>a>.card-body>.event-meta,
.event-grid-posts>.event-item>a>.card-body>.event-keywords {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-meta,
.event-grid-posts>.event-item>a>.card-body>.event-meta {
    gap: 0.125rem 1rem;
}

.event-swiper-posts>.swiper-wrapper>.event-item>a>.card-body>.event-keywords,
.event-grid-posts>.event-item>a>.card-body>.event-keywords {
    gap: 0.25rem 1rem;
}

.event-and-webinar-search {
    display: flex;
    margin-top: 1.5rem;
}

.badge.event-membership-regular {
    background-color: #c6646b;
}

.badge.event-membership-regular-and-individual {
    background-color: #f0972d;
}

/* Event List (List) */

.event-list {
    list-style: none;
    padding: 0;
}

.event-list>.event-item+.event-item {
    margin-block-start: 1.5rem;
}

.event-list>.event-item>.event-date {
    font-weight: 700;
    font-size: calc(var(--wp--preset--font-size--large));
}

.event-list>.event-item>.event-date>.event-date-weekday {
    position: relative;
    top: -1px;
    vertical-align: middle;
    font-weight: 400;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
}

.event-list>.event-item>.event-date>.event-date-tilde {
    position: relative;
    top: -1px;
    padding-right: 0.25rem;
    font-weight: 400;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
    vertical-align: middle;
}

.event-list>.event-item>.event-membership {
    vertical-align: text-bottom;
}

.event-list>.event-item>.event-title>a {
    color: var(--wp--preset--color--contrast);
    font-weight: 500;
}

.event-month-heading {
    margin-block-start: 0;
}

.event-list+.event-month-heading {
    margin-block-start: 4rem;
}

/* Event Single Page */
/* Webinar Single Page */

@media screen and (max-width: 65rem) {

    .event-wrapper,
    .webinar-wrapper {
        display: flex;
        flex-direction: column;
    }

    .event-wrapper>.event-main,
    .webinar-wrapper>.webinar-main,
    .event-wrapper>.event-sidebar,
    .webinar-wrapper>.webinar-sidebar {
        width: 100%;
    }

    /* .event-wrapper>.event-sidebar-top,
    .event-wrapper>.event-sidebar-bottom,
    .webinar-wrapper>.webinar-sidebar-top,
    .webinar-wrapper>.webinar-sidebar-bottom {
        width: 100%;
        margin-block-start: 3em;
    } */
}

@media screen and (min-width: 65rem) {

    .event-wrapper,
    .webinar-wrapper {
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-start;
    }

    .event-wrapper>.event-main,
    .webinar-wrapper>.webinar-main {
        width: 75%;
        margin-block-start: 0;
    }

    .event-wrapper>.event-sidebar,
    .webinar-wrapper>.webinar-sidebar {
        position: sticky;
        top: 5rem;
        width: 25%;
        padding: 1rem 0 0 2rem;
    }

    /* .event-wrapper>.event-sidebar .wp-block-button,
    .webinar-wrapper>.webinar-sidebar .wp-block-button {
        width: 100%;
    } */
}

.wp-block-lazyblock-event-date {
    margin-block-start: 0;
}

.event-wrapper>.event-sidebar .event-date {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: calc(var(--wp--preset--font-size--large) * 1.5);
}

.event-wrapper>.event-sidebar .event-date>.event-date-year {
    position: relative;
    top: 4px;
    padding-right: 0.5rem;
    font-size: 0.875rem;
    vertical-align: top;
}

.event-wrapper>.event-sidebar .event-date>.event-date-weekday {
    position: relative;
    top: -1px;
    vertical-align: middle;
    font-weight: 400;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
}

.event-wrapper>.event-sidebar .event-date>.event-date-tilde {
    position: relative;
    top: -1px;
    padding-right: 0.25rem;
    font-weight: 400;
    font-size: calc(var(--wp--preset--font-size--medium) * 0.875);
    vertical-align: middle;
}


/* Webinar List (Swiper) */

.webinar-grid-posts>.webinar-item>a>.card-body>.webinar-title,
.webinar-swiper-posts>.swiper-wrapper>.webinar-item>a>.card-body>.webinar-title {
    font-weight: 500;
}

.webinar-grid-posts>.webinar-item>a>.card-body>.webinar-keywords,
.webinar-swiper-posts>.swiper-wrapper>.webinar-item>a>.card-body>.webinar-keywords {
    font-size: var(--wp--preset--font-size--small);
}

.webinar-grid-posts>.webinar-item>a>.card-body>.webinar-meta,
.webinar-grid-posts>.webinar-item>a>.card-body>.webinar-keywords,
.webinar-swiper-posts>.swiper-wrapper>.webinar-item>a>.card-body>.webinar-meta,
.webinar-swiper-posts>.swiper-wrapper>.webinar-item>a>.card-body>.webinar-keywords {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.webinar-grid-posts>.webinar-item>a>.card-body>.webinar-meta,
.webinar-swiper-posts>.swiper-wrapper>.webinar-item>a>.card-body>.webinar-meta {
    gap: 0.125rem 1rem;
}

.webinar-grid-posts>.webinar-item>a>.card-body>.webinar-keywords,
.webinar-swiper-posts>.swiper-wrapper>.webinar-item>a>.card-body>.webinar-keywords {
    gap: 0.25rem 1rem;
}

/* Case Study List (Swiper) */

.case-study-grid-posts>.case-study-item>a>.card-body>.case-study-title,
.case-study-swiper-posts>.swiper-wrapper>.case-study-item>a>.card-body>.case-study-title {
    font-weight: 500;
}

.case-study-grid-posts>.case-study-item>a>.card-body>.case-study-keywords,
.case-study-swiper-posts>.swiper-wrapper>.case-study-item>a>.card-body>.case-study-keywords {
    font-size: var(--wp--preset--font-size--small);
}

.case-study-grid-posts>.case-study-item>a>.card-body>.case-study-meta,
.case-study-grid-posts>.case-study-item>a>.card-body>.case-study-keywords,
.case-study-swiper-posts>.swiper-wrapper>.case-study-item>a>.card-body>.case-study-meta,
.case-study-swiper-posts>.swiper-wrapper>.case-study-item>a>.card-body>.case-study-keywords {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.case-study-grid-posts>.case-study-item>a>.card-body>.case-study-meta,
.case-study-swiper-posts>.swiper-wrapper>.case-study-item>a>.card-body>.case-study-meta {
    gap: 0.125rem 1rem;
}

.case-study-grid-posts>.case-study-item>a>.card-body>.case-study-keywords,
.case-study-swiper-posts>.swiper-wrapper>.case-study-item>a>.card-body>.case-study-keywords {
    gap: 0.25rem 1rem;
}

.case-study-search {
    display: flex;
}

.badge.case-study-award-rank-grandprix {
    background-color: #C6646B;
}

.badge.case-study-award-rank-gold {
    background-color: #FFD700;
}

.badge.case-study-award-rank-silver {
    background-color: #BBBBBB;
}

.badge.case-study-award-rank-bronze {
    background-color: #C47222;
}

/* Column */

@media screen and (min-width: 65rem) {

    .column-1-3,
    .column-1-4 {
        flex: 1 !important;
    }

    .column-2-3 {
        flex: 2 !important;
    }

    .column-3-4 {
        flex: 3 !important;
    }
}

/* Card */

.card {
    box-shadow: var(--wp--preset--shadow--small);
    background-color: var(--wp--preset--color--base);
}

.card.card-no-shadow {
    box-shadow: none;
}

.card.card-no-shadow .card-img-top>img {
    border-radius: 0.25rem;
}

.card .card-img-top>img {
    display: block;
    width: 100%;
    height: auto;
}

.card .card-body {
    padding: var(--wp--preset--spacing--50);
}

.card.card-no-shadow .card-body {
    padding: var(--wp--preset--spacing--40) 0;
}

.card .card-body>* {
    margin-block-start: 0;
    margin-block-end: 0;
}

.card .card-body>*+* {
    margin-block-start: 0.5rem;
}

/* Footer */

footer a {
    font-weight: 400;
}

@media screen and (min-width: 782px) and (max-width: 1080px) {
    footer #footer-nav .wp-block-columns:not(.is-not-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }

    footer #footer-nav .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: auto;
    }
}

/* flatpickr */

.flatpickr-calendar {
    font-size: 1rem;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-prev-month:focus svg,
.flatpickr-months .flatpickr-next-month:hover svg,
.flatpickr-months .flatpickr-next-month:focus svg {
    fill: var(--wp--preset--color--secondary);
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
    border-color: var(--wp--preset--color--secondary);
    background-color: var(--wp--preset--color--secondary);
}

/* Pagenation */

.pagination-wrap {
    margin-top: 3rem;
}

.pagination-wrap>ul.page-numbers {
    display: flex;
    justify-content: center;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
}

.pagination-wrap>ul.page-numbers>li>a.page-numbers,
.pagination-wrap>ul.page-numbers>li>span.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 2px 1px 0 0;
    border: 2px solid var(--wp--preset--color--tertiary);
    border-radius: 50%;
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--primary);
    font-weight: 400;
    font-size: 1.25rem;
    text-decoration: none;
}

.pagination-wrap>ul.page-numbers>li>span.page-numbers.current {
    border: 2px solid var(--wp--preset--color--primary);
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}

.pagination-wrap>ul.page-numbers>li>a.page-numbers:hover {
    border: 2px solid var(--wp--preset--color--secondary);
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--base);
}

.pagination-wrap>ul.page-numbers>li>a.page-numbers.prev,
.pagination-wrap>ul.page-numbers>li>a.page-numbers.next,
.pagination-wrap>ul.page-numbers>li>span.page-numbers.dots {
    border: none;
    background: none;
    color: var(--wp--preset--color--primary);
}

/* Detail Block */

.wp-block-details>summary {
    list-style: none;
    font-weight: 700;
    cursor: pointer;
}

.wp-block-details>summary::-webkit-details-marker {
    display: none;
    /* Chrome/Safari用 */
}

.wp-block-details>summary::marker {
    content: "";
    /* Firefox用 */
}

.wp-block-details>summary::before {
    /* fa-chevron-right */
    margin-right: .75em;
    font-weight: 900;
    font-family: "Font Awesome 7 Free";
    content: "\f0da";
}

.wp-block-details[open]>summary::before {
    /* fa-chevron-down */
    margin-right: .5em;
    content: "\f0d7";
}

.wp-block-details>summary+p {
    margin-block-start: 1em;
}

/* Publications */

.a4-box {
    /* A4縦の比率を固定 */
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 210 / 297;
    overflow: hidden;
    background: transparent;
}

.a4-box>img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Previous Post & Next Post */

.wp-block-post-navigation-link {
    position: relative;
    line-height: 1.6;
}

.wp-block-post-navigation-link>a {
    display: block;
    padding-top: 3.5rem;
    color: var(--wp--preset--color--contrast);
    font-weight: 500;
}

.wp-block-post-navigation-link>a:hover,
.wp-block-post-navigation-link>a:focus {
    color: var(--wp--preset--color--gray);
    text-decoration: none;
}

.post-navigation-link-next:has(a)::before,
.post-navigation-link-previous:has(a)::before {
    position: absolute;
    top: 1.5rem;
    left: 0;
    z-index: -2;
    width: 100%;
    border-top: 1px solid #999;
    content: '';
}

.post-navigation-link-next:has(a)::after,
.post-navigation-link-previous:has(a)::after {
    position: absolute;
    top: 0;
    z-index: -1;
    background-color: var(--wp--preset--color--base);
    font-weight: bold;
    font-size: 2rem;
}

.post-navigation-link-next:has(a)::after {

    left: 0;
    padding-right: 1rem;
    content: 'NEXT';
}

.post-navigation-link-previous:has(a)::after {
    right: 0;
    padding-left: 1rem;
    content: 'PREV';
}

.wp-block-column:has(.wp-block-post-navigation-link) {
    padding-top: 3rem;
}

/* Sharing Button */

.sharing-buttons {
    display: flex;
    flex-wrap: wrap;
    /* justify-content: left;
    align-items: flex-start; */
    gap: 1rem;
    list-style: none;
    padding: 0;
}

.sharing-button-fb>.fb-like>span {
    vertical-align: unset !important;
}

.sharing-button-fb,
.sharing-button-fb>.fb-like,
.sharing-button-fb>.fb-like>span,
.sharing-button-fb>.fb-like>span>iframe {
    max-width: 100%;
}

/* Single Post */

.single-news .post-meta+h1,
.single-pick-up .post-meta+h1,
.single-case-study .post-meta+h1 {
    margin-top: var(--wp--preset--spacing--60);
}

.single-webinar .post-meta+h1 {
    margin-top: var(--wp--preset--spacing--50);
}

.category-wrapper {
    display: flex;
    gap: 0.5rem;
}

/* 
.single-webinar .category-wrapper {
    justify-content: center;
} */

.entry-content:has(.pick-up-subtitle),
.entry-content:has(.event-subtitle),
.entry-content:has(.webinar-subtitle) {
    margin-block-start: 0.5rem;
}

/* Swiper Hero */

.swiper-hero {
    max-width: 1680px;
    margin: 0 auto !important;
}

section:has(.swiper-hero) {
    padding: 0;
}

/* Anchor Link */

h2[id],
h3[id],
h4[id],
h5[id],
h6[id] {
    scroll-margin-top: 6rem;
}

/* hr */

.wp-block-separator {
    border-top: 1.5px solid var(--wp--preset--color--gray);
}

/* iOS でボタンの中身が上にずれる問題 */

.wp-block-button__link {
    display: inline-flex;       /* inline-block → inline-flex に変更 */
    align-items: center;        /* 縦中央揃え */
    justify-content: center;    /* 横中央揃え */
}

.contact-button>.wp-block-button__link {
	flex-direction: column;
}

