@charset "utf-8";

/* initialization */

:root {
  --bksp: 20px;
  --max-wid: 1240px;
  --clr-wh: rgb(255 255 255);
  --clr-bk: rgb(12 0 0);
  --clr-gry: rgb(95 95 95);
  --clr-bl: rgb(0 91 172);
  --clr-bl-33: rgb(0 91 172 / 33%);
  --clr-bl-18: rgb(0 91 172 / 18%);
  --clr-bl-lt: rgb(0 115 192);
  --clr-ltbl: rgb(233 246 254);
  --clr-gre: rgb(0 166 10);
  --clr-bl2: rgb(0 150 220);
  --fs-S: 0.75rem;
  --fs-MS: 0.875rem;
  --fs-M: 1rem;
  --fs-ML: 1.125rem;
  --fs-L: 1.25rem;
  --fs-2L: 1.5rem;
  --fs-3L: 2rem;
  --lh-S: 1.3;
  --lh-M: 1.5;
  --lh-L: 1.8;
  --bdrd: 1rem;
  --anim: .35s;
  --grad-hr: linear-gradient(90deg, var(--clr-bl-lt) 0%, var(--clr-bl) 100%);
}

/* html {scroll-behavior: smooth;} */
body {
  margin: 0;
  padding: 0;
  background: var(--clr-ltbl) url(images/common/bg_footer.png) center bottom no-repeat;
  background-size: 100% auto;
  line-height: 1;
  color: var(--clr-bk);
  font-family: sans-serif;
  font-optical-sizing: auto;
}

a:link, a:visited {
  text-decoration: none;
  color: var(--clr-bl2);
}
a:hover, a:active {
  text-decoration: underline;
  color: var(--clr-bk);
}

p {line-height: var(--lh-L);}

div.content,
#contents {
  margin: 0 auto;
  max-width: var(--max-wid);
}
a.btn, input[type="submit"] {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.6em 2em;
  background-color: var(--clr-wh);
  border: 5px solid var(--clr-bl);
  border-radius: var(--bdrd);
  font-size: var(--fs-2L);
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  color: var(--clr-bl);
}
a.btn:hover, input[type="submit"]:hover {
  background-color: rgb(0 91 172 / 66%);
  color: var(--clr-wh);
}


/* header */

#home_header {padding-top: 10px;}
body.for-medical-home #home_header {
  background-color: var(--clr-wh);
  overflow: hidden;
}
#home_header::before {
  position: fixed;
  z-index: 101;
  top: 0;
  width: 100%;
  content: '';
  display: block;
  height: 10px;
  background: var(--grad-hr);
}
body.for-medical-home #home_header header {
  margin: 0 var(--bksp);
  text-align: center;
}
body.for-medical-home #home_header h1 {margin: 7.5rem 0 5rem}
body.for-medical-home #home_header h1 img {
  width: 66%;
  height: auto;
}
body.for-medical-home #home_header h2 {
  display: inline-block;
  margin-bottom: 5rem;
  padding: 0.25em 0.5em 0.35em;
  background: var(--grad-hr);
  font-size: var(--fs-2L);
  font-weight: 400;
  color: var(--clr-wh);
}

/* common elements */

#title h1 {
  margin: 7.5rem var(--bksp);
  text-align: center;
  font-size: var(--fs-3L);
}
#title h1 span {
  display: inline-block;
  padding: 0.1em 0.5em 0.2em;
  background: var(--grad-hr);
  line-height: var(--lh-S);
  color: var(--clr-wh);
}

div.btn {
  margin: 5rem var(--bksp);
  padding: 1rem 0;
  background-color: rgb(255 255 255 / 66%);
  border-radius: var(--bdrd);
  text-align: center;
}

/* body elements */

.body h2,
#home_prog h2 {
  margin: 2em var(--bksp);
  padding-left: 0.5em;
  border-left: 10px solid var(--clr-bl-lt);
  font-size: var(--fs-2L);
  color: var(--clr-bl);
  line-height: var(--lh-S);
}
.body p {margin: 1em var(--bksp);}

div.notice {
  margin: 2rem var(--bksp);
  background-color: var(--clr-wh);
  border-left: 10px solid var(--clr-bl-lt);
  border-top-right-radius: var(--bdrd);
  border-bottom-right-radius: var(--bdrd);
  overflow: hidden;
}
.body ul,
div.notice ul {
  margin: 2rem;
  padding: 0;
}
.body li,
div.notice li {
  margin: 0.75rem 0 0.75rem 1rem;
  padding: 0;
  line-height: var(--lh-M);
}

/* home_about */

#home_about div.content {
  background: url(images/home/bg_heart.jpg) right bottom no-repeat;
  background-size: 100% auto;
}
#home_about div.intro {
  display: flex;
  margin: 7.5rem var(--bksp);
  align-items: center;
}
#home_about div.logo {
  width: 33%;
  text-align: center;
}
#home_about div.desc {
  flex: 1;
  font-size: var(--fs-L);
  color: var(--clr-bl);
}
#home_about div.desc p {margin: 0 var(--bksp);}
#home_about div.notice {margin: 0 var(--bksp);}

/* home_movie */

#home_prog_prev {
  margin: 7.5rem 0;
  text-align: center;
}
div.iframe {
  display: inline-block;
  padding: 2rem;
  width: 560px;
  background-color: var(--clr-wh);
  border-radius: var(--bdrd);
}
#home_prog_prev iframe {
  width: 560px;
  height: 315px;
  background-color: #ddd;
}
#home_prog_prev span.title {
  display: block;
  margin: 0.35em 0 0;
  text-align: left;
  font-size: var(--fs-L);
  line-height: var(--lh-S);
  font-weight: 700;
}

/* home_prog */

#home_prog {margin: 7.5rem 0;}
#home_prog h2 {margin: 1em var(--bksp) 0.5em;}
div.programs {
  margin: 0 var(--bksp);
  background-color: var(--clr-wh);
  border-radius: var(--bdrd);
  overflow: hidden;
}
div.programs ol {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(var(--bksp) * 3) calc(var(--bksp) * 2);
  margin: calc(var(--bksp) * 2);
  padding: 0;
  list-style-type: none;
}
div.programs ol::before {
  content: '';
  position: absolute;
  left: calc(50% - 1px);
  top: 0;
  height: 100%;
  border-left: 2px solid var(--clr-bl-18);
}
div.programs > ol > li {
  counter-increment: prog;
  margin: 0;
  padding: 0;
}
div.programs li h3 {
  margin: 0;
  font-size: var(--fs-M);
  color: var(--clr-gry);
}
div.programs li h4 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0;
  color: var(--clr-bl);
}
div.programs li h4::before {
  content: counter(prog);
  display: block;
  padding: 0.25em 0;
  min-width: 2em;
  text-align: center;
  background-color: var(--clr-bl);
  font-size: var(--fs-2L);
  font-family: 'Arial';
  color: var(--clr-wh);
}
div.programs li h4 span {
  flex: 1;
  font-size: var(--fs-L);
  line-height: var(--lh-S);
}
div.movie {margin: var(--bksp) 0;}
div.movie a {
  position: relative;
  display: block;
  font-size: 0;
}
div.movie a::before {
  content: '';
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / 0%) url(images/common/pt_play.webp) center no-repeat;
  background-size: 120px;
  opacity: 0.84;
}
div.movie a:hover::before {
  background-color: var(--clr-bl-18);
  opacity: 1;
}
div.movie img {
  width: 100%;
  height: auto;
}
a:hover img {opacity: 0.8;}
div.prof {
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: var(--bksp);
}
div.prof.gp {grid-template-columns: 1fr;}
div.prof div.photo img {
  width: 100%;
  height: auto;
}
div.prof div.photo img {
  width: 100%;
  height: auto;
}
div.mv_title ul {
  margin: 0;
  padding: 0 0 0 2em;
  list-style-type: '▶';
}
div.mv_title li {margin: 0.5em 0;}
div.prof dt {
  margin: 0;
  padding: 0;
  font-weight: 700;
  line-height: var(--lh-S);
}
div.prof dd {
  margin: 0.5rem 0 0;
  padding: 0;
  font-size: var(--fs-MS);
  line-height: var(--lh-M);
  color: var(--clr-gry);
}
div.prof dd:not(:last-child) {margin-bottom: 1.25rem;}
div.prof dt ul {
  margin: 0;
  padding: 0 0 0 2em;
  list-style-type: disc;
}
div.prof dt ul li {margin: 0.25em 0;}
div.prof span.role {
  display: block;
  margin: 0 0 0.35em;
  font-size: var(--fs-MS);
  color: var(--clr-gry);
}
div.prof dt br,
div.prof span.role + p {display: none;}

/* home_apply */

#home_apply {
  position: sticky;
  bottom: 2rem;
}
#home_apply a.btn {
  border-color: rgb(246 184 0);
  background-color: rgb(255 254 224);
  color: var(--clr-bk);
}
#home_apply a.btn:hover {background-color: rgb(255 245 155);}

#home_apply a.btn::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -0.1em;
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  background: url(images/common/pt_regi.webp) center no-repeat;
  background-size: 100%;
}

/* share */

aside.share div.sns {
  margin: 7.5rem var(--bksp);
  padding: 1rem;
  background-color: rgb(255 255 255 / 66%);
  border-radius: var(--bdrd);
  text-align: center;
}
aside.share div.sns > * {
  vertical-align: top;
  margin: 0 0.25rem;
}

/* footer */

.page_top {display: none;}

#ft_proj {
  margin: 7.5rem var(--bksp) 2rem;
  background-color: var(--clr-wh);
  border-radius: var(--bdrd);
  overflow: hidden;
}
#ft_proj p {
  margin: var(--bksp);
  line-height: var(--lh-S);
}
#copyright {
  display: block;
  margin: 2rem var(--bksp);
  text-align: center;
  color: var(--clr-wh);
}

/* apply */

.body div.form {
  margin: 3rem var(--bksp);
  padding: 2rem 6rem;
  background-color: var(--clr-wh);
  border-radius: var(--bdrd);
  overflow: hidden;
}
.body form {margin: 2rem var(--bksp);}
.body form div.text p,
.body form div.radio p,
.body form div.checkbox p,
.body form div.submit p {
  display: flex;
  align-items: flex-start;
  gap: var(--bksp);
  margin: 0;
  padding: 2rem 0;
  border-top: 2px solid var(--clr-bl-18);
}
.body div.form span.title {
  width: 25%;
  font-size: var(--fs-ML);
  font-weight: 700;
  line-height: var(--lh-M);
}
.body div.form span.title span {
  display: block;
  margin-top: 0.5em;
  font-size: 75%;
}
.body div.form span.input {flex: 1;}
.body form input[type="text"],
.body form input[type="email"],
.body form textarea {
  box-sizing: border-box;
  padding: 0 0.5em;
  width: 100%;
  height: 40px;
  background-color: rgb(95 95 95 / 5%);
  border: 1px solid var(--clr-gry);
  border-radius: 0.35rem;
  outline: none;
  font-size: var(--fs-M);
}
.body form textarea {
  padding: 0.5em;
  height: 12em;
}
.body form input[type="text"]:focus,
.body form input[type="email"]:focus,
.body form textarea:focus {
  background-color: rgb(255 254 224);
  border-color: var(--clr-bk);
}
.body form input[type="text"].m {width: 50%;}
.body form input[type="text"].s {width: 25%;}
.body form input[type="text"].wpcf7-free-text {
  margin: 0 0.6em;
  width: 20em;
}
.body form label {
  display: inline-block;
  margin: 0 2em 1em 0;
  font-weight: 700;
  cursor: pointer;
}
span.has-free-text label {margin-right: 0;}
.body form input[type="radio"],
.body form input[type="checkbox"] {
  margin-right: 0.6rem;
  transform: scale(1.5);
  cursor: pointer;
}
input[type="radio"]:checked + span.wpcf7-list-item-label,
input[type="checkbox"]:checked + span.wpcf7-list-item-label {color: var(--clr-bl2);}
.body div.form span.unit {margin: 0 0.6em;}

span[data-name="your-facility"] .wpcf7-list-item {position: relative;}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(5),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(9),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(13),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(16),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(20),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(22) {
  margin-right: 50%;
  white-space: nowrap;
}
span[data-name="your-facility"] .wpcf7-list-item::before {
  position: absolute;
  top: 0;
  white-space: nowrap;
  font-size: var(--fs-ML);
  font-weight: 700;
  color: var(--clr-bl);
}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(1),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(6),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(10),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(14),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(17),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(21),
span[data-name="your-facility"] .wpcf7-list-item:nth-child(23) {padding-top: 3em;}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(1)::before {content: '病院（20床以上）';}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(6)::before {content: '診療所（19床以下・無床を含む）';}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(10)::before {content: '福祉施設';}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(14)::before {content: '行政・その他公的機関';}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(17)::before {content: '民間・コミュニティセクター';}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(21)::before {content: '学生（医療・福祉系）';}
span[data-name="your-facility"] .wpcf7-list-item:nth-child(23)::before {content: 'その他';}

.body div.form div.submit {text-align: center;}
.body div.form div.submit p {
  position: relative;
  display: block;
  margin: 0;
  padding: 5rem 0;
}
.body form input[type="submit"] {min-width: 50%;}
span.wpcf7-spinner {
  position: absolute;
  left: 75%;
  top: calc(50% - 12px);
}
.body div.form div.complate {
  margin: 0 0 5rem;
  padding: 3rem;
  background-color: rgb(0 255 0 / 18%);
  border-radius: var(--bdrd);
  text-align: center;
  overflow: hidden;
  transition: var(--anim);
}
.body div.form div.complate h4 {
  margin: 0 0 1em;
  font-size: var(--fs-2L);
  color: var(--clr-bl);
}
.wpcf7 form.wpcf7-form.init div.complate {
  position: absolute;
  visibility: hidden;
  opacity: 0;
}
.wpcf7 form.wpcf7-form.sent div.complate {
  position: static;
  visibility: visible;
  opacity: 1;
}
.wpcf7 form .wpcf7-response-output {display: none !important;}

/* programs */

div.notice div.btn {margin: 0;}
div.notice a.btn {font-size: var(--fs-L);}
div.notice a.gdrive::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
  width: 1.5em;
  height: 1.5em;
  background: url(images/common/pt_gdrive.webp) center no-repeat;
  background-size: 100%;
}

@media only screen and (max-width:768px) {

/* initialization */

:root {--bksp: 5%;}

a.btn, input[type="submit"] {
  padding: 0.5em 0;
  width: 90%;
  font-size: var(--fs-L);
}

/* header */

#home_header header {text-align: center;}
#home_header h1 img {
  width: 66%;
  max-width: 360px;
  height: auto;
}
body.for-medical-home #home_header h1 img {
  width: 88%;
  max-width: 600px;
}
body.for-medical-home #home_header h2 {
  display: inline-block;
  margin-bottom: 5rem;
  padding: 0;
  background: none;
  font-size: var(--fs-ML);
  line-height: var(--lh-S);
}
body.for-medical-home #home_header h2 span {
  display: inline-block;
  margin-bottom: 0.35em;
  padding: 0.25em 0.5em 0.35em;
  background: var(--grad-hr);
}

/* common elements */

#title h1 {
  margin: 5rem var(--bksp);
  font-size: var(--fs-2L);
}
#title h1 span {
  display: inline-block;
  padding: 0.1em 0.5em 0.2em;
}

/* body elements */

.body h2,
#home_prog h2 {font-size: var(--fs-L);}
.body p {margin: 1em var(--bksp);}

div.notice {margin: 3rem var(--bksp);}
.body ul,
div.notice ul {margin: 1rem;}
.body li,
div.notice li {margin: 0.35rem 0 0.35rem 1rem;}

/* home_about */

#home_about div.content {background: none;}
#home_about div.intro {
  display: block;
  margin: 5rem 0;
}
#home_about div.logo {
  margin: 3rem var(--bksp);
  width: initial;
}
#home_about div.desc {font-size: var(--fs-ML);}

/* home_movie */

#home_prog_prev {margin: 5rem var(--bksp);}
div.iframe {
  padding: 0.5rem;
  width: calc(100% - 1rem);
  max-width: 480px;
}
#home_prog_prev iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
#home_prog_prev span.title {font-size: var(--fs-ML);}

/* home_prog */

#home_prog {margin: 5rem 0;}
div.programs ol {
  display: block;
  margin: 1rem;
  padding: 0;
}
div.programs ol::before {content: none;}
div.programs li {margin: 2rem 1rem;}
div.programs > ol > li:not(:last-child)::after {
  content: '';
  display: block;
  margin: 2rem 0;
  border-top: 2px solid var(--clr-bl-18);
}

div.programs li:first-child {margin-top: 1rem;}
div.programs li:last-child {margin-bottom: 1rem;}
div.programs li h3 {
  margin: 1rem 0;
  font-size: var(--fs-M);
}
div.programs li h4 {gap: 0.5rem;}
div.programs li h4::before {font-size: var(--fs-L);}
div.programs li h4 span {font-size: var(--fs-ML);}
div.movie {margin: 1rem 0;}
div.movie a::before {background-size: 80px;}
div.prof {
  grid-template-columns: clamp(80px, 20%, 120px) 1fr;
  gap: 1rem;
}

/* home_apply */

#home_apply a.btn::before {margin-right: 0.25em;}

/* share */

aside.share div.sns {margin: 5rem var(--bksp);}

/* footer */

.page_top {display: none;}

#ft_proj {margin: 5rem var(--bksp) 2rem;}
#ft_proj p {
  margin: 1rem;
  font-size: var(--fs-MS);
}
#copyright {margin: 2rem var(--bksp);}

/* apply */

.body div.form {padding: 0;}
.body form {margin: 1rem var(--bksp);}
.body form div.text p,
.body form div.radio p,
.body form div.checkbox p,
.body form div.submit p {
  display: block;
  margin: 0;
  padding: 1rem 0;
}
.body div.form span.title {
  display: block;
  margin: 0 0 1em;
  width: initial;
  font-size: var(--fs-M);
}
.body div.form span.title + br {display: none;}
.body div.form span.title span {
  display: inline-block;
  margin: 0;
  font-size: 80%;
}
.body form input[type="text"],
.body form input[type="email"] {height: 2.5em;}
.body form input[type="text"].m {width: 50%;}
.body form input[type="text"].s {width: 33%;}
.body form input[type="text"].wpcf7-free-text {width: 10em;}
.wpcf7-list-item {margin: 0;}
.body div.form span.unit {margin: 0 0.4em;}

span[data-name="your-facility"] .wpcf7-list-item {
  display: block;
  margin-right: 0 !important;
  white-space: initial !important;
  line-height: var(--lh-M);
}
span[data-name="your-facility"] label {
  display: flex;
  gap: 0.75em;
  margin: 0 0 1em;
}
span[data-name="your-facility"] input[type="checkbox"] {margin: 0;}

.body div.form div.submit p {padding: 3rem 0;}
.body form input[type="submit"] {
  width: 100%;
  min-width: initial;
}

.body div.form div.complate {
  margin: 0 0 3rem;
  padding: 1rem;
}
.body div.form div.complate h4 {font-size: var(--fs-L);}

} /* @media only screen and (max-width:768px) */

