@charset "UTF-8";
/* Scss Document */
/* Scss Document */
body {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body, h1, h2, h3, h4, h5, h6, p {
  font-size: 1rem;
  color: #444;
  margin: 0;
  padding: 0;
  line-height: 2; }

a {
  text-decoration: none; }
  a:hover {
    color: #FF0000;
    text-decoration: underline; }
  a:link {
    color: #0000FF; }
  a:active {
    color: #0000FF; }
  a:visited {
    color: #990066; }

img {
  vertical-align: bottom; }

a img {
  border: none; }

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  outline: none; }

input:focus,
button {
  outline: 0; }

.clear {
  display: none;
  clear: both; }

img.centering {
  position: absolute; }

::selection {
  background: #FFD7E9; }

::-moz-selection {
  background: #FFD7E9; }

.pcNone {
  display: none; }

@media (max-width: 767px) {
  /* responsive none fore SP */
  .spNone {
    display: none; } }
div.system-free {
  height: 100%;
  overflow: hidden; }
  div.system-free hr {
    height: 0;
    margin: 0;
    border: none;
    border-top: 1px solid #444; }
  div.system-free table {
    border-collapse: collapse; }
  div.system-free img {
    max-width: 100%;
    height: auto; }

ol.transition {
  width: 100%;
  height: 29px;
  overflow: hidden;
  margin: 40px auto 0;
  padding: 0;
  text-align: center;
  list-style: none; }
  ol.transition li {
    width: 27px;
    height: 27px;
    overflow: hidden;
    margin: 0 1px;
    padding: 0;
    color: #0086dc;
    font-size: 0.875rem;
    text-align: center;
    line-height: 1.2;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    background-color: #FFF;
    border: 1px solid #0086dc; }
    ol.transition li a {
      width: 27px;
      height: 27px;
      margin: 0;
      padding: 0;
      color: #0086dc;
      display: block;
      text-decoration: none; }
    ol.transition li span {
      margin: 0;
      padding: 5px 0 0;
      display: block; }
    ol.transition li a:hover, ol.transition li.current {
      color: #FFF;
      font-weight: bold;
      background-color: #0086dc; }

.header {
  width: 1300px;
  margin: 0 auto;
  padding: 40px 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .header__right {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }

.headerTitle {
  margin: 0;
  padding: 0;
  font-weight: normal; }
  .headerTitle__anchor {
    width: 100%;
    height: 100%;
    color: #444 !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center; }
    .headerTitle__anchor:hover {
      text-decoration: none;
      animation: poyoyon 0.4s ease-in-out; }
  .headerTitle__txt {
    margin: 0 15px 0 0;
    font-size: 0.875rem;
    line-height: 1.3;
    text-align: right; }

@keyframes poyoyon {
  0% {
    transform: translateY(0); }
  25% {
    transform: translateY(-10px);
    animation-timing-function: ease-in; }
  50% {
    transform: translateY(0); }
  75% {
    transform: translateY(-5px);
    animation-timing-function: ease-in; }
  100% {
    transform: translateY(0); } }
@media (max-width: 1400px) {
  .header {
    width: 100%;
    padding: 40px; }

  .headerTitle__anchor {
    flex-direction: column;
    align-items: flex-start; }
  .headerTitle__txt {
    margin: 0 0 5px;
    text-align: left; }
    .headerTitle__txt br:last-of-type {
      display: none; } }
@media (max-width: 700px) {
  .header {
    padding: 20px; }

  .headerTitle__name {
    width: 150px;
    height: 32px; } }
.gNav {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center; }
  .gNav__title {
    display: none; }
  .gNav__list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex; }
  .gNav__item {
    margin: 0 0 0 20px;
    padding: 0; }
    .gNav__item:first-of-type {
      margin: 0; }
    .gNav__item--anchor {
      padding: 0 0 0 20px;
      color: #444 !important;
      font-size: 1.125rem;
      line-height: 1.0;
      display: inline-block;
      position: relative; }
      .gNav__item--anchor::before {
        content: '';
        width: 12px;
        height: 12px;
        position: absolute;
        top: 5px;
        left: 0;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%; }
      .gNav__item--anchor:hover {
        text-decoration: none;
        animation: bounce 0.5s linear; }
    .gNav__item:nth-of-type(1) .gNav__item--anchor::before {
      background-color: #fe8ea1; }
    .gNav__item:nth-of-type(2) .gNav__item--anchor::before {
      background-color: #4ccaf1; }
    .gNav__item:nth-of-type(3) .gNav__item--anchor::before {
      background-color: #a0d168; }
    .gNav__item:nth-of-type(4) .gNav__item--anchor::before {
      background-color: #ffe84e; }
    .gNav__item:nth-of-type(5) .gNav__item--anchor::before {
      background-color: #ffa733; }

.jump__text {
  display: flex; }

.jump__text_char {
  display: inline-block;
  transform-origin: bottom;
  will-change: transform; }

.jump:hover .jump__text_char {
  animation: jumpText 0.48s ease-out;
  animation-delay: calc(0.06s * var(--char-index)); }

.visuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

@keyframes bounce {
  0% {
    transform: scale(1, 1) translate(0%, 0%); }
  10% {
    transform: scale(1.1, 0.9) translate(0%, 2%); }
  40% {
    transform: scale(1.1, 0.8) translate(0%, 8%); }
  50% {
    transform: scale(1, 1) translate(0%, 0%); }
  60% {
    transform: scale(0.9, 1.1) translate(0%, -30%); }
  75% {
    transform: scale(0.9, 1.1) translate(0%, -12%); }
  85% {
    transform: scale(1.1, 0.8) translate(0%, 8%); }
  100% {
    transform: scale(1, 1) translate(0%, 0%); } }
@keyframes jumpText {
  0% {
    transform: scaleY(1); }
  15% {
    transform: scaleY(0.9); }
  50% {
    transform: scaleY(1.3); }
  100% {
    transform: scaleY(1); } }
@media (max-width: 1120px) {
  .gNav {
    display: none; } }
.mainNav {
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 100px 0 0;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-image: linear-gradient(60deg, rgba(255, 216, 176, 0.95) 0, rgba(255, 219, 169, 0.95) 6.25%, rgba(255, 222, 164, 0.95) 12.5%, rgba(255, 226, 160, 0.95) 18.75%, rgba(255, 229, 156, 0.95) 25%, rgba(255, 232, 155, 0.95) 31.25%, rgba(255, 236, 154, 0.95) 37.5%, rgba(252, 239, 155, 0.95) 43.75%, rgba(242, 242, 157, 0.95) 50%, rgba(231, 245, 160, 0.95) 56.25%, rgba(220, 248, 165, 0.95) 62.5%, rgba(209, 250, 171, 0.95) 68.75%, rgba(197, 252, 178, 0.95) 75%, rgba(186, 254, 186, 0.95) 81.25%, rgba(174, 255, 194, 0.95) 87.5%, rgba(162, 255, 203, 0.95) 93.75%, rgba(150, 255, 213, 0.95) 100%); }
  .mainNav__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    align-items: center; }
  .mainNav__item {
    margin: 20px 0 0;
    padding: 0; }
    .mainNav__item:first-of-type {
      margin: 0; }
    .mainNav__item--anchor {
      padding: 0 0 0 20px;
      color: #444 !important;
      font-size: 1.125rem;
      position: relative;
      transition: 0.1s linear; }
      .mainNav__item--anchor::before {
        content: '';
        width: 12px;
        height: 12px;
        position: absolute;
        top: 9px;
        left: 0;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%; }
      .mainNav__item--anchor:hover {
        text-decoration: none;
        letter-spacing: 0.1em;
        -moz-transform: scale(1.05);
        -webkit-transform: scale(1.05);
        transform: scale(1.05); }
    .mainNav__item:nth-of-type(1) .mainNav__item--anchor::before {
      background-color: #fe8ea1; }
    .mainNav__item:nth-of-type(2) .mainNav__item--anchor::before {
      background-color: #4ccaf1; }
    .mainNav__item:nth-of-type(3) .mainNav__item--anchor::before {
      background-color: #a0d168; }
    .mainNav__item:nth-of-type(4) .mainNav__item--anchor::before {
      background-color: #ffe84e; }
    .mainNav__item:nth-of-type(5) .mainNav__item--anchor::before {
      background-color: #ffa733; }
    .mainNav__item:nth-of-type(6) .mainNav__item--anchor::before {
      background-color: #ff6b62; }
    .mainNav__item:nth-of-type(7) .mainNav__item--anchor::before {
      background-color: #217fc4; }

.mainNavTitle {
  margin: 0 0 30px;
  padding: 0; }
  .mainNavTitle__anchor {
    width: 100%;
    height: 100%;
    padding: 0;
    color: #444 !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .mainNavTitle__anchor:hover {
      text-decoration: none; }
  .mainNavTitle__txt {
    margin: 0 0 5px;
    font-size: 0.875rem;
    line-height: 1.3;
    text-align: center; }
    .mainNavTitle__txt br:last-of-type {
      display: none; }
  .mainNavTitle__name {
    width: 150px;
    height: 32px;
    margin: 10px 0 0; }

.footer {
  width: 100%;
  height: auto;
  margin: 100px 0 0;
  padding: 0 0 40px;
  background-image: url("../img/common/footer_bg01.png"), url("../img/common/footer_bg02.png");
  background-position: bottom left, bottom right;
  background-repeat: no-repeat; }

.footerContact {
  width: 1130px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center; }
  .footerContact__left {
    width: calc(100% - 766px - 50px);
    margin: 0;
    padding: 0;
    font-style: normal; }
    .footerContact__left--name {
      font-size: 1.625rem;
      line-height: 1.0; }
      .footerContact__left--name span {
        margin: 0 0 7px;
        font-size: 0.875rem;
        line-height: 1.4;
        display: block; }
    .footerContact__left--ads {
      margin: 30px 0 0;
      line-height: 1.5; }
    .footerContact__left--btn {
      width: 260px;
      height: 30px;
      margin: 30px 0 0; }
      .footerContact__left--btn a {
        width: 100%;
        height: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #444 !important;
        line-height: 1.0;
        background-color: #F3F3F3;
        -webkit-border-radius: 15px;
        -moz-border-radius: 15px;
        border-radius: 15px;
        transition: 0.1s linear; }
        .footerContact__left--btn a span {
          padding: 0 0 0 22px;
          background-image: url("../img/common/mail02.svg");
          background-position: left center;
          background-repeat: no-repeat;
          background-size: 17px 13px; }
        .footerContact__left--btn a:hover {
          color: #FFF !important;
          text-decoration: none;
          background: #fe8ea1; }
  .footerContact__right {
    width: 766px;
    margin: 0 0 0 50px;
    position: relative; }
    .footerContact__right--title {
      width: 160px;
      height: 30px;
      position: absolute;
      top: -15px;
      right: 80px;
      z-index: 2;
      color: #FFF;
      font-size: 0.875rem;
      line-height: 1.0;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #5cc2cf;
      -webkit-border-radius: 15px;
      -moz-border-radius: 15px;
      border-radius: 15px; }
    .footerContact__right--map {
      width: 100%;
      height: 400px;
      overflow: hidden;
      background-color: #F3F3F3;
      border: 1px solid #5cc2cf;
      -webkit-border-radius: 60px;
      -moz-border-radius: 60px;
      border-radius: 60px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      position: relative;
      z-index: 1; }
      .footerContact__right--map iframe {
        height: calc(100% + 300px);
        position: relative;
        top: -150px; }

@media (max-width: 1220px) {
  .footerContact {
    width: auto;
    margin: 0;
    padding: 0 40px;
    flex-direction: column; }
    .footerContact__left {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-direction: column;
      align-items: center; }
      .footerContact__left--name {
        text-align: center; }
    .footerContact__right {
      margin: 80px auto 0; }
      .footerContact__right--title {
        right: auto;
        left: 50%;
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); } }
@media (max-width: 860px) {
  .footerContact__right {
    width: 100%; } }
@media (max-width: 700px) {
  .footer {
    margin: 60px 0 0; }

  .footerContact {
    padding: 0 20px; }
    .footerContact__right--map {
      height: 500px; } }
.footerTel {
  margin: 30px 0 0;
  padding: 0; }
  .footerTel__title {
    margin: 0;
    padding: 0 0 10px;
    display: inline-block;
    font-weight: 700;
    line-height: 1.0;
    border-bottom: 1px dashed #444;
    position: relative; }
    .footerTel__title img {
      width: 80px;
      height: 42px;
      position: absolute;
      bottom: 0;
      right: -100px; }
  .footerTel__data {
    margin: 0;
    padding: 0; }
    .footerTel__data--tel {
      margin: 10px 0 0;
      color: #ff6b62;
      font-size: 1.875rem;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 900;
      line-height: 1.0;
      position: relative; }
      .footerTel__data--tel span {
        font-size: 1.5rem; }
    .footerTel__data--time {
      margin: 5px 0 0;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center; }
      .footerTel__data--time span {
        line-height: 1.5; }
        .footerTel__data--time span:first-of-type {
          margin: 0 20px 0 0;
          padding: 0 20px 0 0;
          border-right: 1px solid #444; }

@media (max-width: 1220px) {
  .footerTel {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .footerTel__data--tel {
      text-align: center; } }
.fNav {
  width: 100%;
  margin: 100px 0 0;
  padding: 0; }
  .fNav__list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center; }
  .fNav__item {
    margin: 0 0 0 30px;
    padding: 0; }
    .fNav__item:first-of-type {
      margin: 0; }
    .fNav__item--anchor {
      padding: 0 0 0 20px;
      color: #444 !important;
      font-size: 1.125rem;
      line-height: 1.0;
      display: inline-block;
      position: relative; }
      .fNav__item--anchor::before {
        content: '';
        width: 12px;
        height: 12px;
        position: absolute;
        top: 5px;
        left: 0;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%; }
      .fNav__item--anchor:hover {
        text-decoration: none;
        animation: bounce 0.5s linear; }
    .fNav__item:nth-of-type(1) .fNav__item--anchor::before {
      background-color: #fe8ea1; }
    .fNav__item:nth-of-type(2) .fNav__item--anchor::before {
      background-color: #4ccaf1; }
    .fNav__item:nth-of-type(3) .fNav__item--anchor::before {
      background-color: #a0d168; }
    .fNav__item:nth-of-type(4) .fNav__item--anchor::before {
      background-color: #ffe84e; }
    .fNav__item:nth-of-type(5) .fNav__item--anchor::before {
      background-color: #ffa733; }

@media (max-width: 800px) {
  .fNav {
    display: none; } }
.copyright {
  margin: 100px 0 0;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.5;
  text-align: center; }

.btnMenu {
  width: 120px;
  height: 50px;
  margin: 0 0 0 20px;
  position: relative;
  z-index: 10000;
  transition: 0.1s linear; }
  .btnMenu a {
    width: 100%;
    height: 100%;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #6FB1D2;
    background: linear-gradient(135deg, #6fb1d2 0%, #38ebba 100%);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    transition: 0.1s linear; }
    .btnMenu a:hover {
      text-decoration: none;
      background: rgba(255, 255, 255, 0.5);
      border: 2px solid #75c497; }

.menu-trigger,
.menu-trigger span {
  transition: all .4s;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.menu-trigger span {
  width: 30px;
  height: 2px;
  display: block;
  position: relative;
  background-color: #FFF;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  transition: 0.1s linear; }
  .menu-trigger span:nth-of-type(1) {
    margin: 0 auto 4px; }
  .menu-trigger span:nth-of-type(2) {
    margin: 0 auto; }
  .menu-trigger span:nth-of-type(3) {
    margin: 4px auto 0; }
.menu-trigger strong {
  margin: 0 0 0 5px;
  color: #FFF;
  font-size: 0.875rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.0;
  position: relative;
  transition: 0.1s linear; }
.menu-trigger:hover span {
  background-color: #75c497; }
.menu-trigger:hover strong {
  color: #75c497; }

.menu-trigger.active span:nth-of-type(1) {
  width: 24px;
  margin: 0 auto;
  top: 2px;
  -webkit-transform: translateY(0) rotate(-45deg);
  transform: translateY(0) rotate(-45deg); }
.menu-trigger.active span:nth-of-type(2) {
  left: 0;
  opacity: 0;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards; }
.menu-trigger.active span:nth-of-type(3) {
  width: 24px;
  margin: 0 auto;
  -webkit-transform: translateY(0) rotate(45deg);
  transform: translateY(0) rotate(45deg); }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@media (max-width: 1120px) {
  .btnMenu {
    height: 60px;
    position: absolute;
    top: 50px;
    right: 20px;
    z-index: 10000; } }
@media (max-width: 700px) {
  .btnMenu {
    top: 30px; } }
@media (max-width: 500px) {
  .btnMenu {
    width: 100px;
    height: 40px;
    top: 40px; }

  .menu-trigger span {
    width: 24px; }
  .menu-trigger strong {
    font-size: 0.8125rem; } }
.pageTransition {
  overflow: hidden;
  margin: 50px auto 0;
  padding: 0;
  text-align: center;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none; }
  .pageTransition__item {
    width: 28px;
    height: 28px;
    margin: 0 1px;
    padding: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1; }
    .pageTransition__item:last-of-type {
      margin: 0; }
  .pageTransition__anchor {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    color: #217fc4 !important;
    font-size: 1rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background-color: #FFF;
    border: 1px solid #FFF;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    transition: 0.1s linear; }
    .pageTransition__anchor:hover {
      color: #FFF !important;
      font-weight: 700;
      text-decoration: none;
      background-color: #217fc4;
      border: 1px solid #217fc4; }
    .pageTransition__anchor--current {
      width: 100%;
      height: 100%;
      color: #FFF !important;
      font-size: 1rem;
      font-weight: 700;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #217fc4;
      border: 1px solid #217fc4;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }

.container {
  width: 100%;
  margin: 0;
  padding: 0 0 150px; }

@media (max-width: 1120px) {
  .container {
    padding: 0; } }
.pageTitle {
  width: 100%;
  height: 433px;
  margin: 0;
  padding: 0 0 0 calc((100% - 1300px)/2);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }
  .pageTitle__txt {
    margin: 0;
    padding: 0;
    line-height: 1.0;
    position: relative;
    z-index: 5; }
    .pageTitle__txt--jp {
      font-size: 2.75rem;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 700; }
      .pageTitle__txt--jp span {
        display: inline-block;
        opacity: 0;
        transform: scale(0.5);
        animation: popIn 0.5s ease forwards; }
    .pageTitle__txt--en {
      margin: 50px 0 0;
      color: #a0d168;
      font-size: 1.125rem;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 700; }
      .pageTitle__txt--en span {
        display: inline-block;
        opacity: 0;
        transform: translateY(30px);
        animation: slideUp 0.6s ease forwards; }
  .pageTitle__image {
    width: 865px;
    height: 100%;
    margin: 0;
    padding: 0;
    -webkit-border-top-left-radius: 220px;
    -webkit-border-bottom-left-radius: 220px;
    -moz-border-top-left-radius: 220px;
    -moz-border-bottom-left-radius: 220px;
    border-top-left-radius: 220px;
    border-bottom-left-radius: 220px;
    position: relative;
    z-index: 4; }
    .pageTitle__image::after {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: rgba(255, 255, 255, 0.2);
      -webkit-border-top-left-radius: 220px;
      -webkit-border-bottom-left-radius: 220px;
      -moz-border-top-left-radius: 220px;
      -moz-border-bottom-left-radius: 220px;
      border-top-left-radius: 220px;
      border-bottom-left-radius: 220px;
      z-index: 2; }
    .pageTitle__image--photo {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -webkit-border-top-left-radius: 220px;
      -webkit-border-bottom-left-radius: 220px;
      -moz-border-top-left-radius: 220px;
      -moz-border-bottom-left-radius: 220px;
      border-top-left-radius: 220px;
      border-bottom-left-radius: 220px;
      position: relative;
      z-index: 1;
      left: 100%;
      animation: zoomIn 0.4s ease-out forwards; }
    .pageTitle__image--txt {
      font-size: 2.25rem;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 900;
      line-height: 2.0;
      letter-spacing: 0.2em;
      position: absolute;
      bottom: -35px;
      right: 100px;
      z-index: 3; }
      .pageTitle__image--txt em {
        font-style: normal;
        -webkit-text-stroke: 12px #FFF;
        /* 白い太フチ */
        paint-order: stroke fill;
        /* フチを文字の下に配置して文字が細るのを防ぐ */
        position: relative; }
        .pageTitle__image--txt em:nth-of-type(1) {
          color: #5cc2cf; }
        .pageTitle__image--txt em:nth-of-type(2) {
          color: #ffe84e; }
        .pageTitle__image--txt em:nth-of-type(3) {
          color: #ff7f77; }
  .pageTitle__deco {
    position: absolute;
    animation-name: fuwafuwa;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards; }
    .pageTitle__deco.deco01 {
      top: 30px;
      left: 10%;
      z-index: 1;
      animation-duration: 15s; }
    .pageTitle__deco.deco02 {
      bottom: -60px;
      left: 30%;
      z-index: 2;
      animation-duration: 20s;
      animation-delay: 1s; }
    .pageTitle__deco.deco03 {
      top: -20px;
      left: 50%;
      z-index: 3;
      animation-duration: 10s;
      animation-delay: 2s; }

@keyframes popIn {
  60% {
    transform: scale(1.2); }
  to {
    opacity: 1;
    transform: scale(1); } }
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fuwafuwa {
  0% {
    transform: scale(1) rotate(0deg); }
  25% {
    transform: scale(0.8) rotate(-10deg); }
  50% {
    transform: scale(0.95) rotate(10deg); }
  75% {
    transform: scale(1.2) rotate(-10deg); }
  100% {
    transform: scale(1) rotate(0deg); } }
@keyframes zoomIn {
  to {
    left: 0; } }
@media (max-width: 1400px) {
  .pageTitle {
    height: 350px;
    padding: 0 0 0 40px; }
    .pageTitle__image {
      width: 700px;
      position: absolute;
      top: 0;
      right: 0; }
      .pageTitle__image--txt {
        right: 50px; } }
@media (max-width: 1000px) {
  .pageTitle {
    height: 300px; }
    .pageTitle__txt--jp {
      font-size: 2.25rem;
      -webkit-text-stroke: 8px #FFF;
      paint-order: stroke fill; }
    .pageTitle__txt--en {
      font-size: 1.125rem;
      margin: 20px 0 0;
      -webkit-text-stroke: 4px #FFF;
      paint-order: stroke fill; }
    .pageTitle__image {
      width: 600px; }
      .pageTitle__image--txt {
        font-size: 1.5rem;
        right: 40px; } }
@media (max-width: 800px) {
  .pageTitle {
    height: 200px; }
    .pageTitle__image {
      width: 400px; }
      .pageTitle__image--txt em {
        -webkit-text-stroke: 6px #FFF;
        /* 白い太フチ */ }
    .pageTitle__deco.deco01 {
      width: 100px;
      height: 99px; }
    .pageTitle__deco.deco02 {
      width: 130px;
      height: 121px; }
    .pageTitle__deco.deco03 {
      width: 80px;
      height: 79px; } }
@media (max-width: 700px) {
  .pageTitle {
    padding: 0 0 0 20px; }
    .pageTitle__txt--jp {
      font-size: 1.5rem;
      -webkit-text-stroke: 6px #FFF; }
    .pageTitle__txt--en {
      font-size: 1rem;
      margin: 10px 0 0; }
    .pageTitle__image--txt {
      font-size: 1.25rem;
      right: 10px; } }
@media (max-width: 500px) {
  .pageTitle {
    height: 150px; }
    .pageTitle__image {
      width: 300px; } }
.careNav {
  margin: 120px 0 0;
  padding: 0;
  list-style: none;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center; }
  .careNav__item {
    width: 300px;
    height: 120px;
    margin: 0 2px 0 0; }
    .careNav__item:first-of-type .careNav__item--anchor {
      -webkit-border-top-left-radius: 30px;
      -webkit-border-bottom-left-radius: 30px;
      -moz-border-top-left-radius: 30px;
      -moz-border-bottom-left-radius: 30px;
      border-top-left-radius: 30px;
      border-bottom-left-radius: 30px; }
    .careNav__item:last-of-type {
      margin: 0; }
      .careNav__item:last-of-type .careNav__item--anchor {
        -webkit-border-top-right-radius: 30px;
        -webkit-border-bottom-right-radius: 30px;
        -moz-border-top-right-radius: 30px;
        -moz-border-bottom-right-radius: 30px;
        border-top-right-radius: 30px;
        border-bottom-right-radius: 30px; }
    .careNav__item--anchor {
      width: 100%;
      height: 100%;
      color: #444 !important;
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.0;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #fbf7cd;
      transition: 0.1s linear;
      position: relative; }
      .careNav__item--anchor:hover {
        text-decoration: none;
        background-color: #F3F3F3;
        top: 1px;
        left: 1px; }
      .careNav__item--anchor span {
        margin: 0 0 0 10px; }

@media (max-width: 700px) {
  .careNav__item--anchor {
    font-size: 1.125rem; } }
@media (max-width: 500px) {
  .careNav {
    flex-direction: column; }
    .careNav__item {
      width: 100%;
      height: 80px;
      margin: 0 0 2px; }
      .careNav__item:first-of-type .careNav__item--anchor {
        -webkit-border-top-left-radius: 0;
        -webkit-border-bottom-left-radius: 0;
        -moz-border-top-left-radius: 0;
        -moz-border-bottom-left-radius: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        -webkit-border-top-left-radius: 30px;
        -webkit-border-top-right-radius: 30px;
        -moz-border-top-left-radius: 30px;
        -moz-border-top-right-radius: 30px;
        border-top-left-radius: 30px;
        border-top-right-radius: 30px; }
      .careNav__item:last-of-type {
        margin: 0; }
        .careNav__item:last-of-type .careNav__item--anchor {
          -webkit-border-top-right-radius: 0;
          -webkit-border-bottom-right-radius: 0;
          -moz-border-top-right-radius: 0;
          -moz-border-bottom-right-radius: 0;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0;
          -webkit-border-bottom-left-radius: 30px;
          -webkit-border-bottom-right-radius: 30px;
          -moz-border-bottom-left-radius: 30px;
          -moz-border-bottom-right-radius: 30px;
          border-bottom-left-radius: 30px;
          border-bottom-right-radius: 30px; }
      .careNav__item--anchor {
        font-size: 1.125rem; } }
.sideCate {
  margin: 0 0 100px;
  padding: 0; }
  .sideCate:first-of-type .sideCate__title .st0 {
    fill: #a0d168; }
  .sideCate:last-of-type {
    margin: 0; }
    .sideCate:last-of-type .sideCate__title .st0 {
      fill: #ffe84e; }
  .sideCate__title {
    margin: 0;
    padding: 0;
    font-size: 1.375rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    line-height: 1.0;
    display: inline-block;
    position: relative; }
    .sideCate__title svg {
      width: 42px;
      height: 35px;
      position: absolute;
      top: -35px;
      right: -35px; }
  .sideCate__data {
    margin: 40px 0 0;
    padding: 0; }
    .sideCate__data--btn {
      width: 150px;
      height: 40px;
      margin: 30px 0 0;
      transition: opacity 0.4s ease; }
      .sideCate__data--btn.js-fadeout {
        opacity: 0; }
      .sideCate__data--btn a {
        width: 100%;
        height: 100%;
        color: #FFF;
        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: 700;
        line-height: 1.0;
        background-color: #4ccaf1;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        border-radius: 20px;
        border: 1px solid #4ccaf1;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        transition: 0.1s linear;
        position: relative; }
        .sideCate__data--btn a:hover {
          color: #4ccaf1;
          text-decoration: none;
          background-color: #FFF;
          top: 1px;
          left: 1px; }
  .sideCate__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .sideCate__item {
    margin: 0 0 20px;
    padding: 0;
    line-height: 1.0; }
    .sideCate__item.js-hidden {
      display: none; }
    .sideCate__item.js-fade {
      animation: cateFadeIn 0.4s ease forwards; }
    .sideCate__item:last-of-type {
      margin: 0; }
    .sideCate__item--anchor {
      padding: 0 0 0 15px;
      font-size: 1.0625rem;
      color: #444 !important;
      position: relative; }
      .sideCate__item--anchor::before {
        content: '';
        width: 6px;
        height: 6px;
        border: 1px solid #444;
        position: absolute;
        top: 11px;
        left: 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box; }
      .sideCate__item--anchor::after {
        content: '';
        width: 100%;
        height: 1px;
        background-color: #444;
        position: absolute;
        bottom: -3px;
        left: 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        transform: scaleX(0);
        transform-origin: center right;
        transition: transform 0.4s ease; }
      .sideCate__item--anchor:hover {
        text-decoration: none;
        top: 1px;
        left: 1px; }
        .sideCate__item--anchor:hover::after {
          transform-origin: center left;
          -moz-transform: scaleX(1);
          -webkit-transform: scaleX(1);
          transform: scaleX(1); }
  .sideCate__pulldown {
    display: none; }

@media (max-width: 1120px) {
  .sideCate {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .sideCate__data--btn {
      display: none; }
    .sideCate__list {
      display: none; }
    .sideCate__pulldown {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      display: block;
      width: 300px;
      height: 50px;
      padding: 0 10px;
      font-size: 1rem;
      font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
      border: 1px solid #AAA;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      border-radius: 4px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; } }
@keyframes cateFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000000; }
  .pagetop__anchor {
    width: 68px;
    height: 99px;
    display: block;
    position: relative;
    background-image: url("../img/common/pagetop.svg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 68px 99px;
    text-indent: -9999px;
    transition: 0.1s linear; }
    .pagetop__anchor img {
      position: relative;
      transition: 0.1s linear; }
    .pagetop__anchor:hover {
      background-image: url("../img/common/pagetop_hover.svg"); }

@media (max-width: 700px) {
  .pagetop {
    bottom: 10px;
    right: 10px; }
    .pagetop__anchor {
      width: 50px;
      height: 73px;
      background-size: 50px 73px; } }
