html {
line-height: 1.15;
-webkit-text-size-adjust: 100%;
}
*,
*::before,
*::after {
box-sizing: border-box !important;
}  body {
margin: 0;
} main {
display: block;
} h1 {
font-size: 2em;
margin: 0.67em 0;
}  hr {
box-sizing: content-box;
height: 0;
overflow: visible;
} pre {
font-family: monospace, monospace;
font-size: 1em;
}  a {
background-color: transparent;
} abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
} b,
strong {
font-weight: bolder;
} code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em;
} small {
font-size: 80%;
} sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}  img {
border-style: none;
}  button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
} button,
input {
overflow: visible;
} button,
select {
text-transform: none;
} button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
} button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
} button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
} fieldset {
padding: 0.35em 0.75em 0.625em;
} legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
} progress {
vertical-align: baseline;
} textarea {
overflow: auto;
} [type="checkbox"],
[type="radio"] {
box-sizing: border-box;
padding: 0;
} [type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
} [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
} [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
} ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}  details {
display: block;
} summary {
display: list-item;
}  template {
display: none;
} [hidden] {
display: none;
}  *,
*::before,
*::after {
box-sizing: inherit;
}
html {
box-sizing: border-box;
}  body,
button,
input,
select,
optgroup,
textarea {
color: #404040;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
font-size: 1rem;
line-height: 1.5;
}
h1,
h2,
h3,
h4,
h5,
h6 {
clear: both;
}
p {
margin-bottom: 1.5em;
}
dfn,
cite,
em,
i {
font-style: italic;
}
blockquote {
background: #f5f8fd;
border: 2px solid #003092;
border-radius: 10px;
margin: 24px 0;
padding: 18px 24px;
font-size: 0.9375rem;
line-height: 1.85;
color: #333;
}
blockquote p,
blockquote ul,
blockquote ol,
blockquote li {
margin: 0 0 0.5em;
}
blockquote *:last-child {
margin-bottom: 0;
}
blockquote h2,
blockquote h3 {
font-size: 1.05rem;
font-weight: 700;
color: #003092;
margin: 0 0 10px;
padding-bottom: 6px;
border-bottom: 1px solid #b0c4de;
}
address {
margin: 0 0 1.5em;
}
pre {
background: #eee;
font-family: "Courier 10 Pitch", courier, monospace;
line-height: 1.6;
margin-bottom: 1.6em;
max-width: 100%;
overflow: auto;
padding: 1.6em;
}
code,
kbd,
tt,
var {
font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr,
acronym {
border-bottom: 1px dotted #666;
cursor: help;
}
mark,
ins {
background: #fff9c0;
text-decoration: none;
}
big {
font-size: 125%;
} body {
background: #fff;
}
hr {
background-color: #ccc;
border: 0;
height: 1px;
margin-bottom: 1.5em;
}
ul,
ol {
margin: 0 0 1.5em 3em;
}
ul {
list-style: disc;
}
ol {
list-style: decimal;
}
li > ul,
li > ol {
margin-bottom: 0;
margin-left: 1.5em;
}
dt {
font-weight: 700;
}
dd {
margin: 0 1.5em 1.5em;
} embed,
iframe,
object {
max-width: 100%;
}
img {
height: auto;
max-width: 100%;
}
figure {
margin: 1em 0;
}
table {
margin: 0 0 1.5em;
width: 100%;
} a {
color: #4169e1;
}
a:visited {
color: #800080;
}
a:hover,
a:focus,
a:active {
color: #191970;
}
a:focus {
outline: thin dotted;
}
a:hover,
a:active {
outline: 0;
} button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
border: 1px solid;
border-color: #ccc #ccc #bbb;
border-radius: 3px;
background: #e6e6e6;
color: rgba(0, 0, 0, 0.8);
line-height: 1;
padding: 0.6em 1em 0.4em;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
border-color: #ccc #bbb #aaa;
}
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
border-color: #aaa #bbb #bbb;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
color: #666;
border: 1px solid #ccc;
border-radius: 3px;
padding: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
color: #111;
}
select {
border: 1px solid #ccc;
}
textarea {
width: 100%;
}   .main-navigation {
display: block;
width: 100%;
}
.main-navigation ul {
display: none;
list-style: none;
margin: 0;
padding-left: 0;
}
.main-navigation ul ul {
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
float: left;
position: absolute;
top: 100%;
left: -999em;
z-index: 99999;
}
.main-navigation ul ul ul {
left: -999em;
top: 0;
}
.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
display: block;
left: auto;
}
.main-navigation ul ul a {
width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
left: auto;
}
.main-navigation li {
position: relative;
}
.main-navigation a {
display: block;
text-decoration: none;
} .menu-toggle,
.main-navigation.toggled ul {
display: block;
}
@media screen and (min-width: 37.5em) {
.menu-toggle {
display: none;
}
.main-navigation ul {
display: flex;
}
}
.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
text-align: end;
flex: 1 0 50%;
} .sticky {
display: block;
}
.post,
.page {
margin: 0 0 1.5em;
}
.updated:not(.published) {
display: none;
}
.page-content,
.entry-content,
.entry-summary {
margin: 1.5em 0 0;
}
.page-links {
clear: both;
margin: 0 0 1.5em;
} .comment-content a {
word-wrap: break-word;
}
.bypostauthor {
display: block;
} .widget {
margin: 0 0 1.5em;
}
.widget select {
max-width: 100%;
} .page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
border: none;
margin-bottom: 0;
margin-top: 0;
padding: 0;
} .custom-logo-link {
display: inline-block;
} .wp-caption {
margin-bottom: 1.5em;
max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
display: block;
margin-left: auto;
margin-right: auto;
}
.wp-caption .wp-caption-text {
margin: 0.8075em 0;
}
.wp-caption-text {
text-align: center;
} .gallery {
margin-bottom: 1.5em;
display: grid;
grid-gap: 1.5em;
}
.gallery-item {
display: inline-block;
text-align: center;
width: 100%;
}
.gallery-columns-2 {
grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-3 {
grid-template-columns: repeat(3, 1fr);
}
.gallery-columns-4 {
grid-template-columns: repeat(4, 1fr);
}
.gallery-columns-5 {
grid-template-columns: repeat(5, 1fr);
}
.gallery-columns-6 {
grid-template-columns: repeat(6, 1fr);
}
.gallery-columns-7 {
grid-template-columns: repeat(7, 1fr);
}
.gallery-columns-8 {
grid-template-columns: repeat(8, 1fr);
}
.gallery-columns-9 {
grid-template-columns: repeat(9, 1fr);
}
.gallery-caption {
display: block;
}   .infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
display: none;
} .infinity-end.neverending .site-footer {
display: block;
}   .screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important;
}
.screen-reader-text:focus {
background-color: #f1f1f1;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
clip: auto !important;
clip-path: none;
color: #21759b;
display: block;
font-size: 0.875rem;
font-weight: 700;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000;
} #primary[tabindex="-1"]:focus {
outline: 0;
} .alignleft { float: left; margin-right: 1.5em;
margin-bottom: 1.5em;
}
.alignright { float: right; margin-left: 1.5em;
margin-bottom: 1.5em;
}
.aligncenter {
clear: both;
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 1.5em;
} .entry-content > * {
max-width: 840px; margin-left: auto;
margin-right: auto;
}  *, *::before, *::after {
box-sizing: border-box !important;
}  .entry-content > *:not(.alignwide):not(.alignfull) {
max-width: 840px;
margin-left: auto;
margin-right: auto;
} .entry-content > .alignwide {
max-width: 1100px;
} .entry-content > .alignfull {
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
width: 100vw;
position: relative;
left: 50%;
right: 50%;
max-width: 100vw;
} .site-header,
.site-main,
.site-footer {
padding-left: var(--wp--preset--spacing--30, 20px); padding-right: var(--wp--preset--spacing--30, 20px);
margin-left: auto;
margin-right: auto;
} .site-header {
background-color: #003092;
height: 100px;
width: 100%;
display: flex;
justify-content: center;
position: relative;
z-index: 1000;
padding: 0; }
.header-container {
max-width: 1280px;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
} .header-logo {
max-height: 40px !important;
width: auto !important;
} @media (min-width: 1025px) {
.u-sp-only { display: none !important; }
} @media (min-width: 1025px) {
.site-branding { flex: 0 0 220px; padding-left: 20px; }
.header-copy     { display: flex !important; flex: 1; justify-content: flex-end; align-items: center; color: #fff; font-weight: bold; font-size: 1.2rem; padding-right: 20px; height: 100px; }
.header-copy p   { margin: 0; text-align: right; line-height: 1.5; }
.u-desktop-only  { display: flex !important; }
} @media (max-width: 1024px) {
.site-header { height: 80px; }
.header-container { padding: 0 15px; }
.u-desktop-only { display: none !important; }
.header-copy.u-desktop-only { display: flex !important; flex: 1; align-items: center; justify-content: flex-end; color: #fff; font-weight: bold; font-size: 0.7rem; line-height: 1.4; overflow: hidden; height: 80px; }
.header-copy p { margin: 0; }
.site-branding { flex: 0 0 auto; }
.header-logo { height: 25px !important; width: auto !important; }
} .header-lang {
width: 120px;
height: 100px;
background-color: #f2f2f2;
display: flex;
justify-content: center;
align-items: center;
position: relative;
cursor: pointer;
}
.lang-btn {
background: none;
border: none;
color: #003092;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
font-weight: bold;
padding: 0;
}
.lang-btn .icon-globe { font-size: 24px; margin-bottom: 5px; }
.lang-dropdown {
display: none;
position: absolute;
top: 100px;
left: 0;
background: #fff;
width: 100%;
list-style: none;
margin: 0;
padding: 10px;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
z-index: 1001;
text-align: center;
}
.lang-dropdown li { margin: 0; }
.lang-dropdown a { display: block; padding: 5px; color: #003092; text-decoration: none; transition: background-color 0.2s, color 0.2s; }
.lang-dropdown a:hover { background-color: #003092; color: #fff; }
.lang-dropdown.is-active { display: block; }  .menu-circle-btn, .close-circle-btn {
width: 70px;
height: 70px;
border-radius: 50%;
border: none;
cursor: pointer;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: #fff !important;
} .header-nav-trigger {
width: 120px;
height: 100px;
display: flex;
justify-content: center;
align-items: center;
background-color: #003092;
}
.hamburger span { display: block; width: 25px; height: 3px; background: #003092; margin: 2px 0; }
.menu-text { font-size: 10px; font-weight: bold; color: #003092; margin-top: 2px; } .close-circle-btn {
position: fixed !important;
z-index: 10001 !important;
font-size: 0;
} .close-circle-btn::before,
.close-circle-btn::after {
content: ""; position: absolute; width: 30px; height: 3px; background-color: #003092;
}
.close-circle-btn::before { transform: rotate(45deg); }
.close-circle-btn::after { transform: rotate(-45deg); } @media (max-width: 1024px) {
.header-nav-trigger { width: 80px; height: 80px; }
.menu-circle-btn { width: 60px; height: 60px; }
.close-circle-btn::before,
.close-circle-btn::after {
width: 24px; height: 2px;
}
} .overlay-nav {
position: fixed; top: 0; left: 0; width: 100%; height: 100%;
background: #003092; z-index: 9999; opacity: 0; visibility: hidden;
transition: 0.4s; overflow-y: auto;
display: flex; justify-content: center;
}
.overlay-nav.is-open { opacity: 1; visibility: visible; }
.nav-scroll-container {
width: 100%;
max-width: 1280px;
padding: 100px 40px 50px;
overflow-y: auto;
} .nav-btn-grid ul {
display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px;
margin: 0 0 50px; list-style: none; padding: 0;
}
.nav-btn-grid li {
display: flex;
}
.nav-btn-grid a {
background: #fff; color: #003092; padding: 18px 25px; border-radius: 8px;
display: flex; align-items: center; gap: 10px;
text-decoration: none; font-weight: bold; font-size: 1.1rem;
width: 100%;
}
.nav-btn-grid a::before {
content: "\f054";
font-family: "Font Awesome 6 Free";
font-weight: 900;
font-size: 1rem;
} .nav-detailed-menu {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
padding: 40px 0;
}
.nav-col ul {
list-style: none;
padding: 0;
margin: 0;
} .nav-detailed-menu a,
.nav-detailed-menu a:visited,
.nav-detailed-menu a:hover,
.nav-bottom-row a,
.nav-bottom-row a:visited,
.nav-bottom-row a:hover {
color: #fff;
text-decoration: none;
} .nav-col > .nav-col-menu > li:first-child > a {
font-weight: bold;
font-size: 1rem;
display: block;
border-bottom: 1px solid rgba(255,255,255,0.3);
padding-bottom: 10px;
margin-bottom: 15px;
} .nav-col > .nav-col-menu > li > a {
line-height: 2;
font-size: 0.9rem;
} .nav-col .sub-menu {
list-style: none;
padding: 0;
margin: 0;
}
.nav-col .sub-menu a {
line-height: 2;
font-size: 0.9rem;
} @media (max-width: 1024px) {
.nav-scroll-container {
padding: 90px 20px 40px;
} .nav-btn-grid ul {
grid-template-columns: repeat(2, 1fr);
gap: 10px;
margin-bottom: 30px;
}
.nav-btn-grid a {
padding: 12px 15px;
font-size: 0.9rem;
} .nav-detailed-menu {
grid-template-columns: 1fr;
gap: 0;
padding: 20px 0;
} .nav-col-accordion .nav-col-menu > li > a {
display: flex !important;
align-items: center;
gap: 8px;
font-size: 1.15rem;
font-weight: bold;
border-bottom: none;
padding: 12px 0;
margin-bottom: 0;
}
.nav-col-accordion .nav-col-menu > li > a::before {
content: ">";
font-size: 1.1rem;
transition: transform 0.3s;
}
.nav-col-accordion .nav-col-menu > li > a.is-accordion-open::before {
transform: rotate(90deg);
} .nav-col-accordion .sub-menu {
display: none !important;
} .nav-col-accordion .nav-col-menu.is-expanded .sub-menu {
display: block !important;
padding-left: 20px;
}
.nav-col-accordion .sub-menu a {
font-size: 1.05rem;
line-height: 2.2;
} .nav-col-flat {
margin-top: 10px;
}
.nav-col-flat .nav-col-menu > li > a {
display: none !important;
}
.nav-col-flat .sub-menu {
display: block !important;
}
.nav-col-flat .sub-menu a {
font-size: 1rem;
line-height: 2.2;
} .nav-sns-grid {
flex-wrap: wrap;
gap: 15px;
}
} .nav-bottom-row {
margin-top: 60px;
}
.nav-sns-grid {
display: flex; gap: 30px; margin-bottom: 30px;
}
.nav-sns-grid a {
display: flex; align-items: center; gap: 8px;
font-size: 0.95rem;
}
.nav-sns-grid a i {
font-size: 1.3rem;
}
.nav-logo-white img {
max-height: 60px; width: auto;
}  .site-footer {
padding: 0 !important;
} @media (min-width: 1025px) {
.footer-pc-content {
display: block !important;
}
}
@media (max-width: 1024px) {
.footer-pc-content {
display: none !important;
}
}
.footer-inner {
max-width: 1280px;
margin: 0 auto;
padding: 0 20px;
} .footer-icon-links {
background: #f2f2f2;
border-top: 1px solid #e0e0e0;
}
.footer-icon-list {
display: flex;
justify-content: center;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
}
.footer-icon-list li {
flex: 1;
text-align: center;
border-right: 1px solid #e0e0e0;
}
.footer-icon-list li:first-child {
border-left: 1px solid #e0e0e0;
}
.footer-icon-list a {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 20px 10px;
text-decoration: none;
color: #003092;
font-size: 0.85rem;
font-weight: bold;
transition: background-color 0.2s;
}
.footer-icon-list a:visited {
color: #003092;
}
.footer-icon-list a:hover {
background-color: #f5f5f5;
color: #003092;
}
.footer-icon-placeholder {
display: block;
width: 40px;
height: 40px;
background: #e0e0e0;
border-radius: 50%;
} .footer-sns {
background: #fff;
border-top: 1px solid #e0e0e0;
}
.footer-sns-list {
display: flex;
justify-content: center;
gap: 40px;
list-style: none;
margin: 0;
padding: 15px 0;
}
.footer-sns-list a {
display: flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: #003092;
font-size: 0.9rem;
transition: opacity 0.2s;
}
.footer-sns-list a:visited {
color: #003092;
}
.footer-sns-list a:hover {
opacity: 0.7;
color: #003092;
}
.footer-sns-list i {
font-size: 1.3rem;
} .footer-main {
background: #003092;
padding: 50px 0;
}
.footer-main-inner {
display: flex;
gap: 60px;
}
.footer-facility {
flex: 0 0 300px;
}
.footer-facility p {
color: #fff;
margin: 0;
line-height: 2;
font-size: 0.9rem;
}
.footer-facility-sponsor {
font-size: 1.1rem !important;
font-weight: bold;
border-bottom: 2px dotted rgba(255, 255, 255, 0.5);
padding-bottom: 12px;
margin-bottom: 12px !important;
}
.footer-facility-name {
font-size: 0.9rem !important;
font-weight: normal;
margin-bottom: 10px !important;
}
.footer-menus {
flex: 1;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
}
.footer-col-menu {
list-style: none;
padding: 0;
margin: 0;
}
.footer-col-menu > li > a {
font-weight: normal;
font-size: 0.85rem;
line-height: 2;
}
.footer-col-menu > li:first-child > a {
font-weight: bold;
font-size: 0.95rem;
display: block;
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
padding-bottom: 10px;
margin-bottom: 10px;
}
.footer-col-menu a {
color: #fff;
text-decoration: none;
font-size: 0.85rem;
line-height: 2;
display: block;
font-weight: normal;
}
.footer-col-menu a:visited {
color: #fff;
}
.footer-col-menu a:hover {
text-decoration: underline;
color: #fff;
}
.footer-col-menu .sub-menu {
list-style: none;
padding: 0;
margin: 0;
}
.footer-col-menu .sub-menu a {
font-size: 0.85rem;
line-height: 2;
} .footer-bottom {
background: #003092;
border-top: 1px solid rgba(255, 255, 255, 0.2);
padding: 20px 0;
}
.footer-bottom-inner {
display: flex;
justify-content: space-between;
align-items: center;
}
.footer-legal {
display: flex;
gap: 30px;
list-style: none;
margin: 0;
padding: 0;
}
.footer-legal a {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-size: 0.8rem;
}
.footer-legal a:visited {
color: rgba(255, 255, 255, 0.8);
}
.footer-legal a:hover {
color: #fff;
text-decoration: underline;
}
.footer-jaza img {
height: 40px;
width: auto;
}  .footer-sp-info {
background: #003092;
padding: 20px 0;
text-align: center;
}
.footer-sp-info p {
color: #fff;
margin: 0;
line-height: 1.8;
}
.footer-sp-info .footer-facility-sponsor {
font-size: 1rem;
font-weight: bold;
border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
padding-bottom: 6px;
margin-bottom: 4px !important;
}
.footer-sp-info .footer-facility-name {
font-size: 0.85rem;
}
.footer-sp-info .footer-facility-addr {
font-size: 0.8rem;
color: rgba(255, 255, 255, 0.8);
}
.footer-copyright {
background: #002470;
padding: 15px 0;
text-align: center;
}
.footer-copyright p {
color: rgba(255, 255, 255, 0.7);
font-size: 0.75rem;
margin: 0;
}  #masthead .site-branding {
flex-shrink: 0 !important;
}
#masthead .site-branding .header-logo {
display: block !important;
height: 25px !important;
width: auto !important;
}
@media (min-width: 1025px) {
#masthead .site-branding .header-logo {
height: 40px !important;
}
} #masthead .header-copy {
display: flex !important;
align-items: center !important;
justify-content: flex-end !important;
}
#masthead .header-copy p {
margin: 0 !important;
text-align: right !important;
line-height: 1.5 !important;
}  .mv-section {
width: 100%;
background-color: #002f8a;
background-image: url(//kamo-kurage.jp/wp/wp-content/themes/kamo/img/bg_img.png);
background-repeat: no-repeat;
background-size: 3000px 625px;
background-position: center top;
overflow: hidden;
} .home .site-main {
padding-left: 0;
padding-right: 0;
} .mv-container {
display: flex;
max-width: 1100px;
width: 100%;
margin: 0 auto;
} .mv-slider {
flex: 0 0 750px;
min-width: 0;
overflow: hidden;
height: 625px;
} .mv-slider .n2-section-smartslider {
width: 100% !important;
height: 100% !important;
} .mv-right {
flex: 1;
display: flex;
flex-direction: column;
background: #d9d9d9;
} .mv-nav {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 12px;
padding: 30px 25px;
} .mv-nav-btn {
display: flex;
align-items: center;
justify-content: center;
background: #003092;
color: #fff !important;
text-decoration: none;
font-weight: bold;
font-size: 1.05rem;
border-radius: 50px;
padding: 16px 20px;
text-align: center;
transition: background-color 0.2s, transform 0.2s;
}
.mv-nav-btn:visited {
color: #fff !important;
}
.mv-nav-btn:hover {
background: #001e5c;
color: #fff !important;
transform: translateY(-2px);
} .mv-hours {
background: #fff;
border-top: 2px solid #003092;
border-bottom: 2px solid #003092;
padding: 12px 20px;
text-align: center;
}
.mv-hours-text {
margin: 0;
display: flex;
align-items: baseline;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
}
.mv-hours-label {
font-size: 1rem;
font-weight: bold;
color: #003092;
}
.mv-hours-time {
font-size: 1.8rem;
font-weight: bold;
color: #003092;
letter-spacing: 0.05em;
}
.mv-hours-separator {
font-size: 1.4rem;
margin: 0 2px;
}
.mv-hours-note {
font-size: 0.85rem;
color: #003092;
} .mv-hours-sp {
display: none;
} .mv-nav-sp {
display: none;
} @media (min-width: 1025px) {
.mv-slider {
flex: 0 0 750px;
height: 625px;
}
.mv-nav-sp {
display: none !important;
}
} @media (min-width: 768px) and (max-width: 1024px) {
.mv-container {
max-width: 100%;
}
.mv-slider {
flex: 1;
min-width: 0;
height: auto;
aspect-ratio: 750 / 625;
}
.mv-right {
flex: 0 0 35%;
max-width: 350px;
}
.mv-nav {
padding: 20px 15px;
gap: 10px;
}
.mv-nav-btn {
font-size: 0.9rem;
padding: 12px 12px;
}
.mv-hours {
padding: 10px 10px;
}
.mv-hours-time {
font-size: 1.2rem;
}
.mv-hours-label {
font-size: 0.8rem;
}
.mv-hours-note {
font-size: 0.7rem;
}
.mv-nav-sp {
display: none !important;
}
} @media (max-width: 767px) {
.mv-section {
background-color: #002f8a;
background-image: url(//kamo-kurage.jp/wp/wp-content/themes/kamo/img/bg_img.png);
background-repeat: no-repeat;
background-size: 3000px 625px;
background-position: center top;
} .mv-container {
flex-direction: column;
}
.mv-right {
display: none !important;
}
.mv-slider {
flex: none;
width: 100%;
height: auto;
aspect-ratio: auto;
} .mv-hours-sp {
display: block !important;
padding: 15px 15px;
background: #fff;
text-align: center;
border-bottom: 2px solid #003092;
}
.mv-hours-text {
gap: 6px;
}
.mv-hours-label {
font-size: 0.95rem;
}
.mv-hours-time {
font-size: 1.5rem;
}
.mv-hours-note {
font-size: 0.8rem;
} .mv-nav-sp {
display: block !important;
padding: 15px 15px 20px;
background: #d9d9d9;
} .mv-nav-btn--large {
width: 100%;
font-size: 1.2rem;
padding: 18px 20px;
margin-bottom: 10px;
} .mv-nav-sp-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.mv-nav-sp-grid .mv-nav-btn {
font-size: 0.95rem;
padding: 15px 10px;
}
} .sec-inner {
max-width: 1100px;
width: 100%;
margin: 0 auto;
padding: 0 20px;
} .sec-heading {
text-align: center;
margin: 0 0 30px;
}
.sec-heading span {
display: inline-block;
background: #003092;
color: #fff;
border: none;
border-radius: 50px;
padding: 10px 40px;
font-size: 1.1rem;
font-weight: bold;
} .sec-heading--wide span {
padding: 12px 50px;
font-size: 1rem;
} .kamo-slider {
position: relative;
}
.kamo-slider-track-wrap {
overflow: hidden;
}
.kamo-slider-track {
display: flex;
transition: transform 0.4s ease;
gap: 20px;
}
.kamo-slider-item {
flex-shrink: 0;
} .kamo-slider-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
width: 40px;
height: 40px;
border: 2px solid #003092;
border-radius: 50%;
background: #fff;
color: #003092;
font-size: 1.2rem;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.2s, color 0.2s;
padding: 0;
line-height: 1;
}
.kamo-slider-arrow:hover {
background: #003092;
color: #fff;
}
.kamo-slider-arrow--prev { left: -45px; }
.kamo-slider-arrow--next { right: -45px; } .kamo-slider-dots {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 20px;
}
.kamo-slider-dot {
width: 12px;
height: 12px;
border-radius: 50%;
background: #ccc;
border: none;
cursor: pointer;
padding: 0;
transition: background 0.2s;
}
.kamo-slider-dot.is-active {
background: #003092;
} @media (max-width: 767px) {
.kamo-slider-track {
gap: 12px;
}
.kamo-slider-arrow {
width: 32px;
height: 32px;
font-size: 1.2rem;
}
.kamo-slider-arrow--prev { left: -40px; }
.kamo-slider-arrow--next { right: -40px; }
} .sec-feature {
padding: 50px 0;
background: #fff;
}
.feature-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.feature-card {
display: block;
position: relative;
text-decoration: none;
overflow: hidden;
border-radius: 8px;
aspect-ratio: 4 / 3;
}
.feature-card-bg {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.3s;
}
.feature-card:hover .feature-card-bg {
transform: scale(1.05);
} .feature-card-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.65) 100%);
padding: 40px 15px 15px;
text-align: center;
}
.feature-card-title {
font-size: 1rem;
font-weight: bold;
margin: 0 0 4px;
color: #fff;
}
.feature-card-sub {
font-size: 0.85rem;
margin: 0;
color: rgba(255, 255, 255, 0.85);
} @media (max-width: 1024px) {
.feature-cards {
gap: 15px;
}
.feature-card-title {
font-size: 0.9rem;
}
} @media (max-width: 767px) {
.sec-feature {
padding: 30px 0;
}
.feature-cards {
grid-template-columns: 1fr;
gap: 15px;
}
.feature-card {
aspect-ratio: 16 / 9;
}
} .sec-topics {
padding: 50px 0;
background: #f5f5f5;
}
.sec-topics .sec-inner {
max-width: 1100px;
padding: 0 50px;
}
.topics-card {
display: block;
text-decoration: none;
color: #333;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 8px;
overflow: hidden;
padding: 15px;
text-align: center;
transition: box-shadow 0.2s;
}
.topics-card:visited {
color: #333;
}
.topics-card:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
color: #333;
}
.topics-card-img {
width: 100%;
aspect-ratio: 1 / 1;
margin: 0 0 10px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
border-radius: 4px;
}
.topics-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.topics-card-title {
font-size: 0.85rem;
line-height: 1.5;
margin: 0 0 8px;
min-height: 2.5em;
color: #333;
}
.topics-card-date {
font-size: 0.75rem;
color: #999;
margin: 0;
} @media (max-width: 767px) {
.sec-topics {
padding: 30px 0;
}
} .sec-pickup {
padding: 50px 0;
background: #fff;
}
.pickup-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.pickup-card {
display: block;
position: relative;
border: 2px solid #003092;
border-radius: 8px;
overflow: hidden;
text-decoration: none;
aspect-ratio: 390 / 180;
transition: opacity 0.2s, box-shadow 0.2s;
}
.pickup-card:hover {
opacity: 0.85;
box-shadow: 0 4px 12px rgba(0, 48, 146, 0.2);
}
.pickup-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.pickup-card__title {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: rgba(0, 48, 146, 0.72);
color: #fff;
font-size: 0.9rem;
font-weight: 700;
letter-spacing: 0.06em;
text-align: center;
padding: 8px 12px;
} @media (max-width: 767px) {
.sec-pickup {
padding: 30px 0;
}
.pickup-cards {
grid-template-columns: 1fr;
gap: 12px;
}
} .sec-notice {
padding: 50px 0 60px;
background: #f5f5f5;
}
.notice-card {
display: block;
text-decoration: none;
border-radius: 8px;
overflow: hidden;
transition: opacity 0.2s;
}
.notice-card:hover {
opacity: 0.85;
}
.notice-card img {
width: 100%;
height: auto;
display: block;
aspect-ratio: 400 / 100;
object-fit: cover;
border-radius: 8px;
}
.notice-card-placeholder {
background: #003092;
color: #fff;
padding: 20px 15px;
text-align: center;
min-height: 120px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
}
.notice-card-placeholder p {
margin: 0;
font-size: 0.9rem;
font-weight: bold;
line-height: 1.5;
} @media (max-width: 767px) {
.sec-notice {
padding: 30px 0 40px;
}
}  .page-hero {
width: 100%;
position: relative;
}
.page-hero__bg {
width: 100%;
height: 280px;
display: flex;
align-items: center;
justify-content: center;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
display: flex;
align-items: flex-end;
position: relative;
}
.page-hero__bg--fallback {
background-color: #003092;
}
.page-hero__overlay {
position: absolute;
inset: 0;
background: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.55) 100%);
display: flex;
align-items: center;
justify-content: center;
}
.page-hero__title {
color: #fff;
font-size: 2rem;
font-weight: bold;
margin: 0;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
text-align: center;
} .page-breadcrumb {
background: #fff;
border-bottom: 1px solid #e0e0e0;
}
.page-breadcrumb__inner {
max-width: 1100px;
margin: 0 auto;
padding: 10px 20px;
font-size: 0.82rem;
color: #555;
display: flex;
align-items: center;
gap: 6px;
}
.page-breadcrumb__inner a {
color: #003092;
text-decoration: none;
}
.page-breadcrumb__inner a:hover {
text-decoration: underline;
}
.page-breadcrumb__sep {
color: #999;
font-size: 0.75rem;
} .page-main {
padding: 0 !important;
margin: 0 !important;
} .page-article.page {
margin: 0 !important;
padding: 0 !important;
} .page-content-wrap {
position: relative; overflow: hidden;
background: #fff;
margin: 0;
padding: 0;
} .page-content-bg__watermark {
position: absolute;
right: -5%;
top: 20%;
width: 55%;
max-width: 500px;
opacity: 0.25;
pointer-events: none;
z-index: 0; }
.page-content-bg__watermark img {
width: 100%;
height: auto;
display: block;
} .page-content-bg__wave {
display: block;
width: 100%;
line-height: 0; margin-bottom: -1px; }
.page-content-bg__wave svg {
display: block;
width: 100%;
height: 160px;
} .page-content-inner {
position: relative;
z-index: 1;
max-width: 840px;
margin: 0 auto;
padding: 60px 20px 60px;
} .page-content-header {
margin-bottom: 20px;
}
.page-content-header__title-row {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 10px;
}
.page-content-header__logo {
flex-shrink: 0;
}
.page-content-header__logo img {
height: 56px;
width: auto;
display: block;
}
.page-content-header__title {
font-size: 1.8rem;
font-weight: bold;
color: #003092;
margin: 0;
line-height: 1.2;
}
.page-content-header__lead {
font-size: 1rem;
color: #333;
margin-bottom: 16px;
}
.page-content-header__lead p {
margin: 0;
}
.page-content-header__divider {
border: none;
border-top: 3px dotted #003092;
margin: 20px 0 0;
} .page-entry-content {
font-size: 0.95rem;
line-height: 1.9;
color: #333;
}
.page-entry-content > * {
max-width: 100%;
margin-left: 0;
margin-right: 0;
} @media (max-width: 767px) {
.page-hero__bg {
height: 200px;
}
.page-hero__title {
font-size: 1.4rem;
}
.page-hero__overlay {
padding: 0;
}
.page-content-inner {
padding: 40px 20px 40px;
}
.page-content-bg__wave svg {
height: 100px;
}
.page-content-header__title-row {
gap: 10px;
}
.page-content-header__logo img {
height: 40px;
}
.page-content-header__title {
font-size: 1.3rem;
}
.page-content-bg__watermark {
width: 80%;
right: -10%;
}
}  .kamosui-slider-section {
background: transparent;
padding: 50px 0 60px;
}
.kamosui-slider-wrap {
max-width: 1000px;
margin: 0 auto;
padding: 0 60px; position: relative;
} .kamosui-photo-card {
background: transparent;
border-radius: 0;
overflow: visible;
border: none;
}
.kamosui-photo-card__img {
width: 100%;
aspect-ratio: 4 / 3;
overflow: hidden;
background: transparent;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #003092;
border-radius: 10px;
}
.kamosui-photo-card__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.kamosui-photo-card__caption {
font-size: 0.82rem;
color: #333;
line-height: 1.6;
padding: 10px 12px 14px;
margin: 0;
} @media (max-width: 767px) {
.kamosui-slider-section {
padding: 30px 0 40px;
}
.kamosui-slider-wrap {
padding: 0 45px;
}
}  .nyukan-section {
margin-bottom: 60px;
} .nyukan-hours__main {
font-size: 1.8rem;
font-weight: normal;
color: #222; text-align: center;
margin: 0 0 0;
padding: 20px 0 32px 0;
border-bottom: 1px solid #ccc;
}
.nyukan-hours__divider {
display: none; }
.nyukan-hours__table {
width: 100%;
margin: 0 auto;
border-collapse: collapse;
}
.nyukan-hours__table tr {
border-bottom: 1px solid #e0e0e0;
}
.nyukan-hours__table tr:first-child {
border-top: none; }
.nyukan-hours__name,
.nyukan-hours__time {
padding: 20px 40px;
vertical-align: top;
font-size: 1.5rem;
color: #333;
}
.nyukan-hours__name {
width: 55%;
}
.nyukan-hours__time {
width: 45%;
text-align: right;
}
.nyukan-hours__note {
display: block;
font-size: 0.8rem;
color: #666;
margin-top: 4px;
} .nyukan-fee-table {
width: 100%;
margin: 0 auto;
border-collapse: collapse;
}
.nyukan-fee-table tr {
border-top: 1px solid #e0e0e0;
}
.nyukan-fee-table tr:first-child {
border-top: none;
}
.nyukan-fee-table tr:last-child {
border-bottom: 1px solid #e0e0e0;
}
.nyukan-fee-table__category,
.nyukan-fee-table__price {
padding: 20px 40px;
vertical-align: middle;
color: #333;
}
.nyukan-fee-table__category {
width: 55%;
font-size: 1.3rem;
}
.nyukan-fee-table__price {
width: 35%;
font-size: 1.5rem;
font-weight: normal;
line-height: 2.2;
}
.nyukan-fee-table__type {
display: inline-block;
width: 2.5em;
font-weight: normal;
font-size: 0.9rem;
color: #555;
} .nyukan-discount-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 32px;
}
.nyukan-discount-table tr {
border-top: 1px solid #e0e0e0;
}
.nyukan-discount-table tr:first-child {
border-top: none;
}
.nyukan-discount-table tr:last-child {
border-bottom: 1px solid #e0e0e0;
}
.nyukan-discount-table__desc,
.nyukan-discount-table__price {
padding: 14px 20px;
vertical-align: middle;
color: #333;
font-size: 0.95rem;
}
.nyukan-discount-table__desc {
width: 70%;
}
.nyukan-discount-table__price {
width: 30%;
text-align: right;
font-weight: normal;
line-height: 1.8;
}
.nyukan-discount-table__label {
font-weight: normal;
} .nyukan-doc-block {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 20px;
border-top: 1px solid #e0e0e0;
padding: 20px 20px;
}
.nyukan-doc-block:first-of-type {
border-top: none;
}
.nyukan-doc-block:last-of-type {
border-bottom: 1px solid #e0e0e0;
margin-bottom: 24px;
}
.nyukan-doc-block__left {
flex: 1;
}
.nyukan-doc-block__title {
font-weight: normal;
font-size: 0.95rem;
color: #333;
margin: 0 0 6px;
}
.nyukan-doc-block__desc {
font-size: 0.85rem;
color: #555;
line-height: 1.7;
margin: 0;
}
.nyukan-doc-block__right {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 4px;
flex-shrink: 0;
}
.nyukan-doc-block__link {
font-size: 0.85rem;
color: #003092;
text-decoration: underline;
white-space: nowrap;
}
.nyukan-doc-block__link:hover {
opacity: 0.7;
} .nyukan-notes {
list-style: none;
margin: 16px 0 0;
padding: 0;
}
.nyukan-notes li {
font-size: 0.82rem;
color: #555;
line-height: 1.7;
padding-left: 0;
} @media (max-width: 767px) {
.nyukan-section {
margin-bottom: 40px;
}
.nyukan-hours__main {
font-size: 1.1rem;
padding: 20px 0;
}
.nyukan-hours__name,
.nyukan-hours__time {
padding: 14px 12px;
font-size: 0.88rem;
}
.nyukan-fee-table__category,
.nyukan-fee-table__price {
padding: 20px 12px;
}
.nyukan-fee-table__category {
font-size: 0.9rem;
}
.nyukan-fee-table__price {
font-size: 0.95rem;
}
.nyukan-discount-table__desc,
.nyukan-discount-table__price {
padding: 14px 10px;
font-size: 0.88rem;
}
.nyukan-discount-table__desc {
width: 60%;
}
.nyukan-discount-table__price {
width: 40%;
}
.nyukan-doc-block {
flex-direction: column;
gap: 12px;
padding: 16px 10px;
}
.nyukan-doc-block__right {
align-items: flex-start;
}
}  .access-map-section {
margin-bottom: 60px;
}
.access-map__embed {
width: 100%;
background: #e8e8e8;
margin-bottom: 10px;
}
.access-map__embed iframe {
display: block;
width: 100%;
height: 400px;
border: none;
}
.access-map__large-link {
display: inline-block;
font-size: 0.9rem;
color: #003092;
text-decoration: underline;
margin-bottom: 20px;
}
.access-map__large-link:hover {
opacity: 0.7;
}
.access-map__info {
margin-top: 4px;
}
.access-map__name {
font-size: 1rem;
font-weight: bold;
color: #222;
margin: 0 0 6px;
}
.access-map__address {
font-size: 0.9rem;
color: #444;
line-height: 1.8;
margin: 0;
} .access-transport-section {
margin-bottom: 40px;
}
.access-transport-list {
display: flex;
flex-direction: column;
gap: 20px;
} .access-transport-card {
display: grid;
grid-template-columns: 140px 1fr;
border: 1px solid #d0d8e4;
border-radius: 10px;
overflow: hidden;
}
.access-transport-card__head {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
padding: 24px 16px;
border-right: 1px solid #d0d8e4;
background: #fff;
}
.access-transport-card__label {
font-size: 1.1rem;
color: #003092;
font-weight: bold;
}
.access-transport-card__icon {
font-size: 2rem;
color: #003092;
}
.access-transport-card__body {
padding: 24px 28px;
font-size: 0.92rem;
color: #333;
line-height: 1.85;
background: #fff;
}
.access-transport-card__body p {
margin: 0 0 12px;
}
.access-transport-card__body p:last-child {
margin-bottom: 0;
}
.access-transport-card__link {
color: #003092;
text-decoration: underline;
}
.access-transport-card__link:hover {
opacity: 0.7;
}
.access-transport-card__note {
font-size: 0.82rem;
color: #666;
} @media (max-width: 767px) {
.access-map__embed iframe {
height: 280px;
}
.access-transport-card {
grid-template-columns: 1fr;
}
.access-transport-card__head {
flex-direction: row;
justify-content: flex-start;
gap: 12px;
padding: 16px;
border-right: none;
border-bottom: 1px solid #d0d8e4;
}
.access-transport-card__icon {
font-size: 1.4rem;
}
.access-transport-card__body {
padding: 16px;
}
}  .passport-section {
margin-bottom: 56px;
} .passport-fee-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 24px;
}
.passport-fee-table tr {
border-bottom: 1px solid #e0e0e0;
}
.passport-fee-table tr:first-child {
border-top: none;
}
.passport-fee-table tr:last-child {
border-bottom: 1px solid #e0e0e0;
}
.passport-fee-table__category,
.passport-fee-table__price {
padding: 32px 40px;
vertical-align: middle;
color: #333;
font-size: 1.3rem;
font-weight: normal;
}
.passport-fee-table__category {
width: 50%;
}
.passport-fee-table__price {
width: 50%;
} .passport-notes {
list-style: none;
margin: 16px 0 0;
padding: 0;
}
.passport-notes li {
font-size: 0.85rem;
color: #555;
line-height: 1.8;
} .passport-list {
list-style: none;
margin: 0;
padding: 0;
}
.passport-list li {
font-size: 0.92rem;
color: #333;
line-height: 1.85;
padding-left: 1em;
text-indent: -1em;
margin-bottom: 6px;
}
.passport-list li::before {
content: "・";
} .passport-sub-title {
font-size: 1.2rem;
font-weight: normal;
color: #003092;
margin: 0 0 10px;
}
.passport-sub-divider {
border: none;
border-top: 2px dotted #003092;
margin: 0 0 24px;
} @media (max-width: 767px) {
.passport-fee-table__category,
.passport-fee-table__price {
padding: 20px 16px;
}
.passport-sub-title {
font-size: 1rem;
}
}  .floor-tab-nav {
background: #fff;
border-bottom: 1px solid #e0e0e0;
}
.floor-tab-nav__inner {
display: flex;
max-width: 900px;
margin: 0 auto;
padding: 0 20px;
}
.floor-tab-nav__item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 14px 8px;
text-decoration: none;
color: #555;
font-size: 0.78rem;
line-height: 1.4;
text-align: center;
border-bottom: 3px solid transparent;
transition: color 0.2s, border-color 0.2s;
gap: 4px;
}
.floor-tab-nav__item:hover {
color: #003092;
}
.floor-tab-nav__item.is-active {
color: #003092;
border-bottom-color: #003092;
font-weight: bold;
}
.floor-tab-nav__item.is-active::after {
content: "∨";
font-size: 0.7rem;
color: #003092;
display: block;
} .floor-main-visual {
display: flex;
align-items: flex-start;
gap: 0;
margin-bottom: 48px;
position: relative;
}
.floor-main-visual__slider-wrap {
flex: 1;
min-width: 0;
}
.floor-main-visual__slider {
width: 100%;
position: relative;
}
.floor-main-visual__slide {
width: 100%;
}
.floor-main-visual__slide img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
border-radius: 4px;
}
.floor-main-visual__dots {
margin-top: 12px;
justify-content: center;
} .floor-main-visual__catch {
writing-mode: vertical-rl;
text-orientation: mixed;
font-size: 1.5rem;
line-height: 2;
color: #222;
padding: 0 0 0 24px;
margin: 0;
flex-shrink: 0;
max-height: 420px;
overflow: hidden;
} .floor-body-text {
text-align: center;
margin-bottom: 48px;
}
.floor-body-text p {
font-size: 0.95rem;
color: #333;
line-height: 2;
margin: 0 0 24px;
}
.floor-body-text p:last-child {
margin-bottom: 0;
} .floor-image-text {
display: flex;
gap: 32px;
align-items: center;
margin-top: 40px;
margin-bottom: 48px;
}
.floor-image-text__img {
flex: 0 0 50%;
}
.floor-image-text__img img {
width: 100%;
height: auto;
display: block;
border-radius: 4px;
}
.floor-image-text__body {
flex: 1;
}
.floor-image-text__body p {
font-size: 0.92rem;
color: #333;
line-height: 2;
margin: 0;
}
.floor-image-text--bg {
background: #f5f7fa;
border-radius: 8px;
padding: 32px;
overflow: hidden;
}
.floor-image-text--bg .floor-image-text__img {
margin: -32px 0 -32px -32px;
border-radius: 0;
overflow: hidden;
}
.floor-image-text--bg .floor-image-text__img img {
border-radius: 0;
height: 100%;
object-fit: cover;
} .floor-photo-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 40px;
}
.floor-photo-grid__img {
width: 100%;
margin-bottom: 10px;
}
.floor-photo-grid__img img {
width: 100%;
height: auto;
display: block;
border-radius: 4px;
}
.floor-photo-grid__caption {
font-size: 0.85rem;
color: #444;
line-height: 1.7;
margin: 0;
} @media (max-width: 767px) {
.floor-tab-nav__inner {
padding: 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.floor-tab-nav__item {
flex: 0 0 auto;
min-width: 72px;
padding: 12px 6px;
font-size: 0.7rem;
}
.floor-main-visual {
flex-direction: column;
gap: 16px;
}
.floor-main-visual__slider-wrap {
width: 100%;
min-width: 0;
}
.floor-main-visual__slider {
width: 100%;
}
.floor-main-visual__slide {
width: 100%;
}
.floor-main-visual__slide img {
height: 240px;
width: 100%;
}
.floor-main-visual__catch {
writing-mode: horizontal-tb;
padding: 0;
font-size: 0.95rem;
max-height: none;
text-align: center;
width: 100%;
}
.floor-image-text {
flex-direction: column;
gap: 0;
}
.floor-image-text__img {
flex: 0 0 auto;
width: 100%;
}
.floor-image-text--bg {
padding: 0;
gap: 0;
}
.floor-image-text--bg .floor-image-text__img {
margin: 0;
width: 100%;
border-radius: 8px 8px 0 0;
overflow: hidden;
}
.floor-image-text--bg .floor-image-text__img img {
height: auto;
width: 100%;
}
.floor-image-text--bg .floor-image-text__body {
padding: 24px;
}
.floor-photo-grid {
grid-template-columns: 1fr;
gap: 28px;
}
} .shop-card-list {
display: flex;
flex-direction: column;
gap: 24px;
}
.shop-card {
display: grid;
grid-template-columns: 1fr 280px;
border: 1px solid #d0d8e4;
border-radius: 10px;
overflow: hidden;
}
.shop-card__body {
padding: 28px 32px;
}
.shop-card__category {
font-size: 0.82rem;
color: #666;
margin: 0 0 6px;
}
.shop-card__name {
font-size: 1.1rem;
font-weight: bold;
margin: 0 0 14px;
}
.shop-card__name a {
color: #003092;
text-decoration: none;
}
.shop-card__name a:hover {
text-decoration: underline;
}
.shop-card__desc {
font-size: 0.9rem;
color: #333;
line-height: 1.85;
margin: 0 0 12px;
}
.shop-card__hours {
font-size: 0.88rem;
color: #333;
margin: 0 0 20px;
}
.shop-card__btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #003092;
color: #fff;
font-size: 0.9rem;
padding: 12px 20px;
border-radius: 4px;
text-decoration: none;
transition: opacity 0.2s;
}
.shop-card__btn:hover {
opacity: 0.8;
}
.shop-card__img {
overflow: hidden;
}
.shop-card__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} @media (max-width: 767px) {
.shop-card {
grid-template-columns: 1fr;
}
.shop-card__img {
height: 200px;
order: -1;
}
.shop-card__body {
padding: 20px;
}
}  .floormap-map {
margin-bottom: 48px;
}
.floormap-map__img {
border: 1px solid #d0d8e4;
border-radius: 8px;
overflow: hidden;
margin-bottom: 12px;
}
.floormap-map__img img {
width: 100%;
height: auto;
display: block;
}
.floormap-map__expand {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 0.95rem;
color: #003092;
text-decoration: none;
font-weight: bold;
}
.floormap-map__expand:hover {
opacity: 0.7;
}
.floormap-map__expand .fa-plus {
font-size: 1rem;
} .floormap-intro {
display: flex;
gap: 48px;
align-items: flex-start;
margin-bottom: 56px;
}
.floormap-intro__title {
flex: 0 0 240px;
}
.floormap-intro__title p {
font-size: 1.2rem;
font-weight: bold;
color: #003092;
line-height: 1.7;
margin: 0;
}
.floormap-intro__body {
flex: 1;
}
.floormap-intro__body p {
font-size: 0.92rem;
color: #333;
line-height: 2;
margin: 0;
} .floormap-bottom-nav {
border: 1px solid #d0d8e4;
border-radius: 10px;
overflow: hidden;
}
.floormap-bottom-nav .floor-tab-nav {
border-bottom: none;
}
.floormap-bottom-nav .floor-tab-nav__inner {
max-width: 100%;
padding: 0;
}
.floormap-bottom-nav .floor-tab-nav__item {
padding: 20px 8px;
font-size: 0.85rem;
} @media (max-width: 767px) {
.floormap-intro {
flex-direction: column;
gap: 16px;
}
.floormap-intro__title {
flex: 0 0 auto;
}
.floormap-intro__title p {
font-size: 1.05rem;
}
.floormap-bottom-nav .floor-tab-nav__item {
padding: 14px 6px;
font-size: 0.72rem;
}
}  .restaurant-intro {
margin-top: 32px;
}
.restaurant-intro p {
font-size: 1rem;
line-height: 1.9;
color: #333;
margin: 0;
} .restaurant-hours {
border: 2px solid #003092;
border-radius: 4px;
margin-top: 32px;
overflow: hidden;
max-width: 560px;
margin-left: auto;
margin-right: auto;
}
.restaurant-hours__head {
padding: 10px 24px;
background: #003092;
text-align: center;
}
.restaurant-hours__head p {
margin: 0;
font-size: 0.9rem;
font-weight: normal;
color: #fff;
letter-spacing: 0.04em;
}
.restaurant-hours__main {
display: flex;
align-items: center;
justify-content: center;
padding: 24px 32px;
background: #fff;
}
.restaurant-hours__time {
font-size: 1.4rem;
font-weight: normal;
color: #003092;
letter-spacing: 0.05em;
white-space: nowrap;
} .restaurant-news {
margin-top: 56px;
}
.restaurant-news__list {
list-style: none;
margin: 0;
padding: 0;
}
.restaurant-news__item {
border-bottom: 1px solid #e0e0e0;
}
.restaurant-news__item:first-child {
border-top: none;
}
.restaurant-news__link {
display: flex;
align-items: baseline;
gap: 24px;
padding: 16px 8px;
text-decoration: none;
color: #333;
transition: background 0.15s;
}
.restaurant-news__link:hover {
background: #f5f7fa;
}
.restaurant-news__date {
flex-shrink: 0;
font-size: 0.88rem;
color: #888;
font-family: sans-serif;
}
.restaurant-news__title {
font-size: 0.95rem;
color: #003092;
line-height: 1.6;
}
.restaurant-news__title:hover {
text-decoration: underline;
} .restaurant-banner {
display: flex;
gap: 24px;
margin-top: 56px;
}
.restaurant-banner__item {
flex: 1;
display: flex;
align-items: center;
gap: 20px;
padding: 28px 32px;
border-radius: 8px;
text-decoration: none;
color: #fff;
transition: opacity 0.2s;
}
.restaurant-banner__item:hover {
opacity: 0.85;
}
.restaurant-banner__item--instagram {
background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.restaurant-banner__item--okimizuki {
background: #003092;
}
.restaurant-banner__item > .fa-brands,
.restaurant-banner__item > .fa-solid {
font-size: 2.4rem;
flex-shrink: 0;
}
.restaurant-banner__text {
display: flex;
flex-direction: column;
}
.restaurant-banner__sub {
font-size: 0.78rem;
opacity: 0.85;
letter-spacing: 0.08em;
}
.restaurant-banner__main {
font-size: 1.4rem;
font-weight: normal;
letter-spacing: 0.04em;
margin-top: 2px;
} @media (max-width: 767px) {
.restaurant-news__link {
flex-direction: column;
gap: 4px;
padding: 14px 4px;
}
.restaurant-hours__head {
padding: 10px 16px;
font-size: 0.85rem;
}
.restaurant-hours__main {
padding: 14px 16px;
}
.restaurant-hours__time {
font-size: 1.1rem;
letter-spacing: 0.02em;
}
.restaurant-banner {
flex-direction: column;
gap: 16px;
}
.restaurant-banner__item {
padding: 20px 24px;
}
}  .taiken-tab-nav {
background: #fff;
border-bottom: 1px solid #e0e0e0;
}
.taiken-tab-nav__inner {
display: flex;
max-width: 1000px;
margin: 0 auto;
padding: 0 20px;
}
.taiken-tab-nav__item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 14px 6px;
text-decoration: none;
color: #555;
font-size: 0.74rem;
line-height: 1.4;
text-align: center;
border-bottom: 3px solid transparent;
transition: color 0.2s, border-color 0.2s;
}
.taiken-tab-nav__item:hover {
color: #003092;
}
.taiken-tab-nav__item.is-active {
color: #003092;
border-bottom-color: #003092;
font-weight: bold;
}
.taiken-tab-nav__item.is-active::after {
content: "∨";
font-size: 0.7rem;
color: #003092;
display: block;
}
.taiken-tab-nav__label {
display: block;
} .shonaizukan-intro {
margin-top: 24px;
margin-bottom: 32px;
}
.shonaizukan-intro p {
margin: 0 0 4px;
font-size: 1rem;
color: #333;
line-height: 1.8;
}
.shonaizukan-intro__note {
font-size: 0.82rem !important;
color: #666 !important;
line-height: 1.7 !important;
} .zukan-grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.zukan-grid__item {
display: flex;
}
.zukan-card {
display: flex;
flex-direction: column;
width: 100%;
border: 2px solid #003092;
border-radius: 8px;
overflow: hidden;
text-decoration: none;
color: #003092;
transition: opacity 0.2s;
}
.zukan-card:hover {
opacity: 0.8;
}
.zukan-card__img {
width: 100%;
aspect-ratio: 4 / 3;
overflow: hidden;
background: #e8eff8;
}
.zukan-card__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.zukan-card__title {
margin: 0;
padding: 10px 12px;
font-size: 0.9rem;
font-weight: normal;
line-height: 1.5;
display: flex;
align-items: center;
gap: 6px;
}
.zukan-card__title .fa-chevron-right {
font-size: 0.72rem;
flex-shrink: 0;
} .zukan-pagination {
margin-top: 48px;
text-align: center;
}
.zukan-pagination .nav-links {
display: flex;
justify-content: center;
align-items: center;
gap: 8px;
}
.zukan-pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border: 1px solid #cdd6e8;
border-radius: 4px;
color: #003092;
text-decoration: none;
font-size: 0.9rem;
transition: background 0.2s;
}
.zukan-pagination .page-numbers.current {
background: #003092;
color: #fff;
border-color: #003092;
}
.zukan-pagination .page-numbers:hover:not(.current) {
background: #f0f4fb;
} .zukan-empty {
text-align: center;
color: #888;
padding: 40px 0;
font-size: 0.95rem;
} @media (max-width: 767px) {
.taiken-tab-nav__inner {
overflow-x: auto;
padding: 0 12px;
-webkit-overflow-scrolling: touch;
}
.taiken-tab-nav__item {
flex: 0 0 auto;
min-width: 64px;
padding: 12px 8px;
font-size: 0.68rem;
}
.zukan-grid {
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}
}  .zukan-single-content {
margin-top: 32px;
} .zukan-single-content img {
display: block;
width: 100%;
height: auto;
margin-bottom: 20px;
border-radius: 4px;
} .zukan-single-content p {
font-size: 0.9rem;
color: #555;
line-height: 1.8;
margin: 0 0 8px;
} .zukan-single-content h1 {
font-size: 1.6rem;
font-weight: normal;
color: #222;
margin: 16px 0 12px;
line-height: 1.4;
} .zukan-single-content h1 + p,
.zukan-single-content h1 ~ p:not(blockquote p) {
font-size: 0.88rem;
color: #444;
margin: 0 0 4px;
line-height: 1.6;
} .zukan-single-content blockquote {
margin: 20px 0;
font-size: 0.9rem;
color: #444;
}
.zukan-single-content blockquote p {
margin: 0;
font-size: inherit;
color: inherit;
} .zukan-single-content ul {
margin: 16px 0 0;
padding-left: 1.4em;
}
.zukan-single-content ul li {
font-size: 0.88rem;
color: #444;
line-height: 1.8;
margin-bottom: 4px;
} .zukan-post-nav {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid #e0e0e0;
}
.zukan-post-nav__link {
display: inline-flex;
align-items: center;
gap: 6px;
text-decoration: none;
color: #003092;
font-size: 0.85rem;
transition: opacity 0.2s;
max-width: 36%;
line-height: 1.5;
}
.zukan-post-nav__link:hover {
opacity: 0.7;
}
.zukan-post-nav__link--list {
max-width: none;
font-size: 0.82rem;
color: #555;
border: 1px solid #cdd6e8;
border-radius: 4px;
padding: 6px 14px;
white-space: nowrap;
}
.zukan-post-nav__link--prev span,
.zukan-post-nav__link--next span {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
} @media (max-width: 767px) {
.zukan-single-content h1 {
font-size: 1.3rem;
}
.zukan-post-nav {
flex-wrap: wrap;
justify-content: center;
gap: 16px;
}
.zukan-post-nav__link {
max-width: 45%;
}
.zukan-post-nav__link--list {
order: -1;
max-width: none;
width: 100%;
justify-content: center;
}
} .zukan-hub {
display: flex;
flex-direction: column;
gap: 32px;
margin-top: 40px;
}
.zukan-hub__card {
display: flex;
align-items: flex-start;
gap: 32px;
background: #f5f7fa;
border-radius: 12px;
padding: 32px;
}
.zukan-hub__card-body {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.zukan-hub__card-title {
font-size: 1rem;
font-weight: bold;
color: #003092;
text-decoration: none;
line-height: 1.5;
}
.zukan-hub__card-title:hover {
text-decoration: underline;
}
.zukan-hub__card-desc {
margin: 0;
font-size: 0.95rem;
color: #333;
line-height: 1.7;
}
.zukan-hub__card-note {
margin: 0;
font-size: 0.8rem;
color: #888;
line-height: 1.6;
}
.zukan-hub__card-btn {
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-top: 16px;
padding: 12px 20px;
min-width: 260px;
background: #003092;
color: #fff;
text-decoration: none;
font-size: 0.9rem;
border-radius: 4px;
transition: opacity 0.2s;
}
.zukan-hub__card-btn:hover {
opacity: 0.85;
}
.zukan-hub__card-thumb {
flex-shrink: 0;
width: 180px;
aspect-ratio: 1;
border-radius: 6px;
overflow: hidden;
}
.zukan-hub__card-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} @media (max-width: 767px) {
.zukan-hub__card {
flex-direction: column;
padding: 20px;
gap: 16px;
}
.zukan-hub__card-thumb {
width: 100%;
aspect-ratio: 16 / 9;
}
.zukan-hub__card-btn {
min-width: 0;
width: 100%;
}
}  .school-program-content {
margin-top: 40px;
} .school-program-content > p {
font-size: 1rem;
line-height: 2;
color: #333;
text-align: left;
margin: 0 0 24px;
} .school-program-content h2 {
font-size: 1.8rem;
font-weight: normal;
color: #222;
text-align: center;
margin: 56px 0 0;
padding-bottom: 16px;
border-bottom: 2px dotted #a0b8d8;
} .school-program-content h2.title02 {
font-size: 1.05rem;
font-weight: normal;
color: #fff;
background: #003092;
text-align: left;
margin: 40px 0 24px;
padding: 16px 24px;
border-bottom: none;
border-radius: 4px;
} .school-program-content blockquote {
background: #f8f9fb;
border: 2px solid #003092;
border-radius: 6px;
padding: 24px 28px;
margin: 24px 0;
font-style: normal;
font-size: 0.88rem;
color: #333;
line-height: 1.9;
}
.school-program-content blockquote p {
font-size: inherit;
color: inherit;
text-align: left;
margin: 0 0 4px;
}
.school-program-content blockquote ul {
margin: 8px 0 0;
padding-left: 1.6em;
}
.school-program-content blockquote ul li {
margin-bottom: 6px;
line-height: 1.8;
} .school-program-content .wpcf7 {
margin-top: 0;
}
.school-program-content .wpcf7 p {
text-align: left;
font-size: 0.88rem;
margin: 0 0 16px;
}
.school-program-content .wpcf7 label {
display: block;
font-size: 0.88rem;
color: #333;
margin-bottom: 4px;
}
.school-program-content .wpcf7 input[type="text"],
.school-program-content .wpcf7 input[type="email"],
.school-program-content .wpcf7 input[type="tel"],
.school-program-content .wpcf7 input[type="number"],
.school-program-content .wpcf7 select,
.school-program-content .wpcf7 textarea {
width: 100%;
padding: 10px 12px;
border: 1px solid #cdd6e8;
border-radius: 4px;
font-size: 0.9rem;
color: #333;
background: #fff;
box-sizing: border-box;
}
.school-program-content .wpcf7 textarea {
min-height: 120px;
resize: vertical;
}
.school-program-content .wpcf7 input[type="submit"] {
display: block;
width: 100%;
padding: 16px;
background: #003092;
color: #fff;
border: none;
border-radius: 4px;
font-size: 1rem;
cursor: pointer;
transition: opacity 0.2s;
}
.school-program-content .wpcf7 input[type="submit"]:hover {
opacity: 0.85;
}
.school-program-content .wpcf7-not-valid-tip {
font-size: 0.8rem;
color: #d32f2f;
margin-top: 4px;
display: block;
}
.school-program-content .wpcf7-response-output {
margin-top: 16px;
padding: 12px 16px;
border-radius: 4px;
font-size: 0.88rem;
} .school-program-content .wp-block-group {
background: #f5f7fa;
border: 1px solid #dde4f0;
border-radius: 8px;
padding: 28px 32px;
margin-top: 24px;
}
.school-program-content .wp-block-group p {
font-size: 0.88rem;
line-height: 1.8;
color: #333;
text-align: left;
margin: 0 0 12px;
}
.school-program-content .wp-block-group p:last-child {
margin-bottom: 0;
} .school-program-content .wp-block-buttons {
margin-top: 32px;
}
.school-program-content .wp-block-button__link {
background: #003092 !important;
color: #fff !important;
font-size: 1.05rem;
border-radius: 4px !important;
padding: 18px 40px !important;
text-decoration: none;
width: 100%;
text-align: center;
display: block;
transition: opacity 0.2s;
}
.school-program-content .wp-block-button__link:hover {
opacity: 0.85;
} @media (max-width: 767px) {
.school-program-content h2 {
font-size: 1.4rem;
}
.school-program-content blockquote {
padding: 16px 18px;
}
.school-program-content .wp-block-group {
padding: 20px 16px;
}
.school-program-content .wp-block-button__link {
font-size: 0.92rem;
padding: 16px 20px !important;
}
} .school-hub {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 40px;
}
.school-hub__card {
display: flex;
align-items: stretch;
background: #f5f7fa;
border-radius: 10px;
overflow: hidden;
}
.school-hub__card-img {
flex-shrink: 0;
width: 220px;
aspect-ratio: 4 / 3;
overflow: hidden;
background: #dce8f5;
}
.school-hub__card-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.school-hub__card-body {
flex: 1;
display: flex;
flex-direction: column;
padding: 24px 28px;
gap: 10px;
}
.school-hub__card-title {
font-size: 1.1rem;
font-weight: bold;
color: #003092;
line-height: 1.4;
margin: 0;
}
.school-hub__card-divider {
width: 100%;
border-bottom: 2px dotted #a0b8d8;
margin: 0;
}
.school-hub__card-desc {
font-size: 0.9rem;
color: #333;
line-height: 1.8;
margin: 0;
flex: 1;
}
.school-hub__card-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 14px 20px;
background: #003092;
color: #fff;
text-decoration: none;
font-size: 0.9rem;
border-radius: 4px;
transition: opacity 0.2s;
margin-top: 4px;
}
.school-hub__card-btn:hover {
opacity: 0.85;
} @media (max-width: 767px) {
.school-hub__card {
flex-direction: column;
}
.school-hub__card-img {
width: 100%;
aspect-ratio: 16 / 9;
}
.school-hub__card-body {
padding: 18px 16px;
}
}  .gakusyu-section {
margin-bottom: 40px;
background: #f5f6f8;
border-radius: 8px;
padding: 32px 36px;
}
.gakusyu-section__title {
font-size: 1.35rem;
font-weight: 700;
color: #003092;
margin: 0 0 14px;
padding-bottom: 10px;
border-bottom: 2px solid #003092;
line-height: 1.5;
}
.gakusyu-section__lead {
font-size: 0.95rem;
line-height: 1.9;
color: #333;
margin-bottom: 28px;
}
.gakusyu-section__note {
font-size: 0.85rem;
color: #555;
margin-top: 24px;
line-height: 1.8;
}
.gakusyu-section__note a {
color: #003092;
word-break: break-all;
} .gakusyu-subsection {
margin-bottom: 28px;
padding-bottom: 28px;
border-bottom: 1px dashed #ccc;
}
.gakusyu-subsection:last-of-type {
border-bottom: none;
padding-bottom: 0;
}
.gakusyu-subsection__title {
font-size: 1.0rem;
font-weight: 700;
color: #333;
padding: 5px 10px;
border-left: 4px solid #003092;
background: none;
margin: 0 0 14px;
} .gakusyu-items {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-bottom: 12px;
}
.gakusyu-item {
background: #fff;
border: 1px solid #d8e6f0;
border-radius: 4px;
padding: 12px 14px;
display: flex;
flex-direction: column;
gap: 10px;
} .gakusyu-item__meta {
flex: 1;
display: flex;
flex-direction: column;
gap: 3px;
font-size: 0.82rem;
color: #444;
line-height: 1.7;
}
.gakusyu-item__meta-row {
display: block;
}
.gakusyu-item__label {
font-weight: 700;
color: #003092;
} .gakusyu-dl-btn {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
background: #003092;
color: #fff;
font-size: 0.82rem;
font-weight: 600;
padding: 9px 14px;
border-radius: 3px;
text-decoration: none;
transition: opacity 0.2s;
line-height: 1.4;
}
.gakusyu-dl-btn:hover {
opacity: 0.82;
color: #fff;
}
.gakusyu-dl-btn .fa-chevron-right {
flex-shrink: 0;
font-size: 0.7rem;
}
.gakusyu-dl-group {
display: flex;
flex-direction: column;
gap: 7px;
} .gakusyu-with-img {
display: flex;
gap: 32px;
align-items: flex-start;
}
.gakusyu-with-img__body {
flex: 1;
min-width: 0;
} .gakusyu-with-img__body .gakusyu-items {
grid-template-columns: 1fr;
} .gakusyu-subsection-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-bottom: 28px;
padding-bottom: 28px;
border-bottom: 1px dashed #ccc;
}
.gakusyu-subsection-grid:last-of-type {
border-bottom: none;
padding-bottom: 0;
} .gakusyu-subsection-grid .gakusyu-subsection {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
} .gakusyu-item__pdf {
color: #666;
font-size: 0.8rem;
} @media (max-width: 767px) {
.gakusyu-subsection-grid {
grid-template-columns: 1fr;
gap: 20px;
}
}
.gakusyu-with-img__img {
width: 200px;
flex-shrink: 0;
}
.gakusyu-with-img__img img {
width: 100%;
height: auto;
border-radius: 6px;
display: block;
} @media (max-width: 767px) {
.gakusyu-items {
grid-template-columns: 1fr;
}
.gakusyu-with-img {
flex-direction: column;
}
.gakusyu-with-img__img {
width: 100%;
max-width: 280px;
}
.gakusyu-section__title {
font-size: 1.15rem;
}
}  .mv-nav-btn:visited,
.shop-card__btn:visited,
.school-hub__card-btn:visited,
.zukan-hub__card-btn:visited,
.gakusyu-dl-btn:visited,
.restaurant-banner__item:visited,
.zukan-pagination .page-numbers.current:visited {
color: #fff !important;
} .zukan-pagination .page-numbers:not(.current):visited {
color: #003092;
} .taiken-tab-nav__item:visited {
color: #555;
}
.taiken-tab-nav__item.is-active:visited {
color: #003092;
} .school-program-content a:visited,
.gakusyu-section a:visited,
.entry-content a:visited,
.page-content-inner p a:visited {
color: #003092;
}  .kamotsuushin-content {
margin-top: 0;
}
.kamotsuushin-content > * {
max-width: 100%;
margin-left: 0;
margin-right: 0;
} .kamotsuushin-content .wp-block-html {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.kamotsuushin-content .wp-block-html + .wp-block-html {
margin-top: 28px !important;
} .kamotsuushin-issue {
display: flex;
gap: 32px;
align-items: flex-start;
background: #f5f6f8;
border-radius: 6px;
padding: 24px 28px;
margin-bottom: 28px;
}
.kamotsuushin-issue__body {
flex: 1;
min-width: 0;
}
.kamotsuushin-issue__title {
font-size: 1.0rem;
font-weight: 700;
color: #003092;
margin: 0 0 8px;
}
.kamotsuushin-issue__note {
font-size: 0.82rem;
color: #666;
line-height: 1.7;
margin-bottom: 16px;
}
.kamotsuushin-issue__img {
width: 180px;
flex-shrink: 0;
}
.kamotsuushin-issue__img img {
width: 100%;
height: auto;
border-radius: 4px;
display: block;
} .kamotsuushin-dl-btn {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
background: #003092;
color: #fff;
font-size: 0.88rem;
font-weight: 600;
padding: 14px 18px;
border-radius: 4px;
text-decoration: none;
transition: opacity 0.2s;
line-height: 1.3;
box-sizing: border-box;
}
.kamotsuushin-dl-btn:hover {
color: #fff;
opacity: 0.82;
}
.kamotsuushin-dl-btn:visited {
color: #fff !important;
}
.kamotsuushin-dl-btn .fa-chevron-right {
flex-shrink: 0;
font-size: 0.75rem;
} .kamotsuushin-backnumber {
display: flex;
flex-direction: column;
gap: 12px;
max-width: calc(100% - 212px);
} .kamotsuushin-backnumber-btn {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
background: #fff;
color: #003092;
border: 1px solid #003092;
font-size: 0.88rem;
font-weight: 600;
padding: 14px 18px;
border-radius: 4px;
text-decoration: none;
transition: background 0.2s, color 0.2s;
line-height: 1.3;
box-sizing: border-box;
}
.kamotsuushin-backnumber-btn:hover {
background: #003092;
color: #fff;
}
.kamotsuushin-backnumber-btn:visited {
color: #003092;
}
.kamotsuushin-backnumber-btn:hover:visited {
color: #fff;
}
.kamotsuushin-backnumber-btn .fa-chevron-right {
flex-shrink: 0;
font-size: 0.75rem;
color: inherit;
} @media (max-width: 767px) {
.kamotsuushin-issue {
flex-direction: column;
}
.kamotsuushin-issue__img {
width: 100%;
max-width: 200px;
}
.kamotsuushin-backnumber {
max-width: 100%;
}
.kamotsuushin-backnumber-btn {
width: 100%;
}
}  .qanda-content {
margin-top: 8px;
} .qa-item {
border-top: 1px dotted #b0bec5;
padding: 20px 0;
}
.qa-item:last-child {
border-bottom: 1px dotted #b0bec5;
} .qa-q {
display: flex;
align-items: flex-start;
gap: 14px;
margin-bottom: 12px;
}
.qa-q__badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: #003092;
color: #fff;
font-size: 1rem;
font-weight: 700;
border-radius: 4px;
flex-shrink: 0;
margin-top: 1px;
}
.qa-q__text {
font-size: 1rem;
font-weight: 700;
color: #003092;
line-height: 1.6;
} .qa-a {
display: flex;
align-items: flex-start;
gap: 14px;
}
.qa-a__badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: #e8f0fb;
color: #003092;
font-size: 1rem;
font-weight: 700;
border-radius: 4px;
flex-shrink: 0;
margin-top: 1px;
}
.qa-a__text {
font-size: 0.9375rem;
color: #333;
line-height: 1.75;
}
.qa-a__text p {
margin: 0 0 0.6em;
}
.qa-a__text p:last-child {
margin-bottom: 0;
}
.qa-a__text .qa-note {
font-size: 0.875rem;
color: #555;
}
.qa-a__text a {
color: #003092;
text-decoration: underline;
}
.qa-a__text a:visited {
color: #003092;
} @media (max-width: 767px) {
.qa-q__badge,
.qa-a__badge {
width: 24px;
height: 24px;
font-size: 0.875rem;
}
.qa-q__text {
font-size: 0.9375rem;
}
.qa-a__text {
font-size: 0.875rem;
}
}  .oshirase-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0;
} .oshirase-card {
display: flex;
align-items: flex-start;
gap: 28px;
padding: 28px 0;
border-bottom: 1px solid #d6e4f0;
}
.oshirase-list li:first-child {
border-top: 1px solid #d6e4f0;
} .oshirase-card__img {
flex-shrink: 0;
width: 180px;
aspect-ratio: 4 / 3;
overflow: hidden;
border-radius: 6px;
background: #e8f0fb;
}
.oshirase-card__img a {
display: block;
width: 100%;
height: 100%;
}
.oshirase-card__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} .oshirase-card__body {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 8px;
} .oshirase-card__date {
font-size: 0.8125rem;
color: #777;
margin: 0;
} .oshirase-card__title {
font-size: 1.0625rem;
font-weight: 700;
color: #003092;
margin: 0;
line-height: 1.5;
}
.oshirase-card__title a {
color: inherit;
text-decoration: none;
}
.oshirase-card__title a:hover {
text-decoration: underline;
}
.oshirase-card__title a:visited {
color: #003092;
} .oshirase-card__excerpt {
font-size: 0.9rem;
color: #444;
line-height: 1.7;
margin: 0;
} .oshirase-card__btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #003092;
color: #fff;
font-size: 0.875rem;
font-weight: 600;
padding: 9px 20px;
border-radius: 4px;
text-decoration: none;
align-self: flex-start;
margin-top: 4px;
transition: background 0.2s;
}
.oshirase-card__btn:hover {
background: #0046c8;
}
.oshirase-card__btn:visited {
color: #fff;
}
.oshirase-card__btn .fa-chevron-right {
font-size: 0.75rem;
} .oshirase-empty {
text-align: center;
color: #777;
padding: 40px 0;
} .oshirase-pagination {
margin-top: 40px;
display: flex;
justify-content: center;
}
.oshirase-pagination .nav-links {
display: flex;
gap: 6px;
align-items: center;
}
.oshirase-pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border: 1px solid #b0bec5;
border-radius: 4px;
color: #003092;
text-decoration: none;
font-size: 0.875rem;
transition: background 0.2s;
}
.oshirase-pagination .page-numbers.current,
.oshirase-pagination .page-numbers:hover {
background: #003092;
color: #fff;
border-color: #003092;
} @media (max-width: 767px) {
.oshirase-card {
flex-direction: column;
gap: 16px;
}
.oshirase-card__img {
width: 100%;
aspect-ratio: 16 / 9;
}
}  .jyuyo-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 40px;
} .jyuyo-card {
border: 1px solid #d6e4f0;
border-radius: 8px;
overflow: hidden;
background: #fff;
} .jyuyo-card__thumb-link {
display: block;
}
.jyuyo-card__thumb {
width: 100%;
aspect-ratio: 4 / 1; overflow: hidden;
background: #e8f0fb;
}
.jyuyo-card__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.3s;
}
.jyuyo-card__thumb-link:hover .jyuyo-card__thumb img {
transform: scale(1.03);
} .jyuyo-card__body {
padding: 24px 28px 28px;
display: flex;
flex-direction: column;
gap: 10px;
} .jyuyo-card__date {
font-size: 0.8125rem;
color: #777;
margin: 0;
} .jyuyo-card__title {
font-size: 1.0625rem;
font-weight: 700;
color: #003092;
margin: 0;
line-height: 1.5;
}
.jyuyo-card__title a {
color: inherit;
text-decoration: none;
}
.jyuyo-card__title a:hover {
text-decoration: underline;
}
.jyuyo-card__title a:visited {
color: #003092;
} .jyuyo-card__excerpt {
font-size: 0.9rem;
color: #444;
line-height: 1.75;
margin: 0;
} .jyuyo-card__btn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #003092;
color: #fff;
font-size: 0.875rem;
font-weight: 600;
padding: 9px 20px;
border-radius: 4px;
text-decoration: none;
align-self: flex-start;
margin-top: 4px;
transition: background 0.2s;
}
.jyuyo-card__btn:hover {
background: #0046c8;
}
.jyuyo-card__btn:visited {
color: #fff;
}
.jyuyo-card__btn .fa-chevron-right {
font-size: 0.75rem;
} .back-to-top {
position: fixed;
bottom: 24px;
right: 20px;
z-index: 999;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2px;
width: 48px;
height: 48px;
background: #003092;
color: #fff;
border-radius: 50%;
text-decoration: none;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
opacity: 0;
pointer-events: none;
transition: opacity 0.3s, background 0.2s, transform 0.2s;
}
.back-to-top.is-visible {
opacity: 1;
pointer-events: auto;
}
.back-to-top:hover {
background: #001e5c;
transform: translateY(-2px);
}
.back-to-top:visited {
color: #fff;
}
.back-to-top .fa-chevron-up {
font-size: 0.85rem;
line-height: 1;
}
.back-to-top__label {
font-size: 0.55rem;
font-weight: bold;
letter-spacing: 0.05em;
line-height: 1;
} .jyuyo-empty {
text-align: center;
color: #777;
padding: 40px 0;
} .jyuyo-pagination {
margin-top: 40px;
display: flex;
justify-content: center;
}
.jyuyo-pagination .nav-links {
display: flex;
gap: 6px;
align-items: center;
}
.jyuyo-pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border: 1px solid #b0bec5;
border-radius: 4px;
color: #003092;
text-decoration: none;
font-size: 0.875rem;
transition: background 0.2s;
}
.jyuyo-pagination .page-numbers.current,
.jyuyo-pagination .page-numbers:hover {
background: #003092;
color: #fff;
border-color: #003092;
} @media (max-width: 767px) {
.jyuyo-card__body {
padding: 16px 16px 20px;
}
.jyuyo-card__thumb {
aspect-ratio: auto;
overflow: visible;
}
.jyuyo-card__thumb img {
height: auto;
object-fit: unset;
}
}  .post-single-header {
margin-bottom: 24px;
}
.post-single-header__date {
font-size: 0.8125rem;
color: #777;
margin: 0 0 8px;
}
.post-single-header__title {
font-size: 1.375rem;
font-weight: 700;
color: #003092;
line-height: 1.5;
margin: 0 0 16px;
} .post-single-thumb {
margin-bottom: 32px;
border-radius: 6px;
overflow: hidden;
background: #e8f0fb;
}
.post-single-thumb img {
width: 100%;
height: auto;
display: block;
} .post-single-content {
font-size: 0.9375rem;
line-height: 1.8;
color: #333;
margin-bottom: 48px;
}
.post-single-content p {
margin-bottom: 1.2em;
}
.post-single-content h2 {
font-size: 1.125rem;
font-weight: 700;
color: #003092;
border-left: 4px solid #003092;
padding-left: 12px;
margin: 1.8em 0 0.8em;
}
.post-single-content h3 {
font-size: 1rem;
font-weight: 700;
color: #003092;
margin: 1.5em 0 0.6em;
}
.post-single-content ul,
.post-single-content ol {
padding-left: 1.5em;
margin-bottom: 1.2em;
}
.post-single-content li {
margin-bottom: 0.4em;
}
.post-single-content a {
color: #003092;
text-decoration: underline;
}
.post-single-content a:visited {
color: #003092;
}
.post-single-content img {
max-width: 100%;
height: auto;
border-radius: 4px;
} .post-single-nav {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
border-top: 1px solid #d6e4f0;
padding-top: 28px;
margin-top: 12px;
}
.post-single-nav__spacer {
flex: 1;
}
.post-single-nav__link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 0.875rem;
color: #003092;
text-decoration: none;
transition: opacity 0.2s;
}
.post-single-nav__link:hover {
opacity: 0.7;
}
.post-single-nav__link:visited {
color: #003092;
}
.post-single-nav__link--prev,
.post-single-nav__link--next {
max-width: 220px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.post-single-nav__link--list {
background: #003092;
color: #fff;
padding: 9px 18px;
border-radius: 4px;
white-space: nowrap;
flex-shrink: 0;
}
.post-single-nav__link--list:visited {
color: #fff;
}
.post-single-nav__link--list:hover {
opacity: 1;
background: #0046c8;
} @media (max-width: 767px) {
.post-single-header__title {
font-size: 1.125rem;
}
.post-single-nav {
flex-direction: column;
align-items: stretch;
gap: 10px;
}
.post-single-nav__link--list {
text-align: center;
justify-content: center;
}
.post-single-nav__link--prev,
.post-single-nav__link--next {
max-width: 100%;
}
.post-single-nav__spacer {
display: none;
}
} .post-single-thumb--banner {
aspect-ratio: 4 / 1;
overflow: hidden;
border-radius: 6px;
background: #e8f0fb;
}
.post-single-thumb--banner img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}  .kurage-card .zukan-card__text {
padding: 6px 8px 10px;
}
.zukan-card__kana {
font-size: 0.75rem;
color: #0066cc;
letter-spacing: 0.05em;
margin: 0 0 2px;
line-height: 1.4;
}
.kurage-card .zukan-card__title {
margin: 0;
} .kurage-single-header {
margin-bottom: 28px;
}
.kurage-single-header__kana {
font-size: 0.875rem;
color: #0066cc;
letter-spacing: 0.08em;
margin: 0 0 4px;
}
.kurage-single-header__title {
font-size: 1.625rem;
font-weight: 700;
color: #003092;
margin: 0 0 16px;
line-height: 1.4;
} .kurage-single-content {
font-size: 0.9375rem;
line-height: 1.8;
color: #333;
} .kurage-single-content img {
width: 100%;
max-width: 100%;
height: auto;
display: block;
border-radius: 6px;
margin-bottom: 20px;
} .kurage-single-content p {
margin: 0 0 0.5em;
} .kurage-single-content blockquote {
margin: 20px 0;
font-size: 0.9rem;
}
.kurage-single-content blockquote p {
margin: 0 0 0.6em;
}
.kurage-single-content blockquote p:last-child {
margin-bottom: 0;
} .kurage-single-content p:has(> *:first-child:-webkit-any([class])) {
color: #555;
} .kurage-single-content i,
.kurage-single-content em {
font-style: italic;
color: #444;
} .kurage-single-content a {
color: #003092;
text-decoration: underline;
}
.kurage-single-content a:visited {
color: #003092;
} @media (max-width: 767px) {
.kurage-single-header__title {
font-size: 1.25rem;
}
.kurage-single-content blockquote {
margin: 16px 0;
}
} .sec-banner {
background: #fff;
border-top: 1px solid #d0d8e8;
border-bottom: 1px solid #d0d8e8;
padding: 32px 0;
}
.banner-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
list-style: none;
margin: 0;
padding: 0;
}
.banner-grid__item a {
display: block;
border: 1px solid #d0d8e8;
border-radius: 4px;
overflow: hidden;
transition: opacity 0.2s;
}
.banner-grid__item a:hover {
opacity: 0.8;
}
.banner-grid__item img {
width: 100%;
height: 80px;
object-fit: contain;
display: block;
padding: 8px;
box-sizing: border-box;
background: #fff;
} @media (max-width: 767px) {
.sec-banner {
padding: 20px 0;
}
.banner-grid {
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.banner-grid__item img {
height: 60px;
}
} .showtime-content {
font-size: 0.9375rem;
line-height: 1.8;
color: #333;
} .showtime-content img {
max-width: 100%;
height: auto;
display: block;
margin: 20px auto;
} .showtime-content blockquote {
margin: 24px 0;
padding: 20px 28px;
} .showtime-content blockquote a {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 10px;
background: #003092;
color: #fff;
text-decoration: none;
font-size: 0.875rem;
font-weight: 700;
padding: 8px 20px;
border-radius: 4px;
transition: background 0.2s;
}
.showtime-content blockquote a::after {
content: '\f054';
font-family: 'Font Awesome 6 Free';
font-weight: 900;
font-size: 0.7rem;
}
.showtime-content blockquote a:hover {
background: #00206a;
}
.showtime-content blockquote a:visited {
color: #fff;
} .showtime-content h2.nyukan_title_h2,
.showtime-content .nyukan_title_h2 {
font-size: 1.25rem;
font-weight: 700;
color: #fff;
background: #003092;
padding: 10px 20px;
border-radius: 4px;
margin: 32px 0 0;
}  .showtime-content > ul + p {
display: none;
}
.showtime-content ul {
list-style: none;
margin: 0;
padding: 0;
}
.showtime-content ul li {
padding: 0;
margin: 0;
} .showtime-content ul span[style*="font-size"] {
display: block;
font-size: 1.05rem !important;
font-weight: 600;
color: #1a2a50;
padding: 12px 20px;
border-top: 1px solid #c5d3e8;
border-bottom: 1px solid #c5d3e8;
margin-top: -1px;
} .showtime-content > ul:nth-of-type(odd) span[style*="font-size"] {
background: #e4eaf2;
} .showtime-content > ul:nth-of-type(even) span[style*="font-size"] {
background: #dde6f4;
} .showtime-content > p {
margin: 12px 0;
} @media (max-width: 767px) {
.showtime-content blockquote {
padding: 16px 18px;
}
.showtime-content h2.nyukan_title_h2,
.showtime-content .nyukan_title_h2 {
font-size: 1.05rem;
padding: 8px 14px;
}
.showtime-content ul span[style*="font-size"] {
font-size: 0.95rem !important;
padding: 10px 14px;
}
} .showtime-content .showtime-list {
list-style: none;
margin: 0 0 16px;
padding: 0;
border-top: 1px solid #c5d3e8;
}
.showtime-content .showtime-list li {
display: flex;
align-items: center;
gap: 24px;
padding: 12px 20px;
border-bottom: 1px solid #c5d3e8;
font-size: 1.05rem;
font-weight: 600;
color: #1a2a50;
}
.showtime-content .showtime-list li:nth-child(odd) {
background: #f4f6f9;
}
.showtime-content .showtime-list li:nth-child(even) {
background: #eaecf2;
}
.showtime-content .showtime-list__time {
min-width: 4em;
font-variant-numeric: tabular-nums;
flex-shrink: 0;
}
.showtime-content .showtime-list__title {
flex: 1;
} .page-default-content {
font-size: 0.9375rem;
line-height: 1.85;
color: #333;
}
.page-default-content h2 {
font-size: 1.25rem;
font-weight: 700;
color: #003092;
border-bottom: 2px solid #003092;
padding-bottom: 8px;
margin: 32px 0 16px;
}
.page-default-content h3 {
font-size: 1.05rem;
font-weight: 700;
color: #1a2a50;
margin: 24px 0 10px;
}
.page-default-content p {
margin: 0 0 1em;
}
.page-default-content ul,
.page-default-content ol {
padding-left: 1.5em;
margin: 0 0 1em;
}
.page-default-content a {
color: #003092;
text-decoration: underline;
}
.page-default-content a:visited {
color: #003092;
}
.page-default-content img {
max-width: 100%;
height: auto;
} @media (max-width: 767px) {
blockquote {
padding: 14px 16px;
border-radius: 8px;
}
}  .gakusyu-intro {
font-size: 0.9375rem;
line-height: 1.85;
color: #333;
margin-bottom: 36px;
} .gakusyu-note {
font-size: 0.825rem;
color: #555;
line-height: 1.7;
margin: 6px 0 0;
padding-left: 1em;
text-indent: -1em;
} .gakusyu-contact {
display: flex;
gap: 24px;
margin: 40px 0 48px;
flex-wrap: wrap;
}
.gakusyu-contact__block {
flex: 1;
min-width: 260px;
background: #f5f7fa;
border-left: 4px solid #003092;
border-radius: 0 8px 8px 0;
padding: 20px 24px;
}
.gakusyu-contact__label {
font-size: 0.8rem;
font-weight: 700;
color: #003092;
letter-spacing: 0.04em;
margin: 0 0 8px;
padding-bottom: 6px;
border-bottom: 1px solid #c5d0e0;
}
.gakusyu-contact__name {
font-size: 0.9375rem;
font-weight: 700;
color: #222;
margin: 0 0 6px;
line-height: 1.5;
}
.gakusyu-contact__sub {
font-size: 0.8rem;
font-weight: normal;
color: #555;
}
.gakusyu-contact__tel {
font-size: 1rem;
color: #333;
margin: 0 0 12px;
}
.gakusyu-contact__tel a {
color: #003092;
text-decoration: none;
font-weight: 700;
}
.gakusyu-contact__tel a:hover {
text-decoration: underline;
}
.gakusyu-contact__btn {
display: inline-flex;
align-items: center;
gap: 6px;
background: #003092;
color: #fff;
font-size: 0.875rem;
font-weight: 700;
padding: 8px 18px;
border-radius: 4px;
text-decoration: none;
transition: background 0.2s;
}
.gakusyu-contact__btn:hover {
background: #00206a;
}
.gakusyu-contact__btn:visited {
color: #fff;
}
@media (max-width: 767px) {
.gakusyu-contact {
flex-direction: column;
gap: 16px;
}
.gakusyu-contact__block {
min-width: unset;
}
}  .wpcf7 {
width: 100%;
margin-top: 8px;
background: #f5f7fa;
border-radius: 10px;
padding: 32px 36px;
box-sizing: border-box;
}
@media (max-width: 767px) {
.wpcf7 {
padding: 20px 18px;
}
} .wpcf7 p {
margin: 0 0 20px;
line-height: 1.6;
}
.wpcf7 p:last-child {
margin-bottom: 0;
} .wpcf7 label {
display: block;
font-size: 0.9rem;
font-weight: 700;
color: #222;
margin-bottom: 6px;
} .wpcf7 .wpcf7-list-item-label::before,
.wpcf7 abbr[title] {
color: #c0392b;
} .wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
width: 100%;
max-width: 100%; box-sizing: border-box; padding: 11px 14px;
border: 1px solid #b8c8df;
border-radius: 6px;
font-size: 0.9375rem;
color: #333;
background: #fff;
line-height: 1.5;
transition: border-color 0.15s, box-shadow 0.15s;
-webkit-appearance: none;
appearance: none;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
outline: none;
border-color: #003092;
box-shadow: 0 0 0 3px rgba(0, 48, 146, 0.12);
} .wpcf7 textarea {
min-height: 160px;
resize: vertical;
} .wpcf7 select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
padding-right: 36px;
cursor: pointer;
} .wpcf7 .wpcf7-list-item {
display: block;
margin: 6px 0;
}
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
accent-color: #003092;
width: 16px;
height: 16px;
vertical-align: middle;
margin-right: 6px;
} .wpcf7 input[type="submit"] {
display: block;
width: 100%;
max-width: 360px;
margin: 8px auto 0;
padding: 16px 24px;
background: #003092;
color: #fff;
border: none;
border-radius: 6px;
font-size: 1rem;
font-weight: 700;
letter-spacing: 0.06em;
cursor: pointer;
transition: background 0.2s, transform 0.1s;
}
.wpcf7 input[type="submit"]:hover {
background: #00206a;
}
.wpcf7 input[type="submit"]:active {
transform: scale(0.98);
} .wpcf7-not-valid-tip {
display: block;
margin-top: 5px;
font-size: 0.8rem;
color: #c0392b;
}
.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid {
border-color: #c0392b;
background: #fff8f8;
} .wpcf7-response-output {
margin: 20px 0 0;
padding: 14px 18px;
border-radius: 6px;
font-size: 0.9rem;
border: none !important;
} .wpcf7-mail-sent-ok {
background: #e8f5e9;
color: #2e7d32;
border-left: 4px solid #43a047 !important;
} .wpcf7-mail-sent-ng,
.wpcf7-aborted {
background: #fdecea;
color: #c0392b;
border-left: 4px solid #e53935 !important;
} .wpcf7-validation-errors,
.wpcf7-acceptance-missing {
background: #fff8e1;
color: #f57f17;
border-left: 4px solid #ffb300 !important;
} @media (max-width: 767px) {
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
font-size: 1rem; }
.wpcf7 input[type="submit"] {
max-width: 100%;
font-size: 1rem;
}
} .emergency-notice {
background: #c0392b;
padding: 14px 0;
}
.emergency-notice__text {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.9375rem;
font-weight: 700;
color: #fff;
line-height: 1.6;
margin: 0;
}
.emergency-notice__text .fa-triangle-exclamation {
font-size: 1.1rem;
flex-shrink: 0;
}
.emergency-notice__text a {
color: #fff;
text-decoration: underline;
}
.emergency-notice__text a:visited {
color: #fff;
}
@media (max-width: 767px) {
.emergency-notice__text {
font-size: 0.875rem;
}
}