@charset 'utf-8';

/* Base
--------------------------------------------------- */
*, ::before, ::after { background-repeat: no-repeat; box-sizing: inherit; }
::before, ::after { text-decoration: inherit; vertical-align: inherit; }
html { box-sizing: border-box; cursor: default; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
article, aside, footer, header, nav, section { display: block; }
body { margin: 0; }
figcaption, figure, main { display: block; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
nav ol, nav ul { list-style: none; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; -webkit-text-decoration-skip: objects; }
abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: inherit; font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
dfn { font-style: italic; }
mark { background-color: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
img { border-style: none; }
svg { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
table { border-collapse: collapse; }
details, menu { display: block; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
a, area, button, input, label, select, summary, textarea, [tabindex] { touch-action: manipulation; }
[hidden] { display: none; }
button, input, optgroup, select, textarea { margin: 0; }
button, input, select, textarea { background-color: transparent; color: inherit; font-family : inherit; font-size: 100%; line-height: inherit; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
textarea { overflow: auto; resize: vertical; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
img { max-width: 100%; height: auto; }
img[src$=".svg"] { width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: 100%; font-weight: normal; }
blockquote, figure, p { margin: 0; }
dl, dd, ol, ul { margin: 0; padding: 0; }
ul { list-style: none; }
i { font-style: normal; }
html { font-size: 62.5%; }
@media screen and (max-width:23.4275em) {
  html { font-size: 56.25%; }
}
@media screen and (min-width:48em) {
  html { font-size: 56.25%; }
}
@media screen and (min-width:70em) {
  html { font-size: 62.5%; }
}
body { font-family: 'FOT-筑紫A丸ゴシック Std M', 'TsukuARdGothicStd-M', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif; font-weight: 500; font-size: 1.4rem; line-height: 1; color: #363636; -webkit-font-feature-settings: "palt" 1; font-feature-settings: "palt" 1; }
@media screen and (min-width:48em) {
  body { font-size: 1.6rem; }
}
@media (-webkit-min-device-pixel-ratio:2) {
  body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
}
::-moz-selection { background: rgba(245, 194, 35, 0.1); color: #5cad53; text-shadow: none; }
::selection { background: rgba(245, 194, 35, 0.1); color: #5cad53; text-shadow: none; }
a { color: #363636; -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
a:link, a:visited { color: #363636; text-decoration: none; }
@media screen and (min-width:48em) {
  a:hover, a:active { color: #5cad53; }
  a:hover img, a:active img { opacity: 0.8; -webkit-transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
}
svg { width: 100%; height: auto; }
svg path { -webkit-transition: fill 0.2s ease-in-out; transition: fill 0.2s ease-in-out; }
h1, h2, h3, h4, h5, h6 { font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; }

/* Component
--------------------------------------------------- */

/*
 * global
 */

/* typo & element */
.content-editor { line-height: 2; }
.content-editor strong, .content-editor em { font-style: normal; font-weight: bold; }
.content-editor .has-small-font-size, .content-editor small { font-size: 0.8em; }
.content-editor .alignleft, .content-editor .alignright, .content-editor .aligncenter { display: block; margin: auto; margin-bottom: 2.4rem; }
.content-editor .has-red-color { color: #e74c3c; }
@media screen and (min-width:48em) {
  .content-editor .alignleft, .content-editor .alignright { max-width: 47.78%; margin-bottom: 2.4rem; }
  .content-editor .alignleft { float: left; margin-right: 4.44%; }
  .content-editor .alignright { float: right; margin-left: 4.44%; }
  .content-editor .alignleft + .alignright { margin-left: 0; }
}
.section-heading { position: relative; padding-left: 1em; font-weight: bold; color: #363636; letter-spacing: 0.04em; line-height: 1.2; }
.section-heading em { padding: 0 0.05em; font-style: normal; font-size: 1.5em; color: #46a94e; line-height: 0.5; }
.section-heading > .subhead { display: block; padding-bottom: 0.8rem; font-size: 1.2rem; }
.section-heading::before { position: absolute; right: 0; top: 0.1em; content: ''; width: 100%; height: 1em; background: url("../img/icon-h-left.svg") left bottom no-repeat; background-size: contain; }
.section-heading.-otherstories, .section-heading.-center { display: inline-block; margin-left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); line-height: 1.2; text-align: center; white-space: nowrap; }
.section-heading.-otherstories { padding-left: 1.5em; }
.section-heading.-otherstories::before { background: url("../img/icon-h-story-large.svg") left bottom no-repeat; background-size: contain; }
.section-heading.-center { padding-right: 1em; }
.section-heading.-center::before { top: auto; bottom: 0; }
.section-heading.-center::after { position: absolute; right: 0; bottom: 0; content: ''; width: 100%; height: 1em; background: url("../img/icon-h-right.svg") right bottom no-repeat; background-size: contain; }
.large-heading { color: #46a94e; letter-spacing: 0.05em; line-height: 1.2; }
.large-heading.kids { color: #7A6440; }
.large-heading > em { padding: 0 0.05em; font-style: normal; font-size: 1.5em; line-height: 0.5; }
.medium-heading { font-weight: bold; color: #46a94e; letter-spacing: 0.06em; line-height: 1.44; }
.small-heading { font-weight: bold; }
.lead-copy { font-weight: bold; line-height: 1.75; letter-spacing: 0.06em; }
.lead-copy.-center { text-align: center; }
.small-text { font-size: 12px; }
strong.emphasized-text { font-style: normal; font-size: 1.25em; color: #409247; line-height: 1; padding-bottom: 0.2rem; background-image: -webkit-linear-gradient(transparent 70%, #f8e71c 30%); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #f8e71c)); background-image: linear-gradient(transparent 70%, #f8e71c 30%); }
em.emphasized-text { color: #409247; }
.commu-color { color: #46a94e; }
.learn-color { color: #f3b000; }
@media screen and (max-width:47.99em) {
  .section-heading { margin-top: 4rem; margin-bottom: 1.6rem; font-size: 1.8rem; }
  .large-heading { font-size: 1.8rem; }
  .medium-heading { font-size: 1.6rem; }
  .note-text { font-size: 1.2rem; }
  .lead-copy { font-size: 1.4rem; }
}
@media screen and (min-width:48em) {
  .section-heading { margin-top: 6.4rem; margin-bottom: 3.2rem; font-size: 2.4rem; }
  .large-heading { font-size: 2rem; }
  .medium-heading { font-size: 1.8rem; }
  .note-text { font-size: 1.4rem; }
  .lead-copy { font-size: 1.6rem; }
}

/* small components */
.contact-tel > .button { color: #fff; text-align: center; }
.contact-tel > .button > .number { display: inline-block; position: relative; border-bottom: 1px solid #fff; font-family: 'Oswald', sans-serif; letter-spacing: 0.03em; }
.contact-tel > .button > .number::before { content: ''; position: absolute; top: 0; height: 100%; background: url("../img/icon-tel-white.svg") center center no-repeat; background-size: contain; }
.contact-tel > .button > .number a { color: #fff;}
.contact-tel > .button > .time { padding-top: 0.6rem; font-weight: bold; letter-spacing: 0.07em; }
.contact-form > .button { display: inline-block; position: relative; width: 100%; padding-left: 8%; border-radius: 6rem; background-color: #ed9100; font-weight: bold; color: #fff; letter-spacing: 0.06em; text-align: center; }
.contact-form > .button > span { padding: 0.4rem; display: block; }
.contact-form > .button::before { content: ''; position: absolute; top: 0; height: 100%; background: url("../img/icon-contact.svg") center center no-repeat; background-size: contain; }
@media screen and (max-width:47.99em) {
  .contact-tel > .button { width: 100%; border: 2px solid #fff; border-radius: 6rem; }
  .contact-tel > .button > .number { padding: 0.8rem 1.6rem 0.8rem 4.8rem; font-size: 2.6rem; }
  .contact-tel > .button > .number::before { left: 0; width: 2.4rem; margin-left: 1.6rem; }
  .contact-tel > .button > .time { padding-bottom: 0.6rem; font-size: 1.2rem; }
  .contact-tel.-green { background-color: #5cad53; }
  .contact-form > .button { padding-top: 1.4rem; padding-bottom: 1.2rem; font-size: 2rem; }
  .contact-form > .button > span { font-size: 1.2rem; }
  .contact-form > .button::before { left: 13.33%; width: 2.4rem; }
  .contact-form.-small > .button { padding-top: 0.6rem; padding-bottom: 0.6rem; font-size: 1rem; letter-spacing: 0; }
  .contact-form.-small > .button > span { padding: 0.2rem; font-size: 0.8rem; letter-spacing: -0.04em; }
  .contact-form.-small > .button::before { left: 8.06%; width: 11.29%; }
}
@media screen and (min-width:48em) {
  .contact-tel > .button > .number { padding-left: 4rem; padding-bottom: 0.8rem; font-size: 4.2rem; }
  .contact-tel > .button > .number::before { left: 0; width: 3.2rem; }
  .contact-tel > .button > .time { font-size: 1.4rem; }
  .contact-tel.-green > .button > .number { border-bottom-width: 2px; border-bottom-color: #7ebe41; font-size: 3rem; color: #7ebe41; }
  .contact-tel.-green > .button > .number a { color: #7ebe41; }
  .contact-tel.-green > .button > .number::before { background-image: url("../img/icon-tel-green.svg"); }
  .contact-tel.-green > .button > .time { font-size: 1rem; color: #363636; }
  .contact-form > .button { padding-top: 1.4rem; padding-bottom: 1.2rem; font-size: 2rem; -webkit-transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .contact-form > .button > span { font-size: 1.2rem; }
  .contact-form > .button::before { left: 13.33%; width: 8%; }
  .contact-form > .button:hover { opacity: 0.8; }
  .contact-form.-small > .button { padding-top: 1.2rem; padding-bottom: 0.6rem; font-size: 1.6rem; }
  .contact-form.-small > .button::before { left: 13.79%; width: 8.62%; }
}
.link-bullet > .arrow { position: relative; display: inline-block; z-index: 1; padding: 0.8rem 0; position: relative; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; }
.link-bullet > .arrow::before { content: ''; position: absolute; top: 0.45em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #5cad53; border-radius: 0.2rem; }
.link-button { text-align: center; }
.link-button > .arrow { position: relative; display: inline-block; width: 100%; border-radius: 3rem; background-color: #46a94e; font-weight: bold; color: #fff; line-height: 4rem; text-decoration: none; }
.link-button > .arrow:link, .link-button > .arrow:visited { color: #fff; text-decoration: none; }
.link-button > .arrow::before { content: ''; position: absolute; top: calc(50% - 0.2em); bottom: 0; left: 2.4rem; margin: autod; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #fff; border-radius: 2px; }
.-el-low .link-button > .arrow { background-color: #498ede; }
.-el-up .link-button > .arrow { background-color: #285bcb; }
.-jh .link-button > .arrow { background-color: #e4644a; }
.link-button.-archive > .arrow { padding-left: 0.8rem; border-radius: 0; background-color: #f9f6e9; color: #363636; }
.link-button.-archive > .arrow::before { left: 3.2rem; border-left-color: #5cad53; }
@media screen and (min-width:48em) {
  .link-button { -webkit-transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .link-button > .arrow { line-height: 4.8rem; }
  .link-button:hover { opacity: 0.8; }
}
.btn-totop { position: fixed; z-index: 10; opacity: 0; -webkit-transition: opacity 0.8s; transition: opacity 0.8s; background-color: #46a94e; border-radius: 50%; }
.btn-totop.-sticky { opacity: 1; -webkit-transition: opacity 1s; transition: opacity 1s; }
.btn-totop > .icon { display: inline-block; position: relative; width: 100%; height: 100%; }
.btn-totop > .icon::after { position: absolute; top: 44%; left: 36%; width: 30%; height: 30%; display: inline-block; content: ''; border-style: solid; border-width: 1px 1px 0 0; border-color: #fff; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); text-align: center; }
@media screen and (max-width:47.99em) {
  .btn-totop { bottom: 6.4rem; right: 6.4%; width: 4rem; height: 4rem; }
}
@media screen and (min-width:48em) {
  .btn-totop { bottom: 8rem; right: 2.78%; width: 4.8rem; height: 4.8rem; }
  .btn-totop:hover { background-color: #f5c223; }
  .btn-totop > .icon:hover::after, .btn-totop > .icon:active::after { top: 40%; border-color: #fff; -webkit-transition: top 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); transition: top 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
}
.icon-box { display: inline-block; font-weight: bold; padding: 0.8rem 1.2rem; border-radius: 0.4rem; color: #fff; line-height: 1; text-align: center; }
.icon-box.-sm { font-size: 1.2rem; padding: 0.4rem 0.8rem; }
.icon-box.-el-low { background-color: #498ede; }
.icon-box.-el-up { background-color: #285bcb; }
.icon-box.-jh { background-color: #e4644a; }
.icon-box.-commu, .icon-box.-case { background-color: #46a94e; }
.icon-box.-learn { background-color: #f5c223; }
.icon-box.-grade { background-color: #e9b30d; box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); }
.icon-box.-disorder { background-color: #fff; box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); color: #363636; }
.content-box.-gray { background-color: #fbfbfb; }
.content-box.-green { background-color: #f6f9f3; }
.content-box.-pink { background-color: #FDF2F6; }
.content-box.-tri { background-image: url("../img/box-bg-tri-green.svg"); background-position: right -1.2rem top 50%; }
.content-box.-square { background-image: url("../img/box-bg-square-green.svg"); background-position: right -0.4rem bottom -0.8rem; }
.-strong { font-weight: bold; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; }
.ref-link, .ref-box { display: inline-block; background-color: #f6f6f6; font-size: 1.2rem; padding: 0.5em 1em; }
.ref-link a, .ref-box a { color: #4997f3; }
.ref-link a:link, .ref-box a:link, .ref-link a:visited, .ref-box a:visited { color: #4997f3; }
@media screen and (max-width:47.99em) {
  .content-box { padding: 2rem 2.4rem; }
  .content-box.-green.-tri { background-size: 32.11%; }
  .content-box.-green.-square { background-size: 29.36%; }
}
@media screen and (min-width:48em) {
  .content-box { padding: 3.2rem 4rem; }
  .content-box.-green.-tri { background-size: 13.89%; }
  .content-box.-green.-square { background-size: 17.13%; }
  .ref-link a:hover, .ref-box a:hover, .ref-link a:active, .ref-box a:active { color: #4997f3; text-decoration: underline; }
}
.breadcrumb-list { display: -webkit-box; display: flex; flex-wrap: wrap; margin-top: -0.4rem; font-size: 1.2rem; letter-spacing: 0.03em; }
.breadcrumb-list > li { color: #5cad53; margin-top: 0.4rem; }
.breadcrumb-list > li:not(:last-child)::after { content: '\00BB'; color: #363636; padding-left: 0.5em; padding-right: 0.5em; }
.list-disc { margin-top: -0.75em; }
.list-disc li { margin-top: 0.75em; padding-left: 1.2em; line-height: 1.75; }
.list-disc li::before { margin-top: -0.2em; text-indent: -1em; display: inline-block; content: '\2022'; font-size: 1.4em; color: #5cad53; line-height: 1; vertical-align: middle; }
.anchor-links { display: -webkit-box; display: flex; flex-wrap: wrap; margin-top: -1.6rem; }
.anchor-links > li { position: relative; margin-top: 1.6rem; margin-right: 1.6rem; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; font-size: 1.4rem; line-height: 1; }
.anchor-links > li > a { color: #df6c0d; }
.anchor-links > li::before { content: ''; position: absolute; top: 0.25em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-top: 0.6rem solid #df6c0d; border-radius: 0.2rem; }

/* cards */
.article-card { position: relative; padding-bottom: 0.8rem; }
.article-card > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; }
.article-card > .image > img { box-shadow: 0.4rem 0.4rem 0 0 #f5c223; }
.article-card > .profile { position: relative; z-index: 1; display: -webkit-box; display: flex; margin-top: -2.4rem; margin-left: -0.8rem; margin-bottom: 2.4rem; }
.article-card > .profile > li { margin-right: 1px; }
.article-card > .heading { margin-top: 2rem; font-weight: bold; font-size: 1.6rem; line-height: 1.25; }
.article-card > .heading.-story, .article-card > .heading.-event, .article-card > .heading.-challenge { margin-bottom: 1.6rem; padding-left: 2.8rem; }
.article-card > .heading.-story { background: url("../img/icon-h-story.svg") left center no-repeat; background-size: contain; }
.article-card > .heading.-event { background: url("../img/icon-h-event.svg") left center no-repeat; background-size: contain; }
.article-card > .heading.-challenge { background: url("../img/icon-h-challenge.svg") left center no-repeat; background-size: contain; }
.article-card > .desc { margin-top: 2rem; font-size: 1.4rem; line-height: 1.57; }
.article-card > .cases { margin-top: 1.2rem; }
.article-card > .cases > li { margin-top: 1px; }
.article-card > .link { margin-top: 1.4rem; font-weight: bold; font-size: 1.2rem; }
.article-card > .link > .arrow { padding-top: 0.2rem; }
.article-card > .link > .arrow > span { padding-bottom: 0.6rem; border-bottom: 0.2rem solid #f5c223; }
@media screen and (min-width:48em) {
  .article-card > .heading.-story, .article-card > .heading.-event, .article-card > .heading.-challenge { margin-top: 0; }
  .article-card:hover > .image > img { opacity: 0.8; -webkit-transition: opacity 0.2s ease-in-out; transition: opacity 0.2s ease-in-out; }
  .article-card:hover > .link { color: #5cad53 !important; -webkit-transition: color 0.2s ease-in-out; transition: color 0.2s ease-in-out; }
}

/* blocks */
.content-block.-header { position: relative; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.content-block.-header::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.25); }
.content-block.-header.-colored::after { opacity: 0.6; background-image: -webkit-linear-gradient(450deg, #f5c223 0%, #7ebe41 100%); background-image: -webkit-gradient(linear, right top, left top, from(#f5c223), to(#7ebe41)); background-image: -webkit-linear-gradient(right, #f5c223 0%, #7ebe41 100%); background-image: linear-gradient(270deg, #f5c223 0%, #7ebe41 100%); background-color: none; }
.content-block.-header > .heading { position: relative; z-index: 1; font-weight: bold; color: #fff; letter-spacing: 0.08em; text-align: center; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); line-height: 1; }
.content-block.-body { position: relative; z-index: 1; }
@media screen and (max-width:47.99em) {
  .content-block.-header > .heading { padding: 4rem 0 8rem; font-size: 2.4rem; }
  .content-block.-body { margin-top: -4rem; }
  .content-block.-contact { padding: 3.2rem 0; background: #5cad53; }
  .content-block.-contact > p { font-weight: bold; font-size: 1.6rem; color: #fff; text-align: center; line-height: 1.5; }
  .content-block.-contact > .column { margin: 2.4rem auto 0; width: 80%; }
  .content-block.-contact > .column > .tel, .content-block.-contact > .column > .form { margin-top: 1.6rem; }
  .content-block.-news { padding: 4rem 0; background-color: #f7f7f7; }
  .content-block.-otherpages { padding: 2rem 0 4.8rem; background-color: #fbfbfb; }
}
@media screen and (min-width:48em) {
  .content-block { width: 100%; }
  .content-block.-header > .heading { padding: 8rem 0 26rem; font-size: 3.2rem; }
  .content-block.-body { margin-top: -18rem; }
  .content-block.-contact { padding: 5.6rem 0; background: #5cad53; background-image: -webkit-linear-gradient(270deg, #5cad53 0%, #46a94e 100%); background-image: -webkit-gradient(linear, left top, right top, from(#5cad53), to(#46a94e)); background-image: -webkit-linear-gradient(left, #5cad53 0%, #46a94e 100%); background-image: linear-gradient(90deg, #5cad53 0%, #46a94e 100%); }
  .content-block.-contact > p { font-weight: bold; font-size: 2rem; color: #fff; text-align: center; }
  .content-block.-contact > .column { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; }
  .content-block.-contact > .column > .form { margin: 2.4rem 2rem 0; width: 30rem; }
  .content-block.-contact > .column > .tel { margin: 2.4rem 2rem 0; -webkit-box-ordinal-group: 0; order: -1; }
  .content-block.-news { padding-top: 5.6rem; padding-bottom: 8rem; background-color: #f7f7f7; }
  .content-block.-news .list { margin-top: 2.4rem; }
  .content-block.-otherpages { padding-top: 6.4rem; padding-bottom: 8rem; background-color: #fbfbfb; }
}

/*
 * local
 */

/* home */
.content-block.-slider { position: relative; }
.content-block.-slider::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; background-color: rgba(0, 0, 0, 0.20); }
.content-block.-slider > .tns-outer > [data-action] { display: none; }
.content-block.-slider > .dots { position: absolute; bottom: 3.2rem; z-index: 1; width: 100%; }
.content-block.-slider > .content { position: absolute; top: 56%; z-index: 1; width: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.content-block.-slider .bnr { z-index: 1; position: absolute; bottom: -3.2rem; left: 10%; width: 161px;}
.slider-slides > .item { width: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.slider-content { font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; font-weight: bold; text-align: center; }
.slider-content > .slogan { color: #fff; letter-spacing: 0.04em; line-height: 1.25; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
.slider-content > .service { display: inline-block; background-color: #fff; color: #7e633a; letter-spacing: 0.04em; }
.slider-content > .icons { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; margin-top: 1.2em; }
.slider-content > .icons > .item { color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);}
@media screen and (max-width:47.99em) {
  .content-block.-slider .bnr { z-index: 1; position: absolute; top: .2rem; left: 1%; width: 72px;}
  .content-block.-slider > .content { top: 60%; }
  .slider-slides > .item { height: 64vw; }
  .slider-content > .slogan { font-size: 2rem; }
  .slider-content > .service { margin-top: 0.8rem; padding: 0.6rem 1.2rem; border-radius: 2rem; font-size: 1.2rem; letter-spacing: 0; }
  .slider-content > .icons { margin-top: 0.8rem; }
  .slider-content > .icons > .item { font-size: 9px; width: 5.4rem; }
  .slider-content > .icons > .item > img { margin-bottom: 0.6rem; width: 2.8rem; }
  .slider-dots { display: none; }
}
@media screen and (min-width:48em) {
  .slider-slides > .item { height: 60rem; }
  .slider-content > .slogan { font-size: 4rem; }
  .slider-content > .service { margin-top: 1.6rem; padding: 1rem 3.2rem; border-radius: 4rem; font-size: 2.4rem; }
  .slider-content > .icons { margin-top: 2rem; }
  .slider-content > .icons > .item { width: 9.5rem; }
  .slider-content > .icons > .item > img { margin-bottom: 0.8rem; width: 5rem; }
  .slider-dots { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
  .slider-dots > .dot { width: 1rem; height: 1rem; margin: 0 1.2rem; background-color: #fff; border-radius: 50%; outline: none; }
  .slider-dots > .dot:hover { background-color: #409247; }
  .slider-dots > .dot.tns-nav-active { width: 1.4rem; height: 1.4rem; background-color: #409247; }
}
.intro-message { position: relative; background: url("../img/intro-message-bg-pattern.png") center center repeat-x; }
.intro-message::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: url("../img/intro-message-bg.png") center top no-repeat; }
.intro-message > .words { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 1; width: 100%; font-weight: bold; color: #4a4a4a; letter-spacing: 0.22em; text-align: center; line-height: 1.25; }
.intro-message > .words > p { margin-top: 1.6rem; }
@media screen and (max-width:47.99em) {
  .intro-message { height: 32rem; background-size: 25rem; }
  .intro-message::after { background-size: 32rem; }
  .intro-message > .words { font-size: 2rem; }
}
@media screen and (min-width:48em) {
  .intro-message { height: 43.8rem; background-size: 35rem; }
  .intro-message::after { background-size: 43.8rem; }
  .intro-message > .words { font-size: 3.2rem; }
  .intro-message > .words > p { margin-top: 1.6rem; }
}
.u18-2courses { position: relative; border: 0.4rem solid; border-radius: 0.8rem; background-color: #fff; }
.u18-2courses > .heading { font-weight: bold; line-height: 1; }
.u18-2courses > .desc { margin-top: 1.6rem; font-weight: bold; line-height: 1.5; }
.u18-2courses > .ornament { position: absolute; }
.u18-2courses.-commu { border-color: #46a94e; }
.u18-2courses.-commu > .heading { color: #46a94e; }
.u18-2courses.-learn { border-color: #f5c223; }
.u18-2courses.-learn > .heading { color: #f5c223; }
@media screen and (max-width:47.99em) {
  .u18-2courses { padding: 6.12%; }
  .u18-2courses > .heading { font-size: 2rem; text-align: center; }
  .u18-2courses > .desc { padding-left: 24.46%; }
  .u18-2courses > .ornament { top: 33.12%; left: -3.67%; width: 24.46%; }
}
@media screen and (min-width:48em) {
  .u18-2courses { padding: 6.56% 4.92% 6.56% 36.89%; }
  .u18-2courses > .heading { font-size: 2.4rem; }
  .u18-2courses.-commu > .ornament { top: -15.56%; left: -5.74%; width: 32.79%; }
  .u18-2courses.-learn > .ornament { top: -15.56%; left: -1.64%; width: 31.35%; }
}
.u18-3classes { border-radius: 0.4rem; }
.u18-3classes > .heading { border-bottom: 0.2rem solid; border-radius: 0.4rem 0.4rem 0 0; font-weight: bold; text-align: center; line-height: 1; }
.u18-3classes > .link { margin: 0 auto; }
.u18-3classes.-el-low { background-color: #f4f8fd; }
.u18-3classes.-el-low > .heading { border-bottom-color: #498ede; background-color: #dceafa; color: #498ede; }
.u18-3classes.-el-up { background-color: #f3f5fc; }
.u18-3classes.-el-up > .heading { border-bottom-color: #285bcb; background-color: #d7e0f8; color: #285bcb; }
.u18-3classes.-jh { background-color: #fdf6f4; }
.u18-3classes.-jh > .heading { border-bottom-color: #e4644a; background-color: #fae1dc; color: #e4644a; }
@media screen and (max-width:47.99em) {
  .u18-3classes > .heading { padding: 1.2rem; font-size: 2rem; }
  .u18-3classes > .heading > span { font-size: 1.8rem; }
  .u18-3classes > .link { width: 82.57%; padding-top: 1.6rem; padding-bottom: 1.6rem; }
}
@media screen and (min-width:48em) {
  .u18-3classes > .heading { padding: 1.6rem; font-size: 2.4rem; }
  .u18-3classes > .heading > span { font-size: 2rem; }
  .u18-3classes > .link { width: 75.07%; padding-top: 2.4rem; padding-bottom: 2.4rem; }
}
.price-banner { position: relative; border: 0.3rem solid #46a94e; border-radius: 0.8rem; background-color: #fff; }
.price-banner > .heading { font-family: 'Oswald', sans-serif; color: #46a94e; letter-spacing: 0; line-height: 1; text-align: center; }
.price-banner > .text { font-weight: bold; color: #46a94e; }
.price-banner > .text > p { margin: 0; }
.price-banner > .text em { font-style: normal; font-size: 1.5em; line-height: 1; padding-bottom: 0.2rem; background-image: -webkit-linear-gradient(transparent 70%, #f8e71c 30%); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #f8e71c)); background-image: linear-gradient(transparent 70%, #f8e71c 30%); }
.price-banner > .text em em { padding-right: 0.1em; font-family: 'Barlow', sans-serif; font-style: italic; font-size: 1.7em; line-height: 0.75; background-image: none; }
.price-banner > .ornament { position: absolute; }
@media screen and (max-width:47.99em) {
  .price-banner { padding: 2rem 2.4rem; }
  .price-banner > .heading { display: inline-block; margin-left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); padding-bottom: 1.2rem; border-bottom: 2px solid #46a94e; font-size: 2.4rem; }
  .price-banner > .text { margin-top: 1.6rem; font-size: 1.4rem; }
  .price-banner > .text em { font-size: 1.23em; }
  .price-banner > .ornament.-l { top: -7.69%; left: -3.06%; width: 25.38%; }
  .price-banner > .ornament.-r { bottom: -13.46%; right: -7.34%; width: 23.24%; }
}
@media screen and (min-width:48em) {
  .price-banner { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; padding: 4rem 2.4rem; }
  .price-banner > .heading { padding-right: 2.4rem; font-size: 2.8rem; }
  .price-banner > .text { padding-left: 2.4rem; border-left: 2px solid #46a94e; font-size: 1.8rem; }
  .price-banner > .ornament.-l { top: -25%; left: -7.5%; width: 17%; }
  .price-banner > .ornament.-r { bottom: -25%; right: -10%; width: 14.37%; }
}
@media screen and (max-width:47.99em) {
  .home-section.-intro { width: 100%; padding-top: 2.4rem; }
  .home-section.-intro > .image { width: 186%; margin-left: -43%; position: relative; z-index: 1; margin-top: 2.4rem; }
  .home-section.-intro > .message { margin-top: -2.4rem; }
  .home-section.-courses { padding-top: 4rem; }
  .home-section.-courses > .note { margin-top: 0.8rem; margin-bottom: 2.4rem; }
  .home-section.-classes { padding-top: 4.8rem; padding-bottom: 4.8rem; }
  .home-section.-classes > .lead { margin-bottom: 2.4rem; }
  .home-section.-price { width: 93.6%; padding: 2.4rem 3.2% 2rem; border-radius: 0.8rem; background-color: #f6f9f3; }
  .home-section.-price > .banner { margin: 0 auto; max-width: 800px; }
  .home-section.-price > .link { margin: 2rem auto 0; max-width: 28rem; }
  .home-section.-rooms { padding-top: 4.8rem; padding-bottom: 7.2rem; }
}
@media screen and (min-width:48em) {
  .home-section.-intro { padding-top: 4.8rem; }
  .home-section.-intro > .image { position: relative; z-index: 1; margin: 1.6rem auto 0; max-width: 1154px; }
  .home-section.-intro > .message { margin-top: -3.2rem; }
  .home-section.-courses { position: relative; margin-bottom: -4rem; padding-top: 12rem; padding-bottom: 22rem; background: url("../img/bg-tri.svg") 9.18% top no-repeat; background-size: 22.33%; }
  .home-section.-courses::after { content: ''; position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; background: url("../img/bg-circle.svg") right 7.14% bottom 0 no-repeat; background-size: 22.67%; }
  .home-section.-courses > .note { margin-top: 0.8rem; margin-bottom: 4.8rem; text-align: center; }
  .home-section.-courses > .courses { margin: 0 auto; max-width: 98rem; }
  .home-section.-classes { position: relative; padding-bottom: 5.6rem; background: url("../img/bg-cross.svg") 12% 4rem no-repeat; background-size: 30.41%; }
  .home-section.-classes::after { content: ''; position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; background: url("../img/bg-square2.svg") right 5.83% bottom -24.6rem no-repeat; background-size: 23.17%; }
  .home-section.-classes > .lead { margin-bottom: 4rem; }
  .home-section.-price { padding-top: 8rem; padding-bottom: 6.4rem; border-radius: 0.8rem; background-color: #f6f9f3; }
  .home-section.-price > .banner { margin: 0 auto; max-width: 800px; }
  .home-section.-price > .link { margin: 4rem auto 0; max-width: 28rem; }
  .home-section.-rooms { padding-top: 12rem; padding-bottom: 9.6rem; background: url("../img/bg-square.svg") 6% -4rem no-repeat; background-size: 26.5%; }
  .home-section.-rooms > .box { margin: 0 auto; max-width: 80rem; }
  .content-block.-news .archive-link { width: 30.4rem; margin-top: 8rem; margin-left: auto; margin-right: auto; }
}

/* ジョブサU18とは */
.mission-statement { background: url("../img/mission-statement.png") center center no-repeat; background-size: contain; font-weight: bold; letter-spacing: 0.04em; text-align: center; line-height: 1.75; }
@media screen and (max-width:47.99em) {
  .mission-statement { width: 150%; margin-left: -25%; padding-top: 2.4rem; padding-bottom: 2.4rem; font-size: 1.8rem; }
  .about-section.-features { padding-top: 4rem; padding-bottom: 4rem; }
  .about-section.-features > .box:first-of-type { margin-top: 1.6rem; }
  .about-section.-features > .box:not(:first-of-type) { margin-top: 2.8rem; }
  .about-section.-steps { padding-bottom: 4rem; }
  .about-section.-steps > .box { margin-top: 2.4rem; }
  .about-section.-steps > .box > .image { margin-top: 1.6rem; margin-bottom: 0.8rem; }
  .about-section.-voices { padding-bottom: 4rem; }
  .about-section.-voices > .box:not(:first-of-type) { margin-top: 1.6rem; }
}
@media screen and (min-width:48em) {
  .mission-statement { padding-top: 3.2rem; padding-bottom: 3.2rem; font-size: 2.4rem; }
  .about-section.-features { padding-top: 8rem; padding-bottom: 12rem; }
  .about-section.-features > .box:first-of-type { margin-top: 2.4rem; }
  .about-section.-features > .box:not(:first-of-type) { margin-top: 6.4rem; }
  .about-section.-steps { padding-bottom: 9.6rem; }
  .about-section.-steps > .box { margin-top: 3.2rem; }
  .about-section.-steps > .box > .image { margin-top: 2.4rem; margin-bottom: 0.8rem; }
  .about-section.-voices { padding-bottom: 12rem; }
  .about-section.-voices > .box:not(:first-of-type) { margin-top: 4rem; }
}
.u18-4features { position: relative; border-top: 4px solid #e9b30d; background-color: #fbfbfb; }
.u18-4features > .heading { width: 100%; text-align: center; }
.u18-4features > .image { border-radius: 50%; box-shadow: 0.4rem 0.4rem 0 0 #f5c223; }
.u18-4features > .desc { margin-top: 1.2rem; }
.u18-4features > .desc > p { margin-top: 1.2rem; }
.u18-4features > .nr { position: absolute; border-radius: 50%; font-family: 'Barlow', sans-serif; font-weight: 400; background-color: #46a94e; color: #fff; text-align: center; }
@media screen and (max-width:47.99em) {
  .u18-4features { padding: 4rem 2.4rem 2.4rem; }
  .u18-4features > .image { margin: 1.6rem auto 2.4rem; width: 48.93%; }
  .u18-4features > .nr { top: -2.2rem; left: calc(50% - 2rem); width: 4rem; line-height: 4rem; font-size: 2rem; }
}
@media screen and (min-width:48em) {
  .u18-4features { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-align: start; align-items: flex-start; padding: 4rem; }
  .u18-4features > .heading { -webkit-box-ordinal-group: 2; order: 1; }
  .u18-4features > .image { -webkit-box-ordinal-group: 4; order: 3; margin-top: 3.2rem; width: 23.89%; }
  .u18-4features > .desc { -webkit-box-ordinal-group: 3; order: 2; margin-right: auto; width: 70.56%; }
  .u18-4features > .nr { top: -2.6rem; left: calc(50% - 2.4rem); width: 4.8rem; line-height: 4.8rem; font-size: 2.4rem; }
}
.u18-steps > .step { font-size: 1.8rem; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; border: 0.2rem solid #7ebe41; border-radius: 0.4rem; background-color: #7ebe41; }
.u18-steps > .step:not(:last-child) { margin-bottom: 0.4rem; }
.u18-steps > .step:nth-child(2) { border-color: #6cb143; background-color: #6cb143; }
.u18-steps > .step:nth-child(3) { border-color: #5ea844; background-color: #5ea844; }
.u18-steps > .step:nth-child(4) { border-color: #519e45; background-color: #519e45; }
.u18-steps > .step:nth-child(5) { border-color: #409247; background-color: #409247; }
.u18-steps > .step > .label { height: 100%;  /*font-family: 'Barlow', sans-serif;*/  font-family: "FOT-筑紫B丸ゴシック Std B", TsukuBRdGothicStd-B, sans-serif;  font-weight: 700;  font-size: 1.2rem;  color: #fff;  letter-spacing: 0.08em;  text-align: center;}
.u18-steps > .step > .label > em { padding: 0 0.05em; font-style: normal; font-size: 1.5em; line-height: 0.5; }
.u18-steps > .step > .text { border-radius: 0 0.4rem 0.4rem 0; background-color: #fff; line-height: 1.86; }
.u18-steps > .step > .text > p { margin: 0; font-size: 1.4rem; font-family: 'FOT-筑紫A丸ゴシック Std M', 'TsukuARdGothicStd-M', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;}
.u18-steps.-flow > .step { position: relative; }
.u18-steps.-flow > .step:not(:last-child) { margin-bottom: 2.4rem; }
.u18-steps.-flow > .step:not(:last-child)::after { content: ''; position: absolute; left: calc(50% - 1.2rem); bottom: -3.2rem; border: 1.2rem solid transparent; border-top: 1.2rem solid #43a24a; border-radius: 0.2rem; }
@media screen and (max-width:47.99em) {
  .u18-steps > .step > .label { width: 6rem; font-size: 1.1rem; }
  .u18-steps > .step > .text { width: calc(100% - 6rem); padding: 1.2rem 2.4rem; font-size: 1.6rem; }
}
@media screen and (min-width:48em) {
  .u18-steps > .step > .label { width: 8.8rem; }
  .u18-steps > .step > .text { width: calc(100% - 8.8rem); padding: 1.6rem 3.2rem; }
  .u18-steps.-flow > .step:not(:last-child) { margin-bottom: 4.4rem; }
  .u18-steps.-flow > .step:not(:last-child)::after { content: ''; position: absolute; left: calc(50% - 1.6rem); bottom: -4.8rem; border-width: 1.6rem; border-top-width: 1.6rem; }
}
.voices-box { padding: 4rem; background-color: #f9f6e9; }
.voices-box > .heading { width: 100%; font-weight: bold; font-size: 2rem; color: #403400; letter-spacing: 0.06em; line-height: 1; text-align: center; }
.voices-box > .voices { position: relative; }
.voices-box > .voices > .voice { background-image: -webkit-linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6e2cf 97%, #e6e2cf 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(97%, rgba(0, 0, 0, 0)), color-stop(97%, #e6e2cf), to(#e6e2cf)); background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6e2cf 97%, #e6e2cf 100%); background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6e2cf 97%, #e6e2cf 100%); background-repeat: repeat-y; color: #403400; }
.voices-box > .voices > .voice::before { content: ''; position: absolute; left: -4rem; width: 2rem; height: 100%; background: url("../img/icon-voices.svg") center 0.5em no-repeat; background-size: contain; }
@media screen and (max-width:47.99em) {
  .voices-box { padding: 2.4rem 7.34%; }
  .voices-box > .image { margin: 1.6rem auto 2.4rem; width: 48.93%; }
  .voices-box > .voices { margin-left: 4rem; }
  .voices-box > .voices > .voice { background-size: 100% 3.2rem; line-height: 3.2rem; }
  .voices-box > .voices > .voice:not(:last-child) { padding-bottom: 3.2rem; }
}
@media screen and (min-width:48em) {
  .voices-box { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-align: start; align-items: flex-start; padding: 4rem; }
  .voices-box > .image { margin-top: 3.2rem; margin-right: auto; width: 23.89%; }
  .voices-box > .voices { margin-top: 3.2rem; width: 62.36%; }
  .voices-box > .voices > .voice { background-size: 100% 3.6rem; line-height: 3.6rem; }
  .voices-box > .voices > .voice:not(:last-child) { padding-bottom: 3.6rem; }
}

/* 小学生・中学・高校生クラス */
.elem-classes { background-color: #f3f3f3; border-radius: 0.4rem; }
.elem-classes > .class { width: 100%; }
.elem-classes [class|="icon"] { width: 100%; }
.jh-course { position: relative; height: 100%; }
.jh-course > a { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 50%; }
.jh-course > .heading { position: relative; background-color: #fff; text-align: center; }
.jh-course > .heading > span { display: inline-block; margin: 0 auto; width: 84.21%; border-radius: 3.6rem; font-weight: bold; color: #fff; letter-spacing: 0.03em; line-height: 3.6rem; }
.jh-course > .heading::after { content: ''; position: absolute; left: calc(50% - 1rem); border: 1rem solid transparent; border-top: 2rem solid #46a94e; }
.jh-course > .image { padding-top: 1.6rem; padding-bottom: 0.8rem; background-color: #fff; }
.jh-course > .image > img { display: block; margin: 0 auto; width: 36.84%; border-radius: 50%; }
.jh-course > .target { padding-bottom: 2rem; position: relative; font-weight: bold; text-align: center; background-color: #fff; }
.jh-course > .target > span { padding-bottom: 0.8rem; border-bottom: 2px solid #46a94e; letter-spacing: 0.03em; line-height: 1; }
.jh-course > .target::before { content: '対象'; display: block; font-size: 1.2rem; }
.jh-course > .box { padding: 2.4rem; }
.jh-course > .box > .heading { padding-bottom: 1.6rem; font-weight: bold; line-height: 1; text-align: center; }
.jh-course > .box > ul { font-weight: bold; font-size: 1.4rem; }
.jh-course.-commu { background: #fbfbfb url("../img/box-bg-hexa-gray.svg") right -1rem bottom -2rem no-repeat; background-size: 34.21%; }
.jh-course.-commu > .heading > span { background-color: #46a94e; }
.jh-course.-commu > .target > span { color: #46a94e; }
.jh-course.-commu > .image > img { box-shadow: 0.4rem 0.4rem 0 0 #5aa979; }
.jh-course.-commu > .box > .heading { color: #46a94e; }
.jh-course.-learn { background: #fbfbfb url("../img/box-bg-cross-gray.svg") right -1rem bottom -2rem no-repeat; background-size: 34.21%; }
.jh-course.-learn > .heading > span { background-color: #e9b30d; }
.jh-course.-learn > .heading::after { border-top-color: #e9b30d; }
.jh-course.-learn > .target > span { color: #e9b30d; border-bottom-color: #e9b30d; }
.jh-course.-learn > .image > img { box-shadow: 0.4rem 0.4rem 0 0 #e9b30d; }
.jh-course.-learn > .box > .heading { color: #e9b30d; }
.jh-course.-learn > .box > ul > li::before { color: #f5c223; }
@media screen and (max-width:47.99em) {
  .elem-classes { padding: 0.8rem 7.34% 1.6rem; }
  .elem-classes > .class { margin-top: 0.8rem; }
  .jh-course > .heading { line-height: 2.8rem; }
  .jh-course > .heading > span { font-size: 1.6rem; }
  .jh-course > .heading::after { top: 2.8rem; }
  .jh-course > .target > span { font-size: 1.8rem; }
  .jh-course > .box { padding: 2.4rem 7.34%; }
}
@media screen and (min-width:48em) {
  .elem-classes { display: -webkit-box; display: flex; padding: 2rem; }
  .elem-classes > .class { margin: 0 2rem; width: 50%; -webkit-transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .elem-classes > .class:hover { opacity: 0.8; }
  .elem-classes [class|="icon"] { padding: 1.6rem 1.2rem; }
  .jh-course { -webkit-transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .jh-course:hover { opacity: 0.8; }
  .jh-course > .heading { line-height: 3.6rem; }
  .jh-course > .heading > span { font-size: 1.8rem; }
  .jh-course > .heading::after { top: 2.8rem; }
  .jh-course > .target > span { font-size: 2rem; }
  .jh-course > .box { padding: 2.4rem; }
}
.elem-header, .jh-header { padding-top: 2rem; padding-bottom: 2rem; font-weight: bold; color: #fff; text-align: center; }
.elem-header > .heading { display: inline-block; font-weight: bold; letter-spacing: 0.03em; line-height: 1; }
.elem-header > .desc { letter-spacing: 0.03em; line-height: 1; }
.elem-header.-el-low { background-color: #498ede; }
.elem-header.-el-up { background-color: #285bcb; }
.jh-header > .heading { display: inline-block; border-bottom: 2px solid #fff; font-weight: bold; letter-spacing: 0.03em; line-height: 1; }
.jh-header > .desc { margin-top: 1.6rem; letter-spacing: 0.1em; line-height: 1.5; }
.jh-header.-commu { background-color: #46a94e; }
.jh-header.-learn { background-color: #e9b30d; }
.course-heading { position: relative; padding-left: 1em; font-weight: bold; color: #363636; letter-spacing: 0.04em; line-height: 1.2; }
.course-heading > span { padding-left: 0.5em; }
.course-heading.-elem-commu, .course-heading.-elem-learn { display: inline-block; margin-left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); padding: 1.2rem 2rem; line-height: 1; text-align: center; white-space: nowrap; }
.course-heading.-elem-commu { border-top: 4px solid #46a94e; border-bottom: 4px solid #46a94e; color: #46a94e; }
.course-heading.-elem-learn { border-top: 4px solid #e9b30d; border-bottom: 4px solid #e9b30d; color: #e9b30d; }
.course-heading.-commu::before, .course-heading.-learn::before { position: absolute; left: 0; top: 0; content: ''; width: 0.5em; height: 1em; }
.course-heading.-commu::before { background-color: #5aa979; }
.course-heading.-learn::before { background-color: #e9b30d; }
@media screen and (max-width:47.99em) {
  .elem-header > .heading, .jh-header > .heading { padding: 0 1.6rem 0.8rem; font-size: 2rem; }
  .course-heading { margin-top: 3.2rem; margin-bottom: 1.6rem; font-size: 1.8rem; }
  .course-heading > span { font-size: 1.4rem; }
}
@media screen and (min-width:48em) {
  .elem-header > .heading, .jh-header > .heading { padding: 0 4rem 1.2rem; font-size: 2.6rem; }
  .course-heading { margin-top: 5.6rem; margin-bottom: 2.4rem; font-size: 2.4rem; }
  .course-heading > span { font-size: 1.6rem; }
}
.commu-training > .text > .example { margin-top: 0.8rem; }
.commu-training-fig { position: relative; background-color: #fbfbfb; border-radius: 0.4rem; }
.commu-training-fig::before { content: '教材の一例'; display: block; position: absolute; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index: 1; padding: 0 2.4rem; border-radius: 4rem; background-color: #e2644a; font-weight: bold; font-size: 1.2rem; color: #fff; letter-spacing: 0.17em; }
.commu-training-fig::after { content: ''; position: absolute; left: calc(50% - 1rem); border: 2.4rem solid transparent; border-left: 1.2rem solid #e2644a; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.commu-training-fig > .caption { margin-top: 1rem; font-size: 1.2rem; text-align: center; }
.commu-training-example { margin-top: -0.8rem; }
.commu-training-example li { margin-top: 0.8rem; padding-left: 1.2em; line-height: 1.75; font-weight: bold; }
.commu-training-example li::before { margin-top: -0.2em; text-indent: -1em; display: inline-block; content: '\2022'; font-size: 1em; color: #363636; line-height: 1; vertical-align: middle; }
.commu-training-example li > span { display: block; font-weight: normal; }
@media screen and (max-width:47.99em) {
  .commu-training > .text > .desc { margin-bottom: 1.6rem; }
  .commu-training > .fig { margin-top: 2.4rem; }
  .commu-training-fig { padding: 4.8rem 2.4rem 1.6rem; }
  .commu-training-fig::before { top: 1.6rem; line-height: 2.8rem; }
  .commu-training-fig::after { top: 0.2rem; }
}
@media screen and (min-width:48em) {
  .commu-training { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-align: start; align-items: flex-start; }
  .commu-training > .heading { width: 100%; }
  .commu-training > .text { margin-right: auto; width: 44.5%; }
  .commu-training > .text > .desc { margin-bottom: 2.4rem; }
  .commu-training > .text.-full { width: 100%; }
  .commu-training > .fig { width: 52.5%; }
  .commu-training-fig { padding: 6.4rem 4rem 2.8rem; }
  .commu-training-fig::before { top: 2.4rem; padding: 0 2.4rem; line-height: 3.2rem; }
  .commu-training-fig::after { top: 1.6rem; }
}
.course-target { background-color: #fbfbfb; }
.course-target > .image { border-radius: 50%; }
.course-target > .text { font-weight: bold; }
.course-target > .text > .heading { margin-bottom: 2.4rem; font-weight: bold; }
.course-target.-el-low > .image { box-shadow: 0.4rem 0.4rem 0 0 #498ede; }
.course-target.-el-up > .image { box-shadow: 0.4rem 0.4rem 0 0 #285bcb; }
.course-target.-commu > .text > .heading { color: #46a94e; }
.course-target.-learn > .text > .heading, .course-target.-learn > .text > ul > li::before { color: #e9b30d; }
@media screen and (max-width:47.99em) {
  .course-target { padding: 2.4rem 7.34%; }
  .course-target > .image { margin: 2.4rem auto; width: 48.93%; }
}
@media screen and (min-width:48em) {
  .course-target { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-align: center; align-items: center; padding: 3.2rem 5.6rem; }
  .course-target > .image { margin-right: auto; width: 26.16%; }
  .course-target > .text { width: 65.7%; }
}
.learning-feature { position: relative; background-color: #f9f6e9; background-image: url("../img/box-bg-hexa-yellow.svg"); background-position: right -2rem bottom -4rem; list-style: none; counter-reset: num; }
.learning-feature > li { margin-top: 0.8rem; padding-left: 1.5em; font-weight: bold; line-height: 1.86; }
.learning-feature > li::before { content: ''counter(num) '.'; counter-increment: num; text-indent: -1.5em; display: inline-block; font-weight: bold; color: #e9b30d; }
.learning-subjects > dt { float: left; width: 4em; font-weight: bold; }
.learning-subjects > dd { margin-left: 4em; }
.learning-subjects > dd::after { content: ''; display: block; clear: both; }
.learning-subjects > dd:nth-last-child(n+2) { margin-bottom: 0.8rem; }
@media screen and (max-width:47.99em) {
  .learning-feature { padding: 1.6rem 7.34% 2.4rem; background-size: 34.25%; }
  .jh-section > .training + .training, .elem-section > .training + .training { border-top: 1px dashed #7e7e7e; margin-top: 2.4rem; }
  .jh-section { padding-bottom: 4rem; }
  .jh-section.-intro { padding-top: 1.6rem; }
  .jh-section.-intro > .courses { padding-top: 2.4rem; }
  .elem-section > .target { margin-top: 2.4rem; }
  .elem-section.-intro { padding-top: 1.6rem; padding-bottom: 4rem; }
  .elem-section.-intro > .classes { margin-top: 2.4rem; }
  .elem-section.-el-low { padding-bottom: 4rem; }
  .elem-section.-el-up-commu { padding-bottom: 2.4rem; }
  .elem-section.-el-up-learn { border-top: 1px dashed #7e7e7e; padding-bottom: 4rem; }
  .elem-section.-el-up-learn > .target { margin-bottom: 2.4rem; }
}
@media screen and (min-width:48em) {
  .learning-feature { padding: 2.4rem 4rem 3.2rem; background-size: 20%; }
  .jh-section > .training + .training, .elem-section > .training + .training { border-top: 1px dashed #7e7e7e; margin-top: 4.8rem; }
  .jh-section.-intro, .jh-section.-commu { padding-top: 1.6rem; padding-bottom: 12rem; }
  .jh-section.-intro > .courses { padding-top: 4rem; }
  .jh-section.-learn { padding-top: 3.2rem; padding-bottom: 12rem; }
  .elem-section > .target { margin-top: 2.4rem; }
  .elem-section.-intro { padding-top: 1.6rem; padding-bottom: 4.8rem; }
  .elem-section.-intro > .classes { margin-top: 4rem; }
  .elem-section.-el-low { padding-bottom: 12rem; }
  .elem-section.-el-up-commu { padding-bottom: 5.6rem; }
  .elem-section.-el-up-learn { border-top: 1px dashed #7e7e7e; padding-bottom: 12rem; }
  .elem-section.-el-up-learn > .target { margin-bottom: 4rem; }
}

/* 成長のストーリー */
.stories-filter > .item { padding-left: 2.2rem; font-weight: bold; font-size: 1.4rem; line-height: 1.29; }
.stories-filter > .item > label { margin-left: -2.2rem; }
.stories-filter > .item .input { display: none; }
.stories-filter > .item .label { position: relative; padding-left: 2.2rem; cursor: pointer; }
.stories-filter > .item .label::before { content: ''; display: block; position: absolute; top: 0; left: 0; margin-top: 0.2em; width: 1.4rem; height: 1.4rem; border: 1px solid #b6cda1; border-radius: 0.2rem; background-color: #fff; }
.stories-filter > .item .input:checked + .label::before { background-color: #46a94e; border-color: #46a94e; }
.stories-filter > .item .input:checked + .label::after { content: ''; display: block; position: absolute; top: 0.1rem; left: 0.5rem; width: 0.5rem; height: 1rem; -webkit-transform: rotate(50deg); transform: rotate(50deg); border-bottom: 0.2rem solid #fff; border-right: 0.2rem solid #fff; border-radius: 0.2rem; }
@media screen and (max-width:47.99em) {
  .stories-filter { margin-top: -0.6rem; }
  .stories-filter > .item { margin-top: 1.2rem; width: 100%; }
  .stories-section { padding-top: 1.6rem; padding-bottom: 4rem; }
  .stories-section > .filter { margin-top: 2.4rem; margin-bottom: 3.2rem; }
}
@media screen and (min-width:48em) {
  .stories-filter { display: -webkit-box; display: flex; flex-wrap: wrap; margin-top: -1.6rem; padding-right: -1.6rem; }
  .stories-filter > .item { margin-top: 1.6rem; width: 25%; padding-right: 1.6rem; }
  .stories-section { padding-bottom: 12rem; }
  .stories-section > .filter { margin-top: 4.8rem; margin-bottom: 6.4rem; }
}
.story-header > .heading { position: relative; font-weight: bold; color: #409247; letter-spacing: 0.06em; text-align: center; line-height: 1.2; }
.story-header > .heading::before { content: '課題・苦手'; display: block; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); z-index: 1; border-radius: 4rem; background-color: #46a94e; color: #fff; }
.story-header > .heading::after { content: ''; position: absolute; left: calc(50% - 1rem); margin-top: -1rem; border: 1rem solid transparent; border-top: 2rem solid #46a94e; }
.story-header > .profile { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; border-top: 0.2rem solid #46a94e; }
.story-header > .profile > li { margin: 0.2rem 0.4rem 0; }
.story-trainings { background-color: #f6f9f3; background-image: url("../img/box-bg-hexa-green.svg"); font-weight: bold; }
.story-trainings > li > span { display: inline-block; margin-right: 1.2rem; }
.story-section.-other { border-top: 0.4rem solid #f6f6f6; }
@media screen and (max-width:47.99em) {
  .story-header > .heading { padding-top: 4.4rem; padding-bottom: 1.2rem; font-size: 2rem; }
  .story-header > .heading::before { padding: 0 2.4rem; font-size: 1.4rem; line-height: 2.8rem; }
  .story-header > .heading::after { top: 2.8rem; }
  .story-header > .profile { padding-top: 1rem; font-size: 1.2rem; }
  .story-trainings { padding: 2rem 2.4rem; background-size: 38.53%; background-position: right -1rem bottom -3rem; }
  .story-trainings > li:nth-child(n+2) { margin-top: 0.8rem; }
  .story-section.-main { padding-top: 1.6rem; padding-bottom: 4rem; }
  .story-section.-other { padding-bottom: 5.6rem; }
  .story-section.-other .archive-link { margin-top: 4.8rem; margin-left: auto; margin-right: auto; }
}
@media screen and (min-width:48em) {
  .story-header > .heading { padding-top: 6.8rem; padding-bottom: 2rem; font-size: 2.8rem; }
  .story-header > .heading::before { padding: 0 4.8rem; font-size: 2rem; line-height: 4rem; }
  .story-header > .heading::after { top: 4rem; }
  .story-header > .profile { padding-top: 1.4rem; }
  .story-trainings { padding: 3.2rem 4rem; background-size: 22.5%; background-position: right -2rem bottom -6rem; }
  .story-section.-main { padding-top: 3.2rem; padding-bottom: 12rem; }
  .story-section.-other { padding-bottom: 12rem; }
  .story-section.-other .archive-link { width: 30.4rem; margin-top: 8rem; margin-left: auto; margin-right: auto; }
}

/* 教室を探す */
.rooms-list-box { position: relative; border: 0.4rem solid #ffbf00; border-radius: 0.8rem; }
.rooms-list-box > .heading { position: relative; background-color: #ffbf00; font-weight: bold; color: #fff; letter-spacing: 0.1em; line-height: 1; text-align: center; }
.rooms-list-box > .heading > .icon { position: relative; padding-left: 1.5em; }
.rooms-list-box > .heading > .icon::before { position: absolute; right: 0; top: 0.3em; content: ''; width: 100%; height: 1em; background: url("../img/icon-h-rooms.svg") left bottom no-repeat; background-size: contain; }
.rooms-list-box > .ornament { position: absolute; z-index: 2; }
.rooms-prefectural-list > .prefecture { font-weight: bold; font-size: 1.6rem; }
.rooms-prefectural-list > .rooms { font-size: 1.4rem; }
.rooms-prefectural-list > .rooms:nth-last-child(n+2) { margin-bottom: 2.4rem; }
.rooms-list { display: -webkit-box; display: flex; flex-wrap: wrap; }
.rooms-list > .item { padding-left: 1em; line-height: 1.29; }
.rooms-list > .item > a { margin-left: -1em; position: relative; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; }
.rooms-list > .item > a::before { content: ''; position: absolute; top: 0.45em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #5cad53; border-radius: 0.2rem; }
.rooms-list > .item a, .rooms-list > .item a:link, .rooms-list > .item a:visited { color: #363636; }
@media screen and (max-width:47.99em) {
  .rooms-list-box > .heading { padding: 1.2rem 7.34%; font-size: 1.8rem; }
  .rooms-list-box > .list { padding: 3.2rem 7.34%; }
  .rooms-list-box.-deco { box-shadow: inset 0 0 0 1.2rem #f9f6e9, inset 0 4.8rem 0 0.8rem #f9f6e9, 0 -0.8rem 0 1.6rem #f9f6e9; }
  .rooms-list-box.-deco > .list { margin-bottom: 4.8rem; }
  .rooms-list-box.-deco > .ornament.-lt { top: -2.4rem; left: -4.89%; width: 24.46%; }
  .rooms-list-box.-deco > .ornament.-lb { bottom: -2.4rem; left: -4.89%; width: 18.35%; }
  .rooms-list-box.-deco > .ornament.-rt { top: -1.6rem; right: -4.89%; width: 29.36%; }
  .rooms-list-box.-deco > .ornament.-rb { bottom: -2.4rem; right: -4.89%; width: 24.46%; }
  .rooms-list-box.-simple > .list { padding-bottom: 4.8rem; }
  .rooms-list-box.-simple > .ornament.-l { top: -4rem; left: -4.89%; width: 24.46%; }
  .rooms-list-box.-simple > .ornament.-r { bottom: -5.6rem; right: -4.89%; width: 24.46%; }
  .rooms-prefectural-list > .prefecture { text-align: center; }
  .rooms-list { -webkit-box-pack: justify; justify-content: space-between; margin-top: -0.8rem; }
  .rooms-list > .item { margin-top: 1.2rem; width: 49%; }
  .rooms-list > .item.-long { width: 100%; } /* 240206追加 */
  .rooms-section { padding-top: 1.6rem; padding-bottom: 4rem; }
  .rooms-section > .box, .rooms-section > .banner { margin-top: 4.8rem; }
}
@media screen and (min-width:48em) {
  .rooms-list-box > .heading { padding: 1.6rem 3.2rem; font-size: 2rem; }
  .rooms-list-box.-deco { box-shadow: inset 0 0 0 2.4rem #f9f6e9, inset 0 5.6rem 0 1.6rem #f9f6e9, 0 -0.8rem 0 2.4rem #f9f6e9; }
  .rooms-list-box.-deco > .list { position: relative; z-index: 2; padding: 5.6rem 8rem 7.2rem; }
  .rooms-list-box.-deco > .ornament.-lt { top: -5.2rem; left: -8.75%; width: 18.75%; }
  .rooms-list-box.-deco > .ornament.-lb { bottom: 1.2rem; left: -4.5%; width: 12.75%; }
  .rooms-list-box.-deco > .ornament.-rt { top: -2.8rem; right: -5.5%; width: 23%; }
  .rooms-list-box.-deco > .ornament.-rb { bottom: -2.4rem; right: -9%; width: 18.13%; }
  .rooms-list-box.-deco::before, .rooms-list-box.-deco::after { content: ''; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; }
  .rooms-list-box.-deco::before { background: url("../img/box-bg-hexa-yellow.svg") left bottom no-repeat; background-size: 17.5%; }
  .rooms-list-box.-deco::after { background: url("../img/box-bg-tri-yellow.svg") right top no-repeat; background-size: 15%; }
  .rooms-list-box.-simple { background-color: #fff; }
  .rooms-list-box.-simple > .list { padding: 4rem 8rem; }
  .rooms-list-box.-simple > .ornament.-l { top: -6rem; left: -8.75%; width: 15%; }
  .rooms-list-box.-simple > .ornament.-r { bottom: -3.2rem; right: -6%; width: 13.13%; }
  .rooms-list-box.-aside > .heading { text-align: left; }
  .rooms-list-box.-aside > .list { padding: 3.2rem 4rem; }
  .rooms-prefectural-list > .prefecture { float: left; width: 20%; line-height: 1; }
  .rooms-prefectural-list > .rooms { margin-left: 20%; }
  .rooms-prefectural-list > .rooms::after { content: ''; display: block; clear: both; }
  .rooms-prefectural-list > .rooms:nth-last-child(n+2) { margin-bottom: 4rem; }
  .rooms-list { margin-top: -1.8rem; }
  .rooms-list > .item { width: 33.33%; margin-top: 1.6rem; }
  .rooms-list > .item.-long { width: 66.66%; } /* 240206追加 */
  .rooms-list > .item > a:hover, .rooms-list > .item > a:active { color: #df6c0d; }
  .rooms-list > .item > a:hover::before, .rooms-list > .item > a:active::before { border-left-color: #df6c0d; }
  .rooms-list > .item.-current > a { color: #df6c0d; font-weight: bold; }
  .rooms-list > .item.-current > a::before { border-left-color: #df6c0d; }
  .-aside .rooms-list { -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; margin-top: -2rem; }
  .-aside .rooms-list > .item { width: 100%; margin-top: 2rem; }
  .rooms-section { padding-top: 1.6rem; padding-bottom: 8rem; }
  .rooms-section > .box { margin-top: 6.4rem; }
  .rooms-section > .banner { margin-top: 6.4rem; }
}
.room-availability > .item { padding: 0.8rem; background-color: #f3f3f3; border-radius: 0.4rem; }
@media screen and (max-width:47.99em) {
  .room-availability { display: -webkit-box; display: flex; margin-left: -0.8rem; }
  .room-availability > .item { margin-left: 0.4rem; width: 50%; font-size: 1.2rem; }
  .room-availability > .item > .heading { margin: 0.4rem; font-weight: bold; }
  .room-availability > .item > [class|="icon"] { margin-top: 0.4rem; width: 100%; padding-left: 0; padding-right: 0; }
}
@media screen and (min-width:48em) {
  .room-availability { margin-top: -0.8rem; }
  .room-availability > .item { display: -webkit-box; display: flex; margin-top: 0.8rem; width: 100%; font-size: 1.4rem; }
  .room-availability > .item > .heading { margin: 0 0.8rem; font-weight: bold; }
  .room-availability > .item > [class|="icon"] { margin-left: 0.8rem; min-width: 16.4rem; padding-left: 0; padding-right: 0; }
}
.room-catchphrase { display: inline; font-weight: bold; letter-spacing: 0.04em; line-height: 1.75; padding-bottom: 0.2rem; background-image: -webkit-linear-gradient(transparent 70%, #d0e760 30%); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #d0e760)); background-image: linear-gradient(transparent 70%, #d0e760 30%); }
.room-message { position: relative; background-color: #f9f6e9; background-image: url("../img/box-bg-hexa-yellow.svg"); background-position: right -2rem bottom -4rem; }
.room-message::before { content: ''; position: absolute; width: 2rem; height: 2rem; background: url("../img/icon-room-message.svg") center center no-repeat; background-size: contain; }
.room-message > .words { background-image: -webkit-linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6e2cf 97%, #e6e2cf 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(97%, rgba(0, 0, 0, 0)), color-stop(97%, #e6e2cf), to(#e6e2cf)); background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6e2cf 97%, #e6e2cf 100%); background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 97%, #e6e2cf 97%, #e6e2cf 100%); background-repeat: repeat-y; margin-top: -0.8rem; font-weight: bold; color: #403400; letter-spacing: 0.06em; }
.room-message > .words > p { margin-top: 0 !important; }
@media screen and (max-width:47.99em) {
  .room-catchphrase { font-size: 2rem; }
  .room-message { padding: 2.4rem 7.34% 2.4rem 14.68%; background-size: 34.25%; }
  .room-message::before { top: 2.4rem; left: 1.6rem; }
  .room-message > .words { background-size: 100% 3.2rem; line-height: 3.2rem; }
}
@media screen and (min-width:48em) {
  .room-catchphrase { font-size: 2.4rem; }
  .room-message { padding: 2.4rem 7% 2.4rem 8.75%; background-size: 20%; }
  .room-message::before { top: 2.8rem; left: 2.4rem; }
  .room-message > .words { background-size: 100% 3.6rem; line-height: 3.6rem; }
}
.room-staff > .photo > img { border-radius: 50%; }
.room-staff > .intro { position: relative; display: inline-block; background-color: #f6f9f3; border-radius: 0.4rem; }
.room-staff > .intro > .comment { margin-top: 1.6rem; line-height: 1.86; }
.room-staff > .intro > .assign { margin-top: 1.6rem; font-size: 1.2rem; color: #409247; line-height: 1.67; text-align: right; }
.room-staff.-staff1 > .photo > img { box-shadow: 0.4rem 0.4rem 0 0 #f5c223; }
.room-staff.-staff1 > .intro { background-image: url("../img/box-bg-tri-green.svg"); background-position: right -2rem top -4rem; }
.room-staff.-staff2 > .photo > img { box-shadow: 0.4rem 0.4rem 0 0 #e2644a; }
.room-staff.-staff2 > .intro { background-image: url("../img/box-bg-cross-green.svg"); background-position: left -2rem top -2.4rem; }
.room-staff.-staff3 > .photo > img { box-shadow: 0.4rem 0.4rem 0 0 #478bda; }
.room-staff.-staff3 > .intro { background-image: url("../img/box-bg-square-green.svg"); background-position: right -0.4rem top -0.8rem; }
.room-staff.-staff4 > .photo > img { box-shadow: 0.4rem 0.4rem 0 0 #acca16; }
.room-staff.-staff4 > .intro { background-image: url("../img/box-bg-circle-green.svg"); background-position: left -2rem top -2rem; }
@media screen and (max-width:47.99em) {
  .room-staff > .photo { margin: 0 auto; width: 48.93%; }
  .room-staff > .intro { margin-top: 1.6rem; width: 100%; padding: 1.6rem 7.34%; }
  .room-staff > .intro::before { content: ''; position: absolute; top: -2.4rem; border: 2.4rem solid transparent; }
  .room-staff > .intro > .assign { margin-top: 1.6rem; font-size: 1.2rem; color: #409247; line-height: 1.67; text-align: right; }
  .room-staff.-staff1 > .intro::before, .room-staff.-staff3 > .intro::before { left: 12.23%; border-right: 2.4rem solid #f6f9f3; }
  .room-staff.-staff2 > .intro::before, .room-staff.-staff4 > .intro::before { right: 12.23%; border-left: 2.4rem solid #f6f9f3; }
  .room-staff.-staff1 > .intro { background-size: 31.8%; }
  .room-staff.-staff2 > .intro { background-size: 37.92%; }
  .room-staff.-staff3 > .intro { background-size: 31.8%; }
  .room-staff.-staff4 > .intro { background-size: 37.92%; }
}
@media screen and (min-width:48em) {
  .room-staff { display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; }
  .room-staff > .photo { width: 20%; }
  .room-staff > .intro { width: 70.5%; padding: 2.4rem 4rem; }
  .room-staff > .intro::before { content: ''; position: absolute; top: 50%; margin-top: -1.6rem; border: 1.6rem solid transparent; }
  .room-staff.-staff1 > .intro::before, .room-staff.-staff3 > .intro::before { left: -3.2rem; border-right: 1.6rem solid #f6f9f3; }
  .room-staff.-staff2 > .intro, .room-staff.-staff4 > .intro { -webkit-box-ordinal-group: 0; order: -1; }
  .room-staff.-staff2 > .intro::before, .room-staff.-staff4 > .intro::before { right: -3.2rem; border-left: 1.6rem solid #f6f9f3; }
  .room-staff.-staff1 > .intro { background-size: 18.44%; }
  .room-staff.-staff2 > .intro { background-size: 21.99%; }
  .room-staff.-staff3 > .intro { background-size: 18.44%; }
  .room-staff.-staff4 > .intro { background-size: 21.99%; }
}
.room-timetable-definition { display: -webkit-box; display: flex; flex-wrap: wrap; }
.room-timetable-definition > .def { font-weight: bold; line-height: 1.5; }
.room-timetable { width: 100%; border-top: 1px solid #d3d3d3; border-left: 1px solid #d3d3d3; }
.room-timetable th, .room-timetable td { border-right: 1px solid #d3d3d3; border-bottom: 1px solid #d3d3d3; text-align: center; line-height: 1.2; }
.room-timetable th { background-color: #f2f5f3; }
.room-timetable th.-el-low { background-color: #498ede; }
.room-timetable th.-el-up { background-color: #285bcb; }
.room-timetable th.-jh { background-color: #e4644a; }
.room-timetable thead th { background-color: #ecf3e5; color: #fff; }
@media screen and (max-width:47.99em) {
  .room-timetable-definition > .def { width: 35%; font-size: 1.2rem; }
  .room-timetable-definition > .def:nth-child(2n) { width: 65%; }
  .room-timetable th, .room-timetable td { padding: 0.8rem; }
  .room-timetable th:first-child { width: 24.46%; }
  .room-timetable td { width: 37.77%; }
}
@media screen and (min-width:48em) {
  .room-timetable-definition > .def { width: 25%; font-size: 1.4rem; }
  .room-timetable-definition > .def:nth-child(3n) { width: 50%; }
  .room-timetable th, .room-timetable td { padding: 1.2rem; }
  .room-timetable th:first-child { width: 17.5%; }
  .room-timetable td { width: 41.25%; }
}
.room-info { border: 0.3rem solid #f3f3f2; border-radius: 0.4rem; }
.room-info-list { line-height: 1.5; }
.room-info-list > dt { float: left; font-weight: bold; }
.room-info-list > dd > em { font-style: normal; font-weight: bold; color: #5cad53; font-size: 1.2em; line-height: 1; }
.room-info-list > dd > em a:link { color: #5cad53; font-weight: bold; }
.room-info-list > dd::after { content: ''; display: block; clear: both; }
.room-info-list > dd:nth-last-child(n+2) { margin-bottom: 1em; }
.room-info-map { position: relative; width: 100%; height: auto; padding-bottom: 30rem; }
.room-info-map > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.room-info-map-link { font-size: 1.2rem; text-align: right; }
.room-info-map-link > a { position: relative; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; }
.room-info-map-link > a::before { content: ''; position: absolute; top: 0.45em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #4a90e2; border-radius: 0.2rem; }
@media screen and (max-width:47.99em) {
  .room-info { padding: 1.6rem; }
  .room-info > .map { margin-top: 2.4rem; }
  .room-info-list > dt { width: 8rem; }
  .room-info-list > dd { margin-left: 8rem; }
}
@media screen and (min-width:48em) {
  .room-info { padding: 4rem; }
  .room-info > .map { margin-top: 3.2rem; }
  .room-info-list > dt { width: 12rem; }
  .room-info-list > dd { margin-left: 12rem; }
}
.room-photo > img { box-shadow: 0.4rem 0.4rem 0 0 #f5c223; }
.room-evaluation-dl { margin-top: -0.8rem; padding: 1.6rem 7.34%; background-color: #f6f6f6; font-size: 1.4rem; }
.room-evaluation-dl > li { margin-top: 0.8rem; padding-left: 1em; line-height: 1.6; }
.room-evaluation-dl > li::before { margin-top: -0.2em; text-indent: -1em; display: inline-block; content: '\2022'; font-size: 1.2em; color: #595959; line-height: 1; vertical-align: middle; }
.room-evaluation-dl a { color: #4997f3; }
.room-evaluation-dl a:link, .room-evaluation-dl a:visited { color: #4997f3; }
.room-section + .room-section { border-top: 1px dashed #dedede; }
.room-section.-staff > .staff + .staff { border-top: 1px dashed #dedede; }
@media screen and (max-width:47.99em) {
  .room-section { padding-bottom: 4rem; }
  .room-section.-message { padding-top: 4rem; }
  .room-section.-message > .message { margin-top: 2.4rem; }
  .room-section.-staff > .staff + .staff { margin-top: 1.6rem; padding-top: 1.6rem; }
  .room-section.-timetable > .table { margin-top: 1.6rem; }
  .room-section.-evaluation { border-bottom: 1px dashed #dedede; }
  .room-section.-evaluation > .dl { margin-top: 2.4rem; }
}
@media screen and (min-width:48em) {
  .room-evaluation-dl a:hover, .room-evaluation-dl a:active { color: #4997f3; text-decoration: underline; }
  .room-section { padding-bottom: 6.4rem; }
  .room-section.-message { padding-top: 6.4rem; }
  .room-section.-message > .message { margin-top: 4rem; }
  .room-section.-staff > .staff + .staff { margin-top: 2.4rem; padding-top: 2.4rem; }
  .room-section.-timetable > .table { margin-top: 2.4rem; }
  .room-section.-evaluation { padding-bottom: 12rem; }
  .room-section.-evaluation > .dl { margin-top: 4rem; }
}

/* ご利用までの流れ・料金 */
.flow-share-fig { border: 1px solid #71b356; padding: 2rem; }
.flow-share-fig > img { display: block; margin: 0 auto; }
@media screen and (max-width:47.99em) {
  .flow-share-fig > img { width: 100%; }
  .flow-section > .box > .steps { margin-top: 1.6rem; }
  .flow-section > .heading { margin-top: 4rem; margin-bottom: 1.6rem; }
  .flow-section.-intro { padding-top: 1.6rem; }
  .flow-section.-support { padding-bottom: 4rem; }
  .flow-section.-support > .dayservice { margin-top: 4rem; }
  .flow-section.-support > .fig, .flow-section.-support > .table { margin-top: 2.4rem; }
  .flow-section.-private { padding-bottom: 4rem; }
}
@media screen and (min-width:48em) {
  .flow-share-fig > img { width: 52.5%; }
  .flow-section > .box > .steps { margin-top: 2.4rem; }
  .flow-section > .heading { margin-top: 6.4rem; margin-bottom: 2.4rem; }
  .flow-section.-intro { padding-top: 3.2rem; }
  .flow-section.-support { padding-bottom: 7.2rem; }
  .flow-section.-support > .dayservice { margin-top: 7.2rem; }
  .flow-section.-support > .fig, .flow-section.-support > .table { margin-top: 3.2rem; }
  .flow-section.-private { padding-bottom: 12rem; }
}
.flow-dayservice { background-color: #f6f9f3; }
.flow-dayservice > .heading { position: relative; width: 100%; color: #fff; font-weight: bold; line-height: 1; text-align: center; }
.flow-dayservice > .heading > span { display: inline-block; background-color: #46a94e; border-radius: 4rem; }
.flow-dayservice > .heading::after { content: ''; position: absolute; left: calc(50% - 1rem); margin-top: -1rem; border: 1rem solid transparent; border-top: 2rem solid #46a94e; }
.flow-dayservice > .image { border-radius: 50%; box-shadow: 0.4rem 0.4rem 0 0 #f5c223; }
.flow-dayservice > .desc { margin-top: 1.2rem; }
.flow-dayservice > .desc > p { margin-top: 1.2rem; }
@media screen and (max-width:47.99em) {
  .flow-dayservice { padding: 2.4rem 7.34%; }
  .flow-dayservice > .heading { margin-top: -3.2rem; font-size: 1.6rem; line-height: 2.8rem; }
  .flow-dayservice > .heading > span { padding: 0 2.4rem; }
  .flow-dayservice > .heading::after { top: 2.8rem; }
  .flow-dayservice > .image { margin: 2.4rem auto; width: 48.93%; }
}
@media screen and (min-width:48em) {
  .flow-dayservice { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-align: start; align-items: flex-start; padding: 2.4rem 4rem 4rem; }
  .flow-dayservice > .heading { -webkit-box-ordinal-group: 2; order: 1; margin-top: -4rem; font-size: 2rem; line-height: 4rem; }
  .flow-dayservice > .heading > span { padding: 0 4rem; }
  .flow-dayservice > .heading::after { top: 4rem; }
  .flow-dayservice > .image { -webkit-box-ordinal-group: 4; order: 3; margin-top: 3.2rem; width: 23.89%; }
  .flow-dayservice > .desc { -webkit-box-ordinal-group: 3; order: 2; margin-right: auto; width: 73.33%; }
}
.flow-target { border: 0.4rem solid #43a24a; border-radius: 0.4rem; background-color: #f8fcef; font-weight: bold; }
.flow-target > dt { color: #46a94e; }
.flow-target > dd > ul { margin-top: 0; }
@media screen and (max-width:47.99em) {
  .flow-target { padding: 2.4rem 7.34%; }
  .flow-target > dd:nth-last-child(n+2) { margin-bottom: 1.6rem; }
}
@media screen and (min-width:48em) {
  .flow-target { padding: 3.2rem 4rem; }
  .flow-target > dt { float: left; width: 12rem; }
  .flow-target > dd { margin-left: 12rem; }
  .flow-target > dd::after { content: ''; display: block; clear: both; }
  .flow-target > dd:nth-last-child(n+2) { margin-bottom: 2.4rem; }
}
.flow-table { width: 100%; border-top: 1px solid #71b356; border-left: 1px solid #71b356; }
.flow-table th, .flow-table td { padding: 0.25em 0.5em; border-right: 1px solid #71b356; border-bottom: 1px solid #71b356; }
.flow-table th { background-color: #71b356; color: #fff; white-space: nowrap; border-right:1px solid #F9FCF0;}
.flow-table .even { background-color: #f8fcef; }
.flow-table .odd { background-color: #efc; }
.flow-table .price { font-weight: bold; color: #df6c0d; text-align: right; }
.flow-cost { background-color: #f6f9f3; }
.flow-cost-case { background-color: #fff; }
.flow-cost-case > .label { font-weight: bold; font-size: 1.2rem; color: #71b356; letter-spacing: 0.03em; line-height: 1; }
.flow-cost-case > .heading { font-weight: bold; font-size: 1.6rem; color: #104e15; line-height: 1; letter-spacing: 0.03em; }
.flow-cost-case > .heading > span { padding-left: 0.5em; font-size: 1.2rem; }
.flow-cost-case > .table { margin-top: 1rem; }
.flow-cost-table { font-size: 1.4rem; line-height: 1; }
.flow-cost-table > dt { float: left; width: 50%; padding-top: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #d8d8d8; }
.flow-cost-table > dd { margin-left: 50%; padding-top: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #d8d8d8; text-align: right; }
.flow-cost-table > .sum { font-weight: bold; font-size: 1.6rem; color: #df6c0d; border-bottom: 2px solid #df6c0d; }
@media screen and (max-width:47.99em) {
  .flow-cost { padding: 0.8rem 1.6rem; }
  .flow-cost-case { padding: 1.2rem 2.4rem 2rem; }
}
@media screen and (min-width:48em) {
  .flow-cost { padding: 1.2rem; }
  .flow-cost-case { padding: 1.2rem 4rem 2rem; }
}

/* 新着情報 */
.news-list { border-top: 1px solid #e4e4e4; }
.news-list > .item { position: relative; padding: 1.6rem 0; border-bottom: 1px solid #e4e4e4; }
.news-list > .item > .date { font-weight: bold; font-size: 1.2rem; color: #4a4a4a; letter-spacing: 0.03em; line-height: 2.33; }
.news-list > .item > .title { line-height: 1.75; }
.news-list > .item > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
@media screen and (max-width:47.99em) {
  .news-list > .item > .date { display: block; }
  .news-list > .item > .title { line-height: 1.75; }
}
@media screen and (min-width:48em) {
  .news-list > .item { display: -webkit-box; display: flex; }
  .news-list > .item > .date { width: 13%; }
  .news-list > .item > .title { line-height: 1.75; }
}
.news-date { padding-top: 1.6rem; font-size: 1.4rem; color: #848484; letter-spacing: 0.03em; }
.news-content p { margin-top: 2.4rem; }
.news-content *:first-child { margin-top: 0 !important; }
.news-content *:last-child { margin-bottom: 0 !important; }
.news-content h2, .news-content h3, .news-content h4 { margin-top: 2em; margin-bottom: 1.6rem; font-weight: bolder; line-height: 1.2; }
.news-content h2:first-child, .news-content h3:first-child, .news-content h4:first-child { margin-top: 0; }
.news-content a { color: #4997f3; }
.news-content a:link, .news-content a:visited { color: #4997f3; }
.news-content a:hover, .news-content a:active { color: #4997f3; text-decoration: underline; }
.news-content ul, .news-content ol { margin-top: 2.4rem; list-style: none; }
.news-content ul li, .news-content ol li { position: relative; padding-left: 1.5em; }
.news-content ul li:nth-child(n+2), .news-content ol li:nth-child(n+2) { margin-top: 0.5em; }
.news-content ul li:before, .news-content ol li:before { display: inline-block; position: absolute; left: 0; color: #5cad53; text-align: center; }
.news-content ul li ul, .news-content ol li ul, .news-content ul li ol, .news-content ol li ol { margin: 0.5em; }
.news-content ul li:before { content: '\2022'; font-size: 1.4em; top: -0.2em; width: 1em; }
.news-content ol { counter-reset: num; }
.news-content ol li:before { content: ''counter(num) '.'; counter-increment: num; width: 1.5em; }
.news-content table { margin-top: 2.4rem; width: 100%; border-top: 1px solid #d8d8d8; border-left: 1px solid #d8d8d8; }
.news-content table th, .news-content table td { padding: 0.25em 0.5em; border-right: 1px solid #d8d8d8; border-bottom: 1px solid #d8d8d8; }
.news-content table th { background-color: #ececec; text-align: left; white-space: nowrap; }
.news-content table thead th { background-color: #6d6d6d; color: #fff; }
.news-content table tbody th { font-weight: normal; }
@media screen and (max-width:47.99em) {
  .news-content { padding-top: 2.4rem; }
  .news-content h2 { font-size: 2rem; }
  .news-content h3 { font-size: 1.8rem; }
  .news-content h4 { font-size: 1.6rem; }
  .news-section { padding-top: 1.6rem; padding-bottom: 4rem; }
  .news-section.-archive > .list { margin-top: 2.4rem; margin-bottom: 2.4rem; }
  .news-section.-post .archive-link { width: 19.6rem; margin-top: 4rem; margin-left: auto; margin-right: auto; }
}
@media screen and (min-width:48em) {
  .news-content { padding-top: 4rem; }
  .news-content h2 { font-size: 2.4rem; }
  .news-content h3 { font-size: 2rem; }
  .news-content h4 { font-size: 1.8rem; }
  .news-section { padding-top: 1.6rem; padding-bottom: 12rem; }
  .news-section.-archive > .list { margin-top: 5.6rem; margin-bottom: 5.6rem; }
  .news-section.-post .archive-link { width: 19.6rem; margin-top: 8rem; margin-left: auto; margin-right: auto; }
}

/* よくある質問 */
.faq-list { background-color: #f6f9f3; }
.faq-list > .q { font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; color: #46a94e; letter-spacing: 0.06em; line-height: 1.44; }
.faq-list > .q::before { content: 'Q'; background-color: #46a94e; }
.faq-list > .a { color: #363636; line-height: 1.75; }
.faq-list > .a::before { content: 'A'; background-color: #f5c223; }
.faq-list > .a:not(:last-child) { border-bottom: 1px dashed #7e7e7e; }
.faq-list > .a a, .faq-list > .a a:link, .faq-list > .a a:visited { color: #df6c0d; }
.faq-list > .a a:hover, .faq-list > .a a:active { color: #df6c0d; }
.faq-list > .q::before, .faq-list > .a::before { display: inline-block; border-radius: 50%; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; color: #fff; text-align: center; }
@media screen and (max-width:47.99em) {
  .faq-list { border-radius: 0.8rem; }
  .faq-list > .q { padding-top: 2.4rem; padding-right: 2.4rem; padding-bottom: 0.8rem; font-size: 1.6rem; }
  .faq-list > .a { padding-right: 2.4rem; padding-bottom: 2.4rem; }
  .faq-list > .q, .faq-list > .a { padding-left: 5.6rem; }
  .faq-list > .q::before, .faq-list > .a::before { margin-right: 0.8rem; margin-left: -3.2rem; width: 2.4rem; height: 2.4rem; font-size: 1.6rem; line-height: normal;}
}
@media screen and (min-width:48em) {
  .faq-list { border-radius: 1.6rem; }
  .faq-list > .q { padding-top: 4rem; padding-right: 4rem; padding-bottom: 1.6rem; font-size: 1.8rem; }
  .faq-list > .a { padding-right: 4rem; padding-bottom: 4rem; }
  .faq-list > .q, .faq-list > .a { padding-left: 8.6rem; }
  .faq-list > .q::before, .faq-list > .a::before { margin-right: 1.6rem; margin-left: -4.6rem; width: 3rem; height: 3rem; font-size: 1.8rem; }
}
.faq-section > .nav { padding-top: 2.4rem; }
@media screen and (max-width:47.99em) {
  .faq-section { padding-top: 1.6rem; padding-bottom: 4rem; }
}
@media screen and (min-width:48em) {
  .faq-section { padding-top: 3.2rem; padding-bottom: 12rem; }
}

/* 発達障害とは */
.dd-content p { margin-top: 2.4rem; }
.dd-content *:first-child { margin-top: 0 !important; }
.dd-content *:last-child { margin-bottom: 0 !important; }
.dd-content h3 { margin-top: 2.5em; margin-bottom: 0; background-color: #f9f6e9; padding: 0.8rem 1.6rem; border-left: 4px solid #46a94e; }
.dd-content h4 { margin-top: 1em; }
.dd-content h5 { margin-top: 1em; }
.dd-content h3, .dd-content h4 { font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; color: #46a94e; letter-spacing: 0.04em; line-height: 1.44; }
.dd-content h3:first-child, .dd-content h4:first-child { margin-top: 0; }
.dd-content h2 + h3 { margin-top: 1em; }
.dd-content h3 + p { margin-top: 1em; }
.dd-content h4 + p { margin-top: 0.5em; }
.dd-content h5 + p { margin-top: 0.25em; }
.dd-content a { color: #4997f3; }
.dd-content a:link, .dd-content a:visited { color: #4997f3; }
.dd-content a:hover, .dd-content a:active { color: #4997f3; text-decoration: underline; }
.dd-content ul { margin-top: 2.4rem; list-style: none; }
.dd-content ul li { position: relative; padding-left: 1.5em; }
.dd-content ul li:nth-child(n+2) { margin-top: 0.25em; }
.dd-content ul li:before { display: inline-block; content: '\2022'; position: absolute; top: -0.2em; left: 0; width: 1em; font-size: 1.4em; color: #5cad53; text-align: center; }
.dd-content dl dt { margin-bottom: 1em; padding: 0.8rem 1.6rem; background-color: #ededed; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; letter-spacing: 0.04em; line-height: 1.44; }
@media screen and (max-width:47.99em) {
  .dd-content { padding-top: 2.4rem; }
  .dd-content h3, .dd-content h4 { font-size: 1.6rem; }
}
@media screen and (min-width:48em) {
  .dd-content { padding-top: 4rem; }
  .dd-content h3, .dd-content h4 { font-size: 1.8rem; }
}
.dd-pagelist-box { position: relative; border: 0.4rem solid #ffbf00; border-radius: 0.8rem; }
.dd-pagelist-box > .heading { position: relative; background-color: #ffbf00; font-weight: bold; color: #fff; letter-spacing: 0.1em; line-height: 1; text-align: center; }
.dd-pagelist-box > .heading > .icon { position: relative; padding-left: 1.5em; }
.dd-pagelist-box > .heading > .icon::before { position: absolute; right: 0; top: 0.3em; content: ''; width: 100%; height: 1em; background: url("../img/icon-h-dd.svg") left bottom no-repeat; background-size: contain; }
.dd-pagelist { display: -webkit-box; display: flex; flex-wrap: wrap; }
.dd-pagelist > .item { padding-left: 1em; line-height: 1.29; }
.dd-pagelist > .item > a { margin-left: -1em; position: relative; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; }
.dd-pagelist > .item > a::before { content: ''; position: absolute; top: 0.45em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #5cad53; border-radius: 0.2rem; }
.dd-pagelist > .item a, .dd-pagelist > .item a:link, .dd-pagelist > .item a:visited { color: #363636; }
.dd-message > .text { font-size: 1.4rem; line-height: 1.86; }
@media screen and (max-width:47.99em) {
  .dd-pagelist-box > .heading { padding: 1.2rem 7.34%; font-size: 1.8rem; }
  .dd-pagelist-box > .list { padding: 3.2rem 7.34%; }
  .dd-pagelist { -webkit-box-pack: justify; justify-content: space-between; margin-top: -0.8rem; }
  .dd-pagelist > .item { margin-top: 1.2rem; width: 49%; }
  .dd-message > .image { margin-top: 1.6rem; }
  .dd-section.-main { padding-top: 1.6rem; padding-bottom: 4rem; }
  .dd-section.-main .content-box, .dd-section.-main .ref-link { margin-top: 2.4rem; }
  .dd-section.-message { border-top: 1px solid #d8d8d8; border-bottom: 1px dashed #dedede; padding-bottom: 4rem; }
  .dd-section.-message > .link { margin: 2.4rem auto 0; max-width: 28rem; }
}
@media screen and (min-width:48em) {
  .dd-pagelist-box > .heading { padding: 1.6rem 3.2rem; font-size: 2rem; text-align: left; }
  .dd-pagelist-box > .list { padding: 3.2rem 4rem; }
  .dd-pagelist { -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; margin-top: -2rem; }
  .dd-pagelist > .item { width: 100%; margin-top: 2rem; }
  .dd-pagelist > .item > a:hover, .dd-pagelist > .item > a:active { color: #df6c0d; }
  .dd-pagelist > .item > a:hover::before, .dd-pagelist > .item > a:active::before { border-left-color: #df6c0d; }
  .dd-pagelist > .item.-current > a { color: #df6c0d; font-weight: bold; }
  .dd-pagelist > .item.-current > a::before { border-left-color: #df6c0d; }
  .dd-message { display: -webkit-box; display: flex; }
  .dd-message > .text { margin-right: auto; width: 47%; }
  .dd-message > .image { width: 50%; }
  .dd-section.-main { padding-top: 1.6rem; padding-bottom: 6.4rem; }
  .dd-section.-main .content-box { margin-top: 4rem; margin-bottom: 4rem; }
  .dd-section.-main .ref-link { margin-top: 4rem; }
  .dd-section.-message { padding-bottom: 12rem; border-top: 1px solid #d8d8d8; }
  .dd-section.-message > .link { margin: 4rem auto 0; max-width: 28rem; }
}

/* 季節講習・イベント */
.event-box { background-color: #f6f9f3; }
.event-box > .title { background: url("../img/icon-h-event-large.svg") left 0.45em no-repeat; color: #46a94e; letter-spacing: 0.06em; line-height: 1.44; }
.event-outline { background-color: #fff; font-weight: bold; font-size: 1.4rem; line-height: 1; }
.event-outline > .type { color: #fff; background-color: #e9b30d; }
.event-desc > .text { font-size: 1.4rem; color: #4a4a4a; line-height: 1.43; }
.event-desc > .text p + p { margin-top: 1em; }
.event-desc > .text a { color: #4997f3; }
.event-desc > .text a:link, .event-desc > .text a:visited { color: #4997f3; }
.event-desc > .text a:hover, .event-desc > .text a:active { color: #4997f3; text-decoration: underline; }
.event-section > .nav { padding-top: 2.4rem; padding-bottom: 2.4rem; border-bottom: 1px dashed #7e7e7e; }
@media screen and (max-width:47.99em) {
  .event-box { padding: 2.4rem; }
  .event-box > .title { padding-left: 2.4rem; margin-bottom: 1.6rem; font-size: 1.6rem; background-size: 1.4rem; }
  .event-outline > .type { padding: 0.8rem 1.6rem; }
  .event-outline > .date { padding: 1.4rem 1.6rem; overflow: hidden; }
  .event-outline > .date > dt { float: left; width: 5em; }
  .event-outline > .date > dd { margin-left: 5em; color: #46a94e; }
  .event-outline > .date > dd::after { content: ''; display: block; clear: both; }
  .event-outline > .date > dd:nth-last-child(n+2) { margin-bottom: 0.5em; }
  .event-desc { margin-top: 1.6rem; }
  .event-desc > .image + .text { margin-top: 1.6rem; }
  .event-section { padding-top: 1.6rem; padding-bottom: 4rem; }
  .event-section > .event-box:first-of-type { margin-top: 2.4rem; }
  .event-section > .event-box:not(:first-of-type) { margin-top: 1.6rem; }
}
@media screen and (min-width:48em) {
  .event-box { padding: 4rem; }
  .event-box > .title { padding-left: 3rem; margin-bottom: 2.4rem; font-size: 1.8rem; }
  .event-outline { display: -webkit-box; display: flex; }
  .event-outline > .type { padding: 1.3rem 1.6rem; }
  .event-outline > .date { display: -webkit-box; display: flex; padding: 1.3rem 0; }
  .event-outline > .date > dt { margin-left: 2.4rem; }
  .event-outline > .date > dd { margin-left: 1rem; color: #46a94e; }
  .event-desc { display: -webkit-box; display: flex; margin-top: 2.4rem; }
  .event-desc > .image { margin-right: 3.33%; width: 33.33%; }
  .event-desc > .image + .text { width: 63.33%; }
  .event-section { padding-top: 1.6rem; padding-bottom: 12rem; }
  .event-section > .event-box:first-of-type { margin-top: 4rem; }
  .event-section > .event-box:not(:first-of-type) { margin-top: 2.4rem; }
}

/* 就活支援 */
@media screen and (max-width:47.99em) {
  .challenge-section { padding-top: 1.6rem; padding-bottom: 4rem; }
  .challenge-section > .image { margin-top: 2.4rem; }
  .challenge-section > .logo { margin-top: 4rem; width: 24rem; }
}
@media screen and (min-width:48em) {
  .challenge-section { padding-top: 3.2rem; padding-bottom: 8.8rem; }
  .challenge-section > .image { margin-top: 4rem; }
  .challenge-section > .logo { margin-top: 6.4rem; width: 35rem; }
}

/* 問い合わせ */
.contact-section .req { margin-left: 0.5rem; font-size: 0.9em; color: #f32e2e; }
.contact-section .submit { position: relative; margin: 3.2rem auto 0; width: 30rem; height: 6.4rem; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; color: #fff; }
.contact-section .submit::before { content: ''; position: absolute; top: calc(50% - 0.2em); bottom: 0; left: calc(50% - 6em); margin: autod; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #fff; border-radius: 2px; line-height: 1; }
.contact-section .submit input[type="submit"] { width: 100%; height: 100%; padding-left: 1.6rem; border: 0; outline: none; border-radius: 6.4rem; background-color: #ed9100; font-size: 2rem; color: #fff; letter-spacing: 0.1em; text-align: center; -webkit-transition: background-color 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); transition: background-color 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.form-list { border-bottom: 1px solid #efefef; font-size: 1.4rem; line-height: 1; }
.form-list input, .form-list textarea{
  font-size: 16px;
  transform: scale(0.8);
}
.form-list > .label { padding-top: 1.6rem; border-top: 1px solid #efefef; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; line-height: 1.71; }
.form-list > .field { padding-top: 0.8rem; padding-bottom: 1.6rem; }
.form-list > .field.-checkbox .mwform-checkbox-field{ margin-bottom: 1rem; }
.form-list > .field.-name > span { width: 15%; display: inline-block; }
.form-list > .field.-name > input { width: 75%; }
.form-list > .field.-name > input:nth-child(n+2) { margin-top: 0.8rem; }
.form-list > .field.-age > input { margin-right: 0.8rem; width: 8rem; }
.form-list > .field .form-privacy { margin-bottom: 1.6rem; }
.form-list input { max-width: 100%; }
.form-list textarea { width: 100%; min-height: 16rem; line-height: 1.5; }
.form-list input, .form-list textarea { outline: none; padding: 1.1rem 1.6rem; border: 1px solid #efefef; background-color: #efefef; line-hight: 3.8rem; }
.form-list input:focus, .form-list textarea:focus { box-shadow: inset 0 0 2px 0 #efefef; }
.form-list input[type="checkbox"] { margin-right: 0.2rem; vertical-align: baseline; transform: scale(1.0);}
.form-list input[type="radio"] { transform: scale(1.0);}
.form-list input[type="email"] {font-family:initial!important;}
.form-list .error { color: #a30c02 !important; margin-top: 0.4em; }
.form-list > .field.-name > span.error { width: auto!important; display:block;}
.form-list::-webkit-input-placeholder { color: #b7b7b7; }
.form-list::-moz-placeholder { color: #b7b7b7; }
.form-list:-ms-input-placeholder { color: #b7b7b7; }
.form-selectbox { display: inline-block; overflow: hidden; position: relative; border: 1px solid #ccc; border-radius: 4px; background: #fff; letter-spacing: 0; }
.form-selectbox::after { position: absolute; top: calc(50% - 0.2em); right: 1.8rem; width: 0.4em; height: 0.4em; display: inline-block; content: ''; border-color: #838d8f; border-style: solid; border-width: 0 2px 2px 0; -webkit-transform: scaleY(0.8) rotate(45deg); transform: scaleY(0.8) rotate(45deg); }
.form-selectbox select { width: 100%; cursor: pointer; text-indent: 0.01px; text-overflow: ellipsis; border: none; outline: none; background: transparent; background-image: none; box-shadow: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 1.2rem 3.2rem 1.2rem 1.6rem; font-size: 16px; -webkit-transform: scale(0.9); transform: scale(0.9); font-family: 'FOT-筑紫A丸ゴシック Std M', 'TsukuARdGothicStd-M', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif!important; }
.form-selectbox select::-ms-expand { display: none; }
.form-selectbox select::-moz-focusring { color: transparent; text-shadow: 0 0 0 #363636; }
.form-selectbox span.error { margin: 0 0 0.4em 1.6em; }
.form-address > li:nth-child(n+2) { margin-top: 0.8rem; }
.form-address > li > span { width: 8em; display: inline-block; }
.form-address > li > input { max-width: calc(100% - 8em); }
.form-privacy { background-color: #fbfbfb; border: 1px solid #efefef; height: 20rem; overflow-y: scroll; padding: 1.6rem; line-height: 1.5; }
.form-privacy ul, .form-privacy p + p { margin-top: 1.6rem; }
.form-privacy ul > li:nth-child(n+2), .form-privacy p + p > li:nth-child(n+2) { margin-top: 0.8rem; }
.contact-section { padding-top: 1.6rem; padding-bottom: 4rem; }
.contact-section .form-list { margin-top: 2.4rem; }
.mw_wp_form_confirm .form-list > .label, .mw_wp_form_confirm .form-list > .field { padding-top: 1.6rem; line-height: 1.71; }
.mw_wp_form_confirm .form-list > .field.-name > span { display: none; }
.mw_wp_form_confirm .form-selectbox { border: 0; }
.mw_wp_form_confirm .form-selectbox::after { display: none; }
.mw_wp_form_confirm .form-privacy { display: none; }
@media screen and (min-width:48em) {
  .form-list > .field.-checkbox .mwform-checkbox-field:nth-child(n+2) { margin-left: 1.6rem; }
  .form-list > .field.-name > span.error, .form-address > li > span.error { width: auto!important; display: inline-block;}
  .contact-section .submit { margin-top: 4.8rem; -webkit-transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
  .contact-section .submit:hover { opacity: 0.8; }
  .contact-section .submit input[type="submit"] { font-size: 2rem; }
  .form-list { display: -webkit-box; display: flex; flex-wrap: wrap; }
  .form-list > .label { width: 29.25%; padding-top: 2.4rem; }
  .form-list > .label.-narrow { padding-top: 1.6rem; }
  .form-list > .field { border-top: 1px solid #efefef; padding-top: 1.6rem; width: 70.75%; }
  .form-list > .field label { line-height: 4rem; }
  .form-list > .field.-name > span { width: 2em; }
  .form-list > .field.-name > input { margin-right: 1rem; width: 16rem; }
  .mw_wp_form_confirm .form-list > .label, .mw_wp_form_confirm .form-list > .field { padding-bottom: 1.6rem; }
  .contact-section { padding-bottom: 12rem; }
  .contact-section .form-list { margin-top: 7.2rem; }
}

/* Module
--------------------------------------------------- */
.logo-wrap > .headline { font-size: 1.2rem; color: #4a4a4a; letter-spacing: 0.01em; line-height: 1.5; }
@media screen and (min-width:48em) {
  .logo-wrap { display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: end; align-items: flex-end; }
  .logo-wrap > .logomark { width: 36.36%; }
  .logo-wrap > .headline { width: 60%; }
}

/* header */
.header-container { border-top: 2px solid #5cad53; background-color: #fff; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); }
.header-mainnav > .item { font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; font-weight: Bold; font-size: 1.6rem; }
.header-subnav { display: -webkit-box; display: flex; }
.header-subnav > .item { position: relative; font-weight: bold; font-size: 1.2rem; }
.header-subnav > .item > p, .header-subnav > .item > p::before{ -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1); }
.header-subnav > .item > p { z-index: 0; position: relative; display: inline-block; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none;}
.header-subnav > .item > p::before { content: ''; position: absolute; top: 1.0em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #5cad53; border-radius: 0.2rem; }
.header-subnav > .item > a { z-index: 1; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.header-mainnav > .item.-current > a, .header-subnav > .item.-current > a { cursor: pointer; pointer-events: none; }
.header-mainnav > .item.-current > a, .header-subnav > .item.-current > a + p { color: #7ebe41 !important; }
@media screen and (max-width:47.99em) {
  .header-inner > .logo { position: relative; z-index: 999; width: 100%; }
  .header-inner > .logo > .logomark { margin-left: 6.4%; width: 12rem; padding: 0.8rem 0 1.5rem; }
  .header-inner > .form { position: absolute; top: 1.5rem; right: 21.33%; z-index: 999; width: 12.4rem; }
  .header-inner > .nav { padding-top: 6.5rem; }
  .header-inner > .nav > .tel { padding: 1.2rem 0 1.6rem; }
  .header-inner > .nav > .tel > .button { margin: 0 auto; width: 80%; }
  .logo-wrap { background-color: #fff; }
  .header-mainnav.-lv1 { background-color: #f6f9f3; }
  .header-mainnav.-lv1 > .item { position: relative; border-bottom: 1px solid #e4e4e4; line-height: 4.6rem; }
  .header-mainnav.-lv1 > .item > a { padding-left: 8.53%; }
  .header-mainnav.-lv1 > .item > .icon { display: block; position: absolute; top: -6.4px; left: 0; width: 100%; height: 5.6rem; }
  .header-mainnav.-lv1 > .item > .icon::before, .header-mainnav.-lv1 > .item > .icon::after { content: ''; display: block; position: absolute; top: 2.8rem; right: 8.53%; width: 12px; height: 2px; background-color: #7e633a; border-radius: 2px; }
  .header-mainnav.-lv1 > .item > .icon::after { -webkit-transform: rotate(90deg); transform: rotate(90deg); -webkit-transition: -webkit-transform 0.2s ease-in-out; transition: -webkit-transform 0.2s ease-in-out; transition: transform 0.2s ease-in-out; transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; }
  .header-mainnav.-lv1 > .item.-open > .icon::after { width: 1.2rem; height: 2px; -webkit-transform: rotate(180deg); transform: rotate(180deg); }
  .header-mainnav.-lv1 > .item.-open > .header-mainnav.-lv2 { display: block; }
  .header-mainnav.-lv2 { display: none; background-color: #fff; }
  .header-mainnav.-lv2 > .item { border-top: 1px solid #e4e4e4; line-height: 4.8rem; }
  .header-mainnav.-lv2 > .item > a { padding-left: 10.67%; }
  .header-mainnav > .item a, .header-mainnav > .item a:link, .header-mainnav > .item a:visited { display: inline-block; width: 100%; }
  .header-subnav { border-bottom: 1px solid #e4e4e4; background-color: #fff; }
  .header-subnav > .item { position: relative; -webkit-box-flex: 1; flex-grow: 1; border-right: 1px solid #e4e4e4; text-align: center; line-height: 3.2rem; }
  .header-banners { border-bottom: 1px solid #e3dbce; }
  .header-banners > .banner { position: relative; width: 100%; display: flex; justify-content: space-around; align-items: center; padding-top: 1.2rem; padding-bottom: 1.6rem; font-family: 'FOT-筑紫B丸ゴシック Std B', 'TsukuBRdGothicStd-B', sans-serif; font-size: 16px; line-height: 1.5;}
  .header-banners > .banner:not(:first-child) { border-top: 1px solid #e4e4e4; }
  .header-banners > .banner > .logomark { width: 32%; margin-top: -0.8rem; }
  .header-banners > .banner > .slogan { width: 56%; max-width: 172px; }
  .header-banners > .banner > .logomark > img { display: block; margin: 0 auto; }
  .header-banners > .banner.-kids > .logomark > img { width: 100%; }
  .header-banners > .banner.-job > .logomark > img { width: 58%; }
  .header-banners > .banner > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
}
@media screen and (min-width:48em) {
  .header-inner { position: relative; margin: 0 auto; width: 92.19%; max-width: 1200px; height: 17rem; padding: 3.7rem 0 2rem; }
  .header-inner > .logo { width: 45.83%; }
  .header-inner > .form { width: 19.33%; position: absolute; top: 5rem; right: 0; }
  .header-inner > .nav > .main { position: absolute; left: 0; bottom: 2rem; width: 100%; }
  .header-inner > .nav > .sub { display: -webkit-box; display: flex; position: absolute; top: 0; right: 0; }
  .header-inner > .nav > .tel { position: absolute; top: 5rem; right: 20.67%; }
  .header-mainnav { display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; }
  .header-mainnav > .item { -webkit-box-flex: 2; flex-grow: 2; text-align: center; }
  .header-mainnav > .item:first-child { -webkit-box-flex: 1; flex-grow: 1; text-align: left; }
  .header-mainnav > .item:last-child { -webkit-box-flex: 1; flex-grow: 1; text-align: right; }
  .header-mainnav > .item:not(:last-child) { border-right: 1px solid #a1a1a1; }
  .header-mainnav > .item > a:hover, .header-mainnav > .item > a:active { color: #7ebe41; }
  .header-mainnav.-lv2 { display: none; }
  .header-subnav { padding: 0 2.4rem; line-height: 3.6rem; }
  .header-subnav > .item:not(:first-child) { margin-left: 2rem; }
  .header-subnav > .item > a:hover + p, .header-subnav > .item > a:active + p { color: #5cad53; }
  .header-subnav > .item > p::before { top: 1.25em; }
  .header-subnav.-notice { border-radius: 0 0 4px 4px; background-color: #5cad53; }
  .header-subnav.-notice > .item > p::before { border-left-color: #fff; }
  .header-subnav.-notice > .item > p { color: #fff; }
  .header-subnav.-notice > .item > a:link + p, .header-subnav.-notice > .item > a:visited + p { color: #fff; }
  .header-subnav.-notice > .item > a:hover + p, .header-subnav.-notice > .item > a:active + p { color: #fff13c; }
  .header-subnav.-notice > .item > a:hover + p::before, .header-subnav.-notice > .item > a:active + p::before { border-left-color: #fff13c; }
  .header-subnav.-notice > .item.-current > a + p { color: #fff13c !important; }
  .header-subnav.-notice > .item.-current > a + p::before { border-left-color: #fff13c; }
}
@media screen and (max-width:47.99em) {
  .nav-wrap { position: absolute; top: 0; left: 0; height: 0; opacity: 0; visibility: hidden; -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
  .nav-button { position: absolute; top: 0; right: 6.4%; z-index: 999; width: 3.2rem; height: 6.5rem; display: block; cursor: pointer; }
  .nav-button::after { width: 100%; position: absolute; top: 50%; margin-top: 1rem; content: 'Menu'; font-family: 'Oswald', sans-serif; font-size: 0.8rem; color: #7e633a; letter-spacing: 0.13em; text-align: center; text-transform: uppercase; }
  .nav-button > span { display: block; position: absolute; top: 50%; left: 50%; width: 3.2rem; height: 0.3rem; background-color: #7ebe41; margin-left: -1.6rem; margin-top: -0.6rem; }
  .nav-button > span::before, .nav-button > span::after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 3.2rem; height: 0.3rem; background-color: #7ebe41; -webkit-transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1); transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1); }
  .nav-button > span::before { -webkit-transform: translateY(-0.8rem); transform: translateY(-0.8rem); }
  .nav-button > span::after { -webkit-transform: translateY(0.8rem); transform: translateY(0.8rem); }
  .-open .nav-wrap { z-index: 100; width: 100%; min-height: 100vh; opacity: 1; visibility: visible; -webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); overflow: scroll; background-color: #fff; }
  .-open .nav-button::after { display: none; }
  .-open .nav-button > span { background-color: transparent; color: transparent; }
  .-open .nav-button > span::before, .-open .nav-button > span::after { width: 3.4rem; background-color: #7ebe41; }
  .-open .nav-button > span::before { -webkit-transform: translateY(0.2rem) rotate(45deg) scale(1); transform: translateY(0.2rem) rotate(45deg) scale(1); }
  .-open .nav-button > span::after { -webkit-transform: translateY(0.2rem) rotate(-45deg); transform: translateY(0.2rem) rotate(-45deg); }
}

/* footer */
.footer-block.-line { border-top: 4px solid #46a94e; }
.footer-block.-secondary { background-color: #f2f5f3; font-size: 1.2rem; color: #4a4a4a; }
.footer-mainnav.-lv1 { display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-flow: column wrap; }
.footer-mainnav.-lv1 > .item { width: 50%; margin-bottom: 2rem; font-weight: bold; font-size: 1.4rem; }
.footer-mainnav.-lv1 > .item > a { position: relative; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; }
.footer-mainnav.-lv1 > .item > a::before { content: ''; position: absolute; top: 0.45em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #5cad53; border-radius: 0.2rem; }
.footer-mainnav.-lv1 > .item:nth-child(3) { margin-bottom: 0; }
.footer-mainnav.-lv2 { margin-left: 1.4rem; }
.footer-mainnav.-lv2 > .item { margin-top: 0.8rem; font-weight: bold; font-size: 1.2rem; }
.footer-subnav > .item { margin-bottom: 1.2rem; font-size: 1.2rem; }
.footer-subnav > .item > a { position: relative; padding: 0 0 0 1em; vertical-align: middle; text-decoration: none; }
.footer-subnav > .item > a::before { content: ''; position: absolute; top: 0.45em; left: 0; margin: auto; width: 0.6rem; height: 0.8rem; border: 0.4rem solid transparent; border-left: 0.6rem solid #adadad; border-radius: 0.2rem; }
@media screen and (max-width:47.99em) {
  .footer-block.-primary { padding: 2.4rem 0 3.2rem; }
  .footer-block.-secondary { padding: 2.4rem 0 6.4rem; text-align: center; }
  .footer-inner { width: 100%; padding-left: 6.4%; padding-right: 6.4%; }
  .-primary .footer-inner > .logo > .logomark { margin: 0 auto 2rem; width: 16rem; }
  .-primary .footer-inner > .nav > .main { margin: 2rem 0; }
  .-secondary .footer-inner > .copyright { margin-top: 2rem; }
  .footer-mainnav.-lv1 { max-height: 18rem; padding: 2rem 0; border-top: 1px solid #e4e4e4; border-bottom: 1px solid #e4e4e4; }
  .footer-subnav { display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-flow: column wrap; max-height: 7.2rem; }
  .footer-subnav > .item { width: 50%; }
  .footer-subnav > .item:nth-child(3) { margin-bottom: 0; }
  .legal-links { display: -webkit-box; display: flex; -webkit-box-pack: center; justify-content: center; }
  .legal-links > .item:not(:last-child) { margin-right: 2.4rem; }
}
@media screen and (max-width:23.4275em) {
  .footer-mainnav.-lv1 > .item { font-size: 1.2rem; }
  .footer-mainnav.-lv2 { margin-left: 1.2rem; }
}
@media screen and (min-width:48em) {
  .footer-block.-primary { padding: 5.6rem 0 6.4rem; }
  .footer-block.-secondary { padding: 2.4rem 0; }
  .footer-inner { margin: 0 auto; width: 92.19%; max-width: 1120px; }
  .-primary .footer-inner > .logo { margin-bottom: 4.8rem; width: 45.83%; }
  .-primary .footer-inner > .nav { display: -webkit-box; display: flex; }
  .-primary .footer-inner > .nav > .main { margin-right: 1.67%; width: 33.33%; }
  .-primary .footer-inner > .nav > .sub { margin-right: auto; }
  .-primary .footer-inner > .nav > .banner { margin-left: 1.25%; width: 20%; }
  .-secondary .footer-inner { display: -webkit-box; display: flex; -webkit-box-pack: justify; justify-content: space-between; }
  .footer-mainnav.-lv1 { max-height: 14rem; }
  .group-banner { position: relative; font-weight: bold; text-align: center; line-height: 1.33; }
  .group-banner > .slogan { font-size: 1.4rem; }
  .group-banner > .headline { margin-top: 0.6rem; font-size: 1rem; }
  .group-banner > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
  .group-banner:hover { opacity: 0.8; }
  .group-banner.-job { background-color: #fff2f6; }
  .group-banner.-job > .logomark { margin: 1.2rem auto 1rem; width: 38.33%; }
  .group-banner.-job > .slogan { color: #ea5785; }
  .group-banner.-job > .headline { color: #e1ddd5; }
  .group-banner.-kids { background-color: #fefff2; }
  .group-banner.-kids > .logomark { margin: 1.2rem auto 1.5rem; width: 62.92%; }
  .group-banner.-kids > .slogan, .group-banner.-kids > .headline { color: #4a4a4a; }
  .legal-links { display: -webkit-box; display: flex; }
  .legal-links > .item:not(:last-child) { margin-right: 2.4rem; }
}
@media screen and (max-width:47.99em) {
  .footer-banners { display: -webkit-box; display: flex; position: fixed; bottom: 0; z-index: 20; width: 100%; }
  .footer-banners > .tel a { color: #fff;} 
  .footer-banners > .tel, .footer-banners > .form { width: 50%; }
  .footer-banners > .tel > .icon, .footer-banners > .form > .icon { display: block; position: relative; padding: 0 1.6rem 0 4rem; color: #fff; line-height: 4.8rem; text-align: center; }
  .footer-banners > .tel > .icon::before, .footer-banners > .form > .icon::before { content: ''; display: inline-block; position: absolute; top: 1.6rem; left: 10.16%; width: 2rem; }
  .footer-banners > .tel > .icon { background-color: #5cad53; font-family: 'Oswald', sans-serif; font-size: 2rem; }
  .footer-banners > .tel > .icon::before { height: 2rem; background: url("../img/icon-tel-white.svg") center center no-repeat; background-size: contain; }
  .footer-banners > .form > .icon { background-color: #ed9100; font-size: 1.2rem; }
  .footer-banners > .form > .icon::before { height: 1.8rem; background: url("../img/icon-contact.svg") center center no-repeat; background-size: contain; }
}
@media screen and (min-width:48em) {
  .footer-banners { display: none; }
}

/* Layout
--------------------------------------------------- */

/* frame */
.site-frame { width: 100%; min-height: 100vh; display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; overflow-x: hidden; }
.site-frame > .header, .site-frame > .footer { -webkit-box-flex: 0; flex-grow: 0; min-height: 0%; width: 100%; }
.site-frame > .content { -webkit-box-flex: 1; flex-grow: 1; min-height: 0%; width: 100%; }
.site-frame > .header { position: fixed; top: 0; left: 0; z-index: 999; }
@media screen and (max-width:47.99em) {
  .site-frame > .content { min-height: 8rem; padding-top: 6.5rem; overflow: hidden; }
  .frame-column > .aside { padding-top: 4rem; padding-bottom: 4rem; }
  .frame-column, .frame-inner { margin: 0 auto; width: 87.2%; }
  .frame-column.-full, .frame-inner.-full { width: 100%; }
  .frame-column.-p-sm, .frame-inner.-p-sm, .frame-column.-p-md, .frame-inner.-p-md, .frame-column.-p-lg, .frame-inner.-p-lg { width: 93.6%; padding-left: 3.2%; padding-right: 3.2%; background-color: #fff; }
  .frame-column.-p-bcl, .frame-inner.-p-bcl { width: 93.6%; padding: 1.6rem 3.2%; border-radius: 0.4rem 0.4rem 0 0; background-color: #fff; }
}
@media screen and (min-width:48em) {
  .site-frame > .header, .site-frame > .footer, .site-frame > .content { min-width: 98rem; }
  .site-frame > .content { min-height: 80rem; padding-top: 17rem; }
  .frame-column { display: -webkit-box; display: flex; margin: 0 auto; width: 92.19%; max-width: 124rem; }
  .frame-column > .main { margin-right: auto; width: 71.43%; }
  .frame-column > .aside { width: 25%; }
  .frame-inner { margin: 0 auto; width: 92.19%; max-width: 100rem; }
  .frame-inner.-xs { max-width: 80rem; }
  .frame-inner.-sm { max-width: 98rem; }
  .frame-inner.-md { max-width: 100rem; }
  .frame-inner.-lg { max-width: 120rem; }
  .frame-inner.-xl { max-width: 124rem; }
  .frame-column.-p-bcl, .frame-inner.-p-bcl { padding: 3.2rem 4rem; border-radius: 0.4rem 0.4rem 0 0; background-color: #fff; }
  .frame-column.-p-sm, .frame-inner.-p-sm { padding-left: 6rem; padding-right: 6rem; background-color: #fff; }
  .frame-column.-p-md, .frame-inner.-p-md { padding-left: 8rem; padding-right: 8rem; background-color: #fff; }
  .frame-column.-p-lg, .frame-inner.-p-lg { padding-left: 10rem; padding-right: 10rem; background-color: #fff; }
}

/* column */
.col-wrap { display: -webkit-box; display: flex; flex-wrap: wrap; }
@media screen and (max-width:47.99em) {
  .col-wrap.-c2 > .col, .col-wrap.-c3 > .col, .col-wrap.-c4 > .col { width: 100%; }
  .col-wrap.-g24, .col-wrap.-g40 { margin: -0.8rem; }
  .col-wrap.-g24 > .col, .col-wrap.-g40 > .col { padding: 0.8rem; }
  .col-wrap.-g50 { margin: -1.6rem; }
  .col-wrap.-g50 > .col { padding: 1.6rem; }
}
@media screen and (min-width:48em) {
  .col-wrap.-c2 > .col { width: 50%; }
  .col-wrap.-c3 > .col { width: 33.33%; }
  .col-wrap.-c4 > .col { width: 25%; }
  .col-wrap.-g24 { margin: -1.2rem; }
  .col-wrap.-g24 > .col { padding: 1.2rem; }
  .col-wrap.-g40 { margin: -2rem; }
  .col-wrap.-g40 > .col { padding: 2rem; }
  .col-wrap.-g50 { margin: -2.5rem; }
  .col-wrap.-g50 > .col { padding: 2.5rem; }
}

/* Trump
--------------------------------------------------- */

/* typo */
._center { text-align: center !important; }
._left { text-align: left !important; }
._right { text-align: right !important; }
._small { font-size: 1.2rem !important; }
._large { font-size: 1.6rem !important; }

/* layout */
._cf::after { content: ''; display: table; clear: both; }
._pull-rt { float: right !important; }
._pull-lt { float: left !important; }
._p0 { padding: 0 !important; }
._pt0 { padding-top: 0 !important; }
._pb0 { padding-bottom: 0 !important; }
._m0 { margin: 0 !important; }
._mt0 { margin-top: 0 !important; }
._mb0 { margin-bottom: 0 !important; }
@media screen and (max-width:47.99em) {
  ._mt16 { margin-top: 0.8rem !important; }
  ._mb16 { margin-bottom: 0.8rem !important; }
  ._mt24 { margin-top: 1.2rem !important; }
  ._mb24 { margin-bottom: 1.2rem !important; }
  ._mt32 { margin-top: 1.6rem !important; }
  ._mb32 { margin-bottom: 1.6rem !important; }
  ._mt40 { margin-top: 2rem !important; }
  ._mb40 { margin-bottom: 2rem !important; }
  ._mt48 { margin-top: 2.4rem !important; }
  ._mb48 { margin-bottom: 2.4rem !important; }
  ._mt56 { margin-top: 2.8rem !important; }
  ._mb56 { margin-bottom: 2.8rem !important; }
  ._mt64 { margin-top: 3.2rem !important; }
  ._mb64 { margin-bottom: 3.2rem !important; }
  ._mt72 { margin-top: 3.6rem !important; }
  ._mb72 { margin-bottom: 3.6rem !important; }
  ._mt80 { margin-top: 4rem !important; }
  ._mb80 { margin-bottom: 4rem !important; }
  ._mt96 { margin-top: 4.8rem !important; }
  ._mb96 { margin-bottom: 4.8rem !important; }
  ._mt120 { margin-top: 6rem !important; }
  ._mb120 { margin-bottom: 6rem !important; }
  ._mp72 { padding-bottom: 3.6rem !important; }  
}
@media screen and (min-width:48em) {
  ._mt16 { margin-top: 1.6rem !important; }
  ._mb16 { margin-bottom: 1.6rem !important; }
  ._mt24 { margin-top: 2.4rem !important; }
  ._mb24 { margin-bottom: 2.4rem !important; }
  ._mt32 { margin-top: 3.2rem !important; }
  ._mb32 { margin-bottom: 3.2rem !important; }
  ._mt40 { margin-top: 4rem !important; }
  ._mb40 { margin-bottom: 4rem !important; }
  ._mt48 { margin-top: 4.8rem !important; }
  ._mb48 { margin-bottom: 4.8rem !important; }
  ._mt56 { margin-top: 5.6rem !important; }
  ._mb56 { margin-bottom: 5.6rem !important; }
  ._mt64 { margin-top: 6.4rem !important; }
  ._mb64 { margin-bottom: 6.4rem !important; }
  ._mt72 { margin-top: 7.2rem !important; }
  ._mb72 { margin-bottom: 7.2rem !important; }
  ._mt80 { margin-top: 8rem !important; }
  ._mb80 { margin-bottom: 8rem !important; }
  ._mt96 { margin-top: 9.6rem !important; }
  ._mb96 { margin-bottom: 9.6rem !important; }
  ._mt120 { margin-top: 12rem !important; }
  ._mb120 { margin-bottom: 12rem !important; }
  ._mp72 { padding-bottom: 7.2rem !important; }  
}

/* responsive */
._pc { display: none; }
@media screen and (min-width:23.4375em) {
  ._sp-xs { display: none; }
}
@media screen and (min-width:48em) {
  ._pc { display: inline-block; }
  ._sp { display: none; }
}

/* f**k IE */
@media all and (-ms-high-contrast:none) {
  .site-container { display: block; }
}

/* JS, Plugin
--------------------------------------------------- */

.horizontal-item { display:block;}
.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 0!important; margin-top: 1rem;}
/* wp-pagenav */
.wp-pagenavi { text-align: center; margin: 0 auto; line-height: 3rem; }
.wp-pagenavi > a:link, .wp-pagenavi > a:visited { color: #409247; background-color: #f2f5f3; }
.wp-pagenavi > .page, .wp-pagenavi > .current, .wp-pagenavi > .first, .wp-pagenavi > .last, .wp-pagenavi > .previouspostslink, .wp-pagenavi > .nextpostslink { display: inline-block; margin: 0 1px; min-width: 3.5rem; height: 3rem; text-align: center; }
.wp-pagenavi > .current { color: #fff; background-color: #409247; }
.wp-pagenavi > .first, .wp-pagenavi > .last { padding: 0 1.2rem; }
.wp-pagenavi > .first::before { content: url("../img/icon-arrow.svg"); -webkit-transform: scale(-1, 1); transform: scale(-1, 1); display: inline-block; margin-right: 0.8rem; }
.wp-pagenavi > .last::after { content: url("../img/icon-arrow.svg"); display: inline-block; margin-left: 0.8rem; }
.wp-pagenavi > .previouspostslink::before { content: url("../img/icon-double-arrow.svg"); -webkit-transform: scale(-1, 1); transform: scale(-1, 1); display: inline-block; }
.wp-pagenavi > .nextpostslink::after { content: url("../img/icon-double-arrow.svg"); display: inline-block; }
@media screen and (min-width:48em) {
  .horizontal-item { display: inline-block;}
  .mw_wp_form .horizontal-item + .horizontal-item { margin-left: 10px!important;}
  .wp-pagenavi { line-height: 4.5rem; }
  .wp-pagenavi > a:hover, .wp-pagenavi > a:active { color: #fff; background-color: #409247; }
  .wp-pagenavi > .page, .wp-pagenavi > .current, .wp-pagenavi > .first, .wp-pagenavi > .last, .wp-pagenavi > .previouspostslink, .wp-pagenavi > .nextpostslink { min-width: 5rem; height: 4.5rem; }
  .wp-pagenavi > .first, .wp-pagenavi > .last { padding: 0 1.6rem; }
  .wp-pagenavi > .first:hover::before, .wp-pagenavi > .last:hover::after { content: url("../img/icon-arrow-white.svg"); }
  .wp-pagenavi > .previouspostslink:hover::before, .wp-pagenavi > .nextpostslink:hover::after { content: url("../img/icon-double-arrow-white.svg"); }
}
@media screen and (min-width:48em) {
  .customize-support .header-container { top: 32px; }
}

/* header news */

.head-news {
  display: flex;
  width: 100%;
  padding: 14px 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  background: #ED9000;
  color: #FFF;
  font-size: 14px;
  line-height: normal;
  position: fixed;
  z-index: 10;
  overflow: hidden;
}
.header { 
  border-top: none;
  margin-top: 48px;
}
.frame__content { padding-top: 17.8rem; }

@media screen and (max-width: 47.99em) {
  .head-news { font-size: 11px; padding: 10px 8px;}
  .header { margin-top: 34px;}
  .frame__content { padding-top: 10rem; }
  .marquee {
    transform: translateX(100%);
    animation: marquee 15s linear infinite;
    white-space: nowrap;
  }
  @keyframes marquee {
    0% {
      -moz-transform: translateX(100%);
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
    100% {
      -moz-transform: translateX(-100%);
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
  }
}
