@charset "utf-8";
@font-face {font-family:'HiraginoMaru';font-display:swap;src:url('HiraginoMaru.ttf') format('truetype')}
body,p,span,li,a,button,table,th,td {font-family:'HiraginoMaru','Hiragino Maru Gothic ProN','Hiragino Maru Gothic Pro','M PLUS Rounded 1c',sans-serif}
.fa,.fa-solid,.fa-regular,.fa-brands,.fas,.far,.fab {font-family:'Font Awesome 6 Free','Font Awesome 6 Brands' !important}
.home-content {--gutter:clamp(16px,3vw,48px);--content-width:1200px;padding-top:var(--site-header-height,176px);color:#4d4d4d}
.home-content *, .home-content *::before, .home-content *::after {box-sizing:border-box}
.home-content ul {list-style:none;padding:0}
.home-content img {max-width:100%;height:auto}
.home-content h2,.home-content h3,.home-content h4 {font-family:'Noto Sans JP',sans-serif;font-weight:600;font-size:clamp(24px,2.2vw,30px);line-height:1.5;text-align:center;color:#366eb8;margin:0 auto 24px}
.home-content h2,.home-content h3 {width:fit-content;max-width:100%;padding:0 16px 14px;border-bottom:1px solid #366eb8}
.home-content p {overflow-wrap:anywhere}
/* The hero changes at 768px independently of the header's 1300px breakpoint. */
.hero--mobile,.home-narrow {display:none}
.hero .main-wrapper {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(540px,calc(100svh - var(--site-header-height,176px)),900px);height:auto;overflow:visible}
.hero .slider {position:relative;min-width:0;width:100%;height:100%;isolation:isolate;overflow:hidden}
.hero .slide-img {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;z-index:0;transition:opacity 1s ease-in-out}
.hero .slide-img:first-child,.hero .slide-img.active {opacity:1}
.hero .slider[data-slider-ready] .slide-img {opacity:0}
.hero .slider[data-slider-ready] .slide-img.active {opacity:1}
.hero .right-content {min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,3vh,36px);padding:clamp(28px,3.4vw,56px);text-align:center}
.hero #logo_top {width:100%;margin:0;text-align:center}
.hero #logo_top img {display:block;width:clamp(200px,23vw,360px);max-width:85%;height:auto;margin:0 auto}
.hero #setsumei {margin:0;width:100%}
.hero #setsumei p {font-size:clamp(17px,1.5vw,22px);line-height:1.9;margin:0;text-align:center}
.button-43,.button-44,.button-45 {display:flex;align-items:center;justify-content:center;max-width:100%;min-height:48px;padding:12px 24px;border:0;border-radius:30px;background:linear-gradient(to left,#03a8dd,#366eb8);color:#fff;text-decoration:none;font-weight:600;line-height:1.6;text-align:center}
.button-43 {width:clamp(200px,20vw,300px);font-size:18px}
.button-44,.button-45 {width:280px;margin:24px auto 0;font-size:16px}
.button-45 a {color:inherit;text-decoration:none}
/* Shared spacing and content widths, with independent widths for tables and maps. */
.home-content #oshirase {background:#f0f5f9;padding:clamp(32px,4vw,56px) var(--gutter)}
.home-content #oshirase > ul {display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:var(--content-width);margin:0 auto}
.home-content #oshirase h2 {margin-bottom:20px}
.home-content #oshiraselist {min-width:0;text-align:left}
.home-content #oshiraselist ul {display:grid;grid-template-columns:90px 100px minmax(0,1fr);gap:16px;align-items:start;margin:0;padding:18px 0;border-bottom:1px dotted #aaa}
.home-content #oshiraselist ul:last-child {border-bottom:0}
.home-content #hiduke,.home-content .hiduke {font-size:15px}
.home-content #category,.home-content .category {display:flex;justify-content:center;align-items:center;color:#366eb8;border:1px solid #366eb8;padding:8px;min-width:0;text-align:center;line-height:1.6}
.home-content #naiyou,.home-content .naiyou {color:#366eb8;line-height:1.8;font-size:16px;min-width:0;overflow-wrap:anywhere}
.home-content #naiyou p,.home-content .naiyou p {margin:0 0 .5em}
.home-content #shinryou,.home-content #shinryou02 {padding:clamp(36px,5vw,72px) var(--gutter)}
.home-content #shinryou > .home-wide > #setsumei {max-width:900px;margin:0 auto 28px;text-align:center;line-height:1.9;font-size:18px}
.home-content #category01 > ul {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:var(--content-width);margin:0 auto}
.home-content #category02 {min-width:0;margin:0 0 20px}
.home-content #title,.home-content #title02,.home-content #title03,.home-content #title04,.home-content #title05 {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:96px;padding:12px;border:2px solid;border-radius:3%;font-size:clamp(18px,1.6vw,22px);line-height:1.5;margin:0}
.home-content #title {border-color:#4bbce8;background:#e5f5fc}
.home-content #title02 {border-color:#22c2b4;background:#edf8f7}
.home-content #title03 {border-color:#e5c76d;background:#fcf9ee}
.home-content #title04 {border-color:#f58a8d;background:#fcf3f4}
.home-content #title05 {border-color:#ebb278;background:#fef2e6}
.home-content [id^="title"] li:first-child {flex:0 0 56px}
.home-content [id^="title"] img {display:block;width:56px;height:auto}
.home-content [id^="title"] li {min-width:0}
.home-content #list,.home-content #list02 {border:1px dotted #4d4d4d;padding:16px;margin-top:10px;font-size:17px;line-height:1.9}
.home-content #list p,.home-content #list02 p {margin:0}
.home-content .hearing-section {max-width:var(--content-width);margin:24px auto 0}
.home-content .hearing-top {display:grid;grid-template-columns:minmax(0,calc((100% - 60px)/4)) minmax(0,1fr);gap:20px;align-items:center}
.home-content .hearing-summary,.home-content #main {min-width:0;white-space:normal;overflow-wrap:anywhere}
.home-content .hearing-summary p {font-size:17px;line-height:1.8;white-space:normal}
.home-content .hearing-overseas-note {color:#c44;font-size:13px;line-height:1.5;font-weight:normal}
.home-content #shinryou02 {background:#f0f5f9}
.home-content #shinryoutitle {display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 16px;margin:0 auto 24px;color:#366eb8}
.home-content #shinryoutitle h4 {margin:0}
.home-content #hyou {max-width:760px;margin:0 auto}
.home-content #hyou table {width:100%;table-layout:fixed;border-collapse:collapse;background:#fff;font-size:16px}
.home-content #hyou th,.home-content #hyou td {border:1px solid #4d4d4d;text-align:center;padding:12px 4px;overflow-wrap:anywhere}
.home-content #hyou th:first-child,.home-content #hyou td:first-child {width:24%}
.home-content #youbi {background:#d7e1ef}
.home-content #setsumei02,.home-content #setsumei03 {max-width:900px;margin:24px auto 0;text-align:center;font-size:15px;line-height:1.9}
.home-content #chizu {max-width:960px;margin:0 auto;text-align:center}
.home-content #chizu iframe {display:block;width:100%;max-width:100%;height:clamp(300px,36vw,420px);border:0;margin:0 auto}
@media(max-width:1300px) {.home-content{padding-top:var(--site-header-height,68px)}}
@media(min-width:768px) and (max-width:1023px) {
 .hero .right-content{padding:28px 24px}.hero #setsumei p{font-size:17px}.hero #logo_top img{width:240px}
 .home-content #category01 > ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-content .hearing-top{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-content #oshirase > ul{grid-template-columns:180px minmax(0,1fr);gap:24px}
 .home-content #oshiraselist ul{grid-template-columns:90px minmax(0,1fr)}
 .home-content #oshiraselist #naiyou{grid-column:1/-1}
}
@media(max-width:767px) {
 .hero--desktop,.home-wide{display:none}.hero--mobile,.home-narrow{display:block}
 .hero .main-wrapper{display:block;min-height:0;height:auto}
 .hero .slider{height:auto;aspect-ratio:1890/1854;max-height:440px}
 .hero #logo_top{margin:24px auto 18px;width:100%}
 .hero #logo_top img{width:200px;max-width:56%;height:auto}
 .hero #setsumei{margin:0 auto 32px;padding:0 var(--gutter);max-width:600px}
 .hero #setsumei p{font-size:16px;line-height:1.9}
 .home-content #oshirase > ul{display:block}
 .home-content .oshirase-item{padding:18px 0;border-bottom:1px dotted #aaa}
 .home-content .oshirase-item:last-child{border-bottom:0}
 .home-content .oshirase-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px}
 .home-content #category01 > ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .home-content #title,.home-content #title02,.home-content #title03,.home-content #title04,.home-content #title05{min-height:80px;padding:10px 6px;gap:5px;font-size:16px}
 .home-content [id^="title"] li:first-child{flex-basis:42px}.home-content [id^="title"] img{width:42px}
 .home-content #list{padding:10px;font-size:15px}
 .home-content .hearing-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
 .home-content .hearing-summary{grid-column:1/-1}
 .home-content .hearing-summary p{margin:0}
 .home-content .hearing-summary p,.home-content #list02{font-size:16px}
 .home-content #hyou table{font-size:14px}.home-content #hyou td{padding:10px 2px}
}
/* Intermediate desktop/tablet columns are capped independently of the viewport height. */
@media(min-width:768px) and (max-width:1300px) {.hero .main-wrapper{min-height:clamp(540px,calc(100svh - var(--site-header-height,75px)),680px)}}
@media(max-width:359px) {.home-content #category01 > ul,.home-content .hearing-top{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero .slide-img{transition:none}}
