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

body {
  line-height: 1; }

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

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

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

em {
  font-style: normal; }

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

del {
  text-decoration: line-through; }

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

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

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

input, select {
  vertical-align: middle; }

img, svg {
  font-size: 0;
  line-height: 0;
  vertical-align: bottom; }

a img {
  border: none; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* General Style
/* --------------------------------------------------- */
a, a:visited, a:active {
  color: #003399;
  text-decoration: underline; }

a:hover {
  text-decoration: none; }

html {
  font-size: 62.5%;
  /* 16pxに625%を掛けると100pxになるよ！ */
  height: 100%; }

body {
  width: 100%;
  height: 100%;
  color: #000;
  background: #fff;
  text-align: center;
  line-height: 1;
  font-size: 1.4em;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-text-size-adjust: 100%; }
  @media print, screen and (min-width: 769px) {
    body {
      font-size: 1.6em; } }

img {
  max-width: 100%;
  height: auto; }

/* レスポンシブルimages */
.rpimg {
  width: 100%;
  height: auto; }

/* header                                         
/* --------------------------------------------------- */
@media print, screen and (max-width: 999px) {
  #header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; } }

.header-inner {
  z-index: 99;
  max-width: 1000px;
  text-align: left;
  position: relative;
  padding: 0 4%;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #fff;
  height: 60px; }
  @media print, screen and (min-width: 1000px) {
    .header-inner {
      height: 129px;
      margin: 0 auto;
      padding: 0 20px; } }

.header-logo {
  width: 130px;
  height: 60px;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  align-items: center; }
  @media print, screen and (min-width: 1000px) {
    .header-logo {
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease;
      width: 274px;
      height: 129px; } }

.gnav-open .header-inner {
  background: #fff; }

/* nav                                           
/* --------------------------------------------------- */
.gnav {
  position: absolute; }
  @media print, screen and (max-width: 999px) {
    .gnav {
      top: 60px;
      right: 0;
      width: 90%;
      text-align: left;
      font-size: 1.3rem;
      z-index: 97;
      display: none; }
      .gnav-open .gnav {
        display: block; } }
  @media print, screen and (min-width: 1000px) {
    .gnav {
      bottom: 0;
      right: 0;
      z-index: 100;
      display: block !important;
      height: auto !important; } }

@media print, screen and (max-width: 999px) {
  .gnav .menu {
    overflow: auto;
    height: 100%; } }
@media print, screen and (min-width: 1000px) {
  .gnav .menu {
    margin-top: 90px;
    display: -webkit-flex;
    display: flex; } }
.gnav .menu li {
  line-height: 1;
  position: relative; }

.gnav .menu li a:link, .gnav .menu li a:visited, .gnav .menu li a:hover, .gnav .menu li a:active {
  text-decoration: none; }

.gnav .menu > li > a, .gnav .menu > li .atag {
  cursor: pointer;
  background: #fff;
  color: #000;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .gnav .menu > li > a:hover, .gnav .menu > li .atag:hover {
    background: #274977;
    color: #fff; }
  @media print, screen and (max-width: 999px) {
    .gnav .menu > li > a, .gnav .menu > li .atag {
      display: block;
      padding: 1.5em 0 1.5em 20px;
      border-bottom: 1px solid #fff; } }
  @media print, screen and (min-width: 1000px) {
    .gnav .menu > li > a, .gnav .menu > li .atag {
      display: inline-block;
      position: relative;
      overflow: hidden;
      padding: 0.7em 1em 0.9em;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      align-items: center; } }
.gnav .menu > li.current-menu-item > a, .gnav .menu > li.current-menu-item > span, .gnav .menu > li.current-menu-parent > a, .gnav .menu > li.current-menu-parent > span, .gnav .menu > li.child-open > a, .gnav .menu > li.child-open > span, .gnav .menu > li.child-btn-hover > a, .gnav .menu > li.child-btn-hover > span {
  cursor: default;
  background: #274977;
  color: #fff; }
.gnav .menu > li.current-menu-parent > a, .gnav .menu > li.current-menu-parent > span {
  cursor: pointer; }
.gnav .menu > li:last-child > a {
  border-bottom: none; }

.gnav .sub-menu {
  display: none; }
  @media print, screen and (min-width: 1000px) {
    .gnav .sub-menu {
      position: absolute;
      top: 42px;
      left: 0;
      display: none;
      white-space: nowrap;
      z-index: 10; } }
  .gnav .sub-menu li {
    background: #274977;
    padding: 0 1em; }
    @media print, screen and (min-width: 1000px) {
      .gnav .sub-menu li {
        display: block;
        vertical-align: top; } }
    .gnav .sub-menu li a {
      display: block;
      background: #274977;
      color: #fff;
      font-size: 94%;
      border-bottom: 1px solid #fff;
      -webkit-transition: all 0.3s ease;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media print, screen and (max-width: 999px) {
        .gnav .sub-menu li a {
          padding: 1.3em 0 1.2em; } }
      @media print, screen and (min-width: 1000px) {
        .gnav .sub-menu li a {
          padding: 1em 0 1.1em;
          position: relative; } }
      .gnav .sub-menu li a:hover {
        opacity: 0.7; }
    .gnav .sub-menu li:last-child a {
      border-bottom: none; }

@media print, screen and (max-width: 999px) {
  nav .tel {
    background: #fff;
    border-top: 1px solid #274977;
    padding: 1em; }
    nav .tel img {
      width: 250px; } }
@media print, screen and (min-width: 1000px) {
  nav .tel {
    position: absolute;
    top: 16px;
    right: 140px;
    width: 259px; } }

.lang-select {
  position: absolute; }
  @media print, screen and (max-width: 999px) {
    .lang-select {
      display: block !important;
      top: 50%;
      right: 59px;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); } }
  @media print, screen and (min-width: 1000px) {
    .lang-select {
      top: 0;
      right: 0; } }
  .lang-select .en a {
    display: block;
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background: #303131;
    color: #fff;
    text-align: center; }
    @media print, screen and (max-width: 999px) {
      .lang-select .en a {
        width: 6em;
        height: 3em;
        line-height: 3em; } }
    @media print, screen and (min-width: 1000px) {
      .lang-select .en a {
        width: 110px;
        height: 65px;
        line-height: 65px; } }
    .lang-select .en a:hover {
      opacity: 0.7; }

/* ハンバーガーメニューボタン */
.nav_toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 54px;
  height: 54px;
  padding: 12px;
  background: #303131;
  cursor: pointer;
  z-index: 999; }
  @media print, screen and (min-width: 1000px) {
    .nav_toggle {
      display: none; } }

.ellipsis-v {
  position: relative;
  display: block;
  cursor: pointer;
  width: 30px;
  height: 30px; }
  .ellipsis-v .point {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    margin: auto;
    background: #fff;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .ellipsis-v .point.top {
      top: 0; }
    .ellipsis-v .point.mid {
      top: 0;
      bottom: 0; }
    .ellipsis-v .point.bot {
      bottom: 0; }

.gnav-open .top {
  width: 40px;
  height: 1px;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }
.gnav-open .ellipsis-v .point.top {
  top: 0;
  left: 2px; }
.gnav-open .mid {
  opacity: 0; }
.gnav-open .bot {
  width: 40px;
  height: 1px;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left: 2px; }

.closeBtn {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin: 20px auto;
  position: relative;
  cursor: pointer; }
  .closeBtn span:before, .closeBtn span:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 2px;
    margin: -8% 0 0 -42%;
    background: #666666; }
  .closeBtn span:before {
    transform: rotate(-45deg); }
  .closeBtn span:after {
    transform: rotate(45deg); }

@media print, screen and (max-width: 999px) {
  /* overlay */
  .overlay {
    content: '';
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    -webkit-transition: all .5s ease;
    transition: all .5s ease; }
    .gnav-open .overlay {
      visibility: visible;
      cursor: pointer;
      background: rgba(0, 0, 0, 0.7);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      z-index: 10; }
    .overlay:after {
      content: "";
      visibility: hidden;
      osition: fixed;
      top: 40%;
      left: 0;
      display: block;
      width: 100%;
      height: 50px;
      color: rgba(255, 255, 255, 0);
      font-size: 40px;
      font-weight: 500;
      text-align: center;
      -webkit-transition: all .5s ease;
      transition: all .5s ease; }
    .gnav-open .overlay:after {
      visibility: visible;
      color: rgba(255, 255, 255, 0.8); } }
/* サブメニュートグルボタン */
.child-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  height: 44px;
  width: 44px;
  background: white;
  display: block;
  cursor: pointer;
  border: 1px solid #ccc; }
  .child-btn:before, .child-btn:after {
    content: '';
    height: 2px;
    width: 16px;
    display: block;
    background: #91979f;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -1px 0 0 -8px;
    -moz-transition: .3s;
    transition: .3s; }
  .child-btn:after {
    height: 16px;
    width: 2px;
    margin: -8px 0 0 -1px; }
  .child-open .child-btn:befor {
    display: none; }
  .child-open .child-btn:after {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg); }
  @media print, screen and (min-width: 1000px) {
    .child-btn {
      display: none; } }

/* contents                                           
/* --------------------------------------------------- */
.main-contents {
  line-height: 1.8;
  position: relative; }
  .main-contents > .inner {
    background: #fff; }
    @media print, screen and (min-width: 769px) {
      .main-contents > .inner {
        max-width: 1000px;
        margin: 0 auto; } }
    .main-contents > .inner section {
      text-align: left; }
      .main-contents > .inner section.mw1 {
        margin: 0 4% 10%; }
        @media print, screen and (min-width: 769px) {
          .main-contents > .inner section.mw1 {
            max-width: 890px;
            padding: 0 10px;
            margin: 0 auto 50px; } }
      .main-contents > .inner section.mw2 {
        margin: 0 4% 10%; }
        @media print, screen and (min-width: 769px) {
          .main-contents > .inner section.mw2 {
            max-width: 850px;
            padding: 0 10px;
            margin: 0 auto 50px; } }
      .main-contents > .inner section.mw3 {
        margin: 0 4% 10%; }
        @media print, screen and (min-width: 769px) {
          .main-contents > .inner section.mw3 {
            max-width: 720px;
            padding: 0 10px;
            margin: 0 auto 50px; } }
  .main-contents h1, .main-contents h2, .main-contents h3, .main-contents h4, .main-contents h5, .main-contents h6 {
    font-weight: bold;
    line-height: 1.4; }
  .main-contents a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .main-contents a img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .main-contents a:hover img {
    opacity: 0.7; }

/* Key */
.key-img {
  margin: 60px auto 0; }
  @media print, screen and (min-width: 1000px) {
    .key-img {
      margin: 1px auto 0; } }

/* Key common */
.key-common {
  padding-top: 60px;
  margin: 0 auto 7px; }
  @media print, screen and (min-width: 1000px) {
    .key-common {
      padding-top: 0; } }
  .key-common .inner {
    background: url("../img/common/key-common-bg.png") no-repeat;
    background-size: cover;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    padding: 0 4%;
    height: 200px;
    margin: 0 auto; }
    @media print, screen and (min-width: 1000px) {
      .key-common .inner {
        background-size: cover;
        height: 255px; } }
    .key-common .inner .ttl {
      font-weight: bold;
      font-size: 2.6rem;
      color: #fff; }
      @media print, screen and (min-width: 1000px) {
        .key-common .inner .ttl {
          font-size: 3rem; } }

/* パンくずナビ */
.breadcrumb {
  overflow: hidden;
  display: block;
  background: #eeeeee; }
  @media print, screen and (max-width: 768px) {
    .breadcrumb {
      padding: 0.7em 4%;
      margin: 0 0 1em;
      text-align: left; } }
  @media print, screen and (min-width: 769px) {
    .breadcrumb {
      margin: 0 0 30px; } }
  .breadcrumb ul {
    max-width: 1000px;
    margin: 0 auto; }
  @media print, screen and (max-width: 768px) {
    .breadcrumb li {
      display: inline; }
      .breadcrumb li:after {
        content: '>';
        padding: 0 0.5em;
        color: #555; }
      .breadcrumb li:last-child:after {
        content: ''; } }
  @media print, screen and (min-width: 769px) {
    .breadcrumb li {
      float: left; } }
  .breadcrumb li a, .breadcrumb li span {
    font-size: 1.2rem; }
    @media print, screen and (min-width: 769px) {
      .breadcrumb li a, .breadcrumb li span {
        font-size: 1.4rem;
        padding: 10px 0 10px 55px;
        background: #eeeeee;
        position: relative;
        display: block;
        float: left; } }
  @media print, screen and (min-width: 769px) {
    .breadcrumb li a::after, .breadcrumb li a::before {
      content: " ";
      display: block;
      width: 0;
      height: 0;
      border-top: 50px solid transparent;
      border-bottom: 50px solid transparent;
      border-left: 30px solid #eeeeee;
      position: absolute;
      top: 50%;
      margin-top: -50px;
      left: 100%;
      z-index: 2; }
    .breadcrumb li a::before {
      border-left: 30px solid white;
      margin-left: 2px;
      z-index: 1; } }

/* footer                                           
/* --------------------------------------------------- */
#footer {
  background: #274977;
  color: #fff;
  width: 100%; }
  @media print, screen and (max-width: 999px) {
    #footer .inner {
      padding: 20px 4%;
      display: block; } }
  @media print, screen and (min-width: 1000px) {
    #footer .inner {
      max-width: 1000px;
      padding: 50px 10px;
      margin: 0 auto;
      display: -webkit-flex;
      display: flex;
      justify-content: space-around;
      white-space: nowrap; } }

.foot-add {
  text-align: center;
  line-height: 1.8;
  display: inline-block;
  margin: 20px auto 0;
  font-size: 1.4rem; }
  .foot-add a {
    color: #fff; }
  .foot-add .cop-name {
    font-size: 2rem;
    font-weight: 500; }
  .foot-add .logo {
    margin: 0 0 0.5em;
    text-align: center; }
    @media print, screen and (min-width: 1000px) {
      .foot-add .logo {
        text-align: left; } }
  @media print, screen and (min-width: 1000px) {
    .foot-add {
      margin: 0;
      width: 40%;
      text-align: left; } }

.foot-nav li {
  color: #fff;
  margin-bottom: 0.8em;
  position: relative;
  text-align: left;
  font-size: 1.4rem; }
.foot-nav ul ul {
  margin-top: 0.8em; }
.foot-nav ul ul > li {
  padding-left: 1em; }
.foot-nav a {
  color: #fff;
  text-decoration: none; }
  .foot-nav a:hover {
    text-decoration: underline; }
@media print, screen and (max-width: 999px) {
  .foot-nav {
    margin: 2em 0; }
    .foot-nav > ul > li {
      padding-bottom: 0.8em;
      text-align: center; }
    .foot-nav ul ul > li {
      padding-left: 0;
      text-align: center; } }
@media print, screen and (min-width: 1000px) {
  .foot-nav {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: end;
    justify-content: flex-end;
    line-height: 1.4; }
    .foot-nav > ul {
      padding-right: 1.5em; }
      .foot-nav > ul:last-child {
        padding-right: 0; } }

#footer small {
  display: block;
  padding: 1.5em 4%;
  background: #172f4b; }

/* page top */
#page-top {
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  color: #fff;
  text-decoration: none;
  background: #000; }
  #page-top:after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    border: 2px solid;
    border-color: #fff #fff transparent transparent;
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -7px; }

/* Parts                                         
/* --------------------------------------------------- */
/* タイトル */
.h01 {
  margin: 0 0 1.5em;
  padding-bottom: 0.3em;
  color: #022547;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  position: relative; }
  .h01::after {
    content: "";
    width: 150px;
    height: 1px;
    background: #022547;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }

.h02 {
  color: #013888;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 2em;
  text-align: center; }
  @media print, screen and (min-width: 769px) {
    .h02 {
      font-size: 2.2rem; } }

.h03 {
  margin-bottom: 1em;
  font-size: 1.6rem;
  font-weight: bold;
  padding-left: 23px;
  position: relative; }
  @media print, screen and (min-width: 769px) {
    .h03 {
      font-size: 1.8rem; } }
  .h03:before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background-color: #004290;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -6px; }

/* Other */
.mt1 {
  margin-top: 1em !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.font-bold {
  font-weight: bold !important; }

.ml4ps {
  margin-left: 4% !important; }

.mr4ps {
  margin-right: 4% !important; }

.ta-l {
  text-align: left !important; }

.ta-r {
  text-align: right !important; }

.ta-c {
  text-align: center !important; }

.fs13 {
  font-size: 1.3rem !important; }

.btn01 {
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  position: relative;
  background: #fff;
  padding: 0.5em 38px 0.5em 4%;
  width: 100%;
  font-size: 2.2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(255, 255, 255, 0);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  @media print, screen and (min-width: 769px) {
    .btn01 {
      font-size: 2.8rem; } }
  .btn01::after {
    position: absolute;
    top: 50%;
    right: 10px;
    margin: auto;
    margin-top: -14px;
    content: "";
    vertical-align: middle;
    width: 28px;
    height: 28px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); }
    @media print, screen and (min-width: 769px) {
      .btn01::after {
        right: 20px; } }
  .btn01:hover::after {
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important; }
  .btn01.v1 {
    color: #65aadd;
    border: 2px solid #65aadd; }
    .btn01.v1::after {
      border-top: 2px solid #65aadd;
      border-right: 2px solid #65aadd; }
  .btn01.v2 {
    color: #c3d600;
    border: 2px solid #c3d600;
    font-size: 1.6rem;
    padding: 1em 38px 1em 4%; }
    @media print, screen and (min-width: 769px) {
      .btn01.v2 {
        font-size: 1.8rem; } }
    .btn01.v2::after {
      border-top: 2px solid #c3d600;
      border-right: 2px solid #c3d600; }
  .btn01.v3 {
    color: #92539d;
    border: 1px solid #92539d;
    font-size: 1.6rem;
    padding: 1em 38px 1em 4%;
    max-width: 575px; }
    @media print, screen and (min-width: 769px) {
      .btn01.v3 {
        font-size: 1.8rem; } }
    .btn01.v3::after {
      border-top: 2px solid #92539d;
      border-right: 2px solid #92539d; }
  .btn01.v4 {
    color: #274977;
    border: 1px solid #274977;
    padding: 0.5em 3em 0.5em 1em;
    font-size: 1.4rem;
    display: inline-block;
    width: auto; }
    @media print, screen and (min-width: 769px) {
      .btn01.v4 {
        font-size: 1.6rem; } }
    .btn01.v4::after {
      margin-top: -5px;
      width: 10px;
      height: 10px;
      border-top: 1px solid #274977;
      border-right: 1px solid #274977; }
  .btn01.v4:hover::after {
    border-top: 1px solid #fff !important;
    border-right: 1px solid #fff !important; }
  .btn01.v5 {
    color: #f19149;
    border: 1px solid #f19149;
    font-size: 1.8rem;
    font-weight: bold;
    height: 100px; }
    @media print, screen and (min-width: 769px) {
      .btn01.v5 {
        font-size: 2rem; } }
    .btn01.v5::after {
      margin-top: -10px;
      width: 20px;
      height: 20px;
      border-top: 2px solid #f19149;
      border-right: 2px solid #f19149; }
  .btn01.v5:hover::after {
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important; }
  .btn01.v6 {
    border: 1px solid #00abeb;
    height: 100px; }
    .btn01.v6::after {
      display: block; }
  .btn01::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .btn01.v1::before {
    background: #65aadd; }
  .btn01.v2::before {
    background: #c3d600; }
  .btn01.v3::before {
    background: #92539d; }
  .btn01.v4::before {
    background: #274977; }
  .btn01.v5::before {
    background: #f19149; }
  .btn01:hover, .btn01:focus, .btn01:active {
    color: #fff;
    text-decoration: none; }
  .btn01:hover:before, .btn01:focus:before, .btn01:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }

.btn02 {
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  position: relative;
  background: #fff;
  padding: 0 1%;
  height: 100px;
  width: 100%;
  font-size: 1.4rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(255, 255, 255, 0);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  @media print, screen and (max-width: 768px) {
    .btn02 {
      margin-top: 1px; } }
  @media print, screen and (min-width: 769px) {
    .btn02 {
      height: 140px;
      width: 200px; } }
  .btn02::after {
    position: absolute;
    top: 50%;
    right: 10px;
    margin: auto;
    margin-top: -6px;
    content: "";
    vertical-align: middle;
    width: 12px;
    height: 12px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); }
    @media print, screen and (min-width: 769px) {
      .btn02::after {
        margin-top: -14px;
        width: 28px;
        height: 28px; } }
  .btn02.tsunagu {
    color: #65aadd; }
    .btn02.tsunagu::after {
      border-top: 2px solid #65aadd;
      border-right: 2px solid #65aadd; }
  .btn02.tsukuru {
    color: #5cc2cf; }
    .btn02.tsukuru::after {
      border-top: 2px solid #5cc2cf;
      border-right: 2px solid #5cc2cf; }
  .btn02.hirogeru {
    color: #a59aca; }
    .btn02.hirogeru::after {
      border-top: 2px solid #a59aca;
      border-right: 2px solid #a59aca; }
  .btn02.sasaeru {
    color: #cd89b9; }
    .btn02.sasaeru::after {
      border-top: 2px solid #cd89b9;
      border-right: 2px solid #cd89b9; }
  .btn02.conect {
    color: #44b1d7; }
    .btn02.conect::after {
      border-top: 2px solid #44b1d7;
      border-right: 2px solid #44b1d7; }
  .btn02::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .btn02.tsunagu::before {
    background: #65aadd; }
  .btn02.tsukuru::before {
    background: #5cc2cf; }
  .btn02.hirogeru::before {
    background: #a59aca; }
  .btn02.sasaeru::before {
    background: #cd89b9; }
  .btn02.conect::before {
    background: #44b1d7; }
  .btn02:hover, .btn02:focus, .btn02:active {
    color: #fff;
    text-decoration: none; }
  .btn02:hover::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff; }
  .btn02:hover:before, .btn02:focus:before, .btn02:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }
  .btn02 h3 {
    text-align: center;
    margin-right: 1em; }
  .btn02 em {
    font-size: 1.9rem; }

.btn03 {
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  position: relative;
  background: #fff;
  padding: 0 1%;
  height: 60px;
  width: 100%;
  font-weight: bold;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center; }
  @media print, screen and (max-width: 768px) {
    .btn03 {
      font-size: 1.6rem; } }
  @media print, screen and (min-width: 769px) {
    .btn03 {
      height: 110px;
      width: 235px;
      font-size: 1.8rem; } }
  .btn03::after {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .btn03.shiru {
    color: #92539d;
    border: 1px solid #92539d; }
    .btn03.shiru::after {
      border-color: transparent transparent #92539d transparent; }
  .btn03.interview {
    color: #eb6161;
    border: 1px solid #eb6161; }
    .btn03.interview::after {
      border-color: transparent transparent #eb6161 transparent; }
  .btn03.kankyo {
    color: #7fbe25;
    border: 1px solid #7fbe25; }
    .btn03.kankyo::after {
      border-color: transparent transparent #7fbe25 transparent; }
  .btn03.tyuto {
    color: #f19149;
    border: 1px solid #f19149; }
    .btn03.tyuto::after {
      border-color: transparent transparent #f19149 transparent; }
  .btn03:hover, .btn03:focus, .btn03:active {
    color: #fff;
    text-decoration: none; }
  .btn03:hover::after {
    border-width: 0 0 800px 800px; }
  .btn03 em {
    position: relative;
    z-index: 2; }

.btn04 {
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  color: #fff !important;
  padding: 0 4%;
  height: 90px;
  width: 100%;
  font-size: 2rem; }
  @media print, screen and (min-width: 769px) {
    .btn04 {
      height: 240px;
      width: 49%;
      font-size: 2.4rem; } }
  .btn04::after {
    position: absolute;
    top: 50%;
    margin: auto;
    margin-top: -7px;
    content: "";
    vertical-align: middle;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    right: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff; }
    @media print, screen and (min-width: 769px) {
      .btn04::after {
        right: 20px;
        margin-top: -14px;
        width: 28px;
        height: 28px; } }
  .btn04.zadankai {
    background: #8b4f94; }
  .btn04.faq {
    background: #eb6161; }
  .btn04.questionnaire {
    background: #e99311; }
  .btn04.youkou {
    background: #bacd1e; }
  .btn04.day1 {
    background: #8ec21f; }
  .btn04.infomation {
    -webkit-box-pack: center;
    justify-content: center;
    background: #92539d;
    width: 100%;
    height: 150px; }
    @media print, screen and (min-width: 769px) {
      .btn04.infomation {
        height: 250px; } }
  .btn04:hover, .btn04:focus, .btn04:active {
    color: #fff;
    text-decoration: none; }
  .btn04:hover {
    opacity: 0.7; }
  .btn04 h3 {
    margin-left: 0.5em; }

@media print, screen and (min-width: 769px) {
  .btn04.C1 {
    height: 160px;
    width: 100%;} }

.btn05 {
  overflow: hidden;
  text-decoration: none;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 0 2%;
  margin-bottom: 10px;
  width: 100%; }
  .btn05::after {
    position: absolute;
    top: 50%;
    margin: auto;
    margin-top: -7px;
    content: "";
    vertical-align: middle;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    right: 10px;
    border-top: 2px solid #000;
    border-right: 2px solid #000; }
    @media print, screen and (min-width: 769px) {
      .btn05::after {
        right: 20px;
        margin-top: -14px;
        width: 28px;
        height: 28px; } }
  .btn05.zadankai {
    background: #b6f8ec; }
  .btn05.questionnaire {
    background: #eeeeee; }
  .btn05.day1 {
    background: #eb6161; }
  .btn05.interview {
    background: #596277; }
  .btn05.interview::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff; }
  .btn05:hover {
    opacity: 0.7; }
  .btn05 .inner {
    display: block;
    width: 870px;
    margin: 0 auto; }

/* ul */
.ul01 li {
  padding-left: 1em;
  text-indent: -1em; }

/* iframe */
.iframe {
  text-align: center; }
  @media print, screen and (max-width: 768px) {
    .iframe {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      overflow: hidden; } }

@media print, screen and (max-width: 768px) {
  .iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; } }

@media only screen and (max-width: 768px) {
  .pc-display {
    display: none; }

  .sp-display {
    display: block; } }
@media only screen and (min-width: 769px) {
  .pc-display {
    display: block; }

  .sp-display {
    display: none; } }
/* clearfix */
.interview-content .layout:after,
.inner section:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  line-height: 0;
  visibility: hidden;
  font-size: 0; }

/* toppage */
.top-business {
  text-align: center !important;
  padding: 10% 2%; }
  @media print, screen and (min-width: 769px) {
    .top-business {
      padding: 40px 0; } }
  .top-business h2 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    position: relative; }
    .top-business h2::after {
      content: "";
      width: 65px;
      height: 3px;
      border-radius: 3px;
      background: #094ba2;
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }
  .top-business .block {
    display: -webkit-flex;
    display: flex; }
    @media print, screen and (max-width: 768px) {
      .top-business .block {
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        flex-wrap: wrap; } }
    @media print, screen and (min-width: 769px) {
      .top-business .block {
        display: -webkit-flex;
        display: flex;
        justify-content: space-around; } }
  @media print, screen and (max-width: 768px) {
    .top-business .col {
      margin: 5% 2%;
      width: 46%; } }
  @media print, screen and (min-width: 769px) {
    .top-business .col {
      margin: 0; } }
  .top-business .col img {
    width: 207px; }

.top-business-conect {
  text-align: center !important;
  background: url("../img/top/business_bg.png") no-repeat top center;
  background-size: contain;
  padding: 10% 4%; }
  @media print, screen and (min-width: 769px) {
    .top-business-conect {
      padding: 70px 0; } }
  .top-business-conect .block {
    background: #fff; }
    @media print, screen and (min-width: 769px) {
      .top-business-conect .block {
        width: 530px;
        margin: 0 auto; } }

.top-topics {
  border-top: 1px solid #094ba2;
  padding: 10% 4% 0;
  margin-bottom: 10%; }
  @media print, screen and (min-width: 769px) {
    .top-topics {
      border-bottom: 1px solid #094ba2;
      display: -webkit-flex;
      display: flex;
      max-width: 830px;
      margin: 0 auto 100px;
      padding: 40px 0; } }
  @media print, screen and (min-width: 769px) {
    .top-topics .ttl {
      text-align: center;
      width: 120px;
      border-right: 2px solid #094ba2; } }
  .top-topics h2 {
    font-size: 1.8rem;
    margin-bottom: 1em;
    display: inline-block; }
    @media print, screen and (max-width: 768px) {
      .top-topics h2 {
        margin-right: 1em; } }
  .top-topics .list {
    display: inline-block;
    color: #094ba2;
    border: 1px solid #094ba2;
    padding: 0.8em 1em;
    line-height: 1; }
    .top-topics .list:hover {
      color: #fff;
      background: #094ba2; }
  .top-topics .data {
    max-height: 280px;
    height: 100%;
    overflow: auto; }
    @media print, screen and (min-width: 769px) {
      .top-topics .data {
        max-height: 300px;
        -webkit-box-flex: 1;
        flex: 1; } }
  .top-topics dl {
    font-size: 1.6rem;
    text-align: left;
    padding: 0.5em 0 0; }
    @media print, screen and (min-width: 769px) {
      .top-topics dl {
        padding: 0 0 0 1em;
        font-size: 1.8rem; } }
  .top-topics dt {
    margin-bottom: 0.5em;
    float: left; }
    @media print, screen and (min-width: 769px) {
      .top-topics dt {
        margin-bottom: 1em; } }
  .top-topics dd {
    margin-bottom: 0.5em;
    padding-left: 5.5em; }
    @media print, screen and (min-width: 769px) {
      .top-topics dd {
        padding-left: 6em;
        margin-bottom: 1em; } }
  .top-topics a {
    text-decoration: none; }
    .top-topics a :hover {
      text-decoration: underline; }

@media print, screen and (min-width: 769px) {
  .top-scl {
    display: -webkit-flex;
    display: flex; } }
.top-scl a {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-decoration: none; }
  @media print, screen and (max-width: 768px) {
    .top-scl a {
      width: 100%;
      height: 200px; } }
  @media print, screen and (min-width: 769px) {
    .top-scl a {
      width: 50%;
      height: 265px; } }
  .top-scl a em {
    display: block;
    font-size: 1.8rem; }
  .top-scl a:first-child {
    background: url("../img/top/advantages_bg.jpg") no-repeat;
    background-size: cover; }
    @media print, screen and (max-width: 768px) {
      .top-scl a:first-child {
        border-bottom: 1px solid #fff; } }
    @media print, screen and (min-width: 769px) {
      .top-scl a:first-child {
        border-right: 1px solid #fff; } }
  .top-scl a:last-child {
    background: url("../img/top/recruit_bg.jpg") no-repeat;
    background-size: cover; }
    @media print, screen and (max-width: 768px) {
      .top-scl a:last-child {
        border-top: 1px solid #fff; } }
    @media print, screen and (min-width: 769px) {
      .top-scl a:last-child {
        border-left: 1px solid #fff; } }
  .top-scl a::after {
    position: absolute;
    top: 50%;
    right: 4%;
    margin: auto;
    margin-top: -20px;
    content: "";
    vertical-align: middle;
    width: 40px;
    height: 40px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); }
    @media print, screen and (min-width: 769px) {
      .top-scl a::after {
        right: 30px;
        margin-top: -24px;
        width: 48px;
        height: 48px; } }

@media print, screen and (min-width: 769px) {
    .top_tatsujin {
      width:100%;
      text-align:center !important;
      margin: 0 auto 100px;
      } }
@media print, screen and (max-width: 768px) {
      .top_tatsujin {
        width:96%;
        margin:0 2% 5%;
        }
      .top_tatsujin img{
        width:100%;
        }}