@charset "UTF-8";
/*リセット*/
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;tab-size:2;scrollbar-gutter:stable;interpolate-size:allow-keywords;line-height:1.5}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:inherit;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit;letter-spacing:inherit;word-spacing:inherit;font-feature-settings:inherit;font-variation-settings:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled,label:has(>:disabled,+disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog,[popover]){border:none;background:none;color:inherit;inset:unset;max-width:unset;max-height:unset;overflow:unset}:where(dialog:not([open],[popover]),[popover]:not(:popover-open)){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important;user-select:none!important}

/* font
**************************************************************************************************/
@font-face {
	font-family: 'Josefin Sans';
	font-style: normal;
	font-weight: 400;
	src: url('/asset/font/JosefinSans-Regular.woff') format('woff');
}

body {
    font-family: "Josefin Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
}

a { text-decoration: none; }
a:hover{ opacity:0.5; }

/*header*/
header {
    width: 100%;
    padding: 0px 48px;
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    background-color: #fff;
}

header h1 {
    width: 200px;
    height: 80px;
}
header h1 img {
    width: 100%;
}
header nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header nav a {
    padding: 0 12px;
    color: #2ebd59ff;
}
header nav ul {
    display: flex;
    justify-content: space-between;
}
.language-header-list {
    width: 90px;
    background-color: #eee;
    border-radius: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.language-header-list .active {
    background: #2ebd59ff;
    height: 40px;
    border-radius: 40px 0 0 40px;
    color: #fff;
    width: 45px;
    text-align: center;
    line-height: 40px;
}
.language-header-list .active_ja {
    background: #2ebd59ff;
    height: 40px;
    border-radius: 0 40px 40px 0;
    color: #fff;
    width: 45px;
    text-align: center;
    line-height: 40px;
}
.language-header-list .active a,
.language-header-list .active_ja a {
    color:#fff;
    line-height: 40px;
}
@media screen and (max-width: 768px) {
    header {
        padding: 24px 24px 0;
        display: block;
    }
    header h1 {
        margin: 0 auto;
    }
    header nav {
        justify-content: center;
        flex-wrap: wrap;
    }
    header nav a {
        font-size: 14px;
    }
    header nav ul {
        margin: 10px 0 0;
    }
}

/*footer*/
footer {
    background-color: #2ebd59ff;
    padding: 96px 0;
    color: #fff;
}
footer h2 {
    width: 505px;
    height: 80px;
    margin: 0 auto;
}
footer h2 img {
    width: 100%;
}
footer nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 505px;
    margin: 96px auto 24px;
}
footer nav a {
    padding: 0 12px;
}
footer p {
    font-size: 10px;
    text-align: center;
}
@media screen and (max-width: 768px) {
    footer {
        padding: 48px 0;
    }
    footer h2 {
        width: 80%;
        height: auto;
        margin: 0 10%;
    }
    footer nav {
        justify-content: center;
        flex-wrap: wrap;
        width: 80%;
        margin: 96px 10% 24px;
    }
    footer nav a {
        font-size: 14px;
        margin: 0 0 10px;
    }
}
