body, h1, h2, h3, h4, h5, h6, 
input, button, textarea, select, a,
.ct-header [data-id*="menu"] a, 
.ct-header .menu-item a,
.ct-header .ct-menu-link,
.ct-header nav ul li a,
.ct-footer [data-id="copyright"],
.ct-footer .ct-footer-copyright,
.ct-footer .ct-copyright,
.ct-footer small,
.ct-footer .ct-copyright-content {
font-family: "Noto Serif JP", serif !important;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} .ct-header [data-id*="menu"] a, 
.ct-header .menu-item a,
.ct-header .ct-menu-link,
.ct-header nav ul li a {
font-weight: 600 !important;
} .ct-footer [data-id="copyright"],
.ct-footer .ct-footer-copyright,
.ct-footer .ct-copyright,
.ct-footer small,
.ct-footer .ct-copyright-content {
font-weight: 400 !important;
opacity: 0.8;
} .entry-content p, 
.entry-content li {
line-height: 1.8;
letter-spacing: 0.05em;
} b, strong {
font-weight: 600 !important;
} .my-annotation {
display: block;
padding-left: 1.0em;
text-indent: -1.2em;
margin-top: 8px;
font-size: 0.95rem;
color: #777;
letter-spacing: normal !important;
} .nowrap {
display: inline-block;
white-space: nowrap;
} p.poem-wrap {
font-size: clamp(17px, 4vw, 19px);
} .wpcf7-turnstile {
display: hidden !important;
}  @media screen and (max-width: 950px) {
.my-pc-only { display: none !important; }
}
@media screen and (min-width: 951px) {
.my-mobile-only { display: none !important; }
} .smart-break {
word-break: keep-all !important;
overflow-wrap: anywhere;
line-height: 1.4;
}
@media screen and (max-width: 480px) {
.smart-break {
font-size: 2.0rem !important; 
}
}  .my-news-title a {
display: inline-block;
transition: all 0.3s ease !important;
text-decoration: none !important;
position: relative;
}
.my-news-title a::before {
content: "✴︎";
margin-right: 8px;
color: #ff9a9e;
font-size: 0.9em;
}
.my-news-title a:hover {
transform: translateY(-3px);
color: #ff9a9e !important;
text-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
} .my-subtitle {
display: flex;
align-items: flex-start;
font-size: 1.55rem;
font-weight: 600;
color: #5a8f7b; 
letter-spacing: 3px;
line-height: 1.4 !important;
}
.my-subtitle::before {
content: "";
display: inline-block;
width: 40px;
height: 1px;
background-color: currentColor;
margin-right: 15px;
flex-shrink: 0;
margin-top: 0.7em; } .my-subtitle-sub {
padding-left: 65px; 
margin-top: -10px !important;
font-size: 0.90rem;
color: #666;
display: block;
} .my-subtitle-sub br {
display: none;
}
@media (max-width: 600px) {
.my-subtitle-sub br {
display: inline;
}
.my-subtitle-sub {
padding-left: 65px !important; }
} .poem-text p {
margin-bottom: 0.5em !important;
}
.poem-text p:last-child {
margin-bottom: 0 !important;
} .line-header span {
display: inline-block;
position: relative;
} .line-header span::before,
.line-header span::after {
content: "";
position: absolute;
top: 50%;
width: 20px; height: 1px;
background-color: currentColor;
transform: translateY(-50%); } .line-header span::before {
right: 100%;
margin-right: 15px; } .line-header span::after {
left: 100%;
margin-left: 15px; }  .my-more-button a {
display: inline-flex;
align-items: center;
transition: all 0.3s ease;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none !important; } .my-more-button a::after {
content: "»";
margin-left: 8px;
font-size: 1.2em;
transition: transform 0.3s ease;
} .my-more-button a:hover::after {
transform: translateX(5px);
} .my-hover a {
position: relative;
text-decoration: none !important;
color: #2d5a27;
display: inline-block;
} .my-hover a::after {
content: "";
position: absolute;
left: 0;
bottom: 1px;
width: 100%;
height: 2px;
background-color: currentColor;
transform: scaleX(0); transform-origin: center; transition: transform 0.3s ease;
} .my-hover a:hover::after {
transform: scaleX(1);
}  .my-columns-container {
display: flex !important;
flex-wrap: nowrap !important; 
justify-content: center !important; 
gap: 30px !important;                
max-width: 1200px !important;
margin: 40px auto !important;
align-items: stretch !important; } .my-columns-container > .wp-block-column {
flex: 1 1 0% !important; 
min-width: 0 !important; 
margin: 0 !important;
display: flex !important; flex-direction: column !important;
} .my-square-box {
width: 100% !important;
flex-grow: 1 !important; background-color: #f2f2f2 !important; 
display: flex !important;
flex-direction: column !important;
justify-content: flex-start !important; 
align-items: center !important;
text-align: justify !important;
padding: 30px !important;
box-sizing: border-box !important;
border-radius: 12px;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18) !important;
transition: all 0.3s ease !important;
} .my-card-title {
font-size: 1.55rem !important;
color: #333 !important;
font-weight: 600 !important;
letter-spacing: 0.05em !important;
line-height: 1.4 !important;
margin-bottom: 15px !important;
border-bottom: 2px solid #e0e0e0;
padding-bottom: 10px !important;
width: 100%;
text-align: center !important;
} .my-card-text {
font-size: 1.05rem !important;
} .my-square-box:hover {
transform: translateY(-10px); 
box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25) !important;
background-color: #ffffff !important; 
}
.my-square-box:hover .my-card-title {
color: #2D4739 !important; 
border-bottom-color: #5A8F7B !important;
} @media (max-width: 950px) { .wp-block-columns {
flex-direction: column !important;
}
.wp-block-column {
width: 100% !important;
margin-left: 0 !important;
margin-bottom: 20px;
} .my-columns-container {
flex-wrap: wrap !important;
flex-direction: column !important;
align-items: center !important;
gap: 0 !important; }
.my-columns-container > .wp-block-column {
flex: 0 0 100% !important;
width: 100% !important;
max-width: 500px !important;
margin-bottom: 25px !important;
} .my-square-box {
min-height: 150px !important;
padding: 40px 25px !important;
}
}  .student-quote-intro {
text-align: center;
padding: 60px 20px;
background: #ffffff;
margin: 40px auto;
max-width: 1000px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
} .quote-outer {
display: inline-block; position: relative;
padding: 60px 80px;
margin: 0 auto;
text-align: left;
} .quote-icon-open, .quote-icon-close {
display: block;
font-size: 80px;
color: #f0f0f0;
font-family: "Georgia", serif;
line-height: 1;
position: absolute;
width: 60px;
height: 60px;
z-index: 1;
}
.quote-icon-open { top: 20px; left: 15px; text-align: left; }
.quote-icon-close { bottom: 0; right: 15px; text-align: right; } .quote-inner {
position: relative;
z-index: 2;
}
.quote-text {
font-size: 1.6rem;
color: #333;
line-height: 1.8;
font-weight: 600;
margin: 0;
letter-spacing: 0.1em;
display: inline-block;
text-align: left;
} .slogan-container {
padding: 40px 10px;
text-align: center;
}
.custom-slogan {
font-size: 1.4rem;
font-weight: 600;
line-height: 1.8;
letter-spacing: 0.05em;
word-break: keep-all; overflow-wrap: anywhere;
margin: 0;
} .student-episode-section {
padding: 40px 20px;
background: #fafafa;
text-align: center;
}
.episode-card {
max-width: 800px; margin: 0 auto;
background: #ffffff;
padding: 60px 50px;
border: 1px solid #e0e0e0;
border-radius: 8px;
text-align: left;
}
.episode-headline {
font-size: 1.4rem;
color: #222;
margin-bottom: 30px;
line-height: 1.5;
font-family: "Noto Serif JP", serif;
border-left: 4px solid #766280; padding-left: 20px;
}
.episode-text {
font-size: 1.1rem;
color: #444;
line-height: 2;
margin-bottom: 30px;
} .episode-author {
text-align: right;
border-top: 1px dashed #eee;
padding-top: 20px;
}
.author-name {
font-weight: bold;
font-size: 1.1rem;
color: #333;
}
.author-info {
font-size: 0.9rem;
color: #777;
margin-left: 10px;
} .quote-link-container {
margin-top: 40px;
display: block;
text-align: center;
}
.quote-read-more, .quote-read-more2 {
display: inline-block;
color: #ccc;
text-decoration: none;
font-size: 0.95rem;
font-weight: bold;
border-bottom: 1px solid transparent;
transition: 0.3s;
}
.quote-read-more:hover, .quote-read-more2:hover {
color: #8E779A;
border-bottom: 1px solid #8E779A;
} @media (max-width: 768px) {
.student-quote-intro { padding: 40px 15px; margin: 20px auto; }
.quote-outer { padding: 40px 40px; }
.quote-text { font-size: 1.2rem; }
.quote-icon-open, .quote-icon-close { font-size: 50px; }
.custom-slogan { font-size: 1.2rem; }
.episode-card { padding: 40px 25px; }
.episode-headline { font-size: 1.2rem; }
.pc-only { display: none; }
} .my-contact-intro {
text-align: center !important;
max-width: 700px !important;
margin: 0 auto 60px auto !important;
border-top: 2px solid #5a8f7b;
border-bottom: 2px solid #5a8f7b;
padding: 40px 20px !important;
background-color: #f9fbfb;
font-size: 1.1rem !important;
line-height: 2 !important;
letter-spacing: 0.1em !important;
color: #444 !important;
}
@media (max-width: 950px) {
.my-contact-intro {
text-align: left !important;
font-size: 1rem !important;
padding: 30px 30px !important;
margin-bottom: 40px !important;
} .my-contact-intro br { display: none !important; }
}  .my-form-title.phone-icon {
text-align: center !important;
font-size: 2.5rem !important; 
color: #444 !important;        
margin-bottom: 40px !important;
line-height: 1 !important;
} .my-contact-tel {
text-align: center !important;
font-size: 3rem !important;
font-weight: 600 !important;
color: #5a8f7b !important;
margin-top: 0 !important;
margin-bottom: 60px !important;
line-height: 1.2 !important;
transition: opacity 0.3s ease; }
.my-contact-tel a {
color: inherit !important;
text-decoration: none !important;
}
.my-contact-tel:hover { opacity: 0.7; }
@media (max-width: 950px) {
.my-form-title.phone-icon {
font-size: 2rem !important;
margin-bottom: 15px !important;
}
.my-contact-tel {
font-size: 2.2rem !important;
margin-bottom: 40px !important;
}
} .my-tel-time {
text-align: center !important;
font-size: 0.95rem !important;
letter-spacing: 0.1em !important;
color: #666 !important;
font-weight: 600 !important;
margin-top: 10px !important; 
margin-bottom: 30px !important;
line-height: 1.8 !important;
} .my-tel-time + .my-tel-time { margin-top: 15px !important; } .my-contact-tel + .my-tel-time { margin-top: -45px !important; }
@media (max-width: 950px) {
.my-tel-time {
text-align: left !important;
font-size: 0.85rem !important;
margin-bottom: 25px !important;
padding: 0 30px !important;
margin-top: 10px !important;
} .my-contact-tel + .my-tel-time {
text-align: center !important;
margin-top: -35px !important; 
padding: 0 15px !important;
}
.my-tel-time br { display: none !important; }
}  .my-contact-sep {
border: none !important;
border-top: 1px solid #eee !important;
max-width: 150px !important;
margin: 60px auto !important;
} .my-form-title {
text-align: center !important;
font-size: 1.5rem !important;
letter-spacing: 0.15em !important;
color: #444 !important;
margin-bottom: 40px !important;
position: relative;
display: block; white-space: nowrap !important; 
} .my-form-title::before,
.my-form-title::after {
content: "";
display: inline-block;
width: 20px;
height: 1px;
background-color: currentColor;
vertical-align: middle;
margin: 0 15px; } @media (max-width: 950px) {
.my-form-title {
font-size: 1.1rem !important; margin-bottom: 30px !important;
}
.my-form-title::before,
.my-form-title::after {
margin: 0 8px; width: 15px; }
.my-contact-sep {
margin: 40px auto !important;
}
}  .wpcf7-spinner {
display: none !important;
} .wpcf7 {
max-width: 700px;
margin: 0 auto !important;
} .wpcf7-form-control:not(input[type="submit"]):not(input[type="checkbox"]):not(select) {
width: 100% !important;
border: 1px solid #5a8f7b !important; padding: 12px 15px !important;
border-radius: 4px !important;
box-sizing: border-box !important;
background-color: #ffffff !important;
font-family: "Noto Serif JP", serif !important;
} .required-mark::after {
content: "＊";
color: #d9534f;
margin-left: 4px;
font-size: 0.9rem;
} select.wpcf7-form-control {
width: 100% !important;
height: 48px !important;
padding: 0 15px !important;
border: 1px solid #5a8f7b !important;
border-radius: 4px !important;
background-color: #ffffff !important;
font-family: "Noto Serif JP", serif !important;
cursor: pointer !important;
} .wpcf7-checkbox {
display: flex !important;
flex-wrap: wrap !important;
gap: 20px !important;
margin-top: 10px !important;
}
.wpcf7-list-item {
display: inline-flex !important;
align-items: center !important;
margin: 0 !important;
cursor: pointer;
} .wpcf7-list-item input[type="checkbox"] {
margin: 0 8px 0 0 !important;
width: 18px !important;
height: 18px !important;
border: 1px solid #5a8f7b !important;
border-radius: 3px !important;
accent-color: #5a8f7b !important; cursor: pointer;
transition: filter 0.3s ease;
}
.wpcf7-list-item input[type="checkbox"]:hover {
filter: brightness(1.2);
}
.wpcf7-list-item-label {
font-size: 1rem !important;
color: #444 !important;
white-space: nowrap !important;
} .wpcf7-submit {
display: block !important;
margin: 40px auto 0 auto !important;
background-color: #5a8f7b !important;
color: #fff !important;
padding: 15px 80px !important;
border: none !important;
border-radius: 50px !important;
font-size: 1.1rem !important;
font-weight: bold !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
}
.wpcf7-submit:hover {
background-color: #436d5d !important;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
} .wpcf7-not-valid-tip {
font-size: 0.85rem !important;
margin-top: 5px !important;
}
@media (max-width: 950px) {
.wpcf7-checkbox {
gap: 10px 15px !important;
}
.wpcf7-list-item-label {
font-size: 0.95rem !important;
}
}  .step-card {
background: #ffffff;
border: 1px solid #e2e8f0;
padding: 25px;
border-radius: 8px;
height: 100%;
transition: transform 0.3s ease, box-shadow 0.3s ease;
} .step-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.05);
} .step-card figure { margin: -25px -25px 20px -25px !important; 
width: calc(100% + 50px) !important;
max-width: none !important;
}
.step-card img {
width: 100% !important;
height: auto !important;
display: block;
border-radius: 8px 8px 0 0; aspect-ratio: 16 / 9;
object-fit: cover;
} .step-card h4 {
font-size: 1.25rem !important;
color: #333;
margin-top: 20px !important;
margin-bottom: 15px !important;
border-bottom: 2px solid #5a8f7b; display: inline-block;
padding-bottom: 3px;
} .step-card h4 span,
.step-card h4 .step-num {
color: #d9534f;
font-weight: 600;
margin-right: 10px;
font-size: 2.2rem; font-family: "Constantia", "Palatino", "Garamond", "Georgia", serif;
display: inline-block;
vertical-align: middle;
transform: translateY(-0.1em); font-variant-numeric: tabular-nums; }  .tel-link {
text-decoration: none;
font-weight: bold;
font-size: 1.05em;
cursor: default;
pointer-events: none;
} @media screen and (max-width: 768px) {
.tel-link {
border-bottom: 1px solid;
padding-bottom: 1px; 
pointer-events: auto;
cursor: pointer;
transition: all 0.3s ease;
}
.tel-link:hover {
border-bottom-color: transparent;
}
} @media (max-width: 680px) {
.step-card {
margin-bottom: 20px !important;
}
} .modern-table {
width: 100%;
border-collapse: collapse;
margin: 30px 0;
}
.modern-table td {
padding: 15px 30px;
border-bottom: 1px solid #e0e0e0;
}
.modern-table td:first-child {
background-color: #fcfcfc;
color: #5a8f7b;
font-weight: bold;
width: 30%;
border-left: 4px solid #5a8f7b !important;
padding: 15px 10px;
text-align: center;
letter-spacing: 0.4em;
text-indent: 0.4em;
font-size: 0.95rem;
white-space: nowrap;
}
.modern-table td:last-child {
width: 70%;
line-height: 1.8;
white-space: pre-line;
}
.modern-table strong, .modern-table b {
color: #d9534f;
}
.modern-table small {
font-size: 0.88em;
margin-top: 4px;
letter-spacing: 0.05em;
} @media (max-width: 950px) {
.modern-table, .modern-table tbody, .modern-table tr, .modern-table td {
display: block;
width: 100% !important;
}
.modern-table td:first-child {
border-bottom: none;
background-color: #f9f9f9;
letter-spacing: 0.2em;
text-indent: 0.2em;
text-align: left;
padding: 15px 15px;
}
.modern-table td:last-child {
padding-top: 5px;
padding-bottom: 20px;
}
} .grade-slogan {
display: block;
font-size: 0.80rem;
font-weight: normal;
letter-spacing: 0.1em;
margin-top: 5px;
color: #888;
}
.subject-table tr.elementary td:first-child { border-left: 4px solid #bc7d7d !important; }
.subject-table tr.junior-high td:first-child { border-left: 4px solid #6785b0 !important; }
.subject-table tr.high-school td:first-child { border-left: 4px solid #8e779a !important; }
.elementary .grade-slogan { color: #a66a6a; }
.junior-high .grade-slogan { color: #566d91; }
.high-school .grade-slogan { color: #766280; } .tuition-table {
width: 100%;
border-collapse: collapse;
}
.tuition-title {
font-weight: bold;
letter-spacing: 0.4em;
text-indent: 0.4em;
font-size: 0.95rem;
}
.tuition-grade { color: #5a8f7b; }
.tuition-table strong { color: #d9534f; }
.tuition-table td:nth-child(2),
.tuition-table td:nth-child(3) {
width: 35%;
text-align: center;
}
.tuition-table td:first-child {
background-color: #fcfcfc;
text-align: center;
} .tuition-table tr.elementary td:first-child { border-left: 4px solid #bc7d7d !important; }
.tuition-table tr.junior-high td:first-child { border-left: 4px solid #6785b0 !important; }
.tuition-table tr.high-school td:first-child { border-left: 4px solid #8e779a !important; }
.course-top { background-color: #fcfcfc; }
.price-tax-in { font-size: 1.1rem; font-weight: bold; color: #394e65; }
.price-tax-ex { font-size: 0.75rem; color: #888; display: block; margin-top: 2px; }
.tuition-table small {
font-size: 0.7rem;
color: #999;
font-weight: normal;
display: block;
line-height: 1.3;
} .course-intro { text-align: center !important; }
.course-text {
display: inline-block;
text-align: left;
line-height: 1.5;
vertical-align: middle;
} .tuition-note-discount {
font-size: 0.85rem;
color: #555;
margin: -10px 0 20px 0;
padding: 10px;
background-color: #f9f9f9;
border-radius: 4px;
text-align: center;
}
.tuition-footer {
margin: -15px 0 30px 0;
padding: 10px 15px 10px 20px;
text-align: left;
}
.tuition-footer p {
font-size: 0.85rem;
line-height: 1.6;
margin-bottom: 4px;
color: #666;
text-indent: -1em;
padding-left: 1em;
}
.special-notice { color: #d9534f !important; font-weight: bold; } @media (max-width: 950px) {
.tuition-title {
width: 100% !important;
letter-spacing: 0.2em;
text-indent: 0.2em;
} .wp-block-group, .wp-block-column, .wp-block-columns > * {
animation-delay: 0s !important;
transition-delay: 0s !important;
animation-duration: 0.5s !important;
}
}  .sp-br { display: none; }
.pc-spacer { display: inline; }
@media (max-width: 680px) {
.pc-spacer { display: none !important; }
.sp-br {
display: block;
content: "";
margin-top: 5px;
}
} .greeting-column-layout {
gap: 60px !important;
align-items: center;
}
.greeting-content-group {
display: flex;
flex-direction: column;
justify-content: center;
}
.greeting-h3 {
font-size: 1.6rem !important;
color: #333;
position: relative;
padding-left: 18px;
margin-bottom: 25px !important;
line-height: 1.4;
border-left: 5px solid #2D4739; }
.greeting-text {
line-height: 1.9;
text-align: justify;
} .greeting-profile-group { text-align: center; }
.greeting-profile-group img {
max-width: 100%;
height: auto;
border-radius: 4px;
box-shadow: 0 4px 15px rgba(0,0,0,0.08);
margin-bottom: -5px !important;
}
.greeting-name {
font-size: 1.1rem;
font-weight: bold;
color: #333;
line-height: 1.6;
margin-top: 15px;
display: block;
}
.greeting-name span {
font-size: 0.9rem;
font-weight: normal;
color: #666;
display: block;
margin-bottom: -5px;
}
@media (max-width: 782px) {
.greeting-column-layout { gap: 30px !important; }
.greeting-h3 { font-size: 1.4rem !important; margin-top: 20px; }
} .anniversary-message {
text-align: center;
margin: 40px auto 40px;
}
.anniversary-text {
display: inline-block;
font-size: 1.25rem;
font-weight: bold;
color: #2D4739;
letter-spacing: 0.15em;
padding-bottom: 10px;
border-bottom: 2px solid #2D4739;
line-height: 1.6;
}
.sp-only { display: inline; }
.anniversary-sub {
font-family: 'Times New Roman', serif;
font-size: 1rem;
color: #999;
margin-top: 10px;
letter-spacing: 0.2em;
}
@media (max-width: 680px) {
.sp-only { display: block; }
.anniversary-text {
font-size: 1.15rem;
border-bottom: none;
padding-bottom: 0;
}
.anniversary-text::after {
content: "";
display: block;
width: 100px;
height: 2px;
background: #2D4739;
margin: 15px auto 0;
}
} .history-timeline {
max-width: 800px;
margin: 60px auto;
padding-left: 30px;
position: relative;
}
.history-timeline::before {
content: "";
position: absolute;
left: 0; top: 0; bottom: 0;
width: 2px;
background: #e0e0e0;
}
.history-item {
position: relative;
margin-bottom: 40px;
padding-left: 30px;
}
.history-item::before {
content: "";
position: absolute;
left: -6px;
top: 5px;
width: 14px;
height: 14px;
background-color: #5A8F7B;
border-radius: 50%;
border: 3px solid #fff;
box-shadow: 0 0 0 2px #5A8F7B;
z-index: 1;
}
.history-year {
font-size: 1.2rem;
font-weight: bold;
color: #2D4739;
margin-bottom: 5px;
letter-spacing: 0.08em;
font-feature-settings: "palt"; display: block;
}
.history-event { font-size: 1rem; line-height: 1.6; }
@media (max-width: 782px) {
.history-timeline { margin: 40px 20px; }
}  .company-info-container {
max-width: 900px;
margin: 60px auto;
padding: 0 20px;
} .company-info-table {
width: 100%;
border-collapse: collapse;
border: none;
line-height: 1.8;
} .company-info-table tr {
border-bottom: 1px solid #eee;
}
.company-info-table tr:last-child {
border-bottom: none;
} .company-info-table th,
.company-info-table td {
padding: 25px 20px;
text-align: left;
vertical-align: top;
font-size: 1rem;
border: none;
} .company-info-table th {
width: 25%;
color: #2D4739;
font-weight: bold;
background-color: #fcfcfc;
} .company-info-table td {
color: #444;
} .map-container {
max-width: 900px;
margin: 40px auto 80px;
padding: 0 20px;
}
.map-container iframe {
width: 100%;
height: 400px;
border: none;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
filter: grayscale(0.2);
display: block; } .map-note-wrapper {
text-align: center;
margin-top: 15px;
}
.map-note {
display: inline-block;
text-align: left;
font-size: 0.85rem;
line-height: 1.6;
color: #666;
padding-left: 1em;
text-indent: -1em;
} @media (max-width: 600px) {
.company-info-table tr,
.company-info-table th,
.company-info-table td {
display: block;
width: 100%;
}
.company-info-table tr {
padding: 15px 0;
}
.company-info-table th,
.company-info-table td {
padding: 5px 10px;
background-color: transparent; }
.company-info-table th {
font-size: 0.9rem;
padding-bottom: 0;
}
.map-container iframe {
height: 300px;
}
.map-note {
display: block;
padding: 0 1em;
}
} .map-container {
max-width: 900px;
margin: 40px auto 80px;
padding: 0 20px;
}
.map-container iframe {
width: 100% !important;
height: 400px;
border: none;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
filter: grayscale(0.2); }
.map-note-wrapper { text-align: center; margin-top: 15px; }
.map-note {
display: inline-block;
text-align: left;
font-size: 0.85rem;
line-height: 1.6;
color: #666;
padding-left: 1em;
text-indent: -1em;
}
@media (max-width: 600px) {
.map-container iframe { height: 300px; }
.map-note { display: block; padding: 0 1em; }
} .philosophy-message, 
.practice-grid {
margin-top: 30px;
margin-bottom: 80px;
}
.philosophy-message {
padding: 50px 30px 20px 30px; background-color: #fcfaf5; 
border-radius: 8px;
max-width: 1000px;
margin-left: auto;
margin-right: auto;
}
.philosophy-message .message-content {
max-width: 700px; 
margin: 0 auto;
}
.philosophy-message h3 {
font-size: 1.2rem;
color: #2D4739;
margin-bottom: 30px;
text-align: center;
line-height: 1.6;
}
.philosophy-message p {
line-height: 2.2; 
color: #333;
text-align: justify;
} .practice-grid {
max-width: 1000px;
margin: 30px auto;
border: 1px solid #f0f0f0; 
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
overflow: hidden;
} .practice-grid .wp-block-columns {
display: flex;
flex-wrap: nowrap;
gap: 0 !important;
margin-bottom: 0 !important;
}
.practice-grid .wp-block-column {
flex: 1 1 50% !important;
max-width: 50% !important;
margin: 0 !important;
display: flex;
} .practice-item {
display: flex !important;
flex-direction: column;
justify-content: center;
width: 100%;
padding: 7% 8% !important;
background-color: #fff;
box-sizing: border-box;
} .practice-grid [class*="image-box"] {
padding: 0 !important;
position: relative;
overflow: hidden;
min-height: 350px;
}
.practice-grid [class*="image-box"] img {
width: 100% !important;
height: 100% !important;
position: absolute;
top: 0;
left: 0;
object-fit: cover !important;
object-position: center center;
margin: 0 !important;
transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
} .practice-grid [class*="image-box"].pos-left img { object-position: left center !important; }
.practice-grid [class*="image-box"].pos-right img { object-position: right center !important; }
.practice-grid [class*="image-box"].pos-right-sub img { object-position: 70% center !important; }
.practice-grid [class*="image-box"].pos-left-sub img { object-position: 30% center !important; }
.practice-grid [class*="image-box"].pos-top img { object-position: center top !important; }
.practice-grid [class*="image-box"].pos-bottom img { object-position: center bottom !important; } .practice-grid [class*="image-box"]:hover img {
transform: scale(1.05) !important;
} .practice-item h3 {
font-size: 1.3rem;
color: #5a8f7b;
margin-bottom: 15px;
font-weight: bold;
border-bottom: 2px solid #5a8f7b;
display: inline-block;
padding-bottom: 5px;
letter-spacing: 0.05em;
}
.practice-item p {
font-size: 1.0rem;
line-height: 1.9;
} .practice-item .practice-link-box a {
color: #5a8f7b;
text-decoration: none;
font-size: 0.9rem;
letter-spacing: 0.05em;
position: relative;
padding-bottom: 3px;
display: inline-block;
}
.practice-item .practice-link-box a::after {
content: "";
position: absolute;
left: 0; bottom: 0;
width: 100%; height: 1px;
background-color: #5a8f7b;
opacity: 0.5;
transition: opacity 0.3s;
}
.practice-item .practice-link-box a:hover::after { opacity: 1; } @media (max-width: 950px) {
.practice-grid {
border: none;
box-shadow: none;
background: transparent;
}
.practice-grid .wp-block-columns {
flex-direction: column !important;
margin-bottom: 50px !important;
background: #fff;
border-radius: 12px;
border: 1px solid #f0f0f0;
overflow: hidden;
}
.practice-grid .wp-block-column {
flex-basis: 100% !important;
max-width: 100% !important;
}
.practice-grid [class*="image-box"] {
min-height: 300px; 
} .u-order-first-mobile {
order: -1 !important; 
}
.practice-item {
padding: 40px 25px !important;
}
} .privacy-container {
max-width: 800px;
margin: 60px auto;
padding: 60px 50px;
background: #ffffff;
border-radius: 12px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
line-height: 1.8;
color: #444;
} .privacy-header {
text-align: center;
margin-bottom: 50px;
border-bottom: 2px solid #f0f0f0;
padding-bottom: 30px;
}
.privacy-header .privacy-title {
font-size: 1.8rem;
color: #333;
margin-bottom: 10px;
font-weight: bold;
display: block; }
.privacy-header p:not(.privacy-title) {
font-size: 0.95rem;
color: #888;
} .privacy-section {
margin-bottom: 40px;
}
.privacy-section h2 {
font-size: 1.2rem;
color: #5A8F7B;
margin-bottom: 15px;
display: flex;
align-items: center;
font-weight: bold;
}
.privacy-section ul {
padding-left: 10px; list-style-type: none;
}
.privacy-section li {
position: relative;
padding-left: 1.5em; }
.privacy-section li::before {
content: "・";
position: absolute;
left: 0;
color: #5A8F7B;
font-weight: bold;
} .privacy-footer {
margin-top: 60px;
padding-top: 30px;
border-top: 1px solid #eee;
text-align: right;
font-size: 0.9rem;
color: #777;
}
.school-name {
font-size: 1.1rem;
color: #333;
font-weight: bold;
margin-top: 10px;
display: block;
} @media (max-width: 950px) {
.privacy-container {
padding: 40px 20px;
margin: 20px 15px;
}
.privacy-header .privacy-title {
font-size: 1.4rem;
}
.privacy-header p:not(.privacy-title) {
font-size: 0.85rem;
}
} .my-subtitle-blog {
display: flex;
align-items: flex-start; font-size: 1.35rem;
color: #5a8f7b; 
font-weight: bold;
line-height: 1.4 !important;
margin-top: 2.5em;
margin-bottom: 0.8em;
} .my-subtitle-blog::before {
content: "";
display: inline-block;
width: 30px;
height: 1px;
background-color: currentColor; margin-right: 12px;
flex-shrink: 0;
margin-top: 0.7em; }
@media (max-width: 600px) {
.my-subtitle-blog {
font-size: 1.1rem;
letter-spacing: normal;
}
.my-subtitle-blog::before {
width: 20px; margin-right: 8px;
}
} .info-table {
border-collapse: collapse;
width: 100%;
margin-bottom: 2em;
font-size: 0.95rem;
border: 1px solid #eee;
}
.info-table td {
padding: 15px;
border-bottom: 1px solid #eee;
line-height: 1.6;
vertical-align: top;
}
.info-table td:first-child {
width: 30%;
background-color: #fcfaf5; color: #2D4739;
font-weight: bold;
}
@media (max-width: 768px) {
.info-table tr {
display: block;
margin-bottom: 15px;
border-bottom: 1px solid #eee; }
.info-table td {
display: block;
width: 100% !important;
box-sizing: border-box;
}
.info-table tr:last-child {
margin-bottom: 0;
}
}  .post-navigation .item-label {
display: none !important;
} .mission-link-container {
margin-top: 40px;
padding: 30px 20px;
background-color: #f9f9f9;
border-top: 1px solid #eee;
text-align: center;
}
.mission-intro-text {
font-size: 0.95rem;
color: #666;
margin-bottom: 10px;
line-height: 1.8;
}
.mission-link {
color: #666;
text-decoration: none;
border-bottom: 1px solid #999;
padding-bottom: 3px;
transition: color 0.3s ease, opacity 0.3s ease;
}
.mission-link:hover {
color: #5a8f7b; border-bottom-color: transparent;
}  .footer-nav-container {
width: 100% !important;
padding: 30px 0 !important;
}
.footer-nav {
display: flex !important;
list-style: none !important;
margin: 0 auto !important;
padding: 0 !important; justify-content: center;
} @media (min-width: 951px) {
.footer-nav a:not(:last-child) {
border-right: 1px solid #ccc !important;
padding-right: 20px !important;
margin-right: 20px !important;
}
} @media (max-width: 950px) {
.footer-nav {
flex-direction: column !important;
align-items: center !important;
width: 100vw !important;
position: relative !important;
left: 50% !important;
transform: translateX(-50%) !important;
}
.footer-nav li {
width: 100%; text-align: center;
}
.footer-nav a {
display: block; width: 60% !important;
margin: 0 auto !important;
text-align: center !important;
padding: 20px 0 !important;
border-bottom: 1px solid #ccc !important;
text-decoration: none;
}
} .footer-access-info {
font-family: "Noto Serif JP", serif;
font-size: 13px;
line-height: 1.6;
color: inherit; }
.footer-access-info p {
margin: 0 !important;
} @media (max-width: 480px) {
.footer-access-info {
font-size: 12px;
padding: 0 10px;
}
}