@charset "UTF-8";
/*
カラー・フォント定義
*/
/* =========================== 共通 =========================== */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

select::-ms-expand {
  display: none; }

a {
  color: #333333;
  text-decoration: none; }
  a:hover {
    color: #333333;
    text-decoration: underline; }

ul {
  list-style-type: none; }

figure {
  margin: 0px 0px 0px 0px; }

body {
  font-family: "Noto Sans JP", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  color: #333333;
  background-color: #fff;
  position: relative;
  font-size: 16px;
  line-height: 1;
  padding: 0px;
  overflow: hidden;
  padding: 80px 0px 0px 0px; }
  body.no_scroll {
    overflow: hidden !important; }
  @media only screen and (max-width: 959px) {
    body {
      font-size: 14px;
      padding: 64px 0px 0px 0px; } }

/* =========================== 汎用スタイル =========================== */
@media only screen and (min-width: 960px) {
  .pc {
    display: block; } }
@media only screen and (max-width: 959px) {
  .pc {
    display: none; } }

@media only screen and (min-width: 960px) {
  .sp {
    display: none; } }
@media only screen and (max-width: 959px) {
  .sp {
    display: block; } }

.anchorlink {
  position: relative;
  top: -128px;
  display: block; }

.mb8 {
  margin-bottom: 8px !important; }

.mb12 {
  margin-bottom: 12px !important; }

.mb16 {
  margin-bottom: 16px !important; }

.mb24 {
  margin-bottom: 24px !important; }

.mb32 {
  margin-bottom: 32px !important; }

.mb48 {
  margin-bottom: 48px !important; }

.mb64 {
  margin-bottom: 64px !important; }

.mb96 {
  margin-bottom: 96px !important; }

.mb128 {
  margin-bottom: 128px !important; }

.fadein {
  opacity: 0;
  transform: translate(0, 40px);
  transition: all 1000ms; }

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-timing-function: ease-in-out; }
  .fadein.scrollin.del01 {
    transition-delay: 0.1s; }
  .fadein.scrollin.del02 {
    transition-delay: 0.2s; }
  .fadein.scrollin.del03 {
    transition-delay: 0.3s; }
  .fadein.scrollin.del04 {
    transition-delay: 0.4s; }
  .fadein.scrollin.del05 {
    transition-delay: 0.5s; }
  .fadein.scrollin.del06 {
    transition-delay: 0.6s; }
  .fadein.scrollin.del07 {
    transition-delay: 0.7s; }
  .fadein.scrollin.del08 {
    transition-delay: 0.8s; }
  .fadein.scrollin.del09 {
    transition-delay: 0.9s; }
  .fadein.scrollin.del1 {
    transition-delay: 1s; }

.fadeinX {
  opacity: 0;
  transform: translate(40px, 0);
  transition: all 1000ms; }

.fadeinX.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-timing-function: ease-in-out; }
  .fadeinX.scrollin.del01 {
    transition-delay: 0.1s; }
  .fadeinX.scrollin.del02 {
    transition-delay: 0.2s; }
  .fadeinX.scrollin.del03 {
    transition-delay: 0.3s; }
  .fadeinX.scrollin.del04 {
    transition-delay: 0.4s; }
  .fadeinX.scrollin.del05 {
    transition-delay: 0.5s; }
  .fadeinX.scrollin.del06 {
    transition-delay: 0.6s; }
  .fadeinX.scrollin.del07 {
    transition-delay: 0.7s; }
  .fadeinX.scrollin.del08 {
    transition-delay: 0.8s; }
  .fadeinX.scrollin.del09 {
    transition-delay: 0.9s; }
  .fadeinX.scrollin.del1 {
    transition-delay: 1s; }

header {
  height: 80px;
  width: 100%;
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 0px 32px 0px 32px;
  background-color: #fff; }
  @media only screen and (max-width: 959px) {
    header {
      height: 64px;
      padding: 0px 10px 0px 10px;
      background-color: #fff; } }
  header h1 {
    width: 125px;
    height: 45px;
    margin: 17px 0px 0px 0px; }
    @media only screen and (max-width: 959px) {
      header h1 {
        margin: 18px 0px 0px 0px;
        width: 80px;
        height: 29px; } }
    header h1 img {
      width: 100%;
      height: auto; }
  header nav {
    width: calc(100% - 125px);
    text-align: right; }
    @media only screen and (max-width: 959px) {
      header nav {
        text-align: center;
        visibility: hidden;
        transition: 0.4s;
        opacity: 0;
        top: 64px;
        left: 0;
        position: fixed;
        background-color: rgba(255, 255, 255, 0.95);
        width: 100%;
        height: calc(100% - 64px);
        padding: 24px 10px; }
        header nav.on {
          transition: 0.4s;
          opacity: 1;
          visibility: visible;
          transform: translateY(0px);
          -webkit-transform: translateY(0px); } }
    header nav .main-nav {
      padding: 26px 0px 0px 0px;
      margin: 0px 0px 16px 0px; }
      @media only screen and (max-width: 959px) {
        header nav .main-nav {
          padding: 0px 0px 24px 0px;
          margin: 0px 0px 24px 0px;
          border-bottom: 1px solid #ccc; } }
      header nav .main-nav li {
        display: inline-block;
        margin: 0px 32px 0px 0px;
        font-size: 16px; }
        header nav .main-nav li:last-child {
          margin: 0px 0px 0px 0px; }
        @media only screen and (max-width: 959px) {
          header nav .main-nav li {
            display: block;
            font-weight: 700; } }
        @media only screen and (max-width: 959px) {
          header nav .main-nav li.standard {
            margin: 0px 0px 16px 0px;
            border-bottom: 1px solid #ccc;
            padding: 0px 0px 16px 0px; } }
        header nav .main-nav li.search {
          font-size: 14px; }
          header nav .main-nav li.search input[type="text"] {
            border: 1px solid #cccccc;
            background-color: #fff;
            padding: 4px 6px;
            margin: 0px 8px 0px 8px;
            width: 140px;
            font-size: 14px;
            border-radius: 0px;
            height: 30px; }
            @media only screen and (max-width: 959px) {
              header nav .main-nav li.search input[type="text"] {
                padding: 8px;
                font-size: 12px; } }
          header nav .main-nav li.search input[type="submit"] {
            background-color: #19254a;
            color: #ffffff;
            border: none;
            padding: 6px 16px;
            cursor: pointer;
            font-size: 14px;
            border-radius: 0px;
            border-radius: 10px;
            height: 30px; }
    header nav .sub-nav {
      padding: 0px 40px 0px 0px; }
      @media only screen and (max-width: 1200px) {
        header nav .sub-nav {
          padding: 0px 0px 0px 0px; } }
      @media only screen and (max-width: 959px) {
        header nav .sub-nav ul {
          display: -webkit-flex;
          /* Safari */
          display: flex;
          -webkit-flex-direction: row;
          /* Safari */
          flex-direction: row;
          -webkit-flex-wrap: wrap;
          /* Safari */
          flex-wrap: wrap; } }
      header nav .sub-nav li {
        display: inline-block;
        margin: 0px 20px 0px 0px;
        padding: 0px 46px 0px 0px;
        background-image: url("../img/base/header/sub-menu-line.svg");
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 26px 26px; }
        @media only screen and (max-width: 1200px) {
          header nav .sub-nav li {
            margin: 0px 10px 0px 0px;
            padding: 0px 36px 0px 0px; } }
        @media only screen and (max-width: 959px) {
          header nav .sub-nav li {
            width: 50%;
            background-image: none;
            margin: 0px 0px 16px 0px;
            padding: 0px 0px 0px 0px; }
            header nav .sub-nav li:last-child {
              width: 100%; } }
        header nav .sub-nav li:last-child {
          margin: 0px 0px 0px 0px;
          padding: 0px 0px 0px 0px;
          background-image: none; }
        header nav .sub-nav li a {
          display: block;
          height: 30px;
          line-height: 30px;
          font-weight: 700;
          overflow: hidden;
          position: relative; }
          @media only screen and (max-width: 1200px) {
            header nav .sub-nav li a {
              font-size: 14px; } }
          header nav .sub-nav li a::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 1px;
            bottom: 0px;
            left: -100%;
            background-color: #ff0000;
            transition: 0.2s; }
            @media only screen and (max-width: 959px) {
              header nav .sub-nav li a::after {
                display: none; } }
          header nav .sub-nav li a:hover {
            text-decoration: none; }
            header nav .sub-nav li a:hover::after {
              left: 0%; }
          header nav .sub-nav li a img {
            height: auto;
            margin: 0px 6px -2px 0px; }
          header nav .sub-nav li a.search01 {
            color: #4a3d19; }
            header nav .sub-nav li a.search01 img {
              width: 11px; }
            header nav .sub-nav li a.search01::after {
              background-color: #4a3d19; }
          header nav .sub-nav li a.search02 {
            color: #194a28; }
            header nav .sub-nav li a.search02 img {
              width: 22px; }
            header nav .sub-nav li a.search02::after {
              background-color: #194a28; }
          header nav .sub-nav li a.search03 {
            color: #263154; }
            header nav .sub-nav li a.search03 img {
              width: 17px; }
            header nav .sub-nav li a.search03::after {
              background-color: #263154; }
          header nav .sub-nav li a.search04 {
            color: #4a1919; }
            header nav .sub-nav li a.search04 img {
              width: 18px; }
            header nav .sub-nav li a.search04::after {
              background-color: #4a1919; }
          header nav .sub-nav li a.tips img {
            width: 17px; }
          header nav .sub-nav li a.tips::after {
            background-color: #333333; }
  header .menu-btn {
    display: none;
    position: absolute;
    cursor: pointer;
    right: 10px;
    top: 20px;
    width: 30px;
    height: 23px; }
    @media only screen and (max-width: 959px) {
      header .menu-btn {
        display: block; } }
    header .menu-btn span {
      position: absolute;
      width: 30px;
      height: 3px;
      display: block;
      background-color: #2084c7;
      left: 0px;
      transition: 0.3s; }
      header .menu-btn span:nth-child(1) {
        top: 0px;
        animation: type7-top .5s;
        animation-fill-mode: forwards; }
      header .menu-btn span:nth-child(2) {
        width: 30px;
        top: 10px;
        animation-fill-mode: forwards; }
      header .menu-btn span:nth-child(3) {
        width: 30px;
        animation: type7-bottom .5s;
        animation-fill-mode: forwards;
        top: 20px;
        animation: type7-bottom .5s; }
    header .menu-btn.on span:nth-child(1) {
      animation: type7-top-close .5s;
      animation-fill-mode: forwards !important; }
    header .menu-btn.on span:nth-child(2) {
      width: 30px;
      opacity: 0; }
    header .menu-btn.on span:nth-child(3) {
      width: 30px;
      animation: type7-bottom-close .5s;
      animation-fill-mode: forwards !important; }

.side-btn {
  position: fixed;
  right: 0;
  top: 45%;
  z-index: 50; }
  @media only screen and (max-width: 959px) {
    .side-btn {
      top: inherit;
      bottom: 16px; } }
  .side-btn a {
    display: block;
    background-color: #2084c7;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border: 3px solid #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    padding: 10px 70px 10px 10px;
    background-image: url("../img/base/other/side-btn-bg.svg");
    background-size: 52px 52px;
    background-position: right 12px center;
    transition: 0.2s; }
    .side-btn a:hover {
      text-decoration: none;
      background-color: #19254a; }
    .side-btn a span {
      color: #ff8a00; }

footer {
  background-color: #19254a; }
  footer .inner {
    width: 100%;
    max-width: 1080px;
    margin: 0px auto;
    padding: 80px 0px 80px 0px;
    font-size: 14px;
    color: #fff;
    position: relative; }
    @media only screen and (max-width: 959px) {
      footer .inner {
        padding: 64px 20px 64px 20px; } }
    footer .inner a {
      color: #fff; }
    footer .inner ul {
      margin: 0px 0px 40px 0px; }
      @media only screen and (max-width: 959px) {
        footer .inner ul {
          text-align: center;
          margin: 0px 10px 32px 10px; } }
      footer .inner ul li {
        display: inline-block;
        margin: 0px 32px 0px 0px; }
        @media only screen and (max-width: 959px) {
          footer .inner ul li {
            margin: 0px 12px 0px 12px; } }
        footer .inner ul li:last-child {
          margin: 0px 0px 0px 0px; }
    footer .inner h3 {
      margin: 0px 0px 32px 0px; }
      @media only screen and (max-width: 959px) {
        footer .inner h3 {
          text-align: center; } }
      footer .inner h3 img {
        width: 157px;
        height: auto; }
    footer .inner h4 {
      font-weight: normal;
      line-height: 1.6; }
      @media only screen and (max-width: 959px) {
        footer .inner h4 {
          margin: 0px 0px 30px 0px; } }
    footer .inner small {
      position: absolute;
      font-size: 14px;
      right: 0;
      bottom: 80px; }
      @media only screen and (max-width: 959px) {
        footer .inner small {
          position: relative;
          right: inherit;
          bottom: inherit;
          text-align: right;
          display: block; } }

.pankuzu {
  padding: 0px 32px;
  margin: 0px 0px 0px 0px;
  background-color: #666666; }
  @media only screen and (max-width: 959px) {
    .pankuzu {
      margin: 8px 0px 0px 0px;
      padding: 0px 8px 0px 8px; } }
  @media only screen and (max-width: 959px) {
    .pankuzu ul {
      display: flex;
      flex-wrap: nowrap;
      /* 改行を防ぐ */ } }
  .pankuzu ul li {
    display: inline-block;
    background-size: 5px 6px;
    padding: 10px 0px 10px 0px;
    margin: 0px 16px 0px 0px;
    font-size: 12px;
    color: #fff;
    line-height: 1.2;
    white-space: nowrap; }
    .pankuzu ul li:last-child {
      white-space: inherit; }
    @media only screen and (max-width: 959px) {
      .pankuzu ul li:first-child {
        min-width: 64px; } }
    .pankuzu ul li:last-child {
      padding: 10px 0px 10px 0px; }
    .pankuzu ul li a {
      display: block;
      text-decoration: none;
      color: #fff;
      position: relative;
      padding: 0px 26px 0px 0px; }
      .pankuzu ul li a::after {
        z-index: 1;
        content: "";
        position: absolute;
        width: 10px;
        height: 1px;
        top: 50%;
        right: 0;
        background-color: #fff; }

.page-ttl {
  padding: 0px 0px;
  margin: 0px 0px 64px 0px;
  overflow: hidden;
  position: relative; }
  @media only screen and (max-width: 959px) {
    .page-ttl {
      margin: 0px 0px 32px 0px; } }
  .page-ttl::after {
    z-index: 1;
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: 0px;
    left: 0px;
    background-color: #19254a; }
  .page-ttl h1 {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0px auto 0px auto;
    font-size: 36px;
    font-weight: 700;
    padding: 40px 10px 40px 10px; }
    @media only screen and (max-width: 959px) {
      .page-ttl h1 {
        font-size: 24px;
        padding: 20px 10px 20px 10px;
        line-height: 1.4; } }
    .page-ttl h1::after {
      z-index: 2;
      content: "";
      position: absolute;
      width: 200%;
      height: 2px;
      bottom: 0px;
      left: 0px;
      background-color: #2084c7; }

@keyframes type7-top {
  0% {
    transform: translateX(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(0px) rotate(0deg); } }
@keyframes type7-bottom {
  0% {
    transform: translateY(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(0px) rotate(0deg); } }
@keyframes type7-top-close {
  0% {
    transform: translateY(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(10px) rotate(-45deg); } }
@keyframes type7-bottom-close {
  0% {
    transform: translateY(0px) rotate(0deg); }
  50% {
    transform: translateY(0px) rotate(0deg); }
  100% {
    transform: translateY(-10px) rotate(45deg); } }
.standard-text-set h2 {
  font-size: 24px;
  border-bottom: 1px solid #2084c7;
  margin: 0px 0px 32px 0px;
  padding: 0px 0px 18px 0px;
  line-height: 1.4; }
  @media only screen and (max-width: 959px) {
    .standard-text-set h2 {
      font-size: 22px; } }
.standard-text-set h3 {
  font-size: 20px;
  color: #19254a;
  margin: 0px 0px 18px 0px;
  line-height: 1.4; }
  @media only screen and (max-width: 959px) {
    .standard-text-set h3 {
      font-size: 18px; } }
.standard-text-set p {
  line-height: 1.8;
  margin: 0px 0px 32px 0px; }
.standard-text-set h4 {
  font-size: 18px;
  color: #2084c7;
  margin: 0px 0px 18px 0px;
  line-height: 1.4; }
  @media only screen and (max-width: 959px) {
    .standard-text-set h4 {
      font-size: 16px; } }
.standard-text-set h5 {
  font-size: 16px;
  margin: 0px 0px 18px 0px;
  line-height: 1.4; }
.standard-text-set .standard-list {
  padding: 0px 0px 0px 10px;
  margin: 0px 0px 24px 0px; }
  .standard-text-set .standard-list li {
    background-image: url("../img/base/list-ico01.svg");
    background-size: 18px 15px;
    background-position: left center;
    padding: 0px 0px 0px 30px;
    line-height: 1.4;
    margin: 0px 0px 12px 0px; }
.standard-text-set .emphasis-box {
  padding: 32px;
  font-weight: 700;
  border: 1px dotted #333333;
  background-color: #f3f3f3;
  line-height: 1.8;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .standard-text-set .emphasis-box {
      padding: 16px; } }
.standard-text-set .related-articles-card a {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  border: 1px solid #cccccc;
  border-radius: 5px;
  background-color: #f8f8f8; }
  @media only screen and (max-width: 959px) {
    .standard-text-set .related-articles-card a {
      display: block; } }
  .standard-text-set .related-articles-card a:hover {
    text-decoration: none; }
  .standard-text-set .related-articles-card a figure {
    width: 330px; }
    @media only screen and (max-width: 959px) {
      .standard-text-set .related-articles-card a figure {
        width: 100%; } }
    .standard-text-set .related-articles-card a figure img {
      vertical-align: bottom;
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px;
      width: 100%;
      height: auto; }
      @media only screen and (max-width: 959px) {
        .standard-text-set .related-articles-card a figure img {
          border-top-left-radius: 5px;
          border-top-right-radius: 5px;
          border-bottom-left-radius: 0px; } }
  .standard-text-set .related-articles-card a .right {
    width: calc(100% - 330px); }
    @media only screen and (max-width: 959px) {
      .standard-text-set .related-articles-card a .right {
        width: 100%; } }
    .standard-text-set .related-articles-card a .right .inner {
      padding: 32px; }
      @media only screen and (max-width: 959px) {
        .standard-text-set .related-articles-card a .right .inner {
          padding: 16px; } }
      .standard-text-set .related-articles-card a .right .inner ul li {
        display: inline-block;
        border-radius: 100px;
        padding: 6px 12px 6px 12px;
        font-size: 12px;
        margin: 0px 6px 20px 0px; }
        .standard-text-set .related-articles-card a .right .inner ul li.cat {
          background-color: #19254a;
          color: #fff; }
        .standard-text-set .related-articles-card a .right .inner ul li.tag {
          background-color: #fff; }
      .standard-text-set .related-articles-card a .right .inner h3 {
        font-size: 16px;
        color: #2084c7;
        margin: 0px 0px 20px 0px; }
      .standard-text-set .related-articles-card a .right .inner span {
        line-height: 1.6;
        font-size: 14px; }

.navigation {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  justify-content: center;
  /* 水平方向の中央揃え */ }
  .navigation h2 {
    display: none; }
  .navigation a {
    background-color: #19254a;
    font-size: 12px;
    display: inline-block;
    height: 32px;
    line-height: 31px;
    padding: 0px 9px;
    margin: 0px 5px 0px 5px;
    text-align: center;
    border-radius: 5px;
    color: #fff; }
    .navigation a svg {
      display: none; }
    .navigation a.prev::after {
      content: "<";
      width: 100%;
      display: inline; }
    .navigation a.next::after {
      content: ">";
      width: 100%;
      display: inline; }
  .navigation span.current {
    background-color: #cfcfcf;
    color: #fff;
    font-size: 12px;
    display: inline-block;
    height: 32px;
    line-height: 31px;
    padding: 0px 9px;
    text-align: center;
    border-radius: 5px;
    margin: 0px 5px 0px 5px; }
  .navigation span.dots {
    line-height: 31px; }
  .navigation .nav-prev-text,
  .navigation .nav-next-text {
    display: none; }

.base-btn01 {
  text-align: right; }
  .base-btn01 a {
    display: inline-block;
    border-radius: 100px;
    color: #fff;
    background-color: #19254a;
    padding: 20px 55px 20px 32px;
    font-size: 18px;
    position: relative; }
    @media only screen and (max-width: 959px) {
      .base-btn01 a {
        font-size: 16px;
        padding: 16px 55px 16px 32px; } }
    .base-btn01 a:hover {
      text-decoration: none;
      opacity: 0.9; }
      .base-btn01 a:hover::after {
        right: 28px; }
    .base-btn01 a::after {
      content: "";
      position: absolute;
      width: 10px;
      height: 12px;
      top: calc(50% - 6px);
      right: 32px;
      transition: 0.2s;
      background-image: url("../img/base/arrow-right.svg");
      background-size: 10px 12px; }

.btn-apply {
  text-align: center; }
  .btn-apply a {
    display: inline-block;
    border-radius: 100px;
    color: #fff;
    background-color: #ff9933;
    padding: 24px 80px 24px 32px;
    font-size: 24px;
    position: relative; }
    @media only screen and (max-width: 959px) {
      .btn-apply a {
        font-size: 16px;
        padding: 16px 80px 16px 32px; } }
    .btn-apply a:hover {
      text-decoration: none;
      opacity: 0.7; }
      .btn-apply a:hover::after {
        transform: scale(1.1, 1.1); }
    .btn-apply a::after {
      content: "";
      position: absolute;
      width: 40px;
      height: 40px;
      top: calc(50% - 20px);
      right: 32px;
      transition: 0.2s;
      background-image: url("../img/base/application-btn-icon.svg");
      background-size: 40px 40px; }
      @media only screen and (max-width: 959px) {
        .btn-apply a::after {
          width: 30px;
          height: 30px;
          background-size: 30px 30px;
          top: calc(50% - 15px); } }

.base-container {
  width: 100%;
  max-width: 1100px;
  margin: 0px auto 64px auto;
  padding: 0px 10px 0px 10px; }
  @media only screen and (max-width: 959px) {
    .base-container {
      margin: 0px 0px 40px 0px; } }

.index-ttl-h2 {
  border-bottom: 1px solid #cccccc;
  font-size: 24px;
  padding: 0px 0px 20px 0px;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .index-ttl-h2 {
      font-size: 20px;
      padding: 0px 0px 16px 0px;
      margin: 0px 0px 24px 0px; } }

.base-ttl-h2 {
  font-size: 24px;
  border-bottom: 1px solid #cccccc;
  padding: 0px 0px 20px 0px;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    .base-ttl-h2 {
      font-size: 20px;
      padding: 0px 0px 16px 0px;
      margin: 0px 0px 24px 0px; } }
  .base-ttl-h2 span {
    font-size: 14px;
    color: #19254a;
    margin: 0px 0px 0px 12px; }
    @media only screen and (max-width: 959px) {
      .base-ttl-h2 span {
        font-size: 12px; } }

.base-article-list {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  margin: 0px 0px 0px -40px; }
  @media only screen and (max-width: 959px) {
    .base-article-list {
      margin: 0px 0px 0px -16px; } }
  .base-article-list li {
    width: calc(33.3% - 40px);
    margin: 0px 0px 40px 40px; }
    @media only screen and (max-width: 959px) {
      .base-article-list li {
        width: calc(50% - 16px);
        margin: 0px 0px 40px 16px; } }
    .base-article-list li a {
      display: block; }
      .base-article-list li a:hover {
        text-decoration: none; }
        .base-article-list li a:hover figure img {
          transform: scale(1.1); }
        .base-article-list li a:hover > p {
          text-decoration: underline; }
      .base-article-list li a figure {
        margin: 0px 0px 16px 0px;
        overflow: hidden;
        border-radius: 10px; }
        @media only screen and (max-width: 959px) {
          .base-article-list li a figure {
            margin: 0px 0px 12px 0px; } }
        .base-article-list li a figure img {
          width: 100%;
          height: auto;
          border-radius: 10px;
          vertical-align: bottom;
          transition: 0.3s; }
      .base-article-list li a .job-header strong {
        display: inline-block;
        background-color: #19254a;
        color: #fff;
        padding: 6px 12px;
        border-radius: 10px;
        margin: 0px 10px 16px 0px;
        font-size: 12px; }
        @media only screen and (max-width: 959px) {
          .base-article-list li a .job-header strong {
            margin: 0px 4px 12px 0px;
            padding: 6px 6px; } }
      .base-article-list li a .job-header p {
        display: inline-block;
        background-color: #f9f7f6;
        padding: 6px 12px;
        border-radius: 10px;
        margin: 0px 10px 16px 0px;
        font-size: 12px; }
        @media only screen and (max-width: 959px) {
          .base-article-list li a .job-header p {
            margin: 0px 4px 12px 0px;
            padding: 6px 6px; } }
      .base-article-list li a h3 {
        font-size: 16px;
        font-weight: 700;
        color: #2084c7;
        margin: 0px 0px 16px 0px;
        line-height: 1.4; }
        @media only screen and (max-width: 959px) {
          .base-article-list li a h3 {
            font-size: 14px;
            line-height: 1.2;
            margin: 0px 0px 12px 0px; } }
      .base-article-list li a em {
        font-style: normal;
        font-size: 14px;
        font-weight: 700;
        display: block;
        margin: 0px 0px 16px 0px; }
        @media only screen and (max-width: 959px) {
          .base-article-list li a em {
            font-size: 12px;
            margin: 0px 0px 12px 0px; } }
      .base-article-list li a > p {
        font-size: 14px;
        line-height: 1.6;
        margin: 0px 0px 16px 0px; }
        @media only screen and (max-width: 959px) {
          .base-article-list li a > p {
            font-size: 12px;
            margin: 0px 0px 8px 0px; } }
      .base-article-list li a h4 {
        font-size: 12px;
        color: #666666;
        text-align: right;
        font-weight: 700; }

.job-site-btn a {
  display: block;
  transition: 0.1s; }
  .job-site-btn a:hover {
    opacity: 0.8; }
  .job-site-btn a img {
    width: 100%;
    height: auto; }

.ranking-containe .inner {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  justify-content: center;
  margin: 0px 0px 0px -40px; }
  @media only screen and (max-width: 959px) {
    .ranking-containe .inner {
      margin: 0px 0px 0px 0px; } }
  .ranking-containe .inner .ranking-post {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    width: calc(33.3% - 40px);
    margin: 0px 0px 40px 40px;
    text-decoration: none; }
    @media only screen and (max-width: 959px) {
      .ranking-containe .inner .ranking-post {
        width: 100%;
        margin: 0px 0px 20px 0px; } }
    .ranking-containe .inner .ranking-post figure {
      width: 50%;
      border-radius: 5px;
      overflow: hidden; }
      .ranking-containe .inner .ranking-post figure img {
        width: 100%;
        height: auto;
        border-radius: 5px;
        transition: 0.2s; }
    .ranking-containe .inner .ranking-post:hover figure img {
      transform: scale(1.1, 1.1); }
    .ranking-containe .inner .ranking-post .right {
      width: 50%;
      padding: 0px 0px 0px 16px; }
      .ranking-containe .inner .ranking-post .right em {
        display: inline-block;
        background-color: #333333;
        color: #fff;
        padding: 4px 10px;
        margin: 0px 0px 12px 0px;
        font-size: 12px;
        font-style: normal; }
      .ranking-containe .inner .ranking-post .right h3 {
        font-size: 12px;
        font-weight: 700;
        line-height: 1.4;
        color: #2084c7;
        margin: 0px 0px 6px 0px; }
      .ranking-containe .inner .ranking-post .right ul li {
        display: inline-block;
        border-radius: 100px;
        background-color: #f9f7f6;
        padding: 6px 16px;
        font-size: 12px;
        margin: 0px 8px 6px 0px; }

body.index .mv {
  width: 100%;
  height: auto;
  background-color: #f4f4f4;
  padding: 50px 0px 50px 0px;
  margin: 0px 0px 64px 0px;
  /* 矢印全体の共通スタイル（位置調整など） */
  /* slick.js のデフォルト文字（←や→）を非表示に */
  /* 左矢印の画像差し替え */
  /* 右矢印の画像差し替え */ }
  @media only screen and (max-width: 959px) {
    body.index .mv {
      padding: 24px 0px 24px 0px;
      margin: 0px 0px 32px 0px; } }
  body.index .mv .slider-wrapper {
    overflow: hidden;
    padding: 0 10vw;
    /* 両端に余白を作って半分だけ見えるように */ }
  body.index .mv .slider-container .slick-slide {
    margin: 0 10px;
    transition: transform 0.3s ease; }
  body.index .mv .slick-prev,
  body.index .mv .slick-next {
    width: 38px;
    height: 38px;
    z-index: 10;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    outline: none;
    opacity: 1; }
  body.index .mv .slick-prev::before,
  body.index .mv .slick-next::before {
    content: none; }
  body.index .mv .slick-prev {
    background-image: url("../img/base/other/left-bg.svg");
    left: 32px;
    /* スライダーの外に配置する場合 */ }
    @media only screen and (max-width: 959px) {
      body.index .mv .slick-prev {
        left: 16px; } }
  body.index .mv .slick-next {
    background-image: url("../img/base/other/right-bg.svg");
    right: 32px; }
    @media only screen and (max-width: 959px) {
      body.index .mv .slick-next {
        right: 16px; } }
  body.index .mv .slide a {
    display: block;
    height: 100%;
    position: relative; }
    body.index .mv .slide a figure {
      position: relative;
      z-index: 5;
      border-radius: 10px; }
      body.index .mv .slide a figure img {
        border-radius: 10px;
        width: 100%;
        height: auto; }
    body.index .mv .slide a .detail {
      position: absolute;
      z-index: 6;
      bottom: 16px;
      left: 16px;
      border-radius: 10px;
      padding: 16px 32px;
      background-color: rgba(255, 255, 255, 0.85);
      width: calc(100% - 32px); }
      @media only screen and (max-width: 959px) {
        body.index .mv .slide a .detail {
          width: 100%;
          left: 0;
          bottom: 0;
          padding: 12px 12px; } }
      body.index .mv .slide a .detail .detail-header {
        display: -webkit-flex;
        /* Safari */
        display: flex;
        -webkit-flex-direction: row;
        /* Safari */
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        /* Safari */
        flex-wrap: wrap;
        margin: 0px 0px 12px 0px; }
        @media only screen and (max-width: 959px) {
          body.index .mv .slide a .detail .detail-header {
            margin: 0px 0px 8px 0px; } }
        body.index .mv .slide a .detail .detail-header ul {
          width: calc(100% - 80px); }
          body.index .mv .slide a .detail .detail-header ul li {
            display: inline-block;
            border-radius: 100px;
            font-size: 12px;
            border: 1px solid #19254a;
            background-color: #fff;
            color: #19254a;
            padding: 4px 12px;
            margin: 0px 10px 0px 0px; }
            @media only screen and (max-width: 959px) {
              body.index .mv .slide a .detail .detail-header ul li {
                font-size: 11px;
                padding: 4px 6px; } }
        body.index .mv .slide a .detail .detail-header em {
          width: 80px;
          font-style: normal;
          font-size: 12px;
          text-align: right; }
          @media only screen and (max-width: 959px) {
            body.index .mv .slide a .detail .detail-header em {
              width: 60px;
              font-size: 11px; } }
      body.index .mv .slide a .detail h3 {
        font-size: 18px;
        font-weight: 700;
        color: #2084c7;
        line-height: 1.6; }
        @media only screen and (max-width: 959px) {
          body.index .mv .slide a .detail h3 {
            font-size: 14px;
            line-height: 1.4; } }
body.index .box01 {
  background-color: #f4f4f4;
  padding: 64px 96px;
  position: relative;
  margin: 0px 0px 64px 0px; }
  @media only screen and (max-width: 959px) {
    body.index .box01 {
      padding: 24px 16px;
      margin: 0px 0px 32px 0px; } }
  body.index .box01 .inner {
    position: relative;
    z-index: 5; }
    body.index .box01 .inner h3 {
      font-size: 18px;
      font-weight: 400;
      line-height: 2; }
      @media only screen and (max-width: 959px) {
        body.index .box01 .inner h3 {
          font-size: 16px;
          line-height: 2;
          font-weight: 700; } }
  body.index .box01 > figure {
    position: absolute;
    right: 96px;
    bottom: -32px;
    width: 30%;
    max-width: 450px;
    z-index: 4; }
    @media only screen and (max-width: 959px) {
      body.index .box01 > figure {
        width: 50%;
        right: 16px;
        opacity: 0.5; } }
    body.index .box01 > figure img {
      width: 100%;
      height: auto; }

body.hina .hina-ttl-h1 {
  font-size: 24px;
  border-bottom: 2px solid #2084c7;
  margin: 0px 0px 32px 0px; }
  @media only screen and (max-width: 959px) {
    body.hina .hina-ttl-h1 {
      font-size: 18px;
      margin: 0px 0px 24px 0px; } }
  body.hina .hina-ttl-h1 span {
    display: inline-block;
    position: relative;
    padding: 0px 0px 16px 0px; }
    body.hina .hina-ttl-h1 span::after {
      z-index: 1;
      content: "";
      position: absolute;
      width: 100%;
      height: 2px;
      bottom: -2px;
      left: 0;
      background-color: #19254a; }

body.category .search-num {
  font-size: 16px;
  margin: 0px 0px 32px 0px; }

body.category .category-list {
  margin: 0px 0px 52px 0px; }
  @media only screen and (max-width: 959px) {
    body.category .category-list {
      margin: 0px 0px 32px 0px; } }
  body.category .category-list li {
    display: inline-block;
    margin: 0px 12px 12px 0px; }
    @media only screen and (max-width: 959px) {
      body.category .category-list li {
        margin: 0px 8px 8px 0px; } }
    body.category .category-list li a {
      display: block;
      background-color: #19254a;
      color: #fff;
      padding: 8px 20px;
      border-radius: 5px;
      font-size: 12px;
      text-decoration: none; }
      @media only screen and (max-width: 959px) {
        body.category .category-list li a {
          padding: 8px 10px; } }
      body.category .category-list li a:hover {
        background-color: #2084c7; }

body.contact .contact-top-text {
  line-height: 1.6;
  margin: 0px 0px 32px 0px; }
body.contact .form-container {
  max-width: 900px; }
  body.contact .form-container dl {
    margin: 0px 0px 32px 0px; }
    @media only screen and (max-width: 959px) {
      body.contact .form-container dl {
        margin: 0px 0px 24px 0px; } }
    body.contact .form-container dl dt {
      margin: 0px 0px 12px 0px; }
      body.contact .form-container dl dt span {
        display: inline-block;
        font-size: 12px;
        color: #ff3333;
        margin: 0px 0px 0px 10px; }
  body.contact .form-container input[type="text"], body.contact .form-container textarea {
    border: 1px solid #cccccc;
    background-color: #f6f6f6;
    padding: 10px 10px;
    margin: 0px 0px 0px 0px;
    width: 100%;
    font-size: 16px; }
    @media only screen and (max-width: 959px) {
      body.contact .form-container input[type="text"], body.contact .form-container textarea {
        padding: 8px;
        font-size: 14px; } }
  body.contact .form-container button {
    margin: 10px 0px 0px 0px;
    border-radius: 100px;
    background-color: #19254a;
    color: #fff;
    padding: 10px 20px;
    font-size: 14px; }
  body.contact .form-container .submit-btn {
    text-align: center; }
  body.contact .form-container input[type="submit"] {
    background-color: #19254a;
    color: #ffffff;
    border: none;
    padding: 20px 50px;
    cursor: pointer;
    font-size: 24px;
    border-radius: 100px; }

body.detail .detail-main-container {
  max-width: 920px; }
body.detail .detail-header {
  display: -webkit-flex;
  /* Safari */
  display: flex;
  -webkit-flex-direction: row;
  /* Safari */
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  font-size: 12px;
  margin: 0px 0px 32px 0px; }
  body.detail .detail-header .left {
    width: calc(100% - 80px); }
    body.detail .detail-header .left ul {
      margin: 0px 0px -6px 0px; }
      body.detail .detail-header .left ul li {
        display: inline-block;
        margin: 0px 10px 6px 0px; }
        body.detail .detail-header .left ul li:last-child {
          margin: 0px 0px 0px 0px; }
        body.detail .detail-header .left ul li a {
          display: block;
          border-radius: 100px;
          padding: 6px 12px 6px 12px; }
          body.detail .detail-header .left ul li a.cat {
            background-color: #19254a;
            color: #fff; }
          body.detail .detail-header .left ul li a.tag {
            background-color: #f9f7f6; }
  body.detail .detail-header .right {
    width: 80px;
    text-align: right; }
    body.detail .detail-header .right em {
      font-style: normal; }
body.detail .main-img {
  margin: 0px 0px 40px 0px; }
  body.detail .main-img img {
    width: 100%;
    height: auto;
    border-radius: 10px; }

body.ranking .ranking-list .ranking-container {
  margin: 0px 0px 40px 0px; }
  @media only screen and (max-width: 959px) {
    body.ranking .ranking-list .ranking-container {
      margin: 0px 0px 32px 0px; } }
  body.ranking .ranking-list .ranking-container a {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap; }
    @media only screen and (max-width: 959px) {
      body.ranking .ranking-list .ranking-container a {
        display: block; } }
    body.ranking .ranking-list .ranking-container a:hover {
      text-decoration: none; }
      body.ranking .ranking-list .ranking-container a:hover figure img {
        transform: scale(1.1, 1.1); }
  body.ranking .ranking-list .ranking-container figure {
    width: 25%;
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 959px) {
      body.ranking .ranking-list .ranking-container figure {
        width: 100%;
        margin: 0px 0px 16px 0px; } }
    body.ranking .ranking-list .ranking-container figure img {
      transition: 0.2s;
      position: relative;
      z-index: 5;
      width: 100%;
      height: auto; }
    body.ranking .ranking-list .ranking-container figure figcaption {
      position: absolute;
      z-index: 6;
      left: 0;
      top: 0;
      display: inline-block;
      background-color: #19254a;
      color: #fff;
      padding: 8px 8px; }
  body.ranking .ranking-list .ranking-container .right {
    width: 75%;
    padding: 0px 0px 0px 24px; }
    @media only screen and (max-width: 959px) {
      body.ranking .ranking-list .ranking-container .right {
        width: 100%;
        padding: 0px 0px 0px 0px; } }
    body.ranking .ranking-list .ranking-container .right .ranking-header strong {
      display: inline-block;
      background-color: #19254a;
      color: #fff;
      padding: 6px 12px;
      border-radius: 10px;
      margin: 0px 10px 16px 0px;
      font-size: 12px; }
      @media only screen and (max-width: 959px) {
        body.ranking .ranking-list .ranking-container .right .ranking-header strong {
          margin: 0px 4px 12px 0px;
          padding: 6px 6px; } }
    body.ranking .ranking-list .ranking-container .right .ranking-header p {
      display: inline-block;
      background-color: #f9f7f6;
      padding: 6px 12px;
      border-radius: 10px;
      margin: 0px 10px 16px 0px;
      font-size: 12px; }
      @media only screen and (max-width: 959px) {
        body.ranking .ranking-list .ranking-container .right .ranking-header p {
          margin: 0px 4px 12px 0px;
          padding: 6px 6px; } }
    body.ranking .ranking-list .ranking-container .right h2 {
      color: #2084c7;
      font-size: 18px;
      line-height: 1.4;
      font-weight: 700;
      margin: 0px 0px 16px 0px; }
      @media only screen and (max-width: 959px) {
        body.ranking .ranking-list .ranking-container .right h2 {
          margin: 0px 0px 12px 0px;
          font-size: 16px; } }
    body.ranking .ranking-list .ranking-container .right p {
      line-height: 1.6;
      font-size: 14px; }
