

:root { --fs-body: 14px; --lh-body: 1.8; --section-y: 60px; --header-h: 60px; }

body { padding-bottom: 203px; }
body[data-page="404"] { padding-bottom: 0; }

.jy-header { height: 60px; font-size: 14px; }
.jy-logo { left: 10px; top: 10px; }
.jy-logo img { width: 65px; height: 100px; }
.jy-nav > summary { right: 10px; }

.jy-nav-panel { width: 100%; padding: 60px 40px 40px; font-size: 14px; line-height: 1.8; }
.jy-nav-panel::before,
.jy-nav-panel::after { right: 10px; }
.jy-nav-logo { position: absolute; top: 10px; left: 10px; display: block; width: 65px; height: 100px; }
.jy-nav-logo img { display: block; width: 65px; height: 100px; }
.jy-nav-list > li > a,
.jy-nav-shop > details > summary { padding: 10px 40px 10px 10px; }
.jy-nav-shop > details > summary::after { right: 10px; width: 13px; height: 1px; }
.jy-nav-shop > details > summary::before { right: 16px; width: 1px; height: 13px; }
.jy-nav-sub { position: relative; }
.jy-nav-sub a { padding: 7px 7px 7px 26px; font-size: 16px; }
.jy-langs--nav { height: 26px; margin-top: 20px; margin-bottom: 20px; }
.jy-langs li { margin: 0 6px; }
.jy-langs a { height: 25px; padding: 0 8px; }
.jy-nav-rt { margin-bottom: 11px; }
.jy-btn-line { margin-bottom: 8px; padding: 20px 28px; font-size: 14px; }

.jy-hero { padding-top: 120px; }
.jy-hero-photo { aspect-ratio: 3 / 2; margin-bottom: 10px; }
.jy-hero-box { margin: 0; padding: 80px 40px; }
.jy-hero-ttl { margin: 0 auto 64px; padding-bottom: 12px; font-size: 21px; line-height: 1.8; }
.jy-hero-name { font-size: 20px; letter-spacing: 1px; text-indent: 1px; }
.jy-hero-logowrap { width: calc(100% - 40px); margin-bottom: 35px; }
.jy-hero-logo { width: 35%; height: 150px; }
.jy-hero-lead { margin: 0 0 8px; font-size: 18px; line-height: 1.8; }
.jy-hero-text p { font-size: 14px; text-align: left; }

.jy-intro { padding: 60px 0; }
.jy-intro-in { display: block; padding: 0 20px; }
.jy-intro-ttl { margin: 0 0 8px; font-size: 18px; line-height: 1.8; }
.jy-intro-text p { font-size: 14px; }
.jy-intro-r { margin-top: 10px; }
.jy-intro-photo { aspect-ratio: 16 / 9; }

.jy-in,
.jy-in--n { width: 100%; margin: 0; padding: 0 20px; }

.jy-split { padding: 60px 0; }
.jy-split-item { display: block; }
.jy-split-photo { height: 240px; }
.jy-split-item:first-child .jy-split-photo::after { display: none; }
.jy-split-inner { padding: 20px 0 40px; font-size: 14px; }

.jy-sec-ttl-main { font-size: 24px; letter-spacing: 1px; text-indent: 1px; }

.jy-courses { padding: 60px 0 35px; }
.jy-course-main { display: block; padding: 20px; }
.jy-course-l,
.jy-course-r { width: 100%; padding: 0; }
.jy-course-l { margin-bottom: 10px; }
.jy-course-name { font-size: 18px; line-height: 1.8; }
.jy-course > details > summary { display: block; width: 100%; padding: 0 20px 20px 0; font-size: 14px; line-height: 1.8; }
.jy-course-body { padding: 0 20px 20px; font-size: 14px; line-height: 1.8; }
.jy-menus { display: block; margin: 0; }
.jy-menu { width: 100%; margin: 0 0 14px; }
.jy-note { font-size: 14px; }

.jy-pdf { padding: 60px 0; }
.jy-pdf-grid { display: block; margin: 0; }
.jy-pdf-item { width: 100%; margin: 0 0 14px; }
.jy-pdf-item:last-child { margin-bottom: 0; }

.jy-cancel { padding: 0 0 60px; }
.jy-cancel-block { margin-bottom: 35px; }
.jy-cancel-ttl { font-size: 18px; line-height: 1.8; }
.jy-btn-big { min-width: 100%; padding: 16px 40px; font-size: 15.4px; line-height: 1.8; }
.jy-cancel-box p { font-size: 14px; }

.jy-faq { padding: 0 0 60px; }
.jy-faq-item { margin-bottom: 15px; padding: 20px; }
.jy-faq-item > summary { padding-right: 20px; padding-left: 40px; font-size: 16px; line-height: 1.8; }
.jy-faq-item > summary::before { font-size: 28px; }
.jy-faq-icon { right: 0; }
.jy-faq-a { margin-top: 20px; padding: 15px; font-size: 14px; line-height: 1.8; }

.jy-info { width: 100%; margin-bottom: 60px; font-size: 14px; line-height: 1.8; }
.jy-info .jy-in--n { width: 100%; }
.jy-info-table,
.jy-info-table tbody,
.jy-info-table tr,
.jy-info-table th,
.jy-info-table td { display: block; width: 100%; }
.jy-info-table th { padding: 16px 16px 4px; border-bottom: 0; }
.jy-info-table td { padding: 4px 16px 16px; }
.jy-info-block { margin-bottom: 35px; }
.jy-info-box { padding: 20px 30px; }
.jy-info-box-in { display: block; margin-bottom: 100px; }
.jy-info-box-l { width: 100%; margin-bottom: 10px; padding: 0; }
.jy-info-box-r { width: 100%; padding: 0; }
.jy-map { margin-top: 80px; padding-bottom: 100%; }

.jy-footer { padding: 35px 10px; font-size: 14px; line-height: 1.8; }
.jy-footer::after { position: absolute; top: 100%; right: 0; left: 0; z-index: -1; height: 203px; background: var(--color-bg-invert); content: ""; }
.jy-footer-logo { width: 66px; height: 102px; }
.jy-footer-grp { margin-top: 40px; font-size: 14px; font-weight: 700; line-height: 1.8; }
.jy-footer-nav { margin: 40px 0 20px; }
.jy-footer-nav ul { display: flex; flex-wrap: wrap; }
.jy-footer-nav li { width: 50%; padding: 0; }
.jy-footer-nav a { padding: 10px 10px 10px 24px; font-size: 14px; }
.jy-footer-copy { position: absolute; top: 100%; right: 0; left: 0; padding: 10px; font-size: 11.2px; line-height: 1.8; }

.jy-spbar { display: block; padding: 20px 20px 10px; }
.jy-spbar-head { margin-bottom: 17px; font-size: 17px; line-height: 1.8; }
.jy-spbar a { margin-bottom: 10px; padding: 10px 0; font-size: 17px; font-weight: 300; line-height: 1.8; }
.jy-spbar-web::before { min-width: 18.5px; min-height: 17px; }
.jy-spbar-tel::before { min-width: 13.5px; min-height: 20px; }

.to-top { right: 20px; bottom: 20px; width: 47px; height: 45px; padding: 15px 17px; border: 0; border-radius: 100px; }
body.is-scrolled .to-top,
body.is-scrolled .to-top.is-shown { opacity: .4; }

.jy-404 { padding: 120px 20px 60px; font-size: 14px; line-height: 1.8; }
.jy-404-ttl { font-size: 20px; }
