@charset "UTF-8";
/* ==================================================================
  Reset Style
================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* ==================================================================
  Import
================================================================== */
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  body {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    line-height: 1.7142857143;
  }
}

input, button, textarea {
  font-family: "Noto Sans JP", sans-serif;
}
@media print, screen and (min-width: 768px) {
  input, button, textarea {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  input, button, textarea {
    font-size: 1.4rem;
    line-height: 1.7142857143;
  }
}

.m0 {
  margin: 0px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.p0 {
  padding: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.m0em {
  margin: 0em !important;
}

.mt0em {
  margin-top: 0em !important;
}

.mr0em {
  margin-right: 0em !important;
}

.mb0em {
  margin-bottom: 0em !important;
}

.ml0em {
  margin-left: 0em !important;
}

.p0em {
  padding: 0em !important;
}

.pt0em {
  padding-top: 0em !important;
}

.pr0em {
  padding-right: 0em !important;
}

.pb0em {
  padding-bottom: 0em !important;
}

.pl0em {
  padding-left: 0em !important;
}

.m10 {
  margin: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.p10 {
  padding: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.m1em {
  margin: 1em !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mr1em {
  margin-right: 1em !important;
}

.mb1em {
  margin-bottom: 1em !important;
}

.ml1em {
  margin-left: 1em !important;
}

.p1em {
  padding: 1em !important;
}

.pt1em {
  padding-top: 1em !important;
}

.pr1em {
  padding-right: 1em !important;
}

.pb1em {
  padding-bottom: 1em !important;
}

.pl1em {
  padding-left: 1em !important;
}

.m20 {
  margin: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.p20 {
  padding: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.m2em {
  margin: 2em !important;
}

.mt2em {
  margin-top: 2em !important;
}

.mr2em {
  margin-right: 2em !important;
}

.mb2em {
  margin-bottom: 2em !important;
}

.ml2em {
  margin-left: 2em !important;
}

.p2em {
  padding: 2em !important;
}

.pt2em {
  padding-top: 2em !important;
}

.pr2em {
  padding-right: 2em !important;
}

.pb2em {
  padding-bottom: 2em !important;
}

.pl2em {
  padding-left: 2em !important;
}

.m30 {
  margin: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.p30 {
  padding: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.m3em {
  margin: 3em !important;
}

.mt3em {
  margin-top: 3em !important;
}

.mr3em {
  margin-right: 3em !important;
}

.mb3em {
  margin-bottom: 3em !important;
}

.ml3em {
  margin-left: 3em !important;
}

.p3em {
  padding: 3em !important;
}

.pt3em {
  padding-top: 3em !important;
}

.pr3em {
  padding-right: 3em !important;
}

.pb3em {
  padding-bottom: 3em !important;
}

.pl3em {
  padding-left: 3em !important;
}

.m40 {
  margin: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.p40 {
  padding: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.m4em {
  margin: 4em !important;
}

.mt4em {
  margin-top: 4em !important;
}

.mr4em {
  margin-right: 4em !important;
}

.mb4em {
  margin-bottom: 4em !important;
}

.ml4em {
  margin-left: 4em !important;
}

.p4em {
  padding: 4em !important;
}

.pt4em {
  padding-top: 4em !important;
}

.pr4em {
  padding-right: 4em !important;
}

.pb4em {
  padding-bottom: 4em !important;
}

.pl4em {
  padding-left: 4em !important;
}

.m50 {
  margin: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.p50 {
  padding: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.m5em {
  margin: 5em !important;
}

.mt5em {
  margin-top: 5em !important;
}

.mr5em {
  margin-right: 5em !important;
}

.mb5em {
  margin-bottom: 5em !important;
}

.ml5em {
  margin-left: 5em !important;
}

.p5em {
  padding: 5em !important;
}

.pt5em {
  padding-top: 5em !important;
}

.pr5em {
  padding-right: 5em !important;
}

.pb5em {
  padding-bottom: 5em !important;
}

.pl5em {
  padding-left: 5em !important;
}

.m60 {
  margin: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.p60 {
  padding: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.m6em {
  margin: 6em !important;
}

.mt6em {
  margin-top: 6em !important;
}

.mr6em {
  margin-right: 6em !important;
}

.mb6em {
  margin-bottom: 6em !important;
}

.ml6em {
  margin-left: 6em !important;
}

.p6em {
  padding: 6em !important;
}

.pt6em {
  padding-top: 6em !important;
}

.pr6em {
  padding-right: 6em !important;
}

.pb6em {
  padding-bottom: 6em !important;
}

.pl6em {
  padding-left: 6em !important;
}

.m70 {
  margin: 70px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.p70 {
  padding: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.m7em {
  margin: 7em !important;
}

.mt7em {
  margin-top: 7em !important;
}

.mr7em {
  margin-right: 7em !important;
}

.mb7em {
  margin-bottom: 7em !important;
}

.ml7em {
  margin-left: 7em !important;
}

.p7em {
  padding: 7em !important;
}

.pt7em {
  padding-top: 7em !important;
}

.pr7em {
  padding-right: 7em !important;
}

.pb7em {
  padding-bottom: 7em !important;
}

.pl7em {
  padding-left: 7em !important;
}

.m80 {
  margin: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.p80 {
  padding: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.m8em {
  margin: 8em !important;
}

.mt8em {
  margin-top: 8em !important;
}

.mr8em {
  margin-right: 8em !important;
}

.mb8em {
  margin-bottom: 8em !important;
}

.ml8em {
  margin-left: 8em !important;
}

.p8em {
  padding: 8em !important;
}

.pt8em {
  padding-top: 8em !important;
}

.pr8em {
  padding-right: 8em !important;
}

.pb8em {
  padding-bottom: 8em !important;
}

.pl8em {
  padding-left: 8em !important;
}

.m90 {
  margin: 90px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.p90 {
  padding: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.m9em {
  margin: 9em !important;
}

.mt9em {
  margin-top: 9em !important;
}

.mr9em {
  margin-right: 9em !important;
}

.mb9em {
  margin-bottom: 9em !important;
}

.ml9em {
  margin-left: 9em !important;
}

.p9em {
  padding: 9em !important;
}

.pt9em {
  padding-top: 9em !important;
}

.pr9em {
  padding-right: 9em !important;
}

.pb9em {
  padding-bottom: 9em !important;
}

.pl9em {
  padding-left: 9em !important;
}

.m100 {
  margin: 100px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.p100 {
  padding: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

.m10em {
  margin: 10em !important;
}

.mt10em {
  margin-top: 10em !important;
}

.mr10em {
  margin-right: 10em !important;
}

.mb10em {
  margin-bottom: 10em !important;
}

.ml10em {
  margin-left: 10em !important;
}

.p10em {
  padding: 10em !important;
}

.pt10em {
  padding-top: 10em !important;
}

.pr10em {
  padding-right: 10em !important;
}

.pb10em {
  padding-bottom: 10em !important;
}

.pl10em {
  padding-left: 10em !important;
}

/* ==================================================================
  色設定
================================================================== */
/* ==================================================================
  Common Style
================================================================== */
.br {
  display: inline-block !important;
}

.hidden {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .br__sp {
    display: block !important;
  }
  .pcOnly {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .br__pc {
    display: block !important;
  }
  .spOnly {
    display: none !important;
  }
}
.seminarTable .smnr-link a, .tab__btn__item, .fixed-inquiry-btn a, .shuugyou .menulink__item, .shuugyou .button, .shuugyou__banner__item a, .header__logolink, html .hoverlink {
  transition: opacity 0.2s;
}
.seminarTable .smnr-link a:hover, .tab__btn__item:hover, .fixed-inquiry-btn a:hover, .shuugyou .menulink__item:hover, .shuugyou .button:hover, .shuugyou__banner__item a:hover, .header__logolink:hover, html .hoverlink:hover, .seminarTable .smnr-link a:focus, .tab__btn__item:focus, .fixed-inquiry-btn a:focus, .shuugyou .menulink__item:focus, .shuugyou .button:focus, .shuugyou__banner__item a:focus, .header__logolink:focus, html .hoverlink:focus {
  opacity: 0.6;
}

/* ==================================================================
  Block Style
================================================================== */
html body {
  position: relative;
  color: #000;
  background-color: #fff;
}
html body * {
  box-sizing: border-box;
  word-break: break-word;
}
html body .wrapper {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}
html body main {
  width: 100%;
}
html a {
  z-index: 1;
  color: #000;
  text-decoration: none;
}
html a.textlink:hover, html a.textlink:focus, html a.textlink:focus {
  text-decoration: underline;
}
html a.underline {
  text-decoration: underline;
  color: #00b0ec;
}
html a.underline:hover, html a.underline:focus, html a.underline:focus {
  text-decoration: none;
}
html img {
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  pointer-events: none;
}
html figure {
  text-align: center;
}
html figure img {
  width: 100%;
  max-width: 100%;
}
html figure figcaption {
  margin-top: 15px;
}
html .nowrap {
  white-space: nowrap;
}
html .caution, html strong {
  font-weight: 700;
}
html .bold {
  font-weight: bold !important;
}
html .txc {
  text-align: center !important;
}
html .txl {
  text-align: left !important;
}
html .txr {
  text-align: right !important;
}
html .ma {
  margin: auto;
}
html .mla {
  margin-left: auto !important;
}
html .mra {
  margin-right: auto !important;
}
html .anchor::before {
  content: "";
  display: block;
  visibility: hidden;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  html .anchor::before {
    height: 130px;
    margin-top: -130px;
  }
}
@media screen and (max-width: 767px) {
  html .anchor::before {
    height: 60px;
    margin-top: -60px;
  }
}

/* ==================================================================
Header/Footer
================================================================== */
.header {
  background-color: #fff;
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .header {
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: 50px;
  }
}
.header__inner {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.header__logolink {
  display: flex;
  align-items: center;
  padding: 10px 1em;
}
@media screen and (max-width: 767px) {
  .header__logolink {
    padding: 3px 55px 3px 0;
    height: 100%;
  }
}
.header__logolink:hover {
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  .header__logolink h1 {
    font-size: 2.4rem;
    font-weight: bold;
  }
}
@media screen and (max-width: 767px) {
  .header__logolink h1 {
    line-height: 1.25;
    width: 70%;
  }
}
@media screen and (max-width: 420px) {
  .header__logolink h1 {
    font-size: 3.5vw;
  }
}
@media print, screen and (min-width: 768px) {
  .header__logo {
    padding-right: 10px;
  }
  .header__logo img {
    width: auto;
    height: 50px;
  }
}
@media screen and (max-width: 767px) {
  .header__logo {
    display: flex;
    align-items: center;
    width: 30%;
    max-width: 120px;
    min-width: 90px;
    height: 100%;
    padding-right: 5px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu {
    display: none;
    position: fixed;
    top: 50px;
    left: 0;
    width: 100%;
  }
}
.header__nav {
  background-color: #00b0ec;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .header__nav__list {
    display: flex;
    justify-content: center;
    height: 50px;
  }
  .header__nav__list__item {
    padding: 0 0.5em;
  }
  .header__nav__list__item a {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0.5em;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
  }
  .header__nav__list__item a:hover {
    background-color: #66d0f4;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 890px) {
  .header__nav__list__item a {
    font-size: 2.2vw;
  }
}
@media screen and (max-width: 767px) {
  .header__nav__list {
    padding: 2em 1em 3em;
  }
  .header__nav__list__item:not(:last-child) {
    border-bottom: 1px solid #fff;
  }
  .header__nav__list__item a {
    display: block;
    padding: 0.5em 1em;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
  }
  .header__nav__list__item a:hover {
    background-color: #66d0f4;
  }
}
@media print, screen and (min-width: 768px) {
  .header__hamburger {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger {
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 8px 10px 8px 10px;
    background: none;
    border: none;
    background-color: #fff;
    z-index: 9999;
  }
  .header__hamburger > i {
    position: relative;
    display: block;
    width: 100%;
    height: 2px;
    background: #00b0ec;
    border-radius: 1px;
  }
  .header__hamburger > i::before, .header__hamburger > i::after {
    content: "";
    display: block;
    background: #00b0ec;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .header__hamburger > i::before {
    transform: translateY(-8px);
  }
  .header__hamburger > i::after {
    transform: translateY(8px);
  }
  .header__hamburger.open > i {
    transform: rotate(45deg);
  }
  .header__hamburger.open > i::before {
    transform: rotate(-90deg);
  }
  .header__hamburger.open > i::after {
    display: none;
  }
}

.footer__inner {
  background-color: #00b0ec;
}
@media print, screen and (min-width: 768px) {
  .footer__inner {
    padding: 2em 1em;
  }
}
@media screen and (max-width: 767px) {
  .footer__inner {
    padding: 1em;
  }
}
.footer__copy {
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .footer__copy {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .footer__copy {
    font-size: 10px;
  }
}

/* ==================================================================
Main Contents
================================================================== */
@media print, screen and (min-width: 768px) {
  .shuugyou {
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou {
    padding-top: 50px;
  }
}
.shuugyou__h2, .seminar .seminar__h2 {
  font-weight: bold;
  color: #00b0ec;
  text-align: center;
  margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .shuugyou__h2, .seminar .seminar__h2 {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__h2, .seminar .seminar__h2 {
    font-size: 2.2rem;
  }
}
.shuugyou__h2--sub {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .shuugyou__h2--sub {
    font-size: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__h2--sub {
    font-size: 0.75em;
  }
}
.page .shuugyou__h2, .page .seminar .seminar__h2, .seminar .page .seminar__h2 {
  text-align: left;
}
.shuugyou__h3 {
  font-weight: bold;
  margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .shuugyou__h3 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__h3 {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .shuugyou__contact .button {
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__contact .button {
    height: 80px;
  }
}
.shuugyou__banner {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
  margin-top: 2em;
}
@media print, screen and (min-width: 768px) {
  .shuugyou__banner__item {
    width: 20%;
    max-width: 220px;
    height: 80px;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__banner__item {
    width: 50%;
    max-width: 160px;
    padding: 5px 10px;
  }
}
.shuugyou__banner__item a {
  display: flex;
  height: 100%;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .shuugyou__dl {
    margin-top: 4em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__dl {
    margin-top: 2em;
  }
}
.shuugyou__dl--dt {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .shuugyou__dl--dt {
    margin-bottom: 1em;
    font-size: 1.25em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__dl--dt {
    margin-bottom: 0.5em;
  }
}
@media print, screen and (min-width: 768px) {
  .shuugyou__dl--dd + dt {
    margin-top: 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__dl--dd + dt {
    margin-top: 1.5em;
  }
}
@media print, screen and (min-width: 768px) {
  .shuugyou__dl--dd + dd {
    margin-top: 2em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou__dl--dd + dd {
    margin-top: 1em;
  }
}
.shuugyou .contain {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .contain {
    padding: 4em 1em 6em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .contain {
    padding: 2em 1em 4em;
  }
}
.shuugyou .contain + .contain {
  padding-top: 0;
}
.shuugyou .box {
  border: solid 1px #000;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .box {
    padding: 1.5em 2em;
    margin: 1em auto;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .box {
    padding: 1em 1em 1.2em;
    margin: 0.5em auto;
  }
}
.shuugyou .box__blue {
  border-color: #00b0ec;
}
.shuugyou .button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00b0ec;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button {
    width: 320px;
    min-height: 60px;
    margin: 2em auto 0;
    padding: 1em;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .button {
    width: 100%;
    max-width: 320px;
    margin: 1em auto 0;
    padding: 1em;
    min-height: 50px;
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
.shuugyou .button__arrow {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button__arrow {
    padding: 0.75em 2.5em 0.75em 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .button__arrow {
    padding: 0.5em 2em 0.5em 0.5em;
  }
}
.shuugyou .button__arrow::after {
  position: absolute;
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button__arrow::after {
    right: 1em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .button__arrow::after {
    right: 0.7em;
  }
}
.shuugyou .button__flex {
  margin: 2em auto 0;
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button__flex {
    flex-flow: row wrap;
    justify-content: space-around;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .button__flex {
    flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button__flex > * {
    margin: 1em 0.5em 0;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .button__flex > * {
    margin: 1em auto 0;
  }
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button__flex.wide > * {
    width: calc(50% - 20px);
    margin: 0 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .shuugyou .button.w480 {
    width: 480px;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .button.w480 {
    max-width: 480px;
  }
}
.shuugyou .button-yellow {
  background-color: #FDE26C;
  color: #000;
}
.shuugyou .menulink {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .shuugyou .menulink {
    margin: 0 -10px;
    flex-flow: row wrap;
  }
}
.shuugyou .menulink__item {
  padding: 1em;
  background-color: #00b0ec;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .menulink__item {
    width: 360px;
    height: 240px;
    margin: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .menulink__item {
    width: calc(50% - 20px);
    max-width: 240px;
    min-width: 180px;
    height: 140px;
    margin: 5px 10px;
  }
}
.shuugyou .menulink__icon {
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .menulink__icon {
    height: 80px;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .menulink__icon {
    height: 40px;
    margin-bottom: 0.75em;
  }
}
.shuugyou .menulink__icon img {
  width: auto;
  height: 100%;
}
.shuugyou .menulink__text {
  text-align: center;
  color: #fff;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .shuugyou .menulink__text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .shuugyou .menulink__text {
    line-height: 1.6;
  }
}
* + .shuugyou .menulink {
  margin-top: 1.5em;
}
.shuugyou .menulink + * {
  margin-top: 1.5em;
}
.shuugyou .back__blue {
  background-color: #00b0ec;
}
.shuugyou .back__blue .shuugyou__h2, .shuugyou .back__blue .seminar .seminar__h2, .seminar .shuugyou .back__blue .seminar__h2 {
  color: #fff;
}
.shuugyou .back__blue .menulink__item {
  background-color: #fff;
}
.shuugyou .back__blue .menulink__text {
  color: #00b0ec;
}
.shuugyou .back__yellow {
  background-color: #fffaee;
}
.shuugyou .back__yellow .menulink__item {
  background-color: #fff;
  border: solid 2px #D1D1D1;
}
.shuugyou .back__yellow .menulink__text {
  color: #00b0ec;
}
.shuugyou .indent-1, .shuugyou .note, .shuugyou .dot {
  padding-left: 1em;
  text-indent: -1em;
}
.shuugyou .indent-2 {
  padding-left: 2em;
  text-indent: -2em;
}

.fixed-inquiry-btn {
  position: fixed;
  overflow: hidden;
  line-height: 0;
  background-color: #fff;
  border-radius: 0.75em 0 0 0.75em;
  overflow: hidden;
  z-index: 900;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  .fixed-inquiry-btn {
    top: 40vh;
    width: 65px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-inquiry-btn {
    bottom: 10vh;
    width: 45.5px;
  }
}
.fixed-inquiry-btn a {
  position: relative;
  line-height: 1;
  background-color: #0C4DA1;
  color: #fff;
  font-weight: bold;
  writing-mode: vertical-rl;
}
@media print, screen and (min-width: 768px) {
  .fixed-inquiry-btn a {
    padding: 1.75em 1em 1.75em 1.25em;
    font-size: 2rem;
    letter-spacing: 4px;
  }
}
@media screen and (max-width: 767px) {
  .fixed-inquiry-btn a {
    padding: 1em 1em 1em 1.25em;
    font-size: 1em;
    letter-spacing: 2px;
  }
}

/* --  TOP  ------------------------------------------*/
.shuugyou__mv {
  background-color: #fffbc6;
  text-align: center;
}
.shuugyou__mv img {
  width: 100%;
  max-width: 1040px;
}
.shuugyou__about .menulink {
  display: flex;
  justify-content: center;
}
.shuugyou__about .menulink__item {
  background-color: #00b0ec;
}
.shuugyou__about .menulink__text {
  color: #fff;
}

/* --  自主点検セミナー  ------------------------------*/
.seminar {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 768px) {
  .seminar section section {
    margin-top: 4em;
  }
}
@media screen and (max-width: 767px) {
  .seminar section section {
    margin-top: 3em;
  }
}
.seminar .underline {
  color: #0C4DA1;
}
.seminar .seminar__h2 {
  color: #0C4DA1;
}
@media print, screen and (min-width: 768px) {
  .seminar .seminar__h2 {
    margin-bottom: 2em;
  }
}
@media screen and (max-width: 767px) {
  .seminar .seminar__h2 {
    margin-bottom: 1.5em;
  }
}
.seminar .seminar__h2 + .button__flex {
  margin: 0 auto;
}
.seminar .seminar__h2 + .button__flex .button {
  padding: 0.75em 1em;
  line-height: 1.4;
  border-radius: 0.3em;
}
@media print, screen and (min-width: 768px) {
  .seminar .seminar__h2 + .button__flex .button {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar .seminar__h2 + .button__flex .button {
    font-size: 1.8rem;
  }
}
.seminar .seminar__h2 + .button__flex .button:first-child {
  margin-top: 0;
}
.seminar .h4 {
  font-weight: bold;
  margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .seminar .h4 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .seminar .h4 {
    font-size: 1.6rem;
  }
}
.seminar .button__flex .button {
  border-radius: 0.2em;
}
.seminar .info__cancel {
  margin: 1em 0;
}
.seminar .info__cancel a {
  color: inherit;
}
.seminar__program.box {
  background-color: #ecf4f5;
}
@media print, screen and (min-width: 768px) {
  .seminar__program.box {
    padding: 3em 1em;
  }
}
@media screen and (max-width: 767px) {
  .seminar__program.box {
    padding: 1.5em 1em;
  }
}
.seminar__program.box > p {
  margin: auto;
  text-align: center;
  color: #00b0ec;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .seminar__program.box > p {
    width: calc(100% - 2em);
    max-width: 780px;
    padding: 1em;
    font-size: 1.25em;
  }
}
@media screen and (max-width: 767px) {
  .seminar__program.box > p {
    width: 100%;
    padding: 0.5em 0.75em;
    font-size: 1.15em;
  }
}
@media print, screen and (min-width: 768px) {
  .seminar__program.box > p + p {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .seminar__program.box > p + p {
    margin-top: 0.75em;
  }
}
.seminar .seminarList {
  display: none;
}

.tab__btn {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}
@media print, screen and (min-width: 768px) {
  .tab__btn {
    margin: 0 auto 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .tab__btn {
    margin: 0 auto 0.5em;
  }
}
.tab__btn__item {
  background-color: #0C4DA1;
  border: solid 2px #0C4DA1;
  border-radius: 0.2em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  .tab__btn__item {
    width: 15%;
    padding: 0.75em 1em;
    margin: 0 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .tab__btn__item {
    width: calc(50% - 1em);
    padding: 0.3em;
    margin: 0 0.5em 0.5em;
  }
  .tab__btn__item.all {
    width: 100%;
    max-width: 100%;
  }
}
.tab__btn__item.show {
  color: #0C4DA1;
  background-color: #fff;
  pointer-events: none;
}

.seminarTable {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .seminarTable {
    border: solid 1px #D1D1D1;
  }
  .seminarTable td, .seminarTable th {
    font-size: 1.4rem;
    border: solid 1px #D1D1D1;
    padding: 0.5em;
  }
  .seminarTable thead th {
    background-color: #E4E4E4;
    font-weight: bold;
    text-align: center;
  }
  .seminarTable thead th span {
    display: block;
    font-size: 0.8em;
    line-height: 1;
    margin-bottom: 0.2em;
  }
  .seminarTable .smnr-times {
    width: 7%;
    text-align: center;
  }
  .seminarTable .smnr-date {
    width: 17%;
  }
  .seminarTable .smnr-time {
    width: 18%;
  }
  .seminarTable .smnr-theme {
    width: 30%;
  }
  .seminarTable .smnr-type {
    width: 14%;
  }
  .seminarTable .smnr-link {
    width: 14%;
    text-align: center;
  }
  .seminarTable .smnr-link a {
    width: 4em;
  }
}
@media screen and (max-width: 767px) {
  .seminarTable thead {
    display: none;
  }
  .seminarTable tbody tr {
    border: solid 1px #D1D1D1;
    display: flex;
    flex-direction: column;
    padding: 0.5em;
  }
  .seminarTable tbody tr:not(:last-child) {
    margin-bottom: 0.5em;
  }
  .seminarTable tbody tr td, .seminarTable tbody tr th {
    font-size: 1.4rem;
    padding: 0em 0.5em;
  }
  .seminarTable .smnr-times {
    padding-top: 0;
  }
  .seminarTable .smnr-times::before {
    content: "受講回：";
  }
  .seminarTable .smnr-date::before {
    content: "開催日：";
  }
  .seminarTable .smnr-time::before {
    content: "開催時間：";
  }
  .seminarTable .smnr-theme {
    padding: 0.2em 0.5em;
  }
  .seminarTable .smnr-theme::before {
    content: "詳細解説テーマ：";
    display: block;
  }
  .seminarTable .smnr-type::before {
    content: "開催方式：";
  }
  .seminarTable .smnr-link {
    text-align: right;
  }
  .seminarTable .smnr-link a {
    width: 6em;
    margin-right: 0 !important;
  }
}
.seminarTable .smnr-theme.theme1 {
  background-color: #FEDFDD;
}
.seminarTable .smnr-theme.theme2 {
  background-color: #FEF9BF;
}
.seminarTable .smnr-link a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25em 0.5em;
  margin: 0 auto;
  background: #0C4DA1;
  color: #fff;
  text-align: center;
  font-weight: bold;
  border-radius: 0.75em;
}

.seminarArea__btn {
  display: flex;
  justify-content: center;
  flex-flow: row wrap;
}
@media print, screen and (min-width: 768px) {
  .seminarArea__btn {
    margin: 0 auto 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .seminarArea__btn {
    margin: 0 auto 1em;
    width: 100%;
  }
}
.seminarArea__btn__item {
  position: relative;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  .seminarArea__btn__item {
    width: 14.2857142857%;
    padding: 1em;
    border-top: solid 2px #D1D1D1;
    border-bottom: solid 2px #D1D1D1;
  }
  .seminarArea__btn__item.show::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 15px solid #555555;
    border-bottom: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
  }
}
@media screen and (max-width: 767px) {
  .seminarArea__btn__item {
    padding: 0.3em 1em;
    margin: 0 0.25em 0.5em;
    border: solid 2px #D1D1D1;
    border-radius: 0.2em;
  }
}
.seminarArea__btn__item#area-1:hover, .seminarArea__btn__item#area-1.show {
  background-color: #b9833b;
  border-color: #b9833b;
}
.seminarArea__btn__item#area-1.show::after {
  border-top-color: #b9833b;
}
.seminarArea__btn__item#area-2:hover, .seminarArea__btn__item#area-2.show {
  background-color: #70c7f2;
  border-color: #70c7f2;
}
.seminarArea__btn__item#area-2.show::after {
  border-top-color: #70c7f2;
}
.seminarArea__btn__item#area-3:hover, .seminarArea__btn__item#area-3.show {
  background-color: #d34f40;
  border-color: #d34f40;
}
.seminarArea__btn__item#area-3.show::after {
  border-top-color: #d34f40;
}
.seminarArea__btn__item#area-4:hover, .seminarArea__btn__item#area-4.show {
  background-color: #88be1e;
  border-color: #88be1e;
}
.seminarArea__btn__item#area-4.show::after {
  border-top-color: #88be1e;
}
.seminarArea__btn__item#area-5:hover, .seminarArea__btn__item#area-5.show {
  background-color: #e8c301;
  border-color: #e8c301;
}
.seminarArea__btn__item#area-5.show::after {
  border-top-color: #e8c301;
}
.seminarArea__btn__item#area-6:hover, .seminarArea__btn__item#area-6.show {
  background-color: #8a62a9;
  border-color: #8a62a9;
}
.seminarArea__btn__item#area-6.show::after {
  border-top-color: #8a62a9;
}
.seminarArea__btn__item#area-7:hover, .seminarArea__btn__item#area-7.show {
  background-color: #6d81be;
  border-color: #6d81be;
}
.seminarArea__btn__item#area-7.show::after {
  border-top-color: #6d81be;
}
.seminarArea__map {
  margin-bottom: 2em;
}
.seminarArea__map__img {
  display: none;
  margin: auto;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .seminarArea__map__img {
    height: 510px;
  }
  .seminarArea__map__img img {
    width: auto;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .seminarArea__map__img {
    width: 80%;
  }
}
.seminarArea__map__img.show {
  display: block;
}

.seminarList {
  position: relative;
  margin-bottom: 1em;
  border: solid 2px #0C4DA1;
}
@media print, screen and (min-width: 768px) {
  .seminarList {
    border-left: solid 3em #0C4DA1;
    padding: 1em 2em 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .seminarList {
    border-left: solid 2em #0C4DA1;
    padding: 0.75em 0.75em 0.5em;
  }
}
.seminarList::before {
  content: attr(data-num);
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  display: block;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .seminarList::before {
    left: -1.5em;
  }
}
@media screen and (max-width: 767px) {
  .seminarList::before {
    left: -1em;
  }
}
.seminarList--area {
  font-weight: bold;
  color: #0C4DA1;
}
@media print, screen and (min-width: 768px) {
  .seminarList--area {
    margin-bottom: 0.5em;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .seminarList--area {
    font-size: 1.8rem;
  }
}
@media print, screen and (min-width: 768px) {
  .seminarList--date .capacity {
    display: inline-block;
    margin-left: 2em;
  }
}
@media screen and (max-width: 767px) {
  .seminarList--date .capacity {
    display: block;
    text-align: right;
  }
}
.seminarList--link {
  margin-top: 0.25em;
  text-align: right;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .seminarList--link {
    padding-right: 1em;
  }
}
.seminarList.show {
  display: block;
}

.lecturer {
  font-size: 1.6rem;
}
.lecturer__h2 {
  background-color: #0C4DA1;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
  padding: 0.5em;
  color: #fff;
  line-height: 1.2;
}
@media print, screen and (min-width: 768px) {
  .lecturer__h2 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .lecturer__h2 {
    font-size: 2.2rem;
  }
}
.lecturer__h2--sub {
  display: inline-block;
  font-size: 0.8em;
}
.lecturer__prof {
  display: flex;
}
.lecturer__prof:not(:first-of-type) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .lecturer__prof {
    flex-direction: column;
  }
}
.lecturer__prof--img {
  background-color: #00b0ec;
}
@media print, screen and (min-width: 768px) {
  .lecturer__prof--img {
    width: 200px;
    height: 240px;
  }
}
@media screen and (max-width: 767px) {
  .lecturer__prof--img {
    width: 40vw;
    height: 50vw;
    margin: 0 auto 0.5em;
  }
}
@media print, screen and (min-width: 768px) {
  .lecturer__prof--info {
    width: calc(100% - 200px);
    padding-left: 40px;
  }
  .lecturer__prof--info dt {
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 0.5em;
  }
  .lecturer__prof--info dt span {
    font-size: 0.8em;
  }
}
@media screen and (max-width: 767px) {
  .lecturer__prof--info dt {
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 0.5em;
  }
  .lecturer__prof--info dt span {
    line-height: 1;
    display: block;
    font-size: 0.8em;
  }
}
.comingsoon {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .comingsoon {
    font-size: 1.1em;
    padding: 2em 0 3em;
  }
}
@media screen and (max-width: 767px) {
  .comingsoon {
    padding: 0 0 2em;
  }
}
@media print, screen and (min-width: 768px) {
  .comingsoon.seminarTable th:first-child {
    width: 10%;
  }
  .comingsoon.seminarTable th:nth-child(2) {
    width: 20%;
  }
  .comingsoon.seminarTable th:nth-child(3) {
    width: 40%;
  }
  .comingsoon.seminarTable th:nth-child(4) {
    width: 15%;
  }
  .comingsoon.seminarTable th:last-child {
    width: 15%;
  }
}