/* global */
* {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    /* outline: 2px solid red; */
}
html, body {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
a {
    color: #00A7EA;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
}
p, small, li {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
}
:root {
    --swiper-navigation-size: 0;
    --swiper-theme-color: #005EEB;
}
p,h1,h2,h3,h4,h5,h6,li {
    color: #575757;
    line-height: 1.8em;
}
a,p,h1,h2,h3,h4,h5,h6,div,span,button,header,section,main,footer,nav,li {
    box-sizing: border-box;
}
a,button {
    cursor: pointer;
}
main {
    flex: 1;
}
small {
    font-size: 0.625rem;
}
.img-box {
    width: 100%;
    overflow: hidden;
}
.img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.textCenter-box {
    display: block;
    text-align: center;
}

.normalButton {
    width: 100%;
    max-width: 310px;
    min-width: 200px;
    color: #00A7EA;
    font-size: 0.875rem;
    font-weight: bold;
    text-align: left;
    text-decoration: none;
    display: block;
    background-color: transparent;
    border: #00A7EA 1px solid;
    border-radius: calc(1em + 10px);
    padding: 10px 20px;
    position: relative;
    transition: all 0.3s ease;
}
.submit-button {
    width: 100%;
    max-width: 200px;
    color: #FFF;
    font-size: 0.875rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: block;
    background-color: #00A7EA;
    border: #00A7EA 1px solid;
    border-radius: calc(1em + 10px);
    padding: 10px 20px;
    position: relative;
    transition: all 0.3s ease;
}
.submit-button::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    transform: rotate(45deg);
    margin: auto 0;
}
/* .submit-button::before {
    content: "";
    width: 18px;
    height: 1px;
    background-color: #FFF;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0;
} */
.submit-back-button {
    max-width: 200px;
    text-align: center;
}
.squareButton {
    width: 100%;
    max-width: 310px;
    color: #00A7EA;
    font-size: 0.875rem;
    font-weight: bold;
    text-align: left;
    text-decoration: none;
    display: block;
    background-color: transparent;
    border: #00A7EA 1px solid;
    border-radius: 8px;
    padding: 10px 20px;
    position: relative;
}
.normalButton::after, .squareButton::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #00A7EA;
    border-right: 1px solid #00A7EA;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    transform: rotate(45deg);
    margin: auto 0;
}
.normalButton::before, .squareButton::before {
    content: "";
    width: 18px;
    height: 1px;
    background-color: #00A7EA;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0;
}
.submit-back-button::after {
    right: auto;
    left: 16px;
    transform: rotate(225deg);
}
.submit-back-button::before, .pdfButton::before, .bookButton::before, .newTabButton::before, .newTabButton-white::before {
    display: none;
}
.newTabButton:after, .newTabButton-white::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    border: none;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0;
    transform: none;
}
.newTabButton::after {
    background: url('../images/icon_new-tab.svg') no-repeat center;
}
.newTabButton-white::after {
    background: url('../images/icon_new-tab-white.svg') no-repeat center;
}
.pdfButton::after {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    border: none;
    background: url('../images/icon-pdf.svg') no-repeat center;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0;
    transform: none;
}
.pdfButton-white {
    color: #FFF;
    border-color: #FFF;
}
.pdfButton-white::after {
    background: url('../images/icon-pdf-white.svg') no-repeat center;
}
.bookButton::after {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    border: none;
    background: url('../images/icon-book.svg') no-repeat center;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0;
    transform: none;
}
.folderButton {
    color: white;
    background: #00A7EA;
}
.folderButton::after {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    border: none;
    background: url('../images/icon-folder.svg') no-repeat center;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0;
    transform: none;
}
.folderButton::before {
    display: none;
}
.whiteButton {
    color: #FFF;
    border-color: #FFF;
}
.whiteButton::before {
    background-color: #FFF;
}
.whiteButton::after {
    border-color: #FFF;
}
@media (min-width: 768px) {
    .normalButton:hover, .squareButton:hover {
        color: #FFF;
        background: #00A7EA;
    }
    .normalButton:hover::after, .squareButton:hover::after {
        border-color: #FFF;
    }
    .normalButton:hover::before, .squareButton:hover::before {
        background: #FFF;
    }
    .whiteButton:hover {
        color: #00A7EA;
        background: #FFF;
    }
    .whiteButton:hover::after {
        border-color: #00A7EA;
    }
    .whiteButton:hover::before {
        background: #00A7EA;
    }
    .newTabButton:hover::after {
        background-image: url(../images/icon_new-tab-white.svg);
    }
    .newTabButton-white:hover::after {
        background-image: url(../images/icon_new-tab.svg);
    }
    .pdfButton:hover::after {
        background-image: url(../images/icon-pdf-white.svg);
    }
    .pdfButton-white:hover::after {
        background-image: url(../images/icon-pdf.svg);
    }
    .folderButton:hover {
        background: #005EEB;
        border-color: #005EEB;
    }
    .bookButton:hover::after {
        background-image: url(../images/icon-book-white.svg);
    }
    .submit-button:hover {
        background-color: #005EEB;
        border: #005EEB 1px solid;
        transition: all 0.3s ease;
    }
}


.underline-dot {
    padding-bottom: 8px;
    background-image: radial-gradient(currentColor 1px, transparent 1px);
    background-size: 4px 2px;
    background-repeat: repeat-x;
    background-position: bottom left;
}
.Card-caption {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}
.Card-caption .card-affiliation {
    color: #FFF;
    font-size: 0.75rem;
    line-height: 1em;
    background-color: #005EEB;
    display: inline-block;
    padding: 6px 8px;
    text-decoration: none;
    margin-left: 0;
}
.Card-caption a {
    color: #FFF;
    text-decoration: none;
}
.Card-caption p:last-child {
    line-height: 1em;
    margin-left: 16px;
}
.Card-caption-reverse {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}
.Card-caption-reverse a {
    color: #FFF;
}
.Card-caption-reverse p {
    line-height: 1em;
}
.center-block {
    margin: 0 auto;
}
.card-affiliation {
    color: #FFF;
    font-size: 0.75rem;
    line-height: 1em;
    background-color: #005EEB;
    display: inline-block;
    padding: 6px 8px;
    margin-left: 16px;
}


.pickup-container {
    background-color: #005EEB;
    border-radius: 8px;
    margin: 0 8px 56px;
    padding: 32px 6.42vw;
}
.pickup-header {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
}
.pickup-header p {
    color: #FFF;
    line-height: 1em;
    font-size: 3rem;
    font-weight: bold;
}
.pickup-header h3 {
    color: #FFF;
    font-size: 0.875rem;
    font-weight: bold;
}
.pickupCard-wrapper {
    margin-bottom: 40px;
}
.pickupCard-wrapper:last-child {
    margin-bottom: 0;
}
.pickupCard-wrapper h4 {
    display: block;
    color: #FFF;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1em;
    padding-left: 24px;
    position: relative;
    margin-bottom: 16px;
}
.pickupCard-wrapper h4::before {
    content: "";
    width: 16px;
    height: 16px;
    background-color: #00A7EA;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
}
.pickupCard-wrapper h4::after {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #FFF;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 2px;
    bottom: 0;
    margin: auto 0;
}
.pickupCard-outer {
    display: block;
    width: 100%;
    height: 160px;
    background-size: cover;
    background-position: center center;
    position: relative;
    margin-bottom: 16px;
}
.pickupCard-inner {
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0,
        rgba(0, 0, 0, 0.7) 40%
    );
    padding: 12px 44px 12px 24px;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}
.pickupCard-inner::before {
    content: "";
    width: 32px;
    height: 24px;
    border-radius: 12px 0 0 0;
    background: #FFF;
    position: absolute;
    bottom: 0;
    right: 0;
}
.pickupCard-inner::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #575757;
    border-right: 2px solid #575757;
    border-radius: 1px;
    transform: rotate(45deg);
    position: absolute;
    bottom: 8px;
    right: 12px;
}
.pickupCard-inner p {
    color: #FFF;
    line-height: 1.5em;
}
.pickupCard-inner p:nth-child(1) {
    font-size: 0.75rem;
}
.pickupCard-inner p:nth-child(2) {
    font-size: 0.875rem;
}
.c-note-wrapper {
    background: #F7F7F7;
    border-radius: 8px;
    padding: 24px 20px;
    margin: 64px 8px 0;
}
.c-note-wrapper h3 {
    color: #00A7EA;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4em;
    word-break: keep-all;
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}
.c-note-wrapper h3::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../images/icon-attention.svg);
    background-repeat: no-repeat;
    margin-right: 8px;
    flex: 0 0 auto;
}
.c-note-wrapper p {
    font-size: 0.875rem;
    text-align: justify;
}
.c-note-wrapper:last-child {
    margin-top: 16px;
}
.br-toggle {
    display: inline;
}
.space-toggle {
    display: none;
}
@media (min-width: 450px) {
    .pickupCard-outer {
        height: 230px;
    }
}
@media (min-width: 600px) {
    .pickup-header {
        flex-direction: row;
        align-items: baseline;
        justify-content: center;
    }
}
@media (min-width: 768px) {
    .pickupCard-inner p:nth-child(2) {
        font-size: 1rem;
    }
    .br-tablet {
        display: none;
    }
    .br-toggle {
        display: none;
    }
      .space-toggle {
        display: inline;
    }
}


/* Breadcrumbs */
.breadcrumb {
    text-align: left;
    list-style: none;
    padding: 0;
    margin: 0;
} 
.breadcrumb li {
    color: #FFF;
    font-size: 0.75rem;
    display: inline;
    white-space: normal;
    word-break: break-word;
    vertical-align: top;  
}
.breadcrumb li:nth-child(1)::before {
    color: #FFF;
    content: " > ";
    padding: 0 0.5em;
}
.breadcrumb li::after {
    color: #FFF;
    content: " > ";
    padding: 0 0.5em;
}
  
.breadcrumb li:last-child::after {
    content: none;
}
.pankuzu {
    display: block;
    background: #005EEB;
    padding: 12px 8px;
    margin-bottom: 40px;
}
footer {
    text-align: center;
    background: #00A7EA;
    padding-bottom: 20px;
}
footer a, footer p, footer small {
    color: #FFF;
}
.footer-down {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.footerMenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 4px;
    margin: 0 8.56vw;
}
.footerMenu a {
    font-size: 0.625rem;
    white-space: nowrap;
    text-decoration: none;
    line-height: 1em;
    text-align: left;
    display: block;
    border-top: 1px solid #55C0FA;
    position: relative;
    padding: 12px 0 12px 8px;
}
.footerMenu a::before {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto 0;
}
.footerMenu li {
    flex: 0 0 calc((100% - 4px * 2) / 2)
}
.footerMenu li:nth-child(7), .footerMenu li:last-child {
    border-bottom: 1px solid #55C0FA;
    margin-bottom: 40px;
}
.footer-outline {
    padding: 0 32px;
    margin-bottom: 40px;
}
.footer-outline p {
    font-size: 0.875rem;
}
.footer-outline p:nth-child(1) {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 16px;
}
.footerTerms {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-bottom: 16px;
}
.footerTerms a {
    font-size: 0.675rem;
    text-decoration: none;
}
.swiper-slide {
    text-decoration: none;
    height: 100%;
}
@media (min-width: 768px) {
    .footerMenu {
        margin-bottom: 32px;
        flex-wrap: nowrap;
        justify-content: center;
    }
    .footerMenu li {
        flex: auto;
        border-right: 1px solid #55C0FA;
    }
    .footerMenu li:nth-child(7) {
        border-bottom: none;
        margin-bottom: 0;
    }
    .footerMenu li:last-child {
        border-right: none;
        border-bottom: none;
        margin-bottom: 0;
    }
    .footerMenu a {
        font-size: 0.75rem;
        text-align: center;
        border-top: none;
        padding: 0.5em 1em;
    }
    .footerMenu a::before {
        content: none;
    }
    .footerMenu li a:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }
}


/* header */
header {
    width: 100vw;
    display: flex;
    top: 0;
    background-color: #FFF;
    position: fixed;
    justify-content: space-between;
    align-items: center;
    padding-left: 16px;
    z-index: 50;
    line-height: 1em;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* header navigation */
.mainLogo a {
    width: 280px;
    display: flex;
    align-items: center;
}
.hamburger {
    position: relative;
    width: 64px;
    height: 64px;
    background: none;
    border: none;
    z-index: 52;
}

.hamburger span {
    position: absolute;
    width: 28px;
    height: 1px;
    background: #575757;
    right: 0;
    left: 0;
    margin: 0 auto;
    transition: all 0.3s ease;
}

.hamburger span:nth-child(1) {
    top: 25px;
}
.hamburger span:nth-child(2) {
    top: 31px;
}
.hamburger span:nth-child(3) {
    bottom: 26px;
}

/* x */
.hamburger.active span:nth-child(1) {
    transform: rotate(135deg);
    top: 31px;
}
.hamburger.active span:nth-child(2) {
    opacity: 0;
}
.hamburger.active span:nth-child(3) {
    transform: rotate(-135deg);
    top: 31px;
}

/* menu */
.nav-menu {
    width: 100%;
    text-align: center;
    position: fixed;
    left: 0;
    backdrop-filter: blur(8px);
    background-color: rgba(0, 157, 234, 0.8);
    padding: 24px 6.42vw;
    transition: all 0.4s ease;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.nav-menu ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 0;
}
.nav-menu li:nth-child(1) {
    border-top: #55C0FA 1px solid;
}
.nav-menu a {
    color: #FFF;
    font-size: 0.875rem;
    text-align: left;
    text-decoration: none;
    display: block;
    padding: 8px 0 8px 8px;
    border-bottom: #55C0FA 1px solid;
    position: relative;
}
.nav-menu a::before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin:  auto 0;
}
.snsButton.active {
    transform: translateY(calc((0.875rem + 16px) * 7));
}

/* menu active */
.nav-menu.active {
    display: block;
    left: 0;
    opacity: 1;
    pointer-events: auto;
}
@media (min-width: 950px) {
    header {
        height: 64px;
        padding-right: 16px;
    }
    .hamburger {
        display: none;
    }
    .nav-menu {
        opacity: 1;
        background: none;
        position: inherit;
        padding: 0;
        pointer-events: auto;
        box-shadow: none;
    }
    .nav-menu ul {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
    }
    .nav-menu a {
        color: #575757;
        font-size: 0.75rem;
        border-bottom: none;
        padding-left: 0;
    }
    .nav-menu a::before {
        content: none;
    }
    .nav-menu li:nth-child(1) {
        border-top: none;
    }
    .nav-menu li:last-child a {
        color: #FFF;
        white-space: nowrap;
        background: #00A7EA;
        height: 50px;
        border-radius: 25px;
        display: flex;
        align-items: center;
        position: relative;
        padding: 0 16px 0 56px;
    }
    .nav-menu li:last-child a::before {
        content: "";
        width: 31px;
        height: 24px;
        background-image: url(../images/icon-mail-white.svg);
        background-repeat: no-repeat;
        position: absolute;
        transform: none;
        border: none;
        top: 0;
        left: 16px;
        bottom: 0;
        margin: auto 0;
    }
    .snsButton.active {
        transform: translateY(0);
    }
}
@media (min-width: 1050px) {
    .nav-menu a {
        font-size: 0.875rem;
    }
}

/* sns button */
.snsButton {
    height: fit-content;
    display: flex;
    flex-direction: column;
    border-radius: 24px;
    background-color: rgba(0, 0, 0, 0.4);
    position: fixed;
    gap: 8px;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto 0;
    padding: 16px 8px;
    transition: all 0.3s ease;
}
.snsButton img {
    width: 32px;
    height: 32px;
}
.snsButton li {
    height: 32px;
}


/* sub menu */
.subMenu {
    position: fixed;
    top: calc(64px + 16px);
    z-index: 10;
}
.subMenuTitle {
    color: #FFF;
    font-size: 0.875rem;
    font-weight: bold;
    background: #005EEB;
    border: none;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    padding: 8px 12px 8px 8px;
    transition: all 0.3s ease;
}
.subMenuTitle::after {
    content: "";
    background: #FFF;
    width: 4px;
    height: 8px;
    margin-left: 8px;
    transform: rotate(0deg);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transition: all 0.3s ease;
}
.subMenuTitle.active {
    border-radius: 0 4px 0 0;
}
.subMenuTitle.active::after {
    transform: rotate(180deg);
}
.subMenuList {
    background: #f7f7f7;
    border-radius: 0 4px 4px 0;
    padding: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translateX(-400px);
    transition: all 0.3s ease;
}
.subMenuList li {
    border-top: 1px solid #DDD;
}
.subMenuList li:last-child {
    border-bottom: 1px solid #DDD;
}
.subMenuList a {
    display: block;
    color: #575757;
    font-size: 0.875rem;
    text-decoration: none;
    padding: 6px 16px;
}
.subMenuList.active {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: translateX(0);
}
@media (min-width: 768px) {
    .subMenuTitle, .subMenuList {
        font-size: 1rem;
    }
}


/* keyVisual */
.keyVisual {
    width: 100%;
    background-image:
        linear-gradient(to right, rgba(0, 167, 234, 0.2), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.2)),
        url(../images/bg_bluesky.webp);
    background-size: cover;
    position: relative;
    padding-top: 152px;
    padding-bottom: 80px;
    margin-top: 64px;
}
.mainCopy {
    color: #FFF;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4em;
    position: absolute;
    top: 32px;
    left: 20px;
    z-index: 2;
}
.onlineButton {
    background: #2A0240;
    white-space: nowrap;
    padding: 14px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    position: absolute;
    left: 50%;
    bottom: -56px;
    transform: translateX(-50%);
    z-index: 2;
}
.onlineButton p {
    color: #FFF;
    line-height: 1em;
}
.onlineButton p:nth-child(1) {
    margin-bottom: 6px;
}
.onlineButton p:nth-child(2) {
    margin-bottom: 12px;
}
.onlineButton p:last-child {
    margin-bottom: 0;
}
.onlineButton p:nth-child(1) {
    font-size: 0.875rem;
    font-weight: bold;
}
.onlineButton p:nth-child(2) {
    font-size: 1.5rem;
    font-weight: bold;
}
.onlineButton p:nth-child(3) {
    font-size: 0.625rem;
}
.onlineButton .img-box {
    width: 80px;
    margin-right: 8px;
}

/* slideshow */
.slideshow {
    width: 100%;
    /* max-width: 500px; */
    height: auto;
}
.slideshow .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}
.slideshow img {
    max-height: 100%;
    max-width: 100%;
    height: auto;
    width: auto;
    border-radius: 16px;
    object-fit: contain;
}
.slideshow .swiper-wrapper {
    transition-timing-function: linear;
}

/* front page */
.topAbout-container {
    max-width: 1100px;
    padding: 104px 0 0;
}
.topAbout-container h2 {
    color: #00A7EA;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 24px;
}
.header-about {
    height: 64px;
    margin-bottom: 8px;
}
.topAbout-wrapper {
    margin: 0 5.35vw;
}
.topAbout-message {
    font-size: 0.875rem;
    line-height: 2em;
    margin-bottom: 40px;
    word-break: keep-all;
}
.topAbout-inner {
    margin-bottom: 48px;
}
.topAbout-mainImage-box {
    width: 100%;
    height: 430px;
    overflow: hidden;
    margin: 0 0 48px;
    clip-path: polygon(0 40px, 100% 0, 100% calc(100% - 40px), 0 100%);
}
.topAbout-mainImage-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.chairmanMessage {
    background-color: #00A7EA;
    border-radius: 8px;
    padding: 24px;
    margin: 0 8px 64px;
}
.chairmanMessage-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}
.chairmanMessage-inner {
    flex: 1 1 auto;
}
.chairmanMessage p {
    color: #FFF;
}
.chairmanImage-box {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    flex: 0 0 auto;
}
.chairmanImage-box img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.chairmanMessage-inner p:nth-child(1) {
    font-size: 0.75rem;
    font-weight: bold;
    display: block;
}
.chairmanMessage-inner p:nth-child(2) {
    font-size: 1.25rem;
    line-height: 1.4em;
    font-weight: bold;
    word-break: keep-all;
    margin: 10px 0;
}
.chairmanMessage-inner p:nth-child(3) {
    font-size: 0.75rem;
    line-height: 1.4em;
}
@media (min-width: 500px) {
    .keyVisual {
        padding-top: 136px;
    }
    .mainCopy {
        font-size: 2.75rem;
        left: 5.35vw;
    }
    .onlineButton {
        border-radius: 0;
        right: 5.35vw;
        bottom: 0;
        margin: 0;
        left: auto;
        padding-right: 24px;
        border-radius: 8px 8px 0 0;
        transform: rotateX(0);
    }
}
@media (min-width: 768px) {
    .topAbout-inner {
        margin-left: 5.82vw;
        margin-right: 0;
    }
    .topAbout-mainImage-box {
        width: 400px;
        min-width: 260px;
        margin-bottom: 0;
    }
    .topAbout-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        padding: 0;
        margin: 64px 5.82vw 48px;
    }
    .topAbout-wrapper {
        margin-left: 0;
        width: 600px;
    }
    .topAbout-inner {
        margin-left: 0;
        margin-bottom: 0;
    }
    .mainCopy {
        font-size: 3.5rem;
        left: 5.82vw;;
        top: 32px;
    }
    .keyVisual {
        padding-top: 168px;
    }
    .chairmanMessage {
        max-width: 1100px;
        display: flex;
        gap: 12px;
        align-items: center;
        margin: 0 5.82vw 64px;
        padding: 0 24px 0 0;
    }
    .chairmanImage-box {
        border-radius: 50%;
        margin: 24px 0 24px 24px;
    }
    .chairmanMessage-wrapper {
        margin: 0;
        gap: 12px;
        flex: 2;
    }
    .chairmanMessage-inner {
        margin-right: 20px;
    }
    .chairmanMessage-inner p:nth-child(1) {
        margin-top: 20px;
    }
    .chairmanMessage-inner p:nth-child(2) {
        line-height: 1.4em;
        margin: 6px 0;
    } 
    .chairmanMessage-inner p:nth-child(3) {
        margin-bottom: 20px;
    }
    .chairmanMessage-inner span {
        margin-left: 1em;
    }
    .chairmanMessage-buttonBox {
        width: 100%;
        flex: 1;
    }
}
@media (min-width: 1200px) {
    .topAbout-container, .chairmanMessage {
        margin-left: auto;
        margin-right: auto;
    }
    .keyVisual {
        padding-top: 184px;
    }
    .mainCopy {
        font-size: 4rem;
    }
    .chairmanMessage {
        overflow: hidden;
    }
    .chairmanMessage-wrapper {
        gap: 32px;
    }
    .chairmanImage-box {
        width: 200px;
        height: 200px;
        margin: 0;
        border-radius: 0;
    }
    .chairmanMessage-inner p:nth-child(2) {
        font-size: 2rem;
    }
}



/* enent */
.topEvent-container {
    background-color: #00A7EA;
    color: white;
    padding: 96px 0px;
    clip-path: polygon(0 40px, 100% 0, 100% calc(100% - 40px), 0 100%);
}
.topEvent-header h2 {
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 16px 24px;
}
.header-event {
    height: 64px;
    margin: 0 16px 8px;
}
.eventInfo-header {
    margin: 0 20px 48px;
}
.eventInfo-header p, .eventInfo-header h3 {
    color: #FFF;
}
.eventInfo-header p {
    font-size: 5rem;
    font-weight: bold;
    line-height: 1.1em;
    margin-bottom: 16px;
}
.eventInfo-header h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 24px;
}
.eventInfo-wrapper .postCard-wrapper .img-box {
    width: 100%;
    height: 180px;
}
.eventInfo-wrapper .postCard-inner {
    padding: 20px;
    margin-bottom: 0;
}
.eventInfo-wrapper .postCard-wrapper {
    display: block;
    position: relative;
}
.postCard-imgBox {
    border-radius: 8px 8px 0 0;
    height: 180px;
    flex: 0 0 auto;
}
.postCard-wrapper {
    display: block;
    background-color: #FFF;
    border-radius: 8px;
}
.postCard-inner {
    font-size: 0.875rem;
    padding: 20px 24px;
}
.postCard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
.postCard-tags li a {
    color: #005EEB;
    font-size: 0.75rem;
    line-height: 1em;
    border: 1px solid #005EEB;
    padding: 2px 16px;
    text-decoration: none;
    border-radius: calc(1em + 2px);
}
.postCard-tags .tag_like-button-noLink {
    color: #005EEB;
    font-size: 0.75rem;
    line-height: 1em;
    border: 1px solid #005EEB;
    padding: 4px 16px;
    text-decoration: none;
    border-radius: calc(1em + 2px);
}
.branchTopEvent-wrapper ul.postCard-tags {
    margin: 0 24px 0;
}
.swiper-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 12px;
    padding: 0 20px;
}
.swiper-button-prev,.swiper-button-next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #FFF;
  mask: none;
  -webkit-mask: none;
  position: static;
}
.swiper-button-next:after, .swiper-button-prev:after {
    color: #00A7EA;
    font-size: 12px;
}
.swiper-pagination {
    flex: 1;
    height: 4px;
    background: #FFF;
    position: relative;
}
.swiper-pagination-progressbar {
    height: 4px;
    border-radius: 2px;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #007aff;
}
.swiper-pagination {
    background: #FFF;
}


@media (min-width: 680px) {
    .pickup-container {
        padding: 40px 24px;
    }
    .pickup-wrapper {
        display: flex;
        gap: 24px;
        flex-direction: row;
    }
    .pickupCard-wrapper {
        flex: 1;
        margin-bottom: 0;
    }
}
@media (min-width: 768px) {
    .topEvent-container {
        clip-path: polygon(0 80px, 100% 0, 100% calc(100% - 80px), 0 100%);
    }
    .pickup-container {
        max-width: 1100px;
        margin: 0 5.82vw 56px;
    }
    .pickupCard-outer {
        height: 210px;
        transition: all 0.3s ease;
    }
    .pickupCard-outer:hover {
        border: #FFF 4px solid;
    }
    .eventInfo-header {
        min-width: 240px;
        margin: 0;
    }
    .eventInfo-flexBox {
        display: flex;
        gap: 64px;
        margin-left: 5.82vw;
    }
    .swiper-wrapper {
        height: auto;
    }
    .topEvent-container {
        padding-bottom: 120px;
    }
}
@media (min-width: 1200px) {
    .pickup-container {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 1260px) {
    .eventInfo-container {
        max-width: 1260px;
        margin-left: auto;
        margin-right: auto;
    }
    .eventSwiper.fade-edge {
        position: relative;
        overflow: hidden;
        mask-image: linear-gradient(to right, black 80%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black 80%, transparent 100%);
    }
    .swiper-controls {
        margin-right: 30%;
    }
    .eventInfo-flexBox {
        margin-left: 80px;
    }
}


/* top news */
.header-topNews img {
    height: 64px;
    margin: 0 16px 8px;
}
.header-topNews h2 {
    color: #00A7EA;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 24px;
}
.topNews-container {
    padding: 40px 20px 64px;
}
.topNews-outer {
    margin-bottom: 64px;
}
.topNews-outer:last-child {
    margin-bottom: 0;
}
.topNews-outer h3 {
    color: #FFF;
    font-size: 1.25rem;
    font-weight: bold;
    display: block;
    text-align: center;
    background: #00A7EA;
    border-radius: 8px 8px 0 0;
    padding: 16px;
}
.newsCard-container {
    font-size: 0.875rem;
    margin-bottom: 40px;
}
.newsCard-container li{
    padding: 24px 36px 24px 12px;
    border-bottom: 1px solid #DDD;
    position: relative;
}
.newsCard-container a {
    text-decoration: none;
    display: block;
}
.newsCard-container li::after {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 1px;
    border-top: 2px solid #00A7EA;
    border-right: 2px solid #00A7EA;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto 0;
    z-index: 2;
}
.newsCard-slide {
    cursor: pointer;
}
.news-date {
    color: #999;
}
@media (min-width: 768px) {
    .topNews-container {
        margin-left: 5.82vw;
        margin-right: 5.82vw;
    }
    .newsCard-container li{
        padding: 24px 40px 24px 24px;
    }
    .newsCard-container a {
        white-space: nowrap;
    }
    .newsCard-slide {
        display: flex;
        gap: 4px;
        flex-direction: column;
        align-items: flex-start;
    }
    .newsCard-slide:hover .newsCard-slide-text {
        text-decoration: underline;
    }
    .newsCard-slide-text {
        font-size: 1rem;
        flex: 1;
    }
    .Card-caption-reverse {
        margin-bottom: 0;
    }
    .hq-slide {
        gap: 8px;
    }
}
@media (min-width: 1200px) {
    .topNews-container {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* top note */
.topNote-container {
    background: #555;
    padding: 24px 24px 40px;
    margin: 0 8px 80px;
    border-radius: 8px;
}
.topNote-container p, .topNote-container h3, .topNote-container h4 {
    color: #FFF;
}
.topNoteheader-container {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
}
.topNoteheader-container img {
    width: 64px;
    height: 64px;
    background: #FFF;
}
.topNoteheader-container h3 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.3em;
    margin-bottom: 12px;
}
.topNoteheader-container p {
    font-size: 0.75rem;
}
.topNote-container h4 {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1em;
    margin-bottom: 16px;
}
.topNoteCard-outer {
    width: 100%;
    height: 160px;
    background-size: cover;
    background-position: center center;
    position: relative;
    margin-bottom: 24px;
    text-decoration: none;
    display: block;
}
.topNoteCard-outer:last-child {
    margin-bottom: 40px;
}
.topNoteCard-inner {
    width: 100%;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0,
        rgba(0, 0, 0, 0.7) 40%
    );
    padding: 12px 36px 12px 24px;
    position: absolute;
    bottom: 0;
}
.topNoteCard-inner::before {
    content: "";
    width: 32px;
    height: 24px;
    border-radius: 12px 0 0 0;
    background: #FFF;
    position: absolute;
    bottom: 0;
    right: 0;
}
.topNoteCard-inner::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #575757;
    border-right: 2px solid #575757;
    border-radius: 1px;
    transform: rotate(45deg);
    position: absolute;
    bottom: 8px;
    right: 12px;
}
.topNoteCard-inner p {
    color: #FFF;
    line-height: 1.5em;
}
.topNoteCard-inner p:nth-child(1) {
    font-size: 0.75rem;
}
.topNoteCard-inner p:nth-child(2) {
    font-size: 0.875rem;
}
@media (min-width: 500px) {
    .topNoteCard-container {
        display: flex;
        justify-content: space-between;
        gap: 24px;
        margin-bottom: 24px;
    }
    .topNoteCard-wraper {
        flex: 1;
    }
    .topNoteCard-outer:last-child {
        margin-bottom: 0;
    }
    .topNoteCard-inner p:last-child {
        font-size: 0.75rem;
    }
}
@media (min-width: 768px) {
    .topNoteheader-container {
        align-items: center;
    }
    .topNoteheader-container h3 {
        margin-bottom: 2px;
    }
    .topNoteCard-container {
        display: flex;
        gap: 24px;
        margin-bottom: 24px;
    }
    .topNoteCard-outer {
        height: 230px;
        transition: all 0.3s ease;
    }
    .topNoteCard-outer:hover {
        border: 4px solid #FFF;
    }
    .topNoteCard-outer:last-child {
        margin-bottom: 0;
    }
    .topNote-container {
        margin: 0 5.82vw 64px;
    }
    .topNoteCard-inner p:nth-child(2) {
        font-size: 1rem;
    }
}
@media (min-width: 1200px) {
    .topNote-container {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* sub page */

/* sub page global */
.subPage-heading {
    margin: 96px 20px 40px;
}
.subPage-subHeading {
    color: #00A7EA;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5em;
    word-break: keep-all;
    margin: 0 20px 24px;
}
.subPage-heading h1 {
    color: #00A7EA;
    font-size: 1.375rem;
    font-weight: bold;
    border-bottom: #00A7EA 1px solid;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
.subPage-heading p:nth-child(1) {
    color: #00A7EA;
    font-size: 4rem;
    font-weight: bold;
    line-height: 1em;
}
.subPage-lead {
    color: #00A7EA;
}
.defaultLayout-wrapper {
    display: flex;
    flex-direction: column;
    margin-left: 20px;
    margin-right: 20px;
}
.defaultLayout-wrapper p {
    text-align: justify;
}
.defaultLayout-textBox {
    margin-bottom: 40px;
}
.defaultLayout-textBox1st {
    margin-bottom: 1em;
}
.defaultLayout-button {
    margin-top: 40px;
}
.subPage-wrapper {
    padding: 64px 0;
}
.subPage-container-SubColor {
    background: #F7F7F7;
}
.subPage-wrapper {
    padding: 64px 0;
}
.defaultLayout-textBox {
    font-size: 0.875rem;
}
.defaultSubLayout-inner {
    border-top: #DDD 1px solid;
    margin: 0 20px;
    padding: 32px 0;
}
.defaultSubLayout-inner:last-child {
    border-bottom: #DDD 1px solid;
}
.defaultSubLayout-textBox {
    font-size: 0.875rem;
    padding: 0 8px;
}
.defaultSubLayout-textBox h3 {
    color: #00A7EA;
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 16px;
    white-space: nowrap;
}
@media (min-width: 600px) {
    .defaultSubLayout-textBox {
        display: flex;
        align-items: center;
    }
    .defaultSubLayout-textBox h3 {
        width: 200px;
        flex: 0 0 auto;
        margin-bottom: 0;
    }
    .defaultLayout-textBox, .defaultSubLayout-textBox {
        font-size: 1rem;
    }
}
@media (min-width: 768px) {
    .subPage-heading {
        margin-left: 3.64vw;
        margin-right: 3.64vw;
    }
    .subPage-subHeading {
        font-size: 2.25rem;
        margin-bottom: 32px;
        padding-left: 5.82vw;
        padding-right: 5.82vw;
    }
    .subPage-wrapper {
        padding: 80px 0;
    }
    .defaultLayout-wrapper {
        flex-direction: row;
        gap: 40px;
    }
    .defaultLayout-wrapper .img-box {
        width: 308px;
    }
    .defaultLayout-textBox {
        margin-bottom: 0;
        flex: 1;
    }
    .defaultLayout-textBox .center-block {
        margin-left: 0;
    }
    .defaultSubLayout-inner, .defaultLayout-wrapper {
        margin-left: 5.82vw;
        margin-right: 5.82vw;
    }
    .defaultSubLayout-textBox h3 {
        width: 320px;
    }
    .download-wrapper {
        display: block;
    }
    .download-wrapper p {
        text-align: center;
        margin-bottom: 32px;
    }
}
@media (min-width: 1200px) {
    .defaultSubLayout-inner, .defaultLayout-wrapper {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
    .subPage-heading p:nth-child(1)  {
        font-size: 5rem;
    }
    .subPage-heading h1 {
        font-size: 1.5rem;
    }
}

/* about */
.aboutMessage {
    margin-bottom: 64px;
}
.aboutMessage-container {
    text-align: center;
    word-break: keep-all;
    border-radius: 8px;
    background-image: 
        linear-gradient(to right, rgba(0, 167, 234, 0.2), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.2)),
        url(../images/bg_bluesky.webp);
    background-size: cover;
    background-position: center;
    padding: 40px 20px;
    margin: 0 8px;

}
.aboutMessage-container h2, .aboutMessage-container p {
    color: #FFF;
}
.aboutMessage-container h2 {
    font-size: 1.75rem;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 40px;
}
.aboutMessage-container p {
    line-height: 2em;
}
.about-contentsHeader {
    color: #00A7EA;
    font-size: 1.75rem;
    font-weight: bold;
    border-bottom: #00A7EA 1px solid;
    padding-bottom: 8px;
    margin: 0 20px 40px;
}
.aboutPurpose-wrapper {
    text-align: center;
    word-break: keep-all;
    border-radius: 8px;
    background: #F7F7F7;
    position: relative;
    padding: 44px 24px 24px;
    margin: 0 8px 36px;
}
.aboutPurpose-wrapper:last-child {
    margin-bottom: 0;
}
.aboutPurpose-wrapper p:nth-child(1) {
    width: 100%;
    max-width: 300px;
    color: #FFF;
    font-weight: bold;
    line-height: 1em;
    border-radius: calc(1em + 10px);
    background: #00A7EA;
    padding: 10px;
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.aboutPurpose-wrapper p:nth-child(2) {
    font-size: 	1.125rem;
    font-weight: bold;
    line-height: 1.6em;
}
.aboutPurpose-container, .aboutCase-container {
    margin-bottom: 64px;
}
.aboutCase-wrapper {
    background: #F7F7F7;
    border-radius: 8px;
    padding: 32px 24px;
    margin: 0 8px 16px;
}
.aboutCase-wrapper:last-child {
    margin-bottom: 0;
}
.aboutCase-outer p:nth-child(1) {
    color: #005EEB;
    font-size: 0.75rem;
    padding-left: 1em;
    position: relative;
    margin-bottom: 16px;
}
.aboutCase-outer p:nth-child(1)::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #005EEB;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
}
.aboutCase-outer h4 {
    color: #00A7EA;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 24px;
}
.aboutCase-bodyCopy {
    margin-bottom: 24px;
}
.aboutCase-wrapper img {
    width: 100%;
}
.about-support {
    background: #00A7EA;
}
.aboutSupport-wrapper {
    padding: 64px 0 0;
}
.aboutSupport-wrapper h2 {
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 40px;
}
.aboutSupport-list {
    display: flex;
    flex-direction: column;
    margin: 0 20px 48px;
}
.aboutSupport-list li {
    color: #FFF;
    font-weight: bold;
    text-align: center;
    line-height: 1em;
    border-radius: calc(1em + 12px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #005EEB;
    padding: 16px;
    margin-bottom: 8px;
}
.aboutSupport-list li:last-child {
    color: #005EEB;
    background: #FFF;
    margin-bottom: 0;
}
.member-message {
    background: #FFF;
    padding: 40px 12px;
    margin: 0 8px;
}
.member-message h3, .member-message h4 {
    word-break: keep-all;
}
.member-message h3 {
    color: #00A7EA;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4em;
    margin:0 24px 40px;
}
.memberMessage-wrapper {
    border-top: #DDD 1px solid;
    padding: 24px 0;
}
.memberMessage-wrapper:last-child {
    border-bottom: #DDD 1px solid;
}
.memberMessage-inner {
    padding: 0 12px;
}
.memberMessage-inner h4 {
    color: #00A7EA;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 8px;
}
.memberMessage-wrapper .img-box {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    margin: 0 auto 16px;
}
.memberMessage-name {
    font-size: 0.625rem;
    margin-bottom: 24px;
}
.memberMessage-comment {
    font-size: 0.875rem;
    text-align: justify;
}
@media (min-width: 600px) {
    .aboutSupport-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
    }
    .aboutSupport-list li {
        flex: 0 0 calc((100% - 16px * 2) / 2);
        margin: 0;
    }
    .aboutSupport-wrapper h2 {
        font-size: 2rem;
    }
}
@media (min-width: 768px) {
    .aboutMessage-container {
        padding-top: 80px;
        padding-bottom: 80px;
        margin-left: 3.64vw;
        margin-right: 3.64vw;
    }
    .aboutMessage-container h2 {
        font-size: 4rem;
        margin-bottom: 40px;
    }
    .about-contentsHeader {
        font-size: 2.5rem;
        margin-left: 3.64vw;
        margin-right: 3.64vw;
    }
    .aboutPurpose-container, .aboutCase-container {
        margin-bottom: 80px;
    }
    .aboutPurpose-wrapper, .aboutCase-wrapper, .aboutSupport-list, .member-message {
        margin-left: 5.82vw;
        margin-right: 5.82vw;
    }
    .aboutPurpose-wrapper {
        padding: 40px;
    }
    .aboutPurpose-wrapper p:nth-child(1) {
        font-size: 1.5rem;
        top: -20px;
    }
    .aboutPurpose-wrapper p:nth-child(2) {
        font-size: 1.75rem;
    }
    .aboutCase-wrapper {
        display: flex;
        align-items: center;
        gap: 40px;
        padding: 48px 40px;
    }
    .aboutCase-wrapper .img-box {
        width: 300px;
    }
    .aboutCase-outer {
        flex: 1;
    }
    .aboutSupport-list {
        gap: 24px;
    }
    .aboutSupport-list li {
        flex: 0 0 calc((100% - 24px * 2) / 3);
    }
    .aboutSupport-wrapper h2 {
        font-size: 2.5rem;
    }
    .member-message {
        padding: 40px;
    }
    .member-message h3 {
        font-size: 2rem;
    }
    .memberMessage-wrapper {
        display: flex;
        align-items: center;
        gap: 40px;
        padding: 32px 0;
    }
    .memberMessage-wrapper .img-box {
        width: 160px;
        height: 160px;
        flex: 0 0 auto;
        margin-bottom: 0;
    }
    .memberMessage-inner h4,.memberMessage-name {
        text-align: left;
    }
    .memberMessage-inner {
        padding: 0;
    }
}
@media (min-width: 1200px) {
    .aboutSupport-list, .member-message, .about-contentsHeader {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
    .aboutPurpose-wrapper, .aboutCase-wrapper {
        max-width: 1020px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* event list */
.postCardList-wrapper  {
    margin: 0 20px 40px;
}
.postCardList-wrapper .postCard-wrapper {
    border-top: #DDD 1px solid;
    border-radius: 0;
    flex: 0 0 calc((100% - 8px) / 2);
    padding: 32px 12px;
}
.postCardList-wrapper .postCard-wrapper:last-child {
    border-bottom: #DDD 1px solid;
}
.postCard-wrapper {
    position: relative;
}
.postCardList-wrapper .postCard-imgBox {
    border-radius: 0;
}
.postCardList-wrapper .postCard-inner {
    padding: 20px 0 0;
}
.postCard-mainCopy {
    line-height: 1.6em;
}
@media (min-width: 550px) {
    .postCardList-wrapper {
        margin: 0 20px 40px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0 8px;
    }
    .postCardList-wrapper .postCard-wrapper:nth-last-child(-n+2) {
        border-bottom: #DDD 1px solid;
    }
}
@media (min-width: 768px) {
    .postCard-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
    }
    .postCardList-wrapper .postCard-wrapper {
        flex: auto;
        padding-right: 32px;
    }
    .postCardList-wrapper .postCard-wrapper:nth-last-child(-n+2) {
        border-bottom: none;
    }
    .postCardList-wrapper .postCard-wrapper:last-child {
        border-bottom: #DDD 1px solid;
    }
    .postCardList-wrapper .postCard-wrapper:hover .postCard-mainCopy {
        text-decoration: underline;
    }
    .postCard-textBox {
        flex: 1;
    }
    .postCard-wrapper .img-box {
        width: 200px;
        height: auto;
    }
    .postCard-mainCopy {
        font-size: 1rem;
    }
    .postCardList-wrapper .postCard-inner {
        padding: 0;
    }
    .postCardList-wrapper {
        margin: 0 5.82vw 40px;
        flex-direction: column;
    }
    .postCard-arrow::before {
        content: "";
        width: 16px;
        height: 16px;
        border-top: 2px solid #00A7EA;
        border-right: 2px solid #00A7EA;
        border-radius: 1px;
        transform: rotate(45deg);
        position: absolute;
        top: 0;
        right: 12px;
        bottom: 0;
        margin: auto 0;
    }
}
@media (min-width: 1200px) {
    .postCardList-wrapper {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
    .postCardList-wrapper .postCard-wrapper {
        padding: 32px 24px;
    }
}

/* pagination */
.pagination-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
} 
.pagination-list a, .pagination-list span {
    width: 48px;
    height: 48px;
    font-size: 0.875rem;
    border-radius: 24px;
    font-weight: bold;
    line-height: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
} 
.pagination-list span {
    color: #FFF;
    background: #00A7EA;
}.pagination-list span.dots {
    color: #575757;
    background: none;
}
.pagination-list a {
    color: #575757;
    background: #F7F7F7;
} 
.pagination-list a.next, .pagination-list a.prev {
    width: auto;
    height: auto;
    font-size: 0.75rem;
    background: none;
}
.pagination-list a.prev::before, .pagination-list a.next::after {
    content: "";
    width: 8px;
    height: 8px;
    background: #00A7EA;
}
.pagination-list a.prev::before {
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    margin-right: 6px;
}
.pagination-list a.next::after {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    margin-left: 6px;
}
@media (min-width: 768px) {
    .pagination-list {
        margin-bottom: 80px;
    }
    .pagination-list a:hover {
        color: #FFF;
        background: #00A7EA;
        transition: all 0.3s ease;
    }
    .pagination-list a.next:hover, .pagination-list a.prev:hover {
        color: #00A7EA;
        background: none;
    }
}


/* outline */
.outline-list li {
    margin-bottom: 8px;
}
.outline-list li:last-child {
    margin-bottom: 0;
}
@media (min-width: 600px) {
    .outline-list {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }
    .outline-list li {
        flex: 0 0 calc((100% - 16px * 2) / 2);
    }
}
@media (min-width: 768px) {
    .img-boxOrigin {
        width: 280px;
        height: 350px;
        flex: 0 0 auto;
    }
    .outline-list li {
        flex: 0 0 calc((100% - 24px * 2) / 3);
    }
}


/* branch */
.branch-list {
    margin: 96px 20px 40px;
    display: flex;
    gap: 0.6em;
    align-items: center;
    justify-content: center;
    background: #F7F7F7;
    padding: 10px;
    border-radius: calc(1em + 4px + 10px);
}
.branch-list li {
    line-height: 1em;
}
.branch-list a {
    color: #575757;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1em;
    text-decoration: none;
}
.branch-list-active {
    background: #00A7EA;
    border-radius: 8px;
}
.branch-list-active a {
    color: #FFF;
    display: block;
    padding: 4px;
}
.branch-heading {
    color: #00A7EA;
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 40px;
}
.areaSearch-list {
    display: flex;
    flex-direction: column;
}
.areaSearch-list-wrapper {
    background: #00A7EA;
    border-radius: 8px;
    padding: 32px 24px;
    align-items: center;
    margin: 0 8px 48px;
}
.areaSearch-list-wrapper h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 32px;
}
.areaSearch-list-wrapper h2::before {
    content: "";
    display: inline-block;
    align-items: center;
    width: 1.5em;
    height: 1.5em;
    border: none;
    background: url('../images/icon_glass.svg') no-repeat center;
    background-size: contain;
    transform: none;
}
.areaSearch-list-wrapper li {
    margin-bottom: 8px;
}
.areaSearch-button {
    max-width: 400px;
    color: #00A7EA;
    background: #FFF;
    margin: 0 auto;
}
.areaSearch-button::before {
    display: none;
}
.areaSearch-button::after {
    border-color: #00A7EA;
    transform: rotate(135deg);
}
.branch-wrapper {
    margin: 0 20px 64px;
}
.branch-wrapper h2{
    color: #FFF;
    font-size: 1.25rem;
    font-weight: bold;
    text-align: center;
    /* border-radius: 8px 8px 0 0 ; */
    background: #005EEB;
    padding: 12px;
    margin-bottom: 24px;
}
.branch-wrapper a {
    max-width: 400px;
}
.branch-wrapper li{
    margin-bottom: 16px;
}
.branch-wrapper li:last-child{
    margin-bottom: 0;
}
.branch-wrapper ul {
    display: flex;
    flex-direction: column;
    margin-bottom: 48px;
}
.branchTop-heading {
    text-align: center;
    border-radius: 8px;
    background-image:
        linear-gradient(to right, rgba(0, 167, 234, 0.2), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.2)),
        url(../images/bg_bluesky.webp);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 64px 24px;
    margin: 96px 8px 40px;
}
.branchTop-heading h1 {
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
}
.branchTop-heading h1 a {
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    text-decoration: none;
}
.branchTop-subHeading {
    color: #00A7EA;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 24px;
}
.branchTopEvent-wrapper .branchTop-subHeading {
    word-break: keep-all;
}
.branchTop-wrapper {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-direction: column;
    margin: 0 20px 64px;
}
.branchTop-wrapper .img-box {
    max-width: 400px;
    max-height: 400px;
}
.branchTop-textBox p {
    font-size: 0.875rem;
}
.branchTopEvent-wrapper {
    background: #00A7EA;
    padding: 64px 8px;
}
.branchTopEvent-wrapper .postCard-wrapper {
    padding-bottom: 24px;
    margin-bottom: 40px;
}
.branchTopNews-wrapper {
    padding: 64px 20px;
}
.branchTopNews-wrapper .newsCard-container li:nth-child(1) {
    border-top: 1px solid #DDD;
    padding-top: 24px;
}
.bylaws-wrapper {
    background: #005EEB;
    padding: 32px 20px;
    margin-bottom: 64px;
}
.bylaws-wrapper h3 {
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5em;
    word-break: keep-all;
    margin-right: 24px;
    margin-bottom: 24px;
}
.alumni-hq-button-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.regionMap-banner {
    width: fit-content;
    display: block;
    position: fixed;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: opacity 0.3s ease;
}
.regionMap-banner.hide {
    opacity: 0;
    pointer-events: none;
}
.regionMap-banner img {
    width: calc(100vw - 24px);
    max-width: 468px;
}
@media (min-width: 600px) {
    .areaSearch-list, .branch-wrapper ul {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
    .areaSearch-list li, .branch-wrapper li {
        flex: 0 0 calc((100% - 16px * 2) / 2);
        margin-bottom: 0;
    }
    .branchTop-wrapper {
        flex-direction: row;
        margin-right: 5.35vw;
        margin-left: 5.35vw;
    }
    .branchTop-wrapper .img-box {
        width: 200px;
        height: 200px;
        flex: 0 0 auto;
    }
    .branchTopEvent-wrapper {
        padding-right: 5.35vw;
        padding-left: 5.35vw;
    }
    .branchTopEvent-wrapper .branchTop-subHeading, .branchTopNews-wrapper .branchTop-subHeading {
        font-size: 1.75rem;
    }
}
@media (min-width: 768px) {
    .branch-list {
        margin-left: 3.64vw;
        margin-right: 3.64vw;
        margin-bottom: 80px;
        gap: 1.75em;
    }
    .branch-list, .areaSearch-list-wrapper, .branchTop-heading {
        margin-left: 3.64vw;
        margin-right: 3.64vw;
    }
    .branch-list a {
        font-size: 1.25rem;
    }
    .branch-list-active {
        padding: 4px;
    }
    .branch-heading {
        font-size: 2.25rem;
    }
    .areaSearch-list-wrapper h2 {
        font-size: 1.75rem;
    }
    .areaSearch-list li, .branch-wrapper li {
        flex: 0 0 calc((100% - 24px * 2) / 3);
    }
    .branch-wrapper, .branchTop-wrapper, .c-note-wrapper {
        margin-left: 5.82vw;
        margin-right: 5.82vw;
    }
    .branch-wrapper ul {
        display: flex;
        margin-bottom: 80px;
    }
    .branchTop-wrapper .img-box {
        width: 300px;
        max-height: none;
        height: auto;
        flex: 0 0 auto;
    }
    .branchTop-heading {
        padding-top: 80px;
        padding-bottom: 80px;
        margin-bottom: 40px;
    }
    .branchTop-heading h1 {
        font-size: 	2.5rem;
    }
    .branchTop-heading h1 a {
        font-size: 	2.5rem;
    }
    .branchTop-subHeading {
        font-size: 2.25rem;
        margin-bottom: 40px;
    }
    .branchTop-textBox .branchTop-subHeading {
        font-size: 	1.5rem;
        margin-bottom: 24px;
    }
    .branchTop-textBox p {
        font-size: 1rem;
    }
    .branchTop-wrapper {
        gap: 24px;
        margin-bottom: 80px;
    }
    .branchTopEvent-wrapper {
        padding: 80px 5.82vw;
    }
    .branchTopEvent-wrapper .postCard-wrapper {
        max-width: 1100px;
        padding: 32px;
    }
    .branchTopEvent-wrapper .postCard-inner {
        padding: 0;
        margin-bottom: 20px;
    }
    .branchTopEvent-wrapper ul.postCard-tags {
        margin: 0;
    }
    .branchTopEvent-wrapper .postCard-imgBox {
        border-radius: 0;
    }
    .c-note-wrapper {
        padding: 32px 40px;
    }
    .bylaws-wrapper {
        display: flex;
        align-items: center;
        padding: 24px 5.82vw;
    }
    .bylaws-wrapper h3 {
        text-align: left;
        margin-bottom: 0;
        flex: 1;
    }
    .alumni-hq-button-box {
        flex-direction: row;
        justify-content: center;
        gap: 16px;
    }
    .alumni-hq-button-box .center-block {
        margin: 0;
    }
}
@media (min-width: 1200px) {
    .branch-list, .areaSearch-list-wrapper, .branchTop-wrapper, .c-note-wrapper, .branchTopEvent-wrapper .postCard-wrapper, .newsCard-container {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
    .branch-wrapper {
        max-width: 1020px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* message */
.message-subHeading {
    font-size: 1.75rem;
    line-height: 1.4em;
    word-break: keep-all;
    margin-left: 0;
}
.message-wrapper {
    display: flex;
    flex-direction: column;
}
.message-outer {
    margin: 0 5.35vw;
}
.message-textBox {
    margin: 0 0 64px;
}
.message-textBox p{
    font-size: 0.875rem;
    line-height: 2em;
    margin-bottom: 2em;
}
.message-textBox p:last-child {
    margin-bottom: 0;
}
.profile-wrapper {
    border-radius: 8px;
    background: #F7F7F7;
    padding: 32px 24px 24px;
    margin: 0 0 40px;
}
.profile-wrapper .img-box {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    margin: 0 auto 16px;
}
.profile-no-career .profile-name-box {
    margin: 0;
}
.profile-name-box {
    text-align: center;
    font-weight: bold;
    margin-bottom: 24px;
}
.profile-name-box p {
    display: inline;
    line-height: 1.2em;
}
.profile-name-box h3 {
    font-size: 1.5rem;
    line-height: 1.2em;
}
.profile-name-box h3 span {
    font-size: 0.75rem;
}
.career-wrapper {
    text-align: center;
}
.career-wrapper h4 {
    color: #FFF;
    font-size: 0.875rem;
    line-height: 1em;
    background: #00A7EA;
    display: inline-block;
    padding: 4px;
    margin-bottom: 8px;
}
.career-wrapper p {
    font-size: 0.75rem;
    text-align: justify;
    margin-bottom: 4px;
}
.career-wrapper p:last-child {
    margin-bottom: 0;
}
.generation-wrapper {
    margin-bottom: 64px;
}
.generation-wrapper a {
    margin-bottom: 16px;
}
.generation-wrapper a:last-child {
    margin-bottom: 0;
}
.generation-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    margin-left: 20px;
    margin-right: 20px;
}
.generation-list li {
    display: flex;
    justify-content: center;
}
.generation-list a {
    max-width: 400px;
    line-height: 1.4em;
    margin: 0;
}
@media (min-width: 600px) {
    .message-subHeading {
        font-size: 2.125rem;
    }
    .message-textBox p {
        font-size: 1rem;
    }
    .profile-wrapper {
        display: flex;
        gap: 24px;
    }
    .profile-wrapper .img-box {
        width: 100px;
        height: 100px;
        border-radius: 0;
        flex: 0 0 auto;
        margin: 0;
    }
    .profile-no-career {
        align-items: center;
    }
    .profile-name-box {
        text-align: left;
    }
    .profile-name-box p {
        display: inline-block;
        margin-bottom: 8px;
    }
    .profile-name-box p {
        display: inline-block;
        margin-bottom: 8px;
    }
    .career-wrapper {
        text-align: left;
    }

    .generation-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
    }
    .generation-list li {
        flex: 0 0 calc((100% - 16px * 2) / 2);
        margin: 0;
    }
}
@media (min-width: 768px) {
    .message-subHeading {
        font-size: 2.5rem;
        padding: 0;
    }
    .message-wrapper {
        display: flex;
        gap: 24px;
    }
    .profile-wrapper .img-box {
        width: 120px;
        height: 120px;
    }
    .generation-wrapper {
        white-space: nowrap;
        min-width: 280px;
        margin-right: 5.82vw;
    }
    .generation-wrapper h2 {
        text-align: left;
        font-size: 1.5rem;
        padding: 0;
        margin-bottom: 24px;
    }
}
@media (min-width: 1000px) {
    .message-outer {
        padding: 0;
        margin-left: 5.82vw;
        margin-right: 0;
        flex: 1;
    }
    .message-wrapper {
        flex-direction: row;
    }
    .generation-list {
        flex-direction: column;
        margin: 0;
    }
}


/* sitemap */
.sitemap-container {
    margin: 0 20px 64px;
}
.sitemap-wrapper {
    border-top: 1px solid #DDD;
    padding: 24px 12px;
}
.sitemap-wrapper:last-child {
    border-bottom: 1px solid #DDD;
}
.sitemap-header {
    color: #00A7EA ;
    font-size: 1.25rem;
    font-weight: bold;
}
.sitemap-list {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;

}
.sitemap-list li {
    margin-right: 24px;
}
.sitemap-list li:last-child {
    margin-right: 0;
}
 .sitemap-list a {
    color: #575757;
    font-size: 0.875rem;
    font-weight: 400; 
    word-break: keep-all;
}
@media (min-width: 768px) {
    .sitemap-container {
        margin: 0 5.82vw 80px;
    }
}
@media (min-width: 1200px) {
    .sitemap-container {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* privacy */
.privacy-title p:nth-child(1) {
    font-size: 3rem;
    margin-bottom: 4px;
}
.privacy-container {
    margin: 0 20px 64px;
}
.privacy-wrapper {
    padding: 24px 12px;
    border-bottom: 1px solid #DDD;
}
.privacy-wrapper:nth-child(1){
    padding-top: 0;
}
.privacy-date {
    font-size: 0.75rem;
    margin-bottom: 16px;
}
.privacy-wrapper h2 {
    color: #00A7EA;
    font-size: 1.625rem;
    font-weight: bold;
    line-height: 1.4em;
}
.privacy-wrapper h3 {
    color: #00A7EA;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 16px;
}
.privacy-wrapper p {
    font-size: 0.875rem;
}
.privacy-order-list {
    counter-reset: item;
}
.privacy-order-list h4 {
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 4px;
}
.privacy-order-list li {
    margin-top: 24px;
    margin-left: 1rem;
    counter-increment: item;
    padding-left: 2em;
    position: relative;
}
.privacy-order-list li::before {
    content: "（"counter(item)"）";
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1.4em;
    position: absolute;
    left: 0;
}
.privacy-list {
    margin-top: 16px;
    margin-left: 1rem;
}
.privacy-list li {
    font-size: 0.875rem;
    line-height: 1.4em;
    position: relative;
    padding-left: 1em;
    margin-bottom: 14px;
}
.privacy-list li::before {
    content: "・";
    position: absolute;
    left: 0;
}
.privacy-address {
    margin-top: 16px;
    margin-left: 1rem;
}
.privacy-address h4{
    font-weight: bold;
}
.privacy-annotation {
    font-size: 0.75rem;
    display: block;
}
.separateNote-list {
    margin-top: 8px;
}
.separateNote-list h5 {
    font-weight: bold;
}
.separateNote-list li {
    counter-increment: none;
}
.separateNote-list li, .separateNote-list p {
    font-size: 0.625rem;
    padding: 0;
    margin: 0;
}
.separateNote-list li::before {
    content: none;
}
.separateNote-list li:nth-child(1) {
    margin-bottom: 8px;
}
@media (min-width: 768px) {
    .privacy-container {
        margin: 0 5.82vw 80px;
    }
    .privacy-title p:nth-child(1) {
        font-size: 4rem;
    }
}
@media (min-width: 1200px) {
    .privacy-container {
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
    .privacy-title p:nth-child(1) {
        font-size: 5rem;
    }
}


/* toshi */
.toshi-c-note-wrapper {
    margin-top: 0;
}
.toshi-container {
    margin: 0 20px;
}
.toshi-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid #DDD;
    padding-bottom: 32px;
    margin-bottom: 32px;
}
.toshi-textBox {
    text-align: center;
    flex: 1;
}
.toshi-textBox h3 {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 16px;
}
.toshi-buttonBox {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.toshi-imgBox {
    max-width: 400px;
}
@media (min-width: 600px) {
    .toshi-wrapper {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 24px;
    }
    .toshi-imgBox {
        max-width: 240px;
    }
    .toshi-textBox {
        text-align: left;
    }
}
@media (min-width: 768px) {
    .toshi-buttonBox {
        flex-direction: row;
        gap: 16px;
    }
    .toshi-container {
        margin: 0 5.82vw;
    }
    .toshi-textBox h3 {
        font-size: 1.5rem;
    }
}
@media (min-width: 1200px) {
    .toshi-container {
        max-width: 1100px;
        margin: 0 auto;
    }
    .toshi-wrapper {
        padding-left: 40px;
        padding-right: 40px;
    }
}


/* contact */
.contact-subHeading .subPage-subHeading {
    margin-bottom: 8px;
}
.contact-subHeading p {
    font-size: 0.875rem;
    text-align: center;
    padding: 0 20px;
}
.form-header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 24px;
}
.form-header p {
    color: #FFF;
    line-height: 1em;
    background: #00A7EA;
    border-radius: calc(1em + 4px);
    display: inline-block;
    padding: 4px 8px;
    flex: 0 0 auto;
}
.form-header h3 {
    color: #00A7EA;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4em;
}
.form-typeSelecter {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}
.form-typeSelecter button {
    width: 100%;
    max-width: 310px;
    color: #00A7EA;
    font-size: 0.875rem;
    font-weight: bold;
    text-align: left;
    text-decoration: none;
    display: block;
    background-color: transparent;
    border: #00A7EA 1px solid;
    border-radius: 8px;
    padding: 10px 20px;
    position: relative;
}
.form-typeSelecter button::after {
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #00A7EA;
    border-right: 1px solid #00A7EA;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    transform: rotate(135deg);
    margin: auto 0;
}
.form-typeSelecter button.active {
    color: #FFF;
    background: #00A7EA;
}
.form-typeSelecter button.active::after {
    border-color: #FFF;
}
.form-wrapper, .contact-wrapper {
    margin-left: 20px;
    margin-right: 20px;
}
.form-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 24px;
}
.form-group label, .form-group option, .form-group select, .form-group input, .form-group textarea, .form-group dt, .form-group dd {
    color: #575757;
    font-size: 0.875rem;
}
.form-group option, .form-group select, .form-group input, .form-group textarea, .form-group dd {
    background: #FFF;
    border: none;
    border-radius: 4px;
    padding: 8px;
    word-break: break-all;

}
.form-group label, .form-group dt {
    font-weight: bold;
    margin-bottom: 8px;
}
.form-group dd {
    line-height: 1.4em;
    margin-bottom: 24px;
}
.form-group dd:last-child {
    min-height: 8em;
}
.form-required, .form-ex {
    font-size: 0.625rem;
    font-weight: 400;
}
.form-required {
    color: #FFF;
    line-height: 1em;
    background: #005EEB;
    border-radius: 4px;
    padding: 2px 4px;
    margin-left: 8px;
}
.form-confirm-group {
    margin-bottom: 16px;
}
.form-confirm-group dd:last-child {
    margin-bottom: 64px;
}
.form-ex {
    display: block;
    margin-top: 8px;
    margin-left: 0;
}
.form-c-note {
    text-align: justify;
    background: #FFF;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 16px;
    margin-bottom: 64px;
}
#alumni.active {
    margin-top: 64px;
}
#online.active {
    margin-top: 40px;
}
.form-c-note img {
    width: 64px;
}
.form-c-note p {
    font-size: 0.625rem;
}
.form-c-note b {
    color: #00A7EA;
    font-weight: bold;
}
.form-section {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.4s ease;
    visibility: hidden;
}
.form-section.active {
    max-height: 1800px;
    opacity: 1;
    visibility: visible;
}
.form-error {
    display: block;
    color: #FFF;
    background-color: #CC0000;
    padding: 4px 8px;
    margin-bottom: 24px;
}
.thanks-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.thanks-message p {
    font-size: 0.875rem;
    text-align: center;
}
.thanks-message h3 {
    color: #00A7EA;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.4em;
    font-weight: bold;
    word-break: keep-all;
}
.thanks-message img {
    width: 72px;
}

.thanks-message a {
    font-size: 0.875rem;
}
.privacy-check {
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}
.privacy-check a {
    font-weight: bold;
}
.g-recaptcha {
    margin-bottom: 24px;
}
@media (min-width: 600px) {
    .form-header {
        align-items: center;
    }
    .form-typeSelecter {
        flex-direction: row;
        justify-content: center;
    }
    .contact-wrapper, .form-wrapper {
        max-width: 892px;
        margin-right: 40px;
        margin-left: 40px;
    }
    .form-typeSelecter {
        gap: 0;
    }
    .form-typeSelecter button {
        text-align: center;
        max-width: none;
        border-radius: calc(1em + 16px) 0 0 calc(1em + 16px);
    }
    .form-typeSelecter button:last-child {
        border-left: none;
        border-radius: 0 calc(1em + 16px)  calc(1em + 16px) 0;
    }
    .form-c-note {
        flex-direction: row;
    }
    .form-ex {
        display: inline;
        margin-left: 8px;
    }
}
@media (min-width: 768px) {
    .form-header h3 {
        font-size: 1.5rem;
    }
    .contact-wrapper, .form-wrapper {
        margin-right: 9.45vw;
        margin-left: 9.45vw;
    }
    .form-header, .form-group {
        margin-bottom: 16px;
    }
    .form-group label, .form-group option, .form-group select, .form-group input, .form-group textarea, .form-group dt, .form-group dd {
        font-size: 1rem;
    }
    .form-ex, .form-c-note p {
        font-size: 0.75rem;
    }
    .form-c-note {
        padding-right: 24px;
        padding-left: 24px;
    }
    .thanks-message h3 {
        font-size: 1.75rem;
    }
    .thanks-message p {
        font-size: 1rem;
    }
}
@media (min-width: 1200px) {
    .contact-wrapper, .form-wrapper {
        margin-right: auto;
        margin-left: auto;
    }
}


/* single page */
.single-heading {
    text-align: center;
    background-image:
        linear-gradient(to right, rgba(0, 167, 234, 0.2), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.7), rgba(0, 167, 234, 0.2)),
        url(../images/bg_bluesky.webp);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 32px 24px;
    margin: 64px 0 3rem;
}
.single-affiliation {
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
}
.single-affiliation a {
    color: #FFF;
    font-weight: bold;
    text-decoration: none;
}
.single-category-name {
    color: #FFF;
    position: relative;
    padding-top: 8px;
    margin-top: 6px;
}
.single-category-name::before {
    content: "";
    width: 2.4em;
    height: 1px;
    background: #FFF;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.single-wrapper {
    margin: 0 20px 64px;
}
.single-title {
    margin-bottom: 1.8rem;
}
.single-title h1 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4em;
    margin-bottom: 8px;
}
.single-title p {
    font-size: 0.75rem;
    margin-bottom: 0.5em;
    display: flex;
    align-items: center;
    gap: 8px;
}
.single-title img {
    width: 1.25em;
    display: inline;
}
.post-tags {
    display: flex;
    gap: 8px;
}
.post-tags a{
    color: #005EEB;
    font-size: 0.625rem;
    text-decoration: none;
    line-height: 1em;
    border: #005EEB 1px solid;
    border-radius: calc(1em + 4px);
    display: inline-block;
    padding: 4px 8px;
}
.post-thumbnail {
    margin-bottom: 1.8rem;
}
.post-content p {
    font-size: 0.875rem;
    text-align: justify;
    margin-top: 1rem;
    margin-bottom: 1.8rem;
}
.post-content h2, .post-content h3, .post-content h4 {
    color: #00A7EA;
    font-weight: bold;
    line-height: 1.4em;
    margin-top: 3rem;
}
.post-content h2 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}
.post-content h3 {
    font-size: 1rem;
    border-left: 4px solid #00A7EA;
    padding: 0.2em 0 0.2em  0.6em;
    margin-bottom: 1rem;
}
.post-content h4 {
    margin-bottom: 1rem;
}
.post-content strong {
    color: #333;
    font-weight: bold;
}
.post-content em {
    background: linear-gradient(transparent 60%, #ffeb3b 60%);
}
.wp-element-caption {
    color: #575757;
    font-size: 0.625rem;
    background: none;
    margin-top: 0.6em;
}
.is-layout-flex {
    gap: 16px;
}
.affiliation-button .normalButton {
    margin-top: 3rem;
}
/* list custom */
.post-content ul, .post-content ol {
    font-size: 0.875rem;
    width: fit-content;
}
/* .post-content ul:not(ul ul) {
    border: #555 1px dotted;
    padding: 24px;
} */
.post-content ul li, .post-content ol li {
    font-weight: bold;
    color: #333;
    line-height: 1.4em;
    padding-left: 1.25em;
    position: relative;
    margin: 0.5em 0;
}
.post-content ul li:not(ul ul li, ul ol li, ol ul li, ol ol li),  .post-content ol li:not(ul ul li, ul ol li, ol ul li, ol ol li) {
    margin: 0.4em 0;
}
.post-content ul li::before, .post-content ol li::before {
    content: "";
    position: absolute;
    left: 0;
}
.post-content ul ul li,
.post-content ul ol li,
.post-content ol ul li,
.post-content ol ol li {
    color: #575757;
    font-weight: normal;
    font-size: 0.75rem;
}
.post-content ol {
    counter-reset: list1;
}
.post-content ol ol, .post-content ul ol {
    counter-reset: list2;
}
.post-content ol ol ol,
.post-content ul ol ol,
.post-content ul ul ol,
.post-content ol ul ol {
    counter-reset: list3;
}
.post-content ul ul ul ol,
.post-content ul ul ol ol,
.post-content ul ol ul ol,
.post-content ul ol ol ol,
.post-content ol ul ul ol,
.post-content ol ul ol ol,
.post-content ol ol ul ol,
.post-content ol ol ol ol {
    counter-reset: list4;
}

/* list 1st layer */
.post-content > ul > li::before {
    width: 0.4em;
    height: 0.4em;
    border-radius: 50%;
    background-color: #005EEB;
    margin-top: 0.5em;
}
.post-content ol > li::before {
    counter-increment: list1;
    content: counter(list1) ".";
    font-weight: bold;
    color: #005EEB;
}

/* list 2nd layer */
/* ul */
.post-content > ul > li > ul > li::before,
.post-content > ol > li > ul > li::before {
    width: 0.7em;
    height: 2px;
    margin-top: 0.6em;
    border-radius: 1px;
    background-color: #00A7EA;
}
/* ol */
.post-content ul > li > ol > li::before,
.post-content ol > li > ol > li::before {
    counter-increment: list2;
    content: counter(list2, decimal);
    font-size: 0.625rem;
    font-weight: normal;
    color: #00A7EA;
    width: 1.2em;
    height: 1.2em;
    border: 1px solid #00A7EA;
    border-radius: 50%;
    text-align: center;
    line-height: 1.2em;
    margin-top: 0.2em;
}
.post-content ul > li > ol > li,
.post-content ol > li > ol > li {
    padding-left: 1.5em;
}

/* list 3rd layer */
/* ul */
.post-content > ul > li > ul > li > ul > li::before,
.post-content > ul > li > ol > li > ul > li::before,
.post-content > ol > li > ul > li > ul > li::before,
.post-content > ol > li > ol > li > ul > li::before {
    width: 0.4em;
    height: 0.4em;
    border: none;
    border-radius: 0;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background-color: #00A7EA;
    margin-top: 0.5em;
}
/* ol */
.post-content > ul > li > ul > li > ol > li::before,
.post-content > ul > li > ol > li > ol > li::before,
.post-content > ol > li > ul > li > ol > li::before,
.post-content > ol > li > ol > li > ol > li::before {
    counter-increment: list3;
    content:  "("counter(list3) ")";
    border: none;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4em;
    color: #333;
    margin: 0;
}

/* list 4th layer */
/* ul */
.post-content > ul > li > ul > li > ul > li > ul li::before,
.post-content > ul > li > ul > li > ol > li > ul li::before,
.post-content > ul > li > ol > li > ul > li > ul li::before,
.post-content > ul > li > ol > li > ol > li > ul li::before,
.post-content > ol > li > ul > li > ul > li > ul li::before,
.post-content > ol > li > ul > li > ol > li > ul li::before,
.post-content > ol > li > ol > li > ul > li > ul li::before,
.post-content > ol > li > ol > li > ol > li > ul li::before {
    width: 0.4em;
    height: 0.4em;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background-color: #999;
    margin-top: 0.5em;
}
/* ol */
.post-content > ul > li > ul > li > ul > li > ol li::before,
.post-content > ul > li > ul > li > ol > li > ol li::before,
.post-content > ul > li > ol > li > ul > li > ol li::before,
.post-content > ul > li > ol > li > ol > li > ol li::before,
.post-content > ol > li > ul > li > ul > li > ol li::before,
.post-content > ol > li > ul > li > ol > li > ol li::before,
.post-content > ol > li > ol > li > ul > li > ol li::before,
.post-content > ol > li > ol > li > ol > li > ol li::before {
    counter-increment: list4;
    content:  counter(list4) "｜";
    width: auto;
    text-align: left;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4em;
    border: none;
    color: #575757;
    margin: 0;
}

/* list end */

.post-content hr {
    border-top: 1px solid #DDD;
    margin: 3rem 0;
}

/* table custom */
.post-content table {
    font-size: 0.625rem;
}
.wp-block-table {
    margin-top: 1.8rem;
    margin-bottom: 3.6rem;
}
.wp-block-table td, .wp-block-table th {
    border: 1px dotted #005EEB;
    padding: 0.75em;
}
.wp-block-table td {
    color: #575757;
}
.wp-block-table th {
    color: #FFF;
}
.wp-block-table thead, .wp-block-table tfoot, .wp-block-table tbody {
    border: 1px solid #005EEB;
}
.wp-block-table thead {
    color: #FFF;
    font-weight: bold;
    background: #005EEB;
}
.wp-block-table thead th, .wp-block-table tfoot td {
    border-right: 1px dotted #FFF;
}
.wp-block-table thead th:last-child, .wp-block-table tfoot td:last-child {
    border-right: 1px solid #005EEB;
}
.wp-block-table tfoot {
    color: #FFF;
    background: #00A7EA;
    font-size: 0.625rem;
    padding: 0.25em;
}
/* stripe mode */
.wp-block-table.is-style-stripes {
    border-bottom: none;
}
.wp-block-table.is-style-stripes th {
    border-right: 1px dotted #FFF;
}
.wp-block-table.is-style-stripes td {
    border: 1px dotted #005EEB;
}

/* add class "scroll-table" */
.wp-block-table.scroll-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
}
.wp-block-table.scroll-table table {
    font-size: 0.75rem;
    min-width: 600px;
    width: max-content;
}

@media (min-width: 600px) {
    .single-title h1 {
        font-size: 1.75rem;
    }
    .single-wrapper {
        margin: 0 5.35vw 64px;
    }
    .post-thumbnail img, .post-content img {
        max-width: 600px;
        display: block;
        margin: 0 auto;
    }
    .wp-block-columns-is-layout-flex img {
        max-width: 100%;
    }
    .wp-element-caption {
        text-align: center;
    }
}
@media (min-width: 768px) {
    .single-wrapper {
        max-width: 720px;
        margin: 0 40px 80px;
    }
    .single-affiliation {
        font-size: 2rem;
    }
    .single-category-name {
        font-size: 1.25rem;
    }
    .single-title h1 {
        font-size: 2.25rem;
        margin-bottom: 16px;
    }
    .single-title p {
        font-size: 0.875rem;
    }
    .post-tags a {
        font-size: 0.75rem;
        border-radius: calc(1em + 4px);
        padding: 4px 10px;
    }
    .post-content p {
        font-size: 1rem;
    }
    .post-content h2 {
        font-size: 1.75rem;
    }
    .post-content h3 {
        font-size: 1.25rem;
    }
    .post-content ul, .post-content ol {
        font-size: 1rem;
    }
    .post-content table {
        font-size: 1rem;
    }
    .post-content ul ul li,
    .post-content ul ol li,
    .post-content ol ul li,
    .post-content ol ol li {
        font-size: 0.875rem;
    }
    .wp-block-table.scroll-table table {
        font-size: 0.875rem;
    }
    .post-content ul > li > ol > li::before,
    .post-content ol > li > ol > li::before {
        margin-top: 0.3em;
    }
    .post-content > ul > li > ul > li > ol > li::before,
    .post-content > ul > li > ol > li > ol > li::before,
    .post-content > ol > li > ul > li > ol > li::before,
    .post-content > ol > li > ol > li > ol > li::before {
        font-size: 0.875rem;
    }
    .post-content > ul > li > ul > li > ul > li > ol li::before,
    .post-content > ul > li > ul > li > ol > li > ol li::before,
    .post-content > ul > li > ol > li > ul > li > ol li::before,
    .post-content > ul > li > ol > li > ol > li > ol li::before,
    .post-content > ol > li > ul > li > ul > li > ol li::before,
    .post-content > ol > li > ul > li > ol > li > ol li::before,
    .post-content > ol > li > ol > li > ul > li > ol li::before,
    .post-content > ol > li > ol > li > ol > li > ol li::before {
        font-size: 0.875rem;
    }
}
@media (min-width: 820px) {
    .single-wrapper {
        margin: 0 auto 80px;
    }
    .wp-element-caption {
        font-size: 0.75rem;
    }
}


/* branch-map */
@media (min-width: 768px) {
    .branchMap-container {
        flex-direction: column;
    }
}


/* global */
.whiteText {
    color: #FFF;
}
.subPage-defaultMargin {
    margin-bottom: 64px;
}
.card {
    cursor: pointer;
}


/* 404 page */
.notFound-wrapper h1 {
    color: #00A7EA;
    font-size: 3rem;
    font-weight: bold;
    margin-top: 40px;
}
.notFound-wrapper h1 span {
    font-size: 2rem;
}
.notFound-wrapper p {
    margin-bottom: 2rem;
}