@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
.inner, .Msg { width: 100%; max-width: 1200px; padding: 0 25px; margin: 0 auto; }
@media (max-width: 959px) { .inner, .Msg { width: 90%; padding: 0; } }

.inner-s { width: 100%; max-width: 900px; padding: 0 25px; margin: 0 auto; }
@media (max-width: 959px) { .inner-s { width: 90%; padding: 0; } }

html { height: 100%; overflow-x: hidden; overflow-y: scroll; scroll-behavior: smooth; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html.active { overflow: hidden; }

body { position: relative; margin: 0; padding: 0 0 150px 0; color: #304543; font-size: 16px; text-align: left; line-height: 1.5em; font-weight: 400; font-style: normal; letter-spacing: 1px; font-family: "Noto Sans JP", sans-serif; background: #304543; overflow: hidden; }
@media (max-width: 959px) { body { padding: 0 0 25vw 0; font-size: 3.5vw; line-height: 1.7em; } }

*, *:before, *:after { box-sizing: border-box; }

a[href], label[for], button, input[type="button"], input[type="submit"], input[type="radio"], input[type="checkbox"], select { cursor: pointer; }

a { outline: none; text-decoration: none; -webkit-transition: all .3s; transition: all .3s; }
a:link, a:visited { color: #304543; }
a:hover { color: #304543; text-decoration: none; }
a:hover img { opacity: 0.6; -webkit-transition: all .3s; transition: all .3s; }
a:focus { outline: none; }

img { border: 0; margin: 0; padding: 0; max-width: 100%; line-height: 100%; vertical-align: bottom; }

h1, h2, h3, h4, h5 { margin: 0; padding: 0; font-size: 1em; line-height: 1.5em; font-weight: normal; }

ul, ol { margin: 0; padding: 0; clear: both; display: block; list-style-type: none; }

dl, dt, dd { margin: 0; padding: 0; overflow: hidden; }

i { font-style: normal; }

p { margin: 0; }
p + p { margin-top: 1.5em; }
p + ul { margin-top: 1.5em; }
p.center { text-align: center; }
p.right { text-align: right; }

.column { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

.SP { display: none; }
@media (max-width: 959px) { .SP { display: block; } }

span.SP { display: none; }
@media (max-width: 959px) { span.SP { display: inline; } }

.PC { display: block; }
@media (max-width: 959px) { .PC { display: none; } }

span.PC { display: inline; }
@media (max-width: 959px) { span.PC { display: none; } }

.MainImage { position: relative; overflow: hidden; width: 100%; height: 100vh; background: url(../img/MainImage.jpg) no-repeat top center/cover; }
@media (max-width: 959px) { .MainImage { height: 85vh; background: url(../img/MainImage_sp.jpg) no-repeat top center/cover; } }
.MainImage > img { display: block; width: 80%; max-width: 1000px; margin: 55vh auto 0 auto; }
@media (max-width: 959px) { .MainImage > img { width: 90%; margin: 53vh auto 0 auto; } }
.MainImage small { position: absolute; right: 2%; bottom: 2%; color: #000; }
@media (max-width: 959px) { .MainImage small { color: #fff; } }
.MainImage > a img { display: block; width: 80%; max-width: 1000px; margin: 5vh auto 0 auto; }
@media (max-width: 1280px) { .MainImage > a img { max-width: 120px; } }
.MainImage header { position: absolute; top: 0; left: 0; width: 100%; z-index: 10; }
.MainImage header h1 { position: absolute; top: 0; left: 0; width: 100%; z-index: 10; }
.MainImage header h1 img { display: block; margin: 3% auto 0 auto; width: 40%; max-width: 220px; }
@media (max-width: 959px) { .MainImage header h1 img { width: 25%; max-width: auto; margin: 3% auto 0 3%; } }
.MainImage header #navbtn { position: relative; z-index: 1000; width: 30px; height: 30px; margin: 5% 5% 0 auto; cursor: pointer; -webkit-transition: all .3s; transition: all .3s; background: url(../img/menu01.svg) no-repeat center center/100% auto; }
.MainImage header #navbtn.active { background: url(../img/menu02.svg) no-repeat center center/100% auto; }
.MainImage #Menu { position: absolute; top: 20%; right: 5%; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; opacity: 0; z-index: 10000; -webkit-transition: all .3s; transition: all .3s; }
@media (max-width: 959px) { .MainImage #Menu { top: 10%; } }
.MainImage #Menu.active { opacity: 1; }
.MainImage #Menu a:link, .MainImage #Menu a:visited { color: #304543; font-size: 20px; font-weight: 500; text-align: right; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 560px) { .MainImage #Menu a:link, .MainImage #Menu a:visited { font-size: 4vw; } }
.MainImage #Menu a + a { margin-top: 1em; }
@media (max-width: 959px) { .MainImage #Menu a + a { margin-top: 0.5em; } }
.MainImage #Menu a:hover { opacity: 0.7; }

.Msg { padding: 80px 0 0 0; text-align: center; }
@media (max-width: 959px) { .Msg { padding: 10vw 0 0 0; } }
.Msg p { margin-bottom: 1.5em; color: #fff; font-size: 15px; }
@media (max-width: 959px) { .Msg p { font-size: 3vw; text-align: left; } }
.Msg a:link, .Msg a:visited { color: #fff; font-size: 24px; font-weight: bold; }
@media (max-width: 959px) { .Msg a:link, .Msg a:visited { font-size: 5vw; } }
.Msg a:hover { opacity: 0.7; }

#About { padding: 100px 0; color: #fff; background: #304543; }
@media (max-width: 959px) { #About { padding: 15vw 0; } }
#About > a { display: block; width: 90%; max-width: 1000px; margin: 0 auto 5em auto; }
#About .inner, #About .Msg { padding-bottom: 10vw; background: url(../img/JOINTFIT.png) no-repeat bottom left 25px/auto 6vw; }
@media (max-width: 1280px) { #About .inner, #About .Msg { padding-bottom: 13vw; background: url(../img/JOINTFIT.png) no-repeat bottom left 25px/auto 8.9vw; } }
@media (max-width: 959px) { #About .inner, #About .Msg { display: block; padding: 15vw 0 0 0; background: url(../img/JOINTFIT.png) no-repeat top center/auto 8.9vw; } }
#About .inner .column div, #About .Msg .column div { width: 55%; }
@media (max-width: 959px) { #About .inner .column div, #About .Msg .column div { width: 100%; } }
#About .inner .column div + div, #About .Msg .column div + div { width: 45%; }
@media (max-width: 959px) { #About .inner .column div + div, #About .Msg .column div + div { width: 100%; } }
#About .inner video, #About .Msg video, #About .inner iframe, #About .Msg iframe { width: 100%; margin-bottom: 3em; aspect-ratio: 16 / 9; }
@media (max-width: 959px) { #About .inner video, #About .Msg video, #About .inner iframe, #About .Msg iframe { margin-bottom: 1.5em; } }
#About .inner h2, #About .Msg h2 { margin-bottom: 1em; font-size: 48px; line-height: 1.2em; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #About .inner h2, #About .Msg h2 { font-size: 6vw; text-align: center; } }
#About .inner p, #About .Msg p { width: 85%; font-size: 21px; line-height: 1.8em; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 1280px) { #About .inner p, #About .Msg p { width: 75%; } }
@media (max-width: 959px) { #About .inner p, #About .Msg p { width: 100%; margin-bottom: 8vw; font-size: 3.5vw; } }

#MedicalSsupervisor { padding: 0 0 200px 0; background: #304543; }
@media (max-width: 959px) { #MedicalSsupervisor { padding: 5vw 0 20vw 0; } }
#MedicalSsupervisor h2 { margin-bottom: 1em; color: #fff; font-size: 48px; line-height: 1.2em; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #MedicalSsupervisor h2 { font-size: 6vw; text-align: center; } }
#MedicalSsupervisor .inner div, #MedicalSsupervisor .Msg div { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { #MedicalSsupervisor .inner div, #MedicalSsupervisor .Msg div { -webkit-flex-direction: column; flex-direction: column; } }
#MedicalSsupervisor img { width: 40%; }
@media (max-width: 959px) { #MedicalSsupervisor img { width: 100%; margin-bottom: 2em; } }
#MedicalSsupervisor p { width: 50%; color: #fff; font-size: 22px; line-height: 1.8em; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #MedicalSsupervisor p { width: 100%; font-size: 3.5vw; } }
#MedicalSsupervisor strong { display: block; margin-top: 1.5em; font-size: 1.2em; }
#MedicalSsupervisor a:link, #MedicalSsupervisor a:visited { color: #fff; }
#MedicalSsupervisor a:hover { opacity: 0.7; }

#Everyone, #Training { padding: 0; color: #fff; background: #304543; }
@media (max-width: 959px) { #Everyone, #Training { padding: 30vw 0 10vw 0; background: #304543 url(../img/EVERYONE_sp.png) no-repeat top center/60% auto; } }
#Everyone .inner, #Everyone .Msg, #Training .inner, #Training .Msg { display: -webkit-flex; display: flex; -webkit-box-align: start; align-items: flex-start; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { #Everyone .inner, #Everyone .Msg, #Training .inner, #Training .Msg { display: block; } }
#Everyone .inner > img, #Everyone .Msg > img, #Training .inner > img, #Training .Msg > img { display: block; width: 27%; height: auto; }
@media (max-width: 1280px) { #Everyone .inner > img, #Everyone .Msg > img, #Training .inner > img, #Training .Msg > img { width: 22%; } }
@media (max-width: 959px) { #Everyone .inner > img, #Everyone .Msg > img, #Training .inner > img, #Training .Msg > img { display: none; } }
#Everyone dl, #Training dl { width: 70%; }
@media (max-width: 1280px) { #Everyone dl, #Training dl { width: 75%; } }
@media (max-width: 959px) { #Everyone dl, #Training dl { width: 100%; } }
#Everyone dl dt, #Training dl dt { clear: both; float: left; width: 55%; margin: 0; padding: 0 0 5% 0; }
@media (max-width: 959px) { #Everyone dl dt, #Training dl dt { float: none; width: 100%; padding: 0; } }
#Everyone dl dd, #Training dl dd { float: left; width: 45%; margin: 0; padding: 0 0 5% 5%; }
@media (max-width: 959px) { #Everyone dl dd, #Training dl dd { float: none; width: 100%; padding: 0 0 4em 0; } }
#Everyone h2, #Training h2 { margin-bottom: 0.5em; font-size: 36px; line-height: 1.2em; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Everyone h2, #Training h2 { font-size: 5vw; margin: 1em auto 1em auto; } }
#Everyone p, #Training p { font-size: 20px; line-height: 1.5em; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Everyone p, #Training p { font-size: 3.5vw; } }

#Training { padding: 150px 0; }
@media (max-width: 959px) { #Training { padding: 30vw 0 0 0; background: #304543 url(../img/TRAINING_sp.png) no-repeat top center/60% auto; } }

#Message { padding: 0; color: #fff; background: #304543; }
@media (max-width: 959px) { #Message { margin-top: 5vw; } }
#Message .inner, #Message .Msg { display: -webkit-flex; display: flex; -webkit-box-align: end; align-items: flex-end; -webkit-justify-content: space-between; justify-content: space-between; }
@media (max-width: 959px) { #Message .inner, #Message .Msg { display: block; } }
#Message .inner div, #Message .Msg div { width: 50%; }
@media (max-width: 959px) { #Message .inner div, #Message .Msg div { width: 100%; } }
#Message .inner .Photo, #Message .Msg .Photo { width: 50%; }
@media (max-width: 959px) { #Message .inner .Photo, #Message .Msg .Photo { width: 100%; } }
#Message .inner h2, #Message .Msg h2 { margin-bottom: 1em; font-size: 52px; line-height: 1.2em; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Message .inner h2, #Message .Msg h2 { font-size: 6vw; text-align: center; } }
#Message .inner p, #Message .Msg p { width: 80%; font-size: 24px; line-height: 1.5em; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 1280px) { #Message .inner p, #Message .Msg p { width: 75%; } }
@media (max-width: 959px) { #Message .inner p, #Message .Msg p { width: 100%; margin-bottom: 8vw; font-size: 3.5vw; } }
#Message .inner + .inner, #Message .Msg + .inner, #Message .inner + .Msg, #Message .Msg + .Msg { -webkit-justify-content: start; justify-content: start; margin-top: 50px; }
@media (max-width: 959px) { #Message .inner + .inner, #Message .Msg + .inner, #Message .inner + .Msg, #Message .Msg + .Msg { margin-top: 5vw; } }
#Message .inner + .inner > img, #Message .Msg + .inner > img, #Message .inner + .Msg > img, #Message .Msg + .Msg > img { width: auto; height: 5.95vw; }
@media (max-width: 1280px) { #Message .inner + .inner > img, #Message .Msg + .inner > img, #Message .inner + .Msg > img, #Message .Msg + .Msg > img { height: 8.9vw; } }
#Message .inner + .inner span img, #Message .Msg + .inner span img, #Message .inner + .Msg span img, #Message .Msg + .Msg span img { cursor: pointer; width: 15vw; height: auto; margin-left: 20%; }
@media (max-width: 1280px) { #Message .inner + .inner span img, #Message .Msg + .inner span img, #Message .inner + .Msg span img, #Message .Msg + .Msg span img { width: 25vw; } }
@media (max-width: 959px) { #Message .inner + .inner span img, #Message .Msg + .inner span img, #Message .inner + .Msg span img, #Message .Msg + .Msg span img { width: 30vw; margin-left: 5vw; } }
#Message .inner + .inner span img:hover, #Message .Msg + .inner span img:hover, #Message .inner + .Msg span img:hover, #Message .Msg + .Msg span img:hover { opacity: 0.7; }

#Manga { padding: 150px 0; color: #fff; background: #304543; }
@media (max-width: 959px) { #Manga { padding: 10vw 0; } }
#Manga .inner-s { display: none; }
#Manga.active .inner-s { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; }
#Manga .inner-s > img { display: block; width: 100%; margin-bottom: 50px; }
@media (max-width: 959px) { #Manga .inner-s > img { margin-bottom: 5vw; } }
#Manga #manga_btn_close img { display: block; width: 50px; height: 50px; margin: 0 auto; cursor: pointer; }
#Manga #manga_btn_close img:hover { opacity: 0.7; }

#Voice { padding: 100px 0; background: #fff; }
@media (max-width: 959px) { #Voice { padding: 10vw 0; } }
#Voice h2 { margin-bottom: 1.8em; font-size: 52px; line-height: 1.2em; text-align: center; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Voice h2 { font-size: 6vw; } }
#Voice ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-box-align: start; align-items: flex-start; }
#Voice ul:after { content: ""; display: block; width: 30%; }
@media (max-width: 959px) { #Voice ul:after { display: none; } }
#Voice ul li { width: 30%; }
@media (max-width: 959px) { #Voice ul li { width: 100%; } }
@media (max-width: 959px) { #Voice ul li + li { margin-top: 2.5em; } }
#Voice ul img { width: 100%; height: auto; }
#Voice ul strong { display: block; margin: 0.5em auto 1em auto; font-size: 24px; line-height: 1.5em; text-align: center; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Voice ul strong { font-size: 3.5vw; margin: 1em auto 1em auto; } }
#Voice ul p { font-size: 24px; line-height: 1.5em; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Voice ul p { font-size: 3.5vw; } }

#Comment { padding: 150px 0; color: #fff; background: #304543; }
@media (max-width: 959px) { #Comment { padding: 15vw 0; } }
#Comment h2 { margin-bottom: 1.8em; font-size: 52px; line-height: 1.2em; text-align: center; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Comment h2 { font-size: 6vw; } }
#Comment ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-box-align: start; align-items: flex-start; }
#Comment ul li { width: 50%; padding: 0 8%; }
@media (max-width: 959px) { #Comment ul li { width: 100%; padding: 0; } }
@media (max-width: 959px) { #Comment ul li + li { margin-top: 2.5em; } }
#Comment ul img { width: 100%; height: auto; }
#Comment ul strong { display: block; margin: 0.8em auto 1em auto; font-size: 24px; line-height: 1.5em; text-align: center; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Comment ul strong { font-size: 3.5vw; } }
#Comment ul p { font-size: 24px; line-height: 1.5em; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Comment ul p { font-size: 3.5vw; } }

#Comment-Movie { padding: 100px 0; color: #fff; text-align: center; background: #3f5250; }
@media (max-width: 959px) { #Comment-Movie { padding: 10vw 0; } }
#Comment-Movie h2 { margin-bottom: 1em; font-size: 40px; line-height: 1.2em; text-align: center; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Comment-Movie h2 { font-size: 5vw; } }
#Comment-Movie video { width: 50%; }
@media (max-width: 959px) { #Comment-Movie video { width: 100%; } }

#Contact { padding: 100px 0; background: #fff; }
@media (max-width: 959px) { #Contact { padding: 10vw 0; } }
#Contact h2 { margin-bottom: 1em; font-size: 52px; line-height: 1.2em; text-align: center; font-weight: 700; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Contact h2 { font-size: 6vw; } }
#Contact table { width: 100%; padding: 2em 3.5em; background: #304543; }
@media (max-width: 959px) { #Contact table { display: block; padding: 5vw; } }
#Contact th, #Contact td { padding: 1em; color: #fff; font-size: 20px; font-weight: normal; }
@media (max-width: 959px) { #Contact th, #Contact td { display: block; padding: 0; font-size: 3.3vw; } }
@media (max-width: 959px) { #Contact tr + tr th { padding-top: 1.5em; } }
@media (max-width: 959px) { #Contact span { display: none; } }
#Contact p { margin-top: 1em; font-size: 18px; line-height: 1.5em; text-align: center; font-weight: 500; font-family: 'Zen Maru Gothic', serif; }
@media (max-width: 959px) { #Contact p { font-size: 3.2vw; text-align: left; } }
#Contact a img { display: block; width: 20%; margin: 80px auto 0 auto; }
@media (max-width: 959px) { #Contact a img { width: 30%; margin: 10vw auto 0 auto; } }

footer { padding: 80px 0; background: #fff; }
@media (max-width: 959px) { footer { padding: 10vw 0; } }
footer nav { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
footer nav a:link, footer nav a:visited { font-size: 16px; line-height: 1.5em; }
@media (max-width: 959px) { footer nav a:link, footer nav a:visited { font-size: 3vw; } }
footer nav a + a { margin-left: 1.5em; }
footer nav a:hover { opacity: 0.7; }
footer p { margin-top: 1.5em; font-size: 16px; line-height: 1.5em; text-align: center; }
@media (max-width: 959px) { footer p { font-size: 2.5vw; } }

.box-scroll { display: none; position: fixed; left: 0; bottom: 0; width: 100%; padding: 20px 0 30px 0; text-align: center; background: #FF3131; z-index: 1000; }
.box-scroll h2 { margin-bottom: 1.3em; color: #fff; font-size: 22px; font-weight: bold; }
@media (max-width: 959px) { .box-scroll h2 { font-size: 3.5vw; } }
.box-scroll ul { display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; width: 80%; margin: 0 auto; }
@media (max-width: 959px) { .box-scroll ul { width: 100%; } }
.box-scroll ul li { width: 32%; }
