@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

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

a img {
  border: none; }

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

/**
 * !!! 変数の定義 !!!
 * 変数は作りすぎず、デザインコンポーネント、もしくはシンボルを元に作成する
 * またGoogle Font等の特殊なウェブフォントの場合、そのフォント名を定義してわかりやすくする
 */
/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

/**
 * !!! browsersyncのアラートを非表示 !!!
 */
#__bs_notify__ {
  display: none !important; }

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }

@media only screen and (min-width: 768px) {
  body {
    min-width: 1000px; } }

@media only screen and (max-width: 767px) {
  body {
    padding-top: 50px; } }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

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

a {
  color: inherit;
  text-decoration: none; }

main {
  overflow: hidden; }

input[type="text"],
input[type="email"],
input[type="number"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none; }

button,
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  button::-webkit-search-decoration,
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  button::focus,
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

.row {
  overflow: hidden;
  *zoom: 1; }

@media only screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

/**
 * ----------------ここまで----------------
 */
/**
 * !!! FlexBox Rule !!!
 * 都度scssを記載するのではなく、クラスで定義し、クラスの付け外しで管理すること。
 */
.flex-row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between; }

/**
 * !!! Inner Rule !!!
 * 最初にデザインを確認し、存在するinnerパターンを作成すること
 * max-width指定のみだと、画面幅を縮小するときに余白が消えるため、paddingをつけること
 * 例) innerが1000pxであれば、
 *     max-width: 1060px;
 *     padding: 0 30px;
 */
.inner {
  max-width: 1060px;
  padding: 0 30px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .inner {
      padding: 0 15px; } }

.inner-large {
  max-width: 1260px;
  padding: 0 30px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .inner-large {
      padding: 0 15px; } }

.text-center {
  text-align: center; }

main.no-sub-main {
  padding-top: 80px; }
  @media only screen and (max-width: 767px) {
    main.no-sub-main {
      padding-top: 0px; } }

textarea {
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; }

#totop a {
  position: fixed;
  right: 60px;
  bottom: 150px;
  width: 76px;
  height: 76px;
  background: #123877;
  display: block;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    #totop a {
      right: 20px;
      bottom: 30px;
      width: 52px;
      height: 52px; } }
  #totop a span:nth-child(1) {
    position: absolute;
    width: 2px;
    height: 30px;
    background: #fff;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto; }
    @media only screen and (max-width: 767px) {
      #totop a span:nth-child(1) {
        height: 22px; } }
  #totop a span:nth-child(2) {
    position: absolute;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(-45deg);
    top: 23px;
    left: 0;
    right: 0;
    margin: auto; }
    @media only screen and (max-width: 767px) {
      #totop a span:nth-child(2) {
        top: 15px; } }

.footer__contact {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 75px 0;
  position: relative; }
  .footer__contact:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(130deg, #266dad 3%, #35a086 96%);
    z-index: 0;
    opacity: 0.6; }
  .footer__contact h2 {
    position: relative;
    z-index: 1;
    text-align: center;
    opacity: 0.7;
    font-family: brandon-grotesque, sans-serif;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.44;
    letter-spacing: 1.8px;
    text-align: center;
    color: #fff; }
  .footer__contact h3 {
    position: relative;
    z-index: 1;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.43;
    letter-spacing: 2.8px;
    text-align: center;
    color: #ffffff;
    margin-top: 15px;
    padding-bottom: 60px; }
    @media only screen and (max-width: 767px) {
      .footer__contact h3 {
        font-size: 18px;
        font-size: 1.8rem;
        padding: 0px 40px 50px; } }

.footer__inner {
  max-width: 1200px;
  margin: auto;
  position: relative;
  z-index: 1; }

.footer__col {
  width: 48.5%;
  background: rgba(255, 255, 255, 0.7); }
  @media only screen and (max-width: 767px) {
    .footer__col {
      width: 90%;
      margin: auto; }
      .footer__col:nth-child(2) {
        margin-top: 30px; } }

.footer__telbox--header {
  background: #123877;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 1.44px;
  padding: 15px 0;
  font-weight: bold; }
  @media only screen and (max-width: 767px) {
    .footer__telbox--header {
      font-size: 16px;
      font-size: 1.6rem;
      padding: 10px 0; } }

.footer__telbox--content {
  text-align: center;
  padding: 25px 0 25px; }
  @media only screen and (max-width: 767px) {
    .footer__telbox--content {
      font-size: 16px;
      font-size: 1.6rem;
      padding: 15px 20px; } }
  .footer__telbox--content a {
    color: #123877; }
    .footer__telbox--content a i,
    .footer__telbox--content a span {
      display: inline-block;
      vertical-align: middle; }
    .footer__telbox--content a i {
      font-size: 35px;
      font-size: 3.5rem;
      margin-right: 12px; }
      @media only screen and (max-width: 767px) {
        .footer__telbox--content a i {
          font-size: 24px;
          font-size: 2.4rem; } }
    .footer__telbox--content a span {
      font-size: 49px;
      font-size: 4.9rem;
      letter-spacing: 3.92px;
      font-weight: bold;
      font-family: brandon-grotesque, sans-serif; }
      @media only screen and (max-width: 767px) {
        .footer__telbox--content a span {
          font-size: 30px;
          font-size: 3rem; } }
  .footer__telbox--content em {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    margin-top: 5px; }
    @media only screen and (max-width: 767px) {
      .footer__telbox--content em {
        font-size: 12px;
        font-size: 1.2rem;
        margin-top: 10px; } }

.footer__contactbox {
  padding: 25px 0 40px; }
  .footer__contactbox h4 {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 1.44px;
    text-align: center;
    color: #000000; }
    @media only screen and (max-width: 767px) {
      .footer__contactbox h4 {
        font-size: 16px;
        font-size: 1.6rem; } }
  .footer__contactbox .cv {
    background-image: linear-gradient(116deg, #f69303 3%, #e6b306 99%);
    margin: 0 auto 0;
    max-width: 320px;
    width: 90%;
    text-align: center;
    margin-top: 18px; }
    .footer__contactbox .cv:nth-child(2) {
      width: 85%; }
    .footer__contactbox .cv a {
      display: block;
      color: #fff;
      font-size: 18px;
      font-size: 1.8rem;
      font-weight: bold;
      line-height: 1.5;
      letter-spacing: 0.8px;
      color: #ffffff;
      padding: 20px 0px 20px 40px;
      background-image: url(../images/common/ico_email.png);
      background-position: center left 28px;
      background-repeat: no-repeat;
      background-size: 25px 18px; }
      @media only screen and (max-width: 767px) {
        .footer__contactbox .cv a {
          font-size: 16px;
          font-size: 1.6rem;
          background-position: center left 38px; } }

.footer__bottom {
  background: #fff;
  padding: 25px 40px; }
  .footer__bottom--left {
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .footer__bottom--left {
        width: 100%; } }
  @media only screen and (max-width: 767px) {
    .footer__bottom__brand {
      width: 100%;
      text-align: center; } }
  .footer__bottom__brand img {
    max-height: 44px; }
    @media only screen and (max-width: 767px) {
      .footer__bottom__brand img {
        max-height: 46px; } }
  .footer__bottom__nav {
    margin-left: 20px; }
    @media only screen and (max-width: 767px) {
      .footer__bottom__nav {
        display: none; } }
    .footer__bottom__nav li {
      display: inline-block;
      vertical-align: middle;
      margin-left: 30px; }
      @media only screen and (max-width: 1080px) {
        .footer__bottom__nav li {
          margin-left: 10px; } }
      .footer__bottom__nav li a {
        color: #000;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.08em; }
  .footer__bottom--right {
    text-align: right;
    margin-top: 15px; }
    @media only screen and (max-width: 767px) {
      .footer__bottom--right {
        width: 100%; } }
  @media only screen and (max-width: 767px) {
    .footer__bottom__submenu-upper {
      display: none; } }
  .footer__bottom__submenu-upper ul {
    margin: 0 0 0 auto; }
    .footer__bottom__submenu-upper ul li {
      display: inline-block;
      vertical-align: middle;
      margin-left: 30px; }
      .footer__bottom__submenu-upper ul li:first-child {
        margin-left: 0; }
      .footer__bottom__submenu-upper ul li a {
        color: #000;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.08em;
        text-decoration: underline; }
  .footer__bottom__submenu-bottom {
    margin-top: 15px;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .footer__bottom__submenu-bottom {
        width: 100%; } }
  @media only screen and (max-width: 767px) {
    .footer__bottom__snslinks {
      width: 100%;
      text-align: center; } }
  .footer__bottom__snslinks li {
    display: inline-block;
    vertical-align: middle;
    margin-left: 20px; }
    @media only screen and (max-width: 767px) {
      .footer__bottom__snslinks li {
        margin: 0 10px; } }
    .footer__bottom__snslinks li:first-child {
      margin-left: 0; }
      @media only screen and (max-width: 767px) {
        .footer__bottom__snslinks li:first-child {
          margin: 0 10px; } }
    .footer__bottom__snslinks li a {
      display: block; }
      .footer__bottom__snslinks li a i {
        color: #000;
        font-size: 20px;
        font-size: 2rem; }
  .footer__bottom__copy {
    margin-left: 20px;
    color: #000;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.08em; }
    @media only screen and (max-width: 767px) {
      .footer__bottom__copy {
        text-align: center;
        width: 100%;
        margin-left: 0px;
        margin-top: 15px; } }

#form-footer {
  text-align: center;
  padding: 15px 0;
  font-size: 12px;
  font-size: 1.2rem;
  color: rgba(0, 0, 0, 0.7); }

#header {
  width: 100%;
  height: 80px;
  position: fixed;
  z-index: 1000;
  align-items: center;
  background: white;
  top: 0;
  left: 0; }
  @media only screen and (min-width: 768px) {
    #header {
      min-width: 1000px; } }
  @media only screen and (max-width: 767px) {
    #header {
      height: 50px;
      background: #fff; } }
  #header__brand {
    padding-left: 30px; }
    @media only screen and (max-width: 1080px) {
      #header__brand {
        padding-left: 10px; } }
    @media only screen and (max-width: 767px) {
      #header__brand {
        padding-left: 15px;
        width: calc(100% - 50px); } }
    #header__brand a.text-logo {
      display: none; }
      @media only screen and (max-width: 767px) {
        #header__brand a.text-logo {
          display: block;
          font-weight: bold;
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: -2px;
          line-height: 1.2; } }
    #header__brand a,
    #header__brand h1 {
      display: inline-block;
      vertical-align: middle; }
    #header__brand a img {
      height: 40px; }
      @media only screen and (max-width: 1500px) {
        #header__brand a img {
          height: 40px; } }
      @media only screen and (max-width: 1080px) {
        #header__brand a img {
          height: 40px; } }
      @media only screen and (max-width: 767px) {
        #header__brand a img {
          height: 38px; } }
    #header__brand h1 {
      width: 245px;
      color: #222;
      font-size: 11px;
      font-size: 1.1rem;
      line-height: 1.6;
      margin-left: 20px;
      word-break: break-all; }
      @media only screen and (max-width: 1500px) {
        #header__brand h1 {
          font-size: 10px;
          font-size: 1rem;
          width: 200px; } }
      @media only screen and (max-width: 1325px) {
        #header__brand h1 {
          width: 180px; } }
      @media only screen and (max-width: 1150px) {
        #header__brand h1 {
          display: none; } }
  #header__nav {
    height: 100%;
    overflow: auto; }
    @media only screen and (max-width: 767px) {
      #header__nav {
        padding-bottom: 50px;
        position: fixed;
        left: 100%;
        top: 50px;
        width: 100%;
        height: calc(100% - 50px);
        background: #fff;
        transition: left 0.4s; }
        #header__nav.on {
          left: 0; } }
    #header__nav nav {
      height: 100%; }
      @media only screen and (max-width: 767px) {
        #header__nav nav {
          height: auto;
          margin-top: 20px; } }
      #header__nav nav > ul {
        height: 100%; }
        @media only screen and (max-width: 767px) {
          #header__nav nav > ul {
            height: auto;
            display: block;
            padding: 0 15px; } }
        #header__nav nav > ul > li {
          height: 100%;
          align-items: center;
          margin: 0 12px;
          max-width: 100px; }
          @media only screen and (max-width: 1500px) {
            #header__nav nav > ul > li {
              margin: 0 12px; } }
          @media only screen and (max-width: 1325px) {
            #header__nav nav > ul > li {
              margin: 0 7px;
              max-width: 120px; } }
          @media only screen and (max-width: 767px) {
            #header__nav nav > ul > li {
              height: auto;
              max-width: 100%;
              margin: 0;
              text-align: left;
              border-bottom: 1px solid rgba(0, 0, 0, 0.2);
              position: relative; }
              #header__nav nav > ul > li:before, #header__nav nav > ul > li:after {
                content: "";
                position: absolute;
                top: 0;
                bottom: 0;
                right: 40px;
                margin: auto;
                background: #1e53ad; } }
    @media only screen and (max-width: 767px) and (max-width: 767px) {
      #header__nav nav > ul > li:before, #header__nav nav > ul > li:after {
        right: 12px; } }
          @media only screen and (max-width: 767px) {
              #header__nav nav > ul > li:before {
                width: 32px;
                height: 2px;
                top: 4px; } }
    @media only screen and (max-width: 767px) and (max-width: 767px) {
      #header__nav nav > ul > li:before {
        width: 20px; } }
          @media only screen and (max-width: 767px) {
              #header__nav nav > ul > li:after {
                -webkit-transform: rotate(35deg);
                -moz-transform: rotate(35deg);
                -ms-transform: rotate(35deg);
                -o-transform: rotate(35deg);
                transform: rotate(35deg);
                width: 12px;
                height: 2px;
                top: -2px;
                right: 38px; } }
    @media only screen and (max-width: 767px) and (max-width: 767px) {
      #header__nav nav > ul > li:after {
        right: 10px; } }
          #header__nav nav > ul > li.cv {
            max-width: none;
            width: 220px;
            background-image: linear-gradient(116deg, #f69303 3%, #e6b306 99%);
            margin-right: 0; }
            @media only screen and (max-width: 1500px) {
              #header__nav nav > ul > li.cv {
                width: 180px; } }
            @media only screen and (max-width: 1325px) {
              #header__nav nav > ul > li.cv {
                width: 160px; } }
            @media only screen and (max-width: 767px) {
              #header__nav nav > ul > li.cv {
                height: auto;
                width: 100%;
                max-width: 100%;
                margin: 0;
                margin-top: 50px;
                border-bottom: none; }
                #header__nav nav > ul > li.cv:before, #header__nav nav > ul > li.cv:after {
                  content: none; } }
            #header__nav nav > ul > li.cv a {
              height: 100%;
              padding: 20px 0 30px 30px;
              background-image: url(../images/common/ico_email.png);
              background-position: center left 23px;
              background-repeat: no-repeat;
              background-size: 25px 18px;
              color: #fff; }
              @media only screen and (max-width: 1500px) {
                #header__nav nav > ul > li.cv a {
                  width: 180px;
                  padding: 20px 0 30px 30px;
                  background-position: center left 13px; } }
              @media only screen and (max-width: 767px) {
                #header__nav nav > ul > li.cv a {
                  text-align: center;
                  padding: 12px 0 12px 15px;
                  width: 100%;
                  font-size: 18px;
                  font-size: 1.8rem;
                  font-weight: bold; } }
          #header__nav nav > ul > li > a {
            line-height: 1.6;
            display: block;
            text-align: center;
            color: #222;
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.05em;
            width: 100%;
            transition: opacity 0.3s; }
            @media only screen and (min-width: 768px) {
              #header__nav nav > ul > li > a:hover {
                opacity: 0.7; } }
            @media only screen and (max-width: 1500px) {
              #header__nav nav > ul > li > a {
                font-size: 13px;
                font-size: 1.3rem; } }
            @media only screen and (max-width: 767px) {
              #header__nav nav > ul > li > a {
                text-align: left;
                padding: 18px 0 18px;
                padding-left: 10px; } }
    #header__nav__sublink {
      border-bottom: none !important; }
      #header__nav__sublink:before, #header__nav__sublink:after {
        content: none !important; }
      #header__nav__sublink ul {
        text-align: center;
        font-size: 0;
        margin-top: 30px; }
        #header__nav__sublink ul li {
          display: inline-block;
          vertical-align: middle;
          margin: 0 16px; }
          #header__nav__sublink ul li a {
            font-size: 12px;
            font-size: 1.2rem;
            text-decoration: underline; }
  #header__trigger {
    width: 80px;
    height: 80px; }
    @media only screen and (max-width: 767px) {
      #header__trigger {
        width: 50px;
        height: 50px; } }
    #header__trigger a {
      display: block;
      width: 100%;
      height: 100%;
      background: #1e53ad;
      position: relative; }
      #header__trigger a.on span:nth-child(1) {
        top: 0;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg); }
      #header__trigger a.on span:nth-child(2) {
        right: -8px;
        opacity: 0; }
      #header__trigger a.on span:nth-child(3) {
        top: 0;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      #header__trigger a span {
        position: absolute;
        display: block;
        background: #fff;
        width: 24px;
        height: 2px;
        border-radius: 2px;
        top: 0;
        bottom: 0;
        margin: auto;
        left: 0;
        right: 0;
        transition: all 0.3s; }
        #header__trigger a span:nth-child(1) {
          top: -16px; }
        #header__trigger a span:nth-child(2) {
          width: 19px;
          right: -4px; }
        #header__trigger a span:nth-child(3) {
          top: 16px; }
  #header .footer__telbox--content {
    background: rgba(18, 57, 119, 0.12); }
  #header .footer__bottom__snslinks li {
    border-bottom: none;
    padding: 0;
    margin: 15px 8px 0; }
    #header .footer__bottom__snslinks li:before, #header .footer__bottom__snslinks li:after {
      content: none; }
    #header .footer__bottom__snslinks li a {
      padding: 0; }
      #header .footer__bottom__snslinks li a i {
        color: #000; }

.ancorlinks a {
  display: block;
  width: 19%;
  background: #1e53ad;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1);
  padding: 15px 0;
  line-height: 1.5; }
  .ancorlinks a:hover {
    background: #123877; }

.ancorlinks.three:after {
  content: "";
  order: 1;
  width: 30%; }
  @media only screen and (max-width: 767px) {
    .ancorlinks.three:after {
      margin-top: 40px; } }

.ancorlinks.three a {
  margin-top: 20px;
  width: 30%; }
  @media only screen and (max-width: 767px) {
    .ancorlinks.three a {
      width: 100%; } }

.bgtext {
  width: 100%;
  position: absolute;
  font-size: 18.05556vw;
  top: 0;
  left: 0;
  line-height: 1;
  color: rgba(255, 255, 255, 0.07);
  font-family: brandon-grotesque, sans-serif;
  font-weight: 900;
  white-space: nowrap;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    .bgtext {
      font-size: 150px;
      font-size: 15rem; } }
  .bgtext.color1 {
    color: rgba(255, 255, 255, 0.07); }
  .bgtext.color2 {
    color: rgba(30, 83, 173, 0.07); }

#breadcrumb {
  background: rgba(0, 0, 0, 0.1);
  overflow: auto; }
  #breadcrumb ul {
    font-size: 0;
    padding: 10px 0; }
    @media only screen and (max-width: 767px) {
      #breadcrumb ul {
        white-space: nowrap; } }
    #breadcrumb ul li {
      display: inline-block;
      vertical-align: middle;
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.02em;
      padding-right: 22px;
      position: relative;
      color: rgba(0, 0, 0, 0.5); }
      #breadcrumb ul li:last-child:before {
        content: none; }
      #breadcrumb ul li:before {
        content: ">";
        position: absolute;
        right: 7px;
        top: 0;
        bottom: 0;
        margin: auto; }
      #breadcrumb ul li a {
        text-decoration: underline; }

.btn {
  background: #fff;
  border: 2px solid #1e53ad;
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  position: relative;
  letter-spacing: 0.1em;
  transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1);
  overflow: hidden; }
  .btn.no-arrow span {
    padding: 20px 0; }
    .btn.no-arrow span:before, .btn.no-arrow span:after {
      content: none; }
  .btn:before {
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    background: #1e53ad;
    transition: left 0.4s cubic-bezier(0.38, 0.005, 0.215, 1); }
  @media only screen and (min-width: 768px) {
    .btn:hover span {
      color: #1e53ad; }
      .btn:hover span:before, .btn:hover span:after {
        background: #1e53ad; }
    .btn:hover:before {
      left: 100%; } }
  @media only screen and (max-width: 767px) {
    .btn {
      font-size: 14px;
      font-size: 1.4rem; } }
  .btn span {
    display: block;
    position: relative;
    padding: 28px 80px 28px 40px;
    transition: color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1);
    color: #fff; }
    @media only screen and (max-width: 767px) {
      .btn span {
        padding: 24px 80px 24px 40px; } }
    .btn span:before, .btn span:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 25px;
      margin: auto;
      background: #fff;
      transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
    .btn span:before {
      width: 32px;
      height: 2px;
      top: 4px; }
    .btn span:after {
      -webkit-transform: rotate(35deg);
      -moz-transform: rotate(35deg);
      -ms-transform: rotate(35deg);
      -o-transform: rotate(35deg);
      transform: rotate(35deg);
      width: 12px;
      height: 2px;
      top: -2px;
      right: 24px; }

button.btn {
  display: block;
  text-align: center;
  width: 280px;
  margin: auto;
  cursor: pointer; }

.btn-center {
  display: block;
  width: 280px;
  margin: 80px auto 0; }
  @media only screen and (max-width: 767px) {
    .btn-center {
      margin-top: 40px; } }

.card {
  background: #fff;
  width: 48%;
  margin-top: 45px;
  padding-bottom: 40px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .card {
      width: 90%;
      margin: 30px auto 0;
      padding-top: 0;
      padding-bottom: 0;
      border-top: 1px solid #f5f5f5; }
      .card:first-child {
        margin-top: 60px; } }
  .card a:after {
    content: "詳しく見る";
    text-align: center;
    background: #1e53ad;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 6px 0;
    display: block;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      .card a:after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        letter-spacing: 0.1em;
        font-size: 16px;
        font-size: 1.6rem;
        color: #fff;
        font-weight: bold;
        background: #1e53ad;
        border: 1px solid #1e53ad; } }
  .card a:hover figure .img-box span {
    width: 120px;
    padding-right: 5px;
    padding-left: 20px;
    color: #fff; }
  .card a figure .img-box {
    padding-top: 52%;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    .card a figure .img-box span,
    .card a figure .img-box em {
      position: absolute;
      bottom: 0;
      right: 0; }
    .card a figure .img-box span {
      font-size: 14px;
      font-size: 1.4rem;
      color: #000;
      right: 48px;
      height: 48px;
      width: auto;
      display: inline-block;
      line-height: 48px;
      text-align: center;
      background: #000;
      width: 0;
      white-space: nowrap;
      overflow: hidden;
      transition: all 0.3s; }
    .card a figure .img-box em {
      right: 0;
      display: inline-block;
      width: 48px;
      height: 48px;
      background: #000; }
      .card a figure .img-box em:before, .card a figure .img-box em:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 7px;
        margin: auto;
        background: #fff; }
      .card a figure .img-box em:before {
        width: 32px;
        height: 2px;
        top: 4px; }
      .card a figure .img-box em:after {
        -webkit-transform: rotate(35deg);
        -moz-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
        -o-transform: rotate(35deg);
        transform: rotate(35deg);
        width: 12px;
        height: 2px;
        top: -2px;
        right: 6px; }
  .card a figure figcaption {
    padding: 10px 32px 24px; }
    @media only screen and (max-width: 767px) {
      .card a figure figcaption {
        padding: 10px 20px 20px; } }
    .card a figure figcaption h3 {
      font-size: 20px;
      font-size: 2rem;
      letter-spacing: 0.05em;
      line-height: 1.45;
      color: #1e53ad;
      font-weight: bold;
      min-height: 60px; }
      @media only screen and (max-width: 767px) {
        .card a figure figcaption h3 {
          font-size: 16px;
          font-size: 1.6rem; } }
    .card a figure figcaption .cats {
      font-size: 0;
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        .card a figure figcaption .cats {
          padding-top: 0px;
          margin-bottom: 10px; } }
      .card a figure figcaption .cats li {
        margin-top: 10px;
        display: inline-block;
        vertical-align: middle;
        text-align: center;
        margin-right: 6px;
        color: rgba(0, 0, 0, 0.2);
        background: #fff;
        font-size: 12px;
        font-size: 1.2rem;
        border: 1px solid;
        padding: 5px; }
    .card a figure figcaption .tags {
      margin-top: 15px; }
      .card a figure figcaption .tags .tag {
        margin-top: 6px;
        font-size: 0; }
        .card a figure figcaption .tags .tag span {
          display: inline-block;
          vertical-align: top;
          padding: 2px 10px;
          line-height: 1.75; }
          .card a figure figcaption .tags .tag span:first-child {
            font-weight: bold;
            letter-spacing: 0.05em;
            font-size: 14px;
            font-size: 1.4rem;
            border: 1px solid #000;
            width: 90px; }
            @media only screen and (max-width: 767px) {
              .card a figure figcaption .tags .tag span:first-child {
                font-size: 11px;
                font-size: 1.1rem;
                width: 70px;
                line-height: 1.6; } }
          .card a figure figcaption .tags .tag span:last-child {
            font-size: 14px;
            font-size: 1.4rem;
            width: calc(100% - 100px); }
            @media only screen and (max-width: 767px) {
              .card a figure figcaption .tags .tag span:last-child {
                font-size: 13px;
                font-size: 1.3rem;
                width: calc(100% - 70px);
                line-height: 1.6; } }

body.common-contents #content {
  background: rgba(30, 83, 173, 0.07);
  overflow: hidden;
  padding-bottom: 120px;
  padding-top: 100px; }
  @media only screen and (max-width: 767px) {
    body.common-contents #content {
      padding-top: 50px;
      padding-bottom: 60px; } }
  body.common-contents #content .bgtext {
    color: rgba(30, 83, 173, 0.1); }

body.common-contents #common-content {
  background: #fff;
  padding: 30px 60px 60px; }
  @media only screen and (max-width: 767px) {
    body.common-contents #common-content {
      padding: 15px; } }
  body.common-contents #common-content table {
    width: 100%;
    margin-top: 50px;
    border-left: 1px solid #f5f5f5;
    border-top: 1px solid #f5f5f5; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content table {
        display: block;
        margin-top: 30px; } }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content table tr,
      body.common-contents #common-content table td,
      body.common-contents #common-content table th,
      body.common-contents #common-content table tbody,
      body.common-contents #common-content table thead,
      body.common-contents #common-content table tfoot {
        display: block; } }
    body.common-contents #common-content table td,
    body.common-contents #common-content table th {
      vertical-align: top;
      border-right: 1px solid #f5f5f5;
      border-bottom: 1px solid #f5f5f5;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: 0.1em;
      padding: 20px; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content table td,
        body.common-contents #common-content table th {
          font-size: 14px;
          font-size: 1.4rem;
          padding: 15px; } }
    body.common-contents #common-content table th {
      background: rgba(30, 83, 173, 0.07); }
  body.common-contents #common-content p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content p {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 20px; } }
  body.common-contents #common-content h3 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #1e53ad;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content h3 {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 20px; } }
  body.common-contents #common-content h4 {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    background: rgba(30, 83, 173, 0.1);
    padding: 5px 12px;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content h4 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-bottom: 20px; } }
  body.common-contents #common-content h5 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
    border-left: 4px solid #1e53ad;
    padding-left: 20px; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content h5 {
        font-size: 15px;
        font-size: 1.5rem; } }
  body.common-contents #common-content a:not(.btn) {
    color: #1e53ad; }
    body.common-contents #common-content a:not(.btn).word, body.common-contents #common-content a:not(.btn).pdf, body.common-contents #common-content a:not(.btn).zip {
      display: inline-block;
      text-decoration: underline;
      padding-left: 30px;
      background-size: auto 23px;
      background-repeat: no-repeat;
      background-position: center left; }
    body.common-contents #common-content a:not(.btn).word {
      background-image: url(../images/common/ico_word.png); }
    body.common-contents #common-content a:not(.btn).pdf {
      background-image: url(../images/common/ico_pdf.png); }
    body.common-contents #common-content a:not(.btn).zip {
      background-image: url(../images/common/ico_zip.png); }
  body.common-contents #common-content.form h2 {
    text-align: center;
    background: rgba(18, 57, 119, 0.1);
    font-size: 24px;
    font-size: 2.4rem;
    padding: 10px 0;
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content.form h2 {
        font-size: 16px;
        font-size: 1.6rem;
        margin-top: 30px; } }
    body.common-contents #common-content.form h2:first-child {
      margin-top: 0; }
  body.common-contents #common-content.form .tel-cv {
    margin-top: 40px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content.form .tel-cv {
        margin-top: 20px; } }
    body.common-contents #common-content.form .tel-cv--inner {
      padding: 30px;
      border: 1px solid;
      display: inline-block; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content.form .tel-cv--inner {
          width: 100%;
          padding: 20px 10px; } }
    body.common-contents #common-content.form .tel-cv a {
      color: #123877; }
      body.common-contents #common-content.form .tel-cv a i,
      body.common-contents #common-content.form .tel-cv a span {
        display: inline-block;
        vertical-align: middle; }
      body.common-contents #common-content.form .tel-cv a i {
        font-size: 35px;
        font-size: 3.5rem;
        margin-right: 12px; }
        @media only screen and (max-width: 767px) {
          body.common-contents #common-content.form .tel-cv a i {
            font-size: 24px;
            font-size: 2.4rem; } }
      body.common-contents #common-content.form .tel-cv a span {
        font-size: 49px;
        font-size: 4.9rem;
        letter-spacing: 3.92px;
        font-weight: bold;
        font-family: brandon-grotesque, sans-serif; }
        @media only screen and (max-width: 767px) {
          body.common-contents #common-content.form .tel-cv a span {
            font-size: 30px;
            font-size: 3rem; } }
    body.common-contents #common-content.form .tel-cv em {
      display: block;
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      margin-top: 5px; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content.form .tel-cv em {
          font-size: 12px;
          font-size: 1.2rem;
          margin-top: 10px; } }
  body.common-contents #common-content.form .step {
    text-align: center;
    font-size: 0;
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content.form .step {
        margin-top: 20px; } }
    body.common-contents #common-content.form .step li {
      display: inline-block;
      vertical-align: middle;
      height: 56px;
      position: relative;
      background: rgba(51, 51, 51, 0.12);
      color: rgba(51, 51, 51, 0.4);
      padding-left: 30px;
      padding-right: 30px;
      margin-right: 45px; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content.form .step li {
          height: 36px;
          padding-left: 5px;
          padding-right: 5px;
          margin-right: 25px;
          width: 27.8%; } }
      body.common-contents #common-content.form .step li:before {
        content: "";
        position: absolute;
        right: -30px;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 28px 0 28px 30px;
        border-color: transparent transparent transparent rgba(51, 51, 51, 0.12); }
        @media only screen and (max-width: 767px) {
          body.common-contents #common-content.form .step li:before {
            border-width: 18px 0 18px 15px;
            right: -15px; } }
      body.common-contents #common-content.form .step li.active {
        background: #1e53ad;
        color: #fff; }
        body.common-contents #common-content.form .step li.active:before {
          border-color: transparent transparent transparent #1e53ad; }
      body.common-contents #common-content.form .step li:last-child {
        margin-right: 0; }
        body.common-contents #common-content.form .step li:last-child:before {
          content: none; }
      body.common-contents #common-content.form .step li span {
        display: inline-block;
        vertical-align: bottom;
        line-height: 56px; }
        @media only screen and (max-width: 767px) {
          body.common-contents #common-content.form .step li span {
            line-height: 36px; } }
        body.common-contents #common-content.form .step li span:nth-child(1) {
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          letter-spacing: 0.04em;
          font-family: brandon-grotesque, sans-serif; }
          @media only screen and (max-width: 767px) {
            body.common-contents #common-content.form .step li span:nth-child(1) {
              font-size: 10px;
              font-size: 1rem; } }
        body.common-contents #common-content.form .step li span:nth-child(2) {
          margin-left: 18px;
          font-size: 18px;
          font-size: 1.8rem;
          font-weight: bold;
          letter-spacing: 0.1em;
          position: relative;
          top: -1px; }
          @media only screen and (max-width: 767px) {
            body.common-contents #common-content.form .step li span:nth-child(2) {
              margin-left: 6px;
              font-size: 12px;
              font-size: 1.2rem; } }
  body.common-contents #common-content.form .form-container {
    max-width: 625px;
    margin: auto; }
    body.common-contents #common-content.form .form-container.form-confirm {
      margin-top: 60px; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content.form .form-container.form-confirm {
          margin-top: 20px; } }
    body.common-contents #common-content.form .form-container .history-back-link-whole {
      text-align: center;
      margin-top: 20px; }
    body.common-contents #common-content.form .form-container--row {
      margin-top: 15px; }
      body.common-contents #common-content.form .form-container--row:first-child {
        margin-top: 0; }
      body.common-contents #common-content.form .form-container--row li {
        line-height: 1.7; }
        body.common-contents #common-content.form .form-container--row li:first-child {
          width: 185px;
          padding-right: 15px;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.04em;
          padding-top: 3px; }
          body.common-contents #common-content.form .form-container--row li:first-child small {
            display: block;
            font-size: 11px;
            font-size: 1.1rem;
            line-height: 1.6;
            padding-right: 10px;
            color: rgba(51, 51, 51, 0.7); }
          @media only screen and (max-width: 767px) {
            body.common-contents #common-content.form .form-container--row li:first-child {
              width: 100%;
              font-size: 14px;
              font-size: 1.4rem; } }
          body.common-contents #common-content.form .form-container--row li:first-child sup {
            color: red;
            margin-left: 3px; }
        body.common-contents #common-content.form .form-container--row li:last-child {
          width: calc(100% - 185px); }
          body.common-contents #common-content.form .form-container--row li:last-child p {
            margin-bottom: 0; }
          @media only screen and (max-width: 767px) {
            body.common-contents #common-content.form .form-container--row li:last-child {
              width: 100%; } }
          body.common-contents #common-content.form .form-container--row li:last-child textarea,
          body.common-contents #common-content.form .form-container--row li:last-child input[type="text"],
          body.common-contents #common-content.form .form-container--row li:last-child input[type="email"],
          body.common-contents #common-content.form .form-container--row li:last-child input[type="tel"] {
            background: rgba(51, 51, 51, 0.05);
            border: 1px solid rgba(51, 51, 51, 0.2);
            font-size: 16px;
            font-size: 1.6rem;
            padding: 6px 15px;
            letter-spacing: 0.04em;
            display: block;
            width: 100%; }
            @media only screen and (max-width: 767px) {
              body.common-contents #common-content.form .form-container--row li:last-child textarea,
              body.common-contents #common-content.form .form-container--row li:last-child input[type="text"],
              body.common-contents #common-content.form .form-container--row li:last-child input[type="email"],
              body.common-contents #common-content.form .form-container--row li:last-child input[type="tel"] {
                font-size: 14px;
                font-size: 1.4rem;
                margin-top: 5px;
                padding: 6px 10px; } }
          body.common-contents #common-content.form .form-container--row li:last-child textarea {
            height: 140px;
            resize: none; }
    body.common-contents #common-content.form .form-container form > p {
      font-size: 14px;
      font-size: 1.4rem;
      margin-top: 20px;
      max-height: 200px;
      overflow: auto;
      border: 1px solid #ddd;
      padding: 15px; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content.form .form-container form > p {
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 1.75;
          max-height: 150px; } }
      body.common-contents #common-content.form .form-container form > p a {
        text-decoration: underline; }
  body.common-contents #common-content.form .checkbox {
    margin-top: 25px; }
    body.common-contents #common-content.form .checkbox label {
      width: 280px;
      margin: auto;
      display: block;
      cursor: pointer;
      text-align: center;
      border: 1px solid rgba(51, 51, 51, 0.2);
      padding: 25px 0; }
      body.common-contents #common-content.form .checkbox label input {
        display: none; }
        body.common-contents #common-content.form .checkbox label input:checked + span:after {
          opacity: 1;
          -webkit-transform: rotate(45deg) scale(1);
          -moz-transform: rotate(45deg) scale(1);
          -ms-transform: rotate(45deg) scale(1);
          -o-transform: rotate(45deg) scale(1);
          transform: rotate(45deg) scale(1); }
      body.common-contents #common-content.form .checkbox label span {
        font-size: 14px;
        font-size: 1.4rem;
        color: rgba(51, 51, 51, 0.7);
        padding-left: 30px;
        position: relative;
        letter-spacing: 0.04em; }
        body.common-contents #common-content.form .checkbox label span:before {
          content: "";
          width: 20px;
          height: 20px;
          border: 1px solid rgba(51, 51, 51, 0.2);
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          margin: auto; }
        body.common-contents #common-content.form .checkbox label span:after {
          content: "";
          width: 7px;
          height: 10px;
          border-right: 3px solid #1e53ad;
          border-bottom: 3px solid #1e53ad;
          position: absolute;
          left: 6px;
          top: -6px;
          bottom: 0;
          margin: auto;
          -webkit-transform: rotate(45deg) scale(1.5);
          -moz-transform: rotate(45deg) scale(1.5);
          -ms-transform: rotate(45deg) scale(1.5);
          -o-transform: rotate(45deg) scale(1.5);
          transform: rotate(45deg) scale(1.5);
          opacity: 0;
          transition: all 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
  body.common-contents #common-content.form button {
    max-width: none;
    width: 340px;
    background-image: linear-gradient(116deg, #f69303 3%, #e6b306 99%);
    margin-right: 0;
    line-height: 1.6;
    display: block;
    text-align: center;
    color: #222;
    margin: auto;
    margin-top: 40px;
    cursor: pointer; }
    @media only screen and (max-width: 767px) {
      body.common-contents #common-content.form button {
        width: 100%;
        max-width: 280px; } }
    body.common-contents #common-content.form button span {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      font-weight: bold;
      padding: 25px;
      display: block;
      color: #fff;
      transition: opacity 0.3s;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.common-contents #common-content.form button span {
          padding: 15px;
          font-size: 15px;
          font-size: 1.5rem; } }
      body.common-contents #common-content.form button span:before, body.common-contents #common-content.form button span:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 25px;
        margin: auto;
        background: #fff;
        transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
        @media only screen and (max-width: 767px) {
          body.common-contents #common-content.form button span:before, body.common-contents #common-content.form button span:after {
            right: 20px; } }
      body.common-contents #common-content.form button span:before {
        width: 32px;
        height: 2px;
        top: 4px; }
      body.common-contents #common-content.form button span:after {
        -webkit-transform: rotate(35deg);
        -moz-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
        -o-transform: rotate(35deg);
        transform: rotate(35deg);
        width: 12px;
        height: 2px;
        top: -2px;
        right: 24px; }
        @media only screen and (max-width: 767px) {
          body.common-contents #common-content.form button span:after {
            right: 19px; } }

body.common-contents .caset01 {
  margin-top: 40px; }
  body.common-contents .caset01 p {
    text-align: center; }

body.common-contents .caset02 {
  text-align: center;
  margin-top: 40px; }
  body.common-contents .caset02 img {
    transition: opacity 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
    body.common-contents .caset02 img:hover {
      opacity: 0.8; }

body.common-contents .caset03 {
  margin-top: 40px; }
  body.common-contents .caset03 figure {
    align-items: flex-start; }
    body.common-contents .caset03 figure img {
      width: 33%; }
      @media only screen and (max-width: 767px) {
        body.common-contents .caset03 figure img {
          width: 100%; } }
    body.common-contents .caset03 figure figcaption {
      width: 60%; }
      @media only screen and (max-width: 767px) {
        body.common-contents .caset03 figure figcaption {
          margin-top: 10px;
          width: 100%; } }

body.common-contents .caset04 {
  margin-top: 40px; }
  body.common-contents .caset04 figure {
    align-items: flex-start; }
    body.common-contents .caset04 figure img {
      width: 33%;
      order: 2; }
      @media only screen and (max-width: 767px) {
        body.common-contents .caset04 figure img {
          order: 1;
          width: 100%; } }
    body.common-contents .caset04 figure figcaption {
      width: 60%;
      order: 1; }
      @media only screen and (max-width: 767px) {
        body.common-contents .caset04 figure figcaption {
          order: 2;
          margin-top: 10px;
          width: 100%; } }

.fadeIn {
  position: relative;
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.38, 0.005, 0.215, 1); }
  .fadeIn.on {
    opacity: 1; }
  .fadeIn.fadeInTop {
    top: 60px !important; }
    .fadeIn.fadeInTop.on {
      top: 0 !important; }
  .fadeIn.fadeInLeft {
    right: 60px !important; }
    .fadeIn.fadeInLeft.on {
      left: 0 !important; }
  .fadeIn.fadeInRight {
    left: 60px !important; }
    .fadeIn.fadeInRight.on {
      left: 0 !important; }
  .fadeIn.delay01 {
    transition-delay: .1s; }
  .fadeIn.delay02 {
    transition-delay: .2s; }
  .fadeIn.delay03 {
    transition-delay: .3s; }
  .fadeIn.delay04 {
    transition-delay: .4s; }
  .fadeIn.delay05 {
    transition-delay: .5s; }
  .fadeIn.delay06 {
    transition-delay: .6s; }
  .fadeIn.delay07 {
    transition-delay: .7s; }
  .fadeIn.delay08 {
    transition-delay: .8s; }
  .fadeIn.delay09 {
    transition-delay: .9s; }
  .fadeIn.delay10 {
    transition-delay: 1s; }
  .fadeIn.delay11 {
    transition-delay: 1.1s; }
  .fadeIn.delay12 {
    transition-delay: 1.2s; }
  .fadeIn.delay13 {
    transition-delay: 1.3s; }
  .fadeIn.delay14 {
    transition-delay: 1.4s; }
  .fadeIn.delay15 {
    transition-delay: 1.5s; }
  .fadeIn.delay16 {
    transition-delay: 1.6s; }
  .fadeIn.delay17 {
    transition-delay: 1.7s; }
  .fadeIn.delay18 {
    transition-delay: 1.8s; }
  .fadeIn.delay19 {
    transition-delay: 1.9s; }
  .fadeIn.delay20 {
    transition-delay: 2s; }
  .fadeIn.delay21 {
    transition-delay: 2.1s; }
  .fadeIn.delay22 {
    transition-delay: 2.2s; }
  .fadeIn.delay23 {
    transition-delay: 2.3s; }
  .fadeIn.delay24 {
    transition-delay: 2.4s; }
  .fadeIn.delay25 {
    transition-delay: 2.5s; }
  .fadeIn.delay26 {
    transition-delay: 2.6s; }
  .fadeIn.delay27 {
    transition-delay: 2.7s; }
  .fadeIn.delay28 {
    transition-delay: 2.8s; }

#odd-even-sections section:nth-child(even) {
  background: rgba(18, 56, 119, 0.07);
  margin-top: 100px;
  padding-bottom: 100px; }
  @media only screen and (max-width: 767px) {
    #odd-even-sections section:nth-child(even) {
      margin-top: 50px; } }

#pager {
  position: relative;
  margin-bottom: 120px; }
  #pager__prev, #pager__next {
    top: 0;
    height: 100%;
    position: absolute; }
    #pager__prev a, #pager__next a {
      display: block;
      background: black;
      height: 100%;
      line-height: 36px;
      position: relative;
      border: 2px solid black;
      transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
      #pager__prev a:hover, #pager__next a:hover {
        background: #fff; }
        #pager__prev a:hover:before, #pager__prev a:hover:after, #pager__next a:hover:before, #pager__next a:hover:after {
          background: #000; }
        #pager__prev a:hover span, #pager__next a:hover span {
          color: #000000; }
      #pager__prev a:before, #pager__prev a:after, #pager__next a:before, #pager__next a:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 12px;
        margin: auto;
        background: #fff; }
      #pager__prev a:before, #pager__next a:before {
        width: 32px;
        height: 2px;
        top: 4px; }
      #pager__prev a:after, #pager__next a:after {
        -webkit-transform: rotate(35deg);
        -moz-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
        -o-transform: rotate(35deg);
        transform: rotate(35deg);
        width: 12px;
        height: 2px;
        top: -2px;
        right: 10px; }
      #pager__prev a.disabled, #pager__next a.disabled {
        background: rgba(0, 0, 0, 0.2);
        pointer-events: none;
        border: 2px solid rgba(0, 0, 0, 0); }
        #pager__prev a.disabled:before, #pager__prev a.disabled:after, #pager__next a.disabled:before, #pager__next a.disabled:after {
          content: none; }
      #pager__prev a span, #pager__next a span {
        color: #fff; }
  #pager__prev {
    left: 0; }
    #pager__prev a {
      padding-left: 68px;
      padding-right: 16px; }
      #pager__prev a:before, #pager__prev a:after {
        right: auto;
        left: 12px; }
      #pager__prev a:after {
        -webkit-transform: rotate(-35deg);
        -moz-transform: rotate(-35deg);
        -ms-transform: rotate(-35deg);
        -o-transform: rotate(-35deg);
        transform: rotate(-35deg);
        width: 12px;
        height: 2px;
        top: -2px;
        left: 10px; }
  #pager__next {
    right: 0; }
    #pager__next a {
      padding-right: 68px;
      padding-left: 16px; }
  #pager__num {
    text-align: center; }
  #pager__current {
    display: inline-block;
    vertical-align: middle; }
    #pager__current span {
      width: 40px;
      height: 40px;
      display: block;
      border: 1px solid rgba(0, 0, 0, 0.2);
      color: #000;
      font-size: 16px;
      font-size: 1.6rem;
      font-family: brandon-grotesque, sans-serif;
      line-height: 40px; }
  #pager__whole {
    display: inline-block;
    vertical-align: middle;
    padding-left: 5px; }
    #pager__whole span {
      line-height: 40px;
      display: block;
      color: #000;
      font-size: 16px;
      font-size: 1.6rem;
      font-family: brandon-grotesque, sans-serif; }

input.search-freeword {
  font-size: 18px;
  font-size: 1.8rem;
  padding: 18px 20px;
  width: 100%;
  display: block;
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff; }
  input.search-freeword::placeholder {
    color: #fff; }
  @media only screen and (max-width: 767px) {
    input.search-freeword {
      font-size: 16px;
      font-size: 1.6rem; } }

.search-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none; }
  .search-modal:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.7;
    background-image: linear-gradient(119deg, #266dad 3%, #35a086 98%);
    z-index: 0; }
  .search-modal__box {
    position: absolute;
    box-shadow: 6px 6px 8px 0 rgba(0, 0, 0, 0.16);
    background-color: #ffffff;
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    max-width: 470px;
    width: 100%; }
    .search-modal__box--close {
      cursor: pointer;
      width: 60px;
      height: 60px;
      position: absolute;
      right: 0;
      top: 0; }
      .search-modal__box--close:hover span:nth-child(1) {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg); }
      .search-modal__box--close:hover span:nth-child(2) {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg); }
      .search-modal__box--close span {
        width: 24px;
        height: 2px;
        position: absolute;
        background: #fff;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        transition: transform 0.3s; }
        .search-modal__box--close span:nth-child(1) {
          -webkit-transform: rotate(45deg);
          -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          -o-transform: rotate(45deg);
          transform: rotate(45deg); }
        .search-modal__box--close span:nth-child(2) {
          -webkit-transform: rotate(-45deg);
          -moz-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          -o-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    .search-modal__box--header {
      background-color: #123877;
      padding: 13px 55px 14px 25px; }
      .search-modal__box--header p {
        color: #fff;
        font-weight: bold;
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.5;
        letter-spacing: 0.1em;
        text-align: left; }
    .search-modal__box--body {
      margin-top: 20px;
      padding: 0 30px;
      overflow: auto;
      height: 364px; }
      .search-modal__box--body__scrollcontent {
        overflow: auto; }
      .search-modal__box--body__inner label {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.7;
        letter-spacing: 0.8px;
        text-align: left;
        color: #000000; }
        .search-modal__box--body__inner label input {
          display: none; }
          .search-modal__box--body__inner label input:checked + span:before {
            background: #123877; }
          .search-modal__box--body__inner label input:checked + span:after {
            -webkit-transform: rotate(45deg) scale(1);
            -moz-transform: rotate(45deg) scale(1);
            -ms-transform: rotate(45deg) scale(1);
            -o-transform: rotate(45deg) scale(1);
            transform: rotate(45deg) scale(1);
            opacity: 1; }
        .search-modal__box--body__inner label span {
          position: relative;
          padding-left: 50px; }
          .search-modal__box--body__inner label span:before {
            content: "";
            width: 18px;
            height: 18px;
            border: 1px solid #999;
            position: absolute;
            left: 20px;
            top: 3px;
            margin: auto; }
          .search-modal__box--body__inner label span:after {
            content: "";
            width: 5px;
            height: 10px;
            border-bottom: 3px solid #fff;
            border-right: 3px solid #fff;
            position: absolute;
            left: 26px;
            top: 4.5px;
            margin: auto;
            -webkit-transform: rotate(45deg) scale(1.6);
            -moz-transform: rotate(45deg) scale(1.6);
            -ms-transform: rotate(45deg) scale(1.6);
            -o-transform: rotate(45deg) scale(1.6);
            transform: rotate(45deg) scale(1.6);
            opacity: 0;
            transition: all 0.3s; }
      .search-modal__box--body__inner > ul {
        display: block; }
        .search-modal__box--body__inner > ul li {
          padding: 15px 0;
          border-bottom: 1px solid rgba(0, 0, 0, 0.16); }
        .search-modal__box--body__inner > ul > ul > li {
          padding-left: 30px; }
    .search-modal__box--clear a {
      display: block;
      background: rgba(0, 0, 0, 0.7);
      color: #fff;
      text-align: center;
      font-size: 16px;
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1.5;
      letter-spacing: 1.6px;
      text-align: center;
      width: 240px;
      margin: 30px auto 50px;
      padding: 15px 0; }

.select-box {
  width: 32%;
  background: #fff;
  padding: 18px 40px 18px 24px;
  position: relative;
  cursor: pointer;
  transition: background .3s; }
  @media only screen and (max-width: 767px) {
    .select-box {
      width: 100%;
      margin-top: 15px; } }
  .select-box:hover {
    background: #1E53AD; }
    .select-box:hover .select-box__label {
      color: #fff; }
    .select-box:hover .select-box__arrows span {
      border-color: #fff; }
  .select-box > span {
    display: block;
    position: relative; }
  .select-box__label {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    color: rgba(0, 0, 0, 0.7);
    transform: color .3s; }
    @media only screen and (max-width: 767px) {
      .select-box__label {
        font-size: 16px;
        font-size: 1.6rem; } }
  .select-box__arrows {
    position: absolute !important;
    width: 9px;
    height: 17px;
    right: 21px;
    top: 0;
    bottom: 0;
    margin: auto; }
    .select-box__arrows span {
      width: 8px;
      height: 8px;
      border-top: 2px solid #1E53AD;
      border-right: 2px solid #1E53AD;
      display: block;
      transform: border-color .3s; }
      .select-box__arrows span:nth-child(1) {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .select-box__arrows span:nth-child(2) {
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        transform: rotate(135deg); }

section .slick-dots {
  margin: 0;
  padding: 0; }
  section .slick-dots li {
    margin: 0 6px;
    padding: 0;
    width: 14px;
    height: 14px; }
    section .slick-dots li button {
      margin: 0;
      padding: 0;
      width: 14px;
      height: 14px;
      border-radius: 14px;
      border: 4px solid #fff;
      background: #ccc;
      transition: all 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
      section .slick-dots li button:before {
        content: none; }
    section .slick-dots li.slick-active button {
      background: #fff;
      border: 4px solid #123877; }

#sub-main {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  height: 390px; }
  @media only screen and (max-width: 767px) {
    #sub-main {
      height: 180px; } }
  #sub-main:before {
    content: "";
    position: absolute;
    background-image: linear-gradient(116deg, #266dad, #35a086);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.8; }
  #sub-main h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    color: #fff;
    z-index: 1;
    padding-top: 110px; }
    @media only screen and (max-width: 767px) {
      #sub-main h2 {
        padding-top: 0px;
        width: 100%; } }
    #sub-main h2 span,
    #sub-main h2 em {
      display: block;
      text-align: center; }
    #sub-main h2 span {
      font-size: 40px;
      font-size: 4rem;
      font-weight: bold;
      letter-spacing: 0.2em;
      line-height: 1.475; }
      @media only screen and (max-width: 767px) {
        #sub-main h2 span {
          font-size: 28px;
          font-size: 2.8rem; } }
    #sub-main h2 em {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      line-height: 1.444444444;
      font-family: brandon-grotesque, sans-serif; }
      @media only screen and (max-width: 767px) {
        #sub-main h2 em {
          font-size: 16px;
          font-size: 1.6rem; } }

h2.flex-row {
  align-items: center;
  justify-content: flex-start;
  -webkit-justify-content: flex-start; }
  h2.flex-row span {
    font-size: 40px;
    font-size: 4rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.2em; }
    @media only screen and (max-width: 767px) {
      h2.flex-row span {
        font-size: 32px;
        font-size: 3.2rem;
        width: 100%;
        line-height: 1.5; } }
  h2.flex-row em {
    font-size: 18px;
    font-size: 1.8rem;
    font-family: brandon-grotesque, sans-serif;
    color: #fff;
    letter-spacing: 0.1em;
    margin-left: 40px;
    margin-top: 10px;
    opacity: 0.7; }
    @media only screen and (max-width: 767px) {
      h2.flex-row em {
        font-size: 14px;
        font-size: 1.4rem;
        display: block;
        margin-top: 15px;
        margin-left: 0;
        width: 100%; } }
  h2.flex-row.color01 span,
  h2.flex-row.color01 em {
    color: #fff; }
  h2.flex-row.color02 span {
    color: #1e53ad; }
  h2.flex-row.color02 em {
    color: rgba(0, 0, 0, 0.7); }

body.caset-content #casets {
  padding-bottom: 100px; }
  body.caset-content #casets .ancor-section {
    margin-top: 80px; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .ancor-section {
        margin-top: 40px; } }
  body.caset-content #casets .anchor-point {
    padding-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .anchor-point {
        padding-top: 50px; } }
    body.caset-content #casets .anchor-point h2 {
      padding: 10px;
      background: #1e53ad;
      padding: 20px 25px; }
      body.caset-content #casets .anchor-point h2 span {
        color: #fff;
        font-size: 30px;
        font-size: 3rem; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .anchor-point h2 span {
            font-size: 20px;
            font-size: 2rem; } }
      body.caset-content #casets .anchor-point h2 em {
        color: rgba(255, 255, 255, 0.7); }
  body.caset-content #casets p.description {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets p.description {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.75; } }
  body.caset-content #casets .sub-title1 {
    padding-top: 60px; }
    body.caset-content #casets .sub-title1 h3 {
      background: rgba(30, 83, 173, 0.6);
      padding: 10px 15px;
      color: #fff;
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.75; }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .sub-title1 h3 {
          font-size: 18px;
          font-size: 1.8rem; } }
    body.caset-content #casets .sub-title1 .description {
      margin-top: 20px; }
  body.caset-content #casets .sub-title2 {
    padding-top: 60px; }
    body.caset-content #casets .sub-title2 h4 {
      padding-left: 15px;
      border-left: 5px solid #1e53ad;
      font-weight: bold;
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.75; }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .sub-title2 h4 {
          font-size: 16px;
          font-size: 1.6rem; } }
    body.caset-content #casets .sub-title2 .description {
      margin-top: 20px; }
  body.caset-content #casets .caset-intro {
    padding-top: 80px; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .caset-intro {
        padding-top: 40px; } }
    body.caset-content #casets .caset-intro h2 {
      text-align: center;
      font-size: 32px;
      font-size: 3.2rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      line-height: 1.833333333;
      color: #1e53ad; }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset-intro h2 {
          font-size: 22px;
          font-size: 2.2rem; } }
    body.caset-content #casets .caset-intro p {
      margin-top: 40px;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset-intro p {
          font-size: 14px;
          font-size: 1.4rem;
          margin-top: 20px; } }
  body.caset-content #casets .caset1 {
    position: relative;
    padding: 60px 0 0;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .caset1 {
        padding: 40px 0 0; } }
    body.caset-content #casets .caset1__text {
      text-align: center;
      max-width: 800px;
      margin: auto; }
      body.caset-content #casets .caset1__text h2 {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 1.833333333;
        color: #1e53ad;
        margin-bottom: 40px; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .caset1__text h2 {
            font-size: 22px;
            font-size: 2.2rem; } }
        body.caset-content #casets .caset1__text h2 strong {
          color: #1e53ad; }
      body.caset-content #casets .caset1__text p {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 0.1em; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .caset1__text p {
            font-size: 14px;
            font-size: 1.4rem; } }
      body.caset-content #casets .caset1__text a {
        margin-top: 60px; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .caset1__text a {
            margin-top: 40px; } }
    body.caset-content #casets .caset1__detail-btn {
      margin-top: 100px;
      padding: 110px 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      body.caset-content #casets .caset1__detail-btn a {
        display: block;
        width: 340px;
        margin: auto; }
  body.caset-content #casets .caset2 .link-type-text {
    padding: 120px 0 0;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .caset2 .link-type-text {
        padding: 60px 0 0; } }
    body.caset-content #casets .caset2 .link-type-text a {
      width: auto;
      display: inline-block; }
      body.caset-content #casets .caset2 .link-type-text a img {
        opacity: 1;
        transition: opacity 0.3s; }
      body.caset-content #casets .caset2 .link-type-text a:hover img {
        opacity: 0.7; }
  body.caset-content #casets .caset3,
  body.caset-content #casets .caset4 {
    padding: 100px 0 0; }
    body.caset-content #casets .caset3 figure,
    body.caset-content #casets .caset4 figure {
      align-items: center; }
      body.caset-content #casets .caset3 figure img,
      body.caset-content #casets .caset4 figure img {
        width: 30%; }
      body.caset-content #casets .caset3 figure figcaption,
      body.caset-content #casets .caset4 figure figcaption {
        width: 65%; }
        body.caset-content #casets .caset3 figure figcaption.full,
        body.caset-content #casets .caset4 figure figcaption.full {
          width: 100%; }
        body.caset-content #casets .caset3 figure figcaption h3,
        body.caset-content #casets .caset4 figure figcaption h3 {
          color: #1e53ad;
          font-size: 28px;
          font-size: 2.8rem;
          line-height: 1.75;
          letter-spacing: 0.1em;
          margin: 0px 0 15px;
          font-weight: bold; }
        body.caset-content #casets .caset3 figure figcaption p,
        body.caset-content #casets .caset4 figure figcaption p {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 2;
          letter-spacing: 0.1em; }
        body.caset-content #casets .caset3 figure figcaption a,
        body.caset-content #casets .caset4 figure figcaption a {
          margin-top: 15px;
          width: auto; }
          body.caset-content #casets .caset3 figure figcaption a span,
          body.caset-content #casets .caset4 figure figcaption a span {
            padding-top: 20px;
            padding-bottom: 20px; }
  @media only screen and (min-width: 768px) {
    body.caset-content #casets .caset4 figure img {
      order: 2; }
    body.caset-content #casets .caset4 figure figcaption {
      order: 1; } }
  body.caset-content #casets .caset5,
  body.caset-content #casets .caset6 {
    padding-top: 50px; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .caset5,
      body.caset-content #casets .caset6 {
        padding-top: 0px; } }
    body.caset-content #casets .caset5 .inner,
    body.caset-content #casets .caset6 .inner {
      position: relative;
      padding-top: 100px; }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset5 .inner,
        body.caset-content #casets .caset6 .inner {
          padding-top: 50px; } }
    body.caset-content #casets .caset5 .image img,
    body.caset-content #casets .caset6 .image img {
      position: absolute;
      left: -50%;
      right: 0;
      top: 0;
      margin: auto; }
      @media only screen and (min-width: 768px) {
        body.caset-content #casets .caset5 .image img,
        body.caset-content #casets .caset6 .image img {
          max-height: 90%; } }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset5 .image img,
        body.caset-content #casets .caset6 .image img {
          position: relative;
          left: 0; } }
    body.caset-content #casets .caset5 .text,
    body.caset-content #casets .caset6 .text {
      width: 55%;
      position: relative;
      margin: 0 0 0 auto;
      background: #fff;
      padding: 60px;
      -webkit-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
      -moz-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
      box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3); }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset5 .text,
        body.caset-content #casets .caset6 .text {
          width: 100%;
          padding: 20px; } }
      body.caset-content #casets .caset5 .text .sub,
      body.caset-content #casets .caset6 .text .sub {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: bold;
        font-family: brandon-grotesque, sans-serif;
        color: #1e53ad;
        letter-spacing: 0.1em; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .caset5 .text .sub,
          body.caset-content #casets .caset6 .text .sub {
            font-size: 14px;
            font-size: 1.4rem; } }
      body.caset-content #casets .caset5 .text .title,
      body.caset-content #casets .caset6 .text .title {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: bold;
        margin-top: 20px;
        letter-spacing: 0.1em;
        line-height: 1.7; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .caset5 .text .title,
          body.caset-content #casets .caset6 .text .title {
            font-size: 18px;
            font-size: 1.8rem; } }
      body.caset-content #casets .caset5 .text p,
      body.caset-content #casets .caset6 .text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        line-height: 2;
        margin-top: 20px; }
        @media only screen and (max-width: 767px) {
          body.caset-content #casets .caset5 .text p,
          body.caset-content #casets .caset6 .text p {
            font-size: 14px;
            font-size: 1.4rem; } }
      body.caset-content #casets .caset5 .text .btn,
      body.caset-content #casets .caset6 .text .btn {
        display: inline-block;
        width: auto;
        margin-top: 60px; }
  body.caset-content #casets .caset6 .image img {
    left: 37%; }
  body.caset-content #casets .caset6 .text {
    margin: 0 auto 0 0; }
  body.caset-content #casets .caset7 {
    margin-top: 100px;
    height: 340px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    @media only screen and (max-width: 767px) {
      body.caset-content #casets .caset7 {
        margin-top: 40px;
        height: 180px; } }
  body.caset-content #casets .caset8 {
    padding-top: 30px; }
    body.caset-content #casets .caset8 .col {
      margin-top: 60px;
      width: 47%; }
      @media only screen and (min-width: 768px) {
        body.caset-content #casets .caset8 .col:nth-child(1), body.caset-content #casets .caset8 .col:nth-child(2) {
          margin-top: 0; } }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset8 .col {
          width: 100%; } }
      body.caset-content #casets .caset8 .col a {
        display: block;
        position: relative; }
        body.caset-content #casets .caset8 .col a:after {
          content: "More >";
          font-size: 14px;
          font-size: 1.4rem;
          text-align: right;
          margin: 0 auto 0 0;
          display: block;
          margin-top: 20px;
          color: #1e53ad; }
      body.caset-content #casets .caset8 .col figure:hover .img-box span {
        width: 120px;
        padding-right: 5px;
        padding-left: 20px;
        color: #fff; }
      body.caset-content #casets .caset8 .col figure .img-box {
        position: relative;
        padding-top: 65%; }
        body.caset-content #casets .caset8 .col figure .img-box__img {
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto;
          width: 100%;
          height: 100%; }
      body.caset-content #casets .caset8 .col figure span {
        position: absolute;
        bottom: 0;
        font-size: 14px;
        font-size: 1.4rem;
        color: #000;
        right: 48px;
        height: 48px;
        width: auto;
        display: inline-block;
        line-height: 48px;
        text-align: center;
        background: #000;
        width: 0;
        white-space: nowrap;
        overflow: hidden;
        transition: all 0.3s; }
      body.caset-content #casets .caset8 .col figure em {
        right: 0;
        display: inline-block;
        width: 48px;
        height: 48px;
        background: #000;
        position: absolute;
        bottom: 0; }
        body.caset-content #casets .caset8 .col figure em:before, body.caset-content #casets .caset8 .col figure em:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 7px;
          margin: auto;
          background: #fff; }
        body.caset-content #casets .caset8 .col figure em:before {
          width: 32px;
          height: 2px;
          top: 4px; }
        body.caset-content #casets .caset8 .col figure em:after {
          -webkit-transform: rotate(35deg);
          -moz-transform: rotate(35deg);
          -ms-transform: rotate(35deg);
          -o-transform: rotate(35deg);
          transform: rotate(35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 6px; }
      body.caset-content #casets .caset8 .col figure figcaption {
        padding-top: 20px; }
        body.caset-content #casets .caset8 .col figure figcaption .sub {
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          font-family: brandon-grotesque, sans-serif;
          color: #1e53ad;
          letter-spacing: 0.1em; }
        body.caset-content #casets .caset8 .col figure figcaption .title {
          font-size: 20px;
          font-size: 2rem;
          font-weight: bold;
          margin-top: 15px;
          letter-spacing: 0.1em;
          line-height: 1.75; }
        body.caset-content #casets .caset8 .col figure figcaption p {
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.1em;
          line-height: 2;
          margin-top: 10px; }
  body.caset-content #casets .caset9 {
    padding-top: 30px; }
    body.caset-content #casets .caset9 .flex-row:after {
      content: "";
      order: 1;
      width: 30%; }
    body.caset-content #casets .caset9 .col {
      margin-top: 60px;
      width: 30%; }
      @media only screen and (min-width: 768px) {
        body.caset-content #casets .caset9 .col:nth-child(1), body.caset-content #casets .caset9 .col:nth-child(2), body.caset-content #casets .caset9 .col:nth-child(3) {
          margin-top: 0; } }
      @media only screen and (max-width: 767px) {
        body.caset-content #casets .caset9 .col {
          width: 100%; } }
      body.caset-content #casets .caset9 .col a {
        display: block;
        position: relative; }
        body.caset-content #casets .caset9 .col a:after {
          content: "More >";
          font-size: 14px;
          font-size: 1.4rem;
          text-align: right;
          margin: 0 auto 0 0;
          display: block;
          margin-top: 20px;
          color: #1e53ad; }
      body.caset-content #casets .caset9 .col figure:hover .img-box span {
        width: 120px;
        padding-right: 5px;
        padding-left: 20px;
        color: #fff; }
      body.caset-content #casets .caset9 .col figure .img-box {
        position: relative;
        padding-top: 65%; }
        body.caset-content #casets .caset9 .col figure .img-box__img {
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          margin: auto;
          width: 100%;
          height: 100%; }
      body.caset-content #casets .caset9 .col figure span {
        position: absolute;
        bottom: 0;
        font-size: 14px;
        font-size: 1.4rem;
        color: #000;
        right: 48px;
        height: 48px;
        width: auto;
        display: inline-block;
        line-height: 48px;
        text-align: center;
        background: #000;
        width: 0;
        white-space: nowrap;
        overflow: hidden;
        transition: all 0.3s; }
      body.caset-content #casets .caset9 .col figure em {
        right: 0;
        display: inline-block;
        width: 48px;
        height: 48px;
        background: #000;
        position: absolute;
        bottom: 0; }
        body.caset-content #casets .caset9 .col figure em:before, body.caset-content #casets .caset9 .col figure em:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 7px;
          margin: auto;
          background: #fff; }
        body.caset-content #casets .caset9 .col figure em:before {
          width: 32px;
          height: 2px;
          top: 4px; }
        body.caset-content #casets .caset9 .col figure em:after {
          -webkit-transform: rotate(35deg);
          -moz-transform: rotate(35deg);
          -ms-transform: rotate(35deg);
          -o-transform: rotate(35deg);
          transform: rotate(35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 6px; }
      body.caset-content #casets .caset9 .col figure figcaption {
        padding-top: 20px; }
        body.caset-content #casets .caset9 .col figure figcaption .sub {
          font-size: 15px;
          font-size: 1.5rem;
          font-weight: bold;
          font-family: brandon-grotesque, sans-serif;
          color: #1e53ad;
          letter-spacing: 0.1em; }
        body.caset-content #casets .caset9 .col figure figcaption .title {
          font-size: 18px;
          font-size: 1.8rem;
          font-weight: bold;
          margin-top: 15px;
          letter-spacing: 0.1em;
          line-height: 1.6; }
        body.caset-content #casets .caset9 .col figure figcaption p {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.1em;
          line-height: 2;
          margin-top: 10px; }

body.company.sub-whole #content {
  background: transparent; }
  body.company.sub-whole #content section {
    padding-top: 120px;
    padding-bottom: 130px; }
    body.company.sub-whole #content section:last-child {
      padding-bottom: 0; }

body.company.sub-whole table {
  width: 100%; }

body.company.sub-whole p.description {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 55px; }

body.company.sub-whole dl {
  font-size: 0;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 25px; }
  body.company.sub-whole dl:last-child {
    border-bottom: none; }
  body.company.sub-whole dl dt,
  body.company.sub-whole dl dd {
    display: inline-block;
    vertical-align: top; }
  body.company.sub-whole dl dt {
    background: #123877;
    width: 126px;
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
    padding: 2px 5px; }
  body.company.sub-whole dl dd {
    width: calc(100% - 130px);
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1.75;
    padding-left: 30px; }

body.company.sub-whole ol {
  margin-top: 40px;
  counter-reset: num; }
  body.company.sub-whole ol li {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6;
    position: relative;
    padding: 30px 0;
    padding-left: 70px;
    letter-spacing: 0.1em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
    body.company.sub-whole ol li:before {
      counter-increment: num;
      content: "0" counter(num);
      color: rgba(30, 83, 173, 0.4);
      position: absolute;
      font-weight: bold;
      left: 0;
      top: 14px;
      font-size: 40px;
      font-size: 4rem; }

body.company.sub-whole .table {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 60px; }
  body.company.sub-whole .table tr td,
  body.company.sub-whole .table tr th {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
    padding: 25px 30px;
    vertical-align: top;
    border-top: 1px solid rgba(0, 0, 0, 0.2); }
  body.company.sub-whole .table tr th {
    background: rgba(30, 83, 173, 0.1);
    font-weight: medium;
    width: 180px; }

body.company.sub-whole .table02 {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 60px; }
  body.company.sub-whole .table02 tr td,
  body.company.sub-whole .table02 tr th {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
    padding: 25px 30px;
    vertical-align: top;
    border-top: 1px solid rgba(0, 0, 0, 0.2); }
  body.company.sub-whole .table02 tr th {
    background: rgba(30, 83, 173, 0.1);
    font-weight: medium;
    width: 180px; }
    body.company.sub-whole .table02 tr th.f-th {
      background: rgba(30, 83, 173, 0.4);
      width: 200px;
      vertical-align: middle;
      font-weight: normal;
      color: #fff; }

body.company.sub-whole .access-box {
  background: #fff;
  margin-top: 60px;
  padding: 40px 60px; }
  body.company.sub-whole .access-box__access {
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin-top: 40px; }
    body.company.sub-whole .access-box__access:first-child {
      margin-top: 0; }
    body.company.sub-whole .access-box__access:last-child {
      border-bottom: none; }
    body.company.sub-whole .access-box__access h3 {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: bold;
      letter-spacing: 0.05em;
      line-height: 1.5; }
    body.company.sub-whole .access-box__access p {
      padding-right: 100px;
      font-size: 16px;
      font-size: 1.6rem;
      color: rgba(0, 0, 0, 0.7);
      letter-spacing: 0.1em;
      line-height: 1.75;
      margin-top: 15px;
      position: relative; }
      body.company.sub-whole .access-box__access p a {
        position: absolute;
        right: 0;
        bottom: 0;
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        color: #1E53AD;
        text-decoration: underline; }
  body.company.sub-whole .access-box__map-frame {
    position: relative;
    margin-top: 30px; }
    body.company.sub-whole .access-box__map-frame iframe {
      width: 100%;
      height: 264px; }
    body.company.sub-whole .access-box__map-frame a {
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      width: 212px;
      background: #000;
      color: #fff;
      height: 48px;
      line-height: 48px;
      padding-left: 20px; }
      body.company.sub-whole .access-box__map-frame a:before, body.company.sub-whole .access-box__map-frame a:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 25px;
        margin: auto;
        background: #fff;
        transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
      body.company.sub-whole .access-box__map-frame a:before {
        width: 32px;
        height: 2px;
        top: 4px; }
      body.company.sub-whole .access-box__map-frame a:after {
        -webkit-transform: rotate(35deg);
        -moz-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
        -o-transform: rotate(35deg);
        transform: rotate(35deg);
        width: 12px;
        height: 2px;
        top: -2px;
        right: 24px; }

body.company.sub-whole .history-box {
  margin-top: 60px; }

body.interview.sub-whole #content {
  background: rgba(18, 56, 119, 0.07);
  padding-top: 60px;
  padding-bottom: 160px; }
  @media only screen and (max-width: 767px) {
    body.interview.sub-whole #content {
      padding-bottom: 60px; } }

body.interview.sub-whole .interview-row__interview {
  width: 46%;
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    body.interview.sub-whole .interview-row__interview {
      width: 100%;
      margin-top: 40px; } }
  body.interview.sub-whole .interview-row__interview a {
    display: block; }
    @media only screen and (min-width: 768px) {
      body.interview.sub-whole .interview-row__interview a:hover figure figcaption {
        bottom: 30px;
        right: 5%; } }
    body.interview.sub-whole .interview-row__interview a figure {
      position: relative;
      width: 100%;
      padding-bottom: 60px; }
      @media only screen and (max-width: 767px) {
        body.interview.sub-whole .interview-row__interview a figure {
          padding-bottom: 0px; } }
      body.interview.sub-whole .interview-row__interview a figure img {
        width: 88.6956522%;
        transition: width 0.4s cubic-bezier(0.38, 0.005, 0.215, 1); }
        @media only screen and (max-width: 767px) {
          body.interview.sub-whole .interview-row__interview a figure img {
            width: 70%;
            display: block; } }
    body.interview.sub-whole .interview-row__interview a figcaption {
      position: absolute;
      right: 0;
      bottom: 0;
      background: #123877;
      padding: 35px 40px;
      padding-right: 100px;
      transition: all 0.4s cubic-bezier(0.38, 0.005, 0.215, 1); }
      @media only screen and (max-width: 767px) {
        body.interview.sub-whole .interview-row__interview a figcaption {
          padding: 20px;
          position: relative;
          width: 85%;
          margin: -60px 0 0px auto; } }
      body.interview.sub-whole .interview-row__interview a figcaption:before, body.interview.sub-whole .interview-row__interview a figcaption:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 25px;
        margin: auto;
        background: #fff;
        transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
      body.interview.sub-whole .interview-row__interview a figcaption:before {
        width: 32px;
        height: 2px;
        top: 4px; }
      body.interview.sub-whole .interview-row__interview a figcaption:after {
        -webkit-transform: rotate(35deg);
        -moz-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
        -o-transform: rotate(35deg);
        transform: rotate(35deg);
        width: 12px;
        height: 2px;
        top: -2px;
        right: 24px; }
  body.interview.sub-whole .interview-row__interview--name {
    font-size: 0; }
    body.interview.sub-whole .interview-row__interview--name span,
    body.interview.sub-whole .interview-row__interview--name em {
      display: inline-block;
      vertical-align: bottom; }
    body.interview.sub-whole .interview-row__interview--name span {
      color: #fff;
      font-size: 26px;
      font-size: 2.6rem;
      font-weight: bold;
      line-height: 1.384615385;
      letter-spacing: 0.06em; }
      @media only screen and (max-width: 767px) {
        body.interview.sub-whole .interview-row__interview--name span {
          font-size: 18px;
          font-size: 1.8rem; } }
    body.interview.sub-whole .interview-row__interview--name em {
      font-size: 13px;
      font-size: 1.3rem;
      font-weight: bold;
      font-family: brandon-grotesque, sans-serif;
      margin-left: 10px;
      letter-spacing: 0.1em;
      color: rgba(255, 255, 255, 0.5); }
      @media only screen and (max-width: 767px) {
        body.interview.sub-whole .interview-row__interview--name em {
          font-size: 11px;
          font-size: 1.1rem; } }
  body.interview.sub-whole .interview-row__interview--info {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: #fff;
    margin-top: 15px; }
    @media only screen and (max-width: 767px) {
      body.interview.sub-whole .interview-row__interview--info {
        font-size: 12px;
        font-size: 1.2rem; } }
  body.interview.sub-whole .interview-row__interview:nth-child(even) a figure img {
    margin: 0 0 0 auto; }
  body.interview.sub-whole .interview-row__interview:nth-child(even) a figure figcaption {
    margin: -60px auto 0px 0; }

body.job.job-detail #content {
  background: rgba(30, 83, 173, 0.07);
  overflow: hidden;
  padding-top: 150px; }
  @media only screen and (max-width: 767px) {
    body.job.job-detail #content {
      padding-top: 40px; } }
  body.job.job-detail #content .bgtext {
    color: rgba(30, 83, 173, 0.1); }
  body.job.job-detail #content h2 {
    color: #fff;
    background: #123877;
    position: relative;
    line-height: 1.7;
    padding: 10px;
    padding-left: 60px; }
    body.job.job-detail #content h2 span {
      font-size: 14px;
      font-size: 1.4rem;
      font-family: brandon-grotesque, sans-serif;
      color: rgba(255, 255, 255, 0.7);
      padding-left: 20px; }
    @media only screen and (max-width: 767px) {
      body.job.job-detail #content h2 {
        padding-left: 10px;
        font-size: 16px;
        font-size: 1.6rem; } }
    body.job.job-detail #content h2:before {
      content: "";
      position: absolute;
      width: 300%;
      height: 100%;
      background: #123877;
      left: 100%;
      top: 0; }
  body.job.job-detail #content #requirement {
    position: relative; }
    body.job.job-detail #content #requirement .bg-image {
      position: absolute;
      right: 58%;
      top: 0;
      width: 70%;
      text-align: right;
      z-index: 0; }
      @media only screen and (max-width: 767px) {
        body.job.job-detail #content #requirement .bg-image {
          position: relative;
          top: auto;
          right: auto;
          margin-top: 20px; } }
    body.job.job-detail #content #requirement .info-box {
      position: relative;
      width: 48%;
      margin: 0 0 0 auto;
      margin-top: 80px;
      padding-bottom: 125px; }
      @media only screen and (max-width: 767px) {
        body.job.job-detail #content #requirement .info-box {
          position: relative;
          top: auto;
          right: auto;
          width: 100%;
          margin-top: 25px;
          padding-bottom: 0; } }
      body.job.job-detail #content #requirement .info-box .cats {
        font-size: 0;
        padding-top: 40px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .info-box .cats {
            padding-top: 0px; } }
        body.job.job-detail #content #requirement .info-box .cats li {
          margin-top: 10px;
          display: inline-block;
          vertical-align: middle;
          text-align: center;
          margin-right: 6px;
          color: rgba(0, 0, 0, 0.2);
          background: #fff;
          font-size: 12px;
          font-size: 1.2rem;
          border: 1px solid;
          padding: 5px; }
      body.job.job-detail #content #requirement .info-box .tags {
        padding-top: 25px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .info-box .tags {
            padding-top: 10px; } }
        body.job.job-detail #content #requirement .info-box .tags .tag {
          margin-top: 6px;
          font-size: 1.4rem; }
          body.job.job-detail #content #requirement .info-box .tags .tag span {
            display: inline-block;
            vertical-align: top;
            padding: 5px 0; }
            body.job.job-detail #content #requirement .info-box .tags .tag span:last-child {
              font-size: 14px;
              font-size: 1.4rem;
              width: calc(100% - 100px); }
              @media only screen and (max-width: 767px) {
                body.job.job-detail #content #requirement .info-box .tags .tag span:last-child {
                  font-size: 13px;
                  font-size: 1.3rem;
                  width: calc(100% - 70px);
                  line-height: 1.6; } }
      body.job.job-detail #content #requirement .info-box .btn {
        margin-top: 45px;
        width: 270px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .info-box .btn {
            display: block;
            margin: auto;
            margin-top: 20px;
            margin-bottom: 40px; } }
    body.job.job-detail #content #requirement .content-box {
      position: relative;
      z-index: 1;
      background: #fff;
      padding: 0 60px 70px; }
      @media only screen and (max-width: 767px) {
        body.job.job-detail #content #requirement .content-box {
          padding: 0 20px 30px;
          margin-top: 20px; } }
      body.job.job-detail #content #requirement .content-box h3 {
        font-size: 24px;
        font-size: 2.4rem;
        letter-spacing: 0.05em;
        font-weight: bold;
        color: #1e53ad;
        padding-top: 60px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box h3 {
            font-size: 18px;
            font-size: 1.8rem;
            padding-top: 35px; } }
      body.job.job-detail #content #requirement .content-box__pr .flex-row {
        margin-top: 65px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box__pr .flex-row {
            margin-top: 40px; } }
        @media only screen and (min-width: 768px) {
          body.job.job-detail #content #requirement .content-box__pr .flex-row:nth-child(odd) .text-box {
            order: 2; }
          body.job.job-detail #content #requirement .content-box__pr .flex-row:nth-child(odd) .image-box {
            order: 1; } }
        body.job.job-detail #content #requirement .content-box__pr .flex-row .text-box {
          width: 50%; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box__pr .flex-row .text-box {
              width: 100%;
              order: 2;
              margin-top: 20px; } }
          body.job.job-detail #content #requirement .content-box__pr .flex-row .text-box.full {
            width: 100%; }
          body.job.job-detail #content #requirement .content-box__pr .flex-row .text-box h4 {
            font-size: 20px;
            font-size: 2rem;
            letter-spacing: 0.1em;
            font-weight: bold;
            line-height: 1.7;
            color: #1e53ad; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box__pr .flex-row .text-box h4 {
                font-size: 16px;
                font-size: 1.6rem; } }
        body.job.job-detail #content #requirement .content-box__pr .flex-row .image-box {
          width: 45%; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box__pr .flex-row .image-box {
              width: 100%;
              order: 1; } }
        body.job.job-detail #content #requirement .content-box__pr .flex-row .img-col {
          width: 31.8181818%; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box__pr .flex-row .img-col {
              width: 100%;
              margin-top: 20px; } }
          body.job.job-detail #content #requirement .content-box__pr .flex-row .img-col figure figcaption {
            font-size: 14px;
            font-size: 1.4rem;
            color: rgba(0, 0, 0, 0.7);
            line-height: 2;
            padding: 10px; }
      body.job.job-detail #content #requirement .content-box .content-box__pr-sub:after {
        content: "";
        display: block;
        width: 31.8181818%; }
      @media only screen and (max-width: 767px) {
        body.job.job-detail #content #requirement .content-box .content-box__pr-sub .img-col {
          width: 50%; }
          body.job.job-detail #content #requirement .content-box .content-box__pr-sub .img-col figure {
            padding: 5px; }
            body.job.job-detail #content #requirement .content-box .content-box__pr-sub .img-col figure figcaption {
              font-size: 11px;
              font-size: 1.1rem;
              padding: 5px;
              line-height: 1.75; } }
      body.job.job-detail #content #requirement .content-box table {
        width: 100%;
        margin-top: 20px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box table {
            display: block; } }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box table tbody {
            display: block; } }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box table tbody tr {
            display: block;
            border-bottom: 1px solid rgba(0, 0, 0, 0.2);
            padding-bottom: 15px;
            margin-top: 15px; }
            body.job.job-detail #content #requirement .content-box table tbody tr:first-child {
              margin-top: 0; } }
        body.job.job-detail #content #requirement .content-box table tbody tr:last-child th,
        body.job.job-detail #content #requirement .content-box table tbody tr:last-child td {
          border-bottom: none; }
        body.job.job-detail #content #requirement .content-box table tbody tr th,
        body.job.job-detail #content #requirement .content-box table tbody tr td {
          border-bottom: 1px solid rgba(0, 0, 0, 0.2);
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.1em;
          line-height: 2;
          padding: 30px 0;
          vertical-align: top; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box table tbody tr th,
            body.job.job-detail #content #requirement .content-box table tbody tr td {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 1.7;
              display: block;
              border-bottom: none;
              padding: 0; } }
        body.job.job-detail #content #requirement .content-box table tbody tr th {
          font-weight: bold;
          font-size: 18px;
          font-size: 1.8rem;
          width: 200px; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box table tbody tr th {
              width: 100%;
              font-size: 15px;
              font-size: 1.5rem; } }
        body.job.job-detail #content #requirement .content-box table tbody tr td {
          color: rgba(0, 0, 0, 0.7); }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box table tbody tr td {
              width: 100%;
              margin-top: 5px; } }
      body.job.job-detail #content #requirement .content-box .map-frame {
        position: relative;
        margin-top: 20px; }
        body.job.job-detail #content #requirement .content-box .map-frame iframe {
          width: 100%;
          height: 264px; }
        body.job.job-detail #content #requirement .content-box .map-frame a {
          display: block;
          position: absolute;
          right: 0;
          bottom: 0;
          width: 212px;
          background: #000;
          color: #fff;
          height: 48px;
          line-height: 48px;
          padding-left: 20px; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box .map-frame a {
              width: 180px;
              font-size: 11px;
              font-size: 1.1rem;
              height: 36px;
              line-height: 36px; } }
          body.job.job-detail #content #requirement .content-box .map-frame a:before, body.job.job-detail #content #requirement .content-box .map-frame a:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            right: 25px;
            margin: auto;
            background: #fff;
            transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
          body.job.job-detail #content #requirement .content-box .map-frame a:before {
            width: 32px;
            height: 2px;
            top: 4px; }
          body.job.job-detail #content #requirement .content-box .map-frame a:after {
            -webkit-transform: rotate(35deg);
            -moz-transform: rotate(35deg);
            -ms-transform: rotate(35deg);
            -o-transform: rotate(35deg);
            transform: rotate(35deg);
            width: 12px;
            height: 2px;
            top: -2px;
            right: 24px; }
      body.job.job-detail #content #requirement .content-box .form-description {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        line-height: 2;
        margin-top: 30px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box .form-description {
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 1.7;
            margin-top: 20px; } }
        body.job.job-detail #content #requirement .content-box .form-description .red {
          color: red; }
      body.job.job-detail #content #requirement .content-box form {
        margin-top: 40px; }
        body.job.job-detail #content #requirement .content-box form .form-table {
          background: rgba(30, 83, 173, 0.1);
          padding: 30px 0;
          margin-top: 0; }
          body.job.job-detail #content #requirement .content-box form .form-table:nth-child(even) {
            background: #fff; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box form .form-table {
              padding: 15px; } }
          body.job.job-detail #content #requirement .content-box form .form-table small {
            display: block;
            font-size: 11px;
            font-size: 1.1rem;
            color: #666;
            line-height: 1.4;
            margin-top: 5px; }
          body.job.job-detail #content #requirement .content-box form .form-table li {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0.04em;
            line-height: 2; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box form .form-table li {
                font-size: 14px;
                font-size: 1.4rem;
                line-height: 1.75; } }
            body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(1) {
              width: 32%;
              padding-left: 5%;
              padding-right: 3%; }
              @media only screen and (max-width: 767px) {
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(1) {
                  width: 100%;
                  padding: 0; } }
              body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(1) sup {
                color: red; }
            body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) {
              width: 68%;
              padding-right: 11%; }
              @media only screen and (max-width: 767px) {
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) {
                  width: 100%;
                  padding: 0; } }
              body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) input {
                width: 100%;
                background: #fff;
                padding: 12px 16px;
                border: 1px solid rgba(0, 0, 0, 0.2); }
                @media only screen and (max-width: 767px) {
                  body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) input {
                    padding: 8px 12px;
                    margin-top: 10px; } }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) input.small {
                  width: 170px; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) input.midium {
                  width: calc(100% - 80px); }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) input em {
                  line-height: 35px;
                  max-width: 70px; }
              body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .radios label {
                display: inline-block;
                vertical-align: middle;
                margin-left: 20px; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .radios label:first-child {
                  margin-left: 0px; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .radios label input {
                  position: absolute;
                  pointer-events: none;
                  opacity: 0;
                  width: 0; }
                  body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .radios label input:checked + em:after {
                    content: "";
                    background: #1e53ad;
                    position: absolute;
                    width: 10px;
                    height: 10px;
                    border-radius: 10px;
                    top: 0;
                    bottom: 0;
                    left: 6px;
                    margin: auto; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .radios label em {
                  padding-left: 30px;
                  position: relative; }
                  body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .radios label em:before {
                    content: "";
                    position: absolute;
                    width: 20px;
                    height: 20px;
                    background: #fff;
                    border-radius: 20px;
                    left: 0;
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    border: 1px solid rgba(0, 0, 0, 0.2); }
              body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .address-box {
                margin-top: 10px; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .address-box:first-child {
                  margin-top: 0; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .address-box em {
                  display: inline-block;
                  vertical-align: middle;
                  line-height: 1.2;
                  width: 80px; }
                body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .address-box input {
                  width: calc(100% - 85px); }
                  body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) .address-box input.small {
                    width: 150px; }
              body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) textarea {
                width: 100%;
                background: #fff;
                padding: 12px 16px;
                border: 1px solid rgba(0, 0, 0, 0.2);
                height: 140px; }
                @media only screen and (max-width: 767px) {
                  body.job.job-detail #content #requirement .content-box form .form-table li:nth-child(2) textarea {
                    height: 80px;
                    padding: 8px 12px;
                    margin-top: 10px; } }
        body.job.job-detail #content #requirement .content-box form .telcv {
          text-align: center;
          font-size: 0;
          margin-top: 35px; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box form .telcv {
              margin-top: 30px; } }
          body.job.job-detail #content #requirement .content-box form .telcv span {
            display: inline-block;
            vertical-align: middle;
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: 0.06em;
            color: rgba(0, 0, 0, 0.7);
            border: 1px solid;
            padding: 4px 8px; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box form .telcv span {
                display: block;
                margin: auto;
                width: 120px; } }
          body.job.job-detail #content #requirement .content-box form .telcv em {
            display: inline-block;
            vertical-align: middle;
            font-family: brandon-grotesque, sans-serif;
            color: #123877;
            font-weight: bold;
            font-size: 28px;
            font-size: 2.8rem; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box form .telcv em {
                font-size: 26px;
                font-size: 2.6rem;
                margin-top: 10px;
                display: block;
                text-align: center; } }
            body.job.job-detail #content #requirement .content-box form .telcv em small {
              font-size: 16px;
              font-size: 1.6rem;
              margin-left: 10px;
              margin-right: 10px; }
              @media only screen and (max-width: 767px) {
                body.job.job-detail #content #requirement .content-box form .telcv em small {
                  font-size: 15px;
                  font-size: 1.5rem; } }
        body.job.job-detail #content #requirement .content-box form button {
          margin-top: 20px; }
      body.job.job-detail #content #requirement .content-box .interview-img {
        text-align: center;
        margin-top: 40px; }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box .interview-img {
            margin-top: 30px; } }
      body.job.job-detail #content #requirement .content-box .qa-box {
        padding-bottom: 40px;
        margin-top: 40px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
        @media only screen and (max-width: 767px) {
          body.job.job-detail #content #requirement .content-box .qa-box {
            padding-bottom: 20px;
            margin-top: 20px; } }
        body.job.job-detail #content #requirement .content-box .qa-box:last-child {
          border-bottom: none; }
        body.job.job-detail #content #requirement .content-box .qa-box .q {
          font-size: 20px;
          font-size: 2rem;
          font-weight: bold;
          letter-spacing: 0.1em;
          padding-left: 70px;
          position: relative;
          line-height: 1.6;
          padding-top: 7px; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box .qa-box .q {
              font-size: 16px;
              font-size: 1.6rem;
              padding-left: 40px;
              padding-top: 3px; } }
          body.job.job-detail #content #requirement .content-box .qa-box .q:before {
            content: "";
            width: 46px;
            height: 46px;
            background: rgba(30, 83, 173, 0.4);
            border-radius: 46px;
            position: absolute;
            top: 0;
            left: 0; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box .qa-box .q:before {
                width: 30px;
                height: 30px; } }
          body.job.job-detail #content #requirement .content-box .qa-box .q:after {
            content: "Q";
            font-weight: bold;
            font-size: 23px;
            font-size: 2.3rem;
            color: #fff;
            position: absolute;
            top: 1px;
            left: 14px; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box .qa-box .q:after {
                font-size: 17px;
                font-size: 1.7rem;
                left: 8px;
                top: 0; } }
        body.job.job-detail #content #requirement .content-box .qa-box .a {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 2;
          letter-spacing: 0.1em;
          padding-left: 70px;
          position: relative;
          color: rgba(0, 0, 0, 0.7);
          margin-top: 30px;
          padding-top: 7px; }
          @media only screen and (max-width: 767px) {
            body.job.job-detail #content #requirement .content-box .qa-box .a {
              font-size: 14px;
              font-size: 1.4rem;
              padding-left: 40px;
              padding-top: 3px; } }
          body.job.job-detail #content #requirement .content-box .qa-box .a:before {
            content: "";
            width: 46px;
            height: 46px;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 46px;
            position: absolute;
            top: 0;
            left: 0; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box .qa-box .a:before {
                width: 30px;
                height: 30px; } }
          body.job.job-detail #content #requirement .content-box .qa-box .a:after {
            content: "A";
            font-size: 23px;
            font-size: 2.3rem;
            font-weight: bold;
            color: #fff;
            position: absolute;
            top: -1px;
            left: 16px; }
            @media only screen and (max-width: 767px) {
              body.job.job-detail #content #requirement .content-box .qa-box .a:after {
                font-size: 17px;
                font-size: 1.7rem;
                left: 10px;
                top: -2px; } }
  body.job.job-detail #content .backlink {
    text-align: center;
    margin-top: 35px;
    padding-bottom: 90px; }
    body.job.job-detail #content .backlink a {
      color: #1e53ad;
      font-size: 16px;
      font-size: 1.6rem;
      text-decoration: underline; }

body.job.job-detail .kiyaku-box {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  max-height: 200px;
  overflow: auto;
  border: 1px solid #ddd;
  padding: 15px;
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 20px;
  max-width: 625px;
  margin-left: auto;
  margin-right: auto; }

body.job.job-detail .kiyaku-checkbox .checkbox {
  margin-top: 25px; }
  body.job.job-detail .kiyaku-checkbox .checkbox label {
    width: 280px;
    margin: auto;
    display: block;
    cursor: pointer;
    text-align: center;
    border: 1px solid rgba(51, 51, 51, 0.2);
    padding: 25px 0; }
    body.job.job-detail .kiyaku-checkbox .checkbox label input {
      position: absolute;
      pointer-events: none;
      opacity: 0; }
      body.job.job-detail .kiyaku-checkbox .checkbox label input:checked + span:after {
        opacity: 1;
        -webkit-transform: rotate(45deg) scale(1);
        -moz-transform: rotate(45deg) scale(1);
        -ms-transform: rotate(45deg) scale(1);
        -o-transform: rotate(45deg) scale(1);
        transform: rotate(45deg) scale(1); }
    body.job.job-detail .kiyaku-checkbox .checkbox label span {
      font-size: 14px;
      font-size: 1.4rem;
      color: rgba(51, 51, 51, 0.7);
      padding-left: 30px;
      position: relative;
      letter-spacing: 0.04em; }
      body.job.job-detail .kiyaku-checkbox .checkbox label span:before {
        content: "";
        width: 20px;
        height: 20px;
        border: 1px solid rgba(51, 51, 51, 0.2);
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto; }
      body.job.job-detail .kiyaku-checkbox .checkbox label span:after {
        content: "";
        width: 7px;
        height: 10px;
        border-right: 3px solid #1e53ad;
        border-bottom: 3px solid #1e53ad;
        position: absolute;
        left: 6px;
        top: -6px;
        bottom: 0;
        margin: auto;
        -webkit-transform: rotate(45deg) scale(1.5);
        -moz-transform: rotate(45deg) scale(1.5);
        -ms-transform: rotate(45deg) scale(1.5);
        -o-transform: rotate(45deg) scale(1.5);
        transform: rotate(45deg) scale(1.5);
        opacity: 0;
        transition: all 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }

body.job #content h2 {
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  line-height: 1.5;
  padding-top: 100px; }
  @media only screen and (max-width: 767px) {
    body.job #content h2 {
      padding-top: 40px; } }

body.job #content p.description,
body.job #content div.description {
  font-size: 16px;
  font-size: 1.6rem;
  color: rgba(0, 0, 0, 0.7);
  margin-top: 20px;
  line-height: 2.25; }
  @media only screen and (max-width: 767px) {
    body.job #content p.description,
    body.job #content div.description {
      margin-top: 10px;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2; } }

body.lptop-caset-content #lp-top-casets {
  padding-bottom: 100px; }
  @media only screen and (max-width: 767px) {
    body.lptop-caset-content #lp-top-casets {
      padding-bottom: 50px; } }
  body.lptop-caset-content #lp-top-casets #odd-even-sections section:nth-child(even) {
    padding-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets #odd-even-sections section:nth-child(even) {
        padding-top: 50px; } }
  body.lptop-caset-content #lp-top-casets section.caset1 {
    padding-top: 100px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset1 {
        padding-top: 50px; } }
    body.lptop-caset-content #lp-top-casets section.caset1 h2 {
      font-size: 24px;
      font-size: 2.4rem;
      color: #1e53ad;
      line-height: 1.833333333;
      font-weight: bold;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset1 h2 {
          font-size: 18px;
          font-size: 1.8rem; } }
    body.lptop-caset-content #lp-top-casets section.caset1 p {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: 0.1em;
      margin-top: 30px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset1 p {
          font-size: 14px;
          font-size: 1.4rem; } }
    body.lptop-caset-content #lp-top-casets section.caset1 a {
      margin-top: 40px; }
  body.lptop-caset-content #lp-top-casets section.caset2 {
    background: #123877;
    position: relative;
    margin-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset2 {
        margin-top: 50px; } }
    body.lptop-caset-content #lp-top-casets section.caset2 .image-area {
      position: absolute;
      top: 0;
      left: 0;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      width: 50%;
      height: 100%; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset2 .image-area {
          width: 100%;
          position: relative;
          padding-top: 60%; } }
      body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption {
        position: absolute;
        bottom: 0;
        right: 0;
        background: #484c57;
        padding: 10px 30px; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption {
            width: 100%;
            position: relative; } }
        body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption span {
          color: #fff;
          display: inline-block;
          vertical-align: middle;
          line-height: 1.5; }
          body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption span:nth-child(1) {
            font-size: 18px;
            font-size: 1.8rem;
            letter-spacing: 0.1em; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption span:nth-child(1) {
                font-size: 15px;
                font-size: 1.5rem; } }
          body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption span:nth-child(2) {
            font-size: 24px;
            font-size: 2.4rem;
            font-weight: bold;
            margin-left: 15px;
            letter-spacing: 0.1em; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset2 .image-area .caption span:nth-child(2) {
                font-size: 19px;
                font-size: 1.9rem; } }
    body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box {
      width: 50%;
      margin: 0 0 0 auto;
      color: #fff;
      padding: 80px 60px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box {
          width: 100%;
          padding: 40px 0; } }
      body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box .sub {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.1em;
        line-height: 1.5;
        font-family: brandon-grotesque, sans-serif; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box .sub {
            font-size: 16px;
            font-size: 1.6rem; } }
      body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box h2 {
        font-size: 40px;
        font-size: 4rem;
        font-weight: bold;
        line-height: 1.7;
        margin-top: 20px;
        letter-spacing: 0.2em; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box h2 {
            font-size: 26px;
            font-size: 2.6rem;
            margin-top: 5px; } }
      body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box .text {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 0.1em;
        margin-top: 30px; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset2 .text-area__box .text {
            font-size: 14px;
            font-size: 1.4rem;
            margin-top: 15px; } }
  body.lptop-caset-content #lp-top-casets section.caset3 {
    padding-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset3 {
        padding-top: 50px; } }
    body.lptop-caset-content #lp-top-casets section.caset3 .slick-next,
    body.lptop-caset-content #lp-top-casets section.caset3 .slick-prev {
      opacity: 0; }
    body.lptop-caset-content #lp-top-casets section.caset3 h2 span,
    body.lptop-caset-content #lp-top-casets section.caset3 h2 em {
      display: block;
      text-align: center; }
    body.lptop-caset-content #lp-top-casets section.caset3 h2 span {
      color: #1e53ad;
      font-family: brandon-grotesque, sans-serif;
      letter-spacing: 0.1em;
      font-size: 18px;
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset3 h2 span {
          font-size: 14px;
          font-size: 1.4rem; } }
    body.lptop-caset-content #lp-top-casets section.caset3 h2 em {
      letter-spacing: 0.1em;
      font-size: 40px;
      font-size: 4rem;
      font-weight: bold;
      margin-top: 10px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset3 h2 em {
          font-size: 28px;
          font-size: 2.8rem; } }
    body.lptop-caset-content #lp-top-casets section.caset3 .inner-large {
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset3 .inner-large {
          padding: 0 45px; } }
    body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows {
      position: absolute;
      right: 30px;
      bottom: 0;
      z-index: 2; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows {
          position: absolute;
          bottom: 0;
          top: 0;
          margin: auto;
          height: 30px;
          left: 0;
          width: 95%;
          right: 0; } }
      body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev {
        width: 60px;
        cursor: pointer;
        height: 60px;
        background: #1e53ad;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev {
            width: 40px;
            height: 40px; } }
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev:before, body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 15px;
          margin: auto;
          background: #fff;
          transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev:before {
          width: 32px;
          height: 2px;
          top: 4px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev:before {
              width: 15px; } }
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev:after {
          -webkit-transform: rotate(-35deg);
          -moz-transform: rotate(-35deg);
          -ms-transform: rotate(-35deg);
          -o-transform: rotate(-35deg);
          transform: rotate(-35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 36px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__prev:after {
              width: 7px;
              height: 2px;
              top: -2px;
              right: 23px; } }
      body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next {
        width: 60px;
        cursor: pointer;
        height: 60px;
        background: #123877;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next {
            width: 40px;
            height: 40px; } }
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next:before, body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 15px;
          margin: auto;
          background: #fff;
          transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next:before {
          width: 32px;
          height: 2px;
          top: 4px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next:before {
              width: 15px; } }
        body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next:after {
          -webkit-transform: rotate(35deg);
          -moz-transform: rotate(35deg);
          -ms-transform: rotate(35deg);
          -o-transform: rotate(35deg);
          transform: rotate(35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 14px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset3 .slide-arrows__next:after {
              width: 7px;
              height: 2px;
              top: -2px;
              left: 17px; } }
    body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider {
      margin-top: 60px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider {
          margin-top: 0; } }
      body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide {
        padding: 0 10px 50px;
        padding-bottom: 50px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide {
            padding: 10px; } }
        body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .image {
          position: absolute;
          right: 0;
          bottom: 0;
          width: 55%;
          height: calc(100% - 50px);
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          z-index: 0; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .image {
              width: 100%;
              position: relative;
              padding-top: 60%; } }
        body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .text-box {
          z-index: 1;
          position: relative;
          background: #fff;
          -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          padding: 60px 70px;
          width: 55%; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .text-box {
              width: 100%;
              position: relative;
              padding: 0;
              -webkit-box-shadow: none;
              -moz-box-shadow: none;
              box-shadow: none; } }
          body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .text-box h3 {
            font-size: 24px;
            font-size: 2.4rem;
            letter-spacing: 0.1em;
            line-height: 1.833333333;
            font-weight: bold; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .text-box h3 {
                font-size: 18px;
                font-size: 1.8rem; } }
          body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .text-box p {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 2;
            letter-spacing: 0.1em;
            margin-top: 15px; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset3 .caset3-slider__slide .text-box p {
                font-size: 14px;
                font-size: 1.4rem;
                line-height: 1.75; } }
  body.lptop-caset-content #lp-top-casets section.caset4 {
    margin-top: 100px;
    padding: 80px 0;
    background: #1e53ad; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset4 {
        margin-top: 40px;
        padding: 40px 0; } }
    body.lptop-caset-content #lp-top-casets section.caset4 .inner {
      text-align: center;
      position: relative;
      z-index: 2; }
      body.lptop-caset-content #lp-top-casets section.caset4 .inner iframe {
        max-width: 800px;
        margin: auto;
        width: 100%;
        height: 468px; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset4 .inner iframe {
            height: 200px; } }
  body.lptop-caset-content #lp-top-casets section.caset5 {
    padding-top: 100px;
    padding-bottom: 20px;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset5 {
        padding-top: 40px;
        padding-bottom: 20px; } }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset5 .inner {
        padding: 0 30px; } }
    body.lptop-caset-content #lp-top-casets section.caset5 h2 span,
    body.lptop-caset-content #lp-top-casets section.caset5 h2 em {
      display: block;
      text-align: center; }
    body.lptop-caset-content #lp-top-casets section.caset5 h2 span {
      color: #1e53ad;
      font-family: brandon-grotesque, sans-serif;
      letter-spacing: 0.1em;
      font-size: 18px;
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset5 h2 span {
          font-size: 13px;
          font-size: 1.3rem; } }
    body.lptop-caset-content #lp-top-casets section.caset5 h2 em {
      letter-spacing: 0.1em;
      font-size: 40px;
      font-size: 4rem;
      font-weight: bold;
      margin-top: 10px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset5 h2 em {
          font-size: 26px;
          font-size: 2.6rem; } }
    body.lptop-caset-content #lp-top-casets section.caset5 .btn-row {
      padding-top: 50px;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset5 .btn-row {
          padding-top: 30px; } }
    body.lptop-caset-content #lp-top-casets section.caset5 .btn {
      display: inline-block;
      width: auto; }
    body.lptop-caset-content #lp-top-casets section.caset5 .caset5__slider {
      margin-top: 30px; }
    body.lptop-caset-content #lp-top-casets section.caset5 .caset5__slider__slide {
      padding: 0 30px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset5 .caset5__slider__slide {
          padding: 0 10px; } }
    body.lptop-caset-content #lp-top-casets section.caset5 .slick-dotted.slick-slider {
      padding-bottom: 50px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset5 .slick-dotted.slick-slider {
          padding-bottom: 20px; } }
    body.lptop-caset-content #lp-top-casets section.caset5 .slick-list {
      overflow: visible; }
    body.lptop-caset-content #lp-top-casets section.caset5 .inner {
      position: relative; }
      body.lptop-caset-content #lp-top-casets section.caset5 .inner:before, body.lptop-caset-content #lp-top-casets section.caset5 .inner:after {
        content: "";
        position: absolute;
        right: 100%;
        top: 0;
        width: 500%;
        background: rgba(255, 255, 255, 0.3);
        height: 100%;
        z-index: 1; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset5 .inner:before, body.lptop-caset-content #lp-top-casets section.caset5 .inner:after {
            content: none; } }
      body.lptop-caset-content #lp-top-casets section.caset5 .inner:before {
        left: 100%; }
    body.lptop-caset-content #lp-top-casets section.caset5 .slick-next:before,
    body.lptop-caset-content #lp-top-casets section.caset5 .slick-prev:before {
      content: none; }
    body.lptop-caset-content #lp-top-casets section.caset5 .slick-prev {
      left: auto;
      width: 300px;
      height: 100%;
      right: 100%;
      z-index: 2; }
    body.lptop-caset-content #lp-top-casets section.caset5 .slick-next {
      right: auto;
      width: 300px;
      height: 100%;
      left: 100%;
      z-index: 2; }
    body.lptop-caset-content #lp-top-casets section.caset5 .card {
      position: relative;
      width: 100%;
      padding-bottom: 0; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset5 .card {
          margin-top: 0; } }
      body.lptop-caset-content #lp-top-casets section.caset5 .card:hover:before {
        top: -25px;
        left: -25px; }
      body.lptop-caset-content #lp-top-casets section.caset5 .card:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: #1e53ad;
        top: 0;
        left: 0;
        z-index: 1;
        transition: all 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
      body.lptop-caset-content #lp-top-casets section.caset5 .card a {
        position: relative;
        z-index: 2;
        display: block;
        background: #fff;
        height: 100%;
        -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
        @media only screen and (min-width: 768px) {
          body.lptop-caset-content #lp-top-casets section.caset5 .card a:after {
            content: none; } }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset5 .card a figure figcaption {
            padding: 10px; }
            body.lptop-caset-content #lp-top-casets section.caset5 .card a figure figcaption .cats li {
              font-size: 10px;
              font-size: 1rem;
              margin-top: 5px; } }
  body.lptop-caset-content #lp-top-casets section.caset6,
  body.lptop-caset-content #lp-top-casets section.caset7 {
    position: relative;
    overflow: hidden;
    padding-top: 50px;
    background: #fff;
    margin-top: 100px; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset6,
      body.lptop-caset-content #lp-top-casets section.caset7 {
        padding-top: 25px;
        margin-top: 50px; } }
    body.lptop-caset-content #lp-top-casets section.caset6 .inner-large,
    body.lptop-caset-content #lp-top-casets section.caset7 .inner-large {
      background: #1e53ad;
      padding-bottom: 100px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large {
          padding-bottom: 50px; } }
      body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map,
      body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map {
        position: absolute;
        width: 40%;
        left: 0;
        top: 0; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map {
            position: relative;
            width: 100%; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map iframe,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map iframe {
          width: 100%;
          height: 650px; }
          @media only screen and (max-width: 1500px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map iframe,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map iframe {
              height: 600px; } }
          @media only screen and (max-width: 1325px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map iframe,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map iframe {
              height: 550px; } }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map iframe,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map iframe {
              height: 270px;
              width: calc(100% + 30px);
              margin-left: -15px; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map .image-box,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map .image-box {
          width: 100%;
          height: 650px;
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover; }
          @media only screen and (max-width: 1500px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map .image-box,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map .image-box {
              height: 600px; } }
          @media only screen and (max-width: 1325px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map .image-box,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map .image-box {
              height: 550px; } }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map .image-box,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map .image-box {
              height: 270px;
              width: calc(100% + 30px);
              margin-left: -15px; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map a,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map a {
          display: block;
          position: absolute;
          right: 0;
          bottom: 0;
          width: 212px;
          background: #000;
          color: #fff;
          height: 48px;
          line-height: 48px;
          padding-left: 20px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map a,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map a {
              height: 30px;
              line-height: 30px;
              font-size: 12px;
              font-size: 1.2rem; } }
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map a:before, body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map a:after,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map a:before,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map a:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            right: 25px;
            margin: auto;
            background: #fff;
            transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map a:before,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map a:before {
            width: 32px;
            height: 2px;
            top: 4px; }
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .map a:after,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map a:after {
            -webkit-transform: rotate(35deg);
            -moz-transform: rotate(35deg);
            -ms-transform: rotate(35deg);
            -o-transform: rotate(35deg);
            transform: rotate(35deg);
            width: 12px;
            height: 2px;
            top: -2px;
            right: 24px; }
      body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box,
      body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box {
        padding-left: 5%;
        width: 60%;
        margin: 0 0 0 auto;
        padding-top: 70px; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box {
            padding-left: 0;
            width: 100%;
            padding-top: 20px; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box .description,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box .description {
          color: #fff;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.1em;
          line-height: 2;
          margin-top: 15px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box .description,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box .description {
              font-size: 14px;
              font-size: 1.4rem; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box .sub,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box .sub {
          font-size: 18px;
          font-size: 1.8rem;
          font-family: brandon-grotesque, sans-serif;
          color: rgba(255, 255, 255, 0.7);
          letter-spacing: 0.1em; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box .sub,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box .sub {
              font-size: 16px;
              font-size: 1.6rem; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box h2,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box h2 {
          font-size: 40px;
          font-size: 4rem;
          letter-spacing: 0.2em;
          color: #fff;
          line-height: 1.475;
          font-weight: bold;
          margin-top: 15px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box h2,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box h2 {
              font-size: 28px;
              font-size: 2.8rem;
              margin-top: 5px; } }
        body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box table,
        body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box table {
          width: 100%;
          color: #fff;
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.777777778;
          margin-top: 30px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box table,
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box table {
              margin-top: 20px;
              font-size: 14px;
              font-size: 1.4rem; } }
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box table tr:last-child td,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box table tr:last-child td {
            border-bottom: none; }
          body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box table tr td,
          body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box table tr td {
            border-bottom: 1px solid rgba(255, 255, 255, 0.7);
            vertical-align: top;
            padding: 15px 0; }
            body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box table tr td:nth-child(1),
            body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box table tr td:nth-child(1) {
              width: 130px; }
              @media only screen and (max-width: 767px) {
                body.lptop-caset-content #lp-top-casets section.caset6 .inner-large .info-box table tr td:nth-child(1),
                body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box table tr td:nth-child(1) {
                  width: 100px; } }
  body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .map {
    left: auto;
    right: 0; }
  body.lptop-caset-content #lp-top-casets section.caset7 .inner-large .info-box {
    margin: 0 0 0 0; }
  body.lptop-caset-content #lp-top-casets section.caset8,
  body.lptop-caset-content #lp-top-casets section.caset9 {
    margin-top: 100px;
    position: relative;
    padding: 120px 0 150px; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset8,
      body.lptop-caset-content #lp-top-casets section.caset9 {
        padding: 65px 0 90px; } }
    body.lptop-caset-content #lp-top-casets section.caset8__bgtext,
    body.lptop-caset-content #lp-top-casets section.caset9__bgtext {
      color: rgba(30, 83, 173, 0.05); }
    body.lptop-caset-content #lp-top-casets section.caset8 .inner-large,
    body.lptop-caset-content #lp-top-casets section.caset9 .inner-large {
      position: relative;
      z-index: 2; }
    body.lptop-caset-content #lp-top-casets section.caset8__row,
    body.lptop-caset-content #lp-top-casets section.caset9__row {
      position: relative;
      z-index: 1;
      margin-top: 50px; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset8__row,
        body.lptop-caset-content #lp-top-casets section.caset9__row {
          padding-top: 300px;
          margin-top: 0px; } }
    body.lptop-caset-content #lp-top-casets section.caset8__image,
    body.lptop-caset-content #lp-top-casets section.caset9__image {
      position: absolute;
      width: 55%;
      left: 0;
      top: 60px;
      height: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset8__image,
        body.lptop-caset-content #lp-top-casets section.caset9__image {
          width: calc(100% + 30px);
          margin-left: -15px;
          height: 300px; } }
    body.lptop-caset-content #lp-top-casets section.caset8__text,
    body.lptop-caset-content #lp-top-casets section.caset9__text {
      background: #fff;
      box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
      width: 50%;
      padding: 80px;
      margin: 0 0 0 auto;
      position: relative;
      z-index: 2; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content #lp-top-casets section.caset8__text,
        body.lptop-caset-content #lp-top-casets section.caset9__text {
          width: calc(100% + 15px);
          margin-right: -15px;
          padding: 40px 20px; } }
      body.lptop-caset-content #lp-top-casets section.caset8__text h3,
      body.lptop-caset-content #lp-top-casets section.caset9__text h3 {
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: 0.1em;
        line-height: 1.8;
        font-weight: bold; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset8__text h3,
          body.lptop-caset-content #lp-top-casets section.caset9__text h3 {
            font-size: 18px;
            font-size: 1.8rem; } }
      body.lptop-caset-content #lp-top-casets section.caset8__text p,
      body.lptop-caset-content #lp-top-casets section.caset9__text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        line-height: 2;
        margin-top: 30px; }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset8__text p,
          body.lptop-caset-content #lp-top-casets section.caset9__text p {
            font-size: 14px;
            font-size: 1.4rem; } }
      body.lptop-caset-content #lp-top-casets section.caset8__text a,
      body.lptop-caset-content #lp-top-casets section.caset9__text a {
        margin-top: 45px; }
    body.lptop-caset-content #lp-top-casets section.caset8__name,
    body.lptop-caset-content #lp-top-casets section.caset9__name {
      color: #1e53ad;
      font-size: 26px;
      font-size: 2.6rem;
      font-weight: bold;
      letter-spacing: 0.06em;
      text-align: right;
      margin-top: 30px;
      margin-right: 10px; }
  body.lptop-caset-content #lp-top-casets section.caset9 {
    padding-top: 0; }
    body.lptop-caset-content #lp-top-casets section.caset9 .top__message__text {
      margin: 0;
      top: 60px; }
    body.lptop-caset-content #lp-top-casets section.caset9 .top__message__image {
      left: auto;
      right: 0;
      top: 0; }
  body.lptop-caset-content #lp-top-casets section.caset10 {
    position: relative;
    padding: 130px 0 175px;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      body.lptop-caset-content #lp-top-casets section.caset10 {
        padding: 70px 0 60px; } }
    body.lptop-caset-content #lp-top-casets section.caset10 .inner {
      position: relative;
      z-index: 3; }
      body.lptop-caset-content #lp-top-casets section.caset10 .inner a {
        display: block;
        background: #fff;
        margin-top: 30px;
        font-size: 0;
        position: relative;
        -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        transition: box-shadow 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
        body.lptop-caset-content #lp-top-casets section.caset10 .inner a[href="javascript:void(0);"] {
          pointer-events: none; }
          body.lptop-caset-content #lp-top-casets section.caset10 .inner a[href="javascript:void(0);"] figure figcaption {
            padding-right: 50px; }
            body.lptop-caset-content #lp-top-casets section.caset10 .inner a[href="javascript:void(0);"] figure figcaption:before, body.lptop-caset-content #lp-top-casets section.caset10 .inner a[href="javascript:void(0);"] figure figcaption:after {
              content: none; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset10 .inner a[href="javascript:void(0);"] figure figcaption {
                padding-right: 0; } }
        body.lptop-caset-content #lp-top-casets section.caset10 .inner a:hover {
          -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.16);
          -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 0 rgba(0, 0, 0, 0.16); }
        @media only screen and (max-width: 767px) {
          body.lptop-caset-content #lp-top-casets section.caset10 .inner a {
            margin-top: 15px; } }
        body.lptop-caset-content #lp-top-casets section.caset10 .inner a:nth-child(2) {
          margin-top: 70px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset10 .inner a:nth-child(2) {
              margin-top: 30px; } }
        body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption {
          display: block;
          width: 65.4%;
          position: relative;
          margin: 0 0 0 auto;
          padding: 50px 130px 60px 60px; }
          @media only screen and (max-width: 767px) {
            body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption {
              width: 68%;
              padding: 0; } }
          body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:before, body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            right: 40px;
            margin: auto;
            background: #1e53ad; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:before, body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:after {
                right: 12px; } }
          body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:before {
            width: 32px;
            height: 2px;
            top: 4px; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:before {
                width: 20px; } }
          body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:after {
            -webkit-transform: rotate(35deg);
            -moz-transform: rotate(35deg);
            -ms-transform: rotate(35deg);
            -o-transform: rotate(35deg);
            transform: rotate(35deg);
            width: 12px;
            height: 2px;
            top: -2px;
            right: 38px; }
            @media only screen and (max-width: 767px) {
              body.lptop-caset-content #lp-top-casets section.caset10 .inner a figure figcaption:after {
                right: 10px; } }

body.lptop-caset-content .top__seotext .inner {
  padding-top: 40px; }

body.lptop-caset-content .footer__contact {
  display: none; }

body.lptop-caset-content .footer-contact-area {
  background-size: 100% auto;
  background-position: top; }

body.lptop-caset-content .form {
  background: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
  body.lptop-caset-content .form h3 {
    background: transparent; }
    body.lptop-caset-content .form h3 span,
    body.lptop-caset-content .form h3 em {
      display: block;
      text-align: center; }
    body.lptop-caset-content .form h3 span {
      color: #1e53ad;
      font-family: brandon-grotesque, sans-serif;
      letter-spacing: 0.1em;
      font-size: 18px;
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content .form h3 span {
          font-size: 14px;
          font-size: 1.4rem;
          padding-top: 20px; } }
    body.lptop-caset-content .form h3 em {
      letter-spacing: 0.1em;
      font-size: 40px;
      font-size: 4rem;
      font-weight: bold;
      margin-top: 10px;
      color: #000; }
      @media only screen and (max-width: 767px) {
        body.lptop-caset-content .form h3 em {
          margin-top: 0;
          font-size: 28px;
          font-size: 2.8rem; } }

body.lptop-caset-content #common-content-whole {
  padding: 40px 0; }
  @media only screen and (max-width: 767px) {
    body.lptop-caset-content #common-content-whole {
      padding: 20px 0; } }

@media only screen and (max-width: 767px) {
  body.lptop-caset-content #common-content {
    width: 100%;
    padding: 0 10px 10px; }
    body.lptop-caset-content #common-content .inner {
      padding: 15px 10px; } }

body.news.sub-whole #content {
  background: #fff; }

body.news.sub-whole .inner-large {
  position: relative;
  z-index: 2; }

body.news.sub-whole #archive {
  width: calc(100% - 300px);
  margin: auto; }
  @media only screen and (max-width: 767px) {
    body.news.sub-whole #archive {
      width: 100%; } }
  body.news.sub-whole #archive #pager {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      body.news.sub-whole #archive #pager {
        margin-top: 30px; } }
  body.news.sub-whole #archive p {
    color: rgba(0, 0, 0, 0.7);
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 20px; }
    body.news.sub-whole #archive p:first-child {
      margin-top: 0; }
    @media only screen and (max-width: 767px) {
      body.news.sub-whole #archive p {
        font-size: 13px;
        font-size: 1.3rem; } }
    body.news.sub-whole #archive p em,
    body.news.sub-whole #archive p span {
      display: inline-block;
      vertical-align: middle; }
    body.news.sub-whole #archive p em {
      font-size: 16px;
      font-size: 1.6rem;
      color: #123877; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive p em {
          font-size: 11px;
          font-size: 1.1rem; } }
    body.news.sub-whole #archive p span {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.05em;
      color: #fff;
      background: #123877;
      padding: 0 5px;
      position: relative;
      top: -2px;
      margin-left: 8px; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive p span {
          font-size: 12px;
          font-size: 1.2rem; } }
  body.news.sub-whole #archive h2 {
    font-weight: bold;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-top: 15px; }
    @media only screen and (max-width: 767px) {
      body.news.sub-whole #archive h2 {
        font-size: 16px;
        font-size: 1.6rem; } }
  body.news.sub-whole #archive__news a {
    display: block;
    padding-top: 45px;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    padding-bottom: 45px; }
    body.news.sub-whole #archive__news a:first-child {
      border-top: none;
      padding-top: 0; }
    body.news.sub-whole #archive__news a figure {
      align-items: flex-start; }
      body.news.sub-whole #archive__news a figure.single figcaption {
        width: 100%; }
      body.news.sub-whole #archive__news a figure img {
        width: 22.2222222%;
        order: 2; }
      body.news.sub-whole #archive__news a figure figcaption {
        width: 74.4444444%;
        order: 1; }
  body.news.sub-whole #archive #news-content__content {
    padding-top: 20px; }
    body.news.sub-whole #archive #news-content__content td,
    body.news.sub-whole #archive #news-content__content th p,
    body.news.sub-whole #archive #news-content__content li {
      margin-top: 30px;
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      line-height: 1.75;
      color: rgba(0, 0, 0, 0.7); }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive #news-content__content td,
        body.news.sub-whole #archive #news-content__content th p,
        body.news.sub-whole #archive #news-content__content li {
          font-size: 14px;
          font-size: 1.4rem;
          margin-top: 20px; } }
    body.news.sub-whole #archive #news-content__content img {
      margin: auto;
      margin-top: 40px;
      width: 100%;
      display: block; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive #news-content__content img {
          margin-top: 20px; } }
    body.news.sub-whole #archive #news-content__content h2 {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      margin-top: 20px;
      line-height: 1.75;
      color: #1e53ad; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive #news-content__content h2 {
          font-size: 22px;
          font-size: 2.2rem;
          margin-top: 17px; } }
    body.news.sub-whole #archive #news-content__content h3 {
      font-size: 22px;
      font-size: 2.2rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      margin-top: 20px;
      line-height: 1.75;
      color: #1e53ad; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive #news-content__content h3 {
          font-size: 20px;
          font-size: 2rem;
          margin-top: 17px; } }
    body.news.sub-whole #archive #news-content__content h4 {
      color: #000;
      background: rgba(18, 56, 119, 0.1);
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      line-height: 1.777777778;
      padding: 5px 15px;
      font-weight: bold;
      margin-top: 20px; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive #news-content__content h4 {
          font-size: 17px;
          font-size: 1.7rem;
          margin-top: 17px; } }
    body.news.sub-whole #archive #news-content__content h5 {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.7;
      color: #000;
      font-weight: bold;
      padding-left: 15px;
      border-left: 4px solid #1e53ad;
      margin-top: 15px; }
      @media only screen and (max-width: 767px) {
        body.news.sub-whole #archive #news-content__content h5 {
          font-size: 15px;
          font-size: 1.5rem;
          margin-top: 12px; } }
    body.news.sub-whole #archive #news-content__content ul {
      margin-top: 30px;
      list-style-type: disc;
      display: block;
      list-style-type: disc;
      margin-block-start: 1em;
      margin-block-end: 1em;
      margin-inline-start: 0px;
      margin-inline-end: 0px;
      padding-inline-start: 40px; }
      body.news.sub-whole #archive #news-content__content ul li {
        margin-top: 0;
        display: list-item;
        text-align: -webkit-match-parent; }
    body.news.sub-whole #archive #news-content__content table {
      width: 100%;
      border-bottom: 1px solid rgba(0, 0, 0, 0.2);
      border-right: 1px solid rgba(0, 0, 0, 0.2);
      margin-top: 30px; }
      body.news.sub-whole #archive #news-content__content table th,
      body.news.sub-whole #archive #news-content__content table td {
        border-left: 1px solid rgba(0, 0, 0, 0.2);
        border-top: 1px solid rgba(0, 0, 0, 0.2);
        padding: 10px; }
  body.news.sub-whole #archive #news-content .btn {
    display: block;
    width: 340px;
    margin: 100px auto 0; }
    @media only screen and (max-width: 767px) {
      body.news.sub-whole #archive #news-content .btn {
        margin-top: 50px; } }

body.news.sub-whole aside {
  width: 220px; }
  @media only screen and (max-width: 767px) {
    body.news.sub-whole aside {
      width: 100%; } }
  body.news.sub-whole aside .category-box {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      body.news.sub-whole aside .category-box {
        margin-top: 30px; } }
    body.news.sub-whole aside .category-box:first-child {
      margin-top: 0; }
    body.news.sub-whole aside .category-box__header {
      padding-bottom: 5px;
      border-bottom: 4px solid #1e53ad; }
      body.news.sub-whole aside .category-box__header span,
      body.news.sub-whole aside .category-box__header em {
        display: inline-block;
        vertical-align: middle; }
      body.news.sub-whole aside .category-box__header span {
        font-size: 20px;
        font-size: 2rem;
        font-weight: bold;
        letter-spacing: 0.06em;
        line-height: 1.45;
        color: #000000; }
      body.news.sub-whole aside .category-box__header em {
        font-size: 14px;
        font-size: 1.4rem;
        font-family: brandon-grotesque, sans-serif;
        letter-spacing: 0.1em;
        color: rgba(30, 83, 173, 0.7);
        margin-left: 5px; }
    body.news.sub-whole aside .category-box ul li {
      border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
      body.news.sub-whole aside .category-box ul li a {
        display: block;
        line-height: 1.5;
        color: #000;
        padding: 16px;
        padding-right: 50px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.06em;
        position: relative;
        transition: all 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
        body.news.sub-whole aside .category-box ul li a:hover {
          background: rgba(30, 83, 173, 0.5);
          color: #fff; }
          body.news.sub-whole aside .category-box ul li a:hover:before, body.news.sub-whole aside .category-box ul li a:hover:after {
            background: #123877; }
        body.news.sub-whole aside .category-box ul li a:before, body.news.sub-whole aside .category-box ul li a:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 20px;
          margin: auto;
          background: #fff;
          transition: background 0.3s cubic-bezier(0.38, 0.005, 0.215, 1), color 0.3s cubic-bezier(0.38, 0.005, 0.215, 1); }
        body.news.sub-whole aside .category-box ul li a:before {
          width: 18px;
          height: 2px;
          top: 4px; }
        body.news.sub-whole aside .category-box ul li a:after {
          -webkit-transform: rotate(35deg);
          -moz-transform: rotate(35deg);
          -ms-transform: rotate(35deg);
          -o-transform: rotate(35deg);
          transform: rotate(35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 19px; }

body.notfound .notfound-message {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-top: 60px;
  text-align: center;
  padding-bottom: 100px; }
  @media only screen and (max-width: 767px) {
    body.notfound .notfound-message {
      font-size: 15px;
      font-size: 1.5rem; } }
  body.notfound .notfound-message .btn {
    display: inline-block;
    margin-top: 50px; }

body.sub-whole .top__main-visual--search {
  position: static; }

body.sub-whole #content {
  position: relative;
  overflow: hidden; }
  body.sub-whole #content .bgtext {
    z-index: 0; }
  body.sub-whole #content .inner {
    position: relative;
    z-index: 1; }

body.sub-whole #top__list__cards {
  margin-top: 0;
  padding-bottom: 60px; }
  body.sub-whole #top__list__cards:after {
    content: "";
    display: block;
    width: 31%; }
  body.sub-whole #top__list__cards .card {
    width: 31%; }
    @media only screen and (max-width: 767px) {
      body.sub-whole #top__list__cards .card {
        width: 100%;
        padding: 30px 20px;
        margin-top: 0px; }
        body.sub-whole #top__list__cards .card:first-child {
          border-top: none; } }
    body.sub-whole #top__list__cards .card a figure .img-box {
      padding-top: 70%; }
    body.sub-whole #top__list__cards .card a figure figcaption {
      padding: 10px 0 15px; }
      body.sub-whole #top__list__cards .card a figure figcaption .cats {
        font-size: 0; }
        body.sub-whole #top__list__cards .card a figure figcaption .cats li {
          display: inline-block;
          vertical-align: middle;
          text-align: center;
          margin-right: 6px;
          color: rgba(0, 0, 0, 0.2);
          font-size: 12px;
          font-size: 1.2rem;
          border: 1px solid;
          padding: 5px;
          margin-top: 5px; }
      body.sub-whole #top__list__cards .card a figure figcaption h3 {
        margin-top: 20px;
        font-size: 18px;
        font-size: 1.8rem; }
      body.sub-whole #top__list__cards .card a figure figcaption .tags .tag span:first-child {
        font-size: 12px;
        font-size: 1.2rem;
        text-align: center;
        line-height: 1.6;
        padding: 3px 0;
        width: 90px; }
      body.sub-whole #top__list__cards .card a figure figcaption .tags .tag span:last-child {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.6;
        padding: 3px 10px;
        width: calc(100% - 90px); }

/**
  TOP Page
 */
.top main {
  overflow: hidden; }

.top__main-visual {
  height: 100vh;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    .top__main-visual {
      height: 490px;
      margin-bottom: 409px; }
      .top__main-visual.no-search {
        margin-bottom: 0; } }
  .top__main-visual--inner {
    width: 100%;
    height: 100%;
    position: relative; }
  .top__main-visual--overlay {
    position: absolute;
    background-image: linear-gradient(116deg, #266dad, #35a086);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.8; }
  .top__main-visual--single-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%; }
  .top__main-visual--slide-images {
    height: 100%; }
    .top__main-visual--slide-images > div {
      height: 100%; }
      .top__main-visual--slide-images > div div {
        height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
  .top__main-visual--catch {
    font-weight: bold;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      .top__main-visual--catch {
        padding: 0 20px; } }
    .top__main-visual--catch h2 {
      font-size: 46px;
      font-size: 4.6rem;
      font-weight: bold;
      line-height: 1.57;
      letter-spacing: 6.9px; }
      @media only screen and (max-width: 767px) {
        .top__main-visual--catch h2 {
          font-size: 24px;
          font-size: 2.4rem; } }
    .top__main-visual--catch h3 {
      margin-top: 20px;
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.5;
      letter-spacing: 2.2px; }
      @media only screen and (max-width: 767px) {
        .top__main-visual--catch h3 {
          font-size: 15px;
          font-size: 1.5rem; } }
  .top__main-visual--search {
    background: #123877;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px; }
    @media only screen and (min-width: 768px) {
      .top__main-visual--search .flex-row:after {
        content: "";
        order: 1;
        width: 32%; } }
    @media only screen and (max-width: 767px) {
      .top__main-visual--search {
        position: relative; }
        .top__main-visual--search .select-box:first-child {
          margin-top: 0; } }
    .top__main-visual--search__bottom {
      width: 100%; }
      .top__main-visual--search__bottom input {
        width: 77.5%;
        height: 54px;
        background: rgba(255, 255, 255, 0.1);
        color: #fff; }
        @media only screen and (max-width: 767px) {
          .top__main-visual--search__bottom input {
            width: 100%; } }
        .top__main-visual--search__bottom input::placeholder {
          color: #ffffff; }
      .top__main-visual--search__bottom button {
        width: 20%;
        margin: 0;
        padding: 0;
        height: 54px;
        margin-top: 20px; }
        @media only screen and (max-width: 767px) {
          .top__main-visual--search__bottom button {
            width: 100%; } }

.top__aboutus {
  position: relative;
  padding: 130px 0 140px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .top__aboutus {
      padding: 100px 0 75px; } }
  .top__aboutus__bgtext {
    color: rgba(30, 83, 173, 0.07); }
  .top__aboutus__text {
    text-align: center;
    max-width: 800px;
    margin: auto; }
    .top__aboutus__text h2 {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: bold;
      letter-spacing: 0.1em;
      line-height: 1.833333333; }
      @media only screen and (max-width: 767px) {
        .top__aboutus__text h2 {
          font-size: 22px;
          font-size: 2.2rem; } }
      .top__aboutus__text h2 strong {
        color: #1e53ad; }
    .top__aboutus__text p {
      margin-top: 40px;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 767px) {
        .top__aboutus__text p {
          font-size: 14px;
          font-size: 1.4rem; } }
    .top__aboutus__text a {
      margin-top: 60px; }
      @media only screen and (max-width: 767px) {
        .top__aboutus__text a {
          margin-top: 40px; } }
  .top__aboutus__detail-btn {
    margin-top: 100px;
    padding: 110px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    .top__aboutus__detail-btn a {
      display: block;
      width: 340px;
      margin: auto; }

.top__message {
  position: relative;
  padding: 130px 0 150px;
  background: rgba(30, 83, 173, 0.1); }
  @media only screen and (max-width: 767px) {
    .top__message {
      padding: 65px 0 90px; } }
  .top__message__bgtext {
    color: rgba(30, 83, 173, 0.05); }
  .top__message .inner-large {
    position: relative;
    z-index: 2; }
  .top__message__row {
    position: relative;
    z-index: 1;
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      .top__message__row {
        padding-top: 300px;
        margin-top: 0px; } }
  .top__message__image {
    position: absolute;
    width: 55%;
    left: 0;
    top: 60px;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1; }
    @media only screen and (max-width: 767px) {
      .top__message__image {
        width: calc(100% + 30px);
        margin-left: -15px;
        height: 300px; } }
  .top__message__text {
    background: #fff;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
    width: 50%;
    padding: 80px;
    margin: 0 0 0 auto;
    position: relative;
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      .top__message__text {
        width: calc(100% + 15px);
        margin-right: -15px;
        padding: 40px 20px; } }
    .top__message__text h3 {
      font-size: 20px;
      font-size: 2rem;
      letter-spacing: 0.1em;
      line-height: 1.8;
      font-weight: bold; }
      @media only screen and (max-width: 767px) {
        .top__message__text h3 {
          font-size: 18px;
          font-size: 1.8rem; } }
    .top__message__text p {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      line-height: 2;
      margin-top: 30px; }
      @media only screen and (max-width: 767px) {
        .top__message__text p {
          font-size: 14px;
          font-size: 1.4rem; } }
    .top__message__text a {
      margin-top: 45px; }
  .top__message__name {
    color: #1e53ad;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    text-align: right;
    margin-top: 30px;
    margin-right: 10px; }

.top__service {
  position: relative;
  padding: 130px 0 175px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .top__service {
      padding: 70px 0 60px; } }
  .top__service:before, .top__service:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .top__service:before {
    background-position: left top;
    background-image: url(../images/common/doted.png);
    z-index: 1; }
  .top__service:after {
    background-image: linear-gradient(130deg, #266dad 3%, #35a086 96%);
    z-index: 0; }
  .top__service .inner {
    position: relative;
    z-index: 3; }
    .top__service .inner a {
      display: block;
      background: #fff;
      margin-top: 30px;
      font-size: 0;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .top__service .inner a {
          margin-top: 15px; } }
      .top__service .inner a:nth-child(2) {
        margin-top: 70px; }
        @media only screen and (max-width: 767px) {
          .top__service .inner a:nth-child(2) {
            margin-top: 30px; } }
      .top__service .inner a figure figcaption {
        display: block;
        width: 65.4%;
        position: relative;
        margin: 0 0 0 auto;
        padding: 50px 130px 60px 60px; }
        @media only screen and (max-width: 767px) {
          .top__service .inner a figure figcaption {
            width: 68%;
            padding: 0; } }
        .top__service .inner a figure figcaption:before, .top__service .inner a figure figcaption:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 40px;
          margin: auto;
          background: #1e53ad; }
          @media only screen and (max-width: 767px) {
            .top__service .inner a figure figcaption:before, .top__service .inner a figure figcaption:after {
              right: 12px; } }
        .top__service .inner a figure figcaption:before {
          width: 32px;
          height: 2px;
          top: 4px; }
          @media only screen and (max-width: 767px) {
            .top__service .inner a figure figcaption:before {
              width: 20px; } }
        .top__service .inner a figure figcaption:after {
          -webkit-transform: rotate(35deg);
          -moz-transform: rotate(35deg);
          -ms-transform: rotate(35deg);
          -o-transform: rotate(35deg);
          transform: rotate(35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 38px; }
          @media only screen and (max-width: 767px) {
            .top__service .inner a figure figcaption:after {
              right: 10px; } }
  .top__service__imgbox {
    top: 0;
    left: 0;
    position: absolute;
    width: 34.6%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    @media only screen and (max-width: 767px) {
      .top__service__imgbox {
        width: 32%; } }
  .top__service__info {
    position: relative; }
    @media only screen and (max-width: 767px) {
      .top__service__info {
        position: relative;
        padding: 12px 48px 12px 10px; } }
    .top__service__info p {
      font-family: brandon-grotesque, sans-serif;
      font-size: 14px;
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.43;
      letter-spacing: 0.7px;
      color: #1e53ad; }
      @media only screen and (max-width: 767px) {
        .top__service__info p {
          font-size: 10px;
          font-size: 1rem; } }
    .top__service__info h3 {
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: bold;
      color: #000000;
      margin-top: 15px; }
      @media only screen and (max-width: 767px) {
        .top__service__info h3 {
          margin-top: 5px;
          font-size: 14px;
          font-size: 1.4rem; } }
    .top__service__info span {
      display: block;
      opacity: 0.7;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.63;
      letter-spacing: 1.6px;
      color: #000000;
      margin-top: 20px; }
      @media only screen and (max-width: 767px) {
        .top__service__info span {
          height: 40px;
          overflow: hidden;
          margin-top: 8px;
          font-size: 12px;
          font-size: 1.2rem; } }

.top__video {
  padding: 10.41667vw 0;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .top__video {
      padding: 100px 0 60px; } }
  .top__video__bgtext {
    color: rgba(30, 83, 173, 0.07); }
  .top__video .inner {
    text-align: center;
    position: relative;
    z-index: 2; }
    .top__video .inner iframe {
      max-width: 800px;
      margin: auto;
      width: 100%;
      height: 468px; }
      @media only screen and (max-width: 767px) {
        .top__video .inner iframe {
          height: 200px; } }

.top__jobsearch {
  background: #123877;
  padding: 10.41667vw 0;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .top__jobsearch {
      padding: 60px 0 90px; } }
  .top__jobsearch__bgtext {
    color: rgba(255, 255, 255, 0.05); }
  .top__jobsearch .inner,
  .top__jobsearch .inner-large {
    position: relative;
    z-index: 3; }
  .top__jobsearch .inner-large {
    margin-top: 65px; }
    @media only screen and (max-width: 767px) {
      .top__jobsearch .inner-large {
        margin-top: 30px; } }
  @media only screen and (min-width: 768px) {
    .top__jobsearch .flex-row:after {
      content: "";
      order: 1;
      width: 32%; } }
  .top__jobsearch__submit {
    display: block;
    margin: 55px auto 0;
    text-align: center;
    color: #fff;
    background: #1e53ad;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    width: 340px;
    padding: 28px 0;
    border: 2px solid #1e53ad;
    transition: background 0.3s, color 0.3s;
    cursor: pointer; }
    @media only screen and (max-width: 767px) {
      .top__jobsearch__submit {
        padding: 18px 0; } }
    .top__jobsearch__submit:hover {
      background: #fff;
      color: #1e53ad; }
    .top__jobsearch__submit i,
    .top__jobsearch__submit span {
      display: inline-block;
      vertical-align: middle; }
    .top__jobsearch__submit i {
      font-size: 20px;
      font-size: 2rem;
      margin-right: 0px; }

.top__list {
  position: relative;
  padding: 130px 0 120px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .top__list {
      padding: 70px 0 90px; }
      .top__list .slick-list {
        overflow: visible; }
      .top__list .slick-slide {
        margin: 0 10px; }
      .top__list .slick-dots li {
        width: auto;
        height: auto;
        margin: 0 3px;
        padding: 0; }
        .top__list .slick-dots li.slick-active button {
          background: white; }
        .top__list .slick-dots li button {
          width: 20px;
          height: 4px;
          margin: 0;
          padding: 0;
          background: rgba(255, 255, 255, 0.4); }
          .top__list .slick-dots li button:before {
            content: none; } }
  .top__list:before, .top__list:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .top__list:before {
    background-position: left top;
    background-image: url(../images/common/doted.png);
    z-index: 1; }
  .top__list:after {
    background-image: linear-gradient(130deg, #266dad 3%, #35a086 96%);
    z-index: 0; }
  .top__list .inner {
    position: relative;
    z-index: 3; }
  .top__list__cards {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      .top__list__cards {
        margin-top: 0;
        margin-left: -15px;
        width: calc(100% + 30px); } }
  .top__list__link {
    text-align: center;
    margin-top: 70px; }
    .top__list__link .btn {
      z-index: 1; }

.top__news {
  position: relative;
  padding: 130px 0 120px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 767px) {
    .top__news {
      padding: 70px 0 60px; } }
  .top__news__bgtext {
    color: rgba(30, 83, 173, 0.07); }
  .top__news .inner {
    position: relative;
    z-index: 3; }
  .top__news__box {
    margin-top: 60px;
    background: #fff;
    padding: 50px; }
    @media only screen and (max-width: 767px) {
      .top__news__box {
        padding: 20px 20px;
        margin-top: 30px; } }
    .top__news__box ul li {
      border-bottom: 1px solid #aaa; }
      .top__news__box ul li:last-child {
        border-bottom: none; }
      .top__news__box ul li a {
        display: block;
        padding: 25px 0;
        background: transparent;
        transition: all 0.3s;
        font-size: 0;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .top__news__box ul li a {
            text-decoration: underline;
            padding: 17.5px 0; } }
        .top__news__box ul li a:before, .top__news__box ul li a:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 40px;
          margin: auto;
          background: #1e53ad; }
          @media only screen and (max-width: 767px) {
            .top__news__box ul li a:before, .top__news__box ul li a:after {
              content: none; } }
        .top__news__box ul li a:before {
          width: 32px;
          height: 2px;
          top: 4px; }
        .top__news__box ul li a:after {
          -webkit-transform: rotate(35deg);
          -moz-transform: rotate(35deg);
          -ms-transform: rotate(35deg);
          -o-transform: rotate(35deg);
          transform: rotate(35deg);
          width: 12px;
          height: 2px;
          top: -2px;
          right: 38px; }
        @media only screen and (min-width: 768px) {
          .top__news__box ul li a:hover {
            background: rgba(30, 83, 173, 0.2); } }
        .top__news__box ul li a span {
          display: inline-block;
          vertical-align: top; }
          .top__news__box ul li a span:nth-child(1) {
            font-size: 14px;
            font-size: 1.4rem;
            color: #1e53ad;
            letter-spacing: 0.05em;
            padding: 5px 10px 5px 20px;
            width: 130px; }
            @media only screen and (max-width: 767px) {
              .top__news__box ul li a span:nth-child(1) {
                padding-left: 0;
                width: auto; } }
          .top__news__box ul li a span:nth-child(2) {
            font-size: 12px;
            font-size: 1.2rem;
            background: #1e53ad;
            letter-spacing: 0.05em;
            color: #fff;
            position: relative;
            top: 2px;
            padding: 5px 10px;
            width: auto; }
          .top__news__box ul li a span:nth-child(3) {
            padding: 5px 40px 5px 15px;
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.05em;
            width: calc(100% - 130px - 75px); }
            @media only screen and (max-width: 767px) {
              .top__news__box ul li a span:nth-child(3) {
                padding: 10px 0 5px 0;
                line-height: 1.6;
                width: 100%;
                font-size: 12px;
                font-size: 1.2rem; } }
  .top__news__link {
    text-align: center;
    margin-top: 70px; }
    @media only screen and (max-width: 767px) {
      .top__news__link {
        margin-top: 30px; } }
    .top__news__link .btn {
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        .top__news__link .btn span {
          padding-top: 12px;
          padding-bottom: 12px; } }

.top__seotext .inner {
  padding-top: 100px;
  padding-bottom: 120px; }
  @media only screen and (max-width: 767px) {
    .top__seotext .inner {
      padding: 60px 15px; } }
  .top__seotext .inner h2 {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: bold;
    color: #1e53ad;
    letter-spacing: 0.1em;
    line-height: 1.375; }
    @media only screen and (max-width: 767px) {
      .top__seotext .inner h2 {
        font-size: 22px;
        font-size: 2.2rem; } }
  .top__seotext .inner p {
    margin-top: 40px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 767px) {
      .top__seotext .inner p {
        margin-top: 20px;
        font-size: 13px;
        font-size: 1.3rem; } }
