/*--------------------
ここから共通css
--------------------*/
:root {
--header-blue: #0062a5;
--header-text: #fff;
--content-width: 1180px;
}

* {
box-sizing: border-box;
}

html {
font-size: 100%; 
}

body {
background:url(https://www.seikatsusyukanbyo.com/images_new/bg-sora2.jpg) 0 0 no-repeat #CCE5FF;
background-size: cover;
background-attachment: fixed;
color: #333333;
font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
font-size: 16px;
line-height: 1.5;
letter-spacing: 0.2px;
-webkit-text-size-adjust: 100%;
margin: 0;
}

body.is-menu-open {
overflow: hidden;
}

a {
color: inherit;
}

img {
display: block;
max-width: 100%;
height: auto;
}

.site-header {
background: #fff;
}

.header-top {
width: min(calc(100% - 40px), var(--content-width));
margin-inline: auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
padding: 1em 0;
}

.site-logo {
display: block;
max-width: 350px;
width: auto;
}

.header-related {
display: flex;
align-items: center;
flex: 0 0 auto;
gap: 18px;
}

.x-link {
display: grid;
width: 30px;
height: 30px;
place-items: center;
}

.x-link svg {
width: 21px;
height: 21px;
}

.related-divider {
width: 1px;
height: 48px;
background: #d4d4d4;
}

.related-logo {
text-decoration: none;
font-size: 18px;
font-weight: bold;
font-family: serif;
}

.global-nav {
background: var(--header-blue);
}

.global-nav-list {
width: min(calc(100% - 40px), var(--content-width));
min-height: 50px;
margin: 0 auto;
padding: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 26px;
list-style: none;
}

.global-nav a {
display: block;
padding-block: 10px;
color: var(--header-text);
font-size: 16px;
font-weight: 600;
line-height: 1.5;
text-decoration: none;
white-space: nowrap;
}

.global-nav a:hover,
.global-nav a:focus-visible {
text-decoration: underline;
text-underline-offset: 5px;
}

.menu-button {
display: none;
}

.mobile-related {
display: none;
}

footer.l-global_footer {
background: #2D79B6;
color: #fff;
font-size: 13px;
text-align: center;
padding: 10px;
}

@media (max-width: 900px) {
.header-top {
width: 100%;
padding: 10px 16px;
gap: 16px;
}

.site-logo {
max-width: 400px;
width: auto;
}

.header-related {
display: none;
}

.menu-button {
position: relative;
z-index: 101;
display: grid;
flex: 0 0 48px;
width: 48px;
height: 48px;
padding: 11px;
place-content: center;
gap: 6px;
color: #fff;
background: var(--header-blue);
border: 0;
border-radius: 4px;
cursor: pointer;
}

.menu-button span {
display: block;
width: 26px;
height: 2px;
background: currentColor;
transition: transform .25s ease, opacity .2s ease;
}

.menu-button[aria-expanded="true"] span:nth-child(1) {
transform: translateY(8px) rotate(45deg);
}

.menu-button[aria-expanded="true"] span:nth-child(2) {
opacity: 0;
}

.menu-button[aria-expanded="true"] span:nth-child(3) {
transform: translateY(-8px) rotate(-45deg);
}

.global-nav {
position: fixed;
z-index: 100;
inset: 0;
padding: 70px 24px 24px;
display: flex;
flex-direction: column;
overflow-y: auto;
visibility: hidden;
opacity: 0;
transform: translateX(100%);
transition: transform .3s ease, opacity .3s ease, visibility .3s;
}

.global-nav.is-open {
visibility: visible;
opacity: 1;
transform: translateX(0);
}

.global-nav-list {
width: 100%;
min-height: auto;
display: block;
}

.global-nav-list li {
border-bottom: 1px solid rgba(255, 255, 255, .38);
}

.global-nav a {
padding: 14px 8px;
font-size: 17px;
white-space: normal;
}

.mobile-related {
width: 100%;
margin-top: 2em;
display: flex;
align-items: center;
justify-content: center;
gap: 15px;
}

.mobile-related .x-link {
flex: 0 0 38px;
width: 38px;
height: 38px;
}

.mobile-related .related-divider {
background: rgba(255, 255, 255, .5);
}
}

@media (prefers-reduced-motion: reduce) {

.global-nav,
.menu-button span {
transition: none;
}
}

nav.breadcrumb {
max-width: 1100px;
width: auto;
margin: 1em auto;
}

nav.breadcrumb ul {
display: flex;
flex-wrap: wrap;
font-size: 80%;
padding: 0;
}

nav.breadcrumb ul li {
list-style: none;
margin: 0 5px;
}

nav.breadcrumb ul li:not(:last-child):after {
content: "＞";
margin-left: 0.5em;
margin-right: 0.5em;
}

nav.breadcrumb ul li a {
text-decoration: none;
}

@media (max-width: 768px) {
nav.breadcrumb {
display: none;
}
}

.one-column .inner {
max-width: 1100px;
width: auto;
margin: 0 auto 2em auto;
padding: 2em;
background: #fff;
}

@media (max-width: 768px) {

.one-column .inner {
margin: 2em auto;
padding: 1.5em 1em;
}
}

body .main-contents h1 {
margin-bottom: 10px;
padding: 0 10px 10px 10px;
border-bottom: 2px solid var(--header-blue);
font-size: 140%;
color: var(--header-blue);
font-weight: bold;
}

body .main-contents h2 {
padding: 5px 10px;
border-left: 7px solid var(--header-blue);
font-size: 120%;
color: var(--header-blue);
font-weight: bold;
}

body .main-contents h3 {
color: #0097ca;
}

body .main-contents .simple_btn a {
display: block;
max-width: max-content;
background: #008a5f;
border: 2px solid #008a5f;
padding: 10px 30px;
border-radius: 50px;
color: #fff;
text-decoration: none;
margin: auto;
transition: background-color 0.5s ease;
}

body .main-contents .simple_btn a:after {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f138";
margin-left: 5px;
}

body .main-contents .simple_btn a:hover {
background: #fff;
color: #008a5f;
}

/*--------------------
ここまで共通css
--------------------*/