@charset "UTF-8";
/* !!------------------------------------ */
/* !! 共通 */
/* !!------------------------------------ */
@import url("http://fonts.googleapis.com/earlyaccess/notosansjp.css");
a {
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  text-decoration: none;
  color: inherit; }

a:hover {
  opacity: 0.8; }

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  line-height: 1;
  word-break: break-all; }

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, input, textarea {
  margin: 0;
  padding: 0;
  border: none;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

img {
  vertical-align: bottom; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section, div, address, iframe, canvas, hr, textarea {
  display: block;
  line-height: 1; }

iframe {
  max-width: 100% !important; }

alabel {
  cursor: pointer; }

blockquote {
  padding: 0;
  margin: 0;
  display: block; }

address, em {
  font-style: normal; }

hr {
  border: 0;
  margin: 0;
  padding: 0; }

ul, ol, li {
  list-style: none;
  margin: 0;
  padding: 0; }

textarea {
  resize: vertical;
  overflow: hidden;
  -webkit-appearance: none;
  border: none; }

button, select {
  vertical-align: middle;
  border-radius: 0px;
  border: none;
  background: transparent;
  margin: 0;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none; }

table {
  border-collapse: collapse; }

*:before, *:after {
  padding: 0;
  margin: 0;
  line-height: 1; }

::selection {
  color: #fff;
  background: #171c61; }

::-moz-selection {
  color: #fff;
  background: #171c61; }

/* Arrows */
.slick-prev, .slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent; }

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
  opacity: 1; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: 0.25; }

.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px; }

.slick-prev:before {
  content: "←"; }

[dir="rtl"] .slick-prev:before {
  content: "→"; }

.slick-next {
  right: -25px; }

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto; }

.slick-next:before {
  content: "→"; }

[dir="rtl"] .slick-next:before {
  content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .slick-dotted.slick-slider {
      margin-bottom: 20px; } }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer; }

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 767px) {
    .slick-track {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start; } }

.slick-track:before, .slick-track:after {
  content: "";
  display: table; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }

[dir="rtl"] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

*, :before, :after {
  box-sizing: border-box; }

html {
  min-height: 100%;
  font-size: 10px; }

body {
  min-width: 1366px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-style: normal;
  line-break: strict;
  word-break: break-word;
  overflow-wrap: break-word;
  width: 100%;
  color: #333; }
  @media screen and (max-width: 767px) {
    body {
      min-width: inherit; } }

.pc {
  display: block !important; }
  @media screen and (max-width: 767px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 767px) {
    .sp {
      display: block !important; } }

.din-bold {
  font-family: din-2014, sans-serif;
  font-weight: 700;
  font-style: normal; }

.din-condensed {
  font-family: din-condensed, sans-serif;
  font-weight: 400;
  font-style: normal; }

.tsuku-br {
  font-family: fot-tsukubrdgothic-std, sans-serif;
  font-weight: 700;
  font-style: normal; }

.mina {
  font-family: mina, serif;
  font-weight: 400;
  font-style: normal; }

.inner {
  width: 1100px;
  margin: 0 auto;
  padding: 0 60px;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .inner {
      width: 100%;
      padding: 0 15px; } }

@media screen and (max-width: 767px) {
  img {
    width: 100%;
    height: auto; } }

/* !!------------------------------------ */
/* !! header */
.mv-wrap {
  width: 100%;
  height: 100vh;
  min-height: 768px;
  background-image: url(../img/mv-bg@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  position: relative; }
  @media screen and (max-width: 767px) {
    .mv-wrap {
      min-height: inherit;
      background-image: url(../img/mv-bg-sp@3x.png); } }

.header .inner {
  padding-top: 60px; }
  @media screen and (max-width: 767px) {
    .header .inner {
      padding-top: 25px; } }

.header .ttl-h1 {
  width: 194px;
  height: 135px; }
  @media screen and (max-width: 767px) {
    .header .ttl-h1 {
      width: 100px;
      height: 70px; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .header .ttl-h1 {
      width: 80px;
      height: 56px; } }
  .header .ttl-h1 a {
    display: block; }
    .header .ttl-h1 a img {
      width: 100%;
      height: auto; }
    .header .ttl-h1 a:hover {
      opacity: 1;
      transition: inherit; }

.header.fixed {
  width: 100%;
  height: 60px;
  background: -moz-linear-gradient(51.9% -184.61% -100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -webkit-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -webkit-gradient(linear, 51.9% -184.61%, 48.1% 284.61%, color-stop(0, #171c61), color-stop(0.1968, #113278), color-stop(0.5307, #085198), color-stop(0.8105, #0264ac), color-stop(1, #006bb3));
  background: -o-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -ms-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61', endColorstr='#006BB3' ,GradientType=0)";
  background: linear-gradient(190deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61',endColorstr='#006BB3' , GradientType=1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  animation: DownAnime 0.5s forwards; }
  @media screen and (max-width: 767px) {
    .header.fixed {
      height: 55px; } }

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
  .header.fixed .inner {
    height: 60px;
    margin-top: 0; }
    @media screen and (max-width: 767px) {
      .header.fixed .inner {
        height: 55px; } }
  .header.fixed .ttl-h1 {
    width: 166px;
    height: 35px;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%); }
    @media screen and (max-width: 767px) {
      .header.fixed .ttl-h1 {
        width: 142px;
        height: 30px; } }

.catch-wrap {
  position: absolute;
  top: calc(50% - 70px);
  left: 60px;
  transform: translate(0, -50%); }
  @media screen and (max-width: 767px) {
    .catch-wrap {
      top: calc(50% - 10px);
      left: 20px; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .catch-wrap {
      top: 50%; } }
  .catch-wrap .ttl-wrap {
    display: inline-flex;
    flex-direction: column;
    margin-bottom: 20px; }
    @media screen and (max-width: 320px) {
      .catch-wrap .ttl-wrap {
        margin-bottom: 15px; } }
  .catch-wrap .ttl {
    display: inline-block;
    margin-bottom: 10px; }
    @media screen and (max-width: 767px) {
      .catch-wrap .ttl {
        margin-bottom: 5px; } }
    .catch-wrap .ttl:last-of-type {
      margin-bottom: 0; }
  .catch-wrap p span {
    letter-spacing: .18em;
    padding: 10px 20px;
    display: inline-block;
    background: -moz-linear-gradient(54.12% -26.53% -100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
    background: -webkit-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
    background: -webkit-gradient(linear, 54.12% -26.53%, 45.88% 126.53%, color-stop(0, #171c61), color-stop(0.1968, #113278), color-stop(0.5307, #085198), color-stop(0.8105, #0264ac), color-stop(1, #006bb3));
    background: -o-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
    background: -ms-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61', endColorstr='#006BB3' ,GradientType=0)";
    background: linear-gradient(190deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61',endColorstr='#006BB3' , GradientType=1); }
    @media screen and (max-width: 767px) {
      .catch-wrap p span {
        padding: 5px 15px; } }
    .catch-wrap p span img {
      width: 100%;
      height: auto; }
      @media screen and (max-width: 767px) {
        .catch-wrap p span img {
          width: auto;
          height: 7.7vw; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .catch-wrap p span img {
      height: 6.7vw; } }
  .catch-wrap .sub-txt {
    font-size: 1.8rem;
    font-weight: bold;
    color: #549ab2;
    line-height: 1.7;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .catch-wrap .sub-txt {
        font-size: 1.4rem;
        margin: 0 0 0 15px; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .catch-wrap .sub-txt {
      font-size: 1.3rem; } }
  .catch-wrap .detail-link {
    width: 280px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 40px;
    color: #549ab2;
    text-align: center;
    display: block;
    border: 1px solid #549ab2;
    border-radius: 20px;
    position: relative; }
    .catch-wrap .detail-link:after {
      content: "";
      width: 5px;
      height: 5px;
      border-top: 1px solid #549ab2;
      border-right: 1px solid #549ab2;
      position: absolute;
      top: 50%;
      right: 15px;
      transform: translate(-50%, -50%) rotate(45deg);
      transition: all ease 0.3s; }
    .catch-wrap .detail-link:hover {
      color: #fff;
      background: #549ab2; }
      .catch-wrap .detail-link:hover:after {
        border-color: #fff; }

.wrapper {
  height: calc(100% - 195px); }
  @media screen and (max-width: 767px) {
    .wrapper {
      overflow: visible; } }

@media screen and (max-width: 767px) {
  .detail-link {
    width: calc(100% - 40px);
    font-size: 1.5rem;
    color: #549ab2;
    font-weight: bold;
    line-height: 46px;
    text-align: center;
    display: block;
    margin: 30px auto 0 auto;
    border: 1px solid #549ab2;
    border-radius: 23px;
    position: relative; }
    .detail-link:after {
      content: "";
      width: 6px;
      height: 6px;
      border-top: 1px solid #549ab2;
      border-right: 1px solid #549ab2;
      position: absolute;
      top: 50%;
      right: 15px;
      transform: translate(-50%, -50%) rotate(45deg); } }

@-webkit-keyframes passing-bar {
  0% {
    left: 0;
    right: auto;
    width: 0; }
  50% {
    left: 0;
    right: auto;
    width: 100%; }
  51% {
    left: auto;
    right: 0;
    width: 100%; }
  100% {
    left: auto;
    right: 0;
    width: 0; } }

@keyframes passing-bar {
  0% {
    left: 0;
    width: 0; }
  50% {
    left: 0;
    width: 100%; }
  51% {
    left: 0;
    width: 100%; }
  100% {
    left: 100%;
    width: 0; } }

@-webkit-keyframes passing-txt {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes passing-txt {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.passing-bar {
  position: relative;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.passing-bar:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: -moz-linear-gradient(54.12% -26.53% -100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -webkit-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -webkit-gradient(linear, 54.12% -26.53%, 45.88% 126.53%, color-stop(0, #171c61), color-stop(0.1968, #113278), color-stop(0.5307, #085198), color-stop(0.8105, #0264ac), color-stop(1, #006bb3));
  background: -o-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -ms-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61', endColorstr='#006BB3' ,GradientType=0)";
  background: linear-gradient(190deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61',endColorstr='#006BB3' , GradientType=1); }

.passing-txt {
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background: #fff; }

.passing-bar:before {
  -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
  animation: passing-bar 1s ease 0s 1 normal forwards; }

.passing-txt {
  -webkit-animation: passing-txt 0s ease 0.5s 1 normal forwards;
  animation: passing-txt 0s ease 0.5s 1 normal forwards; }

/* !!------------------------------------ */
/* !! nav */
.nav {
  width: 60px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .nav {
      width: 55px; } }
  .nav .nav-list {
    width: 100%;
    height: 200px; }
  .nav ._1 {
    height: 60px;
    background: #fff; }
    @media screen and (max-width: 767px) {
      .nav ._1 {
        height: 55px; } }
    .nav ._1 .hbg-btn {
      width: 100%;
      height: 100%;
      cursor: pointer; }
      .nav ._1 .hbg-btn span {
        width: 100%;
        height: 100%;
        display: block;
        position: relative; }
        .nav ._1 .hbg-btn span:before, .nav ._1 .hbg-btn span:after {
          content: "";
          width: 24px;
          height: 4px;
          border-radius: 2px;
          position: absolute;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: all ease 0.3s; }
        .nav ._1 .hbg-btn span:before {
          background: #171c61;
          top: calc(50% - 9px); }
        .nav ._1 .hbg-btn span:after {
          background: #549ab2;
          bottom: calc(50% - 9px); }
      .nav ._1 .hbg-btn.on span:before {
        background: -moz-linear-gradient(0% 50% 0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        background: -webkit-linear-gradient(0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #171c61), color-stop(0.1968, #113278), color-stop(0.5307, #085198), color-stop(0.8105, #0264ac), color-stop(1, #006bb3));
        background: -o-linear-gradient(0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        background: -ms-linear-gradient(0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61', endColorstr='#006BB3' ,GradientType=0)";
        background: linear-gradient(90deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61',endColorstr='#006BB3' , GradientType=1);
        top: 50%;
        transform: translate(-50%, -50%) rotate(45deg); }
      .nav ._1 .hbg-btn.on span:after {
        background: -moz-linear-gradient(0% 50% 0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        background: -webkit-linear-gradient(0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #171c61), color-stop(0.1968, #113278), color-stop(0.5307, #085198), color-stop(0.8105, #0264ac), color-stop(1, #006bb3));
        background: -o-linear-gradient(0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        background: -ms-linear-gradient(0deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61', endColorstr='#006BB3' ,GradientType=0)";
        background: linear-gradient(90deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61',endColorstr='#006BB3' , GradientType=1);
        top: 50%;
        transform: translate(-50%, -50%) rotate(-45deg); }
  .nav ._2, .nav ._3 {
    font-size: 1.4rem;
    letter-spacing: .1em;
    font-weight: bold;
    color: #fff;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl; }
    @media screen and (max-width: 767px) {
      .nav ._2, .nav ._3 {
        width: 50%;
        height: 70px;
        writing-mode: inherit;
        position: fixed;
        bottom: 0; } }
    .nav ._2 a, .nav ._3 a {
      width: 100%;
      height: 100%;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center; }
  .nav ._2 {
    background: #464b84; }
    @media screen and (max-width: 767px) {
      .nav ._2 {
        left: 0; } }
  .nav ._3 {
    background: #cfab0d; }
    @media screen and (max-width: 767px) {
      .nav ._3 {
        right: 0; } }

.nav-wrap {
  width: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  padding-bottom: 65px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
  display: none;
  z-index: -1; }
  @media screen and (max-width: 767px) {
    .nav-wrap {
      padding-bottom: 0; } }
  .nav-wrap .nav-header {
    margin-top: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .nav-wrap .nav-header {
        margin-top: 25px;
        justify-content: flex-start; }
        .nav-wrap .nav-header .logo {
          flex-basis: 100px;
          max-width: 100px;
          height: 70px;
          margin-right: 25px; } }
    .nav-wrap .nav-header .catch-wrap {
      margin-top: 0;
      position: static;
      transform: none; }
      @media screen and (max-width: 767px) {
        .nav-wrap .nav-header .catch-wrap img {
          width: 35vw;
          height: auto; } }
    .nav-wrap .nav-header .tsuku-br {
      font-size: 3.6rem;
      letter-spacing: .18em;
      color: #549ab2; }
      @media screen and (max-width: 767px) {
        .nav-wrap .nav-header .tsuku-br {
          font-size: 6vw;
          line-height: 1.5; } }
    .nav-wrap .nav-header .sub-txt {
      margin: 20px 0 0 0; }
      @media screen and (max-width: 767px) {
        .nav-wrap .nav-header .sub-txt {
          display: none; } }
  .nav-wrap .nav-list-item {
    margin-top: 56px;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      .nav-wrap .nav-list-item {
        flex-direction: column;
        margin-top: 30px; } }
    .nav-wrap .nav-list-item .item {
      flex-basis: 50%;
      max-width: 50%;
      height: 115px;
      border-right: 1px solid #f2f2f2;
      border-bottom: 1px solid #f2f2f2; }
      @media screen and (max-width: 767px) {
        .nav-wrap .nav-list-item .item {
          flex-basis: 100%;
          max-width: 100%;
          height: 60px;
          border-right: none; } }
      .nav-wrap .nav-list-item .item:nth-child(even) {
        border-right: none; }
      .nav-wrap .nav-list-item .item:nth-child(n + 7) {
        border-bottom: none; }
        @media screen and (max-width: 767px) {
          .nav-wrap .nav-list-item .item:nth-child(n + 7) {
            border-bottom: 1px solid #f2f2f2; } }
      @media screen and (max-width: 767px) {
        .nav-wrap .nav-list-item .item:last-child {
          border-bottom: none; } }
      .nav-wrap .nav-list-item .item a {
        width: 100%;
        height: 100%;
        font-size: 2.6rem;
        font-weight: bold;
        letter-spacing: .1em;
        text-align: center;
        color: #549ab2;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 767px) {
          .nav-wrap .nav-list-item .item a {
            font-size: 1.5rem; } }
        .nav-wrap .nav-list-item .item a:hover {
          color: #fff;
          background: #549ab2; }

/* !!------------------------------------ */
/* !! サービス内容 */
section > .inner {
  overflow: visible; }

.ttl-h2 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .1em;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .ttl-h2 {
      font-size: 4.8vw;
      margin-bottom: 40px;
      overflow: visible; } }
  .ttl-h2 span {
    font-size: 4.8rem;
    letter-spacing: normal;
    display: block;
    margin-bottom: 35px; }
    @media screen and (max-width: 767px) {
      .ttl-h2 span {
        font-size: 3rem;
        white-space: nowrap;
        margin-bottom: 15px; } }

.lead-txt {
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: .1em; }
  @media screen and (max-width: 767px) {
    .lead-txt {
      font-size: 1.4rem;
      line-height: 2; } }

.ttl-h3 {
  font-size: 3.6rem;
  text-align: center;
  letter-spacing: .1em;
  margin-bottom: 70px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .ttl-h3 {
      font-size: 1.7rem;
      margin-bottom: 60px; } }
  .ttl-h3 span {
    width: 100%;
    font-size: 12.8rem;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: .2; }
    @media screen and (max-width: 767px) {
      .ttl-h3 span {
        font-size: 5rem;
        top: -8px; } }

@media screen and (max-width: 767px) {
  .service-section {
    padding-top: 80px; } }

.service-section .ttl-h2 {
  color: #549ab2;
  margin-top: 50px;
  padding-top: 150px;
  margin-top: -100px;
  overflow: visible; }
  @media screen and (max-width: 767px) {
    .service-section .ttl-h2 {
      margin-top: 0;
      padding-top: 0; } }

.service-section .lead-txt {
  text-align: center;
  margin-bottom: 65px; }
  @media screen and (max-width: 767px) {
    .service-section .lead-txt {
      text-align: justify;
      margin-bottom: 45px; } }
  .service-section .lead-txt strong {
    color: #549ab2; }

.service-section .for-student, .service-section .for-company {
  padding: 180px 0 140px 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .service-section .for-student, .service-section .for-company {
      padding: 95px 0 40px; } }
  .service-section .for-student:before, .service-section .for-company:before {
    content: "";
    width: 100%;
    height: 600px;
    background-image: url(../img/pt1@2x.png);
    background-repeat: repeat;
    background-size: 36px 36px;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0; }
  .service-section .for-student .inner, .service-section .for-company .inner {
    overflow: visible;
    padding: 0; }
    @media screen and (max-width: 767px) {
      .service-section .for-student .inner, .service-section .for-company .inner {
        padding: 0 15px; } }

.service-section .service-wrap {
  background: #fff;
  padding: 80px 0 90px;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05); }
  @media screen and (max-width: 767px) {
    .service-section .service-wrap {
      padding: 40px 20px;
      border-radius: 5px; } }

.service-section .business {
  width: 800px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 50px auto; }
  @media screen and (max-width: 767px) {
    .service-section .business {
      width: 100%;
      flex-direction: column;
      margin-bottom: 35px; } }
  .service-section .business .icon-wrap {
    flex-basis: 170px;
    max-width: 170px;
    height: 170px;
    border-radius: 50%;
    margin-right: 50px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .service-section .business .icon-wrap {
        flex-basis: auto;
        max-width: inherit;
        width: 27vw;
        height: 27vw;
        margin: 0 auto 30px auto; }
        .service-section .business .icon-wrap img {
          padding: 20px; } }
  .service-section .business .ttl-h4 {
    font-size: 2.2rem;
    letter-spacing: .1em;
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .service-section .business .ttl-h4 {
        font-size: 1.7rem;
        margin-bottom: 20px;
        text-align: center; } }
    .service-section .business .ttl-h4:after {
      content: "";
      width: 16px;
      height: 1px;
      display: block;
      margin-top: 25px; }
      @media screen and (max-width: 767px) {
        .service-section .business .ttl-h4:after {
          content: none; } }
  .service-section .business .txt-wrap {
    flex-basis: 580px;
    max-width: 580px; }
    @media screen and (max-width: 767px) {
      .service-section .business .txt-wrap {
        flex-basis: 100%;
        max-width: 100%; } }

.service-section .business-list-item {
  font-size: 1.6rem;
  line-height: 2.4;
  color: #333;
  letter-spacing: .1em;
  text-align: justify;
  margin-bottom: 10px;
  padding-left: 24px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .service-section .business-list-item {
      font-size: 1.4rem;
      line-height: 2; } }
  .service-section .business-list-item:last-child {
    margin-bottom: 0; }
  .service-section .business-list-item:before {
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #333;
    border-radius: 50%;
    position: absolute;
    top: 12px;
    left: 0; }
    @media screen and (max-width: 767px) {
      .service-section .business-list-item:before {
        top: 6px; } }

.service-section .service-example .ttl-h4 {
  font-size: 2rem;
  letter-spacing: .1em;
  line-height: 54px;
  color: #fff;
  text-align: center;
  margin-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .service-section .service-example .ttl-h4 {
      width: 100vw;
      font-size: 1.5rem;
      line-height: 40px;
      margin-left: -35px;
      margin-bottom: 30px; } }

.service-section .service-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 70px; }
  @media screen and (max-width: 767px) {
    .service-section .service-list {
      margin-bottom: 30px; } }
  .service-section .service-list .service-list-item {
    flex-basis: 200px;
    max-width: 200px;
    margin-right: 65px; }
    @media screen and (max-width: 767px) {
      .service-section .service-list .service-list-item {
        flex-basis: 50%;
        max-width: 50%;
        margin-right: 0;
        padding: 20px 10px;
        border-right: 1px solid #f2f2f2;
        border-bottom: 1px solid #f2f2f2; }
        .service-section .service-list .service-list-item:nth-child(odd) {
          padding-left: 0; }
        .service-section .service-list .service-list-item:nth-child(even) {
          border-right: none;
          padding-right: 0; }
        .service-section .service-list .service-list-item:nth-child(n + 3) {
          border-bottom: none; } }
    .service-section .service-list .service-list-item:last-child {
      margin-right: 0; }
    .service-section .service-list .service-list-item figure {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
      .service-section .service-list .service-list-item figure .img-wrap {
        width: 100%;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center; }
      @media screen and (max-width: 767px) {
        .service-section .service-list .service-list-item figure .img-wrap {
          width: 20vw;
          height: 20vw; } }
    .service-section .service-list .service-list-item figcaption {
      font-size: 2rem;
      color: #333;
      margin-top: 30px; }
      @media screen and (max-width: 767px) {
        .service-section .service-list .service-list-item figcaption {
          font-size: 3.9vw;
          margin-top: 15px; } }

.service-section .step-wrap {
  padding: 0 60px; }
  @media screen and (max-width: 767px) {
    .service-section .step-wrap {
      padding: 0;
      overflow: hidden;
      text-align: center; } }
  .service-section .step-wrap .ttl-h4 {
    font-size: 3.6rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .1em;
    overflow: hidden;
    margin-bottom: 30px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .service-section .step-wrap .ttl-h4 {
        font-size: 1.8rem;
        display: inline-block;
        overflow: visible; } }
    .service-section .step-wrap .ttl-h4:before, .service-section .step-wrap .ttl-h4:after {
      content: "";
      width: 250px;
      height: 1px;
      position: absolute;
      top: 50%;
      transform: translate(0, -50%); }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .ttl-h4:before, .service-section .step-wrap .ttl-h4:after {
          width: 100%; } }
    .service-section .step-wrap .ttl-h4:before {
      left: 0; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .ttl-h4:before {
          left: calc(100% + 10px); } }
    .service-section .step-wrap .ttl-h4:after {
      right: 0; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .ttl-h4:after {
          right: calc(100% + 10px); } }
    .service-section .step-wrap .ttl-h4 span {
      font-size: 6rem;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .ttl-h4 span {
          font-size: 3rem; } }
  .service-section .step-wrap .step-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #464b84;
    padding-bottom: 50px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .service-section .step-wrap .step-list {
        flex-direction: column;
        padding-bottom: 25px; } }
    .service-section .step-wrap .step-list:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 30px 30px 0 30px;
      border-color: #464b84 transparent transparent transparent;
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translate(-50%, 0); }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .step-list:after {
          border-width: 15px 15px 0 15px;
          bottom: -15px; } }
    .service-section .step-wrap .step-list:nth-of-type(n + 2) {
      padding-top: 50px; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .step-list:nth-of-type(n + 2) {
          padding-top: 40px; } }
    .service-section .step-wrap .step-list .step-ttl {
      flex-basis: 100px;
      max-width: 100px;
      font-size: 2.4rem;
      font-weight: bold;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .step-list .step-ttl {
          flex-basis: 100%;
          max-width: 100%;
          font-size: 2rem;
          margin-bottom: 30px; } }
      .service-section .step-wrap .step-list .step-ttl .step-num {
        height: 100px;
        font-size: 4rem;
        letter-spacing: .1em;
        border-radius: 50%;
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column; }
        @media screen and (max-width: 767px) {
          .service-section .step-wrap .step-list .step-ttl .step-num {
            width: 26.6vw;
            height: 26.6vw; } }
        .service-section .step-wrap .step-list .step-ttl .step-num .din-condensed {
          font-size: 1.8rem;
          letter-spacing: .02em;
          text-align: center;
          display: block; }
    .service-section .step-wrap .step-list .flow-list {
      flex-basis: 285px;
      max-width: 285px;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .step-list .flow-list {
          width: 100%;
          flex-basis: 100%;
          max-width: 100%; } }
      .service-section .step-wrap .step-list .flow-list .flow-list-item {
        width: 135px;
        height: 100px;
        font-size: 3.6rem;
        font-weight: bold;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 3px solid #464b84;
        margin-right: 15px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .service-section .step-wrap .step-list .flow-list .flow-list-item {
            width: calc((100% - 10px)/2);
            height: 50px;
            font-size: 2rem;
            border-width: 2px;
            margin-right: 10px; } }
        .service-section .step-wrap .step-list .flow-list .flow-list-item:after {
          content: "";
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 12px 0 12px 12px;
          border-color: transparent transparent transparent #464b84;
          position: absolute;
          top: 50%;
          right: -15px;
          transform: translate(0, -50%); }
          @media screen and (max-width: 767px) {
            .service-section .step-wrap .step-list .flow-list .flow-list-item:after {
              border-width: 6px 0 6px 6px;
              right: -8px; } }
        .service-section .step-wrap .step-list .flow-list .flow-list-item:last-child {
          margin-right: 0; }
          .service-section .step-wrap .step-list .flow-list .flow-list-item:last-child:after {
            content: none; }
    .service-section .step-wrap .step-list .txt {
      flex-basis: 545px;
      max-width: 545px;
      font-size: 1.6rem;
      letter-spacing: .1em;
      line-height: 2.4;
      color: #333;
      text-align: justify; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .step-list .txt {
          flex-basis: 100%;
          max-width: 100%;
          font-size: 1.4rem;
          line-height: 2;
          margin-top: 20px; } }
    .service-section .step-wrap .step-list:last-of-type {
      justify-content: space-between;
      padding-top: 90px;
      padding-bottom: 0;
      border-bottom: none; }
      @media screen and (max-width: 767px) {
        .service-section .step-wrap .step-list:last-of-type {
          padding-top: 50px; } }
      .service-section .step-wrap .step-list:last-of-type:after {
        content: none; }
      .service-section .step-wrap .step-list:last-of-type .img-wrap {
        flex-basis: 460px;
        max-width: 460px; }
        @media screen and (max-width: 767px) {
          .service-section .step-wrap .step-list:last-of-type .img-wrap {
            flex-basis: 100%;
            max-width: 100%;
            margin-bottom: 20px; } }
        .service-section .step-wrap .step-list:last-of-type .img-wrap img {
          border-radius: 10px; }
          @media screen and (max-width: 767px) {
            .service-section .step-wrap .step-list:last-of-type .img-wrap img {
              border-radius: 5px; } }
      .service-section .step-wrap .step-list:last-of-type .txt-wrap {
        flex-basis: 460px;
        max-width: 460px; }
        @media screen and (max-width: 767px) {
          .service-section .step-wrap .step-list:last-of-type .txt-wrap {
            flex-basis: 100%;
            max-width: 100%; } }
        .service-section .step-wrap .step-list:last-of-type .txt-wrap .ttl {
          font-size: 3.6rem;
          color: #464b84;
          margin-bottom: 30px; }
          @media screen and (max-width: 767px) {
            .service-section .step-wrap .step-list:last-of-type .txt-wrap .ttl {
              font-size: 2rem;
              margin-bottom: 20px; } }
        .service-section .step-wrap .step-list:last-of-type .txt-wrap .txt {
          flex-basis: 100%;
          max-width: 100%; }

.service-section .for-student {
  color: #464b84; }
  .service-section .for-student .business .icon-wrap {
    background: #464b84; }
  .service-section .for-student .business .ttl-h4:after {
    background-color: #464b84; }
  .service-section .for-student .service-example .ttl-h4 {
    background: #464b84; }
  .service-section .for-student .step-wrap .ttl-h4:before, .service-section .for-student .step-wrap .ttl-h4:after {
    background-color: #464b84; }
  .service-section .for-student .step-wrap .step-num {
    color: #fff;
    background: #464b84; }

.service-section .for-company {
  color: #cfab0d; }
  @media screen and (max-width: 767px) {
    .service-section .for-company .service-wrap {
      padding-bottom: 20px; } }
  .service-section .for-company .business .icon-wrap {
    background: #cfab0d; }
  .service-section .for-company .business .ttl-h4:after {
    background-color: #cfab0d; }
  .service-section .for-company .service-example .ttl-h4 {
    background: #cfab0d; }
  .service-section .for-company .service-list {
    margin-bottom: 0; }
  .service-section .for-company .service-list-item:nth-child(4) {
    margin-right: 0; }
  .service-section .for-company .service-list-item:nth-child(n + 5) {
    margin-top: 65px; }
    @media screen and (max-width: 767px) {
      .service-section .for-company .service-list-item:nth-child(n + 5) {
        margin-top: 0; } }
  @media screen and (max-width: 767px) {
    .service-section .for-company .service-list-item:nth-child(n + 3) {
      border-bottom: 1px solid #f2f2f2; }
    .service-section .for-company .service-list-item:last-child {
      padding-right: 0;
      border-right: none;
      border-bottom: none; } }
  .service-section .for-company .step-wrap .ttl-h4:before, .service-section .for-company .step-wrap .ttl-h4:after {
    background-color: #cfab0d; }
  .service-section .for-company .step-wrap .step-num {
    color: #fff;
    background: #cfab0d; }

.philosophy-section {
  background-color: #549ab2;
  background-image: url(../img/pt1@2x.png);
  background-repeat: repeat;
  background-size: 36px 36px;
  background-position: center center;
  padding: 100px 0 120px; }
  @media screen and (max-width: 767px) {
    .philosophy-section {
      padding: 50px 0 60px; } }
  .philosophy-section .ttl-h2 {
    color: #fff;
    margin-bottom: 90px; }
    @media screen and (max-width: 767px) {
      .philosophy-section .ttl-h2 {
        margin-bottom: 30px; } }
  .philosophy-section .philosophy-wrap {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .philosophy-section .philosophy-wrap {
        flex-direction: column; } }
    .philosophy-section .philosophy-wrap .txt-wrap {
      flex-basis: 460px;
      max-width: 460px; }
      @media screen and (max-width: 767px) {
        .philosophy-section .philosophy-wrap .txt-wrap {
          flex-basis: 100%;
          max-width: 100%; }
          .philosophy-section .philosophy-wrap .txt-wrap:last-of-type {
            margin-top: 25px;
            padding-top: 40px;
            border-top: 1px solid #fff; } }
      .philosophy-section .philosophy-wrap .txt-wrap .ttl {
        height: 120px;
        font-size: 2.4rem;
        line-height: 1.5;
        letter-spacing: .1em;
        text-align: center;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 40px;
        border-right: 1px solid #fff;
        border-left: 1px solid #fff;
        position: relative; }
        @media screen and (max-width: 767px) {
          .philosophy-section .philosophy-wrap .txt-wrap .ttl {
            height: 60px;
            font-size: 1.7rem;
            line-height: 1.4;
            margin-bottom: 30px; } }
        .philosophy-section .philosophy-wrap .txt-wrap .ttl span:before, .philosophy-section .philosophy-wrap .txt-wrap .ttl span:after {
          content: "";
          width: 55px;
          height: 1px;
          background: #fff;
          position: absolute; }
          @media screen and (max-width: 767px) {
            .philosophy-section .philosophy-wrap .txt-wrap .ttl span:before, .philosophy-section .philosophy-wrap .txt-wrap .ttl span:after {
              width: 25px; } }
        .philosophy-section .philosophy-wrap .txt-wrap .ttl span.left:before {
          top: 0;
          left: 0; }
        .philosophy-section .philosophy-wrap .txt-wrap .ttl span.left:after {
          bottom: 0;
          left: 0; }
        .philosophy-section .philosophy-wrap .txt-wrap .ttl span.right:before {
          top: 0;
          right: 0; }
        .philosophy-section .philosophy-wrap .txt-wrap .ttl span.right:after {
          bottom: 0;
          right: 0; }
      .philosophy-section .philosophy-wrap .txt-wrap .philosophy-list-item {
        font-size: 1.6rem;
        letter-spacing: .1em;
        color: #fff;
        padding-left: 22px;
        margin-bottom: 20px;
        white-space: nowrap;
        position: relative; }
        @media screen and (max-width: 767px) {
          .philosophy-section .philosophy-wrap .txt-wrap .philosophy-list-item {
            font-size: 1.4rem;
            line-height: 2;
            text-align: justify;
            white-space: normal;
            margin-bottom: 15px; } }
        .philosophy-section .philosophy-wrap .txt-wrap .philosophy-list-item:before {
          content: "";
          width: 14px;
          height: 14px;
          border: 1px solid #fff;
          border-radius: 50%;
          position: absolute;
          top: 1px;
          left: 0; }
          @media screen and (max-width: 767px) {
            .philosophy-section .philosophy-wrap .txt-wrap .philosophy-list-item:before {
              top: 6px; } }
        .philosophy-section .philosophy-wrap .txt-wrap .philosophy-list-item:last-child {
          margin-bottom: 0; }

.message-section {
  padding: 120px 0; }
  @media screen and (max-width: 767px) {
    .message-section {
      padding: 70px 0; } }
  .message-section .ttl-h2 {
    color: #549ab2;
    margin-bottom: 75px; }
    @media screen and (max-width: 767px) {
      .message-section .ttl-h2 {
        margin-bottom: 30px; } }
  .message-section .message-wrap {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .message-section .message-wrap {
        flex-direction: column; } }
    .message-section .message-wrap .img-wrap {
      flex-basis: 460px;
      max-width: 460px; }
      @media screen and (max-width: 767px) {
        .message-section .message-wrap .img-wrap {
          flex-basis: 100%;
          max-width: 100%;
          margin-bottom: 30px; } }
      .message-section .message-wrap .img-wrap img {
        border-radius: 10px; }
        @media screen and (max-width: 767px) {
          .message-section .message-wrap .img-wrap img {
            border-radius: 5px; } }
      .message-section .message-wrap .img-wrap figcaption {
        font-size: 2rem;
        letter-spacing: .1em;
        margin: 45px 0 0 50px; }
        .message-section .message-wrap .img-wrap figcaption span {
          font-size: 1.4rem;
          display: block;
          margin-bottom: 10px; }
    .message-section .message-wrap .txt-wrap {
      flex-basis: 460px;
      max-width: 460px; }
      @media screen and (max-width: 767px) {
        .message-section .message-wrap .txt-wrap {
          flex-basis: 100%;
          max-width: 100%; } }
      .message-section .message-wrap .txt-wrap .ttl {
        font-size: 2.4rem;
        line-height: 1.8;
        letter-spacing: .1em;
        margin-bottom: 30px; }
        @media screen and (max-width: 767px) {
          .message-section .message-wrap .txt-wrap .ttl {
            font-size: 2rem;
            text-align: justify;
            margin-bottom: 20px; } }
      .message-section .message-wrap .txt-wrap .txt {
        font-size: 1.6rem;
        line-height: 1.8;
        text-align: justify;
        margin-bottom: 30px; }
        .message-section .message-wrap .txt-wrap .txt:first-of-type {
          margin-top: 30px; }
          @media screen and (max-width: 767px) {
            .message-section .message-wrap .txt-wrap .txt:first-of-type {
              margin-top: 20px; } }
        @media screen and (max-width: 767px) {
          .message-section .message-wrap .txt-wrap .txt {
            font-size: 1.4rem;
            margin-bottom: 20px; } }
        .message-section .message-wrap .txt-wrap .txt:last-of-type {
          margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        .message-section .message-wrap .txt-wrap .name {
          font-size: 1.7rem;
          text-align: right; }
          .message-section .message-wrap .txt-wrap .name span {
            font-size: 1.2rem;
            display: block;
            margin-bottom: 10px; } }

.person-section {
  background-image: url(../img/person-bg@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding: 15% 0 60px;
  text-align: right;
  position: relative; }
  @media screen and (max-width: 767px) {
    .person-section {
      background: none;
      padding: 0 0 30px; } }
  .person-section:before {
    content: "";
    width: 100%;
    height: 100px;
    background: white;
    background: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 80%);
    position: absolute;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 767px) {
      .person-section:before {
        content: none; } }
  .person-section:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 70px 70px 0 70px;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    bottom: -70px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .person-section:after {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 35px 35px 0 35px;
        border-color: #ffffff transparent transparent transparent;
        bottom: -35px; } }
  .person-section .bg {
    width: 100vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
  .person-section .ttl-h2 {
    width: 800px;
    color: #549ab2;
    text-align: left;
    margin: 0 0 70px auto; }
    @media screen and (max-width: 767px) {
      .person-section .ttl-h2 {
        width: 100%;
        text-align: center;
        padding: 20.9vw 0 56.5vw;
        margin: 0; }
        .person-section .ttl-h2 span {
          line-height: 1; } }
  .person-section .person-list {
    width: 800px;
    height: 100px;
    font-size: 2rem;
    letter-spacing: .1em;
    text-align: center;
    color: #549ab2;
    background: #fff;
    border: 1px solid #549ab2;
    display: flex;
    margin: 0 0 50px auto;
    position: relative; }
    @media screen and (max-width: 767px) {
      .person-section .person-list {
        width: 100%;
        height: auto;
        min-height: 100px;
        font-size: 1.3rem;
        margin-bottom: 30px; } }
    .person-section .person-list .person-list-item {
      line-height: 1.6; }
      @media screen and (max-width: 767px) {
        .person-section .person-list .person-list-item {
          line-height: 1.5; } }
      .person-section .person-list .person-list-item:first-child {
        flex-basis: 100px !important;
        max-width: 100px !important;
        line-height: 1.2;
        color: #fff;
        background: #549ab2;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 767px) {
          .person-section .person-list .person-list-item:first-child {
            flex-basis: 70px !important;
            max-width: 70px !important;
            line-height: 1.4;
            font-size: 1.5rem; } }
      .person-section .person-list .person-list-item .issue-list {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 767px) {
          .person-section .person-list .person-list-item .issue-list {
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            padding: 20px 10px; } }
        .person-section .person-list .person-list-item .issue-list .issue-list-item {
          margin-right: 40px;
          padding-left: 22px;
          position: relative; }
          @media screen and (max-width: 767px) {
            .person-section .person-list .person-list-item .issue-list .issue-list-item {
              margin: 0 0 5px 0;
              padding-left: 13px; } }
          .person-section .person-list .person-list-item .issue-list .issue-list-item:before {
            content: "";
            width: 14px;
            height: 14px;
            border: 1px solid #549ab2;
            border-radius: 50%;
            position: absolute;
            top: 9px;
            left: 0; }
            @media screen and (max-width: 767px) {
              .person-section .person-list .person-list-item .issue-list .issue-list-item:before {
                width: 7px;
                height: 7px;
                top: 5px; } }
          .person-section .person-list .person-list-item .issue-list .issue-list-item:last-child {
            margin-right: 0; }
            @media screen and (max-width: 767px) {
              .person-section .person-list .person-list-item .issue-list .issue-list-item:last-child {
                margin-bottom: 0; } }
    .person-section .person-list._1:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 30px 30px 0 30px;
      border-color: #549ab2 transparent transparent transparent;
      position: absolute;
      right: 320px;
      bottom: -30px; }
      @media screen and (max-width: 767px) {
        .person-section .person-list._1:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 15px 15px 0 15px;
          right: calc(50% - 50px);
          bottom: -15px; } }
    .person-section .person-list._1 .person-list-item {
      flex-basis: 700px;
      max-width: 700px; }
      @media screen and (max-width: 767px) {
        .person-section .person-list._1 .person-list-item {
          flex-basis: calc(100% - 70px);
          max-width: calc(100% - 70px); } }
    .person-section .person-list._2:before, .person-section .person-list._3:before {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 30px 30px 0 30px;
      border-color: #549ab2 transparent transparent transparent;
      position: absolute;
      bottom: -30px;
      left: 245px; }
      @media screen and (max-width: 767px) {
        .person-section .person-list._2:before, .person-section .person-list._3:before {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 15px 15px 0 15px;
          bottom: -15px;
          left: calc(50% - 50px); } }
    .person-section .person-list._2:after, .person-section .person-list._3:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 30px 30px 0 30px;
      border-color: #549ab2 transparent transparent transparent;
      position: absolute;
      bottom: -30px;
      right: 145px; }
      @media screen and (max-width: 767px) {
        .person-section .person-list._2:after, .person-section .person-list._3:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 15px 15px 0 15px;
          right: calc(50% - 120px);
          bottom: -15px; } }
    .person-section .person-list._2 .person-list-item, .person-section .person-list._3 .person-list-item {
      flex-basis: 350px;
      max-width: 350px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-right: 1px solid #549ab2; }
      @media screen and (max-width: 767px) {
        .person-section .person-list._2 .person-list-item, .person-section .person-list._3 .person-list-item {
          flex-basis: calc((100% - 70px)/2);
          max-width: calc((100% - 70px)/2);
          padding: 20px 10px; } }
      .person-section .person-list._2 .person-list-item:last-child, .person-section .person-list._3 .person-list-item:last-child {
        border-right: none; }
    .person-section .person-list._3 {
      height: 200px;
      margin-bottom: 70px; }
      @media screen and (max-width: 767px) {
        .person-section .person-list._3 {
          height: auto;
          margin-bottom: 30px;
          overflow: hidden; } }
      .person-section .person-list._3:before, .person-section .person-list._3:after {
        content: none; }
      .person-section .person-list._3 .person-list-item .issue-list {
        flex-direction: column; }
        @media screen and (max-width: 767px) {
          .person-section .person-list._3 .person-list-item .issue-list {
            padding: 0; } }
        .person-section .person-list._3 .person-list-item .issue-list .issue-list-item {
          width: 100%;
          height: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          margin-right: 0;
          padding-left: 0;
          border-bottom: 1px solid #549ab2; }
          @media screen and (max-width: 767px) {
            .person-section .person-list._3 .person-list-item .issue-list .issue-list-item {
              margin-bottom: 20px;
              padding-bottom: 20px;
              border-bottom: none; }
              .person-section .person-list._3 .person-list-item .issue-list .issue-list-item:after {
                content: "";
                width: 100vw;
                height: 1px;
                background: #549ab2;
                position: absolute;
                bottom: 0;
                left: -10px; } }
          .person-section .person-list._3 .person-list-item .issue-list .issue-list-item:before {
            content: none; }
          .person-section .person-list._3 .person-list-item .issue-list .issue-list-item:last-child {
            border-bottom: none; }
            @media screen and (max-width: 767px) {
              .person-section .person-list._3 .person-list-item .issue-list .issue-list-item:last-child {
                margin-bottom: 0;
                padding-bottom: 0; }
                .person-section .person-list._3 .person-list-item .issue-list .issue-list-item:last-child:after {
                  content: none; } }
  .person-section .ttl-h3 {
    font-size: 3.2em;
    font-weight: bold;
    line-height: 1.8;
    color: #549ab2;
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .person-section .ttl-h3 {
        font-size: 1.6rem; } }

.point-section {
  background: #464b84;
  background: linear-gradient(90deg, #464b84 0%, #8cb0bd 50%, #549ab2 100%);
  padding-top: 170px;
  position: relative;
  z-index: -1; }
  @media screen and (max-width: 767px) {
    .point-section {
      padding-top: 60px; } }
  .point-section:before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url(../img/pt1@2x.png);
    background-repeat: repeat;
    background-size: 36px 36px;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
  .point-section .point-wrap {
    margin-bottom: 160px; }
    @media screen and (max-width: 767px) {
      .point-section .point-wrap {
        margin-bottom: 80px; } }
  .point-section .point-list-wrap {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #fff;
    padding: 35px 0; }
    @media screen and (max-width: 767px) {
      .point-section .point-list-wrap {
        flex-direction: column; } }
  @media screen and (max-width: 767px) and (max-width: 767px) {
    .point-section .point-list-wrap {
      padding: 25px 0; } }
    .point-section .point-list-wrap:first-of-type {
      padding-top: 0; }
    .point-section .point-list-wrap:last-of-type {
      border-bottom: none;
      padding-bottom: 0; }
    .point-section .point-list-wrap .point-ttl {
      flex-basis: 100px;
      max-width: 100px;
      height: 100px;
      font-size: 4rem;
      letter-spacing: .1em;
      color: #549ab2;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      border-radius: 50%;
      margin-right: 15px; }
      @media screen and (max-width: 767px) {
        .point-section .point-list-wrap .point-ttl {
          flex-basis: auto;
          max-width: inherit;
          width: 26.6vw;
          height: 26.6vw;
          margin: 0 0 20px 0; } }
      .point-section .point-list-wrap .point-ttl .din-condensed {
        font-size: 1.8rem;
        letter-spacing: .02em;
        display: block; }
  .point-section .point-list-item {
    font-size: 2rem;
    color: #fff;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
    margin-bottom: 15px; }
    @media screen and (max-width: 767px) {
      .point-section .point-list-item {
        font-size: 1.4rem;
        line-height: 2;
        text-align: justify;
        flex-direction: column;
        margin-bottom: 25px; } }
    .point-section .point-list-item:last-child {
      margin-bottom: 0; }
    .point-section .point-list-item .ttl {
      width: 120px;
      line-height: 40px;
      letter-spacing: normal;
      text-align: center;
      border: 1px solid #fff;
      border-radius: 20px;
      margin-right: 15px; }
      @media screen and (max-width: 767px) {
        .point-section .point-list-item .ttl {
          width: 100%;
          font-size: 1.7rem;
          line-height: 34px;
          border-radius: 17px;
          margin: 0 0 20px 0; } }
  .point-section .ratio-wrap {
    background: rgba(0, 0, 0, 0.2);
    padding: 70px 0 300px; }
    @media screen and (max-width: 767px) {
      .point-section .ratio-wrap {
        padding: 60px 0 90vw; } }
    .point-section .ratio-wrap .inner {
      overflow: visible; }
      .point-section .ratio-wrap .inner:after {
        content: "";
        width: 470px;
        height: 745px;
        background-image: url(../img/img-point@2x.png);
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        bottom: -300px;
        left: -120px; }
        @media screen and (max-width: 767px) {
          .point-section .ratio-wrap .inner:after {
            width: 53.3vw;
            height: 84.5vw;
            bottom: -90vw;
            left: 50%;
            transform: translate(-50%, 0); } }
    .point-section .ratio-wrap .ttl-h3 {
      font-size: 2.6rem;
      font-weight: bold;
      line-height: 1.8;
      letter-spacing: .1em;
      color: #fff;
      text-align: left;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .point-section .ratio-wrap .ttl-h3 {
          font-size: 1.6rem;
          text-align: center;
          margin-bottom: 50px; } }
    .point-section .ratio-wrap .ratio-list-wrap {
      width: 600px;
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .point-section .ratio-wrap .ratio-list-wrap {
          width: 100%; } }
    .point-section .ratio-wrap .ratio-list-item {
      font-size: 1.8rem;
      letter-spacing: .1em;
      color: #ffff00;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .point-section .ratio-wrap .ratio-list-item {
          font-size: 4vw;
          border-bottom: 1px solid #fff;
          padding-bottom: 20px;
          margin-bottom: 15px; } }
      .point-section .ratio-wrap .ratio-list-item:last-of-type {
        margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          .point-section .ratio-wrap .ratio-list-item:last-of-type {
            border-bottom: none;
            padding-bottom: 0; } }
      .point-section .ratio-wrap .ratio-list-item .txt {
        white-space: nowrap;
        flex-shrink: 1; }
      .point-section .ratio-wrap .ratio-list-item .line {
        flex-basis: 100%;
        max-width: 100%;
        flex-shrink: 2;
        margin: 0 20px;
        height: 1px;
        background: #fff; }
        @media screen and (max-width: 767px) {
          .point-section .ratio-wrap .ratio-list-item .line {
            display: none; } }
      .point-section .ratio-wrap .ratio-list-item .num {
        font-size: 3.6rem;
        letter-spacing: normal;
        white-space: nowrap;
        flex-shrink: 1; }
        @media screen and (max-width: 767px) {
          .point-section .ratio-wrap .ratio-list-item .num {
            font-size: 2.5rem; } }
        .point-section .ratio-wrap .ratio-list-item .num i {
          font-size: 4.4rem; }
          @media screen and (max-width: 767px) {
            .point-section .ratio-wrap .ratio-list-item .num i {
              font-size: 3rem; } }

.date-section {
  background-image: url(../img/bg-date@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding: 300px 0 150px;
  margin-top: -250px; }
  @media screen and (max-width: 767px) {
    .date-section {
      background-image: url(../img/bg-date-sp@3x.png);
      background-size: 100%;
      padding: 24vw 0 75px;
      margin-top: -24vw; } }
  .date-section .ttl-h2 {
    color: #549ab2;
    margin-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .date-section .ttl-h2 {
        margin-bottom: 40px; }
        .date-section .ttl-h2 span {
          line-height: 1; } }
  .date-section .inner {
    padding: 0; }
    @media screen and (max-width: 767px) {
      .date-section .inner {
        padding: 0 20px; } }
  .date-section .graph-list {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: space-between; }
    .date-section .graph-list .graph-list-item {
      flex-basis: 50%;
      max-width: 50%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin-bottom: 100px; }
      @media screen and (max-width: 767px) {
        .date-section .graph-list .graph-list-item {
          flex-basis: 100%;
          max-width: 100%;
          margin-bottom: 50px; } }
      .date-section .graph-list .graph-list-item:nth-child(n + 5) {
        margin-bottom: 0; }
        @media screen and (max-width: 767px) {
          .date-section .graph-list .graph-list-item:nth-child(n + 5) {
            margin-bottom: 50px; } }
      @media screen and (max-width: 767px) {
        .date-section .graph-list .graph-list-item:last-child {
          margin-bottom: 0; } }
      .date-section .graph-list .graph-list-item .img-wrap {
        flex-basis: 280px;
        max-width: 280px;
        margin-right: 25px; }
        @media screen and (max-width: 767px) {
          .date-section .graph-list .graph-list-item .img-wrap {
            flex-basis: 50%;
            max-width: 50%;
            margin-right: 15px; } }
        .date-section .graph-list .graph-list-item .img-wrap img {
          width: 100%;
          height: auto; }
      .date-section .graph-list .graph-list-item .txt-list-item {
        font-size: 1.6rem;
        line-height: 1.8;
        letter-spacing: .1em;
        white-space: nowrap;
        display: flex;
        align-items: center;
        margin-bottom: 20px; }
        @media screen and (max-width: 767px) {
          .date-section .graph-list .graph-list-item .txt-list-item {
            font-size: 3.2vw;
            line-height: 18px; } }
        .date-section .graph-list .graph-list-item .txt-list-item:first-child {
          color: #549ab2; }
          .date-section .graph-list .graph-list-item .txt-list-item:first-child:before {
            background: #549ab2; }
        .date-section .graph-list .graph-list-item .txt-list-item:nth-child(2) {
          color: #fbb03b; }
          .date-section .graph-list .graph-list-item .txt-list-item:nth-child(2):before {
            background: #fbb03b; }
        .date-section .graph-list .graph-list-item .txt-list-item:nth-child(3) {
          color: #8cc63f; }
          .date-section .graph-list .graph-list-item .txt-list-item:nth-child(3):before {
            background: #8cc63f; }
        .date-section .graph-list .graph-list-item .txt-list-item:nth-child(4) {
          color: #d8d85d; }
          .date-section .graph-list .graph-list-item .txt-list-item:nth-child(4):before {
            background: #d8d85d; }
        .date-section .graph-list .graph-list-item .txt-list-item:nth-child(5) {
          color: #b777b7; }
          .date-section .graph-list .graph-list-item .txt-list-item:nth-child(5):before {
            background: #b777b7; }
        .date-section .graph-list .graph-list-item .txt-list-item:last-child {
          margin-bottom: 0; }
        .date-section .graph-list .graph-list-item .txt-list-item:before {
          content: "";
          width: 24px;
          height: 24px;
          margin-right: 10px; }
          @media screen and (max-width: 767px) {
            .date-section .graph-list .graph-list-item .txt-list-item:before {
              width: 15px;
              height: 15px;
              margin-right: 5px; } }
      .date-section .graph-list .graph-list-item .txt {
        flex-basis: 280px;
        max-width: 280px;
        font-size: 2.8rem;
        color: #4d4d4d;
        text-align: center;
        letter-spacing: .1em;
        margin-top: 20px; }
        @media screen and (max-width: 767px) {
          .date-section .graph-list .graph-list-item .txt {
            flex-basis: 100%;
            max-width: 100%;
            font-size: 2rem; } }

.voice-section {
  background-image: url(../img/pt1@2x.png);
  background-repeat: repeat;
  background-size: 36px 36px;
  background-position: center center;
  padding: 150px 0; }
  @media screen and (max-width: 767px) {
    .voice-section {
      padding: 70px 0; } }
  .voice-section .ttl-h2 {
    color: #549ab2; }
    @media screen and (max-width: 767px) {
      .voice-section .ttl-h2 {
        margin-bottom: 50px; } }
  .voice-section .voice-list {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .voice-section .voice-list {
        flex-direction: column; } }
    .voice-section .voice-list .voice-list-item {
      flex-basis: 460px;
      max-width: 460px; }
      @media screen and (max-width: 767px) {
        .voice-section .voice-list .voice-list-item {
          flex-basis: 100%;
          max-width: 100%; }
          .voice-section .voice-list .voice-list-item:first-child {
            margin-bottom: 50px; } }
    .voice-section .voice-list .ttl {
      font-size: 2.8rem;
      letter-spacing: .1em;
      text-align: center;
      padding: 30px 0; }
      @media screen and (max-width: 767px) {
        .voice-section .voice-list .ttl {
          font-size: 1.6rem;
          padding-bottom: 20px; } }
    .voice-section .voice-list .txt {
      font-size: 1.6rem;
      line-height: 1.8;
      text-align: justify;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .voice-section .voice-list .txt {
          font-size: 1.4rem;
          margin-bottom: 0; } }
      .voice-section .voice-list .txt:last-of-type {
        margin-bottom: 0; }

.company-section {
  padding: 130px 0 100px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .company-section {
      padding: 70px 0 20px; } }
  .company-section:before {
    content: "";
    width: 100%;
    height: 700px;
    background-image: url(../img/bg-company@2x.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (max-width: 767px) {
      .company-section:before {
        height: 70vw;
        background-image: url(../img/bg-company-sp@3x.jpg); } }
  .company-section .ttl-h2 {
    color: #fff;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .company-section .ttl-h2 {
        margin-bottom: 40px; }
        .company-section .ttl-h2 span {
          letter-spacing: -0.2em; } }
  .company-section .inner {
    padding: 0; }
    @media screen and (max-width: 767px) {
      .company-section .inner {
        padding: 0 15px; } }
  .company-section .profile-wrap {
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: .1em;
    color: #549ab2;
    background: #fff;
    padding: 100px 60px 85px 60px;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.05); }
    @media screen and (max-width: 767px) {
      .company-section .profile-wrap {
        font-size: 1.4rem;
        line-height: 1.7;
        margin: 0 auto;
        padding: 40px 15px;
        border-radius: 5px; } }
  .company-section .profile-list-item {
    display: flex;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #f2f2f2; }
    @media screen and (max-width: 767px) {
      .company-section .profile-list-item {
        margin-bottom: 15px;
        padding-bottom: 15px; } }
    .company-section .profile-list-item:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none; }
    .company-section .profile-list-item .ttl {
      flex-basis: 120px;
      max-width: 120px;
      margin-right: 70px; }
      @media screen and (max-width: 767px) {
        .company-section .profile-list-item .ttl {
          flex-basis: 80px;
          max-width: 80px;
          margin-right: 20px; } }
  .company-section .office-list {
    flex-basis: calc(100% - 190px);
    max-width: calc(100% - 190px); }
    @media screen and (max-width: 767px) {
      .company-section .office-list {
        flex-basis: calc(100% - 100px);
        max-width: calc(100% - 100px); } }
    .company-section .office-list .ttl {
      flex-basis: 100%;
      max-width: 100%;
      margin-right: 0;
      position: relative; }
      .company-section .office-list .ttl:before {
        content: "";
        width: 4px;
        height: 18px;
        background: #549ab2;
        position: absolute;
        top: 50%;
        left: -20px;
        transform: translate(0, -50%); }
        @media screen and (max-width: 767px) {
          .company-section .office-list .ttl:before {
            width: 2px;
            height: 13px;
            left: -10px; } }
    .company-section .office-list .office-list-item {
      font-size: 1.8rem;
      line-height: 2;
      text-align: justify;
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .company-section .office-list .office-list-item {
          font-size: 1.4rem;
          line-height: 1.7; } }
      .company-section .office-list .office-list-item:last-child {
        margin-bottom: 0; }

.contact-section {
  background-image: url(../img/pt1@2x.png);
  background-repeat: repeat;
  background-size: 36px 36px;
  background-position: center center;
  padding: 100px 0 175px; }
  @media screen and (max-width: 767px) {
    .contact-section {
      padding: 60px 0 70px; } }
  .contact-section .inner {
    width: 1200px;
    padding: 0; }
    @media screen and (max-width: 767px) {
      .contact-section .inner {
        width: 100%;
        padding: 0 20px; } }
  .contact-section .ttl-h2 {
    color: #549ab2;
    margin-bottom: 70px; }
    @media screen and (max-width: 767px) {
      .contact-section .ttl-h2 {
        margin-bottom: 45px; } }
  .contact-section .lead-txt {
    font-size: 1.8rem;
    line-height: 2.3;
    letter-spacing: .24em;
    color: #549ab2;
    text-align: center;
    margin-bottom: 70px; }
    @media screen and (max-width: 767px) {
      .contact-section .lead-txt {
        font-size: 1.6rem;
        line-height: 1.8; } }
  .contact-section #mailformpro {
    margin-top: -60px;
    padding-top: 60px; }
  .contact-section .form-wrap {
    background: #fff;
    padding: 80px 110px 120px 110px; }
    @media screen and (max-width: 767px) {
      .contact-section .form-wrap {
        padding: 40px 20px 20px 20px; } }
    .contact-section .form-wrap .form-list .form-list-item {
      margin-bottom: 60px; }
      .contact-section .form-wrap .form-list .form-list-item:last-child {
        margin-bottom: 0; }
      .contact-section .form-wrap .form-list .form-list-item.op {
        opacity: .5;
        cursor: not-allowed; }
        .contact-section .form-wrap .form-list .form-list-item.op .box {
          cursor: not-allowed !important; }
      .contact-section .form-wrap .form-list .form-list-item :disabled {
        cursor: not-allowed; }
      @media screen and (max-width: 767px) {
        .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.last-name .mfp_err, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.first-name .mfp_err {
          bottom: -25px; } }
      .contact-section .form-wrap .form-list .form-list-item .ttl {
        font-size: 1.8rem;
        font-weight: bold;
        color: #549ab2;
        display: flex;
        align-items: center;
        letter-spacing: .08em; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap .form-list .form-list-item .ttl {
            font-size: 1.5rem;
            line-height: 1.4;
            flex-direction: column;
            align-items: flex-start; } }
        .contact-section .form-wrap .form-list .form-list-item .ttl .req {
          line-height: 30px;
          color: #fff;
          text-align: center;
          background: #549ab2;
          padding: 0 35px;
          margin-right: 25px;
          display: block; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .ttl .req {
              font-size: 1.2rem;
              line-height: 22px;
              padding: 0 15px;
              margin-bottom: 10px; } }
        .contact-section .form-wrap .form-list .form-list-item .ttl .msg {
          font-size: 1.8rem;
          font-weight: bold;
          color: #bf272d;
          margin-left: 65px; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .ttl .msg {
              flex-basis: 100%;
              max-width: 100%;
              font-size: 1.2rem;
              margin: 10px 0 0 0; } }
      .contact-section .form-wrap .form-list .form-list-item .input-wrap {
        margin-top: 30px;
        position: relative; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap .form-list .form-list-item .input-wrap {
            margin-top: 20px; } }
        .contact-section .form-wrap .form-list .form-list-item .input-wrap input + .mfp_err {
          position: absolute;
          bottom: -30px;
          left: 0; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .input-wrap input + .mfp_err {
              bottom: -25px; } }
        .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list {
          display: flex;
          align-items: center; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list {
              justify-content: space-between; } }
          .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li {
            flex-basis: calc((100% - 40px)/2);
            max-width: calc((100% - 40px)/2);
            display: flex;
            align-items: center;
            margin-right: 40px;
            position: relative; }
            @media screen and (max-width: 767px) {
              .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li {
                flex-basis: calc((100% - 15px)/2);
                max-width: calc((100% - 15px)/2);
                margin-right: 0; } }
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.last-name, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.first-name {
              flex-basis: auto;
              max-width: inherit; }
              @media screen and (max-width: 767px) {
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.last-name, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.first-name {
                  flex-basis: calc((100% - 15px)/2);
                  max-width: calc((100% - 15px)/2); } }
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li:last-child {
              margin-right: 0; }
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li p {
              font-size: 1.8rem;
              font-weight: bold;
              color: #549ab2;
              margin-right: 20px; }
              @media screen and (max-width: 767px) {
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li p {
                  font-size: 1.5rem;
                  margin-right: 15px; } }
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age {
              flex-basis: auto;
              max-width: inherit;
              margin-right: 20px; }
              @media screen and (max-width: 767px) {
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age {
                  margin-right: 0; } }
              .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year div, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month div, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age div {
                position: relative; }
                @media screen and (max-width: 767px) {
                  .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year div, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month div, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age div {
                    width: 100%; } }
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year div:before, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year div:after, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month div:before, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month div:after, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age div:before, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age div:after {
                  content: "";
                  position: absolute;
                  right: 12px;
                  transform: translate(0, -50%);
                  cursor: pointer; }
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year div:before, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month div:before, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age div:before {
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 0 5px 10px 5px;
                  border-color: transparent transparent #979797 transparent;
                  top: calc(50% - 10px); }
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year div:after, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month div:after, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age div:after {
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 10px 5px 0 5px;
                  border-color: #979797 transparent transparent transparent;
                  top: calc(50% + 10px); }
              .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year p, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month p, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age p {
                margin: 0 0 0 10px; }
            @media screen and (max-width: 767px) {
              .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.year, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.age {
                flex-basis: calc((100% - 20px)/2);
                max-width: calc((100% - 20px)/2); }
              .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month {
                flex-basis: calc((100% - 20px)/2);
                max-width: calc((100% - 20px)/2); }
              .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.last-name .mfp_err, .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.first-name .mfp_err {
                white-space: nowrap;
                bottom: -25px; } }
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li.month {
              margin-right: 0; }
            .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li .mfp_err {
              position: absolute;
              bottom: -30px;
              left: 0; }
              @media screen and (max-width: 767px) {
                .contact-section .form-wrap .form-list .form-list-item .input-wrap .input-list li .mfp_err {
                  bottom: -25px;
                  right: auto; } }
      .contact-section .form-wrap .form-list .form-list-item .check-list li {
        margin-bottom: 20px;
        position: relative;
        /*
						.mfp_not_checked {
							.box:after {
								content: "";
								width: 15px;
								height: 8px;
								border-bottom: 2px solid #fff;
								border-left: 2px solid #fff;
								position: absolute;
								top: 8px;
								left: 8px;
								transition: transform 0.125s ease-in-out;
								transform: rotate(-45deg) scaleX(0);
							}
						}
						.mfp_checked {
							.box:after {
								content: "";
								width: 15px;
								height: 8px;
								border-bottom: 2px solid #4d4d4d;
								border-left: 2px solid #4d4d4d;
								position: absolute;
								top: 8px;
								left: 8px;
								transition: transform 0.125s ease-in-out;
								transform: rotate(-45deg) scaleX(1);
							}
						}
*/ }
        .contact-section .form-wrap .form-list .form-list-item .check-list li:first-child input[type="radio"] + input[type="hidden"]:after {
          content: "";
          width: 15px;
          height: 8px;
          border-bottom: 2px solid #fff;
          border-left: 2px solid #fff;
          position: absolute;
          top: 8px;
          left: 8px;
          transition: transform 0.1s ease-in-out;
          transform: rotate(-45deg) scaleX(0); }
        .contact-section .form-wrap .form-list .form-list-item .check-list li:first-child input[type="radio"]:checked + input[type="hidden"] + .box:after {
          border-bottom: 2px solid #4d4d4d;
          border-left: 2px solid #4d4d4d;
          transform: rotate(-45deg) scaleX(1); }
        .contact-section .form-wrap .form-list .form-list-item .check-list li:last-child {
          margin-bottom: 0; }
        .contact-section .form-wrap .form-list .form-list-item .check-list li .box {
          font-size: 1.8rem;
          letter-spacing: .08em;
          display: flex;
          align-items: center;
          position: relative;
          cursor: pointer; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .check-list li .box {
              font-size: 1.4rem; } }
          .contact-section .form-wrap .form-list .form-list-item .check-list li .box:before {
            content: "";
            width: 30px;
            height: 30px;
            background: #f7f7f7;
            border: 1px solid #e4e4e4;
            margin-right: 22px; }
            @media screen and (max-width: 767px) {
              .contact-section .form-wrap .form-list .form-list-item .check-list li .box:before {
                width: 40px;
                height: 40px; } }
        .contact-section .form-wrap .form-list .form-list-item .check-list li input + .box:after {
          content: "";
          width: 15px;
          height: 8px;
          border-bottom: 2px solid #fff;
          border-left: 2px solid #fff;
          position: absolute;
          top: 8px;
          left: 8px;
          transition: transform 0.1s ease-in-out;
          transform: rotate(-45deg) scaleX(0); }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .check-list li input + .box:after {
              top: 15px;
              left: 12px; } }
        .contact-section .form-wrap .form-list .form-list-item .check-list li input:checked + .box:after {
          border-bottom: 2px solid #4d4d4d;
          border-left: 2px solid #4d4d4d;
          transform: rotate(-45deg) scaleX(1); }
        .contact-section .form-wrap .form-list .form-list-item .check-list li .mfp_err {
          position: absolute;
          top: 94px; }
      .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item {
        display: flex;
        margin-bottom: 30px; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item {
            align-items: center; } }
        .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item:last-child {
          margin-bottom: 0; }
        .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item .ttl {
          flex-basis: 80px;
          max-width: 80px; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item .ttl {
              flex-basis: 70px;
              max-width: 70px; } }
        .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item input {
          width: 400px; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item input {
              width: calc(100% - 120px); } }
        .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item select {
          width: 190px; }
        .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item .txt {
          font-size: 1.8rem;
          font-weight: bold;
          color: #549ab2;
          display: flex;
          align-items: center;
          letter-spacing: .08em;
          margin-left: 10px; }
        .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div {
          position: relative; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div {
              flex-basis: calc(100% - 120px);
              min-width: calc(100% - 120px); }
              .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div select {
                width: 100%; } }
          .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div:before, .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div:after {
            content: "";
            position: absolute;
            right: 12px;
            transform: translate(0, -50%);
            cursor: pointer; }
          .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div:before {
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 0 5px 10px 5px;
            border-color: transparent transparent #979797 transparent;
            top: calc(50% - 10px); }
          .contact-section .form-wrap .form-list .form-list-item .study-abroad-list-item div:after {
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 10px 5px 0 5px;
            border-color: #979797 transparent transparent transparent;
            top: calc(50% + 10px); }
    .contact-section .form-wrap input, .contact-section .form-wrap select {
      height: 60px; }
      @media screen and (max-width: 767px) {
        .contact-section .form-wrap input, .contact-section .form-wrap select {
          height: 50px; } }
    .contact-section .form-wrap textarea {
      width: 100% !important;
      height: 230px !important;
      line-height: 2;
      text-align: justify;
      border: 1px solid #e4e4e4;
      background: #f7f7f7;
      outline: none;
      padding: 20px;
      resize: none;
      border-radius: 0; }
      @media screen and (max-width: 767px) {
        .contact-section .form-wrap textarea {
          height: 300px !important;
          padding: 15px; } }
      .contact-section .form-wrap textarea.lang-skill {
        height: 180px !important; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap textarea.lang-skill {
            height: 250px !important; } }
    .contact-section .form-wrap input, .contact-section .form-wrap select, .contact-section .form-wrap textarea, .contact-section .form-wrap checkbox {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      -o-appearance: none;
      -ms-appearance: none;
      border-radius: 0; }
    .contact-section .form-wrap input, .contact-section .form-wrap select, .contact-section .form-wrap textarea {
      font-size: 1.8rem;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500;
      color: #333; }
      @media screen and (max-width: 767px) {
        .contact-section .form-wrap input, .contact-section .form-wrap select, .contact-section .form-wrap textarea {
          font-size: 1.6rem; } }
    .contact-section .form-wrap input[type="text"], .contact-section .form-wrap input[type="tel"], .contact-section .form-wrap input[type="email"], .contact-section .form-wrap input[type="date"], .contact-section .form-wrap input[type="number"] {
      width: 100%;
      font-size: 1.8rem;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500;
      color: #333;
      border: 1px solid #e4e4e4;
      background: #f7f7f7;
      outline: none;
      padding: 0 30px; }
      @media screen and (max-width: 767px) {
        .contact-section .form-wrap input[type="text"], .contact-section .form-wrap input[type="tel"], .contact-section .form-wrap input[type="email"], .contact-section .form-wrap input[type="date"], .contact-section .form-wrap input[type="number"] {
          font-size: 1.6rem;
          padding: 0 15px; } }
      .contact-section .form-wrap input[type="text"].name-width, .contact-section .form-wrap input[type="tel"].name-width, .contact-section .form-wrap input[type="email"].name-width, .contact-section .form-wrap input[type="date"].name-width, .contact-section .form-wrap input[type="number"].name-width {
        width: 260px; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap input[type="text"].name-width, .contact-section .form-wrap input[type="tel"].name-width, .contact-section .form-wrap input[type="email"].name-width, .contact-section .form-wrap input[type="date"].name-width, .contact-section .form-wrap input[type="number"].name-width {
            width: 100%; } }
      .contact-section .form-wrap input[type="text"].business-year, .contact-section .form-wrap input[type="tel"].business-year, .contact-section .form-wrap input[type="email"].business-year, .contact-section .form-wrap input[type="date"].business-year, .contact-section .form-wrap input[type="number"].business-year {
        width: 260px;
        margin-right: 10px; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap input[type="text"].business-year, .contact-section .form-wrap input[type="tel"].business-year, .contact-section .form-wrap input[type="email"].business-year, .contact-section .form-wrap input[type="date"].business-year, .contact-section .form-wrap input[type="number"].business-year {
            width: 100%; } }
        .contact-section .form-wrap input[type="text"].business-year + span, .contact-section .form-wrap input[type="tel"].business-year + span, .contact-section .form-wrap input[type="email"].business-year + span, .contact-section .form-wrap input[type="date"].business-year + span, .contact-section .form-wrap input[type="number"].business-year + span {
          font-size: 1.8rem;
          font-weight: bold;
          color: #549ab2; }
          @media screen and (max-width: 767px) {
            .contact-section .form-wrap input[type="text"].business-year + span, .contact-section .form-wrap input[type="tel"].business-year + span, .contact-section .form-wrap input[type="email"].business-year + span, .contact-section .form-wrap input[type="date"].business-year + span, .contact-section .form-wrap input[type="number"].business-year + span {
              font-size: 1.5rem; } }
    @media screen and (max-width: 767px) {
      .contact-section .form-wrap .work-experience .input-wrap {
        display: flex;
        align-items: center; } }
    .contact-section .form-wrap select {
      width: 100%;
      font-size: 1.8rem;
      font-family: noto-sans-cjk-jp, sans-serif;
      font-weight: 500;
      border: 1px solid #e4e4e4;
      background: #f7f7f7;
      outline: none;
      padding: 0 30px; }
      @media screen and (max-width: 767px) {
        .contact-section .form-wrap select {
          font-size: 1.6rem;
          padding: 0 15px; } }
      .contact-section .form-wrap select.year-width {
        width: 190px; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap select.year-width {
            width: 100%; } }
      .contact-section .form-wrap select.month-width, .contact-section .form-wrap select.date-width {
        width: 130px; }
        @media screen and (max-width: 767px) {
          .contact-section .form-wrap select.month-width, .contact-section .form-wrap select.date-width {
            width: 100%; } }
      .contact-section .form-wrap select:invalid {
        color: #cacaca; }
    .contact-section .form-wrap input[type="checkbox"], .contact-section .form-wrap input[type="radio"] {
      display: none; }
    .contact-section .form-wrap label {
      display: inline-block; }
    .contact-section .form-wrap ::placeholder {
      color: #cacaca; }
  .contact-section .ttl-h3 {
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: .24em;
    color: #549ab2;
    text-align: center;
    padding: 100px 0 40px;
    margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .contact-section .ttl-h3 {
        font-size: 1.8rem;
        padding: 40px 0; } }
  .contact-section .policy-wrap {
    height: 400px;
    padding: 60px 110px;
    margin-bottom: 70px;
    overflow-y: scroll;
    background: #fff; }
    @media screen and (max-width: 767px) {
      .contact-section .policy-wrap {
        height: 215px;
        padding: 25px 20px;
        margin-bottom: 25px;
        -webkit-overflow-scrolling: touch; } }
    .contact-section .policy-wrap h4, .contact-section .policy-wrap p {
      font-size: 1.6rem;
      line-height: 2;
      color: #333;
      letter-spacing: .22em;
      text-align: justify;
      margin-bottom: 50px; }
      @media screen and (max-width: 767px) {
        .contact-section .policy-wrap h4, .contact-section .policy-wrap p {
          font-size: 1.4rem;
          letter-spacing: normal;
          margin-bottom: 40px; } }
    .contact-section .policy-wrap h4 {
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .contact-section .policy-wrap h4 {
          margin-bottom: 20px; } }
    .contact-section .policy-wrap p:last-of-type {
      margin-bottom: 0; }
    .contact-section .policy-wrap::-webkit-scrollbar {
      width: 14px; }
    .contact-section .policy-wrap::-webkit-scrollbar-track {
      background: #f0f0f0; }
    .contact-section .policy-wrap::-webkit-scrollbar-thumb {
      background: #e4e4e4; }
  .contact-section .btn-submit {
    width: 980px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 100px;
    letter-spacing: .24em;
    color: #fff;
    text-align: center;
    background: #cfab0d;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
    margin: 0 auto;
    padding: 0;
    border: none;
    text-shadow: none;
    display: block;
    position: relative; }
    @media screen and (max-width: 767px) {
      .contact-section .btn-submit {
        width: 100%;
        line-height: 50px;
        font-size: 1.5rem;
        letter-spacing: .1em;
        border-radius: 5px; } }
    .contact-section .btn-submit:after {
      content: "";
      width: 10px;
      height: 10px;
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      position: absolute;
      top: 50%;
      right: 40px;
      transform: translate(0, -50%) rotate(45deg); }
      @media screen and (max-width: 767px) {
        .contact-section .btn-submit:after {
          width: 8px;
          height: 8px;
          border-width: 2px;
          right: 20px; } }
  @media screen and (max-width: 767px) {
    .contact-section div.mfp_err {
      font-size: 3.4vw;
      line-height: 1.2; }
    .contact-section div#mfp_phase_confirm h4 {
      margin-bottom: 20px; }
    .contact-section table#mfp_confirm_table tr th, .contact-section table#mfp_confirm_table tr td {
      font-size: 1.4rem;
      padding-left: 10px; }
    .contact-section table#mfp_confirm_table tr.mfp_colored {
      background: #fff; } }
  .contact-section div#mfp_phase_confirm h4 {
    color: #333; }
  .contact-section #mfp_confirm_table {
    color: #333;
    margin: 0 auto 50px auto; }
    @media screen and (max-width: 767px) {
      .contact-section #mfp_confirm_table {
        margin-bottom: 30px; } }
  .contact-section #mfp_phase_confirm_inner {
    margin-top: -50px;
    padding-top: 50px; }
    @media screen and (max-width: 767px) {
      .contact-section #mfp_phase_confirm_inner {
        width: 100%;
        margin: 0 auto;
        padding-top: 0; } }
  .contact-section #thanks-wrap {
    padding: 50px 0;
    display: none; }
    .contact-section #thanks-wrap p {
      font-size: 1.8rem;
      line-height: 1.8;
      letter-spacing: .24em;
      color: #549ab2;
      text-align: center; }
  .contact-section .mfp_buttons {
    width: 900px;
    display: flex;
    justify-content: space-between;
    clear: none;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .contact-section .mfp_buttons {
        width: 100%;
        flex-direction: column; } }
    .contact-section .mfp_buttons button {
      font-size: 2.4rem;
      font-weight: bold;
      color: #fff;
      line-height: 100px;
      letter-spacing: .24em;
      flex-basis: 435px;
      max-width: 435px;
      border-radius: 10px;
      background: none;
      border: none;
      box-shadow: none;
      text-shadow: none;
      padding: 0;
      position: relative; }
      @media screen and (max-width: 767px) {
        .contact-section .mfp_buttons button {
          flex-basis: 100%;
          max-width: 100%;
          height: 50px;
          font-size: 1.5rem;
          letter-spacing: .1em;
          line-height: 50px;
          border-radius: 5px; } }
      .contact-section .mfp_buttons button:after {
        content: "";
        width: 10px;
        height: 10px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        position: absolute;
        top: 50%;
        right: 40px;
        transform: translate(0, -50%) rotate(45deg); }
        @media screen and (max-width: 767px) {
          .contact-section .mfp_buttons button:after {
            width: 8px;
            height: 8px;
            border-width: 2px;
            right: 20px; } }
      .contact-section .mfp_buttons button#mfp_button_send {
        background: #cfab0d; }
        @media screen and (max-width: 767px) {
          .contact-section .mfp_buttons button#mfp_button_send {
            margin-bottom: 10px; } }
      .contact-section .mfp_buttons button#mfp_button_cancel {
        color: #333;
        background: #ccc; }
        .contact-section .mfp_buttons button#mfp_button_cancel:after {
          border-color: #333; }

.footer {
  color: #fff;
  text-align: center;
  padding: 70px 0;
  background: -moz-linear-gradient(54.07% -26.98% -100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -webkit-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -webkit-gradient(linear, 54.07% -26.98%, 45.93% 126.98%, color-stop(0, #171c61), color-stop(0.1968, #113278), color-stop(0.5307, #085198), color-stop(0.8105, #0264ac), color-stop(1, #006bb3));
  background: -o-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  background: -ms-linear-gradient(-100deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61', endColorstr='#006BB3' ,GradientType=0)";
  background: linear-gradient(190deg, #171c61 0%, #113278 19.68%, #085198 53.07%, #0264ac 81.05%, #006bb3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#171C61',endColorstr='#006BB3' , GradientType=1); }
  @media screen and (max-width: 767px) {
    .footer {
      padding-bottom: 20px;
      margin-bottom: 70px; } }
  .footer .logo {
    width: 194px;
    height: 135px;
    display: block;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .footer .logo {
        width: 26.6vw;
        height: auto; } }
    .footer .logo:hover {
      opacity: 1;
      transition: none; }
  .footer .catch {
    font-size: 3rem;
    padding: 50px 0;
    letter-spacing: .18em; }
  .footer .catch-wrap {
    padding: 50px 0;
    text-align: center;
    position: static;
    transform: none; }
  .footer .add {
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: .22em;
    padding: 25px 0; }
  .footer .copylight {
    font-size: 1.2rem;
    letter-spacing: .1em; }
    @media screen and (max-width: 767px) {
      .footer .copylight {
        font-size: 1rem; } }
