@charset "UTF-8";
/**
* Common Styles
*
* 01. Reset
* 02. Base
* 03. Layout
* 04. Parts
*
*/
/* ==========================================================================
01. Reset
========================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* ==========================================================================
02. Base
========================================================================== */
html {
  color: #000;
  font-size: 62.5%;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.67vw;
  }
}

body {
  font-size: 160%;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 768px), print {
  body {
    min-width: 1024px;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 150%;
    line-height: 2;
  }
}
body * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#main {
  display: block;
}

/* link
   ========================================================================== */
a {
  color: #000;
  text-decoration: none;
  transition: 0.2s;
}
a.-underLine {
  text-decoration: underline;
}

a:visited {
  color: #000;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  a:hover {
    color: #efba00;
    text-decoration: none !important;
  }
}

/* form
   ========================================================================== */
input,
label,
textarea {
  vertical-align: middle;
}

/* image
   ========================================================================== */
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  line-height: 1;
  -webkit-backface-visibility: hidden;
}

table td img,
table th img {
  vertical-align: middle;
}

/* 画像を幅100%にする */
img.-imgFull {
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* object fit image */
img.-ofiContain,
img.-ofiCover {
  width: 100%;
  height: 100%;
}

img.-ofiCover {
  font-family: "object-fit: cover;";
  object-fit: cover;
}

img.-ofiContain {
  font-family: "object-fit: contain;";
  object-fit: contain;
}

/* display
   ========================================================================== */
.-spItem {
  display: none;
}

.-tabletItem {
  display: none;
}

@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .-tabletItem {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .-spItem {
    display: block;
  }

  .-pcItem {
    display: none !important;
  }
}
/* float
   ========================================================================== */
.-fBox::after {
  display: block;
  clear: both;
  content: "";
}

.-fr {
  float: right;
}

.-fl {
  float: left;
}

ul.-fBox li {
  display: inline;
  float: left;
}

/* margin
   ========================================================================== */
.-mt0 {
  margin-top: 0 !important;
}

@media screen and (min-width: 768px), print {
  .-pcMt0 {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .-spMt0 {
    margin-top: 0 !important;
  }
}

/* padding
   ========================================================================== */
@media screen and (min-width: 768px), print {
  .-pcPdg {
    padding-right: 55px;
    padding-left: 55px;
  }

  .-pcPdgL {
    padding-right: 55px;
    padding-left: 55px;
  }
}
@media screen and (max-width: 767px) {
  .-spPdg {
    padding-right: 2.67vw;
    padding-left: 2.67vw;
  }
}
@media screen and (max-width: 767px) {
  .-spFull {
    margin-left: -2.67vw;
    width: 100vw;
  }
}
/* text-align
   ========================================================================== */
.-textCenter {
  text-align: center !important;
}

@media screen and (max-width: 767px) {
  .-spTextCenter {
    text-align: center !important;
  }
}

@media screen and (min-width: 768px), print {
  .-pcTextCenter {
    text-align: center !important;
  }
}

.-textRight {
  text-align: right !important;
}

@media screen and (max-width: 767px) {
  .-spTextRight {
    text-align: right !important;
  }
}

@media screen and (min-width: 768px), print {
  .-pcTextRight {
    text-align: right !important;
  }
}

/* 電話番号リンク
   ========================================================================== */
@media screen and (min-width: 768px), print {
  .-tel-linktext {
    text-decoration: none;
    pointer-events: none;
  }
}
/* sticky
   ========================================================================== */
.-sticky {
  position: -webkit-sticky;
  position: sticky;
}
.-sticky.sticky-fixed.is-sticky {
  position: fixed;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
.-sticky.sticky-fixed.is-sticky:not([style*=margin-top]) {
  margin-top: 0 !important;
}
.-sticky.sticky-fixed.is-sticky:not([style*=margin-bottom]) {
  margin-bottom: 0 !important;
}
.-sticky.sticky-fixed.is-absolute {
  position: absolute;
}

/* svgアイコン
   ========================================================================== */
.-svg:not(.-hoverOff) circle,
.-svg:not(.-hoverOff) ellipse,
.-svg:not(.-hoverOff) line,
.-svg:not(.-hoverOff) path,
.-svg:not(.-hoverOff) rect {
  transition: 0.2s;
}
@media screen and (min-width: 768px), print {
  a:hover .-svg:not(.-hoverOff) circle,
a:hover .-svg:not(.-hoverOff) ellipse,
a:hover .-svg:not(.-hoverOff) line,
a:hover .-svg:not(.-hoverOff) path,
a:hover .-svg:not(.-hoverOff) rect {
    stroke: transparent;
    fill: #efba00;
  }
}
@media screen and (min-width: 768px), print {
  .c-btn:hover .-svg:not(.-hoverOff) circle,
.c-btn:hover .-svg:not(.-hoverOff) ellipse,
.c-btn:hover .-svg:not(.-hoverOff) line,
.c-btn:hover .-svg:not(.-hoverOff) path,
.c-btn:hover .-svg:not(.-hoverOff) rect {
    fill: #000;
  }
}

/* lazyload
   ========================================================================== */
.lazyloadWrap img {
  opacity: 0;
}

img.lazyloaded {
  opacity: 1;
  transition: 0.6s opacity;
}

/* 青色と赤色
   ========================================================================== */
.-blue {
  color: #000099;
}

.-red {
  color: #cc0000;
}

/* ==========================================================================
03. Layout
========================================================================== */
/* base
========================================================================== */
/* html&body
--------------------------------------------------------*/
html {
  height: 100%;
}

body {
  height: 100%;
}

/* wrapper
--------------------------------------------------------*/
#wrapper {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #wrapper {
    overflow: hidden;
    padding-bottom: 0;
    display: block;
  }
}
#wrapper::before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 30px;
  border-bottom: 10px solid #ffeea8;
  background: #ffe476;
  content: "";
}
@media screen and (max-width: 767px) {
  #wrapper::before {
    display: none;
  }
}

.wrapper-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .wrapper-bg {
    overflow: hidden;
  }
  .wrapper-bg img {
    width: 250%;
    max-width: none;
    display: block;
    margin-left: -65%;
  }
}

/* side
--------------------------------------------------------*/
#side {
  height: 100vh;
}
@media screen and (min-width: 768px), print {
  #side {
    top: 0;
    right: 0;
    z-index: 99;
    order: 2;
    width: 266px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  #side {
    position: fixed;
    padding: 0;
    width: 70px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  #side {
    z-index: 99;
  }
}

/* contents
--------------------------------------------------------*/
#contents {
  position: relative;
  order: 1;
  width: calc(100% - 266px);
}
@media screen and (min-width: 768px), print {
  #contents {
    border-right: 1px solid #dedddb;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  #contents {
    overflow: hidden;
    width: calc(100% - 70px);
    border-right: none;
  }
}
@media screen and (max-width: 767px) {
  #contents {
    width: 100%;
  }
}

/* header
========================================================================== */
/* head
--------------------------------------------------------*/
#head {
  padding: 25px 0 20px;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  #head {
    transition: 0.2s padding, 0.2s background;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99;
    width: calc(100% - 267px);
    min-width: 954px;
  }
  #head.-active {
    padding: 21px 0;
    background: #fff;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  #head {
    width: calc(100% - 70px);
  }
}
@media screen and (max-width: 767px) {
  #head {
    position: relative;
    padding: 5.33vw 2.67vw 0;
    height: 21.33vw;
  }
}

/* head-logo
--------------------------------------------------------*/
.head-logo {
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .head-logo img {
    transition: 0.2s;
  }
  #head.-active .head-logo img {
    width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .head-logo {
    width: 64vw;
    text-align: left;
  }
  .head-logo img {
    width: 100%;
  }
}

/* navigation
========================================================================== */
/* グローバルナビ
--------------------------------------------------------*/
.gnav > li {
  border-bottom: 1px solid #dedddb;
  position: relative;
}
.gnav > li > a > span, .gnav > li > span {
  position: relative;
  display: block;
  padding: 13px 0;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .gnav > li > a > span, .gnav > li > span {
    padding: 3.2vw 3.47vw 3.2vw 0;
  }
}
.gnav > li:after {
  display: block;
  position: absolute;
  content: "";
  width: 8px;
  height: 0;
  background: #ffe476;
  left: -38px;
  top: 0;
  transition: 0.8s;
}
@media screen and (max-width: 767px) {
  .gnav > li:after {
    width: 2.13vw;
    left: -5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .gnav > li:hover > a > span:before, .gnav > li:hover > span:before {
    background: url("/common/svg/icon_arrow_down.svg") no-repeat !important;
    background-size: 100% !important;
  }
}
.gnav > li.-open:after {
  height: 50px;
}
@media screen and (max-width: 767px) {
  .gnav > li.-open:after {
    height: 14.4vw;
  }
}
.gnav > li.-open > a > span:before, .gnav > li.-open > span:before {
  transition: 0.5s;
  transform: rotate(180deg);
  background: url("/common/svg/icon_arrow_down.svg") no-repeat !important;
  background-size: 100% !important;
}
.gnav > li.active > span {
  color: #efba00;
}
.gnav > li.-lv1 > a {
  display: block;
}
@media screen and (max-width: 767px) {
  .gnav > li.-lv1 > a {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .gnav > li.-lv1 > a {
    display: block;
  }
}
.gnav .-lv2 {
  border-top: 1px solid #dedddb;
  padding-bottom: 11px;
  padding-top: 11px;
}
@media screen and (min-width: 768px), print {
  .gnav .-lv2 {
    padding-bottom: 11px;
    padding-top: 11px;
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .gnav .-lv2 {
    padding: 3.47vw 0;
    display: block;
  }
}
.gnav .-lv2 > li > a > span, .gnav .-lv2 > li > span {
  display: block;
  letter-spacing: 0.1em;
  font-size: 14px;
  font-size: 1.4rem;
  position: relative;
  padding-left: 18px;
}
@media screen and (max-width: 767px) {
  .gnav .-lv2 > li > a > span, .gnav .-lv2 > li > span {
    padding-left: 4.8vw;
  }
}
.gnav .-lv2 > li > a > span::before, .gnav .-lv2 > li > span::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  left: 0;
  top: 0.5em;
  position: absolute;
  border: 1px solid #000;
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .gnav .-lv2 > li > a > span::before, .gnav .-lv2 > li > span::before {
    width: 2.13vw;
    height: 2.13vw;
    top: 0.6em;
  }
}
.gnav .-lv2 > li:not(:first-child) {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .gnav .-lv2 > li:not(:first-child) {
    margin-top: 1.33vw;
  }
}
.gnav .-lv2 > li.active > span {
  color: #efba00;
}
.gnav .-lv2 > li.active > span::before {
  background: #ffe476;
  border-color: #ffe476;
}

/* サブナビ
--------------------------------------------------------*/
.snav-wrap {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .snav-wrap {
    margin-top: 0;
  }
}

.snav {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .snav {
    justify-content: space-between;
    border-bottom: 1px solid #dedddb;
  }
}
@media screen and (max-width: 767px) {
  .snav {
    justify-content: space-between;
    margin-top: 8vw;
  }
}
.snav li {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .snav li {
    width: 45%;
    border-bottom: none;
    text-align: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .snav li {
    width: auto;
  }
}
.snav li a {
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .snav li a {
    display: inline-block;
    width: auto;
  }
  .snav li a.c-icon-blank {
    display: inline-block;
    padding-right: 0;
    width: auto;
  }
  .snav li a.c-icon-blank::before {
    right: 2.67vw;
  }
}
.snav li .-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
  margin: auto;
  width: 21px;
  height: auto;
}
@media screen and (min-width: 768px), print {
  .snav li .-svg.-library {
    width: 24px;
  }
}
@media screen and (max-width: 767px) {
  .snav li .-svg {
    left: 0;
    width: 6.4vw;
  }
  .snav li .-svg.-library {
    width: 6.93vw;
  }
}
.snav li span {
  display: block;
  padding: 9px 0 9px 27px;
  font-weight: bold;
  font-size: 11px;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .snav li span {
    display: inline-block;
    padding: 2.13vw 8vw;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .snav li a:not(.c-icon-blank) span {
    padding-right: 4.53vw;
  }
}
@media screen and (max-width: 767px) {
  #foot .snav {
    margin-top: 0;
    border-top: 1px solid #dedddb;
  }
  #foot .snav li {
    width: 50%;
    border-right: 1px solid #dedddb;
    border-bottom: 1px solid #dedddb;
  }
  #foot .snav li:nth-child(even) {
    border-right: none;
  }
  #foot .snav li a {
    display: block;
    padding: 1.33vw;
    width: 100%;
  }
  #foot .snav li a span {
    font-weight: normal;
  }
  #foot .snav li a .-svg {
    left: 9.6vw;
  }
  #foot .snav li a::before {
    right: 9.6vw;
  }
}

/* ヘッダーナビ
--------------------------------------------------------*/
.head-nav-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.head-nav {
  display: flex;
  flex-wrap: wrap;
}
.head-nav > li {
  width: 210px;
  border-left: 1px solid #dedddb;
  text-align: center;
}
.head-nav > li:first-child {
  width: 140px;
  border-left: none;
}
.head-nav > li > a, .head-nav > li > span {
  display: block;
  padding: 5px;
}
.head-nav > li > a span, .head-nav > li > span span {
  font-weight: bold;
  font-size: 11px;
  font-size: 1.1rem;
}

/* 学院ナビ
--------------------------------------------------------*/
.wrap-school-nav {
  position: relative;
  height: calc(100% + 10px);
  transition: 0.2s;
  cursor: default;
}
.wrap-school-nav:hover {
  color: #efba00;
}
.wrap-school-nav:hover .c-icon-arrow.-bottom:before {
  background: url("/common/svg/icon_arrow_down_hover.svg") no-repeat;
  background-size: 100%;
}

.school-nav {
  opacity: 0;
  transition: 0.4s;
  visibility: hidden;
  position: absolute;
  background: #fff;
  top: 100%;
  left: 13px;
  width: 560px;
  display: flex;
  flex-wrap: wrap;
  padding: 17px 30px;
  border-radius: 8px;
  transform: translateY(-5px);
}
.school-nav::before {
  position: absolute;
  content: "";
  display: block;
  left: 50px;
  top: -10px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 10px solid #fff;
}
.wrap-school-nav:hover .school-nav {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.school-nav-item {
  width: 30%;
  text-align: left;
  font-size: 12px;
  font-size: 1.2rem;
  margin-top: 10px;
  margin-right: 5%;
}
.school-nav-item:nth-of-type(3n) {
  margin-right: 0;
}
.school-nav-item:nth-of-type(-n + 3) {
  margin-top: 0;
}

/* ナビ展開ボタン(sp)
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .sp-fix-nav-btn,
.sp-nav-btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sp-fix-nav-btn,
.sp-nav-btn {
    position: absolute;
    top: 2.67vw;
    right: 2.67vw;
    z-index: 1;
    display: block;
    width: 16vw;
    height: 16vw;
  }
}
.sp-fix-nav-btn span,
.sp-nav-btn span {
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  display: block;
  margin: auto;
  width: 6.4vw;
  height: 0.53vw;
  border-radius: 100px;
  background: #000;
}
.sp-fix-nav-btn span:nth-child(1),
.sp-nav-btn span:nth-child(1) {
  top: 5.87vw;
}
.sp-fix-nav-btn span:nth-child(2),
.sp-nav-btn span:nth-child(2) {
  top: 0;
  bottom: 0;
}
.sp-fix-nav-btn span:nth-child(3),
.sp-nav-btn span:nth-child(3) {
  bottom: 5.87vw;
}

@media screen and (max-width: 767px) {
  .sp-fix-nav-btn {
    position: absolute;
    top: -19.47vw;
    left: 3.47vw;
    z-index: 99;
    visibility: hidden;
    border-radius: 100%;
    background: #ffe476;
    opacity: 0;
    transition: 0.4s;
  }
  .-fix .sp-fix-nav-btn {
    visibility: visible;
    opacity: 1;
  }
  .sp-fix-nav-btn.-marginPageNav {
    top: -33.07vw;
  }
}

/* ナビ展開ボタン(tablet)
--------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .tablet-nav-btn {
    position: relative;
    width: 100%;
    height: 43%;
    background: #ffe476;
    cursor: pointer;
  }
  .tablet-nav-btn div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 27px;
    height: 18px;
    transition: 0.2s;
  }
  .tablet-nav-btn span {
    position: absolute;
    right: 0;
    left: 0;
    display: block;
    margin: auto;
    height: 2px;
    border-radius: 100px;
    background: #000;
    transition: 0.2s;
  }
  .tablet-nav-btn span:nth-child(1) {
    top: 0;
  }
  .tablet-nav-btn span:nth-child(2) {
    top: 0;
    bottom: 0;
  }
  .tablet-nav-btn span:nth-child(3) {
    bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .tablet-nav-btn {
    display: none;
  }
}
.tablet-nav-btn.-open div {
  width: 38px;
  height: 2px;
}
.tablet-nav-btn.-open span {
  height: 2px;
}
.tablet-nav-btn.-open span:nth-child(1) {
  top: 0;
  transition: 0.2s 0.2s;
  transform: rotate(-45deg);
}
.tablet-nav-btn.-open span:nth-child(2) {
  opacity: 0;
}
.tablet-nav-btn.-open span:nth-child(3) {
  bottom: 0;
  transition: 0.2s 0.2s;
  transform: rotate(45deg);
}

/* main
   ========================================================================== */
/* main
   --------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  #main {
    padding-bottom: 110px;
    padding-top: 105px;
  }
}
@media screen and (max-width: 767px) {
  #main {
    padding-bottom: 14.67vw;
  }
}
.-mainPb0 #main {
  padding-bottom: 0;
}

/* side
========================================================================== */
/* side
--------------------------------------------------------*/
#side {
  z-index: 100;
}

/* side-content
--------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .side-content {
    position: fixed;
    top: 0;
    right: 70px;
    min-width: 450px;
    width: calc(50% - 70px);
    height: 100%;
    background: #fff;
    transition: 0.5s transform;
    transform: translateX(100%);
  }
  #side.-open .side-content {
    transform: translateX(0);
  }
}
@media screen and (max-width: 767px) {
  .side-content {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    display: flex;
    padding: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: 0.5s transform;
    transform: translateX(100%);
  }
  #side.-open .side-content {
    transform: translateX(0);
  }
}

.side-content-inner {
  overflow: auto;
  padding: 50px 37px 0;
  max-height: 100vh;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .side-content-inner {
    padding: 3.47vw 5.6vw 0;
  }
}
.side-content-inner > *:last-child {
  margin-bottom: 89px;
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .side-content-inner > *:last-child {
    margin-bottom: 144px;
  }
}
@media screen and (max-width: 767px) {
  .side-content-inner > *:last-child {
    margin-bottom: 9.07vw;
  }
}

/* tablet-sidebar
--------------------------------------------------------*/
.tablet-sidebar {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .tablet-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    display: block;
    width: 70px;
    height: 100vh;
    background-color: #ffeea8;
  }
}
@media screen and (max-width: 767px) {
  .tablet-sidebar {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .tablet-sidebar-content {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    transition: 0.4s transform;
    transform: translateY(100%);
  }
  .tablet-sidebar-content.-fix {
    transform: translateY(0);
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .tablet-sidebar-utility li {
    margin-top: 25px;
  }
  .tablet-sidebar-utility li a {
    display: block;
    text-align: center;
  }
  .tablet-sidebar-utility li .icon {
    display: inline-block;
    width: 20px;
  }
  .tablet-sidebar-utility li .txt {
    display: block;
    line-height: 1.2;
    font-size: 10px;
    font-size: 1rem;
  }
  .tablet-sidebar-utility li:first-child {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .tablet-sidebar-utility {
    display: flex;
    background: rgba(255, 255, 255, 0.8);
    border-top: 1px solid #dedddb;
  }
  .tablet-sidebar-utility li {
    width: 50%;
  }
  .tablet-sidebar-utility li a {
    display: block;
    padding: 1.87vw 0;
    text-align: center;
    line-height: 1;
  }
  .tablet-sidebar-utility li .icon {
    display: inline-block;
    width: 4.8vw;
    height: 5.87vw;
  }
  .tablet-sidebar-utility li .icon svg {
    height: 100%;
    width: auto;
  }
  .tablet-sidebar-utility li .txt {
    display: block;
    margin-top: 0.8vw;
    line-height: 1;
    font-size: 10px;
    font-size: 1rem;
  }
  .tablet-sidebar-utility li .txt br {
    display: none;
  }
}

/* side-btn
--------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .side-btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .side-btn {
    display: none;
  }
}

/* .side-doc-btn
--------------------------------------------------------*/
.side-doc-btn.c-btn.-sizeL {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .side-doc-btn.c-btn.-sizeL {
    display: block;
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .side-doc-btn.c-btn.-sizeL {
    display: block;
    margin-top: 6.67vw;
  }
}
.side-doc-btn.c-btn.-sizeL a {
  display: block;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .side-doc-btn.c-btn.-sizeL a {
    padding: 4vw;
    border: 1px solid #000;
    background: #fff;
    width: 100%;
  }
}
.side-doc-btn.c-btn.-sizeL .c-icon-arrow > span {
  padding-left: 18px;
  font-size: 11px;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .side-doc-btn.c-btn.-sizeL .c-icon-arrow > span {
    padding-left: 8vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.side-doc-btn.c-btn.-sizeL .c-icon-arrow::before {
  width: 9px;
  height: 9px;
}
@media screen and (max-width: 767px) {
  .side-doc-btn.c-btn.-sizeL .c-icon-arrow::before {
    display: none;
  }
}

/* side-utility
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .side-utility {
    display: flex;
    margin-top: 22px;
    flex-wrap: wrap;
    border-right: 1px solid #dedddb;
    border-left: 1px solid #dedddb;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .side-utility {
    flex-wrap: nowrap;
    justify-content: space-between;
    border-bottom: 1px solid #dedddb;
    border-right: none;
    border-left: none;
    padding-bottom: 11px;
  }
}
@media screen and (max-width: 767px) {
  .side-utility {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 4vw;
  }
}
@media screen and (min-width: 768px), print {
  .side-utility li {
    width: 50%;
    text-align: center;
    border-right: 1px solid #dedddb;
  }
  .side-utility li:nth-child(even) {
    border-right: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .side-utility li {
    width: auto;
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .side-utility li {
    margin-top: 0.8vw;
    width: 45%;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .side-utility li a {
    text-decoration: underline;
  }
}
@media screen and (min-width: 768px), print {
  .side-utility li span {
    font-weight: bold;
    font-size: 10px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .side-utility li span {
    font-weight: normal;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* nav-close-btn
--------------------------------------------------------*/
.nav-close-btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .nav-close-btn {
    position: relative;
    display: block;
    width: 15%;
    background: #ffeea8;
  }
  .nav-close-btn span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    margin: auto;
    width: 9.07vw;
    height: 0.53vw;
    border-radius: 100px;
    background: #000;
    transition: 0.2s;
  }
  .nav-close-btn span:nth-child(1) {
    transform: rotate(-45deg);
  }
  .nav-close-btn span:nth-child(2) {
    transform: rotate(45deg);
  }
}

/* side-overlay
--------------------------------------------------------*/
.side-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  visibility: hidden;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: 0.2s;
}
.-open .side-overlay {
  visibility: visible;
  opacity: 1;
}

/* footer
========================================================================== */
/* foot
--------------------------------------------------------*/
#foot {
  padding-bottom: 45px;
}
@media screen and (max-width: 767px) {
  #foot {
    padding-top: 0;
    padding-bottom: 57.33vw;
  }
}

/* foot-bnrlist
--------------------------------------------------------*/
.foot-bnrlist-wrap {
  border-top: 1px solid #dedddb;
  margin-top: 0;
}
@media screen and (min-width: 768px), print {
  .foot-bnrlist-wrap {
    padding: 34px 0;
  }
}
@media screen and (max-width: 767px) {
  .foot-bnrlist-wrap {
    padding: 4.8vw 0;
  }
}

.foot-bnrlist {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px), print {
  .foot-bnrlist {
    margin-bottom: -40px;
  }
}
@media screen and (max-width: 767px) {
  .foot-bnrlist {
    margin-bottom: -0.8vw;
  }
}
@media screen and (min-width: 768px), print {
  .foot-bnrlist li {
    width: calc((99.9% - 80px) / 3);
    margin-bottom: 40px;
  }
  .foot-bnrlist li:not(:nth-child(3n)) {
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .foot-bnrlist li {
    width: calc((100% - 0.8vw) / 2);
    margin-bottom: 0.8vw;
  }
  .foot-bnrlist li:not(:nth-child(even)) {
    margin-right: 0.8vw;
  }
}
.foot-bnrlist li img {
  width: 100%;
}

/* foot-menu
--------------------------------------------------------*/
.foot-menu {
  border-top: 1px solid #dedddb;
}

.foot-menu-inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .foot-menu-inner {
    display: block;
  }
}

.foot-menu-l {
  padding-bottom: 55px;
  width: 70%;
  border-right: 1px solid #dedddb;
}
@media screen and (max-width: 767px) {
  .foot-menu-l {
    padding: 0;
    width: 100%;
    border-right: none;
  }
}

.foot-menu-r {
  padding-left: 30px;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .foot-menu-r {
    padding: 0;
    width: 100%;
  }
}

@media screen and (min-width: 768px), print {
  .wrap-c-box-menu {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px), print {
  .wrap-c-box-menu > * {
    padding-right: 20px;
    width: 33.3%;
  }
}

/* subject-foot-menu
--------------------------------------------------------*/
.subject-foot-menu {
  margin-top: 45px;
  width: calc(100% - 20px);
}
@media screen and (max-width: 767px) {
  .subject-foot-menu {
    margin: 0;
    width: 100%;
  }
}
.subject-foot-menu .subject-foot-menu-ttl {
  padding-bottom: 5px;
  padding-left: 24px;
  border-bottom: 1px solid #000;
  background: url("/common/svg/icon_person.svg") left 3px no-repeat;
  background-size: 16px;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .subject-foot-menu .subject-foot-menu-ttl {
    margin-top: 8vw;
    padding: 0 5.33vw 1.87vw 11.2vw;
    background: url("/common/svg/icon_person.svg") 5.33vw 1.33vw no-repeat;
    background-size: 4.27vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.subject-foot-menu .subject-foot-menu-list {
  display: flex;
  justify-content: space-between;
  margin-top: 13px;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .subject-foot-menu .subject-foot-menu-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 0;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .subject-foot-menu .subject-foot-menu-list li {
    width: 33.33%;
    border-right: 1px solid #dedddb;
    border-bottom: 1px solid #dedddb;
  }
  .subject-foot-menu .subject-foot-menu-list li:nth-child(3n) {
    border-right: none;
  }
}
@media screen and (max-width: 767px) {
  .subject-foot-menu .subject-foot-menu-list a {
    display: block;
    padding: 4.27vw 2.67vw;
  }
}

/* foot-content
--------------------------------------------------------*/
.foot-content {
  padding-top: 34px;
  border-top: 1px solid #dedddb;
}
@media screen and (max-width: 767px) {
  .foot-content {
    padding: 9.33vw 10.67vw;
    border-top: none;
  }
}

.foot-content-inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .foot-content-inner {
    display: block;
  }
}

/* foot-logo
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .foot-logo img {
    width: 73.87vw;
  }
}

/* foot-campus-data
--------------------------------------------------------*/
.wrap-foot-campus-data {
  display: flex;
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .wrap-foot-campus-data {
    display: block;
    margin-top: 4.27vw;
  }
}

.foot-campus-data {
  margin-right: 55px;
}
@media screen and (max-width: 767px) {
  .foot-campus-data {
    margin: 0;
    text-align: center;
  }
  .foot-campus-data + .foot-campus-data {
    margin-top: 2.93vw;
  }
}

.foot-campus-data-ttl {
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .foot-campus-data-ttl {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.foot-campus-data-add,
.foot-campus-data-tel {
  font-size: 12px;
  font-size: 1.2rem;
}

/* foot-contact-btn
--------------------------------------------------------*/
.wrap-foot-contact-btn {
  display: flex;
  margin-top: 24px;
}

.foot-contact-btn.c-btn {
  margin-top: 0;
  margin-right: 5px;
  width: 195px;
}
.foot-contact-btn.c-btn + .foot-contact-btn {
  margin-top: 0;
  margin-right: 0;
}

/* foot-copy
--------------------------------------------------------*/
.foot-copy {
  margin-top: 21px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  font-size: 10px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .foot-copy {
    position: absolute;
    bottom: 38.67vw;
    text-align: center;
    width: 100%;
    left: 0;
  }
}

/* foot-sns
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .foot-sns {
    margin-top: 6.67vw;
  }
}
.foot-sns .foot-sns-ttl {
  padding-bottom: 2px;
  border-bottom: 1px solid #000;
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .foot-sns .foot-sns-ttl {
    padding-bottom: 1.33vw;
    text-align: center;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
.foot-sns .foot-sns-list {
  display: flex;
  justify-content: flex-end;
  margin-top: 11px;
}
@media screen and (max-width: 767px) {
  .foot-sns .foot-sns-list {
    align-items: center;
    justify-content: space-between;
    margin-top: 5.33vw;
    padding: 0 2.67vw;
  }
}
.foot-sns .foot-sns-list li {
  margin-left: 11px;
}
@media screen and (max-width: 767px) {
  .foot-sns .foot-sns-list li {
    margin: 0;
    height: 10.67vw;
  }
  .foot-sns .foot-sns-list li img {
    width: auto;
    height: 100%;
  }
  .foot-sns .foot-sns-list li.line {
    order: 3;
    height: 9.87vw;
  }
  .foot-sns .foot-sns-list li.tw {
    order: 1;
    height: 9.87vw;
  }
  .foot-sns .foot-sns-list li.fb {
    order: 2;
    height: 9.87vw;
  }
}

/* foot-menu-btn
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .foot-menu-btn {
    padding: 0 10.67vw;
  }
}

/* ページトップ
--------------------------------------------------------*/
#pagetop {
  position: fixed;
  bottom: 34px;
  z-index: 100;
  width: 70px;
  text-align: center;
  transition: 0.2s opacity;
}
@media screen and (min-width: 768px), print {
  #pagetop {
    bottom: 50px;
    right: 255px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  #pagetop {
    bottom: 26px;
    right: 0;
  }
}
#pagetop:not(.-visible) {
  opacity: 0;
  pointer-events: none;
}
#pagetop a {
  display: block;
  width: 100%;
}

/* ==========================================================================
04. Parts
========================================================================== */
/* ボックス
========================================================================== */
/* c-box-center
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-box-center {
    margin-right: auto;
    margin-left: auto;
    max-width: 1414px;
    width: 100%;
  }
}

/* c-box-inner
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-box-inner {
    margin-right: auto;
    margin-left: auto;
    min-width: 934px;
    max-width: 1414px;
    width: 85.5%;
  }
}

/* c-border-box
--------------------------------------------------------*/
.c-border-box {
  border: 1px solid #ccccca;
  line-height: 2;
  background: #fff;
}
@media screen and (min-width: 768px), print {
  .c-border-box {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-box {
    padding: 5.33vw;
  }
}
.c-border-box.-attention {
  border-color: #ff0000;
}
@media screen and (min-width: 768px), print {
  .c-border-box + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-box + * {
    margin-top: 5.33vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-border-box {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-border-box {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  #formTable + .c-border-box {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  #formTable + .c-border-box {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-notes + .c-border-box {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-notes + .c-border-box {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .-pcPdg + .c-border-box {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .-pcPdg + .c-border-box {
    margin-top: 9.07vw;
  }
}

.-attention .c-border-box-title {
  color: #ff0000;
}

/* c-picbox
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-picbox {
    display: flex;
  }
  .c-picbox.-pcPicRigth {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 767px) {
  .c-picbox {
    padding: 0 5.33vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-picbox + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-picbox + * {
    margin-top: 5.33vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-picbox {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-picbox {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-picbox.-alignCenter {
    align-items: center;
  }
}

@media screen and (min-width: 768px), print {
  .c-picbox-pic {
    margin-right: 55px;
    min-width: 289px;
    width: 289px;
  }
  .-pcPicRigth .c-picbox-pic {
    margin-right: 0;
    margin-left: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-picbox-pic img {
    width: 100%;
  }
  .c-picbox-pic + * {
    margin-top: 5.6vw;
  }
  .c-picbox-pic.-spSizeS {
    display: block;
    text-align: center;
  }
  .c-picbox-pic.-spSizeS img {
    width: 70%;
  }
  .c-picbox-pic.-spHalf {
    display: block;
    text-align: center;
  }
  .c-picbox-pic.-spHalf img {
    width: 50%;
  }
}

@media screen and (min-width: 768px), print {
  .c-picbox-contents {
    width: calc(100% - 289px - 55px);
  }
}
@media screen and (max-width: 767px) {
  .c-picbox-contents {
    font-size: 3.73vw;
  }
}

.c-picbox-ttl {
  line-height: 1.4;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-picbox-ttl {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-picbox-ttl {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-picbox-ttl {
    font-size: 4.27vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-picbox-ttl + * {
    margin-top: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-picbox-ttl + * {
    margin-top: 2.67vw;
  }
}

.c-picbox-txt {
  line-height: 2;
}

/* c-border-ttlset
--------------------------------------------------------*/
.c-border-ttlset-wrap {
  background-color: #fff;
}
@media screen and (min-width: 768px), print {
  .c-border-ttlset-wrap:not(:first-child) {
    margin-top: 55px !important;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-wrap {
    padding: 0 2.67vw;
  }
  .c-border-ttlset-wrap:not(:first-child) {
    margin-top: 12vw !important;
  }
}
@media screen and (min-width: 768px), print {
  .c-border-ttlset-wrap + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-wrap + * {
    margin-top: 5.33vw;
  }
}

.c-border-ttlset {
  position: relative;
  border: 4px solid #000;
  font-weight: bold;
}
@media screen and (min-width: 768px), print {
  .c-border-ttlset {
    padding: 50px 34px 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset {
    padding: 9.07vw 8vw 4vw;
    border-width: 3px;
  }
}
@media screen and (min-width: 768px), print {
  .c-border-ttlset.-data {
    padding-top: 40px;
    padding-bottom: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset.-data {
    padding-top: 9.07vw;
    padding-bottom: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-border-ttlset + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset + * {
    margin-top: 5.33vw;
  }
}

.c-border-ttlset-ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.c-border-ttlset-ttl span {
  display: inline-block;
  border-radius: 30px;
  background-color: #fcead5;
  line-height: 1.4;
  transform: translateY(-50%);
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-border-ttlset-ttl span {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-border-ttlset-ttl span {
    padding: 4px 20px;
    min-width: 400px;
    max-width: 80%;
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-ttl span {
    padding: 1.33vw 2.67vw;
    width: 78.67vw;
    font-size: 3.73vw;
  }
}
.-childcare .c-border-ttlset-ttl span {
  background-color: #fcead5;
}
.-nursing .c-border-ttlset-ttl span {
  background-color: #d8def5;
}
.-childcare .c-border-ttlset-ttl span {
  background-color: #fcead5;
}
.-nursing .c-border-ttlset-ttl span {
  background-color: #d8def5;
}

@media screen and (min-width: 768px), print {
  .c-border-ttlset-txt {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-txt {
    font-size: 4.27vw;
  }
}
.c-border-ttlset-txt span,
.c-border-ttlset-txt strong {
  display: block;
  text-align: center;
  line-height: 1;
}
.c-border-ttlset-txt span {
  display: block;
  letter-spacing: 0.15em;
  line-height: 1;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-txt span {
    padding-top: 2.13vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-border-ttlset-txt strong {
  font-weight: 100;
  font-style: normal;
  font-family: joanna-nova, sans-serif;
  line-height: 1;
  font-size: 90px;
  font-size: 9rem;
}
html:not(.wf-active):not(.loading-delay) .c-border-ttlset-txt strong {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-txt strong {
    margin-right: 2.93vw;
    margin-left: 2.93vw;
    font-size: 76px;
    font-size: 7.6rem;
  }
}

/* c-colbox
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-colbox {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox.-col2A {
    justify-content: space-between;
  }
  .c-colbox.-col2A > * {
    width: 48.5%;
  }
  .c-colbox.-col2A > *:not(:nth-child(-n+2)) {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox.-col2A > *:not(:nth-child(1)) {
    margin-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox.-col2B {
    justify-content: space-between;
  }
  .c-colbox.-col2B > * {
    width: 46.8%;
  }
  .c-colbox.-col2B > *:not(:nth-child(-n+2)) {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox.-col2B > *:not(:nth-child(1)) {
    margin-top: 9.07vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox.-col3 > * {
    margin-right: 5%;
    width: 30%;
  }
  .c-colbox.-col3 > *:not(:nth-child(-n+3)) {
    margin-top: 34px;
  }
  .c-colbox.-col3 > *:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox.-col3 > *:not(:nth-child(1)) {
    margin-top: 9.07vw;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox.-link > *:not(:nth-child(1)) {
    margin-top: 5.6vw;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox.-pic {
    padding: 0 8vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox + * {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox + * {
    margin-top: 14.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox .c-ttl08 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .c-colbox .c-ttl08 + .c-colbox-txt {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox .c-ttl08 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .c-colbox .c-ttl08 + .c-colbox-txt {
    margin-top: 2.13vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox .c-ttl09 {
    padding-left: 25px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .c-colbox .c-ttl09::before {
    top: 0.3em;
  }
  .c-colbox .c-ttl09 + .c-colbox-txt {
    margin-top: 11px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox .c-ttl09 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .c-colbox .c-ttl09::before {
    top: 0.2em;
  }
  .c-colbox .c-ttl09 + .c-colbox-txt {
    margin-top: 2.13vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox .c-ttl10 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .c-colbox .c-ttl10 + .c-colbox-txt {
    margin-top: 11px;
  }
  .c-colbox .c-ttl10 + .c-colbox-txt.-fontSizeS {
    margin-top: 6px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox .c-ttl10 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .c-colbox .c-ttl10 + .c-colbox-txt {
    margin-top: 2.13vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl11 + .c-colbox {
    margin-top: 28px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl11 + .c-colbox {
    margin-top: 7.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl03 + .c-colbox {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl03 + .c-colbox {
    margin-top: 5.6vw;
  }
}

.c-colbox-item.-border {
  padding: 21px;
  border: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-colbox-item.-border {
    padding: 5.33vw;
  }
}
.c-colbox-item.-hiddenItem {
  display: none;
}

.c-colbox-link {
  display: block;
}

.c-colbox-img {
  display: block;
}
.c-colbox-img:not(:last-child) {
  margin-bottom: 18px;
}
.c-colbox-img img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-border-ttlset-wrap .c-colbox-img {
    margin-bottom: 12vw;
  }
}

.c-colbox-txt {
  line-height: 2;
}
.c-colbox-txt.-fontSizeM {
  line-height: 1.6;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-colbox-txt.-fontSizeM {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.c-colbox-txt.-fontSizeS {
  line-height: 1.6;
  font-size: 12px;
  font-size: 1.2rem;
}
.c-colbox-txt + * {
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .c-colbox-txt + * {
    margin-top: 2.13vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-colbox-link .c-colbox-img {
    display: block;
    overflow: hidden;
    width: 100%;
  }
  .c-colbox-link .c-colbox-img img {
    width: 100%;
    transition: 0.3s transform ease-out;
    transform: scale(1);
  }
}
@media screen and (max-width: 767px) {
  .c-colbox-link {
    position: relative;
  }
  .c-colbox-link .c-colbox-img {
    display: block;
    margin-bottom: 0;
    width: 100%;
  }
  .c-colbox-link .c-colbox-img img {
    width: 68%;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox-item:nth-child(even) .c-colbox-link {
    text-align: right;
  }
}
@media screen and (min-width: 768px), print {
  .c-colbox-link:hover .c-colbox-img {
    overflow: hidden;
  }
  .c-colbox-link:hover .c-colbox-img img {
    width: 100%;
    transform: scale(1.075);
  }
}

.c-colbox-ttl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-colbox-ttl {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
  }
  .c-colbox-item:nth-child(even) .c-colbox-ttl {
    right: auto;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox-ttl .c-colbox-ttl-inner {
    padding: 0 3.47vw 3.47vw;
    background: #fff;
  }
}
.c-colbox-ttl .c-icon-arrow {
  display: inline-block;
  border-bottom: 1px dotted #000;
  letter-spacing: 0.1em;
  line-height: 2;
  transition: 0.2s border-color;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-colbox-ttl .c-icon-arrow {
    padding-top: 1.33vw;
    padding-bottom: 1.33vw;
    min-width: 34.67vw;
    background: #fff;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px), print {
  a:hover .c-colbox-ttl .c-icon-arrow {
    border-color: #efba00;
  }
}

/* c-colbox -spPatternA
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .c-colbox.-spPatternA {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -8.53vw;
  }
  .c-colbox.-spPatternA .c-colbox-item {
    margin-top: 0;
    margin-bottom: 8.53vw;
    width: calc((100% - 2.13vw) / 2);
  }
  .c-colbox.-spPatternA .c-colbox-item:nth-child(odd) {
    margin-right: 2.13vw;
  }
  .c-colbox.-spPatternA .c-colbox-item img {
    width: 100%;
  }
  .c-colbox.-spPatternA .c-colbox-item span {
    display: inline-block;
  }
  .c-colbox.-spPatternA .c-colbox-ttl {
    position: static;
    top: auto;
    right: auto;
    display: block;
    margin-top: 2.67vw;
    height: auto;
    line-height: 1.2;
  }
  .c-colbox.-spPatternA .c-colbox-ttl-inner {
    padding: 0;
    background: transparent;
  }
  .c-colbox.-spPatternA .c-icon-arrow {
    padding: 0 4vw 0 0;
    min-width: 0;
    border-bottom: none;
    background: transparent;
    line-height: 1.4;
  }
}

/* c-step-box -spPatternA
--------------------------------------------------------*/
.c-step-box {
  display: flex;
  flex-wrap: wrap;
  margin-right: auto;
  margin-left: auto;
  width: 88%;
}
@media screen and (max-width: 767px) {
  .c-step-box {
    display: block;
    width: 100%;
  }
}
.c-step-box > * {
  margin-right: 8%;
  width: 28%;
}
@media screen and (max-width: 767px) {
  .c-step-box > * {
    margin-right: 0;
    width: 100%;
  }
}
.c-step-box > *:nth-child(3n) {
  margin-right: 0;
}
.c-step-box + * {
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  .c-step-box + * {
    margin-top: 9.07vw;
  }
}

.c-step-box-item {
  position: relative;
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  .c-step-box-item {
    margin-top: 5.6vw;
    padding-bottom: 6.13vw;
  }
}
.c-step-box-item::before {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  content: "";
}
@media screen and (min-width: 768px), print {
  .c-step-box-item::before {
    top: 13px;
    right: -16%;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid black;
  }
}
@media screen and (max-width: 767px) {
  .c-step-box-item::before {
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    border-top: 2.67vw solid black;
    border-right: 2.67vw solid transparent;
    border-left: 2.67vw solid transparent;
  }
}
.c-step-box-item:last-child::before {
  display: none;
}
@media screen and (min-width: 768px), print {
  .c-step-box-item:nth-child(-n+3) {
    margin-top: 0;
  }
}

.c-step-box-item-ttl {
  padding: 5px 21px;
  border-radius: 100px;
  background: #f0f0f0;
  letter-spacing: 0.15em;
  font-size: 20px;
  font-size: 2rem;
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-step-box-item-ttl {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-step-box-item-ttl {
    padding: 1.33vw 3.47vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.c-step-box-item-sttl {
  margin-top: 17px;
}
@media screen and (max-width: 767px) {
  .c-step-box-item-sttl {
    margin-top: 3.47vw;
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.c-step-box-item-txt {
  margin-top: 10px;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-step-box-item-txt {
    margin-top: 0.27vw;
    line-height: 1.6;
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* c-calender-box
--------------------------------------------------------*/
.c-calender-box {
  border-right: 1px solid #000;
  border-left: 1px solid #000;
}
@media screen and (min-width: 768px), print {
  .c-calender-box.-col2 {
    display: flex;
  }
  .c-calender-box.-col2 > * {
    width: 50%;
  }
  .c-calender-box.-col2 > *:not(:first-child) {
    border-left: 1px solid #000;
  }
}
@media screen and (min-width: 768px), print {
  .c-sct .c-ttl02 + .c-calender-box {
    margin-top: 34px;
  }
}

.c-calender-ttl {
  background: #ffeea8;
  text-align: center;
  letter-spacing: 0.2em;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 20px;
  font-size: 2rem;
}
html:not(.wf-active):not(.loading-delay) .c-calender-ttl {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-calender-ttl {
    padding: 8px 0;
  }
}
@media screen and (max-width: 767px) {
  .c-calender-ttl {
    padding: 1.33vw 0;
  }
}

@media screen and (min-width: 768px), print {
  .c-calender-item-inner {
    padding: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-calender-item-inner {
    padding: 5.6vw;
  }
}

.c-calender-sttl {
  border-bottom: 1px solid #000;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .c-calender-sttl {
    padding: 0 5px 3px;
  }
}
@media screen and (max-width: 767px) {
  .c-calender-sttl {
    padding: 0 1.33vw 0.8vw;
  }
}
.c-calender-sttl strong {
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  font-size: 2.8rem;
}
html:not(.wf-active):not(.loading-delay) .c-calender-sttl strong {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-calender-sttl:not(:first-child) {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-calender-sttl:not(:first-child) {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-calender-box-list li {
    margin-top: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-calender-box-list li {
    margin-top: 2.13vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .c-calender-box-list li:first-child {
    margin-top: 5.6vw;
  }
}
.c-calender-box-list li span {
  font-size: 12px;
  font-size: 1.2rem;
}

/* c-box-menu
--------------------------------------------------------*/
.c-box-menu {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .c-box-menu {
    margin-top: 0;
  }
}
.c-box-menu:nth-child(-n+3) {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .c-box-menu:nth-child(-n+3) {
    margin-top: 0;
  }
}
.c-box-menu .c-box-menu-ttl {
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-box-menu .c-box-menu-ttl {
    margin-top: 8vw;
    padding: 0 5.33vw 1.87vw;
    border-bottom: 1px solid #000;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .c-box-menu .c-box-menu-ttl a {
    pointer-events: none;
  }
  .c-box-menu .c-box-menu-ttl a::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .c-box-menu .c-box-menu-ttl > span {
    font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 24px;
    font-size: 2.4rem;
  }
  html:not(.wf-active):not(.loading-delay) .c-box-menu .c-box-menu-ttl > span {
    color: transparent;
  }
}
.c-box-menu .c-box-menu-list {
  margin-top: 13px;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-box-menu .c-box-menu-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .c-box-menu .c-box-menu-list li {
    width: 50%;
    border-right: 1px solid #dedddb;
    border-bottom: 1px solid #dedddb;
  }
  .c-box-menu .c-box-menu-list li:nth-child(even) {
    border-right: none;
  }
}
.c-box-menu .c-box-menu-list li:not(:first-child) {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-box-menu .c-box-menu-list li:not(:first-child) {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-box-menu .c-box-menu-list a {
    display: block;
    padding: 4.27vw 2.67vw;
  }
  .c-box-menu .c-box-menu-list a.c-icon-blank::before {
    right: 2.67vw;
  }
}

/* ボタン
========================================================================== */
/* ボタンの基本スタイル
--------------------------------------------------------*/
.c-btn > a, .c-btn > span {
  display: block;
  outline: none;
  text-decoration: none !important;
  line-height: 1.2;
  transition: all 0.2s ease;
}

/* c-btn
--------------------------------------------------------*/
.c-btn {
  margin-top: 34px;
}
@media screen and (min-width: 768px), print {
  .c-btn {
    max-width: 195px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn {
    margin-top: 9.07vw;
  }
}
.c-btn > a, .c-btn > span {
  position: relative;
  padding: 9px 15px;
  border: 1px solid #000;
  border-radius: 100px;
  background-color: #fff;
  color: #000;
  font-weight: bold;
  font-size: 11px;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .c-btn > a, .c-btn > span {
    padding: 4vw 5.33vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-btn > a.c-icon-arrow::before, .c-btn > span.c-icon-arrow::before {
  right: 10px;
  width: 7px;
  height: 7px;
}
@media screen and (max-width: 767px) {
  .c-btn > a.c-icon-arrow::before, .c-btn > span.c-icon-arrow::before {
    right: 4.8vw;
    width: 2.67vw;
    height: 2.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-btn > a:hover {
    background-color: #ffe476;
  }
  .c-btn > a:hover .c-icon-arrow:not(.-bottom)::before {
    background: url("/common/svg/icon_arrow_right.svg") no-repeat;
    background-size: 100%;
    transform: translateX(3px);
  }
  .c-btn > a:hover .c-icon-arrow.-bottom::before {
    background: url("/common/svg/icon_arrow_down.svg") no-repeat;
    background-size: 100%;
  }
  .c-btn > a.c-icon-arrow:not(.-bottom):hover::before {
    background: url("/common/svg/icon_arrow_right.svg") no-repeat;
    background-size: 100%;
    transform: translateX(3px);
  }
  .c-btn > a.c-icon-arrow.-bottom:hover::before {
    background: url("/common/svg/icon_arrow_down.svg") no-repeat;
    background-size: 100%;
  }
}
.c-btn .-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  display: inline-block;
  margin: auto;
  width: 18px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-btn .-svg {
    left: 5.33vw;
    width: 6.4vw;
  }
}
.c-btn .-svg + span {
  margin-left: 34px;
}
@media screen and (max-width: 767px) {
  .c-btn .-svg + span {
    margin-left: 9.07vw;
  }
}
.c-btn + .c-btn {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-btn + .c-btn {
    margin-top: 2.13vw;
  }
}
.c-btn.-bgYellow > a, .c-btn.-bgYellow > span {
  background-color: #ffeea8;
}
@media screen and (min-width: 768px), print {
  .c-btn.-bgYellow > a:hover {
    background-color: #ffe476;
  }
}
.c-btn.-borderYellow > a, .c-btn.-borderYellow > span {
  border-color: #ffeea8;
}
.c-btn.-borderGray > a, .c-btn.-borderGray > span {
  border-color: #dedddb;
}
.c-btn.-textCenter > a, .c-btn.-textCenter > span {
  text-align: center;
}
.c-btn.-textCenter .-svg + span {
  margin-left: 0;
}
.c-btn.-textCenter .-iconWrap {
  position: relative;
  padding-right: 34px;
  padding-left: 34px;
}
@media screen and (max-width: 767px) {
  .c-btn.-textCenter .-iconWrap {
    padding-right: 14.67vw;
    padding-left: 14.67vw;
  }
}
.c-btn.-wFull {
  max-width: none;
}
.c-btn.-sizeL {
  max-width: none;
  text-align: center;
}
.c-btn.-sizeL > a, .c-btn.-sizeL > span {
  display: inline-block;
  padding: 18px;
  min-width: 470px;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-btn.-sizeL > a, .c-btn.-sizeL > span {
    padding: 4.8vw;
    min-width: 0;
    width: 89.33vw;
  }
}
.c-btn.-sizeL > a .c-icon-arrow, .c-btn.-sizeL > span .c-icon-arrow {
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .c-btn.-sizeL > a .c-icon-arrow, .c-btn.-sizeL > span .c-icon-arrow {
    padding: 0 6.67vw;
  }
}
.c-btn.-sizeL > a .c-icon-arrow::before, .c-btn.-sizeL > span .c-icon-arrow::before {
  right: 0;
  width: 12px;
  height: 12px;
}
@media screen and (max-width: 767px) {
  .c-btn.-sizeL > a .c-icon-arrow::before, .c-btn.-sizeL > span .c-icon-arrow::before {
    width: 2.67vw;
    height: 2.67vw;
  }
}
.c-btn.-sizeL > a .c-icon-blank, .c-btn.-sizeL > span .c-icon-blank {
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .c-btn.-sizeL > a .c-icon-blank, .c-btn.-sizeL > span .c-icon-blank {
    padding: 0 6.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-txt + .c-btn.-sizeL {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-txt + .c-btn.-sizeL {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-btn.-sizeL {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl04 + .c-btn.-sizeL {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-btn.-sizeL {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-btn.-sizeL {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-btn.-pcaAlignLeft {
    text-align: left;
  }
  .c-btn.-pcaAlignLeft > a, .c-btn.-pcaAlignLeft > span {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-btn.-spSizeS > a, .c-btn.-spSizeS > span {
    padding: 4vw 5.33vw;
    width: 84vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px), print {
  .c-btn-wrap.-pcCol2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .c-btn-wrap.-pcCol2 .c-btn {
    width: 49%;
    margin-top: 13px;
  }
  .c-btn-wrap.-pcCol2 .c-btn:nth-child(-n+2) {
    margin-top: 0;
  }
  .c-btn-wrap.-pcCol2 .c-btn a {
    min-width: 0;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-wrap.-pcCol2 .c-btn {
    margin-top: 3.47vw;
  }
  .c-btn-wrap.-pcCol2 .c-btn:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-lead + .c-btn-wrap.-pcCol2 {
    margin-top: 50px;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-btn-wrap.-pcCol2 {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-btn-wrap.-pcCol2 {
    margin-top: 3.47vw;
  }
}

/* フォーム
========================================================================== */
form input::-webkit-input-placeholder,
form textarea::-webkit-input-placeholder {
  color: #bababa;
}
form input::-moz-placeholder,
form textarea::-moz-placeholder {
  color: #bababa;
}
form input:-ms-input-placeholder,
form textarea:-ms-input-placeholder {
  color: #bababa;
}
form input::-ms-clear {
  visibility: hidden;
}
form input::-ms-reveal {
  visibility: hidden;
}
form select::-ms-expand {
  background-color: transparent;
  border: 0;
}
form textarea {
  resize: vertical;
}

/* フォームアイテム
--------------------------------------------------------*/
.form-btn a,
.form-btn button,
.form-btn input, .form-item {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-item {
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  color: #000;
  display: block;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
  line-height: 1.5;
  min-height: 46px;
  padding: 9px 13px 8px;
  -webkit-transition: border-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
}
.form-item:focus {
  border-color: #fff;
  -webkit-box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.08);
  box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 767px) {
  .form-item {
    border-radius: 1.07vw;
    min-height: 12.27vw;
    padding: 2.4vw 3.47vw 2.13vw;
  }
}

select.form-item {
  background: #fff url("img/bg_select.png") no-repeat right center;
  background-size: 30px 46px;
  padding-right: 30px !important;
}
@media screen and (max-width: 767px) {
  select.form-item {
    background-size: 8vw 12.27vw;
    padding-right: 8vw !important;
  }
}

.form-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 1rem;
}
.form-inline:last-child {
  margin-right: 0;
}
.form-inline label {
  display: inline-block;
  padding-left: 0.25rem;
}

/* フォームボタン
--------------------------------------------------------*/
.form-btn {
  text-align: center;
}
.form-btn a,
.form-btn button,
.form-btn input {
  cursor: pointer;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif !important;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .form-btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin: 60px auto;
  }
  .form-btn li {
    padding: 0 10px;
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .form-btn {
    margin: 16vw auto;
  }
  .form-btn li + li {
    margin-top: 2.67vw;
  }
}

/* フォームボタン
--------------------------------------------------------*/
.c-selectbox {
  position: relative;
  display: inline-block;
}
.c-selectbox:before {
  content: "";
  width: 9px;
  height: 9px;
  position: absolute;
  right: 11px;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  pointer-events: none;
  background: url("/common/svg/icon_arrow_down.svg") no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .c-selectbox:before {
    width: 2.4vw;
    height: 2.4vw;
    right: 2.93vw;
  }
}
.c-selectbox select {
  border-radius: 0;
  background-color: #fff;
  border: 1px solid #dedddb;
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1.15;
}
@media screen and (min-width: 768px), print {
  .c-selectbox select {
    padding: 12px 30px 12px 12px;
    min-width: 150px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-selectbox select {
    padding: 3.47vw 8vw 3.47vw 2.4vw;
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-selectbox select::-ms-expand {
  display: none;
}

/* アイコン
========================================================================== */
/* c-icon-arrow
--------------------------------------------------------*/
.c-icon-arrow {
  position: relative;
  display: inline-block;
  padding-right: 15px;
}
@media screen and (min-width: 768px), print {
  .c-icon-arrow:not(.-bottom)::before {
    transition: 0.2s;
  }
  .c-icon-arrow:not(.-bottom):hover::before, a:hover .c-icon-arrow:not(.-bottom)::before {
    background: url("/common/svg/icon_arrow_right_hover.svg") no-repeat;
    background-size: 100%;
    transform: translateX(3px);
  }
}
@media screen and (max-width: 767px) {
  .c-icon-arrow {
    padding-right: 4vw;
  }
}
.c-icon-arrow::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  box-sizing: border-box;
  margin: auto;
  width: 9px;
  height: 9px;
  background: url("/common/svg/icon_arrow_right.svg") no-repeat;
  background-size: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-icon-arrow::before {
    width: 2.4vw;
    height: 2.4vw;
  }
}
.c-icon-arrow.-bottom::before {
  background: url("/common/svg/icon_arrow_down.svg") no-repeat;
  background-size: 100%;
  transition: 0.2s;
}
@media screen and (min-width: 768px), print {
  .c-icon-arrow.-bottom:hover::before, a:hover .c-icon-arrow.-bottom::before {
    background: url("/common/svg/icon_arrow_down_hover.svg") no-repeat;
    background-size: 100%;
  }
}

/* c-icon-blank
--------------------------------------------------------*/
.c-icon-blank {
  position: relative;
  display: inline-block;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .c-icon-blank {
    padding-right: 4.8vw;
  }
}
.c-icon-blank::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  box-sizing: border-box;
  margin: auto;
  width: 14px;
  height: 10px;
  background: url("/common/svg/icon_window.svg") no-repeat;
  background-size: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-icon-blank::before {
    width: 3.73vw;
    height: 2.67vw;
  }
}

/* c-icon-pdf
--------------------------------------------------------*/
.c-icon-pdf {
  position: relative;
  display: inline-block;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .c-icon-pdf {
    padding-right: 4.8vw;
  }
}
.c-icon-pdf::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  box-sizing: border-box;
  margin: auto;
  width: 11px;
  height: 13px;
  background: url("img/icon_pdf.png") no-repeat;
  background-size: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-icon-pdf::before {
    width: 2.93vw;
    height: 3.47vw;
  }
}

/* リンク
   ========================================================================== */
.c-link {
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .c-link {
    margin-top: 3.47vw;
  }
}
.c-link a {
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  font-size: 1.4rem;
}
html:not(.wf-active):not(.loading-delay) .c-link a {
  color: transparent;
}
.c-link.-textRight {
  text-align: right;
}

/* リスト
========================================================================== */
/* c-list
--------------------------------------------------------*/
.c-list li {
  padding-left: 16px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-list li {
    padding-left: 4.27vw;
    line-height: 1.6;
  }
}
.c-list li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  background: #dedddb;
  border-radius: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-list li::before {
    width: 2.13vw;
    height: 2.13vw;
  }
}
.c-list li + li {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-list li + li {
    margin-top: 1.33vw;
  }
}
.c-list.-dotNone li {
  padding-left: 0;
  text-indent: -1em;
  margin-left: 1em;
}
.c-list.-dotNone li::before {
  display: none;
}
@media screen and (min-width: 768px), print {
  *[class^=c-ttl] + .c-list {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  *[class^=c-ttl] + .c-list {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-qa-list .c-list {
    margin-top: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-qa-list .c-list {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-table01 .c-list, .c-table02 .c-list {
    padding: 0 5px;
    margin-top: 5px;
  }
  .c-table01 .c-list li, .c-table02 .c-list li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .c-table01 .c-list li:not(:first-child), .c-table02 .c-list li:not(:first-child) {
    margin-top: 3px;
  }
}
@media screen and (max-width: 767px) {
  .c-table01 .c-list, .c-table02 .c-list {
    margin-top: 1.33vw;
    padding: 0 1.33vw;
  }
  .c-table01 .c-list li, .c-table02 .c-list li {
    font-size: 11px;
    font-size: 1.1rem;
  }
  .c-table01 .c-list li:not(:first-child), .c-table02 .c-list li:not(:first-child) {
    margin-top: 1.33vw;
  }
}

.c-list + * {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-list + * {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-list {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl04 + .c-list {
    margin-top: 3.47vw;
  }
}

/* c-o-list
--------------------------------------------------------*/
.c-o-list li {
  list-style-position: inside;
  text-indent: -1.2em;
  margin-left: 1.2em;
}
@media screen and (max-width: 767px) {
  .c-o-list li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.c-o-list li + li {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-o-list li + li {
    margin-top: 4.8vw;
  }
}
@media screen and (min-width: 768px), print {
  *[class^=c-ttl] + .c-o-list {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  *[class^=c-ttl] + .c-o-list {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-o-list {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl04 + .c-o-list {
    margin-top: 3.47vw;
  }
}

.c-o-list + * {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-o-list + * {
    margin-top: 8vw;
  }
}

/* c-pickup-list
--------------------------------------------------------*/
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .c-pickup-list {
    padding: 0 70px;
  }
}
.c-pickup-list .slick-track {
  display: flex;
}
@media screen and (min-width: 768px), print {
  .c-pickup-list {
    margin-right: -15px;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list {
    margin-right: -2.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-pickup-list + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list + * {
    margin-top: 5.33vw;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl11 + .c-pickup-list {
    margin-top: 5.6vw;
  }
}

.c-pickup-list-item {
  background-color: #fffaea;
  float: none !important;
  height: auto !important;
}
@media screen and (min-width: 768px), print {
  .c-pickup-list-item {
    border-radius: 16px;
    margin-right: 15px;
    padding: 21px 21px 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list-item {
    border-radius: 4.27vw;
    padding: 20px 10px;
    margin-right: 2.67vw;
  }
}
.-childcare .c-pickup-list-item {
  background-color: #fffaea;
}
.-nursing .c-pickup-list-item {
  background-color: #f0f3ff;
}

.c-pickup-list-img {
  display: block;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .c-pickup-list-img img {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list-img img {
    width: 100%;
  }
}
@media screen and (min-width: 768px), print {
  .c-pickup-list-img + * {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list-img + * {
    margin-top: 5.33vw;
  }
}

.c-pickup-list-ttl {
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-pickup-list-ttl {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-pickup-list-ttl + * {
    margin-top: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list-ttl + * {
    margin-top: 4.8vw;
  }
}

.c-pickup-list-txt {
  line-height: 1.6;
}
@media screen and (min-width: 768px), print {
  .c-pickup-list-txt {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-pickup-list-txt {
    font-size: 3.73vw;
    padding: 0 2.67vw;
  }
}

/* c-num-list
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-num-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -10px;
  }
}
@media screen and (min-width: 768px), print {
  .c-num-list + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-num-list + * {
    margin-top: 5.33vw;
  }
}

.c-num-list-item {
  display: flex;
  align-items: center;
  background-color: #fcead5;
}
@media screen and (min-width: 768px), print {
  .c-num-list-item {
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 21px;
    width: calc((100% - 30px) / 2);
  }
  .c-num-list-item:nth-child(odd) {
    margin-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .c-num-list-item {
    border-radius: 2.13vw;
    padding: 4.8vw 7.47vw 4.8vw 5.33vw;
  }
  .c-num-list-item:not(:last-child) {
    margin-bottom: 2.67vw;
  }
}
.-childcare .c-num-list-item {
  background-color: #fcead5;
}
.-nursing .c-num-list-item {
  background-color: #d8def5;
}

.c-num-list-circle {
  background: url("/common/img/num_list_circle.png") no-repeat left 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-num-list-circle {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-num-list-circle {
    background-size: 46px auto;
    margin-right: 20px;
    min-width: 46px;
    width: 46px;
    height: 50px;
    font-size: 32px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-num-list-circle {
    background-size: 10.67vw auto;
    font-size: 6.93vw;
    margin-right: 3.47vw;
    min-width: 10.67vw;
    width: 10.67vw;
    height: 11.2vw;
  }
}
.c-num-list-circle span {
  position: relative;
  left: 0.025em;
}

.c-num-list-ttl {
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-num-list-ttl {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-num-list-ttl {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-num-list-ttl {
    font-size: 4.27vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-num-list-ttl + * {
    margin-top: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-num-list-ttl + * {
    margin-top: 1.33vw;
  }
}

.c-num-list-txt {
  line-height: 1.6;
}
@media screen and (min-width: 768px), print {
  .c-num-list-txt {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-num-list-txt {
    font-size: 3.2vw;
  }
}

/* c-img-list
--------------------------------------------------------*/
.c-img-list {
  display: flex;
}
.c-img-list li {
  flex: 1;
}
.c-img-list img {
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .c-img-list + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-img-list + * {
    margin-top: 5.33vw;
  }
}

/* c-img-link
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-img-link {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px), print {
  .c-img-link li {
    width: 50%;
  }
  .c-img-link li:nth-child(odd) .c-img-link-txt {
    border-right: 1px solid #dedddb;
  }
  .c-img-link li:last-child .c-img-link-txt {
    border-bottom: none;
  }
  .c-img-link li:nth-last-child(2):nth-child(odd) .c-img-link-txt {
    border-bottom: none;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-img-link {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-img-link {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-box-center + .c-img-link {
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .c-box-center + .c-img-link {
    margin-top: 14.67vw;
  }
}

.c-img-link-item {
  position: relative;
  display: block;
}

.c-img-link-img {
  display: block;
}
@media screen and (min-width: 768px), print {
  .c-img-link-img {
    overflow: hidden;
  }
}
.c-img-link-img img {
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .c-img-link-img img {
    transition: 0.3s transform ease-out;
    transform: scale(1);
  }
}
@media screen and (min-width: 768px), print {
  a:hover .c-img-link-img img {
    transform: scale(1.075);
  }
}
@media screen and (min-width: 768px), print {
  a:hover .c-img-link-img.-noLink img {
    transform: scale(1);
  }
}

.c-img-link-txt {
  background-color: #fff;
  line-height: 1.4;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-img-link-txt {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-img-link-txt {
    padding: 34px 30px;
    font-size: 15px;
    font-size: 1.5rem;
    border-bottom: 1px solid #dedddb;
  }
}
@media screen and (max-width: 767px) {
  .c-img-link-txt {
    font-size: 3.73vw;
    padding: 5.07vw 2.67vw 5.6vw;
  }
}

.c-img-link-txt-item {
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .c-img-link-txt-item {
    padding-bottom: 10px;
    min-width: 176px;
  }
}
@media screen and (max-width: 767px) {
  .c-img-link-txt-item {
    padding-bottom: 2.13vw;
  }
}
.c-img-link-txt-item::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  border-bottom: 1px dotted #000;
  transition: 0.2s border-color;
}
@media screen and (min-width: 768px), print {
  a:hover .c-img-link-txt-item::before {
    border-color: #efba00;
  }
}
.c-img-link-txt-item span {
  display: block;
}
@media screen and (min-width: 768px), print {
  a:hover .c-img-link-txt-item.-noLink {
    border-color: #000;
  }
}

.c-img-link-absolute {
  position: absolute;
  z-index: 1;
  color: #000;
}
@media screen and (min-width: 768px), print {
  .c-img-link-absolute {
    bottom: 24px;
    right: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c-img-link-absolute {
    bottom: 5.07vw;
    right: 2.67vw;
    max-width: 28.27vw;
  }
}

/* c-block-list
--------------------------------------------------------*/
.c-block-list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px), print {
  .c-block-list {
    margin-bottom: -21px;
  }
}
@media screen and (max-width: 767px) {
  .c-block-list {
    margin-bottom: -3.47vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-block-list + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-block-list + * {
    margin-top: 5.6vw;
  }
}
.c-block-list li {
  line-height: 1.4;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .c-block-list li {
    margin-bottom: 21px;
    padding: 0 34px 0 24px;
    width: 33.333%;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-block-list li {
    font-size: 2.67vw;
    margin-bottom: 3.47vw;
    padding: 0 5.6vw 0 4vw;
    width: 50%;
  }
}
.c-block-list li::before {
  content: "";
  display: block;
  border: 1px solid #000;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  box-sizing: border-box;
}
@media screen and (min-width: 768px), print {
  .c-block-list li::before {
    width: 13px;
    height: 13px;
    top: 3.5px;
  }
}
@media screen and (max-width: 767px) {
  .c-block-list li::before {
    width: 2.67vw;
    height: 2.67vw;
    top: 2.5px;
  }
}

/* c-circle-list
--------------------------------------------------------*/
.c-circle-list li {
  text-indent: -1.2em;
  margin-left: 1.2em;
  font-size: 12px;
  font-size: 1.2rem;
}
.c-circle-list li::before {
  content: "○";
  margin-right: 0.2em;
  color: #000;
}

/* c-news-list
--------------------------------------------------------*/
.c-news-list li {
  border-bottom: 1px solid #dedddb;
}
@media screen and (min-width: 768px), print {
  .c-news-list li {
    padding: 17px 0;
  }
}
@media screen and (max-width: 767px) {
  .c-news-list li:first-child .c-news-list-item {
    padding-top: 0;
  }
}
.c-news-list.-important {
  background: #ffdddd;
  border-radius: 8px;
  padding: 13px 21px;
}
@media screen and (max-width: 767px) {
  .c-news-list.-important {
    border-radius: 5px;
    padding: 3.47vw;
  }
}
.c-news-list.-important li {
  border-bottom: none;
  padding: 8px 0;
}
@media screen and (min-width: 768px), print {
  .c-news-list.-important li:first-child:last-child {
    padding: 3px 0;
  }
}
@media screen and (max-width: 767px) {
  .c-news-list.-important li {
    padding-bottom: 4vw;
  }
  .c-news-list.-important li:not(:first-child) {
    padding-top: 0;
  }
  .c-news-list.-important li:first-child {
    margin-top: 0;
    padding-top: 0;
  }
  .c-news-list.-important li:last-child {
    padding-bottom: 0;
  }
}
.c-news-list.-important + * {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-news-list.-important + * {
    margin-top: 5.6vw;
  }
}
.c-ttl01 + .c-news-list.-important {
  margin-top: 62px;
}

@media screen and (min-width: 768px), print {
  .top-page .c-news-list.-important {
    border-radius: 100px;
  }
}
.c-news-list.-borderTop {
  border-top: 1px solid #dedddb;
}
@media screen and (max-width: 767px) {
  .c-news-list.-borderTop {
    padding-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-news-list {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-news-list {
    margin-top: 5.6vw;
  }
}

.c-news-list-item {
  position: relative;
  line-height: 1.4;
}
@media screen and (min-width: 768px), print {
  .c-news-list-item {
    padding-left: 203px;
  }
  .-important .c-news-list-item {
    padding-left: 170px;
  }
}
@media screen and (max-width: 767px) {
  .c-news-list-item {
    padding: 5.6vw 0 4.27vw;
    font-size: 0;
  }
  .-important .c-news-list-item {
    padding: 0;
  }
}

.c-news-list-date {
  font-family: agenda, sans-serif;
  font-weight: 400;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-news-list-date {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-news-list-date {
    letter-spacing: 0.075em;
    position: absolute;
    top: 0.25em;
    left: 0;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-news-list-date {
    display: inline-block;
    font-weight: bold;
    font-size: 3.73vw;
  }
}
.-important .c-news-list-date {
  color: #cc0000;
}

.c-news-list-cat {
  border: 1px solid #000;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .c-news-list-cat {
    padding: 3px;
    position: absolute;
    top: 0.3em;
    left: 115px;
    width: 70px;
    font-size: 10px;
    font-size: 1rem;
  }
  .-important .c-news-list-cat {
    left: 80px;
  }
}
@media screen and (max-width: 767px) {
  .c-news-list-cat {
    display: inline-block;
    font-size: 2.67vw;
    padding: 0.53vw;
    width: 24.53vw;
    position: relative;
    top: -0.27vw;
    margin-left: 2.67vw;
  }
}
.-important .c-news-list-cat {
  background: #fff;
  color: #cc0000;
  border: 1px solid #cc0000;
}

.c-news-list-txt {
  line-height: 1.6;
  font-size: 14px;
  font-size: 1.4rem;
}
.c-news-list-txt a[target=_blank]::after {
  background: url("/common/svg/icon_window.svg") no-repeat left top;
  background-size: 100%;
  content: "";
  display: inline-block;
  margin: 0 5px;
  width: 14px;
  height: 12px;
  vertical-align: text-bottom;
}
@media screen and (max-width: 767px) {
  .c-news-list-txt a[target=_blank]::after {
    margin: 0 1.33vw;
    width: 3.73vw;
    height: 3.2vw;
  }
}
.c-news-list-txt a[href*=".pdf"]::after {
  background: url("img/icon_pdf.png") no-repeat left top;
  background-size: 100%;
  width: 11px;
  height: 13px;
  vertical-align: text-bottom;
  content: "";
  display: inline-block;
  margin: 0 5px;
}
@media screen and (max-width: 767px) {
  .c-news-list-txt a[href*=".pdf"]::after {
    margin: 0 1.33vw;
    width: 2.93vw;
    height: 3.47vw;
  }
}
@media screen and (max-width: 767px) {
  .c-news-list-txt {
    margin-top: 2.67vw;
    font-size: 4vw;
  }
}
.-important .c-news-list-txt {
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .-important .c-news-list-txt {
    margin-top: 1.33vw;
  }
}
.-important .c-news-list-txt a {
  text-decoration: underline;
  color: #000;
}

/* c-link-list
--------------------------------------------------------*/
.c-link-list li {
  position: relative;
  padding-left: 17px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-link-list li {
    padding-left: 4.53vw;
    margin-top: 2.13vw;
  }
}
.c-link-list li a {
  text-decoration: underline;
  display: inline-block;
  position: relative;
}
.c-link-list li a::before {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 13px;
  background: url("/common/svg/icon_arrow_right.svg") no-repeat left top;
  background-size: 100%;
  top: 0.45em;
  left: -17px;
}
@media screen and (max-width: 767px) {
  .c-link-list li a::before {
    width: 2.4vw;
    height: 2.4vw;
    background-size: 100%;
    top: 0.6em;
    left: -4.53vw;
  }
}
.c-link-list li a[target=_blank]::after {
  background: url("/common/svg/icon_window.svg") no-repeat left top;
  background-size: 100%;
  content: "";
  display: inline-block;
  margin: 0 5px;
  width: 14px;
  height: 12px;
  vertical-align: text-bottom;
}
@media screen and (max-width: 767px) {
  .c-link-list li a[target=_blank]::after {
    margin: 0 1.33vw;
    width: 3.73vw;
    height: 3.2vw;
  }
}
.c-link-list li a[href*=".pdf"]::before {
  background: url("img/icon_pdf.png") no-repeat left top;
  background-size: 100%;
  width: 11px;
  height: 13px;
  top: 0.4em;
}
@media screen and (max-width: 767px) {
  .c-link-list li a[href*=".pdf"]::before {
    background-size: 100%;
    width: 2.93vw;
    height: 3.47vw;
    top: 0.6em;
  }
}
.c-link-list li a[href*=".pdf"]::after {
  display: none;
}
.c-link-list li a:first-child {
  margin-top: 0;
}
.c-link-list li.-lv2 {
  padding-left: 2em;
}
.c-link-list + * {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-link-list + * {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-btn + .c-link-list {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn + .c-link-list {
    margin-top: 3.47vw;
  }
}

/* c-qa-list
--------------------------------------------------------*/
.c-qa-list {
  margin-right: auto;
  margin-left: auto;
  width: 88%;
}
@media screen and (max-width: 767px) {
  .c-qa-list {
    width: 100%;
  }
}
.c-qa-list dd,
.c-qa-list dt {
  display: flex;
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  .c-qa-list dd,
.c-qa-list dt {
    line-height: 1.6;
    margin-bottom: 8vw;
    align-items: flex-start;
  }
}
.c-qa-list dd:last-child,
.c-qa-list dt:last-child {
  margin-bottom: 0;
}
.c-qa-list dd span,
.c-qa-list dt span {
  display: block;
  width: calc(100% - 50px - 21px);
}
.c-qa-list dd::before,
.c-qa-list dt::before {
  content: "";
  width: 50px;
  height: 50px;
  display: block;
  margin-right: 21px;
}
.c-qa-list dt {
  padding-top: 34px;
  border-top: 1px solid #dedddb;
}
@media screen and (min-width: 768px), print {
  .c-qa-list dt {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .c-qa-list dt {
    padding-top: 8vw;
    background-size: 13.33vw;
    background-position: left 8vw;
  }
}
.c-qa-list dt::before {
  background: url("/common/svg/icon_q.svg") no-repeat;
  background-size: 50px;
}
@media screen and (max-width: 767px) {
  .c-qa-list dd {
    background-size: 13.33vw;
  }
}
.c-qa-list dd::before {
  background: url("/common/svg/icon_a.svg") no-repeat;
  background-size: 50px;
}
.c-qa-list + * {
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  .c-qa-list + * {
    margin-top: 9.07vw;
  }
}

/* c-notes
--------------------------------------------------------*/
.c-notes {
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .c-notes {
    margin-top: 2.13vw;
  }
}
.c-notes li {
  font-size: 14px;
  font-size: 1.4rem;
  text-indent: -1em;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .c-notes li {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.c-notes li::before {
  content: "※";
}
.c-notes li:not(:first-child) {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .c-notes li:not(:first-child) {
    margin-top: 1.33vw;
  }
}

/* c-notes
--------------------------------------------------------*/
.c-ph-list {
  margin-top: 44px;
}
.c-ph-list::after {
  display: block;
  clear: both;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-ph-list {
    margin-top: 9.07vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-box-center + .c-ph-list {
    margin-top: 62px;
  }
}
@media screen and (max-width: 767px) {
  .c-box-center + .c-ph-list {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl03 + .c-ph-list {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl03 + .c-ph-list {
    margin-top: 9.07vw;
  }
}

.c-ph-list + * {
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  .c-ph-list + * {
    margin-top: 9.07vw;
  }
}

.c-ph-list-item {
  position: relative;
  float: left;
  overflow: hidden;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .c-ph-list-item {
    width: 50%;
  }
}
.c-ph-list-item:before {
  display: block;
  padding-top: 99.99%;
  content: "";
}
.c-ph-list-item img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.c-ph-list-item .num {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  width: 25px;
  height: 25px;
  border: 1px solid #000;
  border-radius: 100%;
  background: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 1.8;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-ph-list-item .num {
    line-height: 1.6;
    border-width: 2px;
    width: 6.67vw;
    height: 6.67vw;
  }
}
.c-ph-list-item:nth-child(1) .num {
  top: 20px;
  left: 20px;
}
.c-ph-list-item.-wCol2 {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .c-ph-list-item.-wCol2 {
    width: 100%;
  }
}
.c-ph-list-item.-hHalf:before {
  padding-top: 50%;
}

/* ページャー
========================================================================== */
.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px auto 0;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .pagination {
    margin: 9.07vw auto 0;
  }
  .pagination li {
    margin: 1.33vw;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .pagination a {
    padding: 2.67vw 1.33vw;
  }
}
.pagination li {
  margin: 0 2px;
  min-width: 3em;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .pagination li {
    margin: 0 0.53vw;
  }
}
.pagination a {
  color: #000;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px;
  height: 100%;
  background-color: #fff;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .pagination a {
    padding: 3.47vw;
  }
}
.pagination a:hover {
  text-decoration: underline;
  background-color: #f0f0f0;
}
.pagination .pagination-item-active a {
  background-color: #f0f0f0;
  pointer-events: none;
}
.pagination .pagination-item-first span,
.pagination .pagination-item-last span,
.pagination .pagination-item-next span,
.pagination .pagination-item-prev span {
  display: none;
}
.pagination .pagination-item-first a,
.pagination .pagination-item-last a,
.pagination .pagination-item-next a,
.pagination .pagination-item-prev a {
  position: relative;
}
.pagination .pagination-item-first a::after, .pagination .pagination-item-first a::before,
.pagination .pagination-item-last a::after,
.pagination .pagination-item-last a::before,
.pagination .pagination-item-next a::after,
.pagination .pagination-item-next a::before,
.pagination .pagination-item-prev a::after,
.pagination .pagination-item-prev a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  box-sizing: border-box;
  margin: auto;
  width: 9px;
  height: 9px;
  background: url("/common/svg/icon_arrow_right.svg") no-repeat;
  background-size: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .pagination .pagination-item-first a::after, .pagination .pagination-item-first a::before,
.pagination .pagination-item-last a::after,
.pagination .pagination-item-last a::before,
.pagination .pagination-item-next a::after,
.pagination .pagination-item-next a::before,
.pagination .pagination-item-prev a::after,
.pagination .pagination-item-prev a::before {
    width: 2.4vw;
    height: 2.4vw;
  }
}
.pagination .pagination-item-first a::after,
.pagination .pagination-item-last a::after,
.pagination .pagination-item-next a::after,
.pagination .pagination-item-prev a::after {
  transform: translateX(-3px);
}
@media screen and (max-width: 767px) {
  .pagination .pagination-item-first a::after,
.pagination .pagination-item-last a::after,
.pagination .pagination-item-next a::after,
.pagination .pagination-item-prev a::after {
    transform: translateX(-0.2em);
  }
}
.pagination .pagination-item-first a::before,
.pagination .pagination-item-last a::before,
.pagination .pagination-item-next a::before,
.pagination .pagination-item-prev a::before {
  transform: translateX(3px);
}
@media screen and (max-width: 767px) {
  .pagination .pagination-item-first a::before,
.pagination .pagination-item-last a::before,
.pagination .pagination-item-next a::before,
.pagination .pagination-item-prev a::before {
    transform: translateX(0.2em);
  }
}
.pagination .pagination-item-first,
.pagination .pagination-item-prev {
  margin-right: 13px;
}
@media screen and (max-width: 767px) {
  .pagination .pagination-item-first,
.pagination .pagination-item-prev {
    margin-right: 1.33vw;
  }
}
.pagination .pagination-item-first a,
.pagination .pagination-item-prev a {
  transform: rotate(180deg);
}
.pagination .pagination-item-last,
.pagination .pagination-item-next {
  margin-left: 13px;
}
@media screen and (max-width: 767px) {
  .pagination .pagination-item-last,
.pagination .pagination-item-next {
    margin-left: 1.33vw;
  }
}

/* テーブル
========================================================================== */
/*sp-table-scroll
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .sp-table-scroll {
    overflow-x: scroll;
    padding-bottom: 2px;
  }
  .sp-table-scroll > table {
    width: 250%;
  }
  .sp-table-scroll::-webkit-scrollbar {
    height: 8px;
  }
  .sp-table-scroll::-webkit-scrollbar-track {
    background: #dddddd;
  }
  .sp-table-scroll::-webkit-scrollbar-thumb {
    background: #999;
  }
}
@media screen and (min-width: 768px), print {
  .sp-table-scroll + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .sp-table-scroll + * {
    margin-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-sp-scroll-cap + .sp-table-scroll {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-sp-scroll-cap + .sp-table-scroll {
    margin-top: 3.47vw;
  }
}

/* c-table01
--------------------------------------------------------*/
.c-table01 {
  background-color: #fff;
  border-left: 1px solid #000;
  width: 100%;
  table-layout: fixed;
}
@media screen and (min-width: 768px), print {
  .c-table01 + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-table01 + * {
    margin-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-table01 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-table01 {
    font-size: 3.2vw;
  }
}
.c-table01 tr:not(:last-child) td,
.c-table01 tr:not(:last-child) th {
  border-bottom: 1px solid #000;
}
.c-table01 td,
.c-table01 th {
  border-right: 1px solid #000;
}
@media screen and (min-width: 768px), print {
  .c-table01 td,
.c-table01 th {
    padding: 5px;
  }
}
@media screen and (max-width: 767px) {
  .c-table01 td,
.c-table01 th {
    padding: 1.33vw;
  }
}
.c-table01 td.-noWrap,
.c-table01 th.-noWrap {
  white-space: nowrap;
}
.c-table01 th {
  font-weight: normal;
  vertical-align: middle;
  background-color: #f5f5f5;
}
.c-table01 td.-textCenter {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-table01 td.-spTextCenter {
    text-align: center;
  }
}
@media screen and (min-width: 768px), print {
  .c-table01 td.-pcTextCenter {
    text-align: center;
  }
}
.c-table01 td.-verticalCenter {
  vertical-align: middle;
}
.c-table01.-border {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.c-table01.-auto {
  table-layout: auto;
}
.c-table01.-headTop tr th {
  font-weight: normal;
  background-color: #f5f5f5;
}
@media screen and (min-width: 768px), print {
  .c-table01.-pdgL td,
.c-table01.-pdgL th {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-table01.-pdgL td,
.c-table01.-pdgL th {
    padding: 2.67vw;
  }
}

/* c-table02
--------------------------------------------------------*/
.c-table02 {
  background-color: #fff;
  width: 100%;
  table-layout: fixed;
}
@media screen and (min-width: 768px), print {
  .c-table02 {
    border-left: 1px solid #000;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-table02 {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-table02 + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-table02 + * {
    margin-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-table02 tr:not(:last-child) td,
.c-table02 tr:not(:last-child) th {
    border-bottom: 1px solid #000;
  }
}
@media screen and (max-width: 767px) {
  .c-table02 tr.-spHide {
    display: none !important;
  }
}
@media screen and (min-width: 768px), print {
  .c-table02 td,
.c-table02 th {
    border-right: 1px solid #000;
    padding: 13px 17px;
  }
}
@media screen and (max-width: 767px) {
  .c-table02 td,
.c-table02 th {
    padding: 3.47vw 8vw;
  }
}
.c-table02 td.-noWrap,
.c-table02 th.-noWrap {
  white-space: nowrap;
}
.c-table02 td.-verticalCenter {
  vertical-align: middle;
}
.c-table02 th {
  font-weight: normal;
  font-weight: bold;
  vertical-align: middle;
}
@media screen and (min-width: 768px), print {
  .c-table02 th {
    background-color: #fcead5;
  }
}
@media screen and (max-width: 767px) {
  .c-table02 th {
    padding: 0 0 3.47vw;
  }
  .c-table02 th .-spItem {
    font-weight: normal;
    text-align: left;
    font-size: 3.73vw;
  }
}
@media screen and (max-width: 767px) {
  .c-table02.-spBlock {
    display: block;
  }
  .c-table02.-spBlock tbody,
.c-table02.-spBlock td,
.c-table02.-spBlock th,
.c-table02.-spBlock tr {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .c-table02.-spSort tr:first-child > *:last-child {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-table02.-nursing th {
    background-color: #d8def5;
  }
}
@media screen and (min-width: 768px), print {
  .c-table02.-headBgGray th {
    background: #f5f5f5;
  }
}
.c-table02.-auto {
  table-layout: auto;
}

.c-table02-th {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-table02-th {
    background-color: #fcead5;
    border-bottom: 2px solid #000;
    border-top: 2px solid #000;
    display: block;
    padding: 1.33vw 0;
    margin-bottom: 2.67vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .-nursing .c-table02-th {
    background-color: #d8def5;
  }
}
@media screen and (max-width: 767px) {
  .-headBgGray .c-table02-th {
    background: #f5f5f5;
  }
}

.c-table02-bold-txt {
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 31px;
  font-size: 3.1rem;
  display: block;
  letter-spacing: 0.13em;
  line-height: 1.6;
}
html:not(.wf-active):not(.loading-delay) .c-table02-bold-txt {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-table02-bold-txt {
    line-height: 1.4;
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.c-table02-bold-txt span {
  font-size: 19px;
  font-size: 1.9rem;
}
@media screen and (max-width: 767px) {
  .c-table02-bold-txt span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

/* タイトル
========================================================================== */
/*共通
--------------------------------------------------------*/
*[class^=c-ttl] {
  letter-spacing: 0.18em;
  font-weight: bold;
  font-feature-settings: "palt";
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) *[class^=c-ttl] {
  color: transparent;
}
@media screen and (max-width: 767px) {
  *[class^=c-ttl] {
    line-height: 1.6;
  }
}
*[class^=c-ttl] + * {
  margin-top: 21px;
}
@media screen and (max-width: 767px) {
  *[class^=c-ttl] + * {
    margin-top: 3.47vw;
  }
}

/* c-ttl01
--------------------------------------------------------*/
.c-ttl01 {
  position: relative;
  z-index: 1;
  padding: 27px;
  text-align: center;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl01 {
    margin-top: 2.13vw;
    padding: 5.07vw;
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-ttl01::after, .c-ttl01::before {
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  content: "";
}
.c-ttl01::before {
  top: 8px;
  left: 6px;
  z-index: -1;
  background-color: #ffeea8;
}
@media screen and (max-width: 767px) {
  .c-ttl01::before {
    top: 1.6vw;
    left: 0;
  }
}
.c-ttl01::after {
  top: 0;
  left: 0;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
}
@media screen and (max-width: 767px) {
  .c-ttl01::after {
    border-width: 2px;
  }
}
.c-ttl01 + * {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .c-ttl01 + * {
    margin-top: 9.07vw;
  }
}

/* c-ttl02
--------------------------------------------------------*/
.c-ttl02 {
  position: relative;
  margin-top: 55px;
  padding-bottom: 0.4em;
  text-align: center;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl02 {
    margin-top: 7.2vw;
    padding-bottom: 0.5em;
    letter-spacing: 0.1em;
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.c-ttl02::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: border-box;
  margin: auto;
  width: 114px;
  height: 5px;
  background-color: #000;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-ttl02::before {
    width: 30.4vw;
    height: 4px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02.-spFontSizeS {
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-ttl02.-english {
  letter-spacing: 0.05em;
  font-family: agenda, sans-serif;
  font-weight: 500;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-ttl02.-english {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-cat-main + .c-ttl02 {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-cat-main + .c-ttl02 {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-border-box + .c-ttl02 {
    margin-top: 89px;
  }
}
@media screen and (max-width: 767px) {
  .c-border-box + .c-ttl02 {
    margin-top: 9.07vw;
  }
}

/* c-ttl03
--------------------------------------------------------*/
.c-ttl03 {
  margin-top: 25px;
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-ttl03 {
    margin-top: 4.53vw;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-box-inner > .c-ttl03:first-child {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-box-inner > .c-ttl03:first-child {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-txt + .c-ttl03 {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-txt + .c-ttl03 {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .-pcPdg + .c-ttl03 {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .-pcPdg + .c-ttl03 {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-colbox + .c-ttl03 {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-colbox + .c-ttl03 {
    margin-top: 9.07vw;
  }
}

/* c-ttl04
--------------------------------------------------------*/
.c-ttl04 {
  margin-top: 45px;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #000;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl04 {
    margin-top: 9.07vw;
    padding-bottom: 0.5em;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl03 + .c-ttl04 {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl03 + .c-ttl04 {
    margin-top: 3.47vw;
  }
}

/* c-ttl05
--------------------------------------------------------*/
.c-ttl05 {
  position: relative;
  margin-top: 28px;
  padding-left: 28px;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl05 {
    margin-top: 4vw;
    padding-left: 5.6vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-ttl05::before {
  position: absolute;
  top: 7px;
  left: 0;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  border-radius: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-ttl05::before {
    top: 1.33vw;
    width: 4vw;
    height: 4vw;
    border-width: 0.27vw;
  }
}

/* c-ttl06
--------------------------------------------------------*/
.c-ttl06 {
  position: relative;
  margin-top: 50px;
  padding-top: 30px;
  padding-left: 28px;
  border-top: 1px solid #dedddb;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl06 {
    margin-top: 8vw;
    padding-top: 6.93vw;
    padding-left: 5.6vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-ttl06::before {
  position: absolute;
  top: 37px;
  left: 0;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  border-radius: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-ttl06::before {
    top: 9.07vw;
    width: 4vw;
    height: 4vw;
    border-width: 2px;
  }
}

/* c-ttl07
--------------------------------------------------------*/
.c-ttl07 {
  margin-top: 34px;
  padding: 5px 21px;
  border-radius: 100px;
  background-color: #f0f0f0;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl07 {
    margin-top: 5.6vw;
    padding: 2.4vw 5.6vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-colbox .c-ttl07 {
  letter-spacing: 0;
}

/* c-ttl08
--------------------------------------------------------*/
.c-ttl08 {
  margin-top: 25px;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl08 {
    margin-top: 6.93vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px), print {
  .c-notes + .c-ttl08 {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-notes + .c-ttl08 {
    margin-top: 14.67vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-ttl08 {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl04 + .c-ttl08 {
    margin-top: 3.47vw;
  }
}

/* c-ttl09
--------------------------------------------------------*/
.c-ttl09 {
  position: relative;
  margin-top: 18px;
  padding-left: 28px;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-ttl09 {
    margin-top: 5.6vw;
    padding-left: 6.93vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-ttl09::before {
  position: absolute;
  top: 7px;
  left: 0;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 4px solid #dedddb;
  border-radius: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-ttl09::before {
    top: 1.87vw;
    width: 4.8vw;
    height: 4.8vw;
  }
}
.c-ttl09 + .c-ttl09 {
  margin-top: 1px;
}
@media screen and (max-width: 767px) {
  .c-ttl09 + .c-ttl09 {
    margin-top: 1.6vw;
  }
}

/* c-ttl10
--------------------------------------------------------*/
.c-ttl10 {
  margin-top: 38px;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #000;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  font-size: 1.4rem;
}
html:not(.wf-active):not(.loading-delay) .c-ttl10 {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-ttl10 {
    margin-top: 6.67vw;
    padding-bottom: 0.5em;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl07 + .c-ttl10 {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl07 + .c-ttl10 {
    margin-top: 3.47vw;
  }
}

/* c-ttl11
--------------------------------------------------------*/
.c-ttl11 {
  position: relative;
  margin-top: 50px;
  text-align: center;
  overflow: hidden;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-ttl11 {
    margin-top: 12.8vw;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.c-ttl11 .c-ttl11-inner {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0 21px;
}
.c-ttl11 .c-ttl11-inner::after, .c-ttl11 .c-ttl11-inner::before {
  position: absolute;
  top: 50%;
  display: block;
  width: 999%;
  height: 1px;
  background: #000;
  content: "";
}
.c-ttl11 .c-ttl11-inner::before {
  left: 100%;
}
.c-ttl11 .c-ttl11-inner::after {
  right: 100%;
}
.c-ttl11 .-en {
  font-family: agenda, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 32px;
  font-size: 3.2rem;
}
html:not(.wf-active):not(.loading-delay) .c-ttl11 .-en {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-ttl11 .-en {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion + .c-ttl11 {
    margin-top: 5.33vw;
  }
}

/* c-ttl-visual
--------------------------------------------------------*/
@media screen and (max-width: 767px) {
  .c-ttl-visual {
    padding: 0 5.33vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-ttl-visual {
    height: 89.33vw;
  }
}
.c-ttl-visual img {
  width: 100%;
}

/* c-wrap-ttl
--------------------------------------------------------*/
.c-wrap-ttl {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 34px 50px 21px;
  width: 650px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .c-wrap-ttl {
    padding: 0;
    width: auto;
    background: none;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-wrap-ttl .c-ttl02 {
    display: inline-block;
    padding: 4vw 9.07vw 3.47vw;
    background: #fff;
  }
}
.c-ttl-visual + .c-wrap-ttl {
  margin-top: -115px;
}
@media screen and (max-width: 767px) {
  .c-ttl-visual + .c-wrap-ttl {
    margin-top: -20.27vw;
  }
}

.attention {
  background-color: #ffdddd;
  padding: 10px 10px 34px 10px;
  margin: 34px 20px 40px 20px;
  border-radius: 16px;
}
@media screen and (min-width: 768px), print {
  .attention {
    margin-right: auto;
    margin-left: auto;
    min-width: 934px;
    max-width: 1414px;
    width: 85.5%;
  }
}
.attention span {
  color: #cc0000;
}

/* パンくずリスト
   ========================================================================== */
.c-topicpath li {
  display: inline;
  list-style-type: none;
  font-size: 12px;
  font-size: 1.2rem;
}
.c-topicpath li + li {
  padding-left: 5px;
}
.c-topicpath li + li::before {
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  content: "";
  display: inline-block;
  height: 5px;
  width: 5px;
  margin-right: 8px;
  position: relative;
  top: -1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.c-topicpath li:last-child a {
  font-weight: bold;
  pointer-events: none;
  text-decoration: none;
}
@media screen and (min-width: 768px), print {
  .c-topicpath {
    max-width: 1524px;
    margin: 0 auto 45px;
    padding: 15px 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-topicpath {
    padding: 4vw 2.67vw;
  }
  .c-topicpath li {
    font-size: 10px;
    font-size: 1rem;
  }
}

/* Webフォント
   ========================================================================== */
/* その他パーツ
========================================================================== */
/* c-sct-main
--------------------------------------------------------*/
.c-sct-main {
  position: relative;
  z-index: 1;
  padding-bottom: 44px;
}
@media screen and (max-width: 767px) {
  .c-sct-main {
    padding-bottom: 8vw;
  }
}
.c-sct-main::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: calc(100% - 80px);
  background: #ffeea8;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-sct-main::before {
    height: 100%;
  }
}
.c-sct-main.-childcare::before {
  background: #fcead5;
}
.c-sct-main.-nursing::before {
  background: #d8def5;
}
.c-sct-main .c-box-inner > *:not(.c-sct-main-visual) {
  position: relative;
  z-index: 1;
}
.c-sct-main .parts {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-sct-main .parts {
    width: 66.67vw;
  }
  .c-sct-main .parts img {
    width: 100%;
  }
  .c-sct-main .parts.parts2 {
    right: -5.33vw;
    width: 88vw;
  }
}

.c-sct-main-visual img {
  width: 100%;
}

.c-sct-main-num {
  margin-top: 40px;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.2;
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-sct-main-num {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-sct-main-num {
    margin-top: 4.8vw;
    line-height: 1.4;
    font-size: 10px;
    font-size: 1rem;
  }
}
.c-sct-main-num span {
  display: block;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-sct-main-num span {
    font-size: 20px;
    font-size: 2rem;
  }
}

.c-sct-main-ttl-cap {
  margin-top: 50px;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.2;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 22px;
  font-size: 2.2rem;
}
html:not(.wf-active):not(.loading-delay) .c-sct-main-ttl-cap {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-sct-main-ttl-cap {
    margin-top: 8vw;
    line-height: 1.4;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-sct-main-ttl-cap span {
  letter-spacing: 0.2em;
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  font-size: 2.2rem;
}
html:not(.wf-active):not(.loading-delay) .c-sct-main-ttl-cap span {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-sct-main-ttl-cap span {
    margin-right: 1.33vw;
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.c-sct-main-ttl-en {
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: agenda, sans-serif;
  font-weight: 500;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-sct-main-ttl-en {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-sct-main-ttl-en {
    font-size: 10px;
    font-size: 1rem;
  }
}

.c-sct-main-ttl {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-sct-main-ttl {
    margin-top: 2.67vw;
  }
}
.c-sct-main-ttl-en + .c-sct-main-ttl {
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .c-sct-main-ttl-en + .c-sct-main-ttl {
    margin-top: 0.8vw;
  }
}

.c-sct-main-ttl-cap + .c-sct-main-ttl {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .c-sct-main-ttl-cap + .c-sct-main-ttl {
    margin-top: 0.8vw;
  }
}

.c-sct-main-lead {
  margin-top: 30px;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.4;
  font-size: 20px;
  font-size: 2rem;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-sct-main-lead {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-sct-main-lead {
    margin-top: 5.6vw;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.c-sct-main-txt {
  margin-top: 25px;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .c-sct-main-txt {
    margin-top: 6.67vw;
    padding: 0 8vw 4vw;
    text-align: left;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* c-cat-main
--------------------------------------------------------*/
.c-cat-main {
  position: relative;
  z-index: 1;
}

.c-cat-main-ph img {
  width: 100%;
}

.c-cat-main-lead {
  position: absolute;
  right: 80px;
  bottom: -80px;
}
@media screen and (max-width: 767px) {
  .c-cat-main-lead {
    right: 5.33vw;
    bottom: -5.33vw;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  :root .c-cat-main-lead,
_::-webkit-full-page-media,
_:future {
    right: 160px;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (max-width: 767px) {
  :root .c-cat-main-lead,
_::-webkit-full-page-media,
_:future {
    right: 17.33vw;
  }
}
.c-cat-main-lead-inner {
  max-height: 500px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .c-cat-main-lead-inner {
    max-height: 66.67vw;
    line-height: 1.4;
  }
}
.c-cat-main-lead-inner span {
  display: inline-block;
  margin-left: 6px;
  padding: 0.7em 0;
  background: #fff;
  letter-spacing: 0.22em;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 24px;
  font-size: 2.4rem;
}
html:not(.wf-active):not(.loading-delay) .c-cat-main-lead-inner span {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-cat-main-lead-inner span {
    margin-left: 0.8vw;
    padding: 0.3em 0;
    letter-spacing: 0.15em;
    font-size: 13px;
    font-size: 1.3rem;
  }
}

/* c-page-nav
--------------------------------------------------------*/
.c-page-nav-wrap {
  padding-top: 34px;
  padding-bottom: 34px;
  border-bottom: 1px solid #dedddb;
}
@media screen and (max-width: 767px) {
  .c-page-nav-wrap {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-box-center + .c-page-nav-wrap {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-box-center + .c-page-nav-wrap {
    border-top: 1px solid #dedddb;
    margin-top: 5.6vw;
  }
}

.c-page-nav {
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .c-page-nav {
    display: table;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px), print {
  .c-page-nav li {
    display: table-cell;
    max-width: 350px;
    border-left: 1px solid #dedddb;
    text-align: center;
    line-height: 1;
  }
  .c-page-nav li:last-child {
    border-right: 1px solid #dedddb;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav li {
    display: block;
    min-height: 12vw;
    width: 50%;
    border-right: 1px solid #dedddb;
    border-bottom: 1px solid #dedddb;
    text-align: left;
    line-height: 1.2;
  }
  .c-page-nav li:nth-child(even) {
    border-right: none;
  }
  .c-page-nav li:last-child {
    border-bottom: none;
  }
  .c-page-nav li:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav li a {
    display: flex;
    align-items: center;
    padding: 3.47vw;
    height: 100%;
  }
}
.c-page-nav li span {
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-page-nav li span {
    display: block;
    width: 100%;
    font-size: 11px;
    font-size: 1.1rem;
  }
}

/* c-page-nav-fixed
--------------------------------------------------------*/
.c-page-nav-fixed {
  position: fixed;
  left: 0;
  z-index: 98;
  background-color: #fff;
  opacity: 0;
  transition: 0.2s background-color, 0.2s opacity;
  pointer-events: none;
}
@media screen and (min-width: 768px), print {
  .c-page-nav-fixed {
    top: 0;
    overflow: hidden;
    padding: 0 80px;
    height: 124px;
    width: calc(100% - 267px);
    min-width: 954px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px), print {
  .c-page-nav-fixed {
    width: calc(100% - 70px);
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav-fixed {
    bottom: calc(13.33vw + 2px);
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
  }
}
.c-page-nav-fixed.-active {
  opacity: 1;
  pointer-events: inherit;
}
.c-page-nav-fixed.-hide {
  opacity: 0 !important;
  pointer-events: none !important;
}
@media screen and (min-width: 768px), print {
  .c-page-nav-fixed.-min {
    height: 88px;
  }
}
.c-page-nav-fixed .c-page-nav-wrap {
  border-bottom: none;
}
@media screen and (min-width: 768px), print {
  .c-page-nav-fixed .c-page-nav-wrap {
    padding-top: 0;
    padding-bottom: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav-fixed .c-page-nav-wrap {
    display: none;
  }
  .c-page-nav-fixed .c-page-nav-wrap .c-icon-arrow {
    padding-right: 0;
  }
  .c-page-nav-fixed .c-page-nav-wrap .c-icon-arrow::before {
    display: none;
  }
}
@media screen and (min-width: 768px), print {
  .c-page-nav-fixed .c-page-nav li a span {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .c-page-nav-fixed .c-page-nav li a:hover .c-icon-arrow::before {
    background: url("/common/svg/icon_arrow_down_hover.svg") no-repeat left 0;
    background-size: 100% auto;
    transition-duration: 0.2s;
  }
  .c-page-nav-fixed .c-page-nav li.-active a {
    color: #efba00;
  }
  .c-page-nav-fixed .c-page-nav li.-active a .c-icon-arrow::before {
    background: url("/common/svg/icon_arrow_down_hover.svg") no-repeat left 0;
    background-size: 100% auto;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav-fixed .c-page-nav {
    display: block;
    padding: 0 5.6vw;
  }
  .c-page-nav-fixed .c-page-nav li {
    min-height: 0;
    width: 100%;
    border: none;
    border-top: 1px solid #dedddb;
    text-align: center;
  }
  .c-page-nav-fixed .c-page-nav li a {
    padding: 4.27vw 0;
  }
  .c-page-nav-fixed .c-page-nav li a span {
    font-weight: normal;
    font-size: 3.2vw;
  }
  .c-page-nav-fixed .c-page-nav li br {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .c-page-nav-fixed-logo {
    display: block;
    padding: 21px 0;
    text-align: center;
    opacity: 0;
    pointer-events: none;
  }
  .c-page-nav-fixed-logo img {
    width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav-fixed-logo {
    display: none !important;
  }
}

@media screen and (min-width: 768px), print {
  #c-page-nav-fixed-sptitle {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #c-page-nav-fixed-sptitle {
    overflow: hidden;
    padding: 4vw 2.67vw;
    height: 13.33vw;
    border-top: 1px solid #dedddb;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
  }
  #c-page-nav-fixed-sptitle span {
    position: relative;
    display: inline-block;
    padding-right: 6.4vw;
  }
  #c-page-nav-fixed-sptitle span::after, #c-page-nav-fixed-sptitle span::before {
    position: absolute;
    top: 0;
    bottom: 0.53vw;
    margin: auto;
    background-color: #000;
    content: "";
  }
  #c-page-nav-fixed-sptitle span::before {
    right: 0;
    width: 2.93vw;
    height: 1px;
  }
  #c-page-nav-fixed-sptitle span::after {
    right: 1.33vw;
    width: 1px;
    height: 2.93vw;
  }
  #c-page-nav-fixed-sptitle.-open span::after {
    display: none;
  }
}

/* c-lead
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-lead {
    margin: 34px auto 0;
    width: 550px;
    line-height: 2;
  }
  .c-ttl02 + .c-lead {
    margin-top: 30px;
  }

  .c-wrap-ttl + .c-lead {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .c-lead {
    margin-top: 5.33vw;
    padding: 0 8vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-lead + * {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-lead + * {
    margin-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-lead.-wFull {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-lead.-wFull {
    padding: 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-lead.-textCenter {
    text-align: center;
  }
}

/* c-accordion
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-accordion + * {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion + * {
    margin-top: 5.6vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-accordion {
    margin-top: 34px;
  }
}

@media screen and (min-width: 768px), print {
  .c-accordion-item:not(:last-child) {
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-item:not(:last-child) {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px), print {
  .c-accordion-item.-open {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-item.-open {
    margin-bottom: 5.33vw;
  }
}

.c-accordion-title {
  position: relative;
  border-radius: 40px;
  background-color: #ececec;
  text-align: center;
  line-height: 1.4;
  cursor: pointer;
}
@media screen and (min-width: 768px), print {
  .c-accordion-title {
    padding: 20px 60px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-title {
    padding: 4.8vw 16vw;
  }
}
.-end .c-accordion-title {
  background-color: #999;
}

.c-accordion-contents {
  overflow: hidden;
  height: 0;
  background-color: #fffaea;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-duration: 0.5s;
}
@media screen and (min-width: 768px), print {
  .c-accordion-contents {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-contents {
    margin-top: 2.67vw;
  }
}
.-childcare .c-accordion-contents {
  background-color: #fffaea;
}
.-nursing .c-accordion-contents {
  background-color: #f0f3ff;
}

@media screen and (min-width: 768px), print {
  .c-accordion-contents-bg {
    padding: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-contents-bg {
    padding: 2.67vw;
  }
}

.c-accordion-contents-inner {
  background-color: #fff;
  line-height: 2;
}
@media screen and (min-width: 768px), print {
  .c-accordion-contents-inner {
    padding: 17px;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-contents-inner {
    padding: 2.67vw;
    font-size: 2.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-accordion-contents-inner.-col3 {
    display: flex;
  }
  .c-accordion-contents-inner.-col3 .c-accordion-contents-item {
    margin-right: 8%;
    width: 28%;
  }
  .c-accordion-contents-inner.-col3 .c-accordion-contents-item:last-child {
    margin-right: 0;
  }
}

.c-accordion-icon {
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  display: block;
  margin: auto;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (min-width: 768px), print {
  .c-accordion-icon {
    width: 40px;
    height: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-icon {
    width: 10.67vw;
    height: 10.67vw;
  }
}
.-open .c-accordion-icon::after {
  display: none;
}

.c-accordion-icon::after, .c-accordion-icon::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  background-color: #000;
  content: "";
}
@media screen and (min-width: 768px), print {
  .c-accordion-icon::before {
    width: 23px;
    height: 2px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-icon::before {
    width: 5.33vw;
    height: 2px;
  }
}
@media screen and (min-width: 768px), print {
  .c-accordion-icon::after {
    width: 2px;
    height: 23px;
  }
}
@media screen and (max-width: 767px) {
  .c-accordion-icon::after {
    width: 2px;
    height: 5.33vw;
  }
}

/* c-sct
--------------------------------------------------------*/
.c-sct {
  margin-top: 89px;
}
@media screen and (max-width: 767px) {
  .c-sct {
    margin-top: 14.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-sct .c-ttl02 + *:not(.c-ttl03) {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-sct .c-ttl02::before {
    width: 25.6vw;
    height: 0.8vw;
  }
  .c-sct .c-ttl02 + *:not(.c-ttl03) {
    margin-top: 9.07vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-page-nav-wrap + .c-sct {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-page-nav-wrap + .c-sct {
    margin-top: 7.47vw;
  }
}

/* c-date
--------------------------------------------------------*/
.c-date {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #000;
  border-radius: 50%;
  background-color: #fff;
}
@media screen and (min-width: 768px), print {
  .c-date {
    width: 150px;
    height: 150px;
  }
}
@media screen and (max-width: 767px) {
  .c-date {
    width: 28.27vw;
    height: 28.27vw;
  }
}

.c-date-item {
  text-align: center;
}

.c-date-item-head {
  display: inline-block;
  background: url("img/bg_dot_gray.png") repeat-x left bottom;
  background-size: 3px auto;
  line-height: 1.2;
}
@media screen and (min-width: 768px), print {
  .c-date-item-head {
    padding-bottom: 5px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-date-item-head {
    padding-bottom: 0.8vw;
    font-size: 3.2vw;
  }
}

.c-date-item-date {
  line-height: 1;
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-date-item-date {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-date-item-date {
    margin-top: 13px;
    font-size: 40px;
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-date-item-date {
    margin-top: 0.8vw;
    font-size: 6.67vw;
  }
}

.c-date-item-week {
  line-height: 1;
  font-family: rockwell, sans-serif;
  font-style: normal;
  font-weight: 300;
}
html:not(.wf-active):not(.loading-delay) .c-date-item-week {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-date-item-week {
    margin-top: 3px;
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-date-item-week {
    font-size: 4.27vw;
  }
}

/* c-loop-slide
--------------------------------------------------------*/
.c-loop-slide .c-loop-slide-item {
  width: 33.33333%;
}
.c-loop-slide .c-loop-slide-item img {
  width: 100%;
}

/* c-txt
--------------------------------------------------------*/
.c-txt .bold {
  font-weight: bold;
}
@media screen and (min-width: 768px), print {
  .c-txt.-lineH {
    line-height: 2;
  }
}
.c-txt + * {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .c-txt + * {
    margin-top: 3.47vw;
  }
}
.c-txt + .c-txt {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-txt + .c-txt {
    margin-top: 3.47vw;
  }
}
@media screen and (min-width: 768px), print {
  *[class^=c-ttl] + .c-txt {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  *[class^=c-ttl] + .c-txt {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-txt {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-txt {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl02 + .-spPdg .c-txt {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .-spPdg .c-txt {
    margin-top: 5.6vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl03 + .c-txt {
    margin-top: 34px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl03 + .c-txt {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-txt {
    margin-top: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl04 + .c-txt {
    margin-top: 3.47vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-ttl08 + .c-txt {
    margin-top: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl08 + .c-txt {
    margin-top: 2.13vw;
  }
}

/* c-map-img
--------------------------------------------------------*/
.c-map-img {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-map-img.-spScroll {
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 2.67vw;
  }
  .c-map-img.-spScroll img {
    width: 200%;
    max-width: none;
  }
  .c-map-img.-spScroll.-spScrollS img {
    width: 150%;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-map-img {
    margin-top: 44px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-map-img {
    margin-top: 9.07vw;
  }
}

@media screen and (min-width: 768px), print {
  .c-map-img + * {
    margin-top: 28px;
  }
}
@media screen and (max-width: 767px) {
  .c-map-img + * {
    margin-top: 3.47vw;
  }
}

/* c-sp-scroll-cap
--------------------------------------------------------*/
.c-sp-scroll-cap {
  position: relative;
  margin: -4.8vw auto 0;
  width: 89.33vw;
  height: 17.6vw;
  background: url("/common/css/img/icon_scroll@2x.png") no-repeat;
  background-size: 100%;
}
@media screen and (min-width: 768px), print {
  .c-sp-scroll-cap {
    display: none;
  }
}
.c-sp-scroll-cap span {
  position: absolute;
  bottom: 0.2em;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-sp-scroll-cap.-positionTop {
    margin-top: 3.47vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-sp-scroll-cap + * {
    margin-top: 28px;
  }
}
@media screen and (max-width: 767px) {
  .c-sp-scroll-cap + * {
    margin-top: 5.6vw;
  }
}

/* .c-filter
--------------------------------------------------------*/
.c-filter {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-filter {
    align-items: baseline;
    flex-wrap: wrap;
  }
}
.c-filter > *:not(:first-child) {
  margin-left: 21px;
}
@media screen and (max-width: 767px) {
  .c-filter > *:not(:first-child) {
    margin-left: 0;
  }
}
.c-filter + * {
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  .c-filter + * {
    margin-top: 5.6vw;
  }
}

.c-filter-ttl {
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-filter-ttl {
    order: 1;
    width: 28%;
  }
}
.c-filter-ttl:after {
  display: inline-block;
  margin-left: 8px;
  content: ":";
}
@media screen and (max-width: 767px) {
  .c-filter-ttl:after {
    margin-left: 3.47vw;
  }
}

@media screen and (max-width: 767px) {
  .c-filter-selectbox {
    order: 3;
    margin-top: 2.13vw;
    width: 32%;
  }
}
.c-filter-selectbox + .c-filter-selectbox {
  margin-left: 13px;
}
@media screen and (max-width: 767px) {
  .c-filter-selectbox + .c-filter-selectbox {
    margin-left: 2%;
  }
}

@media screen and (max-width: 767px) {
  .c-c-filter-clear {
    order: 2;
    width: 72%;
  }
}
.c-c-filter-clear a {
  text-decoration: underline;
  font-size: 14px;
  font-size: 1.4rem;
}

/* .c-btn-tab
--------------------------------------------------------*/
@media screen and (min-width: 768px), print {
  .c-btn-tab + * {
    margin-top: 45px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab + * {
    margin-top: 9.07vw;
  }
}

/* c-btn-tab-menu */
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu {
    display: flex;
  }
}

.c-btn-tab-menu-item {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-item {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-item {
    background-color: #ffead2;
  }
}

.c-btn-tab-menu-img {
  display: block;
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-img {
    padding-right: 33.6vw;
  }
}
.c-btn-tab-menu-img img {
  width: 100%;
}

.c-btn-tab-menu-btn {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  border: 2px solid #000;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 7px 5px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-btn {
    right: 0;
    bottom: -63px;
    left: 0;
    width: 127px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-btn {
    top: 7.2vw;
    right: 5.33vw;
    width: 32vw;
    height: 32vw;
  }
}
.c-btn-tab-menu-btn:hover {
  background: #ffe476;
  color: #000;
}

.c-btn-tab-menu-ttl {
  text-align: center;
  line-height: 1.2;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-btn-tab-menu-ttl {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-ttl {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-ttl {
    font-size: 4.27vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-ttl + * {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-ttl + * {
    margin-top: 1.33vw;
  }
}

.c-btn-tab-menu-icon {
  display: block;
  text-align: center;
}
.c-btn-tab-menu-icon.-onpu img {
  position: relative;
  left: -0.15em;
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-icon + * {
    margin-top: 11px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-icon + * {
    margin-top: 4vw;
  }
}

.c-btn-tab-menu-detail {
  text-align: center;
  line-height: 1.2;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-btn-tab-menu-detail {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-detail {
    padding: 0 8px 4px;
    border-bottom: 1px solid #000;
    font-size: 10px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-detail {
    font-size: 2.67vw;
  }
}
.c-btn-tab-menu-detail span {
  display: inline-block;
  background: url("/common/svg/icon_arrow_down.svg") no-repeat right center;
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-menu-detail span {
    padding-right: 13px;
    background-size: 7px auto;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-menu-detail span {
    padding-right: 2.67vw;
    background-size: 1.6vw auto;
  }
}

/* c-btn-tab-cont */
@media screen and (min-width: 768px), print {
  .c-btn-tab-cont {
    padding: 69px 80px 34px;
    background-color: #ffead2;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-cont {
    display: none !important;
  }
}

@media screen and (min-width: 768px), print {
  .c-btn-tab-cont-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-cont-sp {
    display: none;
    padding: 5.33vw 2.67vw;
  }
}

.c-btn-tab-cont-item-wrap {
  display: none;
  overflow: hidden;
  padding-top: 20px;
}

.c-btn-tab-cont-item {
  position: relative;
  border: 2px solid #000;
  background-color: #fff;
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-cont-item {
    padding: 30px 34px;
    border-radius: 30px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-cont-item {
    padding: 4vw 5.33vw;
    border-radius: 4vw;
    font-size: 3.73vw;
  }
}
.c-btn-tab-cont-item::before {
  position: absolute;
  top: -16px;
  display: block;
  width: 27px;
  height: 16px;
  background: url("img/fukidashi.gif") no-repeat left 0;
  background-size: 27px auto;
  content: "";
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-cont-item::before {
    right: 0;
    left: 0;
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-tab-cont-item::before {
    right: 14.67vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-cont-item.-fukidashiLeft::before {
    right: auto;
    left: calc(((100% + 160px) / 3 - 160px) / 2);
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px), print {
  .c-btn-tab-cont-item.-fukidashiRight::before {
    right: calc(((100% + 160px) / 3 - 160px) / 2);
    left: auto;
    transform: translateX(50%);
  }
}

/* c-message
--------------------------------------------------------*/
.c-message {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .c-message {
    padding: 89px 0 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-message {
    padding: 17.33vw 0 14.67vw;
  }
}
.c-message.-childcare {
  background-color: #fffaea;
}
.c-message.-nursing {
  background-color: #f0f3ff;
}
@media screen and (min-width: 768px), print {
  .c-message .c-picbox {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .c-message .c-picbox {
    display: flex;
    flex-wrap: wrap;
  }
  .c-message .c-picbox > * {
    width: 100%;
  }
  .c-message .c-picbox > *.c-picbox-pic {
    order: 2;
  }
  .c-message .c-picbox > *.c-picbox-contents {
    order: 1;
  }
  .c-message .c-picbox img {
    display: block;
    margin: 0 auto;
    width: 48vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-message .c-picbox + .c-picbox {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .c-message .c-picbox + .c-picbox {
    margin-top: 9.07vw;
  }
}
.c-message .c-picbox-contents {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .c-message .c-picbox-contents {
    margin-bottom: 8vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-message .c-picbox-ttl {
    padding: 0 5px 21px;
    background: url("/common/css/img/line_dash.png") repeat-x left bottom;
    background-size: 8px auto;
  }
}
@media screen and (max-width: 767px) {
  .c-message .c-picbox-ttl {
    margin-bottom: 5.6vw;
    font-size: 5.33vw;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px), print {
  .c-message .c-picbox-ttl + * {
    margin-top: 30px;
    padding: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-message .c-picbox-ttl + * {
    margin-top: 0;
  }
}

.c-message-ttl {
  position: absolute;
  top: 0;
  left: 50%;
  white-space: nowrap;
  line-height: 1.2;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-message-ttl {
  color: transparent;
}
@media screen and (min-width: 768px), print {
  .c-message-ttl {
    letter-spacing: 0.4em;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-message-ttl {
    width: 100%;
    text-align: center;
    letter-spacing: 0.2em;
    font-size: 5.33vw;
    transform: translate(-50%, -55%);
  }
}

.c-message-ttl-item {
  position: relative;
  display: inline-block;
  border: 3px solid #000;
  background-color: #fff;
}
@media screen and (min-width: 768px), print {
  .c-message-ttl-item {
    padding: 30px 70px;
    border-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-message-ttl-item {
    padding: 5.33vw;
    width: 92vw;
    border-radius: 4vw;
  }
}
.c-message-ttl-item::before {
  position: absolute;
  top: -4px;
  left: -4px;
  z-index: 0;
  display: block;
  width: calc(100% + 8px);
  height: 45%;
  background-color: #fff;
  content: "";
}
.c-message-ttl-item::after {
  position: absolute;
  left: 0;
  margin: auto;
  content: "";
}
@media screen and (min-width: 768px), print {
  .c-message-ttl-item::after {
    right: 20px;
    bottom: -20px;
    width: 57px;
    height: 25px;
  }
}
@media screen and (max-width: 767px) {
  .c-message-ttl-item::after {
    right: 2.67vw;
    bottom: -4vw;
    width: 11.73vw;
    height: 5.33vw;
    background-size: 11.73vw auto;
  }
}
.-childcare .c-message-ttl-item::after {
  background: url("img/message_item2.png") no-repeat left 0;
  background-size: 57px auto;
}
.-nursing .c-message-ttl-item::after {
  background: url("img/message_item.png") no-repeat left 0;
  background-size: 57px auto;
}
.c-message-ttl-item > span {
  position: relative;
  z-index: 1;
}

.c-message-practice {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .c-message-practice {
    display: block;
    text-align: center;
  }
}
@media screen and (min-width: 768px), print {
  .c-message-practice + * {
    margin-top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .c-message-practice + * {
    margin-top: 4.8vw;
  }
}

.c-message-practice-item {
  border: 1px solid #000;
  border-radius: 30px;
  background-color: #fff;
  line-height: 1.2;
}
@media screen and (min-width: 768px), print {
  .c-message-practice-item {
    display: flex;
    padding: 10px 30px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-message-practice-item {
    display: block;
    padding: 2.67vw 8vw;
    font-size: 3.2vw;
  }
}

.c-message-practice-ttl {
  min-width: 5em;
  font-weight: bold;
}
@media screen and (min-width: 768px), print {
  .c-message-practice-ttl {
    margin-right: 21px;
  }
}
@media screen and (max-width: 767px) {
  .c-message-practice-ttl {
    margin-right: 3.47vw;
    display: block;
    margin-bottom: 0.8vw;
  }
}

/* c-learn-flow
--------------------------------------------------------*/
.c-learn-flow {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .c-learn-flow {
    margin-top: 5.33vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-learn-flow {
    margin-top: 34px !important;
  }
}

.c-learn-flow-item {
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item {
    padding: 8vw 5.33vw;
  }
}
.c-learn-flow-item:nth-child(1) {
  background: #fffaea;
}
.-childcare .c-learn-flow-item:nth-child(1) {
  background: #fffaea;
}
.-nursing .c-learn-flow-item:nth-child(1) {
  background: #f1f7fb;
}
.c-learn-flow-item:nth-child(2) {
  background: #fef5d1;
}
.-childcare .c-learn-flow-item:nth-child(2) {
  background: #fff5d5;
}
.-nursing .c-learn-flow-item:nth-child(2) {
  background: #e8eef7;
}
.c-learn-flow-item:nth-child(3) {
  background: #fff2be;
}
.-childcare .c-learn-flow-item:nth-child(3) {
  background: #fff1e1;
}
.-nursing .c-learn-flow-item:nth-child(3) {
  background: #e1e5f5;
}
.c-learn-flow-item:nth-child(4) {
  background: #ffeea8;
}
.-childcare .c-learn-flow-item:nth-child(4) {
  background: #ffead2;
}
.-nursing .c-learn-flow-item:nth-child(4) {
  background: #d8def5;
}

.c-learn-flow-item-inner {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner {
    flex-wrap: wrap;
  }
}
.c-learn-flow-item-inner .item-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  border-radius: 100%;
  background: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-stage {
    order: 1;
    margin-right: 7.47vw;
    margin-left: 3.47vw;
    width: 29.33vw;
    height: 29.33vw;
  }
}
.c-learn-flow-item-inner .item-stage .number {
  padding-bottom: 8px;
  background: url("/common/css/img/bg_dot_gray.png") bottom repeat-x;
  background-size: 3px;
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-stage .number {
    padding-bottom: 2.13vw;
    font-size: 10px;
    font-size: 1rem;
  }
}
.c-learn-flow-item-inner .item-stage .number span:not(.step) {
  font-weight: bold;
  font-family: rockwell, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
  font-size: 4rem;
}
html:not(.wf-active):not(.loading-delay) .c-learn-flow-item-inner .item-stage .number span:not(.step) {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-stage .number span:not(.step) {
    font-size: 32px;
    font-size: 3.2rem;
  }
}
.c-learn-flow-item-inner .item-stage .number span.step {
  font-weight: bold;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
}
.c-learn-flow-item-inner .item-stage .semester {
  padding-top: 13px;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-stage .semester {
    padding-top: 3.47vw;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.c-learn-flow-item-inner .item-txt {
  width: calc(100% - 150px - 288px - 100px);
  line-height: 2;
}
@media screen and (min-width: 768px), print {
  .c-learn-flow-item-inner .item-txt {
    margin: 0 50px;
  }
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-txt {
    order: 3;
    margin-top: 5.33vw;
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-learn-flow-item-inner .item-txt .bold {
  display: block;
  font-size: 20px;
  font-size: 2rem;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}
html:not(.wf-active):not(.loading-delay) .c-learn-flow-item-inner .item-txt .bold {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-txt .bold {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.c-learn-flow-item-inner .item-thumb {
  width: 288px;
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner .item-thumb {
    order: 2;
    width: 44.27vw;
  }
}
.c-learn-flow-item-inner::before {
  position: absolute;
  bottom: -47px;
  left: 60px;
  display: block;
  width: 30px;
  height: 48px;
  background: url("/common/svg/icon_arrow_2.svg") no-repeat;
  background-size: 100%;
  content: "";
}
@media screen and (max-width: 767px) {
  .c-learn-flow-item-inner::before {
    bottom: -13.87vw;
    left: 15.2vw;
    width: 6.4vw;
    height: 10.13vw;
  }
}
.c-learn-flow-item:last-child .c-learn-flow-item-inner::before {
  right: 0;
  left: 0;
  margin: auto;
}
.-arrowNone .c-learn-flow-item-inner::before {
  display: none;
}

.c-learn-goal.-childcare {
  background: #ffdbb2;
}
.c-learn-goal.-nursing {
  background: #c0caf0;
}

.c-learn-goal-inner {
  padding: 34px 100px;
}
@media screen and (max-width: 767px) {
  .c-learn-goal-inner {
    padding: 9.07vw 10.67vw;
  }
}

.c-learn-goal-txt {
  padding: 22px;
  border: 4px solid #000;
  background: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 24px;
  font-size: 2.4rem;
}
html:not(.wf-active):not(.loading-delay) .c-learn-goal-txt {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-learn-goal-txt {
    padding: 3.47vw 2.67vw;
    letter-spacing: 0;
    font-size: 16px;
    font-size: 1.6rem;
  }
}

/* c-telnumber
--------------------------------------------------------*/
.c-telnumber {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1;
}
.c-telnumber > span {
  display: inline-block;
}
.c-telnumber > span.txt {
  margin-right: 34px;
  padding: 10px;
  border: 1px solid #000;
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-telnumber > span.txt {
    margin-right: 3.47vw;
    padding: 2.13vw 2.67vw;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.c-telnumber > span.txt.-noBorder {
  border: none;
  letter-spacing: 0.13em;
  font-size: 20px;
  font-size: 2rem;
}
.c-telnumber > span.num {
  letter-spacing: 0.15em;
  font-weight: bold;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 32px;
  font-size: 3.2rem;
}
html:not(.wf-active):not(.loading-delay) .c-telnumber > span.num {
  color: transparent;
}
@media screen and (max-width: 767px) {
  .c-telnumber > span.num {
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 2.13vw;
  }
}
.c-telnumber > span.cap {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .c-telnumber > span.cap {
    margin-top: 13px;
    padding-bottom: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-telnumber > span.cap {
    margin-top: 3.47vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl04 + .c-telnumber {
    margin-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl04 + .c-telnumber {
    margin-top: 5.6vw;
  }
}

/* c-program
--------------------------------------------------------*/
.c-program {
  padding: 15px 21px;
}
@media screen and (max-width: 767px) {
  .c-program {
    padding: 4vw 5.33vw 8vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-ttl02 + .c-program {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-ttl02 + .c-program {
    margin-top: 9.07vw;
  }
}

.-childcare .c-program {
  background: #fcead5;
}
.-nursing .c-program {
  background: #d8def5;
}

.c-program-head {
  display: flex;
  padding-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .c-program-head {
    padding-bottom: 2.13vw;
  }
}

.c-program-head-block {
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-program-head-block {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.c-program-head-block:nth-child(-n+2) {
  width: 65px;
}
@media screen and (max-width: 767px) {
  .c-program-head-block:nth-child(-n+2) {
    display: none;
  }
}
.c-program-head-block:nth-child(3) {
  width: calc(100% - 130px);
}
@media screen and (max-width: 767px) {
  .c-program-head-block:nth-child(3) {
    width: 100%;
  }
}

.c-program-content {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0;
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-program-content {
    padding: 7.2vw 0;
  }
}
.c-program-content:last-child {
  padding-bottom: 0;
}

.c-program-content-block:nth-child(-n+2) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  border-right: 1px solid #000;
  text-align: center;
  line-height: 2;
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-program-content-block:nth-child(-n+2) {
    display: block;
    width: 50%;
    text-align: left;
    line-height: 1.2;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .c-program-content-block:nth-child(-n+2) .-spItem {
    display: inline;
  }
}
.c-program-content-block:nth-child(-n+2) strong {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-program-content-block:nth-child(-n+2) strong {
    display: inline;
    margin-right: 2.13vw;
  }
}
@media screen and (max-width: 767px) {
  .c-program-content-block:nth-child(2) {
    padding-left: 5.6vw;
    border-right: none;
  }
}
.c-program-content-block:nth-child(3) {
  padding: 5px 38px;
  width: calc(100% - 130px);
}
@media screen and (max-width: 767px) {
  .c-program-content-block:nth-child(3) {
    padding: 3.47vw 0 0;
    width: 100%;
  }
}
.c-program-content-block > *:first-child {
  margin-top: 0;
}

.c-program-content-ttl {
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .c-program-content-ttl {
    margin-top: 3.47vw;
  }
}
.c-program-content-ttl + .c-program-content-ttl {
  margin-top: 1px;
}
.c-program-content-txt {
  line-height: 2;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-program-content-txt {
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px), print {
  .c-program-content-ttl + .c-program-content-txt {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .c-program-content-ttl + .c-program-content-txt {
    margin-top: 3.47vw;
  }
}

.c-ttl04-noboder {
  margin-top: rem(45);
  padding-bottom: 0.3em;
  font-size: rem(20);
}
@media screen and (max-width: 767px) {
  .c-ttl04-noboder {
    margin-top: 9.07vw;
    padding-bottom: 0.5em;
    font-size: 4vw;
  }
}
