@charset "UTF-8";
/**
 * Swiper 5.2.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 16, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal; }
:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

.swiper-container-autoheight {
  height: auto; }
  .swiper-container-autoheight .swiper-slide {
    height: auto; }
  .swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height; }

.swiper-container-3d {
  perspective: 1200px; }
  .swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d; }
  .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10; }
  .swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }
  .swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none; }
  .swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size:44px; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev {
  left: 10px;
  right: auto; }
  .swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial; }

.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff; }

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000; }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10; }
  .swiper-pagination.swiper-pagination-hidden {
    opacity: 0; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%; }

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative; }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active, .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0); }
  .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block; }
  .swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px; }
    .swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
      display: inline-block;
      transition: .2s transform,.2s top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap; }
  .swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s left; }
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: .2s transform,.2s right; }

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }
  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color:#000000; }

.swiper-pagination-lock {
  display: none; }

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }
  .swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out; }
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity; }
  .swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none; }
.swiper-container-fade .swiper-slide-active {
  pointer-events: auto; }
  .swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }
  .swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%; }
    .swiper-container-cube .swiper-slide .swiper-slide {
      pointer-events: none; }
  .swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0; }
  .swiper-container-cube .swiper-slide-active {
    pointer-events: auto;
    pointer-events: auto;
    visibility: visible; }
    .swiper-container-cube .swiper-slide-active .swiper-slide-active {
      pointer-events: auto; }
  .swiper-container-cube .swiper-slide-next {
    pointer-events: auto;
    visibility: visible; }
    .swiper-container-cube .swiper-slide-next + .swiper-slide {
      pointer-events: auto;
      visibility: visible; }
  .swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible; }
  .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    z-index: 0; }

.swiper-container-flip {
  overflow: visible; }
  .swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1; }
    .swiper-container-flip .swiper-slide .swiper-slide {
      pointer-events: none; }
  .swiper-container-flip .swiper-slide-active {
    pointer-events: auto; }
    .swiper-container-flip .swiper-slide-active .swiper-slide-active {
      pointer-events: auto; }
  .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }

@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }
@keyframes fadeOut {
  0% {
    display: block;
    opacity: 1; }
  99% {
    display: block;
    opacity: 0; }
  100% {
    display: none;
    opacity: 0; } }
@keyframes drawLine {
  0% {
    stroke-dashoffset: 3000;
    fill-opacity: 0; }
  30% {
    fill-opacity: 0; }
  35% {
    fill-opacity: 1; }
  100% {
    stroke-dashoffset: 0;
    fill-opacity: 1; } }
@keyframes curtain01 {
  0% {
    left: 0;
    width: 0; }
  98% {
    left: 0;
    width: 100%; }
  99% {
    left: auto;
    right: 0;
    width: 100%; }
  100% {
    left: auto;
    right: 0;
    width: 0; } }
@keyframes curtain02 {
  0% {
    left: 0;
    width: 0; }
  48% {
    left: 0;
    width: 100%; }
  50% {
    left: auto;
    right: 0;
    width: 100%; }
  100% {
    left: auto;
    right: 0;
    width: 0; } }
@keyframes showElem {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes indicator {
  0% {
    top: 0;
    height: 0; }
  70% {
    height: 120px; }
  100% {
    top: 120px;
    height: 120px; } }
@keyframes buttonBarSlide {
  0% {
    width: 100%; }
  20% {
    width: 0; }
  100% {
    width: 100%; } }
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

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

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

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

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/**
*
*	common properties
*
**/
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/notosansthin.woff") format("woff");
  font-style: normal;
  font-weight: 100; }
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/notosanslight.woff") format("woff");
  font-style: normal;
  font-weight: 200; }
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/notosansdemilight.woff") format("woff");
  font-style: normal;
  font-weight: 300; }
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/Metropolis-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 400; }
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/Metropolis-SemiBold.woff") format("woff");
  font-style: normal;
  font-weight: 500; }
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/Metropolis-Bold.woff") format("woff");
  font-style: normal;
  font-weight: 700; }
@font-face {
  font-family: "Metropolis";
  src: url("../fonts/metropolis/Metropolis-Bold.woff") format("woff");
  font-style: normal;
  font-weight: 700; }
html {
  font-size: 62.5%; }

body {
  color: #393c44;
  font-family: "Noto Sans Japanese", "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", ���C���I, Meiryo, "�l�r �o�S�V�b�N", "MS PGothic", Osaka, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important; }

img, a {
  border: none;
  outline: none; }

label {
  cursor: pointer; }

p {
  line-height: 1.6em; }

main {
  display: block; }

.cols::after, .clearfix::after {
  content: "";
  display: block;
  clear: both; }

ol, ul {
  list-style: none; }

a:link, a:visited {
  color: #173f90;
  text-decoration: none;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
a:hover, a:active {
  opacity: 0.7; }

* {
  box-sizing: border-box; }

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

ins {
  display: inline-block;
  vertical-align: bottom;
  background-color: transparent;
  color: inherit;
  text-decoration: none; }

.no-scroll {
  overflow-y: hidden; }

.modal-hidden-contents {
  display: none; }

#modal-base-layer {
  background: #000;
  color: #000;
  display: none;
  position: fixed;
  _position: absolute;
  top: 0px;
  right: 0px;
  width: 100%;
  height: 100px;
  z-index: 9900;
  text-align: center; }

#modal-contents-layer {
  display: none;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  width: 100%;
  z-index: 9901; }
  #modal-contents-layer #modal-iscroll-container-inner {
    overflow: hidden; }

.loader {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 11000; }
  .loader .bar {
    position: absolute;
    left: 0;
    top: 50%;
    width: 0;
    height: 1px;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateY(-50%); }
  .loader .top {
    position: absolute;
    top: 0;
    width: 100%;
    height: 50%;
    background-color: #fff;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .loader .bottom {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50%;
    background-color: #fff;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }

button {
  font-family: "Noto Sans Japanese", "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", ���C���I, Meiryo, "�l�r �o�S�V�b�N", "MS PGothic", Osaka, sans-serif;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  button:hover {
    opacity: 0.7; }

.tac {
  text-align: center; }

.tar {
  text-align: right; }

.fcr {
  color: #ff0000; }

.fwb {
  font-weight: bold; }

.sp-elem, .sp-il-elem, .mb-elem {
  display: none; }

@media (max-width: 600px) {
  .sp-elem {
    display: block; } }
@media (max-width: 600px) {
  .sp-il-elem {
    display: inline-block; } }
@media (max-width: 900px) {
  .mb-elem {
    display: block; } }
@media (max-width: 600px) {
  .pc-elem {
    display: none; } }
area:focus {
  outline: none;
  border: none; }

.table {
  display: table; }

.table-cell {
  display: table-cell;
  vertical-align: bottom; }

.cols {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
  margin-left: -20px; }
  .cols .col {
    padding: 0 20px;
    width: 50%; }
  .cols.reverse {
    flex-flow: row-reverse; }

@media (max-width: 600px) {
  .cols {
    display: block;
    margin-right: 0;
    margin-left: 0; } }
@media (max-width: 600px) {
  .cols .col {
    padding: 0;
    width: auto; } }
.container {
  position: relative;
  margin: 0 auto;
  padding: 70px 20px;
  max-width: 1240px; }

@media (max-width: 1053px) {
  .container {
    padding-right: 5.3%;
    padding-left: 5.3%; } }
.breadcrumbs .container {
  padding-top: 24px;
  padding-bottom: 8px; }
.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .breadcrumbs ul li {
    margin-right: 10px;
    margin-bottom: 8px;
    color: #333;
    font-size: 1.3rem; }
    .breadcrumbs ul li::after {
      display: inline-block;
      vertical-align: top;
      position: relative;
      top: 2px;
      margin-left: 12px;
      width: 6px;
      height: 10px;
      background: url(../img/icon_arrow_03.svg) no-repeat left top;
      background-size: contain;
      content: ""; }
    .breadcrumbs ul li:last-of-type::after {
      display: none; }
  .breadcrumbs ul a {
    display: inline-block;
    vertical-align: top; }
    .breadcrumbs ul a:link, .breadcrumbs ul a:visited {
      color: #333; }

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

.pagination {
  text-align: center; }
  .pagination .group {
    display: inline-block;
    font-size: 0;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.1), 0 1px 14px 2px rgba(0, 0, 0, 0.1), 0 1px 5px -3px rgba(0, 0, 0, 0.1); }
    .pagination .group *:first-of-type {
      border-radius: 4px 0 0 4px; }
  .pagination .current {
    display: inline-block;
    padding: 12px 0 12px 0;
    width: 40px;
    font-size: 1.4rem;
    font-weight: 500;
    background-color: #fff;
    border-right: 1px solid #efefef; }
  .pagination a:link, .pagination a:visited {
    display: inline-block;
    padding: 12px 0 12px 0;
    width: 40px;
    font-size: 1.4rem;
    font-weight: 500;
    background-color: #fff;
    border-right: 1px solid #efefef; }
  .pagination .current:nth-of-type(1) img {
    transform: rotate(180deg); }
  .pagination a:link:nth-of-type(1) img, .pagination a:visited:nth-of-type(1) img {
    transform: rotate(180deg); }
  .pagination .current {
    color: #025abc; }
  .pagination a:last-of-type {
    border-radius: 0 4px 4px 0; }
  .pagination a:hover, .pagination a:active {
    opacity: 1;
    background-color: #eff4fc; }
  .pagination img {
    position: relative;
    top: -1px;
    width: auto;
    height: 12px; }

.box-list-01 {
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }
  .box-list-01 li {
    margin: 0 10px 20px 10px;
    width: calc(33.33% - 20px);
    background-color: #f4f4f4; }
    .box-list-01 li p {
      padding: 16px;
      font-size: 1.4rem;
      font-weight: 500; }

.dl-table {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5em;
  border-bottom: 1px solid #ddd; }
  .dl-table > dt {
    padding: 16px;
    width: 160px;
    border: 1px solid #ddd;
    border-bottom: none;
    background-color: #f4f4f4; }
  .dl-table > dd {
    padding: 16px;
    width: calc(100% - 160px);
    border: 1px solid #ddd;
    border-left: none;
    border-bottom: none; }

.list-01 {
  margin-top: 16px;
  margin-left: 0.8em; }
  .list-01 li {
    margin-bottom: 0.5em;
    line-height: 1.5em;
    text-indent: -0.8em; }
    .list-01 li::before {
      position: relative;
      top: -3px;
      margin-right: 0.3em;
      color: #3d70fc;
      font-size: 10px;
      content: "笳�"; }
    .list-01 li strong {
      color: #fff;
      background-color: #3d70fc; }

.table-01 {
  width: 100%;
  line-height: 1.5em; }
  .table-01 th {
    /* color: #173f90; */
    padding: 24px 24px;
    width: 320px;
    font-weight: 400;
    text-align: left;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #dddddd;
    background-color: #f4f4f4; }
  .table-01 td {
    padding: 24px 24px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #dddddd; }

@media (max-width: 600px) {
  .table-01 {
    display: block; } }
@media (max-width: 600px) {
  .table-01 th {
    display: block;
    padding-top: 16px;
    padding-bottom: 16px; } }
@media (max-width: 600px) {
  .table-01 td {
    display: block;
    border: none; } }
.arrow-button-01 {
  display: inline-block;
  color: #173f90; }
  .arrow-button-01:link, .arrow-button-01:visited {
    display: inline-block;
    color: #173f90; }
  .arrow-button-01 .arrow {
    display: inline-block;
    position: relative;
    top: -4px;
    margin-left: 5px;
    width: 20px;
    height: 1px;
    line-height: 0;
    font-size: 0;
    background-color: #173f90; }
    .arrow-button-01 .arrow::before {
      display: block;
      position: absolute;
      right: 0;
      top: -3px;
      height: 1px;
      width: 8px;
      background-color: #173f90;
      content: "";
      transform: rotate(45deg); }
    .arrow-button-01 .arrow::after {
      display: block;
      position: absolute;
      right: 0;
      top: 3px;
      height: 1px;
      width: 8px;
      background-color: #173f90;
      content: "";
      transform: rotate(-45deg); }
  .arrow-button-01.white {
    color: #fff; }
    .arrow-button-01.white .arrow {
      background-color: #fff; }
      .arrow-button-01.white .arrow::before, .arrow-button-01.white .arrow::after {
        background-color: #fff; }
  .arrow-button-01.reverse {
    display: inline-block;
    padding-right: 5px;
    padding-left: 15px;
    text-align: right; }
    .arrow-button-01.reverse.hidden {
      display: none; }
    .arrow-button-01.reverse .arrow {
      position: relative;
      left: -15px; }
      .arrow-button-01.reverse .arrow::before {
        left: 0;
        top: -3px;
        transform: rotate(-45deg); }
      .arrow-button-01.reverse .arrow::after {
        left: 0;
        top: 3px;
        transform: rotate(45deg); }

.arrow-button-02 {
  display: inline-block;
  padding-right: 15px;
  padding-left: 5px; }
  .arrow-button-02 .arrow {
    display: block;
    position: relative;
    margin: 3px auto 0 auto;
    width: 1px;
    height: 15px;
    background-color: transparent; }
    .arrow-button-02 .arrow::before {
      display: block;
      position: absolute;
      right: -1px;
      bottom: 1px;
      height: 2px;
      width: 8px;
      background-color: #000;
      content: "";
      transform: rotate(45deg); }
    .arrow-button-02 .arrow::after {
      display: block;
      position: absolute;
      left: -1px;
      bottom: 1px;
      height: 2px;
      width: 8px;
      background-color: #000;
      content: "";
      transform: rotate(-45deg); }

.arrow-button-03:link, .arrow-button-03:visited {
  color: #00a27a; }
.arrow-button-03::after {
  display: inline-block;
  margin-left: 5px;
  width: 8px;
  height: 10px;
  background: url(../img/icon_arrow_01.svg) no-repeat left top;
  content: "";
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 7px; }

.swiper-pagination-bullet {
  width: 40px;
  height: 2px;
  border-radius: 0;
  background-color: #fff;
  opacity: 0.8; }

.swiper-pagination-bullet-active {
  background-color: #173f90; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 30px; }

@media (max-width: 600px) {
  .swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 16px; } }
.bg-gray {
  background-color: #f8f8f8; }

.button-01 {
  display: inline-block;
  margin-top: 24px;
  padding: 14px 24px 18px 24px;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  border-radius: 8px;
  background-color: #173f90; }
  .button-01:link, .button-01:visited {
    color: #fff; }
  .button-01:hover {
    opacity: 1;
    background-color: #025abc; }
  .button-01.new-window::after {
    display: inline-block;
    margin-left: 8px;
    width: 16px;
    height: 16px;
    background: url(../img/icon_new_window_01.svg) no-repeat center center;
    background-size: contain;
    content: "";
    transform: translateY(1px);
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .button-01.has-arrow::after {
    display: inline-block;
    margin-left: 8px;
    width: 16px;
    height: 10px;
    background: url(../img/icon_arrow_01.svg) no-repeat center center;
    background-size: contain;
    content: "";
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }

.button-02 {
  display: inline-block;
  margin-top: 24px;
  padding-bottom: 4px;
  color: #173f90;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  border-bottom: 2px solid #173f90; }
  .button-02:link, .button-02:visited {
    color: #173f90; }
  .button-02.has-arrow::after {
    display: inline-block;
    margin-left: 8px;
    width: 16px;
    height: 10px;
    background: url(../img/icon_arrow_02.svg) no-repeat center center;
    background-size: contain;
    content: "";
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }

/**
*
*	modules
*
**/
.hamburger-button {
  position: absolute;
  top: 17px;
  right: 24px;
  z-index: 10001;
  width: 20px;
  height: 17px;
  cursor: pointer; }
  .hamburger-button .bar {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 20px;
    height: 2px;
    background: #173f90;
    transition: .2s; }
    .hamburger-button .bar::before, .hamburger-button .bar::after {
      display: block;
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      width: 20px;
      height: 2px;
      background: #173f90;
      transition: .3s; }
    .hamburger-button .bar::before {
      margin-top: -9px; }
    .hamburger-button .bar::after {
      margin-top: 7px; }
  .hamburger-button.opened .bar {
    background-color: transparent; }
    .hamburger-button.opened .bar::before, .hamburger-button.opened .bar::after {
      margin-top: -1px; }
    .hamburger-button.opened .bar::before {
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg); }
    .hamburger-button.opened .bar::after {
      transform: rotate(-135deg);
      -webkit-transform: rotate(-135deg); }

@media (max-width: 900px) {
  .hamburger-button {
    display: block;
    right: 5.3%; } }
#wrapper {
  overflow-x: hidden; }

#header {
  position: fixed;
  top: 0;
  left: 0;
  height: 100px;
  z-index: 10000;
  width: 100%;
  background-color: #fff;
  box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-duration: 200ms; }
  #header.minimized {
    height: 72px; }
    #header.minimized .container {
      height: 72px; }
    #header.minimized .logo {
      margin-top: 20px; }
    #header.minimized #g-nav {
      margin-top: 0; }
      #header.minimized #g-nav .nav-scroll-contents > ul > li > a {
        padding-top: 0;
        padding-bottom: 0;
        line-height: 72px; }
      #header.minimized #g-nav .child {
        top: 72px; }
    #header.minimized .sub-nav {
      visibility: hidden;
      opacity: 0;
      top: -40px; }
  #header .container {
    height: 100px;
    padding: 0 0 0 32px;
    max-width: none;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-duration: 200ms; }
  #header a:link, #header a:visited {
    color: #333; }
  #header h1 {
    position: absolute;
    left: 20px;
    top: 5px;
    font-size: 1rem;
    font-weight: normal; }
  #header .logo {
    display: inline-block;
    margin-top: 32px;
    transition-duration: 200ms; }
  #header #g-nav {
    float: right;
    margin-top: 52px;
    margin-right: 160px;
    letter-spacing: 0.05em;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-duration: 200ms;
    transition-delay: 0; }
    #header #g-nav .nav-scroll-contents > ul > li:hover > a::before, #header #g-nav .nav-scroll-contents > ul > li.current > a::before {
      width: 100%; }
    #header #g-nav .nav-scroll-contents > ul > li > a {
      position: relative; }
      #header #g-nav .nav-scroll-contents > ul > li > a::before {
        display: block;
        position: absolute;
        left: 50%;
        bottom: -1px;
        width: 0;
        height: 5px;
        background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
        transform: translateX(-50%);
        transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-duration: 400ms;
        content: ""; }
      #header #g-nav .nav-scroll-contents > ul > li > a:hover, #header #g-nav .nav-scroll-contents > ul > li > a:active {
        opacity: 1; }
    #header #g-nav ul {
      font-size: 0; }
    #header #g-nav li {
      display: inline-block;
      vertical-align: top;
      padding-bottom: 0;
      font-size: 1.4rem;
      text-align: center; }
    #header #g-nav .has-child > a::after {
      display: inline-block;
      position: relative;
      top: -2px;
      margin-left: 5px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px 4px 0 4px;
      border-color: #333 transparent transparent transparent;
      content: ""; }
    #header #g-nav li a {
      display: inline-block;
      vertical-align: top;
      padding: 8px 20px 20px 20px;
      line-height: 1.4em;
      transition: none; }
    #header #g-nav .child {
      display: none;
      position: absolute;
      right: 0;
      top: 100px;
      width: 100%;
      max-width: 980px;
      padding: 32px 0 32px 24px;
      text-align: left;
      background-color: rgba(23, 63, 144, 0.95);
      box-shadow: inset 0px 2px 10px -2px rgba(0, 0, 0, 0.1); }
      #header #g-nav .child .inner {
        margin: 0 auto;
        padding: 0 24px;
        width: 100%;
        max-width: 1248px; }
        #header #g-nav .child .inner > ul > li {
          margin-bottom: 0; }
          #header #g-nav .child .inner > ul > li:hover > a {
            color: #c0cfee; }
            #header #g-nav .child .inner > ul > li:hover > a::after {
              width: calc(100% - 32px); }
          #header #g-nav .child .inner > ul > li > a {
            position: relative;
            font-weight: 500;
            background: url(../img/icon_arrow_01.svg) no-repeat right 32px top 18px; }
            #header #g-nav .child .inner > ul > li > a::before {
              display: block;
              position: absolute;
              left: 0;
              bottom: -5px;
              z-index: 2;
              height: 1px;
              width: calc(100% - 32px);
              background: #fff;
              transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
              content: ""; }
            #header #g-nav .child .inner > ul > li > a::after {
              display: block;
              position: absolute;
              left: 0;
              bottom: -5px;
              z-index: 2;
              height: 1px;
              width: 0;
              background: #c0cfee;
              transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
              content: ""; }
          #header #g-nav .child .inner > ul > li ul {
            display: block;
            margin-top: 14px; }
            #header #g-nav .child .inner > ul > li ul li {
              margin-bottom: 5px;
              width: auto; }
              #header #g-nav .child .inner > ul > li ul li a {
                padding-top: 4px;
                padding-bottom: 4px;
                font-size: 1.5rem;
                font-weight: 300; }
      #header #g-nav .child .label {
        float: left;
        margin-bottom: 50px;
        padding-left: 20px;
        color: #000;
        font-size: 1.8rem;
        line-height: 1.3em;
        letter-spacing: 0.05em;
        width: 310px; }
        #header #g-nav .child .label span {
          display: block;
          color: #000;
          font-size: 1rem; }
      #header #g-nav .child ul {
        display: flex;
        flex-wrap: wrap;
        position: relative; }
        #header #g-nav .child ul li {
          display: block;
          position: relative;
          margin-bottom: 30px;
          padding-bottom: 0;
          width: 33.33%;
          font-size: 1.6rem;
          text-align: left; }
          #header #g-nav .child ul li:hover::after {
            width: 40px; }
          #header #g-nav .child ul li a {
            display: block;
            position: relative;
            z-index: 10;
            padding: 8px 16px 8px 0;
            color: #fff;
            line-height: 1.4em; }
            #header #g-nav .child ul li a:hover {
              opacity: 1;
              color: #c0cfee;
              transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    #header #g-nav .sp-elem {
      display: none; }
    #header #g-nav .contact-button {
      display: flex;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      padding: 0 16px;
      color: #fff;
      font-size: 1.3rem;
      justify-content: center;
      align-items: center;
      background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
      transition-duration: 200ms; }
      #header #g-nav .contact-button img {
        position: relative;
        top: 1px;
        margin-top: 0px;
        margin-right: 6px;
        width: 20px;
        vertical-align: middle; }
  #header .sub-nav {
    visibility: visible;
    opacity: 1;
    position: absolute;
    top: 0;
    right: 180px;
    transition: visibility 0.1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), top 0.2s cubic-bezier(0.215, 0.61, 0.355, 1); }
    #header .sub-nav ul {
      font-size: 0; }
      #header .sub-nav ul li {
        display: inline-block;
        vertical-align: top;
        font-size: 1.2rem;
        line-height: 34px; }
        #header .sub-nav ul li img {
          position: relative;
          top: -1px;
          margin-right: 5px;
          vertical-align: middle;
          width: 15px; }
        #header .sub-nav ul li.lang {
          margin-right: 16px; }
          #header .sub-nav ul li.lang a {
            margin-right: 6px; }
        #header .sub-nav ul li.phone {
          color: #173f90;
          font-family: 'roboto';
          font-size: 1.8rem;
          font-weight: 500; }
          #header .sub-nav ul li.phone img {
            width: 14px; }
          #header .sub-nav ul li.phone small {
            position: relative;
            top: -2px;
            color: #000;
            font-size: 10px; }
  #header .contact-info {
    position: absolute;
    right: 20px;
    top: 5px;
    width: 170px;
    text-align: center; }
    #header .contact-info .text-01 {
      font-size: 1.1rem; }
    #header .contact-info .phone-number {
      font-size: 1rem;
      font-size: 2.2rem;
      font-family: 'roboto';
      font-weight: 700;
      letter-spacing: -0.05em;
      line-height: 1.2em; }
      #header .contact-info .phone-number .icon {
        display: inline-block;
        vertical-align: middle;
        position: relative;
        top: -2px;
        margin-right: 5px;
        width: 20px;
        height: 20px;
        border-radius: 10px;
        background: #173f90 url(../img/icon_phone.svg) no-repeat center center;
        background-size: 10px auto; }
  #header .button-01:link, #header .button-01:visited {
    margin-top: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #fff;
    font-size: 1.4rem; }
  #header .button-01 .icon {
    position: relative;
    top: 1px;
    display: inline-block;
    margin-right: 8px;
    width: 20px; }

@media (max-width: 900px) {
  #header {
    height: 56px; } }
@media (max-width: 900px) {
  #header.minimized {
    height: 56px; } }
@media (max-width: 900px) {
  #header.minimized .container {
    height: 56px; } }
@media (max-width: 900px) {
  #header.minimized .logo {
    margin-top: 18px; } }
@media (max-width: 900px) {
  #header.minimized #g-nav .nav-scroll-contents > ul > li > a {
    padding-top: 16px;
    padding-bottom: 16px;
    line-height: 1.4em; } }
@media (max-width: 900px) {
  #header.minimized #g-nav .child {
    top: 56px; } }
@media (max-width: 900px) {
  #header .container {
    padding-left: 5.3%;
    height: 56px; } }
@media (max-width: 600px) {
  #header .container {
    padding: 0 5.3%; } }
@media (max-width: 1053px) {
  #header .logo {
    margin-top: 34px;
    width: 240px; } }
@media (max-width: 900px) {
  #header .logo {
    margin-top: 18px;
    width: 200px; } }
@media (max-width: 900px) {
  #header #g-nav {
    display: none;
    float: none;
    position: absolute;
    left: 0;
    top: 56px;
    margin-top: 0;
    margin-right: 0;
    width: 100%; } }
@media (max-width: 900px) {
  #header #g-nav .nav-scroll {
    overflow: hidden;
    position: relative;
    height: calc(100vh - 62px);
    /* Fallback for browsers that do not support Custom Properties */
    height: calc((var(--vh, 1vh) * 100) - 62px); } }
@media (max-width: 900px) {
  #header #g-nav .nav-scroll-contents {
    position: absolute;
    z-index: 1;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -o-text-size-adjust: none;
    text-size-adjust: none;
    cursor: move;
    padding-bottom: 80px;
    width: 100%; } }
@media (max-width: 900px) {
  #header #g-nav .nav-scroll-contents > * {
    padding-bottom: 0;
    background-color: #fff;
    box-shadow: inset 0px 2px 10px -2px rgba(0, 0, 0, 0.1); } }
@media (max-width: 900px) {
  #header #g-nav .nav-scroll-contents > ul > li > a {
    font-weight: 500; } }
@media (max-width: 900px) {
  #header #g-nav .nav-scroll-contents > ul > li > a::before {
    display: none; } }
@media (max-width: 900px) {
  #header #g-nav li {
    display: block;
    text-align: left; } }
@media (max-width: 900px) {
  #header #g-nav .has-child > a {
    position: relative; } }
@media (max-width: 900px) {
  #header #g-nav .has-child > a::after {
    display: none; } }
@media (max-width: 900px) {
  #header #g-nav li {
    border-top: 1px solid #f4f4f4; } }
@media (max-width: 1053px) {
  #header #g-nav li a {
    padding-right: 12px;
    padding-left: 12px; } }
@media (max-width: 900px) {
  #header #g-nav li a {
    display: block;
    padding: 16px 5.3%; } }
@media (max-width: 900px) {
  #header #g-nav .child {
    display: block !important;
    position: static;
    margin: 0;
    padding: 0;
    width: auto;
    max-width: none;
    background-color: transparent;
    box-shadow: none;
    transform: none; } }
@media (max-width: 900px) {
  #header #g-nav .child .inner {
    padding: 0; } }
@media (max-width: 900px) {
  #header #g-nav .child .inner > ul > li:hover > a {
    color: #393c44; } }
@media (max-width: 900px) {
  #header #g-nav .child .inner > ul > li > a::before {
    display: none; } }
@media (max-width: 900px) {
  #header #g-nav .child .inner > ul > li > a::after {
    display: none; } }
@media (max-width: 900px) {
  #header #g-nav .child .inner > ul > li ul {
    margin-top: 0; } }
@media (max-width: 900px) {
  #header #g-nav .child .inner > ul > li ul li a {
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: 1.4rem; } }
@media (max-width: 900px) {
  #header #g-nav .child .label {
    display: none; } }
@media (max-width: 900px) {
  #header #g-nav .child ul {
    display: block;
    float: none;
    padding-right: 0;
    width: auto; } }
@media (max-width: 900px) {
  #header #g-nav .child ul li {
    float: none;
    margin-bottom: 0;
    width: auto;
    font-size: 1.4rem; } }
@media (max-width: 900px) {
  #header #g-nav .child ul li:first-of-type {
    border-top: 1px solid #f4f4f4; } }
@media (max-width: 900px) {
  #header #g-nav .child ul li:last-of-type {
    border-bottom: none; } }
@media (max-width: 900px) {
  #header #g-nav .child ul li a {
    padding: 16px 5.3% 16px calc(5.3% + 1em);
    color: #393c44; } }
@media (max-width: 900px) {
  #header #g-nav .child ul li a:hover {
    color: #393c44; } }
@media (max-width: 900px) {
  #header #g-nav .child ul li ul li a {
    padding: 16px 5.3% 16px calc(5.3% + 2em); } }
@media (max-width: 900px) {
  #header #g-nav .contact-button {
    display: block;
    position: static;
    padding: 16px 5.3%; } }
@media (max-width: 900px) {
  #header .sub-nav {
    display: none; } }
#trunk {
  margin-top: 100px; }

@media (max-width: 900px) {
  #trunk {
    margin-top: 56px; } }
#footer {
  position: relative;
  z-index: 1000;
  border-top: 1px solid #f4f4f4;
  background-color: #fff; }
  #footer .button-go-top {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 5000;
    display: block;
    width: 50px;
    height: 50px;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
    transition: visibility 0.1s, opacity 0.5s, delay 0.2s, cubic-bezier(0.215, 0.61, 0.355, 1); }
    #footer .button-go-top.visible {
      opacity: 1;
      visibility: visible; }
    #footer .button-go-top .arrow {
      display: inline-block;
      position: absolute;
      left: 50%;
      top: 50%;
      margin-left: 0;
      width: 1px;
      height: 20px;
      line-height: 0;
      font-size: 0;
      background-color: #fff;
      transform: translate(-50%, -50%); }
      #footer .button-go-top .arrow::before {
        display: block;
        position: absolute;
        left: -6px;
        top: 1px;
        height: 1px;
        width: 8px;
        background-color: #fff;
        content: "";
        transform: rotate(-45deg); }
      #footer .button-go-top .arrow::after {
        display: block;
        position: absolute;
        right: -6px;
        top: 1px;
        height: 1px;
        width: 8px;
        background-color: #fff;
        content: "";
        transform: rotate(45deg); }
  #footer #f-nav {
    float: right;
    width: calc(100% - 424px);
    line-height: 1.6em; }
    #footer #f-nav .cols {
      display: flex;
      margin-right: -12px;
      margin-left: -12px; }
      #footer #f-nav .cols .col {
        width: 33.33%; }
        #footer #f-nav .cols .col > ul > li > a {
          color: #173f90;
          font-size: 1.5rem;
          font-weight: 500; }
        #footer #f-nav .cols .col ul li {
          margin-bottom: 0.5em; }
          #footer #f-nav .cols .col ul li ul {
            margin-top: 0.5em; }
            #footer #f-nav .cols .col ul li ul li {
              font-size: 1.4rem; }
              #footer #f-nav .cols .col ul li ul li::before {
                display: inline-block;
                vertical-align: middle;
                position: relative;
                top: -2px;
                margin-right: 5px;
                width: 8px;
                height: 1px;
                background-color: #393c44;
                content: ""; }
              #footer #f-nav .cols .col ul li ul li a {
                color: #393c44;
                font-weight: 400; }
        #footer #f-nav .cols .col strong {
          font-weight: 500; }
  #footer .info {
    float: left;
    width: 424px; }
    #footer .info .logo img {
      width: 260px; }
    #footer .info p {
      margin-top: 15px;
      vertical-align: bottom;
      font-size: 1.2rem; }
  #footer .footer-services {
    padding: 24px 0;
    border-top: 1px solid #efefef; }
    #footer .footer-services .container {
      display: flex;
      padding-top: 0;
      padding-bottom: 0; }
    #footer .footer-services .footer-service-nav ul {
      display: flex;
      font-size: 1.2rem;
      line-height: 1.6em; }
      #footer .footer-services .footer-service-nav ul li {
        margin-right: 16px; }
        #footer .footer-services .footer-service-nav ul li:last-of-type {
          margin-right: 0; }
        #footer .footer-services .footer-service-nav ul li a:link, #footer .footer-services .footer-service-nav ul li a:visited {
          color: #393c44; }
    #footer .footer-services .copyright {
      margin-left: auto;
      font-size: 1.2rem;
      text-align: right; }
      #footer .footer-services .copyright small {
        display: block;
        margin: 0 auto;
        max-width: 1240px; }

@media (max-width: 600px) {
  #footer .container {
    padding-top: 40px;
    padding-bottom: 40px; } }
@media (max-width: 600px) {
  #footer .button-go-top {
    right: 5.3%;
    width: 40px;
    height: 40px; } }
@media (max-width: 900px) {
  #footer #f-nav {
    float: none;
    width: auto; } }
@media (max-width: 600px) {
  #footer #f-nav .cols .col {
    padding: 0 12px;
    width: 50%; } }
@media (max-width: 900px) {
  #footer .info {
    float: none;
    margin-top: 40px;
    width: auto; } }
@media (max-width: 900px) {
  #footer .footer-services .container {
    display: block; } }
@media (max-width: 900px) {
  #footer .footer-services .footer-service-nav ul {
    justify-content: center; } }
@media (max-width: 900px) {
  #footer .footer-services .copyright {
    margin-top: 24px;
    text-align: center; } }
.contact-section {
  margin-top: 80px;
  color: #fff;
  text-align: center;
  background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%); }
  .contact-section .container {
    padding-top: 50px;
    padding-bottom: 50px; }
  .contact-section .cols .col {
    text-align: left; }
    .contact-section .cols .col:nth-of-type(1) {
      width: 320px; }
    .contact-section .cols .col:nth-of-type(n+2) {
      margin-top: 16px;
      width: 400px;
      border-right: 1px solid #4070d1; }
    .contact-section .cols .col:nth-of-type(3) {
      padding-left: 40px;
      flex: 1;
      border: none; }
  .contact-section .contact-title {
    margin-bottom: 8px;
    font-family: 'Metropolis';
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.05em; }
  .contact-section .contact-sub-title {
    margin-bottom: 24px;
    font-size: 1.4rem; }
  .contact-section .text-01 {
    margin-bottom: 8px;
    font-size: 1.8rem; }
  .contact-section .phone-number {
    font-size: 4rem;
    font-family: 'roboto';
    font-weight: 500;
    line-height: 1.2em;
    letter-spacing: 0.05em; }
    .contact-section .phone-number .icon {
      display: inline-block;
      position: relative;
      top: -2px;
      margin-right: 12px;
      vertical-align: middle; }
  .contact-section .text-02 {
    margin-top: 8px;
    font-size: 1.4rem;
    font-weight: normal; }
  .contact-section .contact-button {
    margin-top: 16px; }
    .contact-section .contact-button:link, .contact-section .contact-button:visited {
      display: block;
      padding: 20px 24px 24px 24px;
      color: #fff;
      font-size: 2.1rem;
      font-weight: 300;
      letter-spacing: 0.05em;
      text-align: center;
      border: 1px solid #fff;
      border-radius: 6px; }
    .contact-section .contact-button .icon {
      display: inline-block;
      position: relative;
      top: -1px;
      margin-right: 10px; }

@media (max-width: 600px) {
  .contact-section {
    margin-top: 40px; } }
@media (max-width: 600px) {
  .contact-section .cols .col {
    margin-bottom: 24px;
    padding-bottom: 24px;
    text-align: center; } }
@media (max-width: 1053px) {
  .contact-section .cols .col:nth-of-type(1) {
    width: 100%;
    text-align: center; } }
@media (max-width: 1053px) {
  .contact-section .cols .col:nth-of-type(n+2) {
    padding-right: 24px;
    width: auto; } }
@media (max-width: 1053px) {
  .contact-section .cols .col:nth-of-type(n+2) {
    padding-right: 24px;
    width: auto; } }
@media (max-width: 1053px) {
  .contact-section .cols .col:nth-of-type(n+2) {
    margin-top: 40px;
    width: 50%;
    text-align: center; } }
@media (max-width: 600px) {
  .contact-section .cols .col:nth-of-type(n+2) {
    padding-top: 24px;
    padding-right: 0;
    width: auto;
    border: none;
    border-top: 1px solid #4070d1;
    border-bottom: 1px solid #4070d1; } }
@media (max-width: 1053px) {
  .contact-section .cols .col:nth-of-type(3) {
    padding-left: 24px; } }
@media (max-width: 1053px) {
  .contact-section .cols .col:nth-of-type(3) {
    flex: auto;
    width: 50%; } }
@media (max-width: 600px) {
  .contact-section .cols .col:nth-of-type(3) {
    margin-bottom: 0;
    padding: 0;
    width: auto; } }
@media (max-width: 1053px) {
  .contact-section .phone-number {
    font-size: 3.2rem; } }
@media (max-width: 1053px) {
  .contact-section .phone-number .icon {
    width: 20px; } }
.type-char {
  opacity: 0; }

.fade-in {
  opacity: 0;
  transform: translateY(64px);
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .fade-in.executed {
    opacity: 1;
    transform: translateY(0); }

/**
*
*	home
*
**/
.home-page #trunk {
  position: relative;
  z-index: 1000;
  margin-top: calc(100vh - 40px);
  background-color: #fff; }
.home-page .section {
  position: relative;
  z-index: 1000;
  background-color: #fff; }
.home-page .button-wrapper {
  text-align: right; }
.home-page .hero-section {
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%; }
  .home-page .hero-section .slider {
    overflow: hidden;
    background: #fff;
    opacity: 1; }
  .home-page .hero-section .image {
    position: relative;
    height: calc(100vh - 40px); }
  .home-page .hero-section .image-holder {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.2);
    transition: all 7000ms linear;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }
  .home-page .hero-section .swiper-slide-prev .image-holder, .home-page .hero-section .swiper-slide-duplicate-prev .image-holder, .home-page .hero-section .swiper-slide-active .image-holder, .home-page .hero-section .swiper-slide-duplicate-active .image-holder {
    transform: scale(1); }
  .home-page .hero-section .slide img {
    display: none;
    width: 100%; }
  .home-page .hero-section .theme {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    z-index: 100;
    color: #fff;
    transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    text-align: left; }
    .home-page .hero-section .theme h1 {
      font-size: 6rem;
      font-weight: 500;
      line-height: 1.5em;
      letter-spacing: 0.1em; }
  .home-page .hero-section .dm-banner {
    position: absolute;
    right: 0;
    top: 50%;
    z-index: 100;
    transform: translate(100%, -50%);
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .home-page .hero-section .dm-banner.executed {
      transform: translate(0, -50%); }
  .home-page .hero-section .banners {
    opacity: 0;
    display: block;
    position: absolute;
    left: 0;
    bottom: 80px;
    z-index: 100;
    width: 100%;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .home-page .hero-section .banners.executed {
      opacity: 1; }
    .home-page .hero-section .banners ul {
      display: block;
      margin: 0 auto;
      max-width: 1240px;
      text-align: right; }
    .home-page .hero-section .banners li {
      display: inline-block; }
      .home-page .hero-section .banners li a {
        display: inline-block; }
      .home-page .hero-section .banners li img {
        width: 600px; }
  .home-page .hero-section .indicator {
    opacity: 0;
    position: relative;
    margin-top: 20px;
    font-family: 'roboto';
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .home-page .hero-section .indicator.executed {
      opacity: 1; }
    .home-page .hero-section .indicator p {
      display: inline-block;
      position: relative;
      left: 24px;
      transform: rotate(90deg);
      transform-origin: left top; }
    .home-page .hero-section .indicator .bar-track {
      display: inline-block;
      overflow: hidden;
      position: absolute;
      left: 2px;
      top: 0;
      width: 1px;
      height: 120px; }
    .home-page .hero-section .indicator .bar {
      display: inline-block;
      position: absolute;
      left: 0;
      width: 1px;
      height: 120px;
      background-color: #fff;
      animation: indicator 1s ease 0.5s infinite; }
.home-page .news-box {
  position: relative;
  z-index: 1000;
  color: #fff;
  line-height: 1.6em;
  background-color: #fff; }
  .home-page .news-box.executed .container {
    opacity: 1;
    background-color: #173f90; }
  .home-page .news-box.executed .curtain {
    animation: curtain01 1s ease 0s 1 forwards; }
  .home-page .news-box.executed dl {
    opacity: 1; }
  .home-page .news-box .container {
    position: relative;
    padding: 0;
    transform: translate(0, -50%);
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-delay: 900ms;
    transition-duration: 100ms; }
  .home-page .news-box dl {
    display: flex;
    opacity: 0;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-delay: 1000ms;
    transition-duration: 500ms; }
    .home-page .news-box dl dt {
      position: relative;
      padding: 32px 42px 36px 42px; }
      .home-page .news-box dl dt::after {
        display: inline-block;
        position: absolute;
        right: 0;
        top: 44px;
        width: 20px;
        height: 1px;
        background-color: #fcf141;
        content: ""; }
    .home-page .news-box dl dd {
      padding: 32px 42px 36px 42px; }
  .home-page .news-box .curtain {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background-color: #173f90;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .home-page .news-box .box-title {
    font-size: 2rem;
    font-weight: 400; }
  .home-page .news-box ul li {
    display: flex; }
  .home-page .news-box .post-date {
    width: 100px; }
  .home-page .news-box a:link, .home-page .news-box a:visited {
    color: #fff; }
  .home-page .news-box .button-wrapper {
    position: absolute;
    right: 0;
    top: 0;
    width: 120px;
    height: 100%;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%); }
  .home-page .news-box .more-button {
    display: flex;
    position: absolute;
    right: 0;
    top: 0;
    width: 120px;
    height: 100%;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    text-align: center; }
    .home-page .news-box .more-button:hover, .home-page .news-box .more-button:active {
      opacity: 1; }
.home-page .intro-section {
  overflow: hidden; }
  .home-page .intro-section.executed .curtain {
    animation: curtain02 1s ease 0s 1 forwards; }
  .home-page .intro-section.executed .bg .image-holder {
    opacity: 1; }
  .home-page .intro-section.executed .lead-text::after {
    width: 260px; }
  .home-page .intro-section.executed p {
    opacity: 1; }
  .home-page .intro-section .container {
    position: relative;
    padding-top: 0;
    padding-bottom: 0;
    min-height: 520px; }
  .home-page .intro-section .bg {
    position: absolute;
    margin: 0 -120px;
    width: calc(100% + 240px); }
    .home-page .intro-section .bg .image-holder {
      opacity: 0;
      min-height: 520px;
      background-image: url(../img/home_intro_img_01.jpg);
      background-size: auto 100%;
      background-position: right bottom;
      transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition-delay: 500ms; }
  .home-page .intro-section .curtain {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background-color: #eee;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .home-page .intro-section .section-body {
    position: absolute;
    top: 50%;
    max-width: 648px;
    transform: translate(0, -50%); }
  .home-page .intro-section .lead-text {
    font-size: 3.2rem;
    font-weight: normal;
    line-height: 1.8em; }
    .home-page .intro-section .lead-text::after {
      display: block;
      margin: 16px 0 22px 0;
      width: 0;
      height: 10px;
      background-color: #fcf141;
      content: "";
      transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition-delay: 2s; }
  .home-page .intro-section p {
    opacity: 0;
    line-height: 1.8em;
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-delay: 2.5s; }
.home-page .section-title {
  opacity: 0;
  color: #173f90;
  font-family: 'Metropolis';
  font-size: 6.4rem;
  font-weight: 500;
  line-height: 1.2em;
  text-align: center;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 500ms; }
  .home-page .section-title.executed {
    opacity: 1; }
.home-page .section-sub-title {
  opacity: 0;
  position: relative;
  margin-bottom: 60px;
  color: #333;
  font-size: 2.4rem;
  text-align: center;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-delay: 500ms; }
  .home-page .section-sub-title.executed {
    opacity: 1; }
    .home-page .section-sub-title.executed::before {
      transform: translate(-50%, 0) scaleX(1); }
  .home-page .section-sub-title::before {
    display: inline-block;
    position: absolute;
    left: 50%;
    bottom: 4px;
    width: 100px;
    height: 8px;
    background-color: #fcf141;
    content: "";
    transform: translate(-50%, 0) scaleX(0);
    transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-delay: 1000ms;
    transition-duration: 300ms; }
  .home-page .section-sub-title span {
    position: relative; }
.home-page .services-section .bg-curtain {
  position: absolute;
  top: 100px;
  right: 0;
  bottom: 120px;
  width: 0;
  background-color: #f4f4f4;
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .home-page .services-section .bg-curtain.executed {
    width: 72%; }
.home-page .services-section .container {
  position: relative;
  overflow: hidden;
  padding-bottom: 0; }
.home-page .services-section .cols {
  margin-right: -40px;
  margin-left: -40px; }
  .home-page .services-section .cols.bottom-boxes {
    margin-right: -20px;
    margin-left: -20px; }
    .home-page .services-section .cols.bottom-boxes .col {
      padding: 0 20px;
      width: 33.33%; }
      .home-page .services-section .cols.bottom-boxes .col a {
        border-radius: 8px;
        background: #fff url(../img/icon_arrow_02.svg) no-repeat right 24px bottom 24px; }
        .home-page .services-section .cols.bottom-boxes .col a:hover {
          background-position: right 12px bottom 24px; }
      .home-page .services-section .cols.bottom-boxes .col .box-title {
        margin-top: 8px;
        color: #2c313d;
        font-size: 2.1rem;
        background-color: transparent;
        transform: none; }
      .home-page .services-section .cols.bottom-boxes .col .box-description {
        margin-bottom: 0;
        font-size: 1.4rem; }
    .home-page .services-section .cols.bottom-boxes .banner-box {
      position: relative; }
      .home-page .services-section .cols.bottom-boxes .banner-box a {
        position: relative; }
      .home-page .services-section .cols.bottom-boxes .banner-box .box-image {
        padding-top: 64%;
        border-radius: 8px 8px 0 0;
        background-size: 100% auto;
        background-position: center top; }
      .home-page .services-section .cols.bottom-boxes .banner-box .button-wrapper {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 16px;
        width: 100%;
        text-align: center;
        background-color: #173f90;
        border-radius: 0 0 8px 8px; }
        .home-page .services-section .cols.bottom-boxes .banner-box .button-wrapper .button {
          display: block;
          padding: 16px 24px;
          color: #fff;
          border-radius: 8px;
          background: linear-gradient(180deg, #cba212 0%, #ab880b 100%); }
          .home-page .services-section .cols.bottom-boxes .banner-box .button-wrapper .button::before {
            display: inline-block;
            vertical-align: middle;
            position: relative;
            top: -4px;
            bottom: auto;
            margin-right: 8px;
            width: 30px;
            height: 30px;
            background: transparent url(../img/icon_newsletter_01.svg) no-repeat center center;
            background-size: contain; }
          .home-page .services-section .cols.bottom-boxes .banner-box .button-wrapper .button::after {
            display: inline-block;
            vertical-align: middle;
            position: relative;
            top: -2px;
            margin-left: 6px;
            background-image: url(../img/icon_arrow_01.svg); }
  .home-page .services-section .cols .col {
    margin-bottom: 80px;
    padding: 0 40px;
    width: 50%; }
    .home-page .services-section .cols .col a {
      display: block;
      overflow: hidden;
      height: 100%;
      border-radius: 10px;
      box-shadow: 0px 1px 12px -1px rgba(0, 0, 0, 0.2);
      background-color: #fff; }
      .home-page .services-section .cols .col a:hover, .home-page .services-section .cols .col a:active {
        opacity: 1;
        box-shadow: 0px 1px 6px -1px rgba(0, 0, 0, 0.42);
        transform: translateY(-20px); }
      .home-page .services-section .cols .col a:hover .box-image img, .home-page .services-section .cols .col a:active .box-image img {
        transform: scale(1.03); }
      .home-page .services-section .cols .col a:hover .button::before, .home-page .services-section .cols .col a:active .button::before {
        width: calc(100% + 10px); }
      .home-page .services-section .cols .col a:hover .button::after, .home-page .services-section .cols .col a:active .button::after {
        right: -10px; }
    .home-page .services-section .cols .col .box-image {
      overflow: hidden; }
      .home-page .services-section .cols .col .box-image img {
        transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .home-page .services-section .cols .col .box-content {
      padding: 0 24px 24px 24px; }
    .home-page .services-section .cols .col .box-title {
      display: inline-block;
      margin-left: -24px;
      padding: 8px 24px;
      color: #fff;
      font-size: 2.4rem;
      background-color: #173f90;
      transform: translate(0, -50%); }
    .home-page .services-section .cols .col .box-description {
      margin-bottom: 16px;
      color: #2c313d; }
    .home-page .services-section .cols .col .button {
      display: inline-block;
      position: relative;
      padding-right: 56px;
      padding-bottom: 12px; }
      .home-page .services-section .cols .col .button::before {
        display: block;
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 2px;
        background-color: #173f90;
        content: "";
        transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
      .home-page .services-section .cols .col .button::after {
        display: block;
        position: absolute;
        right: 0;
        top: 8px;
        width: 18px;
        height: 12px;
        background: url(../img/icon_arrow_02.svg) no-repeat center center;
        background-size: contain;
        content: "";
        transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
.home-page .testimonials-section {
  background-color: #f1faff; }
  .home-page .testimonials-section .section-lead {
    margin-bottom: 60px;
    font-size: 1.8rem; }
  .home-page .testimonials-section .banner {
    display: block; }
    .home-page .testimonials-section .banner:hover {
      opacity: 0.7; }
.home-page .business-section {
  background: #fff url(../img/home_business_bg.jpg) no-repeat center bottom;
  background-size: cover; }
  .home-page .business-section .container {
    padding-bottom: 80px; }
  .home-page .business-section .cols .col {
    position: relative;
    margin: 0 20px;
    padding: 0;
    width: calc(33.33% - 40px);
    text-align: center;
    border-radius: 12px;
    background-color: #fff; }
    .home-page .business-section .cols .col.executed:hover, .home-page .business-section .cols .col.executed:active {
      opacity: 1;
      transform: translateY(-20px); }
    .home-page .business-section .cols .col a {
      display: block;
      height: 100%;
      padding: 32px 24px 110px 24px; }
      .home-page .business-section .cols .col a:hover, .home-page .business-section .cols .col a:active {
        opacity: 1; }
      .home-page .business-section .cols .col a:hover .button::after, .home-page .business-section .cols .col a:active .button::after {
        transform: translateX(10px); }
    .home-page .business-section .cols .col .box-image {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 180px; }
      .home-page .business-section .cols .col .box-image img {
        transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .home-page .business-section .cols .col .box-title {
      display: inline-block;
      position: relative;
      margin: 16px 0 32px 0;
      color: #173f90;
      font-size: 2.4rem; }
      .home-page .business-section .cols .col .box-title::before {
        display: block;
        position: absolute;
        bottom: 4px;
        height: 4px;
        width: 100%;
        background-color: #fcf141;
        content: ""; }
      .home-page .business-section .cols .col .box-title span {
        position: relative; }
    .home-page .business-section .cols .col .box-description {
      font-size: 1.4rem;
      line-height: 1.8em;
      text-align: left; }
    .home-page .business-section .cols .col .button {
      display: block;
      position: absolute;
      bottom: 32px;
      margin-top: 24px;
      padding: 16px 24px 20px 24px;
      width: calc(100% - 48px);
      color: #fff;
      font-size: 1.4rem;
      border-radius: 4px;
      background-color: #173f90; }
      .home-page .business-section .cols .col .button::after {
        display: inline-block;
        margin-left: 8px;
        width: 16px;
        height: 10px;
        background: url(../img/icon_arrow_01.svg) no-repeat center center;
        background-size: contain;
        content: "";
        transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
.home-page .columns-section .bg-curtain {
  position: absolute;
  top: 105px;
  left: 50%;
  bottom: 80px;
  width: 0;
  background-color: #f4f4f4;
  transform: translate(-50%, 0);
  transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
  .home-page .columns-section .bg-curtain.executed {
    width: 92%; }
.home-page .columns-section .container {
  padding-bottom: 160px; }
.home-page .columns-section .swiper-container {
  overflow: visible; }
.home-page .columns-section .swiper-wrapper {
  width: auto;
  overflow: visible; }
.home-page .columns-section .cols {
  margin-right: -20px;
  margin-left: -20px; }
  .home-page .columns-section .cols .col {
    padding: 0 20px;
    width: 33.33%; }
    .home-page .columns-section .cols .col img {
      transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1); }
    .home-page .columns-section .cols .col a {
      display: block;
      overflow: hidden;
      height: 100%;
      border-radius: 10px;
      box-shadow: 0px 1px 12px -1px rgba(0, 0, 0, 0.2);
      background-color: #fff;
      background: #fff url(../img/icon_arrow_02.svg) no-repeat right 24px bottom 24px; }
      .home-page .columns-section .cols .col a:hover, .home-page .columns-section .cols .col a:active {
        opacity: 1;
        background-position: right 12px bottom 24px;
        box-shadow: 0px 1px 6px -1px rgba(0, 0, 0, 0.42);
        transform: translateY(-20px); }
      .home-page .columns-section .cols .col a:hover .box-image img, .home-page .columns-section .cols .col a:active .box-image img {
        transform: scale(1.03); }
      .home-page .columns-section .cols .col a:hover .button::before, .home-page .columns-section .cols .col a:active .button::before {
        width: calc(100% + 10px); }
      .home-page .columns-section .cols .col a:hover .button::after, .home-page .columns-section .cols .col a:active .button::after {
        right: -10px; }
    .home-page .columns-section .cols .col .box-content {
      padding: 0 24px 24px 24px; }
    .home-page .columns-section .cols .col .box-title {
      margin-top: 8px;
      color: #2c313d;
      font-size: 1.8rem;
      background-color: transparent;
      transform: none; }
    .home-page .columns-section .cols .col .box-date {
      margin-top: 16px;
      color: #393c44;
      font-size: 1.2rem; }
      .home-page .columns-section .cols .col .box-date span {
        position: relative;
        top: 1px;
        font-family: 'roboto';
        font-size: 1.4rem;
        font-weight: 500; }
.home-page .columns-section .button-wrapper {
  margin-top: 10px; }
.home-page .contact-section {
  margin-top: 0; }

@media (max-width: 1053px) {
  .home-page #trunk {
    margin-top: 80vh; } }
@media (max-width: 1053px) {
  .home-page .hero-section .image {
    height: 80vh; } }
@media (max-width: 600px) {
  .home-page .hero-section .theme h1 {
    font-size: 3.2rem; } }
@media (max-width: 600px) {
  .home-page .hero-section .dm-banner img {
    width: 40px; } }
@media (max-width: 600px) {
  .home-page .hero-section .banners {
    bottom: 40px; } }
@media (max-width: 1280px) {
  .home-page .hero-section .banners ul {
    padding-right: 20px;
    padding-left: 20px; } }
@media (max-width: 600px) {
  .home-page .hero-section .banners ul {
    padding: 0;
    text-align: center; } }
@media (max-width: 1280px) {
  .home-page .hero-section .banners li img {
    width: 480px; } }
@media (max-width: 600px) {
  .home-page .hero-section .banners li img {
    width: 300px; } }
@media (max-width: 600px) {
  .home-page .news-box .container {
    transform: none; } }
@media (max-width: 600px) {
  .home-page .news-box dl {
    display: block; } }
@media (max-width: 600px) {
  .home-page .news-box dl dt {
    padding: 16px 5.3%; } }
@media (max-width: 600px) {
  .home-page .news-box dl dt::after {
    left: 5.3%;
    right: auto;
    top: auto;
    bottom: 5px; } }
@media (max-width: 600px) {
  .home-page .news-box dl dd {
    padding: 8px 5.3% 16px 5.3%; } }
@media (max-width: 600px) {
  .home-page .news-box .post-date {
    width: 5em;
    font-size: 1.4rem; } }
@media (max-width: 600px) {
  .home-page .news-box .post-title {
    font-size: 1.4rem; } }
@media (max-width: 600px) {
  .home-page .news-box .button-wrapper {
    background: none;
    height: auto; } }
@media (max-width: 600px) {
  .home-page .news-box .more-button {
    top: 14px;
    height: auto; } }
@media (max-width: 1053px) {
  .home-page .intro-section .container {
    overflow: hidden; } }
@media (max-width: 1053px) {
  .home-page .intro-section .bg {
    margin: 0 -120px;
    width: 120vw; } }
@media (max-width: 900px) {
  .home-page .intro-section .bg {
    position: relative;
    margin: 0 0 0 -7%;
    min-height: 480px;
    width: 120vw; } }
@media (max-width: 600px) {
  .home-page .intro-section .bg {
    min-height: 240px; } }
@media (max-width: 1053px) {
  .home-page .intro-section .bg .image-holder {
    background-position: right -100px center; } }
@media (max-width: 900px) {
  .home-page .intro-section .bg .image-holder {
    min-height: 480px;
    width: 120vw;
    background-image: url(../img/sp_home_intro_img_01.jpg);
    background-size: cover;
    background-position: center bottom; } }
@media (max-width: 600px) {
  .home-page .intro-section .bg .image-holder {
    min-height: 240px; } }
@media (max-width: 1053px) {
  .home-page .intro-section .section-body {
    max-width: 45%; } }
@media (max-width: 900px) {
  .home-page .intro-section .section-body {
    position: relative;
    margin-top: -80px;
    padding: 5%;
    background-color: rgba(255, 255, 255, 0.8);
    transform: none;
    max-width: none; } }
@media (max-width: 600px) {
  .home-page .intro-section .section-body {
    margin-top: -56px; } }
@media (max-width: 900px) {
  .home-page .intro-section .lead-text {
    font-size: 2.8rem; } }
@media (max-width: 600px) {
  .home-page .intro-section .lead-text {
    font-size: 2.1rem; } }
@media (max-width: 600px) {
  .home-page .intro-section .lead-text::after {
    height: 6px; } }
@media (max-width: 600px) {
  .home-page .section-title {
    font-size: 3.2rem; } }
@media (max-width: 600px) {
  .home-page .section-sub-title {
    margin-bottom: 40px;
    font-size: 1.8rem; } }
@media (max-width: 600px) {
  .home-page .services-section .bg-curtain {
    top: 84px; } }
@media (max-width: 1053px) {
  .home-page .services-section .cols {
    margin-right: -20px;
    margin-left: -20px; } }
@media (max-width: 600px) {
  .home-page .services-section .cols {
    margin-right: 0;
    margin-left: 0; } }
@media (max-width: 1053px) {
  .home-page .services-section .cols.bottom-boxes {
    margin-right: -15px;
    margin-left: -15px; } }
@media (max-width: 600px) {
  .home-page .services-section .cols.bottom-boxes {
    display: block; } }
@media (max-width: 1053px) {
  .home-page .services-section .cols.bottom-boxes .col {
    padding: 0 15px; } }
@media (max-width: 600px) {
  .home-page .services-section .cols.bottom-boxes .col {
    width: auto; } }
@media (max-width: 600px) {
  .home-page .services-section .cols.bottom-boxes .col .box-title {
    font-size: 1.8rem; } }
@media (max-width: 1053px) {
  .home-page .services-section .cols.bottom-boxes .banner-box .box-image {
    padding-top: 70%;
    background-size: auto 100%; } }
@media (max-width: 600px) {
  .home-page .services-section .cols.bottom-boxes .banner-box .box-image {
    padding-top: 84%;
    background-size: 100% auto; } }
@media (max-width: 1053px) {
  .home-page .services-section .cols .col {
    margin-bottom: 40px;
    padding: 0 20px; } }
@media (max-width: 600px) {
  .home-page .services-section .cols .col {
    margin-bottom: 24px;
    padding: 0;
    width: auto; } }
@media (max-width: 1053px) {
  .home-page .services-section .cols .col .box-title {
    font-size: 2.2rem; } }
@media (max-width: 600px) {
  .home-page .services-section .cols .col .box-title {
    font-size: 2rem; } }
@media (max-width: 600px) {
  .home-page .testimonials-section .section-lead {
    margin-bottom: 40px; } }
@media (max-width: 900px) {
  .home-page .business-section .container {
    padding-bottom: 64px; } }
@media (max-width: 600px) {
  .home-page .business-section .container {
    padding-bottom: 8px; } }
@media (max-width: 1053px) {
  .home-page .business-section .cols .col {
    margin: 0 15px;
    width: calc(33.33% - 30px); } }
@media (max-width: 600px) {
  .home-page .business-section .cols .col {
    margin: 0 0 24px 0;
    width: auto; } }
@media (max-width: 600px) {
  .home-page .business-section .cols .col .box-image {
    height: 120px; } }
@media (max-width: 600px) {
  .home-page .business-section .cols .col .box-image img {
    width: auto;
    height: 100%; } }
@media (max-width: 600px) {
  .home-page .business-section .cols .col .box-title {
    margin-bottom: 16px;
    font-size: 2.1rem; } }
@media (max-width: 600px) {
  .home-page .columns-section .bg-curtain {
    top: 60px;
    bottom: 24px; } }
@media (max-width: 600px) {
  .home-page .columns-section .bg-curtain.executed {
    width: 94%; } }
@media (max-width: 900px) {
  .home-page .columns-section .container {
    padding-bottom: 64px; } }
@media (max-width: 600px) {
  .home-page .columns-section .container {
    padding: 40px 0 64px 0; } }
@media (max-width: 600px) {
  .home-page .columns-section .swiper-container {
    padding: 0 5.3%; } }
@media (max-width: 600px) {
  .home-page .columns-section .swiper-wrapper {
    width: 100%; } }
@media (max-width: 1053px) {
  .home-page .columns-section .cols {
    margin-right: -15px;
    margin-left: -15px; } }
@media (max-width: 600px) {
  .home-page .columns-section .cols {
    display: /*flex*/block;
    /*flex-wrap: nowrap;*/
    margin-right: -10px;
    margin-left: -10px; } }
@media (max-width: 1053px) {
  .home-page .columns-section .cols .col {
    padding: 0 15px;margin-bottom: 24px; } }
@media (max-width: 600px) {
  .home-page .columns-section .cols .col {
    width: /*90%*/100%;
    padding: 0 10px; } }
@media (max-width: 600px) {
  .home-page .columns-section .cols .col .box-title {
    font-size: 1.8rem; } }
@media (max-width: 600px) {
  .home-page .columns-section .button-wrapper {
    padding-right: 5.3%;
    padding-left: 5.3%; } }
.sub-page .contents-wrapper {
  display: block;
  margin: 0 auto;
  padding: 40px 24px;
  max-width: 1248px; }
  .sub-page .contents-wrapper.has-sidebar {
    display: flex; }
    .sub-page .contents-wrapper.has-sidebar .main-contents {
      padding-right: 6.5%;
      width: 80%; }
    .sub-page .contents-wrapper.has-sidebar .sidebar {
      width: 20%; }
  .sub-page .contents-wrapper.narrow-contents .main-contents {
    margin: 0 auto;
    width: 70%; }
  .sub-page .contents-wrapper .main-contents {
    margin: 0 auto;
    padding-right: 0;
    width: auto; }
    .sub-page .contents-wrapper .main-contents .section {
      margin-bottom: 80px; }
.sub-page .page-title {
  position: relative;
  margin-bottom: 32px;
  padding: 24px 0 24px 40px;
  color: #393c44;
  font-size: 4rem;
  font-weight: 400;
  letter-spacing: 0.05em; }
  .sub-page .page-title::before {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 8px;
    height: 96px;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
    content: ""; }
.sub-page .section-title {
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 16px;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.8em; }
  .sub-page .section-title::before {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background-color: #e4e4e4;
    content: ""; }
  .sub-page .section-title::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 160px;
    height: 4px;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
    content: ""; }
  .sub-page .section-title small {
    margin-left: 10px;
    font-size: 72%; }
.sub-page .section-subtitle {
  position: relative;
  margin-top: 80px;
  margin-bottom: 24px;
  padding-bottom: 8px;
  color: #025abc;
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.8em; }
  .sub-page .section-subtitle:first-of-type {
    margin-top: 0; }
  .sub-page .section-subtitle::before {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #e4e4e4;
    content: ""; }
  .sub-page .section-subtitle::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 160px;
    height: 1px;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
    content: ""; }
.sub-page .section-lead {
  margin-bottom: 24px;
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 1.8em;
  color: #173f90; }
  .sub-page .section-lead.mb10 {
    margin-bottom: 10px; }
  .sub-page .section-lead sup {
    font-size: 0.5em;
    vertical-align: super;
    line-height: 0; }
.sub-page .text-title {
  color: #025abc;
  font-size: 2.4rem; }
.sub-page .intro-section p {
  margin-bottom: 2em;
  line-height: 1.8em; }
.sub-page .intro-section .text-title {
  margin-bottom: 1em; }

@media (max-width: 900px) {
  .sub-page .contents-wrapper {
    display: block;
    padding: 40px 5.3% 0 5.3%; } }
@media (max-width: 900px) {
  .sub-page .contents-wrapper.has-sidebar {
    display: block; } }
@media (max-width: 900px) {
  .sub-page .contents-wrapper.has-sidebar .main-contents {
    padding-right: 0;
    width: auto; } }
@media (max-width: 900px) {
  .sub-page .contents-wrapper.has-sidebar .sidebar {
    width: auto; } }
@media (max-width: 900px) {
  .sub-page .contents-wrapper.narrow-contents .main-contents {
    width: 100%; } }
@media (max-width: 600px) {
  .sub-page .page-title {
    margin-bottom: 40px;
    padding-top: 18px;
    padding-left: 24px;
    font-size: 3.2rem; } }
@media (max-width: 600px) {
  .sub-page .page-title::before {
    width: 6px;
    height: 72px; } }
@media (max-width: 600px) {
  .sub-page .section-title {
    margin-bottom: 24px;
    font-size: 2.8rem;
    line-height: 1.5em; } }
@media (max-width: 600px) {
  .sub-page .section-title::after {
    width: 120px; } }
@media (max-width: 600px) {
  .sub-page .section-subtitle {
    margin-top: 40px;
    font-size: 2.1rem; } }
@media (max-width: 600px) {
  .sub-page .section-subtitle::after {
    width: 104px; } }
@media (max-width: 600px) {
  .sub-page .section-lead {
    font-size: 2.4rem; } }
@media (max-width: 600px) {
  .sub-page .text-title {
    font-size: 2.1rem; } }
.how-to-contact-us {
  margin: 40px 0 0 0;
  padding: 24px 0;
  background-color: #f1faff;
  border-radius: 12px; }
  .how-to-contact-us .text-01 {
    font-size: 1.8rem;
    font-weight: 500; }
  .how-to-contact-us .col {
    text-align: center; }
    .how-to-contact-us .col:first-of-type {
      border-right: 1px solid #eee; }
      .how-to-contact-us .col:first-of-type .phone-number {
        color: #025abc;
        font-family: 'roboto';
        font-size: 42px;
        font-weight: 600; }
      .how-to-contact-us .col:first-of-type svg {
        fill: #025abc;
        width: 30px;
        height: auto; }
    .how-to-contact-us .col:last-of-type a:link, .how-to-contact-us .col:last-of-type a:visited {
      display: block;
      margin-top: 12px;
      padding: 12px 24px 20px 24px;
      color: #fff;
      font-size: 21px;
      background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
      border-radius: 80px; }
    .how-to-contact-us .col:last-of-type svg {
      fill: #fff;
      position: relative;
      top: 5px;
      margin-right: 8px;
      width: 26px;
      height: auto; }

@media (max-width: 600px) {
  .how-to-contact-us {
    padding: 24px; } }
@media (max-width: 600px) {
  .how-to-contact-us .text-02 {
    font-size: 1.4rem; } }
@media (max-width: 600px) {
  .how-to-contact-us .col:first-of-type {
    margin-bottom: 24px;
    border: none;
    padding-bottom: 32px;
    border-bottom: 1px solid #eee; } }
@media (max-width: 600px) {
  .how-to-contact-us .col:first-of-type .phone-number {
    font-size: 3.6rem; } }
@media (max-width: 600px) {
  .how-to-contact-us .col:first-of-type svg {
    width: 24px; } }
.blue-block {
  margin: 80px -48px 0 -48px;
  padding: 48px;
  background-color: #f1faff; }
  .blue-block .block-title {
    position: relative;
    margin-bottom: 48px;
    padding: 8px 24px 10px 48px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.5em;
    background-color: #173f90; }
    .blue-block .block-title::before {
      display: inline-block;
      position: absolute;
      left: 12px;
      top: 25px;
      width: 24px;
      height: 2px;
      background: #fcf141;
      content: ""; }
    .blue-block .block-title.has-index {
      padding-left: 160px; }
    .blue-block .block-title strong {
      position: absolute;
      left: 44px;
      top: 10px;
      margin-right: 16px;
      color: #fcf141;
      font-family: 'roboto';
      font-size: 3rem;
      font-weight: 400;
      letter-spacing: 0.05em; }

@media (max-width: 1053px) {
  .blue-block {
    margin-right: -24px;
    margin-left: -24px; } }
@media (max-width: 900px) {
  .blue-block {
    margin-right: -5.2vw;
    margin-left: -5.2vw;
    padding: 40px 5.3%; } }
@media (max-width: 600px) {
  .blue-block .block-title {
    margin-bottom: 24px;
    padding-left: 36px;
    font-size: 2.1rem; } }
@media (max-width: 600px) {
  .blue-block .block-title::before {
    width: 16px;
    top: 23px; } }
@media (max-width: 600px) {
  .blue-block .block-title.has-index {
    padding: 50px 16px 16px 16px; } }
@media (max-width: 600px) {
  .blue-block .block-title strong {
    left: 40px;
    font-size: 2.4rem; } }
.case-block .case-contents {
  padding: 24px 32px 40px 32px;
  background: #fff;
  border: 4px solid #173f90;
  border-radius: 8px; }
  .case-block .case-contents dl dt {
    position: relative;
    z-index: 2;
    padding: 12px 24px;
    margin-left: 24px;
    max-width: 160px;
    color: #fff;
    letter-spacing: 0.05em;
    text-align: center;
    border-radius: 100px;
    background-color: #025abc;
    transform: translateY(50%); }
    .case-block .case-contents dl dt:nth-of-type(2) {
      color: #025abc;
      font-weight: 600;
      background-color: #fcf141; }
  .case-block .case-contents dl dd {
    position: relative;
    padding: 40px 24px 24px 24px;
    line-height: 1.8em;
    border-radius: 12px;
    background-color: #f8f8f8; }
    .case-block .case-contents dl dd:last-of-type::after {
      display: none; }
    .case-block .case-contents dl dd::after {
      display: block;
      position: absolute;
      left: 50%;
      bottom: -20px;
      width: 20px;
      height: 32px;
      background: url(../img/icon_arrow_04.svg) no-repeat center center;
      background-size: contain;
      transform: translate(-50%, 0);
      content: ""; }
  .case-block .case-contents .figures {
    margin: 0; }
    .case-block .case-contents .figures .col:last-of-type figure::after {
      display: none; }
    .case-block .case-contents .figures figure {
      position: relative;
      text-align: center; }
      .case-block .case-contents .figures figure::after {
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        width: 58px;
        height: 46px;
        background: url(../img/icon_arrow_05.svg) no-repeat center center;
        background-size: contain;
        transform: translateX(100%);
        content: ""; }
  .case-block .case-contents figure {
    margin-top: 40px;
    text-align: center; }

@media (max-width: 600px) {
  .case-block .case-contents {
    padding: 0 16px 24px 16px; } }
@media (max-width: 600px) {
  .case-block .case-contents dl dt {
    margin: 0 auto; } }
@media (max-width: 600px) {
  .case-block .case-contents dl dd {
    margin-bottom: 24px; } }
@media (max-width: 600px) {
  .case-block .case-contents .figures .col:last-of-type {
    margin-top: 100px; } }
@media (max-width: 600px) {
  .case-block .case-contents .figures figure::after {
    left: 50%;
    right: auto;
    top: auto;
    bottom: -70px;
    margin-left: -29px;
    transform: rotate(90deg); } }
@media (max-width: 600px) {
  .steps {
    margin-top: 64px; } }
.steps li {
  display: block;
  position: relative;
  margin-bottom: 70px;
  padding: 32px;
  background: #fff;
  border: 4px solid #173f90;
  border-radius: 8px; }
  .steps li::after {
    display: block;
    position: absolute;
    left: 50%;
    bottom: -54px;
    width: 20px;
    height: 32px;
    background: url(../img/icon_arrow_04.svg) no-repeat center center;
    background-size: contain;
    transform: translate(-50%, 0);
    content: ""; }
  .steps li:last-of-type {
    margin-bottom: 0; }
    .steps li:last-of-type::after {
      display: none; }
  .steps li .index {
    position: absolute;
    left: 0;
    top: 50%;
    padding-top: 12px;
    width: 80px;
    height: 80px;
    color: #fff;
    font-family: 'roboto';
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    text-align: center;
    background-color: #173f90;
    border-radius: 100px;
    transform: translate(-50%, -50%); }
    .steps li .index strong {
      display: block;
      margin-top: 5px;
      font-size: 3.2rem;
      font-weight: 400; }
  .steps li figure figcaption {
    margin-top: 20px;
    color: #173f90;
    font-size: 2.4rem; }
  .steps li .cols {
    margin: 0; }
    .steps li .cols .col:first-of-type {
      padding: 0;
      width: 30%;
      text-align: center; }
    .steps li .cols .col:last-of-type {
      padding: 0;
      flex: 1; }
    .steps li .cols .col p:last-of-type {
      margin-bottom: 0; }

@media (max-width: 600px) {
  .steps li {
    margin-bottom: 48px;
    padding-top: 64px;
    padding-left: 16px;
    padding-right: 16px; } }
@media (max-width: 600px) {
  .steps li::after {
    display: none; } }
@media (max-width: 600px) {
  .steps li .index {
    left: 50%;
    top: 0; } }
@media (max-width: 600px) {
  .steps li .cols .col:first-of-type {
    margin-bottom: 24px;
    width: auto; } }
.local-nav {
  margin-bottom: 56px;
  padding: 10px 16px 13px 16px;
  border: 1px solid #d4dff0;
  border-radius: 6px;
  background-color: #eff4fc; }
  .local-nav ul {
    line-height: 1.4em;
    display: flex;
    flex-wrap: wrap; }
  .local-nav li {
    margin-top: 5px;
    margin-right: 12px;
    margin-bottom: 5px;
    padding-right: 12px;
    text-align: center;
    border-right: 1px solid #d4dff0; }
    .local-nav li:last-of-type {
      border: none; }
  .local-nav a {
    position: relative; }
    .local-nav a::before {
      display: block;
      position: absolute;
      left: 8px;
      top: 50%;
      width: 10px;
      height: 16px;
      background: url(../img/icon_arrow_01.svg) no-repeat center center;
      content: "";
      transform: translate(0, -40%) rotate(90deg); }
    .local-nav a:link, .local-nav a:visited {
      padding: 0 8px 0 28px;
      color: #333;
      border-radius: 4px; }
    .local-nav a:hover, .local-nav a:active {
      opacity: 1;
      background-color: #d4dff0; }

.sidebar.at-bottom .side-nav dd > ul {
  display: flex; }
  .sidebar.at-bottom .side-nav dd > ul li {
    width: 100%; }
.sidebar dl {
  position: relative; }
  .sidebar dl dt {
    padding: 20px 0 22px 0;
    font-size: 1.8rem;
    font-weight: 500; }
    .sidebar dl dt::after {
      display: block;
      margin-top: 16px;
      height: 3px;
      width: 100%;
      background: #025abc;
      /* Old browsers */
      background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
      content: ""; }
.sidebar ul {
  border-top: none;
  border-bottom: none; }
  .sidebar ul li {
    position: relative;
    margin-bottom: 16px;
    padding-left: 40px; }
    .sidebar ul li:hover > a:link, .sidebar ul li:hover > a:visited {
      color: #025abc; }
    .sidebar ul li::before {
      position: absolute;
      left: 0;
      top: 13px;
      z-index: 10;
      width: 32px;
      height: 1px;
      background: #ddd;
      transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition-duration: 0.3;
      content: ""; }
    .sidebar ul li::after {
      position: absolute;
      left: -1px;
      top: 13px;
      z-index: 10;
      width: 0;
      height: 1px;
      background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
      transition: all 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition-duration: 0.3;
      content: ""; }
    .sidebar ul li.current::after {
      width: 32px; }
    .sidebar ul li.current a:link, .sidebar ul li.current a:visited {
      color: #025abc; }
    .sidebar ul li.current ul li a:link, .sidebar ul li.current ul li a:visited {
      color: #393c44; }
    .sidebar ul li.current ul li a:hover, .sidebar ul li.current ul li a:active {
      color: #025abc; }
    .sidebar ul li ul {
      margin-top: 16px; }
      .sidebar ul li ul li {
        padding-left: 0; }
        .sidebar ul li ul li.current a:link, .sidebar ul li ul li.current a:visited {
          color: #025abc; }
        .sidebar ul li ul li::before, .sidebar ul li ul li::after {
          display: none; }
        .sidebar ul li ul li a:link, .sidebar ul li ul li a:visited {
          font-weight: 400; }
    .sidebar ul li:hover::after {
      width: 32px; }
    .sidebar ul li a {
      display: block;
      position: relative; }
      .sidebar ul li a:link, .sidebar ul li a:visited {
        color: #393c44;
        font-weight: 500;
        line-height: 1.6em; }
      .sidebar ul li a:hover, .sidebar ul li a:active {
        color: #4374fc;
        opacity: 1; }

@media (max-width: 900px) {
  .sidebar.at-bottom .side-nav dd > ul {
    display: block; } }
@media (max-width: 900px) {
  .sidebar .side-nav {
    position: static !important; } }
.news-list {
  margin-bottom: 40px;
  border-top: 1px solid #e2e2e2; }
  .news-list li {
    border-bottom: 1px solid #e2e2e2; }
  .news-list a:link, .news-list a:visited {
    display: flex;
    flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    padding-left: 20px;
    padding-right: 20px;
    color: #333; }
  .news-list a:hover, .news-list a:active {
    opacity: 1;
    background-color: #eff4fc; }
  .news-list .date {
    padding: 30px 0 30px 0;
    width: 120px;
    flex: 0 0 auto; }
  .news-list .categories {
    flex: 0 0 auto;
    padding: 30px 20px;
    text-align: left;
    white-space: nowrap;
    font-size: 0;
    word-wrap: none; }
    .news-list .categories span {
      display: inline-block;
      margin: 0 2px;
      padding: 3px 16px;
      width: 120px;
      color: #fff;
      font-size: 1.2rem;
      line-height: 1.6em;
      text-align: center;
      background-color: #00a27a; }
      .news-list .categories span.important {
        width: 60px;
        background-color: #d63636; }
  .news-list .title {
    flex: 1 1 auto;
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 1.6rem; }

@media (max-width: 600px) {
  .news-list a:link, .news-list a:visited {
    padding-right: 0;
    padding-left: 0; } }
@media (max-width: 600px) {
  .news-list .date {
    padding: 16px 0;
    width: 6em;
    font-size: 1.4rem; } }
@media (max-width: 600px) {
  .news-list .title {
    padding: 16px 0;
    font-size: 1.4rem; } }
.news-page .post .post-title {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.5em; }
.news-page .post .post-meta p {
  display: inline-block; }
.news-page .post .post-date {
  color: #aaa;
  font-family: 'roboto';
  letter-spacing: 0.1em; }
.news-page .post .post-body {
  margin-top: 20px;
  line-height: 1.8em;
  letter-spacing: 0.05em; }
  .news-page .post .post-body p {
    line-height: 1.8em; }
    .news-page .post .post-body p + p {
      margin-top: 1em; }
.news-page .main-contents .button-wrapper {
  margin-top: 80px;
  text-align: left; }
  .news-page .main-contents .button-wrapper a::before {
    display: inline-block;
    position: relative;
    top: -1px;
    margin-right: 8px;
    width: 16px;
    height: 10px;
    background: url(../img/icon_arrow_02.svg) no-repeat center center;
    background-size: contain;
    content: "";
    transform: rotate(-180deg); }
.news-page .pagination {
  margin-top: 80px; }

@media (max-width: 600px) {
  .news-page .post .post-title {
    font-size: 2.4rem; } }
@media (max-width: 600px) {
  .news-page .pagination {
    margin-top: 40px; } }
.business-page.selling-cases-page .case-02 .figures .col:first-of-type {
  padding-left: 30px;
  padding-top: 10px; }
  .business-page.selling-cases-page .case-02 .figures .col:first-of-type figure::after {
    right: -20px;
    margin-top: -20px; }
.business-page.selling-cases-page .case-02 .figures .col:last-of-type {
  padding-left: 30px; }
.business-page.buying-cases-page .section-subtitle span {
  display: inline-block;
  margin-right: 10px;
  width: 34px;
  height: 34px;
  color: #fff;
  font-family: 'roboto';
  line-height: 34px;
  text-align: center;
  border-radius: 80px;
  background-color: #025abc; }
.business-page.buying-cases-page .for-customers-section .banner {
  margin-top: 32px; }
.business-page.inheritance-cases-page .case-01 .figures img {
  width: 80%;
  height: auto; }
.business-page.achievement-page .statistics-section .section-subtitle {
  position: relative;
  margin-bottom: 16px; }
.business-page.achievement-page .statistics-section figure {
  margin-top: 24px;
  margin-bottom: 80px; }
  .business-page.achievement-page .statistics-section figure figcaption {
    margin-bottom: 24px;
    font-size: 1.8rem;
    line-height: 1.8em; }
.business-page.rental-properties-page .main-contents {
  position: relative;
  z-index: 10; }
.business-page.rental-properties-page .intro-section .note {
  font-size: 1.4rem; }
.business-page.rental-properties-page .intro-section .section-subtitle {
  margin-bottom: 16px;
  margin-top: 40px; }
.business-page.rental-properties-page .intro-section .credit {
  margin-bottom: 8px;
  text-align: right; }
  .business-page.rental-properties-page .intro-section .credit img {
    vertical-align: middle;
    margin-left: 12px;
    width: 100px;
    transform: translateY(-5px); }
.business-page.rental-properties-page .intro-section .at-home-wrapper {
  margin-bottom: 32px;
  background-color: #fff; }
.business-page.rental-properties-page .intro-section .at-home {
  width: 100%;
  height: 800px; }
.business-page.rental-properties-page .intro-section .button-wrapper {
  margin-bottom: 80px;
  text-align: left; }
.business-page.rental-properties-page .case-block .block-title {
  font-size: 2.3rem; }
.business-page.rental-properties-page .case-block .case-problems {
  border-radius: 8px;
  background-color: #f4f4f4; }
  .business-page.rental-properties-page .case-block .case-problems figure {
    margin-bottom: 32px; }
.business-page.rental-properties-page .case-block .case-solution {
  color: #025abc;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.8em; }
.business-page.rental-properties-page .case-block .case-steps {
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }
  .business-page.rental-properties-page .case-block .case-steps li {
    position: relative;
    margin: 0 20px;
    padding: 16px;
    width: calc(25% - 40px);
    background-color: #f1faff;
    border-radius: 8px; }
    .business-page.rental-properties-page .case-block .case-steps li:last-of-type::after {
      display: none; }
    .business-page.rental-properties-page .case-block .case-steps li::after {
      display: inline-block;
      position: absolute;
      right: -34px;
      top: 50%;
      margin-top: -9px;
      width: 28px;
      height: 18px;
      background: url(../img/icon_arrow_02.svg) no-repeat center center;
      background-size: contain;
      content: ""; }
  .business-page.rental-properties-page .case-block .case-steps .image {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
    height: 88px; }
  .business-page.rental-properties-page .case-block .case-steps figure {
    margin-top: 0; }
  .business-page.rental-properties-page .case-block .case-steps figcaption {
    line-height: 1.5em;
    text-align: left; }
.business-page.rental-properties-page .supported-items {
  margin-top: 80px; }
  .business-page.rental-properties-page .supported-items .col {
    position: relative;
    margin: 0 20px;
    width: calc(50% - 40px);
    color: #025abc;
    border: 3px solid #025abc;
    border-radius: 8px; }
    .business-page.rental-properties-page .supported-items .col:last-of-type {
      color: #e35775;
      border-color: #e35775; }
      .business-page.rental-properties-page .supported-items .col:last-of-type .col-title {
        background-color: #e35775; }
      .business-page.rental-properties-page .supported-items .col:last-of-type ul li {
        background-color: #fff4f7; }
  .business-page.rental-properties-page .supported-items .col-title {
    position: absolute;
    left: 50%;
    top: 0;
    padding: 10px 24px 10px 24px;
    width: 90%;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.5em;
    text-align: center;
    border-radius: 6px;
    background-color: #025abc;
    transform: translate(-50%, -50%); }
  .business-page.rental-properties-page .supported-items ul {
    margin-top: 40px;
    margin-bottom: 20px; }
    .business-page.rental-properties-page .supported-items ul li {
      margin-bottom: 16px;
      padding: 16px 16px 16px 0;
      background-color: #f1faff;
      border-radius: 8px; }
      .business-page.rental-properties-page .supported-items ul li:last-of-type {
        margin-bottom: 0; }
      .business-page.rental-properties-page .supported-items ul li figure {
        display: flex;
        align-items: center; }
        .business-page.rental-properties-page .supported-items ul li figure span {
          width: 90px;
          text-align: center; }
          .business-page.rental-properties-page .supported-items ul li figure span img {
            width: auto;
            height: 50px; }
        .business-page.rental-properties-page .supported-items ul li figure figcaption {
          font-size: 1.8rem;
          font-weight: 500; }
.business-page.rental-properties-page .supported-items-note {
  margin-top: 40px;
  font-size: 1.4rem;
  text-align: center; }
.business-page.property-management-page .intro-section .points {
  margin-top: 64px;
  margin-bottom: 80px; }
.business-page.property-management-page .intro-section .point-title {
  margin-bottom: 5px; }
.business-page.property-management-page .intro-section .point-subtitle {
  margin-bottom: 0;
  line-height: 1.4em; }
.business-page.property-management-page .intro-section .point-content p {
  margin-bottom: 10px; }
.business-page.property-management-page .intro-section .steps-block {
  margin-bottom: 80px; }
.business-page.property-management-page .intro-section .steps li {
  padding-left: 64px; }
  .business-page.property-management-page .intro-section .steps li .title {
    margin-bottom: 5px;
    color: #173f90;
    font-size: 2.4rem; }
  .business-page.property-management-page .intro-section .steps li p {
    margin-bottom: 6px; }
.business-page.property-management-page .intro-section .support-figure {
  margin-top: 40px;
  text-align: center; }
  .business-page.property-management-page .intro-section .support-figure p.logo {
    margin-bottom: 60px; }
  .business-page.property-management-page .intro-section .support-figure .figure-wrap {
    padding: 40px 40px 0 40px;
    border-radius: 8px;
    background-color: #e9f7ff; }
  .business-page.property-management-page .intro-section .support-figure .cols {
    margin-right: -10px;
    margin-left: -10px; }
    .business-page.property-management-page .intro-section .support-figure .cols .col {
      position: relative;
      margin: 0 10px 40px 10px;
      padding: 48px 24px 40px 24px;
      width: calc(50% - 20px);
      border: 4px solid #173f90;
      border-radius: 8px;
      background-color: #fff; }
    .business-page.property-management-page .intro-section .support-figure .cols .col-title {
      position: absolute;
      left: 50%;
      top: 0;
      width: 60%;
      margin-bottom: 0;
      padding: 6px 24px 8px 24px;
      color: #fff;
      font-size: 2.1rem;
      border-radius: 100px;
      background-color: #173f90;
      transform: translate(-50%, -50%); }
    .business-page.property-management-page .intro-section .support-figure .cols p {
      margin-bottom: 0; }
  .business-page.property-management-page .intro-section .support-figure .more {
    margin-bottom: 16px;
    height: 180px;
    background: url(../img/icon_arrow_06.svg) no-repeat center center; }
    .business-page.property-management-page .intro-section .support-figure .more p {
      display: inline-block;
      margin-top: 40px;
      padding: 6px 24px;
      color: #025abc;
      font-size: 2.6rem;
      font-weight: 500;
      border-radius: 8px;
      background-color: #fcf141; }
  .business-page.property-management-page .intro-section .support-figure .conclusion {
    display: inline-block;
    padding: 64px 80px;
    color: #fff;
    font-size: 2.8rem;
    border-radius: 50%;
    background-color: #025abc; }
.business-page.yousiki-page .main-contents .downloads {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
  margin-right: -10px;
  margin-left: -10px; }
  .business-page.yousiki-page .main-contents .downloads li {
    margin-bottom: 30px;
    padding: 0 10px;
    width: 25%; }
  .business-page.yousiki-page .main-contents .downloads a:link, .business-page.yousiki-page .main-contents .downloads a:visited {
    display: block;
    padding: 16px 24px 20px 24px;
    font-size: 1.8rem;
    text-align: center;
    border: 2px solid #025abc;
    border-radius: 6px; }
  .business-page.yousiki-page .main-contents .downloads a:hover, .business-page.yousiki-page .main-contents .downloads a:active {
    opacity: 1;
    background-color: #f1faff; }
  .business-page.yousiki-page .main-contents .downloads a .icon {
    margin-left: 8px;
    vertical-align: middle; }

@media (max-width: 600px) {
  .business-page.selling-cases-page .case-02 .figures .col:first-of-type {
    margin-bottom: 120px;
    padding: 0; } }
@media (max-width: 600px) {
  .business-page.selling-cases-page .case-02 .figures .col:first-of-type figure::after {
    display: block;
    position: absolute;
    margin-left: -29px;
    left: 50%;
    right: auto;
    top: auto;
    bottom: 0;
    transform: rotate(90deg) translate(150%, 0); } }
@media (max-width: 600px) {
  .business-page.selling-cases-page .case-02 .figures .col:last-of-type {
    padding: 0; } }
@media (max-width: 600px) {
  .business-page.buying-cases-page .section-subtitle {
    position: relative;
    padding-left: 32px; } }
@media (max-width: 600px) {
  .business-page.buying-cases-page .section-subtitle span {
    position: absolute;
    left: 0;
    top: 6px;
    margin-right: 6px;
    width: 28px;
    height: 28px;
    font-size: 1.8rem;
    line-height: 28px; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .intro-section .credit img {
    width: 80px; } }
@media (max-width: 900px) {
  .business-page.rental-properties-page .intro-section .button-wrapper {
    text-align: center; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-problems figure {
    margin-bottom: 16px; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-solution {
    font-size: 1.8rem;
    line-height: 1.6em; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps {
    display: block;
    margin-right: 0;
    margin-left: 0; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps li {
    margin: 0 0 40px 0;
    width: auto; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps li:last-of-type {
    margin-bottom: 0; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps li::after {
    right: auto;
    left: 50%;
    top: auto;
    bottom: -30px;
    margin-left: -14px;
    margin-top: 0;
    transform: rotate(90deg); } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps .image {
    margin-bottom: 0;
    padding: 0 8px 0 0;
    width: 64px;
    height: auto; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps figure {
    display: flex; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .case-block .case-steps figcaption {
    flex: 1; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .supported-items {
    margin-top: 48px; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .supported-items .col {
    margin: 0 0 40px 0;
    width: auto; } }
@media (max-width: 600px) {
  .business-page.rental-properties-page .supported-items ul li {
    margin-left: 16px;
    margin-right: 16px; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .points {
    margin-bottom: 40px; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .steps li {
    padding: 45px 16px 16px 16px; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .steps li .title {
    font-size: 2.1rem;
    line-height: 1.5em; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .support-figure .figure-wrap {
    padding: 24px 16px; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .support-figure .cols {
    margin-right: 0;
    margin-left: 0; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .support-figure .cols .col {
    margin: 0 0 40px 0;
    padding: 48px 16px 24px 16px;
    width: auto; } }
@media (max-width: 600px) {
  .business-page.property-management-page .intro-section .support-figure .cols .col:last-of-type {
    margin-bottom: 0; } }
@media (max-width: 1053px) {
  .business-page.yousiki-page .main-contents .downloads li {
    width: 33.33%; } }
@media (max-width: 900px) {
  .business-page.yousiki-page .main-contents .downloads li {
    width: 50%; } }
@media (max-width: 600px) {
  .business-page.yousiki-page .main-contents .downloads li {
    width: 100%; } }
.points {
  margin-right: -10px;
  margin-left: -10px; }
  .points li {
    position: relative;
    margin: 0 10px;
    width: calc(33.33% - 20px);
    border: 2px solid #025abc;
    border-radius: 6px; }
  .points .point-index {
    position: absolute;
    left: 50%;
    top: 0;
    padding: 5px 24px 7px 24px;
    width: 80%;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    border-radius: 100px;
    background-color: #025abc;
    transform: translate(-50%, -50%); }
    .points .point-index strong {
      position: relative;
      top: 4px;
      color: #fcf141;
      font-family: 'roboto';
      font-size: 3.4rem; }
  .points .point-header {
    padding: 40px 16px 24px 16px;
    color: #025abc;
    text-align: center;
    border-radius: 6px;
    background-color: #f1faff; }
  .points .point-title {
    margin-bottom: 24px;
    font-size: 2.4rem;
    font-weight: 500; }
  .points .point-subtitle {
    font-weight: 500; }
    .points .point-subtitle small, .points .point-subtitle sup {
      font-size: 1.2rem; }
  .points .point-content {
    padding: 24px 40px;
    font-weight: 500;
    text-align: center; }
    .points .point-content .note {
      font-size: 1.2rem;
      font-weight: 400; }

@media (max-width: 600px) {
  .points {
    margin-left: 0;
    margin-right: 0; } }
@media (max-width: 600px) {
  .points li {
    margin: 0 0 40px 0;
    width: auto; } }
@media (max-width: 600px) {
  .points .point-content {
    padding: 24px; } }
.company-page.profile-page .section-title {
  margin-bottom: 56px; }
.company-page.profile-page .section .signature {
  line-height: 2em; }
  .company-page.profile-page .section .signature strong {
    font-size: 2rem;
    font-weight: 400; }
.company-page.profile-page .section .d-list > dt {
  margin-bottom: 4px;
  font-size: 2rem;
  line-height: 1.8em; }
.company-page.profile-page .section .d-list > dd {
  line-height: 1.8em; }
  .company-page.profile-page .section .d-list > dd ul {
    margin-left: 1em; }
    .company-page.profile-page .section .d-list > dd ul li {
      text-indent: -1em; }
.company-page.profile-page .section .contact-info {
  display: flex;
  flex-wrap: wrap; }
  .company-page.profile-page .section .contact-info dt {
    width: 80px; }
  .company-page.profile-page .section .contact-info dd {
    width: calc(100% - 80px); }
.company-page.profile-page .access-section iframe {
  margin-bottom: 56px;
  width: 100%;
  height: 740px; }
.company-page.profile-page .access-section .contact-info dt {
  width: 50px; }
.company-page.profile-page .access-section .contact-info dd {
  width: calc(100% - 50px); }

@media (max-width: 600px) {
  .company-page.profile-page .section-title {
    margin-bottom: 32px; } }
@media (max-width: 600px) {
  .company-page.profile-page .section .cols .col:first-of-type {
    margin-bottom: 24px; } }
@media (max-width: 600px) {
  .recruit-page .section-title small {
    display: block;
    font-size: 60%;
    line-height: 24px; } }
.support-page.policy-page .contents-section p {
  line-height: 1.8em; }
.support-page.policy-page .contents-section .label {
  margin-bottom: 0;
  font-size: 1.8rem;
  font-weight: 500; }
.support-page.policy-page .contents-section .signature {
  margin-bottom: 40px;
  line-height: 1.6em; }
.support-page.policy-page .contents-section .section-subtitle {
  margin-top: 40px; }
.support-page.policy-page .contents-section .block-title {
  margin: 40px 0 24px 0;
  color: #025abc;
  font-size: 2.1rem;
  font-weight: normal; }
.support-page.policy-page .contents-section ol, .support-page.policy-page .contents-section ul {
  margin-left: 1.5em;
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.8em;
  list-style: decimal; }
.support-page.policy-page .contents-section ol.no-children li, .support-page.policy-page .contents-section ul.no-children li {
  margin-bottom: 0.5em; }
.support-page.policy-page .contents-section ol li, .support-page.policy-page .contents-section ul li {
  margin-bottom: 1.5em; }
.support-page.policy-page .contents-section ol li ul, .support-page.policy-page .contents-section ol li ol {
  margin-left: 2.5em;
  margin-top: 0.5em;
  counter-reset: number;
  list-style: none; }
.support-page.policy-page .contents-section ul li ul, .support-page.policy-page .contents-section ul li ol {
  margin-left: 2.5em;
  margin-top: 0.5em;
  counter-reset: number;
  list-style: none; }
.support-page.policy-page .contents-section ol li ul li, .support-page.policy-page .contents-section ol li ol li {
  margin-bottom: 0.5em;
  text-indent: -2.5em; }
.support-page.policy-page .contents-section ul li ul li, .support-page.policy-page .contents-section ul li ol li {
  margin-bottom: 0.5em;
  text-indent: -2.5em; }
.support-page.policy-page .contents-section ol li ul li::before, .support-page.policy-page .contents-section ol li ol li::before {
  counter-increment: number;
  content: "���" counter(number) "���"; }
.support-page.policy-page .contents-section ul {
  list-style: disc; }
  .support-page.policy-page .contents-section ul li ul li::before, .support-page.policy-page .contents-section ul li ol li::before {
    counter-increment: number;
    content: "���" counter(number) "���"; }
.support-page.policy-page .contents-section .block-title {
  margin-bottom: 0;
  font-size: 2rem; }
.support-page .faq-page .end-text {
  margin-top: 80px;
  font-size: 2rem;
  line-height: 2em;
  text-align: center; }

.qa-list dt {
  position: relative;
  margin-bottom: 16px;
  padding-top: 12px;
  padding-bottom: 24px;
  padding-left: 64px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5em; }
  .qa-list dt::before {
    display: inline-block;
    padding: 8px;
    position: absolute;
    left: 0;
    top: 0;
    width: 36px;
    height: 36px;
    color: #fff;
    font-family: 'roboto';
    font-size: 3.2rem;
    font-weight: 400;
    line-height: 36px;
    text-align: center;
    border-radius: 200px;
    background-color: #173f90;
    content: "Q"; }
.qa-list dd {
  position: relative;
  margin-bottom: 48px;
  margin-left: 64px;
  padding: 32px;
  border-radius: 12px;
  background-color: #f1faff; }
  .qa-list dd::before {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 34px;
    height: 34px;
    color: #025abc;
    font-family: 'roboto';
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 34px;
    text-align: center;
    border-radius: 200px;
    background-color: #fcf141;
    content: "A";
    transform: translate(-50%, -50%); }
  .qa-list dd p {
    margin-bottom: 0.5em;
    line-height: 2em; }
    .qa-list dd p:last-of-type {
      margin-bottom: 0; }

@media (max-width: 600px) {
  .qa-list dt {
    padding-top: 4px;
    padding-bottom: 8px;
    padding-left: 46px;
    font-size: 1.8rem; } }
@media (max-width: 600px) {
  .qa-list dt::before {
    width: 20px;
    height: 20px;
    font-size: 2rem;
    line-height: 20px; } }
@media (max-width: 600px) {
  .qa-list dd {
    margin-left: 46px; } }
@media (max-width: 600px) {
  .qa-list dd::before {
    top: 34px;
    width: 28px;
    height: 28px;
    font-size: 1.7rem;
    line-height: 28px;
    transform: translate(-50%, 0); } }
.column-page .column-title-wrapper {
  position: relative;
  margin-bottom: 40px; }
  .column-page .column-title-wrapper .column-hero {
    padding-top: 62%;
    background-size: cover; }
    .column-page .column-title-wrapper .column-hero::after {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      content: ""; }
  .column-page .column-title-wrapper .group {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -32px;
    padding: 24px;
    width: 100%;
    color: #fff;
    text-align: center;
    transform: translate(-50%, -50%); }
  .column-page .column-title-wrapper .page-title {
    display: inline-block;
    margin-bottom: 32px;
    padding: 0 40px 8px 40px;
    color: #fff;
    font-size: 2.4rem;
    text-align: center;
    border-bottom: 2px solid #fff; }
    .column-page .column-title-wrapper .page-title::before {
      display: none; }
  .column-page .column-title-wrapper .column-title {
    font-size: 3.2rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: center; }
.column-page .column-index {
  position: relative;
  margin-top: 40px;
  padding: 24px 32px 40px 32px;
  box-shadow: 0 1.5px 2.4px rgba(0, 0, 0, 0.15);
  background: #f9f9f9; }
  .column-page .column-index::before {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
    content: ""; }
  .column-page .column-index .column-index-title {
    margin-bottom: 8px;
    color: #025abc;
    font-size: 2.4rem;
    font-weight: 500; }
  .column-page .column-index ol {
    margin-top: 16px;
    line-height: 1.8em; }
    .column-page .column-index ol li {
      border-bottom: 1px solid #ddd; }
      .column-page .column-index ol li:first-of-type {
        border-top: 1px solid #ddd; }
      .column-page .column-index ol li a {
        display: block;
        color: #393c44;
        font-weight: 600;
        padding: 8px 0; }
  .column-page .column-index .index {
    margin-right: 5px; }
.column-page .contents-section {
  counter-reset: h3no; }
  .column-page .contents-section h3 {
    position: relative;
    margin-top: 40px;
    margin-bottom: 16px;
    padding: 8px 0 8px 52px;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.8em;
    counter-increment: h3no; }
    .column-page .contents-section h3:before {
      content: counter(h3no);
      display: inline-block;
      position: absolute;
      left: 0;
      top: 8px;
      width: 40px;
      color: #fff;
      font-family: 'roboto';
      font-size: 2rem;
      text-align: center;
      line-height: 40px;
      border-radius: 100px;
      background: #025abc; }
  .column-page .contents-section p {
    margin-bottom: 1em;
    line-height: 1.8em; }
  .column-page .contents-section table {
    width: auto !important;
    margin-bottom: 1em; }
    .column-page .contents-section table th, .column-page .contents-section table td {
      border: solid 1px #999;
      padding: 0.5em 1em;
      width: auto !important; }
      .column-page .contents-section table th p, .column-page .contents-section table td p {
        margin-bottom: 0; }
    .column-page .contents-section table th {
      background-color: #f1faff; }
.column-page .contents-wrapper .main-contents .section {
  margin-bottom: 64px;
  padding-bottom: 64px; }
.column-page .contents-wrapper .main-contents .ending-section {
  margin-bottom: 0; }
.column-page .section-title {
  margin-bottom: 40px;
  padding-bottom: 0;
  font-weight: 500; }
  .column-page .section-title::before, .column-page .section-title::after {
    display: none; }
  .column-page .section-title .index {
    position: relative;
    top: 4px;
    font-family: 'roboto';
    font-size: 6.4rem; }
.column-page .contents-section {
  border-bottom: dotted 2px #dadada; }
  .column-page .contents-section .hd1 {
    position: relative;
    margin-top: 40px;
    margin-bottom: 16px;
    padding: 8px 0 8px 20px;
    font-size: 2.1rem;
    font-weight: 500; }
    .column-page .contents-section .hd1::before {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 4px;
      height: 100%;
      background: linear-gradient(to bottom, #025abc 0%, #3d70fc 100%);
      content: ""; }
  .column-page .contents-section .hd2 {
    position: relative;
    margin-top: 40px;
    margin-bottom: 16px;
    padding: 8px 0 8px 52px;
    font-size: 2.1rem;
    font-weight: 500; }
    .column-page .contents-section .hd2 .index {
      display: inline-block;
      position: absolute;
      left: 0;
      top: 8px;
      width: 40px;
      color: #fff;
      font-family: 'roboto';
      font-size: 2rem;
      text-align: center;
      line-height: 40px;
      border-radius: 100px;
      background: #025abc; }
.column-page .ending-section {
  margin-bottom: 0;
  border-bottom: none; }
.column-page .sidebar dt {
  margin-bottom: 16px;
  padding: 16px;
  position: relative;
  color: #025abc;
  box-shadow: 0 1.5px 2.4px rgba(0, 0, 0, 0.1);
  background-color: #f1faff; }
  .column-page .sidebar dt::after {
    position: absolute;
    top: 0;
    left: 0;
    bottom: auto;
    margin-top: 0; }
.column-page .sidebar .archive-nav ul {
  padding-left: 0; }
  .column-page .sidebar .archive-nav ul li {
    margin-bottom: 16px;
    padding-left: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid #eee; }
    .column-page .sidebar .archive-nav ul li::before, .column-page .sidebar .archive-nav ul li::after {
      display: none; }
    .column-page .sidebar .archive-nav ul li a {
      display: flex;
      align-items: flex-start; }
    .column-page .sidebar .archive-nav ul li .post-tn {
      width: 24%; }
      .column-page .sidebar .archive-nav ul li .post-tn span {
        display: block;
        padding-top: 100%;
        background-size: cover; }
    .column-page .sidebar .archive-nav ul li .post-title {
      padding-left: 16px;
      width: 76%;
      font-size: 1.4rem; }

/*# sourceMappingURL=style.css.map */


.home-page .columns-slider .box-image { 
position: relative;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;}
.home-page .columns-slider .box-image:before {
	content:"";
	display: block;
	padding-top: calc(((3 / 5) * 100%));}


/* 240922 */
.title-section { position: relative;}
.title-section:before { content:"";position: absolute; top:0; left: 0; }
.sub-page .title-section .section-lead { position: relative;}
@media (min-width: 901px) {
    .title-section { height: 342px;}
    .title-section img { position: absolute; top: 0; right:0; height: 100%;z-index: -1;} 
    .title-section:before{background:linear-gradient(to right, #fff 0%, #fff 40%, transparent 50%);width: 100%; height: 100%;}
}
@media (max-width: 900px) {
    .bg-g {position: relative;} 
	.bg-g:after { 
		content:"";position: absolute; top:0; left: 0;
    	background:linear-gradient(to bottom, transparent 0%, transparent 80%, #fff 100%);width: 100%; height: 100%;
    }
 }

div.maru-y span, span.maru-y {
	color:#015ABC; font-size: 36px; line-height: 1;
	display: inline-block;
	padding: 25px; 
	background-color: #FFFF54;
	border-radius: 43px;
}
span.maru-y { padding: 10px;border-radius: 28px; font-weight: 700;}

.business-page .steps li .title {
    margin-bottom: 5px;
    color: #173f90;
    font-size: 2.4rem;
}


.onayami-section {
margin-left: -40px; margin-right: -40px;
background: linear-gradient(transparent 10%, #F1FAFF 10%);
text-align: center;
padding-bottom: 40px;
clip-path: polygon(0 0, 100% 0, 100% 80%, 50% 100%, 0% 80%);}
.onayami-section img { width: 96%;max-width: 753px;}

/* �I�΂�闝�R */
.reason-section .points > li { background-color: #fff;}
.reason-section .points .point-header { background-color: #fff;}
.reason-section .points .point-header p { margin-bottom: 0;}
.reason-section .points .point-content { text-align: left;} 
.reason-section + .contact-section { margin-top: 0;}

.sub-page .reason-section .section-lead.center { text-align: center;}

.reason-section .section-lead { margin-bottom: 60px;}


.marugoto-section { margin-top: 160px; text-align: center;font-weight: 700;}
.marugoto-title {text-align: center; font-size: 32px; padding: 0  80px; line-height: 1.3;
margin: -120px auto 35px;display: inline-block; background-color: #fff;}
.marugoto-title > div { padding: 18px 0 15px;}

.marugoto-title i { font-style: normal; background: linear-gradient(transparent 70%, #FCF140 70%);}
.marugoto-section .case-block .case-contents figure { margin-top: 0;}
.marugoto-section figure img { width: 100%; max-width: 545px;}
.case-block .case-contents.marugoto-body { margin-top: 120px;}

.marugoto-section .cols .col { 
	text-align: center; 
	background-color: #f1faff; 
	padding: 20px 20px 100px; 
	color: #173f90; 
	position: relative;
	margin: 20px; width : calc( 100% / 3 - 40px);font-size: 22px; color:#015ABC; line-height: 1.4;
}
.marugoto-section .cols .col img { height: 73px; width: auto; position: absolute; bottom:20px; left: 50%; transform: translate(-50%,0);}

@media (max-width: 900px) {
div.maru-y span { font-size: 5vw; padding: 2vw; border-radius: 5vw;}
.marugoto-title { padding: 0  2vw;  font-size: 4vw;margin-top: -14vw;}
.marugoto-title > div { padding: 2vw 0 2vw;}
.marugoto-section .cols .col {  margin: 10px;width : calc( 100% / 3 - 20px);font-size: 22px; color:#015ABC; line-height: 1.4;}
}
@media (max-width: 600px) {
.marugoto-section .cols .col { width: 100%; margin: 20px 0;}
.marugoto-section .marugoto-text { text-align: left;}
}

@media (min-width: 601px) {
.business-page .steps li { padding-left: 64px;}
.steps li .cols.how-to-contact-us .col:first-of-type{ width:50%;}
}
.steps li .cols.how-to-contact-us .col { padding: 0 20px;}
.sub-page .intro-section .how-to-contact-us p { margin-bottom: 0;}


/* ���Y�݂��� */

.solve-section dl{ display: flex;border: 4px solid #173f90;border-radius: 8px;}
.solve-section dl dt { width: 30%; padding: 20px; display: flex; flex-direction: column; align-items:center; line-height: 1.2;}
.solve-section dl dt img { height: 108px; width: auto;}
.solve-section dl dd { background-color:#F1FAFF; padding: 20px; padding-left: 80px; flex:1;
clip-path: polygon(0 0, 100% 0, 100% 100%,  0 100%, 40px 50%);
display: flex; justify-content :center;flex-direction: column; 
}
.solve-section dl dd .lead { color:#015ABC; font-size: 24px; font-weight: 700;}
.solve-section dl + dl { margin-top: 60px;}
.solve-section .atten { text-align: center; font-size: 14px; margin-top: 20px;}

.solve-title { text-align: center; font-size: 28px; margin-top: 90px;margin-bottom: 1em;
display: flex; align-items: center; justify-content: center;}
.solve-title span { font-size: 36px;}
.solve-title:before { content:""; display: inline-block;height: 2em; width: 1.2em; margin-right: 1.5em;
background: url(/assets/img/icon_light.png) no-repeat 0 0; background-size: auto 100%;}

@media (max-width: 600px) {
.solve-section dl{ display: block;}
.solve-section dl dt { width: 100%; padding-bottom: 5px;}
.solve-section dl dd {clip-path: polygon(0 0, 50% 30px, 100% 0, 100% 100%, 0 100%); padding: 50px 20px 20px;}
.solve-section dl dd .lead { text-align: center;}
.solve-title:before { margin-right: 0;}
}



.shared-01 .images { text-align: center;}
.shared-01 .images img { max-width: 240px; height: auto;}

.shared-01 .lead { font-size: 28px; margin-bottom: 1em;}
.shared-01 .lead i { font-size: 32px; font-weight: 700; font-style: normal; background: linear-gradient(transparent 70%, #FCF140 70%);}





/* ���k */
.soudan-section .soudan-title { 
background-color:#173F90; color: #fff;font-size: 36px; padding: 17px 0 20px; margin-bottom: 1em;
line-height: 1.4; clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
}

.soudan-section { display: flex;}
@media (min-width: 1280px) {
.soudan-section { margin-right: calc((100vw - 1200px) / 2);}
.soudan-section .soudan-title, 
.soudan-section  .soudan-text{ padding-left: calc((100vw - 1200px) / 2);}
.soudan-section .image { width; 500px; margin-left: 70px;}
}
@media (max-width: 1279px) {
.soudan-section .soudan-title { font-size: 28px;}
.soudan-section .soudan-title, 
.soudan-section  .soudan-text{ padding-left: 40px;}
.soudan-section .image { width; 500px; margin-left: 40px; margin-right: 40px;}
}
@media (max-width: 900px) {
.soudan-section { display: block;}
.soudan-section .soudan-title{ margin-right: 40px;}
.soudan-section  .soudan-text{ padding-right: 40px;}
.soudan-section .image { margin-top: 20px;}
}
@media (max-width: 600px) {
.soudan-section .soudan-title{ font-size: 5vw;margin-right: 10px;}
.soudan-section .soudan-title,
.soudan-section .soudan-text{ padding-left: 20px;padding-right: 20px;}
}


/*FAQ section*/

.arrow_answer,
.arrow_question {
    position: relative;
    background: #fff;
    border: 2px solid #173f90;
    border-radius: 8px;
    width:calc(100% - 340px);
    padding:3%;
    margin-left: 150px;
    line-height: 1.8;
}
.arrow_answer:after,
.arrow_answer:before,
.arrow_question:after,
.arrow_question:before {
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
 
.arrow_question:after,
.arrow_question:before {
    right: 100%;
}
 
.arrow_answer:after,
.arrow_answer:before{
     left: 100%;
}
 
.arrow_answer:after,
.arrow_question:after {
    border-color: rgba(255, 255, 255, 0);
    border-width: 8px;
    margin-top: -8px;
}
 
.arrow_answer:after{
    border-left-color: #fff;
}
 
.arrow_question:after{
    border-right-color: #fff;
     
}
 
.arrow_answer:before,
.arrow_question:before {
    border-color: rgba(200, 200, 200, 0);
    border-width: 11px;
    margin-top: -10px;
}
 
.arrow_answer:before{
    border-left-color: #173f90;
}
 
.arrow_question:before {
    border-right-color: #173f90;    
}

.answer_image img,
.question_image img{
    display: block;
    margin: 0 auto;
    max-width: 150px;
    width: 100%;
}
 
.faq_Box { display: flex; align-items: center;}
.faq_Box.question {align-items: end;}

 
.faq_Box .name {
    text-align: center;
    font-size: 12px;
}
.faq_Box strong { font-weight: 700;font-size: 1.125em;}


.faq_wapper {position: relative; background-color:#f1faff; padding:50px 50px 30px;}
.faq_Box{
     width: 100%;
     overflow: hidden;
     margin-bottom: 8px;
     
}
.faq_wapper:not(first-child){
     margin-bottom: 25px;
}
.faq-section.contents-wrapper { margin-top: 100px;}


.block-title {
    position: relative;
    margin-bottom: 48px;
    padding: 8px 24px 10px 48px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.5em;
    background-color: #173f90;
}
.block-title::before {
    display: inline-block;
    position: absolute;
    left: 12px;
    top: 25px;
    width: 24px;
    height: 2px;
    background: #fcf141;
    content: "";
}
@media (min-width: 901px) {
.answer_image,
.question_image { width: 150px; height: 200px; text-align: center; position: absolute;}
.question_image { top: 20px; left: 30px;}
.answer_image { bottom: 30px; right: 50px;}
}
@media (max-width: 900px) {
.answer_image img,
.question_image img{ max-width: 100px;}
.arrow_answer,
.arrow_question { width: 100%;}
.arrow_answer { margin-right: 10px; margin-left: 0px;}
.arrow_question { margin-left: 10px;}

.faq_Box.answer {flex-direction: row-reverse;align-items: start;}
}

/* 24.12.13 inheritance-cases */
.steps.s-support li .cols.flow-list { align-items: flex-end;}		
.steps.s-support li .cols.flow-list .col { padding: 0; margin: auto;}
.steps.s-support li .cols.flow-list .col:last-child { width: 100%; max-width: 300px;}		
.steps.s-support .flow-list sup { font-size: 0.5em; vertical-align: super;}
.steps.s-support .flow-list .suplist { font-size: 0.8em;}
											
.steps.s-support .flow-item {
	background-color: #F1FAFF; padding: 20px;text-align: left;    border: 2px solid #173f90;border-radius: 8px;}
.steps.s-support .flow-item + .flow-item { margin-top: 10px;}
.steps.s-support .flow-item dl { 
	display: flex; color: #173f90; font-size: 1.2em;font-weight: 900;align-items: center;}
.steps.s-support .flow-item dl + * { margin-top: 1em;}
.steps.s-support .flow-item dt { 
	width: 3em;  font-style: italic; position :relative; z-index:1; 
	background: linear-gradient(transparent 80%, #ff0 10%);
}
.flow-item dt span { font-size: 1.6em; font-weight: 600;}
.flow-item dd { flex: 1; padding-left: 1em;}
.steps.s-support .fukidashi { 
	background-color: #fee8a9; border-radius: 10px; 
	padding: 20px; text-align: center; color: #173f90; font-weight: 900; 
	line-height: 1.6;position: relative;
}
.steps.s-support .fukidashi:after {
	content: ""; position: absolute; bottom: -60px; right: 10%;
	width: 60px; height: 60px; background: url("../assets/img/fukidashi-tips.png")no-repeat 0 0;
	background-size: 100% auto;
}
.business-page .steps.s-support li { padding: 32px;}
.business-page .steps.s-support li .title { text-align: left; font-weight: 700; margin-bottom: 1em; font-size: 1.6em;}
.steps.s-support .col .image img {  width: 80%;}
.steps.s-support .how-to-contact-us { margin: 0; display: flex;}
.steps.s-support .how-to-contact-us .contact-tel { position: relative; padding: 0 0 0 80px;}
.steps.s-support .how-to-contact-us svg { fill: #173f90;position: absolute; left: 0; top: 10px; width: 60px; height: 60px;}
.steps.s-support .how-to-contact-us .contact-tel {margin: auto; display: inline-block;}
.steps.s-support .how-to-contact-us .phone-number {font-size: 32px; color: #173f90; font-weight: 700; }
.steps.s-support .how-to-contact-us .phone-number p { text-align: left;}
.steps.s-support .how-to-contact-us .contact-web { max-width: 320px; text-align: center; margin: auto;}
.steps.s-support .how-to-contact-us .contact-web a:link, 
.steps.s-support .how-to-contact-us .contact-web a:visited {
      display: block;
      margin-top: 12px;
      padding: 12px 36px;
      color: #fff;
      font-size: 21px;
      background: linear-gradient(127.72deg, #173F90 -20.82%, #0063ED 94.24%);
      border-radius: 80px;
}	
.steps.s-support li:not(:last-child):before {
    display: block;
    position: absolute;
    left: 50%;
    bottom: -100px;
    width: 0;
    height: 0;
	border-color: #173f90 transparent transparent;
	border-width: 40px;
	border-style:solid;
    transform: translate(-50%, 0);
    content: "";
}
	
@media (max-width: 1280px) {
	.steps.s-support .how-to-contact-us svg { width: 30px; height: 30px; top: 15px;}
	.steps.s-support .how-to-contact-us .contact-tel { padding-left: 40px;}	
	.steps.s-support .how-to-contact-us .text-02 { font-size: 1.2rem;}	
}
@media (min-width: 1081px) {
	.steps.s-support li .cols.flow-list .col { width: 65%;}
	.steps.s-support li .cols.flow-list > .col + .col { margin-left: 30px;}	
}
@media (max-width: 1080px) {	
	.steps.s-support li .cols.flow-list > .col + .col { margin-top: 30px;}
	.steps.s-support li .cols.flow-list { flex-direction: column;}
	.steps.s-support li .cols.flow-list .col { width: 100%;}
	.steps.s-support .contact-web { margin-top: 30px;}
}
@media (max-width: 756px) {
	.steps.s-support .how-to-contact-us .contact-web a:link { font-size: 18px;}
	.steps.s-support .how-to-contact-us .phone-number { font-size: 24px;}
	.steps.s-support .how-to-contact-us .text-02 { font-size: 1rem;}	
}
						
@media (max-width: 600px) {
	.steps.s-support li::before {border-width: 30px; bottom: -75px;}
	.steps.s-support .how-to-contact-us { flex-direction: column;}
	.steps.s-support .how-to-contact-us svg { width: 30px; height: 30px;}
	.steps.s-support .how-to-contact-us .contact-tel { padding-left: 30px;}	
	.steps.s-support .how-to-contact-us { padding: 0;}
	.business-page .steps.s-support li { padding: 32px 18px;}	
	.flow-item dt { font-size: 0.8em;}	
}