@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Poppins:wght@400;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp-noto.min.css");
[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start; }

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit; }

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0; }

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch; }

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%;
  /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  max-width: 100%;
  /* Not required for horizontal scroll to trigger */
  max-height: 100%;
  /* Needed for vertical scroll to trigger */
  scrollbar-width: none;
  -ms-overflow-style: none; }

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none; }

.simplebar-content:before,
.simplebar-content:after {
  content: ' ';
  display: table; }

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none; }

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0; }

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1; }

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden; }

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none; }

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all; }

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px; }

.simplebar-scrollbar:before {
  position: absolute;
  content: '';
  background: #1b2a31;
  border-radius: 5px;
  left: 0px;
  right: 0px;
  transition: opacity 0.2s linear; }
  @media screen and (max-width: 768px) {
    .simplebar-scrollbar:before {
      border-radius: calc(4vw / 768 * 100); } }

.simplebar-scrollbar.simplebar-visible:before {
  /* When hovered, remove all transitions from drag handle */
  opacity: 1;
  transition: opacity 0s linear; }

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
  right: -11px; }
  @media screen and (max-width: 768px) {
    .simplebar-track.simplebar-vertical {
      right: 0; } }

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 0px;
  bottom: 0px; }

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 10px;
  background-color: #ebebeb;
  border-radius: 5px; }
  @media screen and (max-width: 768px) {
    .simplebar-track.simplebar-horizontal {
      left: calc(30 / 10 * 1rem);
      width: calc(708 / 10 * 1rem);
      height: calc(8 / 10 * 1rem);
      border-radius: calc(4 / 10 * 1rem); } }

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 0px;
  right: 0px; }

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 0px;
  height: 10px;
  min-height: 0;
  min-width: 10px;
  width: auto; }
  @media screen and (max-width: 768px) {
    .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
      height: calc(8 / 10 * 1rem); } }

/* Rtl support */
[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0; }

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll; }

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none; }

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: '';
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir='rtl'] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

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

/* min-width
-------------------------------------------------------------------------- */
/* max-width
-------------------------------------------------------------------------- */
/* default
-------------------------------------------------------------------------- */
/* in
-------------------------------------------------------------------------- */
/* out
-------------------------------------------------------------------------- */
/* in out
-------------------------------------------------------------------------- */
/* ja
-------------------------------------------------------------------------- */
/* en
-------------------------------------------------------------------------- */
/* size
-------------------------------------------------------------------------- */
@keyframes swing1 {
  0% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0); }
  35% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(5deg) translateY(-10px); }
  50% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0); }
  85% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-5deg) translateY(-10px); }
  100% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0); } }
@keyframes swing2 {
  0% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0); }
  35% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-5deg) translateY(-10px); }
  50% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0); }
  85% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(5deg) translateY(-10px); }
  100% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0); } }
@keyframes bounce {
  from,
    20%,
    53%,
    80%,
    to {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, 0, 0); }
  40%,
    43% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -30px, 0); }
  70% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -15px, 0); }
  90% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -4px, 0); } }
.slide-in {
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .slide-in.is-inview {
    opacity: 1;
    transform: translateY(0); }

@media screen and (max-width: 768px) {
  .slide-in-sp {
    opacity: 0;
    transform: translateY(4rem);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1); } }
@media screen and (max-width: 768px) {
  .slide-in-sp.is-inview {
    opacity: 1;
    transform: translateY(0); } }

.slide-in-parent .slide-in-item {
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
@media screen and (min-width: 769px) {
  .slide-in-parent .slide-in-item-pc {
    opacity: 0;
    transform: translateY(4rem);
    transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1), transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1); } }
.slide-in-parent.is-inview .slide-in-item {
  opacity: 1;
  transform: translateY(0); }
@media screen and (min-width: 769px) {
  .slide-in-parent.is-inview .slide-in-item-pc {
    opacity: 1;
    transform: translateY(0); } }

.opacity-in {
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s; }
  .opacity-in.is-inview {
    opacity: 1; }

.rotate-in {
  opacity: 0;
  transform: rotate(-15deg) translate(-15px, 15px);
  transform-origin: right bottom;
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
  .rotate-in.is-inview {
    opacity: 1;
    transform: rotate(0deg) translate(0, 0); }

.opacity-hover {
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
  .opacity-hover.is-on {
    opacity: 0.6; }

@keyframes gradient {
  50% {
    background-position: 100% 0; } }
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
input,
textarea,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
main,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box; }

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

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

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

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

img, svg {
  vertical-align: top; }

button,
input,
textarea,
select {
  font-family: inherit; }

html {
  font-size: 10px; }
  @media screen and (max-width: 1520px) {
    html {
      font-size: 0.6578947368vw; } }
  @media screen and (max-width: 768px) {
    html {
      font-size: 1.3020833333vw; } }

:root {
  --vh: 0;
  --rempc1: 10px;
  --rempc2: 10px;
  --remf: 10px; }
  @media screen and (max-width: 1760px) {
    :root {
      --rempc1: 0.5681818182vw; } }
  @media screen and (max-width: 1480px) {
    :root {
      --rempc2: 0.6756756757vw; } }
  @media screen and (max-width: 1920px) {
    :root {
      --remf: 0.5208333333vw; } }
  @media screen and (max-width: 1520px) {
    :root {
      --remf: 0.5208333333vw; } }
  @media screen and (max-width: 768px) {
    :root {
      --rempc1: 1.3020833333vw;
      --rempc2: 1.3020833333vw;
      --remf: 1.3020833333vw; } }

body {
  /*text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;*/
  overflow: hidden;
  color: #000;
  background: #fff;
  font-family: YakuHanJP_Noto, "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.7142857143;
  -webkit-font-smoothing: antialiased; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 1.2rem; } }
  body.is-loaded {
    overflow: auto; }
  body.is-show-modal {
    overflow: hidden; }
  @media screen and (max-width: 1520px) {
    body.is-show-nav {
      overflow: hidden; } }

a {
  outline: none;
  color: #000;
  text-decoration: underline;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  @media screen and (min-width: 769px) {
    a:hover, a:active {
      text-decoration: none; } }

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

::selection {
  background: #000;
  color: #fff; }

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

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

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

.js-fit-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

.js-disabled {
  pointer-events: none;
  opacity: 0.15; }

.layout-container {
  position: relative;
  padding-top: calc(8.5 * var(--remf)); }
  @media screen and (max-width: 768px) {
    .layout-container {
      min-width: 0;
      padding-top: 0; } }

#home .layout-container {
  padding-top: 0; }

.layout-footer {
  position: relative;
  background: #f5f5f5;
  display: flex;
  justify-content: space-between;
  height: 12rem;
  padding: 0 3rem; }
  @media screen and (max-width: 768px) {
    .layout-footer {
      flex-direction: column;
      background: #f8f8f8;
      height: auto;
      padding: 6.7rem 0 16.3rem; } }
  .layout-footer__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 0.9rem; }
    @media screen and (max-width: 768px) {
      .layout-footer__inner {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0; } }
  .layout-footer__box {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .layout-footer__box {
        margin-top: 4.2rem; } }

.layout-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 8.5rem;
  z-index: 999;
  background-color: #fff;
  transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  display: flex;
  align-items: center;
  padding: 0 0 0 3.2rem; }
  @media screen and (max-width: 768px) {
    .layout-header {
      background-color: transparent;
      justify-content: center;
      width: 100%;
      height: 10rem;
      margin-bottom: 0;
      padding: 0; } }
@keyframes no-top-anime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#home .layout-header {
  /*background-color: transparent;*/
  background-color: #fff; }
#home.is-scrolled .layout-header {
  background-color: #fff;
  transition-delay: 0.5s; }

/*.is-scrolled {
    .layout-header {
        @include mq-down() {
            background-color: $white;
            transition-delay: 0.5s;
        }

        @include mq-up() {
            opacity: 0;
            animation: no-top-anime 0.2s $easeOutSine forwards;
        }
    }
}*/
.is-show-nav .layout-header {
  background: #fff; }

/*.is-hide{
    .layout-header {
        @include mq-up() {
            opacity: 1;
            animation: hide-anime 0.2s $easeOutSine forwards;

            @keyframes hide-anime {
                0%{
                    opacity: 1;
                }
                100%{
                    opacity: 0;
                }
            }
        }
    }
}*/
/*.is-top{
    .layout-header {
        @include mq-up() {
            flex-direction: column;
            height: px2rem(130px);
            padding: px2rem(25px) 0 0;
        }
    }
}*/
.layout-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s; }

.is-loaded .layout-loading {
  opacity: 0;
  pointer-events: none; }

.logo-header {
  position: relative;
  z-index: 1;
  width: 18.4rem;
  height: 2.4rem;
  margin-top: -0.2rem; }
  @media screen and (max-width: 768px) {
    .logo-header {
      width: 27.8rem;
      height: 3.8rem;
      margin: 0; } }
  .logo-header a {
    display: block;
    width: 100%;
    height: 100%;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
    .logo-header a.is-on {
      opacity: 0.7; }
  .logo-header svg {
    fill: #000; }

/*.is-top{
    .logo-header {
        @include mq-up() {
            width: px2rem(228px);
            height: px2rem(28px);
        }
    }
}*/
.button-hamburger {
  position: absolute;
  top: 0;
  right: 0;
  width: 10rem;
  height: 10rem;
  padding: 0;
  outline: none;
  border: none;
  background: transparent;
  cursor: pointer;
  display: none; }
  @media screen and (max-width: 768px) {
    .button-hamburger {
      display: block; } }
  .button-hamburger__line {
    position: absolute;
    top: calc(50% - 0.2rem / 2);
    left: calc(50% - 4rem / 2);
    width: 4rem;
    height: 0.2rem;
    background: #000;
    transition: top 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, left 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, width 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, height 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, transform 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), border-radius 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, opacity 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
    .button-hamburger__line:nth-of-type(1) {
      top: calc(50% - 0.2rem / 2 - 1.5rem); }
    .button-hamburger__line:nth-of-type(3) {
      top: calc(50% - 0.2rem / 2 + 1.5rem); }

.is-show-nav .button-hamburger__line {
  position: absolute;
  top: calc(50% - 0.3rem / 2);
  left: calc(50% - 5rem / 2);
  width: 5rem;
  height: 0.3rem;
  transition: top 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), left 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, width 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, height 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, transform 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, border-radius 0.1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, opacity 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
  .is-show-nav .button-hamburger__line:nth-of-type(1) {
    top: 50%;
    transform: rotate(45deg); }
  .is-show-nav .button-hamburger__line:nth-of-type(2) {
    opacity: 0; }
  .is-show-nav .button-hamburger__line:nth-of-type(3) {
    top: 50%;
    transform: rotate(-45deg); }

.nav-button-content {
  position: fixed;
  right: 3rem;
  top: 0;
  display: flex;
  align-items: center;
  height: 8.5rem; }
  @media screen and (max-width: 768px) {
    .nav-button-content {
      position: relative;
      right: auto;
      top: auto;
      display: block;
      height: auto;
      margin-top: 6.8rem; } }

.nav-button {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .nav-button {
      flex-direction: column; } }
  .nav-button__item:nth-of-type(n + 2) {
    margin-left: 0.4rem; }
    @media screen and (max-width: 768px) {
      .nav-button__item:nth-of-type(n + 2) {
        margin-left: 0;
        margin-top: 3rem; } }
  .nav-button__item a {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    /*width: 15rem;*/
    height: 5rem;
    /*padding-left: 0.6rem;*/
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    border-radius: 0.4rem;
    background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
    background-size: 300% 300%; }
    @media screen and (max-width: 768px) {
      .nav-button__item a {
        width: 60.8rem;
        height: 12rem;
        border-radius: 0.8rem;
        padding-left: 3rem; } }
    .nav-button__item a.is-on {
      animation: gradient 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite; }
  .nav-button__icon {
    display: block;
    width: 1.6rem;
    height: 1.6rem; }
    @media screen and (max-width: 768px) {
      .nav-button__icon {
        width: 4.5rem;
        height: 4.4rem; } }
    .nav-button__icon img {
      width: 100%; }
    .nav-button__icon--mail {
      width: 1.7rem;
      height: 1.1rem; }
      @media screen and (max-width: 768px) {
        .nav-button__icon--mail {
          width: 5.5rem;
          height: 3.6rem; } }
    .nav-button__icon--document {
      width: 1.7rem;
      height: 1.3rem; }
      @media screen and (max-width: 768px) {
        .nav-button__icon--document {
          width: 5.4rem;
          height: 4.1rem; } }
  .nav-button__text {
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: -0.04em;
    text-align: center;
    white-space: nowrap;
    /*width: calc(100% - 4.4rem);*/
    padding-left: 0.6rem; }
    @media screen and (max-width: 768px) {
      .nav-button__text {
        font-size: 3rem;
        letter-spacing: -0.05em;
        width: calc(100% - 8.5rem); } }
    .nav-button__text span {
      letter-spacing: -0.09em; }

/*.is-top {
    .nav-button-content {
        @include mq-up() {
            right: px2rem(30px);
            top: auto;
            bottom: px2rem(20px);
            height: px2rem(70px);
        }
    }

    .nav-button {
        &__item {
            &:nth-of-type(n + 2) {
                @include mq-up() {
                    margin-left: px2rempc1(10px);
                }
            }

            a {
                @include mq-up() {
                    width: px2rempc1(266px);
                    height: px2rem(70px);
                    padding-left: px2rem(20px);
                }
            }
        }

        &__icon {
            @include mq-up() {
                width: px2rem(20px);
                height: px2rem(20px);
            }

            &--mail {
                @include mq-up() {
                    width: px2rem(22px);
                    height: px2rem(14px);
                }
            }

            &--document {
                @include mq-up() {
                    width: px2rem(22px);
                    height: px2rem(16px);
                }
            }
        }

        &__text {
            @include mq-up() {
                font-size: px2rem(18px);
                width: calc(100% - 4.2rem);
                padding-right: px2rem(20px);
            }
        }
    }
}*/
.nav-global {
  width: calc(100% - 22.8rem);
  height: 100%;
  padding: 0 0 0 2.2rem; }
  @media screen and (max-width: 768px) {
    .nav-global {
      position: absolute;
      top: 0;
      right: 0;
      flex-direction: column;
      background: #f5f5f5;
      width: 100%;
      height: 100vh;
      padding: 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); } }
  .nav-global__body {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    padding-right: 8.5rem; }
    @media screen and (max-width: 768px) {
      .nav-global__body {
        display: flex;
        flex-direction: column;
        height: auto;
        padding: 0 0 8rem; } }

@media screen and (max-width: 768px) {
  .is-show-nav .nav-global {
    opacity: 1;
    pointer-events: auto; } }

/*.is-top{
    .nav-global {
        &__body {
            @include mq-up() {
                flex-direction: column;
                align-items: center;
                height: px2rem(78px);
            }
        }
    }
}*/
.nav-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0; }
  @media screen and (max-width: 768px) {
    .nav-menu {
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      width: 100%;
      height: auto;
      padding: 13rem 8.1rem 0; } }
  .nav-menu__item {
    position: relative;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .nav-menu__item {
        width: 100%; } }
    @media screen and (min-width: 769px) {
      .nav-menu__item:nth-of-type(n + 3) {
        margin-left: 2.8rem; } }
    .nav-menu__item > a,
    .nav-menu__item > span {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: -0.07em;
      text-align: left;
      text-decoration: none;
      padding-bottom: 0.2rem;
      cursor: pointer;
      transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .nav-menu__item > a,
        .nav-menu__item > span {
          justify-content: flex-start;
          flex-direction: column;
          align-items: flex-start;
          font-size: 4rem;
          line-height: 3.25;
          font-weight: 300;
          letter-spacing: 0;
          text-align: left;
          width: 100%;
          height: auto;
          margin: 0 auto;
          padding: 0;
          border-bottom: 1px solid #dcdcdc; } }
      .nav-menu__item > a.is-on,
      .nav-menu__item > span.is-on {
        color: #6a93ef; }
      .nav-menu__item > a.is-current,
      .nav-menu__item > span.is-current {
        color: #6a93ef; }
    @media screen and (max-width: 768px) {
      .nav-menu__item > span {
        height: 13rem; } }
    @media screen and (min-width: 769px) {
      .nav-menu__item > span:after {
        display: block;
        position: absolute;
        content: '';
        left: calc(50% - 7px / 2);
        bottom: 1.6rem;
        width: 7px;
        height: 7px;
        border: solid #000;
        border-width: 0 1px 1px 0;
        transform: rotate(45deg); } }
    @media screen and (max-width: 768px) {
      .nav-menu__item > span:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: #f5f5f5;
        left: 0;
        top: 0;
        width: 100%;
        height: 12rem; } }
    @media screen and (min-width: 769px) {
      .nav-menu__item > span.is-on .nav-menu-lower {
        opacity: 1;
        pointer-events: auto;
        transition-duration: 0.3s; } }
    @media screen and (max-width: 768px) {
      .nav-menu__item > span.is-show {
        height: auto; } }
    @media screen and (max-width: 768px) {
      .nav-menu__item > span.is-show .nav-menu-lower {
        z-index: 0;
        opacity: 1;
        margin-top: -2rem;
        transform: translate(0, 0);
        transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s, transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); } }
    @media screen and (max-width: 768px) {
      .nav-menu__item > span.is-show .nav-menu__toggle-icon:before {
        transform: rotate(0deg); } }
  .nav-menu__toggle-icon {
    display: none; }
    @media screen and (max-width: 768px) {
      .nav-menu__toggle-icon {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        pointer-events: none;
        width: 3rem;
        height: 13rem; } }
    @media screen and (max-width: 768px) {
      .nav-menu__toggle-icon:after, .nav-menu__toggle-icon:before {
        display: block;
        content: '';
        background: #000;
        width: 3rem;
        height: 0.2rem; } }
    @media screen and (max-width: 768px) {
      .nav-menu__toggle-icon:before {
        transform: rotate(90deg);
        margin-bottom: -0.1rem;
        transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); } }
    @media screen and (max-width: 768px) {
      .nav-menu__toggle-icon:after {
        margin-top: -0.1rem; } }

.nav-menu-lower {
  position: absolute;
  left: calc(50% - 20vw / 2);
  top: 100%;
  display: flex;
  justify-content: center;
  width: 20vw;
  height: 6rem; }
  @media screen and (min-width: 769px) {
    .nav-menu-lower {
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); } }
  @media screen and (max-width: 768px) {
    .nav-menu-lower {
      position: relative;
      z-index: -1;
      left: auto;
      top: auto;
      display: block;
      width: 100%;
      height: auto;
      opacity: 0;
      margin-top: 0;
      padding: 0 0 2.4rem;
      transform: translate(0, -100%);
      transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.1s; } }
  .nav-menu-lower__item {
    position: relative;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .nav-menu-lower__item {
        height: auto; } }
    @media screen and (min-width: 769px) {
      .nav-menu-lower__item:nth-of-type(n + 2) {
        margin-left: 4rem; } }
    .nav-menu-lower__item > a,
    .nav-menu-lower__item > span {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 100%;
      font-size: 1.4rem;
      line-height: 2;
      letter-spacing: -0.07em;
      text-align: left;
      text-decoration: none;
      padding-bottom: 0.2rem;
      cursor: pointer;
      transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .nav-menu-lower__item > a,
        .nav-menu-lower__item > span {
          justify-content: flex-start;
          font-size: 3rem;
          line-height: 2;
          letter-spacing: 0;
          text-align: left;
          height: auto;
          margin: 0 auto;
          padding: 0 0 0 2.4rem; } }
      .nav-menu-lower__item > a.is-on,
      .nav-menu-lower__item > span.is-on {
        color: #6a93ef; }
      .nav-menu-lower__item > a.is-current,
      .nav-menu-lower__item > span.is-current {
        color: #6a93ef; }
      @media screen and (min-width: 769px) {
        .nav-menu-lower__item > a:after,
        .nav-menu-lower__item > span:after {
          display: block;
          content: '';
          width: 5px;
          height: 5px;
          border: solid #000;
          border-width: 0 1px 1px 0;
          margin-top: 3px;
          margin-left: 0.8rem;
          transform: rotate(-45deg); } }
  @media screen and (min-width: 769px) {
    .nav-menu-lower:before {
      display: block;
      position: absolute;
      z-index: -1;
      content: '';
      background: #e7e7e7;
      left: 0;
      top: 0;
      width: 100%;
      height: 6rem; } }

/*.is-top {
    .nav-menu {
        &__item {
            &:nth-of-type(n + 3) {
                @include mq-up() {
                    margin-left: px2rem(55px);
                }
            }

            > a,
            > span {
                @include mq-up() {
                    font-size: px2rem(18px);
                    line-height: (28 / 18);
                }
            }

            > span {
                &:after {
                    @include mq-up() {
                        bottom: px2rem(10px);
                    }
                }
            }
        }
    }

    .nav-menu-lower {
        @include mq-up() {
            left: calc(50% - 30vw / 2);
            width: 30vw;
        }

        &:before {
            @include mq-up() {
                top: 0;
                height: px2rem(60px);
            }
        }

        &__item {
            &:nth-of-type(n + 2) {
                @include mq-up() {
                    margin-left: px2rem(65px);
                }
            }

            > a,
            > span {
                @include mq-up() {
                    font-size: px2rem(16px);
                    line-height: (28 / 16);
                }

                &:after {
                    @include mq-up() {
                        margin-left: px2rem(16px);
                    }
                }
            }
        }
    }
}*/
.nav-sub {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0 3rem 0 0; }
  @media screen and (min-width: 769px) {
    .nav-sub {
      margin-left: 2.8rem; } }
  @media screen and (max-width: 768px) {
    .nav-sub {
      flex-wrap: wrap;
      justify-content: flex-start;
      width: 100%;
      height: auto;
      padding: 7.4rem 8.1rem 0; } }
  .nav-sub__item {
    position: relative;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .nav-sub__item {
        width: 100%;
        height: auto; } }
    @media screen and (min-width: 769px) {
      .nav-sub__item:nth-of-type(n + 2) {
        margin-left: 2.7rem; } }
    @media screen and (max-width: 768px) {
      .nav-sub__item:nth-of-type(n + 2) {
        margin-top: 0.8rem; } }
    .nav-sub__item > a,
    .nav-sub__item > span {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      font-size: 1.6rem;
      line-height: 2;
      letter-spacing: -0.07em;
      text-align: left;
      text-decoration: none;
      padding-bottom: 0.2rem;
      cursor: pointer;
      transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .nav-sub__item > a,
        .nav-sub__item > span {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          font-size: 3.4rem;
          line-height: 2.3529411765;
          font-weight: 300;
          letter-spacing: 0;
          height: auto;
          padding: 0 0 0.3rem 3.6rem; } }
      .nav-sub__item > a.is-on,
      .nav-sub__item > span.is-on {
        color: #6a93ef; }
      .nav-sub__item > a.is-current,
      .nav-sub__item > span.is-current {
        color: #6a93ef; }
      @media screen and (max-width: 768px) {
        .nav-sub__item > a:before,
        .nav-sub__item > span:before {
          display: block;
          position: absolute;
          content: '';
          left: 0;
          top: calc(50% - 1rem / 2);
          box-sizing: border-box;
          border: solid #1b2a31;
          width: 1rem;
          height: 1rem;
          border-width: 1px 1px 0 0;
          transform: rotate(45deg); } }

/*.is-top{
    .nav-sub {
        @include mq-up() {
            position: fixed;
            top: 0;
            right: 0;
            height: px2rem(70px);
        }

        &__item {
            > a,
            > span {
                @include mq-up() {
                    font-size: px2rem(16px);
                    line-height: (28 / 16);
                }
            }

            &:nth-of-type(n + 2){
                &:before{
                    @include mq-up() {
                        display: block;
                        position: absolute;
                        content: '';
                        background: $black;
                        top: calc(50% - 1.2em / 2);
                        left: px2rem(-14px);
                        width: 1px;
                        height: 1.2em;
                    }
                }
            }
        }
    }
}*/
.logo_iso {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 13rem;
  padding-bottom: 0.5rem; }
  @media screen and (max-width: 768px) {
    .logo_iso {
      width: 26rem;
      margin: 0 auto; } }
  .logo_iso figcaption {
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    white-space: nowrap;
    margin-top: 0.6rem; }
    @media screen and (max-width: 768px) {
      .logo_iso figcaption {
        font-size: 2rem;
        margin-top: 1.2rem; } }

.logo-footer {
  width: 33.6rem;
  height: 6.1rem;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .logo-footer {
      width: 34.7rem;
      height: 6.4rem; } }
  .logo-footer a {
    display: block;
    width: 100%;
    height: 100%;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
    .logo-footer a.is-on {
      opacity: 0.7; }

.nav-footer {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .nav-footer {
      flex-wrap: wrap;
      justify-content: center; } }
  .nav-footer__item {
    position: relative; }
    @media screen and (max-width: 768px) {
      .nav-footer__item {
        padding: 0 2.2rem;
        padding-bottom: 2.2rem; } }
    @media screen and (min-width: 769px) {
      .nav-footer__item:nth-of-type(n + 2) {
        margin-left: 1.3rem;
        padding-left: 1.4rem; } }
    .nav-footer__item:nth-of-type(n + 2):before {
      display: block;
      position: absolute;
      content: '';
      background: #000;
      left: 0;
      top: calc(50% - 1.4rem / 2);
      width: 1px;
      height: 1.4rem; }
      @media screen and (max-width: 768px) {
        .nav-footer__item:nth-of-type(n + 2):before {
          top: calc(50% - 2.2rem / 2 - 1.1rem);
          width: 0.2rem;
          height: 2.2rem; } }
    @media screen and (max-width: 768px) {
      .nav-footer__item:nth-of-type(3):before {
        display: none; } }
    .nav-footer__item a {
      display: block;
      font-size: 1.4rem;
      line-height: 2;
      text-decoration: none;
      padding-bottom: 0.15em;
      transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .nav-footer__item a {
          font-size: 2.2rem; } }
      .nav-footer__item a.is-on {
        color: #6a93ef; }

.button-pagetop {
  position: sticky;
  right: 0rem;
  bottom: 12rem;
  display: flex;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  justify-content: flex-end;
  align-items: flex-start;
  height: 0;
  padding-right: 6rem; }
  @media screen and (max-width: 768px) {
    .button-pagetop {
      bottom: 14rem;
      padding-right: 2rem; } }
  .button-pagetop a {
    position: relative;
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1b2a31;
    padding-top: 0.5rem;
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    text-decoration: none;
    transition: background-color 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
    box-shadow: 0.1rem 0.4rem 1.4rem rgba(0, 0, 0, 0.5);
    margin-top: -1rem; }
    @media screen and (max-width: 768px) {
      .button-pagetop a {
        padding-top: 1rem;
        width: 10rem;
        height: 10rem;
        margin-top: 2rem; } }
    .button-pagetop a:after {
      width: 1.4rem;
      height: 1.4rem;
      content: '';
      display: block;
      box-sizing: border-box;
      border-top: 0.2rem solid #fff;
      border-left: 0.2rem solid #fff;
      transform: rotate(45deg);
      transition: border-color 0.4s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .button-pagetop a:after {
          width: 2rem;
          height: 2rem;
          border-top: 0.25rem solid #fff;
          border-left: 0.25rem solid #fff; } }
    .button-pagetop a.is-on {
      background-color: #f5f5f5; }
      .button-pagetop a.is-on:after {
        border-color: #1b2a31; }

.is-scrolled .button-pagetop {
  opacity: 1;
  pointer-events: auto; }

.text-copyright {
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.01em;
  font-weight: 400;
  margin-top: 1.2rem; }
  @media screen and (max-width: 768px) {
    .text-copyright {
      position: absolute;
      bottom: 7.5rem;
      left: 0;
      font-size: 2rem;
      text-align: center;
      width: 100%; } }

.nav-local {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 120rem;
  margin: 0 auto;
  padding-top: 6rem; }
  @media screen and (max-width: 768px) {
    .nav-local {
      width: 100%;
      flex-wrap: wrap;
      padding-top: 8rem; } }
  .nav-local__item {
    margin: 0 1.2rem 3rem; }
    @media screen and (max-width: 768px) {
      .nav-local__item {
        margin: 0 1.2rem 3rem; } }
    .nav-local__item a {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.8rem;
      line-height: 1;
      font-weight: 700;
      text-decoration: none;
      height: 5rem;
      padding: 0 2rem;
      border-radius: 2.5rem;
      transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .nav-local__item a {
          font-size: 2.4rem;
          height: 6rem;
          border-radius: 3rem; } }
      .nav-local__item a.is-current {
        color: #fff;
        background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
        background-size: 300% 300%;
        pointer-events: none; }
      .nav-local__item a.is-on {
        color: #fff; }
        .nav-local__item a.is-on:after {
          opacity: 1; }
      .nav-local__item a > * {
        position: relative;
        z-index: 2; }
      .nav-local__item a:before {
        display: block;
        position: absolute;
        z-index: -2;
        content: '';
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.25); }
        @media screen and (max-width: 768px) {
          .nav-local__item a:before {
            border-radius: 3rem; } }
      .nav-local__item a:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: linear-gradient(to right, #22404e, #10252f);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          .nav-local__item a:after {
            border-radius: 3rem; } }

/*.section-common {
  margin-top: -17rem; }*/
  /*@media screen and (max-width: 768px) {
    .section-common {
      margin-top: -20rem; } }*/
  .section-common__contact {
    background: url(../img/common/bg_contact.jpg) no-repeat center center;
    background-size: cover;
    padding: 9rem 0 8.3rem; }
    @media screen and (max-width: 768px) {
      .section-common__contact {
        position: relative;
        background: none;
        padding: 0; } }
    @media screen and (max-width: 768px) {
      .section-common__contact:before {
        display: block;
        position: sticky;
        z-index: -1;
        content: '';
        top: 0;
        left: 0;
        background: url(../img/common/bg_contact@sp.jpg) no-repeat center bottom;
        background-size: cover;
        width: 100%;
        height: 100vh; } }
    .section-common__contact .section-common__heading {
      color: #fff;
      font-size: 3.4rem;
      line-height: 1.6470588235;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .section-common__contact .section-common__heading {
          font-size: 4rem;
          line-height: 1.9;
          margin-top: calc(32rem - 100vh); } }
    .section-common__contact .section-common-tel {
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      margin-top: 3.5rem; }
      @media screen and (max-width: 768px) {
        .section-common__contact .section-common-tel {
          flex-direction: column;
          margin-top: 7.6rem;
          padding-bottom: 13.6rem; } }
      .section-common__contact .section-common-tel__text {
        font-size: 1.4rem;
        line-height: 2.3571428571;
        letter-spacing: -0.01em;
        font-weight: 500; }
        @media screen and (max-width: 768px) {
          .section-common__contact .section-common-tel__text {
            font-size: 3rem;
            line-height: 1; } }
      .section-common__contact .section-common-tel__number {
        font-size: 3rem;
        line-height: 2;
        font-weight: 700;
        margin-left: 0.8rem; }
        @media screen and (max-width: 768px) {
          .section-common__contact .section-common-tel__number {
            font-size: 7rem;
            line-height: 1;
            margin-left: 0;
            margin-top: 1.6rem; } }
    .section-common__contact .list-contact {
      display: flex;
      width: 120rem;
      margin: 4rem auto 0; }
      @media screen and (max-width: 768px) {
        .section-common__contact .list-contact {
          flex-direction: column;
          width: 60rem;
          margin-top: 6.5rem; } }
      .section-common__contact .list-contact__item {
        position: relative;
        width: 36rem; }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__item {
            width: 100%; } }
        @media screen and (min-width: 769px) {
          .section-common__contact .list-contact__item:nth-of-type(n + 2) {
            margin-left: calc((100% - 36rem * 3) / 2); } }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__item:nth-of-type(n + 2) {
            margin-top: 6rem; } }
        .section-common__contact .list-contact__item a {
          position: relative;
          z-index: 2;
          background-size: 300% 300%;
          display: flex;
          flex-direction: column;
          align-items: center;
          text-decoration: none;
          width: 100%;
          padding: 2.6rem 3.8rem 3.4rem;
          border-radius: 0.4rem; }
          @media screen and (max-width: 768px) {
            .section-common__contact .list-contact__item a {
              padding: 4.5rem 4.6rem 4.2rem;
              border-radius: 0.8rem; } }
          .section-common__contact .list-contact__item a > * {
            position: relative;
            z-index: 2; }
          .section-common__contact .list-contact__item a.is-on + .list-contact__frame {
            transform: scale(0.97);
            transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__item:nth-of-type(1) .list-contact__image img {
            width: 22rem;
            height: 16.8rem; } }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__item:nth-of-type(2) .list-contact__image img {
            width: 19.6rem;
            height: 19.6rem; } }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__item:nth-of-type(3) .list-contact__image img {
            width: 19rem;
            height: 14.3rem; } }
      .section-common__contact .list-contact__frame {
        position: absolute;
        z-index: 1;
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 0.4rem;
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__frame {
            border-radius: 0.8rem; } }
      .section-common__contact .list-contact__heading {
        font-size: 2.4rem;
        line-height: 1.375;
        font-weight: 700; }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__heading {
            font-size: 5rem;
            line-height: 1.375; } }
      .section-common__contact .list-contact__image {
        display: flex;
        align-items: center;
        height: 17.2rem;
        padding-top: 0.8rem; }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__image {
            height: 27rem;
            padding-top: 1rem; } }
      .section-common__contact .list-contact__text {
        font-size: 1.6rem;
        line-height: 1.875;
        letter-spacing: -0.01em;
        width: 100%; }
        @media screen and (max-width: 768px) {
          .section-common__contact .list-contact__text {
            font-size: 3rem;
            line-height: 2; } }
  .section-common__breadcrumb {
    background: #f5f5f5;
    height: 4rem;
    padding: 0 3.8rem; }
    @media screen and (max-width: 768px) {
      .section-common__breadcrumb {
        display: none; } }
    .section-common__breadcrumb .list-breadcramb {
      display: flex;
      align-items: center;
      height: 100%; }
      .section-common__breadcrumb .list-breadcramb__item {
        position: relative; }
        .section-common__breadcrumb .list-breadcramb__item:nth-of-type(n + 2) {
          margin-left: 1.1rem;
          padding-left: 1.9rem; }
          .section-common__breadcrumb .list-breadcramb__item:nth-of-type(n + 2):before {
            display: block;
            position: absolute;
            content: '';
            left: 0;
            top: calc(50% - 0.6rem / 2);
            width: 0.6rem;
            height: 0.6rem;
            box-sizing: border-box;
            border: solid #8c8c8c;
            border-width: 1px 1px 0 0;
            transform: rotate(45deg); }
        .section-common__breadcrumb .list-breadcramb__item:last-of-type {
          pointer-events: none; }
          .section-common__breadcrumb .list-breadcramb__item:last-of-type a {
            color: #000; }
            .section-common__breadcrumb .list-breadcramb__item:last-of-type a:before {
              display: none; }
        .section-common__breadcrumb .list-breadcramb__item a {
          color: #8c8c8c;
          position: relative;
          font-size: 1.4rem;
          line-height: 2.4285714286;
          text-decoration: none;
          padding-bottom: 1px; }
          .section-common__breadcrumb .list-breadcramb__item a:before {
            display: block;
            position: absolute;
            content: '';
            background: #8c8c8c;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 1px; }
          .section-common__breadcrumb .list-breadcramb__item a.is-on:before {
            opacity: 0; }
  .section-common__feature {
    padding: 6rem 0; }
    @media screen and (max-width: 768px) {
      .section-common__feature {
        padding: 6rem 4rem 8rem; } }
    .section-common__feature .list-feature {
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 768px) {
        .section-common__feature .list-feature {
          flex-direction: column; } }
      .section-common__feature .list-feature__item {
        position: relative;
        display: flex;
        align-items: center; }
        .section-common__feature .list-feature__item:nth-of-type(n + 2) {
          margin-left: 4.4rem;
          padding-left: 4.5rem; }
          @media screen and (max-width: 768px) {
            .section-common__feature .list-feature__item:nth-of-type(n + 2) {
              margin-left: 0;
              padding-left: 0;
              margin-top: 3.2rem;
              padding-top: 4.2rem; } }
          .section-common__feature .list-feature__item:nth-of-type(n + 2):before {
            display: block;
            position: absolute;
            content: '';
            background: #000;
            left: 0;
            top: 0;
            height: 11rem;
            width: 1px; }
            @media screen and (max-width: 768px) {
              .section-common__feature .list-feature__item:nth-of-type(n + 2):before {
                background: #e6e6e6;
                width: 100%;
                height: 0.2rem; } }
      .section-common__feature .list-feature__image {
        width: 11rem; }
        @media screen and (max-width: 768px) {
          .section-common__feature .list-feature__image {
            width: 18rem; } }
      .section-common__feature .list-feature__box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-bottom: 0.5rem; }
        @media screen and (max-width: 768px) {
          .section-common__feature .list-feature__box {
            padding-bottom: 0;
            padding-top: 0.6rem; } }
      .section-common__feature .list-feature__heading, .section-common__feature .list-feature__text {
        width: 27.2rem;
        padding-left: 2rem; }
        @media screen and (max-width: 768px) {
          .section-common__feature .list-feature__heading, .section-common__feature .list-feature__text {
            width: 50.8rem;
            padding-left: 4rem; } }
      .section-common__feature .list-feature__heading {
        font-size: 2rem;
        line-height: 1.65;
        font-weight: 700;
        white-space: nowrap; }
        @media screen and (max-width: 768px) {
          .section-common__feature .list-feature__heading {
            font-size: 3rem;
            line-height: 1.5; } }
      .section-common__feature .list-feature__text {
        font-size: 1.4rem;
        line-height: 1.5;
        letter-spacing: 0.01em;
        font-weight: 500; }
        @media screen and (max-width: 768px) {
          .section-common__feature .list-feature__text {
            font-size: 2.4rem;
            line-height: 1.5;
            margin-top: 0.8rem; } }
  .section-common__about {
    position: relative;
    color: #fff;
    background: #1b2a31;
    padding: 9.5rem 0 10rem; }
    @media screen and (max-width: 768px) {
      .section-common__about {
        padding: 13rem 0 12.2rem; } }
    .section-common__about .section-common__inner {
      position: relative;
      z-index: 1;
      width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        .section-common__about .section-common__inner {
          display: flex;
          flex-direction: column;
          width: 70.8rem; } }
      .section-common__about .section-common__inner:before {
        display: block;
        position: absolute;
        z-index: 2;
        content: '';
        right: calc(50% - 60rem);
        top: -6.6rem;
        background: url(../img/common/img_about.svg) no-repeat center center;
        width: 37.9rem;
        height: 17.8rem; }
        @media screen and (max-width: 768px) {
          .section-common__about .section-common__inner:before {
            position: relative;
            top: auto;
            right: auto;
            order: 1;
            width: 56.9rem;
            height: 26.6rem;
            margin: 7.2rem auto 0; } }
    .section-common__about .section-common__heading {
      font-size: 4.6rem;
      line-height: 1;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        .section-common__about .section-common__heading {
          font-size: 6rem;
          text-align: center;
          order: 0; } }
    .section-common__about .section-common__subheading {
      font-size: 3.4rem;
      line-height: 1;
      font-weight: 700;
      margin-top: 4.5rem; }
      @media screen and (max-width: 768px) {
        .section-common__about .section-common__subheading {
          font-size: 4rem;
          line-height: 1.5;
          letter-spacing: 0.01em;
          margin-top: 7.6rem;
          order: 2; } }
    .section-common__about .section-common__text {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 4.5rem; }
      @media screen and (max-width: 768px) {
        .section-common__about .section-common__text {
          font-size: 3rem;
          line-height: 2;
          margin-top: 6.4rem;
          order: 2; } }
      .section-common__about .section-common__text + .section-common__text {
        margin-top: 2.125em; }
        @media screen and (max-width: 768px) {
          .section-common__about .section-common__text + .section-common__text {
            margin-top: 2em; } }
    .section-common__about .section-common__button-list {
      display: flex;
      margin-top: 4.1rem; }
      @media screen and (max-width: 768px) {
        .section-common__about .section-common__button-list {
          flex-direction: column;
          margin-top: 8rem;
          order: 2; } }
    @media screen and (max-width: 768px) {
      .section-common__about .section-common__button {
        display: flex;
        justify-content: center; } }
    @media screen and (min-width: 769px) {
      .section-common__about .section-common__button:nth-of-type(n + 2) {
        margin-left: 2rem; } }
    @media screen and (max-width: 768px) {
      .section-common__about .section-common__button:nth-of-type(n + 2) {
        margin-top: 5rem; } }
    .section-common__about .section-common__button a {
      position: relative;
      background: #fff;
      background: linear-gradient(to right, #fff, #fff, #84a6f3, #6a93ef);
      background-size: 300% 300%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.4rem;
      line-height: 2;
      letter-spacing: 0.08em;
      font-weight: 500;
      text-decoration: none;
      width: 26rem;
      height: 5rem;
      border-radius: 0.4rem; }
      @media screen and (max-width: 768px) {
        .section-common__about .section-common__button a {
          font-size: 3rem;
          line-height: 1.8666666667;
          width: 52rem;
          height: 10rem;
          border-radius: 0.8rem; } }
      .section-common__about .section-common__button a:before {
        display: block;
        position: absolute;
        content: '';
        background: #0e1d24;
        top: 1rem;
        left: 1rem;
        width: 100%;
        height: 100%;
        border-radius: 0.4rem;
        z-index: -1;
        transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          .section-common__about .section-common__button a:before {
            top: 2rem;
            left: 2rem;
            border-radius: 0.8rem; } }
      .section-common__about .section-common__button a.is-on {
        animation: gradient 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite; }
        .section-common__about .section-common__button a.is-on:before {
          transform: translate(-0.7rem, -0.7rem); }
          @media screen and (max-width: 768px) {
            .section-common__about .section-common__button a.is-on:before {
              transform: translate(-1.4rem, -1.4rem); } }

#faq .section-common,
#service .section-common,
#solution .section-common,
#news_detail .section-common,
#privacy .section-common {
  margin-top: 0; }
  #faq .section-common__contact,
  #service .section-common__contact,
  #solution .section-common__contact,
  #news_detail .section-common__contact,
  #privacy .section-common__contact {
    padding-top: 9rem; }
    @media screen and (max-width: 768px) {
      #faq .section-common__contact,
      #service .section-common__contact,
      #solution .section-common__contact,
      #news_detail .section-common__contact,
      #privacy .section-common__contact {
        padding-top: 0; } }
    @media screen and (max-width: 768px) {
      #faq .section-common__contact .section-common__heading,
      #service .section-common__contact .section-common__heading,
      #solution .section-common__contact .section-common__heading,
      #news_detail .section-common__contact .section-common__heading,
      #privacy .section-common__contact .section-common__heading {
        margin-top: calc(12rem - 100vh); } }

.section-top {
  position: relative;
  background: #f5f5f5; }
  @media screen and (max-width: 768px) {
    .section-top {
      padding-top: 10rem; } }
  .section-top__image {
    width: 100%;
    height: calc(36 * var(--rempc2)); }
    @media screen and (max-width: 768px) {
      .section-top__image {
        width: 100%;
        height: 50rem; } }
  .section-top__box {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .section-top__box {
        padding-top: 10rem; } }
    .section-top__box--text-white {
      color: #fff; }
  .section-top__heading {
    font-size: 4.6rem;
    line-height: 1.3043478261;
    text-align: center;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .section-top__heading {
        font-size: 6rem;
        line-height: 1.3333333333; } }
  .section-top--lower .section-top__image {
    position: absolute;
    right: calc(50% - 120rem / 2);
    top: 0;
    display: flex;
    align-items: center;
    width: 54.5rem;
    height: auto; }
    @media screen and (max-width: 768px) {
      .section-top--lower .section-top__image {
        right: 0;
        top: calc(100% - 35rem);
        width: 100%;
        height: 35rem; } }
  .section-top--lower .section-top__box {
    position: relative;
    left: auto;
    top: auto;
    flex-direction: column;
    align-items: flex-start;
    width: 120rem;
    height: auto;
    margin: 0 auto;
    padding: 4.5rem 60rem 5rem 0; }
    @media screen and (max-width: 768px) {
      .section-top--lower .section-top__box {
        width: 100%;
        padding: 6.4rem 2.2rem 42rem 4rem; } }
  .section-top--lower .section-top__heading-text {
    font-size: 3.4rem;
    line-height: 1.6470588235;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .section-top--lower .section-top__heading-text {
        font-size: 3.4rem;
        line-height: 1.7647058824; } }
  .section-top--lower .section-top__heading-logo {
    line-height: 0;
    margin-top: 1.2rem; }
  .section-top--lower .section-top__copy {
    font-size: 3.4rem;
    line-height: 1.6470588235;
    font-weight: 700;
    white-space: nowrap;
    margin-top: 2.8rem; }
    @media screen and (max-width: 768px) {
      .section-top--lower .section-top__copy {
        font-size: 3.6rem;
        line-height: 1.6666666667;
        margin-top: 4rem; } }
  .section-top--lower .section-top__text {
    font-size: 1.6rem;
    line-height: 2.125;
    letter-spacing: 0.06em;
    width: 100%;
    margin-top: 2.5rem; }
    @media screen and (max-width: 768px) {
      .section-top--lower .section-top__text {
        font-size: 3rem;
        line-height: 2;
        letter-spacing: 0.04em;
        margin-top: 2.8rem; } }
  .section-top--lower.section-top--service {
    margin-bottom: 4.8rem; }
    @media screen and (max-width: 768px) {
      .section-top--lower.section-top--service {
        margin-bottom: 12.8rem; } }
    .section-top--lower.section-top--service .section-top__image {
      display: block;
      right: 0;
      width: calc(50% - 5.5rem);
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .section-top--lower.section-top--service .section-top__image {
          width: 100%;
          height: 50rem;
          padding-left: 7.2rem;
          margin-top: -1.4rem; } }
      .section-top--lower.section-top--service .section-top__image picture {
        display: block;
        width: 98.7rem;
        margin-top: 3.8rem; }
        @media screen and (max-width: 768px) {
          .section-top--lower.section-top--service .section-top__image picture {
            width: 81.8rem;
            margin-top: 0; } }
    .section-top--lower.section-top--service .section-top__heading-logo {
      width: 39.6rem;
      height: 9.6rem;
      margin-top: 1.2rem; }
      @media screen and (max-width: 768px) {
        .section-top--lower.section-top--service .section-top__heading-logo {
          margin-top: 1rem; } }
      .section-top--lower.section-top--service .section-top__heading-logo--sharer {
        width: 38.6rem; }

.section-content--concept {
  padding: 0 0 9.2rem; }
.section-content--offwhite-navy {
  position: relative; }
  .section-content--offwhite-navy:before {
    display: block;
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    background: #f4f6fb;
    width: 100%;
    height: 100%;
    z-index: -1; }
.section-content--offwhite {
  position: relative; }
  .section-content--offwhite:before {
    display: block;
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    width: 100%;
    height: 100%;
    z-index: -1; }
.section-content--bg-block-offwhite-navy {
  position: relative; }
  .section-content--bg-block-offwhite-navy:before {
    display: block;
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    background: #f4f6fb;
    width: 100%;
    height: 21rem; }
    @media screen and (max-width: 768px) {
      .section-content--bg-block-offwhite-navy:before {
        height: 25rem; } }
.section-content--bg-block-white {
  position: relative; }
  .section-content--bg-block-white:before {
    display: block;
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    background: #fff;
    width: 100%;
    height: 21rem; }
    @media screen and (max-width: 768px) {
      .section-content--bg-block-white:before {
        height: 25rem; } }
.section-content--padding-bottom {
  padding-bottom: 10rem; }
.section-content--padding-bottom-large {
  padding-bottom: 10rem; }
  @media screen and (max-width: 768px) {
    .section-content--padding-bottom-large {
      padding-bottom: 25rem; } }
.section-content--padding-bottom-short {
  padding-bottom: 7rem; }
.section-content__heading {
  font-size: 4.6rem;
  line-height: 1.3043478261;
  text-align: center;
  font-weight: 700;
  padding-top: 9rem; }
  @media screen and (max-width: 768px) {
    .section-content__heading {
      font-size: 5.4rem;
      line-height: 1.2962962963;
      padding-top: 8.8rem; } }
  .section-content__heading + .section-content__text {
    margin-top: 4.2rem; }
    @media screen and (max-width: 768px) {
      .section-content__heading + .section-content__text {
        margin-top: 3rem; } }
  .section-content__heading + .section-content__subheading {
    padding-top: 7rem; }
    @media screen and (max-width: 768px) {
      .section-content__heading + .section-content__subheading {
        padding-top: 8rem; } }
  .section-content__heading + .section-content__inner .section-content__text {
    margin-top: 4.2rem; }
    @media screen and (max-width: 768px) {
      .section-content__heading + .section-content__inner .section-content__text {
        margin-top: 3rem; } }
  .section-content__heading--small {
    font-size: 3.4rem;
    line-height: 1.6470588235; }
    @media screen and (max-width: 768px) {
      .section-content__heading--small {
        font-size: 4.4rem;
        line-height: 1.5; } }
  @media screen and (max-width: 768px) {
    .section-content__heading--large-sp {
      font-size: 6rem;
      line-height: 1.3333333333; } }
  @media screen and (max-width: 768px) {
    .section-content__heading--padding-top {
      padding-top: 12rem; } }
.section-content__subheading {
  font-size: 2.4rem;
  line-height: 2.0833333333;
  font-weight: 700;
  padding-top: 9rem; }
  @media screen and (max-width: 768px) {
    .section-content__subheading {
      font-size: 4.2rem;
      line-height: 1.5238095238;
      padding-top: 8.8rem; } }
  .section-content__subheading + .section-content__text {
    margin-top: 0.4rem; }
    @media screen and (max-width: 768px) {
      .section-content__subheading + .section-content__text {
        margin-top: 1.6rem; } }
  @media screen and (min-width: 769px) {
    .section-content__subheading--higher {
      font-size: 2.4rem;
      line-height: 1.5833333333; } }
  @media screen and (max-width: 768px) {
    .section-content__subheading--higher {
      padding-top: 12rem; } }
  .section-content__subheading--higher + .section-content__text {
    margin-top: 1.275em; }
    @media screen and (max-width: 768px) {
      .section-content__subheading--higher + .section-content__text {
        margin-top: 1.2em; } }
.section-content__text {
  font-size: 1.6rem;
  line-height: 2.125;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 768px) {
    .section-content__text {
      font-size: 3rem;
      line-height: 2; } }
  .section-content__text + .section-content__text {
    margin-top: 2.125em; }
    @media screen and (max-width: 768px) {
      .section-content__text + .section-content__text {
        margin-top: 2em; } }
  .section-content__text + .section-content__note {
    margin-top: 2.125em; }
    @media screen and (max-width: 768px) {
      .section-content__text + .section-content__note {
        margin-top: 2em; } }
  .section-content__text--padding-top {
    padding-top: 5.2rem; }
    @media screen and (max-width: 768px) {
      .section-content__text--padding-top {
        padding-top: 8rem; } }
  .section-content__text--text-align-center {
    text-align: center; }
    @media screen and (max-width: 768px) {
      .section-content__text--text-align-center {
        text-align: left; } }
.section-content__note {
  font-size: 1.2rem;
  line-height: 2.125;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 768px) {
    .section-content__note {
      font-size: 2.4rem;
      line-height: 2; } }
  .section-content__note + .section-content__note {
    margin-top: 2.125em; }
    @media screen and (max-width: 768px) {
      .section-content__note + .section-content__note {
        margin-top: 2em; } }
  .section-content__note--text-align-right {
    text-align: right; }
.section-content__inner {
  width: 120rem;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .section-content__inner {
      width: 70.8rem; } }
  .section-content__inner--border-bottom {
    padding-bottom: 3.3rem;
    border-bottom: 1px solid #dcdcdc; }
    @media screen and (max-width: 768px) {
      .section-content__inner--border-bottom {
        padding-bottom: 6rem;
        border-bottom-width: 0.2rem; } }
    .section-content__inner--border-bottom + .section-content__inner--border-bottom .section-content__subheading {
      padding-top: 2.6rem; }
      @media screen and (max-width: 768px) {
        .section-content__inner--border-bottom + .section-content__inner--border-bottom .section-content__subheading {
          padding-top: 5.8rem; } }
.section-content__image {
  width: 80rem;
  margin: 5rem auto 0; }
  @media screen and (max-width: 768px) {
    .section-content__image {
      width: 100%; } }
.section-content__button {
  margin-top: 6rem; }
  .section-content__button--center {
    display: flex;
    justify-content: center; }
  .section-content__button--solution {
    margin-top: 9.2rem;
    padding-bottom: 1rem; }
    @media screen and (max-width: 768px) {
      .section-content__button--solution {
        padding-bottom: 2rem; } }
.section-content__button-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 9.2rem;
  padding-bottom: 1rem; }
  @media screen and (max-width: 768px) {
    .section-content__button-list {
      flex-direction: column;
      align-items: center;
      padding-bottom: 2rem; } }
  .section-content__button-list .section-content__button {
    margin: 0 3rem; }
    @media screen and (max-width: 768px) {
      .section-content__button-list .section-content__button {
        margin: 0; } }
    @media screen and (max-width: 768px) {
      .section-content__button-list .section-content__button:nth-of-type(n + 2) {
        margin-top: 5.5rem; } }
.section-content__back {
  position: relative;
  display: flex;
  justify-content: flex-start;
  padding: 8rem 0 2.8rem;
  width: 120rem;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    .section-content__back {
      border-bottom: 1px solid #dcdcdc; } }
  @media screen and (max-width: 768px) {
    .section-content__back {
      flex-wrap: wrap;
      width: 100%;
      padding: 0 0 3.2rem;
      border-bottom-width: 0.2rem; } }
  @media screen and (max-width: 768px) {
    .section-content__back:before {
      display: block;
      content: '';
      background: #f5f5f5;
      width: 100%;
      height: 10rem; } }
  @media screen and (max-width: 768px) {
    .section-content__back:after {
      display: block;
      position: absolute;
      content: '';
      left: calc(50% - 70.8rem / 2);
      bottom: 0;
      background: #dcdcdc;
      width: 70.8rem;
      height: 0.2rem; } }
  .section-content__back a {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.6071428571;
    font-weight: 700;
    text-decoration: none;
    padding-left: 4rem;
    transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
    @media screen and (max-width: 768px) {
      .section-content__back a {
        font-size: 2.6rem;
        line-height: 1.0769230769;
        width: 70.8rem;
        margin: 5.4rem auto 0; } }
    .section-content__back a:before {
      display: flex;
      position: absolute;
      left: 0.2rem;
      top: calc(50% - 1rem / 2);
      content: '';
      width: 1rem;
      height: 1rem;
      box-sizing: border-box;
      border: solid #000;
      border-width: 1px 1px 0 0;
      transform: rotate(-135deg);
      transition: border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .section-content__back a:before {
          left: 0.5rem;
          top: calc(50% - 2rem / 2);
          width: 2rem;
          height: 2rem;
          border-width: 0.3rem 0.3rem 0 0; } }
    .section-content__back a.is-on {
      color: #6a93ef; }
      .section-content__back a.is-on:before {
        border-color: #6a93ef; }
.section-content__float-box {
  position: relative;
  background: #fbfbfb;
  width: calc(174 * var(--rempc1));
  margin: 10rem auto -17rem;
  padding: 6.5rem 0 5rem;
  border-radius: 0.8rem;
  box-shadow: 0 4rem 6rem rgba(27, 42, 49, 0.2); }
  @media screen and (max-width: 768px) {
    .section-content__float-box {
      width: 72rem;
      margin: 15rem auto -17rem;
      padding: 3rem 3.6rem 1.4rem;
      border-radius: 1.6rem; } }
  .section-content__float-box--middle-of-page {
    margin: 0 auto;
    padding-bottom: 8rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--middle-of-page {
        padding-left: 2.6rem;
        padding-right: 2.6rem;
        padding-bottom: 3.2rem; } }
  .section-content__float-box--plan {
    margin-top: 10rem;
    padding: 8.5rem 0 6rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--plan {
        margin: 8rem auto 0;
        padding: 5rem 2rem 8rem; } }
  .section-content__float-box--blog {
    margin-top: 6rem;
    padding: 5rem 0 8rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--blog {
        margin: 8rem auto 0;
        padding-left: 2rem;
        padding-right: 2rem;
        padding-bottom: 10.4rem; } }
  .section-content__float-box--blog-detail {
    margin-top: 11rem;
    padding: 6.5rem 0 8rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--blog-detail {
        margin: 10rem auto 0;
        padding: 3rem 3.6rem 5rem; } }
  .section-content__float-box--movie {
    padding: 10rem 0 10rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--movie {
        margin: 8rem auto 0;
        padding-left: 3.4rem;
        padding-right: 3.4rem;
        padding-bottom: 10.4rem; } }
  .section-content__float-box--news {
    margin-top: 6rem;
    padding: 5rem 0 8rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--news {
        margin: 8rem auto 0;
        padding-left: 2rem;
        padding-right: 2rem;
        padding-bottom: 10.4rem; } }
  .section-content__float-box--news-detail {
    margin-top: 11rem;
    padding: 6.5rem 0 8rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--news-detail {
        margin: 10rem auto 0;
        padding: 3rem 3.6rem 5rem; } }
  .section-content__float-box--contact {
    margin-top: 10rem;
    padding: 8.5rem 0 11.4rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--contact {
        margin: 8rem auto 0;
        padding: 5rem 2rem 12rem; } }
  .section-content__float-box--detail {
    margin-top: 7rem;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--detail {
        margin: 8rem auto 0; } }
  .section-content__float-box--navy {
    background: linear-gradient(to right, #22404e, #10252f); }
    .section-content__float-box--navy .section-content__heading {
      color: #fff; }
  .section-content__float-box--transparent {
    background: transparent;
    box-shadow: none; }
  .section-content__float-box--margin-top-20 {
    margin-top: 2rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box--margin-top-20 {
        margin-top: 6rem; } }
  .section-content__float-box .section-content__float-inner {
    width: 120rem;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .section-content__float-box .section-content__float-inner {
        width: 100%; } }
  .section-content__float-box .section-content__heading {
    padding-top: 0.5rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box .section-content__heading {
        padding-top: 4.6rem; } }
  .section-content__float-box .section-content__float-heading {
    font-size: 3rem;
    line-height: 1.8666666667;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .section-content__float-box .section-content__float-heading {
        font-size: 5rem;
        letter-spacing: -0.02em;
        white-space: nowrap; } }
  .section-content__float-box .list-service-float {
    display: flex;
    margin-top: 4rem; }
    @media screen and (max-width: 768px) {
      .section-content__float-box .list-service-float {
        display: block; } }
    .section-content__float-box .list-service-float__item {
      width: 36rem;
      padding-bottom: 2.4rem; }
      @media screen and (max-width: 768px) {
        .section-content__float-box .list-service-float__item {
          width: 100%; } }
      @media screen and (min-width: 769px) {
        .section-content__float-box .list-service-float__item:nth-of-type(n + 2) {
          margin-left: calc((100% - 36rem * 3) / 2); } }
      @media screen and (max-width: 768px) {
        .section-content__float-box .list-service-float__item:nth-of-type(n + 2) {
          margin-top: 4rem; } }
      @media screen and (min-width: 769px) {
        .section-content__float-box .list-service-float__item:nth-of-type(3n) {
          transition-delay: 0.2s; } }
      @media screen and (min-width: 769px) {
        .section-content__float-box .list-service-float__item:nth-of-type(3n - 1) {
          transition-delay: 0.1s; } }
      .section-content__float-box .list-service-float__item a {
        display: block;
        text-decoration: none; }
        .section-content__float-box .list-service-float__item a.is-on .list-service-float__image img {
          transform: scale(1.04);
          transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    .section-content__float-box .list-service-float__image {
      overflow: hidden;
      border-radius: 0.6rem; }
      @media screen and (max-width: 768px) {
        .section-content__float-box .list-service-float__image {
          border-radius: 1.2rem; } }
      .section-content__float-box .list-service-float__image img {
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    .section-content__float-box .list-service-float__heading {
      font-size: 2rem;
      line-height: 1.5;
      font-weight: 700;
      margin-top: 1.9rem; }
      @media screen and (max-width: 768px) {
        .section-content__float-box .list-service-float__heading {
          font-size: 3.6rem;
          margin-top: 2.8rem; } }
    .section-content__float-box .list-service-float__text {
      font-size: 1.6rem;
      line-height: 1.875;
      letter-spacing: -0.01em;
      margin-top: 0.7rem; }
      @media screen and (max-width: 768px) {
        .section-content__float-box .list-service-float__text {
          font-size: 3rem;
          line-height: 2;
          margin-top: 1rem; } }
    .section-content__float-box .list-service-float--image-filter .list-service-float__item a.is-on .list-service-float__image {
      filter: saturate(1) brightness(1);
      transition: filter 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    .section-content__float-box .list-service-float--image-filter .list-service-float__image {
      filter: saturate(0.2) brightness(0.8);
      transition: filter 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
.section-content .detail-text-box {
  margin-top: 7rem;
  padding: 2.6rem 3rem 2.8rem;
  border: 1px solid #000; }
  @media screen and (max-width: 768px) {
    .section-content .detail-text-box {
      margin-top: 6.4rem;
      padding: 2.4rem 3rem 3rem; } }
  .section-content .detail-text-box__heading {
    font-size: 2rem;
    line-height: 1.7;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .section-content .detail-text-box__heading {
        font-size: 3.6rem; } }
  .section-content .detail-text-box__text {
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 300;
    margin-top: 0.3rem; }
    @media screen and (max-width: 768px) {
      .section-content .detail-text-box__text {
        font-size: 3rem;
        line-height: 1.8;
        margin-top: 1.2rem; } }

.button-common {
  position: relative;
  z-index: 1; }
  .button-common a,
  .button-common button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: relative;
    color: #fff;
    background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
    background-size: 300% 300%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    width: 26rem;
    height: 5rem;
    padding-bottom: 0.2rem;
    border-radius: 0.4rem;
    pointer-events: auto; }
    @media screen and (max-width: 768px) {
      .button-common a,
      .button-common button {
        font-size: 3rem;
        width: 52rem;
        height: 10rem;
        padding-bottom: 0.4rem;
        border-radius: 0.8rem; } }
    .button-common a:before,
    .button-common button:before {
      display: block;
      position: absolute;
      content: '';
      background: #c8d6de;
      top: 1rem;
      left: 1rem;
      width: 100%;
      height: 100%;
      border-radius: 0.4rem;
      z-index: -1;
      transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        .button-common a:before,
        .button-common button:before {
          top: 2rem;
          left: 2rem;
          border-radius: 0.8rem; } }
    .button-common a.is-on,
    .button-common button.is-on {
      animation: gradient 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite; }
      .button-common a.is-on:before,
      .button-common button.is-on:before {
        transform: translate(-0.7rem, -0.7rem); }
        @media screen and (max-width: 768px) {
          .button-common a.is-on:before,
          .button-common button.is-on:before {
            transform: translate(-1.4rem, -1.4rem); } }
  .button-common--white a,
  .button-common--white button {
    color: #000;
    background: linear-gradient(to right, #fff, #fff, #84a6f3, #6a93ef);
    background-size: 300% 300%;
    transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
    .button-common--white a:before,
    .button-common--white button:before {
      background: #0e1d24; }
  .button-common--small a,
  .button-common--small button {
    width: 19rem;
    height: 4rem; }
    @media screen and (max-width: 768px) {
      .button-common--small a,
      .button-common--small button {
        width: 38rem;
        height: 8rem; } }
    .button-common--small a:before,
    .button-common--small button:before {
      top: 0.6rem;
      left: 0.6rem; }
      @media screen and (max-width: 768px) {
        .button-common--small a:before,
        .button-common--small button:before {
          top: 1.2rem;
          left: 1.2rem; } }
    .button-common--small a.is-on,
    .button-common--small button.is-on {
      animation: gradient 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite; }
      .button-common--small a.is-on:before,
      .button-common--small button.is-on:before {
        transform: translate(-0.5rem, -0.5rem); }
        @media screen and (max-width: 768px) {
          .button-common--small a.is-on:before,
          .button-common--small button.is-on:before {
            transform: translate(-1rem, -1rem); } }
  .button-common--small-table a,
  .button-common--small-table button {
    width: 19rem;
    height: 4rem; }
    @media screen and (max-width: 768px) {
      .button-common--small-table a,
      .button-common--small-table button {
        font-size: 2.4rem;
        width: 26rem;
        height: 5rem; } }
    .button-common--small-table a:before,
    .button-common--small-table button:before {
      top: 0.6rem;
      left: 0.6rem; }
      @media screen and (max-width: 768px) {
        .button-common--small-table a:before,
        .button-common--small-table button:before {
          top: 1rem;
          left: 1rem; } }
    .button-common--small-table a.is-on,
    .button-common--small-table button.is-on {
      animation: gradient 5s cubic-bezier(0.39, 0.575, 0.565, 1) infinite; }
      .button-common--small-table a.is-on:before,
      .button-common--small-table button.is-on:before {
        transform: translate(-0.5rem, -0.5rem); }
        @media screen and (max-width: 768px) {
          .button-common--small-table a.is-on:before,
          .button-common--small-table button.is-on:before {
            transform: translate(-0.7rem, -0.7rem); } }
  .button-common--confirm a,
  .button-common--confirm button {
    width: 34rem; }
    @media screen and (max-width: 768px) {
      .button-common--confirm a,
      .button-common--confirm button {
        width: 52rem; } }
  .button-common--blank a:after,
  .button-common--blank button:after {
    display: block;
    position: absolute;
    content: '';
    background: url(../img/common/icn_blank.svg) no-repeat center center;
    background-size: contain;
    top: calc(50% - 1.1rem / 2);
    right: 1rem;
    width: 1.2rem;
    height: 1.1rem; }
    @media screen and (max-width: 768px) {
      .button-common--blank a:after,
      .button-common--blank button:after {
        top: calc(50% - 2.2rem / 2);
        right: 2rem;
        width: 2.4rem;
        height: 2.2rem; } }

.list-case-detail {
  margin-top: 4.2rem; }
  .list-case-detail__item:nth-of-type(n + 2) {
    margin-top: 2rem; }
    @media screen and (max-width: 768px) {
      .list-case-detail__item:nth-of-type(n + 2) {
        margin-top: 4rem; } }
  .list-case-detail__item a {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    text-decoration: none;
    padding: 3rem;
    border-radius: 0.8rem;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
    @media screen and (max-width: 768px) {
      .list-case-detail__item a {
        flex-direction: column;
        padding: 4rem 3.2rem 3.4rem;
        border-radius: 1.6rem; } }
    .list-case-detail__item a:before {
      display: block;
      position: absolute;
      content: '';
      right: 3rem;
      top: calc(50% - 1rem / 2);
      width: calc(1 * var(--rempc2));
      height: calc(1 * var(--rempc2));
      box-sizing: border-box;
      border: solid #1b2a31;
      border-width: 1px 1px 0 0;
      transform: rotate(45deg); }
      @media screen and (max-width: 768px) {
        .list-case-detail__item a:before {
          right: 2.4rem;
          top: calc(4rem + 33rem / 2 - 2.8rem / 2);
          width: 2.8rem;
          height: 2.8rem;
          border-width: 0.4rem 0.4rem 0 0; } }
    .list-case-detail__item a.is-on + .list-case-detail__frame {
      transform: scale(0.99, 0.96);
      transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    .list-case-detail__item a.is-on .list-case-detail__image {
      filter: saturate(1) brightness(1);
      transition: filter 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
      .list-case-detail__item a.is-on .list-case-detail__image img {
        transform: scale(1.04);
        transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
  .list-case-detail__frame {
    position: absolute;
    z-index: 1;
    background: #fff;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0.8rem;
    transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    @media screen and (max-width: 768px) {
      .list-case-detail__frame {
        border-radius: 1.6rem; } }
  .list-case-detail__image {
    display: block;
    overflow: hidden;
    width: 22.9rem;
    height: 14rem;
    border-radius: 0.6rem;
    filter: saturate(0.2) brightness(0.8);
    transition: filter 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    @media screen and (max-width: 768px) {
      .list-case-detail__image {
        width: 54rem;
        height: 33rem;
        border-radius: 1.2rem; } }
    .list-case-detail__image img {
      transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
  .list-case-detail__box {
    width: calc(100% - 22.9rem);
    padding: 0 3rem; }
    @media screen and (max-width: 768px) {
      .list-case-detail__box {
        width: 100%;
        padding: 2.8rem 0 0; } }
  .list-case-detail__heading {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .list-case-detail__heading {
        font-size: 3.6rem;
        line-height: 1.6666666667; } }
  .list-case-detail__text {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: -0.01em;
    margin-top: 0.8rem;
    padding-bottom: 0.4rem; }
    @media screen and (max-width: 768px) {
      .list-case-detail__text {
        font-size: 3rem;
        line-height: 1.8;
        margin-top: 1.6rem; } }

.list-detail-link__item:nth-of-type(n + 2) {
  margin-top: 5rem; }
  @media screen and (max-width: 768px) {
    .list-detail-link__item:nth-of-type(n + 2) {
      margin-top: 7rem; } }
.list-detail-link__item a {
  position: relative;
  z-index: 2;
  display: flex;
  text-decoration: none;
  padding: 4rem 0 4rem 4rem;
  border-radius: 0.8rem;
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
  @media screen and (max-width: 768px) {
    .list-detail-link__item a {
      flex-direction: column;
      align-items: center;
      padding: 4rem 3.6rem 4.2rem;
      border-radius: 1.6rem; } }
  .list-detail-link__item a.is-on + .list-detail-link__frame {
    transform: scale(0.99, 0.96);
    transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
  .list-detail-link__item a.is-on .list-detail-link__image img {
    transform: scale(1.04);
    transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
.list-detail-link__frame {
  position: absolute;
  z-index: 1;
  background: #fbfbfb;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 4rem 6rem rgba(27, 42, 49, 0.2);
  border-radius: 0.4rem;
  transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
  @media screen and (max-width: 768px) {
    .list-detail-link__frame {
      border-radius: 0.8rem; } }
.list-detail-link__image {
  display: block;
  overflow: hidden;
  width: 36rem;
  height: 22rem;
  border-radius: 0.6rem; }
  @media screen and (max-width: 768px) {
    .list-detail-link__image {
      width: 64.8rem;
      height: 39.6rem;
      border-radius: 1.2rem; } }
  .list-detail-link__image img {
    transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
.list-detail-link__box {
  width: calc(100% - 36rem);
  padding: 0 5rem; }
  @media screen and (max-width: 768px) {
    .list-detail-link__box {
      width: 100%;
      padding: 2.8rem 0 0; } }
.list-detail-link__heading {
  font-size: 3rem;
  line-height: 1.6666666667;
  font-weight: 700;
  margin-top: -0.06em; }
  @media screen and (max-width: 768px) {
    .list-detail-link__heading {
      font-size: 4.4rem;
      line-height: 1.6666666667; } }
.list-detail-link__text {
  font-size: 1.6rem;
  line-height: 2.125;
  margin-top: 1.2rem; }
  @media screen and (max-width: 768px) {
    .list-detail-link__text {
      font-size: 3rem;
      line-height: 1.8;
      margin-top: 1.6rem; } }
.list-detail-link--image-filter .list-detail-link__item a.is-on .list-detail-link__image {
  filter: saturate(1) brightness(1);
  transition: filter 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
.list-detail-link--image-filter .list-detail-link__image {
  filter: saturate(0.2) brightness(0.8);
  transition: filter 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
.list-detail-link--service {
  margin-top: 5rem; }
  @media screen and (max-width: 768px) {
    .list-detail-link--service {
      margin-top: 7rem; } }

.list-faq {
  margin-top: 4.2rem; }
  .list-faq__item {
    background: #fff;
    margin-bottom: 6.4rem;
    border-radius: 0.4rem;
    box-shadow: 0 3rem 4rem rgba(27, 42, 49, 0.2);
    transition: margin 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95), background-color 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95), box-shadow 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95); }
    @media screen and (max-width: 768px) {
      .list-faq__item {
        margin-bottom: 7rem;
        border-radius: 0.8rem; } }
    .list-faq__item:nth-of-type(n + 2) {
      margin-top: 3rem; }
    .list-faq__item.is-close {
      background: transparent;
      margin-bottom: 0;
      margin-top: 0.6rem;
      box-shadow: 0 0 0 rgba(27, 42, 49, 0); }
      @media screen and (max-width: 768px) {
        .list-faq__item.is-close {
          border-color: transparent transparent #6a93ef; } }
      .list-faq__item.is-close .list-faq__head-box {
        border-bottom-color: transparent;
        border-bottom-color: #e6e6e6; }
      .list-faq__item.is-close .list-faq__mark:before {
        transform: rotate(0deg); }
      .list-faq__item.is-close .list-faq__mark:after {
        transform: rotate(90deg); }
      .list-faq__item.is-close .list-faq__body {
        height: 0 !important; }
      .list-faq__item.is-close .list-faq__inner {
        opacity: 0;
        transition-delay: 0s; }
  .list-faq__head-box {
    position: relative;
    display: flex;
    align-items: center;
    padding: 1.8rem 3rem 1.8rem 3rem;
    cursor: pointer;
    border-bottom: 1px solid #fff;
    transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
    @media screen and (max-width: 768px) {
      .list-faq__head-box {
        align-items: flex-start;
        padding: 2.7rem 2.1rem 2.7rem 2.6rem;
        border-bottom-width: 0.2rem; } }
    .list-faq__head-box.is-on {
      opacity: 0.7; }
  .list-faq__heading {
    font-size: 2rem;
    line-height: 1.65;
    width: calc(100% - 1.8rem);
    padding-right: 3rem; }
    @media screen and (max-width: 768px) {
      .list-faq__heading {
        font-size: 3rem;
        line-height: 1.6666666667;
        width: calc(100% - 3.6rem);
        padding-right: 2.4rem; } }
  .list-faq__mark {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.8rem;
    height: 100%; }
    @media screen and (max-width: 768px) {
      .list-faq__mark {
        width: 3.6rem;
        height: 6.8rem; } }
    .list-faq__mark:before, .list-faq__mark:after {
      display: block;
      content: '';
      background: #000;
      width: 1.8rem;
      height: 0.2rem;
      transform: rotate(0deg);
      transition: transform 0.2s cubic-bezier(0.47, 0, 0.745, 0.715); }
      @media screen and (max-width: 768px) {
        .list-faq__mark:before, .list-faq__mark:after {
          width: 3.6rem;
          height: 0.4rem; } }
    .list-faq__mark:after {
      position: absolute;
      top: calc(50% - 0.2rem / 2);
      left: calc(50% - 1.8rem / 2);
      transform: rotate(0deg); }
      @media screen and (max-width: 768px) {
        .list-faq__mark:after {
          top: calc(50% - 0.4rem / 2);
          left: calc(50% - 3.6rem / 2); } }
  .list-faq__body {
    overflow: hidden;
    transition: height 0.3s cubic-bezier(0.47, 0, 0.745, 0.715); }
  .list-faq__inner {
    padding: 2.4rem 3rem 4.4rem 3rem;
    transition: opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
    transition-delay: 0.1s; }
    @media screen and (max-width: 768px) {
      .list-faq__inner {
        padding: 1rem 8.4rem 3.6rem 2.6rem; } }
  .list-faq__text {
    font-size: 1.6rem;
    line-height: 1.875; }
    @media screen and (max-width: 768px) {
      .list-faq__text {
        font-size: 3rem;
        line-height: 1.6666666667; } }
  .list-faq__heading, .list-faq__text {
    position: relative;
    padding-left: 4.4rem; }
    @media screen and (max-width: 768px) {
      .list-faq__heading, .list-faq__text {
        padding-left: 5.8rem; } }
    .list-faq__heading:before, .list-faq__text:before {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      color: #6a93ef;
      font-size: 2.4rem;
      line-height: 1.375;
      width: 1.6rem;
      height: 1.375em; }
      @media screen and (max-width: 768px) {
        .list-faq__heading:before, .list-faq__text:before {
          font-size: 4.4rem;
          line-height: 1.25;
          width: 3rem;
          height: 1.375em; } }
  .list-faq__heading:before {
    content: 'Q';
    top: -0.3rem; }
    @media screen and (max-width: 768px) {
      .list-faq__heading:before {
        top: -0.6rem; } }
  .list-faq__text:before {
    content: 'A';
    left: 0.2rem; }
    @media screen and (max-width: 768px) {
      .list-faq__text:before {
        top: -0.2rem;
        left: 0.4rem; } }
  .list-faq__text span {
    display: inline-block;
    width: 100%;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 1.5rem; }
    .list-faq__text span:first-child {
      margin-top: 0; }
    .list-faq__text span span {
      margin-top: 0; }
  .list-faq__text small {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.8333333333;
    width: 100%;
    margin-top: 2rem; }
    @media screen and (max-width: 768px) {
      .list-faq__text small {
        font-size: 2.4rem;
        line-height: 1.6666666667; } }
    .list-faq__text small span {
      margin-top: 0; }

#faq .list-faq {
  margin-top: 1.8rem; }
  @media screen and (max-width: 768px) {
    #faq .list-faq {
      margin-top: 3rem; } }

.list-feature-content {
  margin-top: 5rem; }
  .list-feature-content--margin-top-20 {
    margin-top: 2rem; }
  .list-feature-content__item {
    display: flex;
    padding: 2rem 2rem 2.1rem;
    border-bottom: 1px solid #dcdcdc; }
    @media screen and (max-width: 768px) {
      .list-feature-content__item {
        display: block;
        padding: 3rem 2rem 3.1rem;
        border-bottom-width: 0.2rem; } }
  .list-feature-content__heading {
    color: #6a93ef;
    font-size: 1.8rem;
    line-height: 1.8333333333;
    font-weight: 500;
    padding-right: 1rem; }
    @media screen and (max-width: 768px) {
      .list-feature-content__heading {
        font-size: 2.8rem;
        line-height: 1.7857142857;
        text-indent: -1.5em;
        padding-left: 1.5em; } }
    .list-feature-content__heading:before {
      display: inline-block;
      content: '';
      background: url(../img/common/icn_check.svg) no-repeat center center;
      background-size: contain;
      width: 2.6rem;
      height: 2.6rem;
      margin-right: 1.2rem;
      vertical-align: middle;
      margin-bottom: 0.2em; }
      @media screen and (max-width: 768px) {
        .list-feature-content__heading:before {
          width: 3.2rem;
          height: 3.2rem; } }
  .list-feature-content__text {
    font-size: 1.8rem;
    line-height: 1.8333333333;
    font-weight: 500; }
    @media screen and (max-width: 768px) {
      .list-feature-content__text {
        font-size: 2.8rem;
        line-height: 1.7857142857;
        margin-top: 1rem;
        padding-left: 1.5em; } }
    .list-feature-content__text:before {
      display: inline-block;
      content: '：';
      margin-right: 0.5rem; }
      @media screen and (max-width: 768px) {
        .list-feature-content__text:before {
          display: none; } }

.list-function-detail {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.6rem; }
  @media screen and (max-width: 768px) {
    .list-function-detail {
      justify-content: space-between; } }
  .list-function-detail--margin-top {
    margin-top: 7.2rem; }
  .list-function-detail__item {
    position: relative;
    width: 36rem;
    background: #fff;
    border-radius: 0.4rem;
    overflow: hidden;
    padding: 2.5rem 3.8rem 3.2rem;
    box-shadow: 0 3rem 5rem rgba(27, 42, 49, 0.2); }
    @media screen and (max-width: 768px) {
      .list-function-detail__item {
        width: 33.8rem;
        border-radius: 0.8rem;
        padding: 3.4rem 2.6rem 2.6rem; } }
    @media screen and (min-width: 769px) {
      .list-function-detail__item:nth-of-type(3n), .list-function-detail__item:nth-of-type(3n - 1) {
        margin-left: calc((100% - 36rem * 3) / 2); } }
    @media screen and (min-width: 769px) {
      .list-function-detail__item:nth-of-type(n + 4) {
        margin-top: 3rem; } }
    @media screen and (max-width: 768px) {
      .list-function-detail__item:nth-of-type(n + 3) {
        margin-top: 3rem; } }
    .list-function-detail__item > * {
      position: relative;
      z-index: 2; }
    .list-function-detail__item:before {
      display: block;
      position: absolute;
      z-index: 1;
      content: '';
      background: #fff;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
    @media screen and (min-width: 769px) {
      .list-function-detail__item:nth-of-type(3n - 1).is-inview {
        transition-delay: 0.1s; } }
    @media screen and (min-width: 769px) {
      .list-function-detail__item:nth-of-type(3n).is-inview {
        transition-delay: 0.2s; } }
    @media screen and (max-width: 768px) {
      .list-function-detail__item:nth-of-type(2n).is-inview {
        transition-delay: 0.1s; } }
  .list-function-detail__heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 2.4rem;
    line-height: 1.375;
    font-weight: 700;
    text-align: center;
    height: 2.75em; }
    @media screen and (max-width: 768px) {
      .list-function-detail__heading {
        align-items: center;
        font-size: 3.4rem;
        line-height: 1.4285714286;
        white-space: nowrap; } }
    .list-function-detail__heading small {
      font-size: 1.6rem;
      padding-top: 0.2rem;
      padding-bottom: 0.9rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__heading small {
          font-size: 2.4rem;
          padding-top: 0.2rem;
          padding-bottom: 0.9rem; } }
  .list-function-detail__image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12.8rem;
    padding-bottom: 0.8rem; }
    @media screen and (max-width: 768px) {
      .list-function-detail__image {
        height: 19.2rem;
        padding-bottom: 1.4rem; } }
    .list-function-detail__image img {
      width: 10.5rem;
      height: 10.5rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__image img {
          width: 14.6rem;
          height: 14.6rem; } }
    .list-function-detail__image--130 img {
      width: 13rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__image--130 img {
          width: 16.4rem; } }
  .list-function-detail__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12.8rem;
    padding-bottom: 0.8rem; }
    @media screen and (max-width: 768px) {
      .list-function-detail__logo {
        height: 19.2rem;
        padding-bottom: 1.4rem; } }
    .list-function-detail__logo--ms365 img {
      width: 18.9rem;
      height: 3.1rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__logo--ms365 img {
          width: 22.68rem;
          height: 3.72rem; } }
    .list-function-detail__logo--google img {
      width: 23.8rem;
      height: 3.1rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__logo--google img {
          width: 28.56rem;
          height: 3.72rem; } }
    .list-function-detail__logo--sales img {
      width: 15.15rem;
      height: 11rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__logo--sales img {
          width: 18.18rem;
          height: 13.2rem; } }
    .list-function-detail__logo--sansan img {
      width: 16.6rem;
      height: 6.2rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__logo--sansan img {
          width: 19.92rem;
          height: 7.44rem; } }
    .list-function-detail__logo--neo img {
      width: 23.8rem;
      height: 5.2rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__logo--neo img {
          width: 28.56rem;
          height: 6.24rem; } }
    .list-function-detail__logo--rakuraku img {
      width: 18.3rem;
      height: 6.3rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__logo--rakuraku img {
          width: 21.96rem;
          height: 7.56rem; } }
  .list-function-detail__text {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: -0.01em; }
    @media screen and (max-width: 768px) {
      .list-function-detail__text {
        font-size: 2.4rem;
        line-height: 1.8333333333; } }
    .list-function-detail__text small {
      display: inline-block;
      font-size: 1rem;
      line-height: 1.6;
      margin-top: 1.2rem; }
      @media screen and (max-width: 768px) {
        .list-function-detail__text small {
          font-size: 1.4rem;
          line-height: 1.7142857143; } }

#home {
  /* .section-visual
  ----------------------------------------------------------------- */
  /* .topics-bar
  ----------------------------------------------------------------- */
  /* .section-home
  ----------------------------------------------------------------- */ }
  #home .section-visual {
    position: relative;
    background: #f5f5f5;
    padding-top: calc(8.5 * var(--remf));
    height: calc(90 * var(--rempc1)); }
    @media screen and (max-width: 1520px) {
      #home .section-visual {
        padding-top: calc(10 * var(--remf)); } }
    @media screen and (max-width: 768px) {
      #home .section-visual {
        padding-top: 10rem;
        height: 110rem; } }
    #home .section-visual__movie {
      position: relative;
      z-index: 0;
      width: 100%;
      height: 100%;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #home .section-visual__movie {
          height: 69rem; } }
      #home .section-visual__movie video {
        display: block;
        position: absolute;
        left: calc(50% - 100% * 1 / 2);
        top: calc(50% - 200vw / 2);
        width: 100%;
        height: 200vw;
        pointer-events: none; }
    #home .section-visual__box {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      align-items: center;
      width: 100%;
      height: 100%;
      padding: 0 0 calc(1.1 * var(--rempc1)) calc(10 * var(--rempc1)); }
      @media screen and (max-width: 768px) {
        #home .section-visual__box {
          position: relative;
          top: auto;
          left: auto;
          height: 31rem;
          align-items: flex-end;
          padding: 0 0 6rem 3rem; } }
    #home .section-visual__text {
      font-size: calc(10 * var(--rempc1));
      line-height: 1.25;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #home .section-visual__text {
          font-size: 8rem;
          line-height: 1.25; } }
  #home .topics-bar {
    display: flex; }
    @media screen and (max-width: 768px) {
      #home .topics-bar {
        display: block; } }
    #home .topics-bar__heading {
      color: #1b2a31;
      font-family: "Poppins", sans-serif;
      font-size: 1.8rem;
      line-height: 1;
      font-weight: 700;
      width: 13rem;
      padding-left: 4rem;
      padding-top: 2.6rem; }
      @media screen and (max-width: 768px) {
        #home .topics-bar__heading {
          font-size: 3.4rem;
          width: 100%;
          padding-left: 3rem;
          padding-top: 4.6rem; } }
    #home .topics-bar .topics-bar-list {
      width: calc(50% - 13rem); }
      @media screen and (max-width: 768px) {
        #home .topics-bar .topics-bar-list {
          width: 100%;
          margin-top: 1.3rem; } }
      #home .topics-bar .topics-bar-list__inner {
        display: flex;
        text-decoration: none;
        padding: 2.4rem 0 1rem; }
        @media screen and (max-width: 768px) {
          #home .topics-bar .topics-bar-list__inner {
            display: block;
            padding: 1.3rem 0 1.8rem; } }
        #home .topics-bar .topics-bar-list__inner.is-on .topics-bar-list__text {
          text-decoration: underline; }
      #home .topics-bar .topics-bar-list__date {
        color: #1b2a31;
        font-size: 1.6rem;
        line-height: 1.22;
        font-weight: 700;
        white-space: nowrap;
        width: 11rem; }
        @media screen and (max-width: 768px) {
          #home .topics-bar .topics-bar-list__date {
            font-size: 3rem;
            padding-left: 3rem;
            width: auto; } }
      #home .topics-bar .topics-bar-list__text {
        font-size: 1.6rem;
        line-height: 1.44;
        font-weight: 300;
        margin-left: 1.6rem;
        margin-top: -0.16em; }
        @media screen and (max-width: 768px) {
          #home .topics-bar .topics-bar-list__text {
            font-size: 3rem;
            line-height: 1.6666666667;
            padding-left: 3rem;
            margin-left: 0;
            margin-top: 1.6rem; } }
      #home .topics-bar .topics-bar-list .slick-slide {
        line-height: 0; }
        #home .topics-bar .topics-bar-list .slick-slide > div {
          line-height: 0; }
  #home .section-home--service {
    position: relative;
    z-index: 1;
    padding: 10.3rem 0 0rem; }
    @media screen and (max-width: 768px) {
      #home .section-home--service {
        padding: 13.2rem 0 2rem; } }
    #home .section-home--service:before {
      display: block;
      position: absolute;
      z-index: 0;
      content: '';
      bottom: 0;
      left: 0;
      background: #f5f5f5;
      width: 100%;
      height: 12rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--service:before {
          height: calc(100% - 69.5rem); } }
    #home .section-home--service .section-home__heading {
      font-size: 4.6rem;
      line-height: 1.3043478261;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .section-home--service .section-home__heading {
          font-size: 6rem;
          line-height: 1.3333333333;
          text-align: center; } }
    #home .section-home--service .carousel-service {
      position: relative;
      width: calc(144.6 * var(--rempc2));
      margin: 2.6rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .section-home--service .carousel-service {
          width: 100%;
          margin-top: 4.8rem; } }
      #home .section-home--service .carousel-service__inner {
        position: relative;
        display: flex; }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service__inner {
            display: block; } }
      #home .section-home--service .carousel-service__image {
        position: absolute;
        top: 0;
        left: 0; }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service__image {
            position: relative;
            top: auto;
            left: auto;
            margin: 0 auto; } }
        #home .section-home--service .carousel-service__image--01 {
          left: calc(0.5 * var(--rempc2));
          width: calc(72 * var(--rempc2));
          height: calc(50.5 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service__image--01 {
              left: auto;
              margin-bottom: 2.2rem; } }
        #home .section-home--service .carousel-service__image--02 {
          top: auto;
          bottom: 0;
          width: calc(81.7 * var(--rempc2));
          height: calc(50.1 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service__image--02 {
              bottom: auto;
              margin-left: 1.5rem;
              margin-top: 2.6rem; } }
        #home .section-home--service .carousel-service__image--03 {
          top: auto;
          bottom: 0;
          width: calc(81.7 * var(--rempc2));
          height: calc(50.1 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service__image--03 {
              bottom: auto;
              margin-left: 1.5rem;
              margin-top: 2.6rem; } }
        #home .section-home--service .carousel-service__image--04 {
          top: auto;
          bottom: 0;
          width: calc(80.7 * var(--rempc2));
          height: calc(49.5 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service__image--04 {
              bottom: auto;
              margin-left: 1.5rem;
              margin-top: 3.4rem; } }
      #home .section-home--service .carousel-service__box {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        width: calc(120 * var(--rempc2));
        height: calc(56.8 * var(--rempc2));
        margin: 0 auto;
        padding: calc(4 * var(--rempc2)) 0 calc(15.5 * var(--rempc2)) calc(67 * var(--rempc2)); }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service__box {
            width: 70.8rem;
            height: auto;
            padding: 12.4rem 0 6rem; } }
      #home .section-home--service .carousel-service__heading {
        font-size: calc(3.4 * var(--rempc2));
        line-height: 1.5882352941;
        font-weight: 700; }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service__heading {
            font-size: 4.4rem;
            line-height: 1.5909090909; } }
      #home .section-home--service .carousel-service__text {
        font-size: calc(1.6 * var(--rempc2));
        line-height: 2.125;
        letter-spacing: 0;
        margin-top: calc(1.8 * var(--rempc2)); }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service__text {
            font-size: 3rem;
            line-height: 2;
            margin-top: 2.8rem; } }
      #home .section-home--service .carousel-service .slick-slide {
        line-height: 0; }
        #home .section-home--service .carousel-service .slick-slide > div {
          line-height: 0; }
      #home .section-home--service .carousel-service .slick-arrow {
        position: absolute;
        z-index: 1;
        bottom: calc(6.4 * var(--rempc2));
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(1 * var(--rempc2));
        height: calc(1.6 * var(--rempc2));
        cursor: pointer; }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service .slick-arrow {
            bottom: auto;
            top: 54.8rem;
            width: 3.2rem;
            height: 4.6rem; } }
        #home .section-home--service .carousel-service .slick-arrow:before {
          display: block;
          content: '';
          width: calc(1 * var(--rempc2));
          height: calc(1 * var(--rempc2));
          box-sizing: border-box;
          border: solid #1b2a31;
          border-width: 1px 1px 0 0; }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service .slick-arrow:before {
              width: 3.2rem;
              height: 3.2rem;
              border-width: 0.4rem 0.4rem 0 0; } }
        #home .section-home--service .carousel-service .slick-arrow.slick-disabled:before {
          border-color: #e6e6e6; }
        #home .section-home--service .carousel-service .slick-arrow--next {
          right: calc(50% - 60 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service .slick-arrow--next {
              right: 7.8rem; } }
          #home .section-home--service .carousel-service .slick-arrow--next:before {
            transform: rotate(45deg); }
        #home .section-home--service .carousel-service .slick-arrow--prev {
          left: calc(50% + 60 * var(--rempc2) - 26.5 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service .slick-arrow--prev {
              left: 7.8rem; } }
          #home .section-home--service .carousel-service .slick-arrow--prev:before {
            transform: rotate(-135deg); }
      #home .section-home--service .carousel-service .slick-dots {
        position: absolute;
        bottom: calc(6.4 * var(--rempc2));
        right: calc(50% - 60 * var(--rempc2));
        width: calc(26.5 * var(--rempc2));
        display: flex;
        justify-content: center; }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service .slick-dots {
            bottom: auto;
            top: 55.4rem;
            right: 0;
            width: 100%; } }
        #home .section-home--service .carousel-service .slick-dots li:nth-of-type(n + 2) {
          margin-left: calc(1.6 * var(--rempc2)); }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service .slick-dots li:nth-of-type(n + 2) {
              margin-left: 3.2rem; } }
        #home .section-home--service .carousel-service .slick-dots li button {
          background-color: transparent;
          border: none;
          cursor: pointer;
          outline: none;
          padding: 0;
          appearance: none;
          color: transparent;
          background: #e6e6e6;
          font-size: 0;
          line-height: 0;
          width: calc(0.8 * var(--rempc2));
          height: calc(0.8 * var(--rempc2));
          border-radius: 50%; }
          @media screen and (max-width: 768px) {
            #home .section-home--service .carousel-service .slick-dots li button {
              width: 1.6rem;
              height: 1.6rem; } }
        #home .section-home--service .carousel-service .slick-dots li.slick-active button {
          background: #1b2a31; }
      #home .section-home--service .carousel-service-button {
        display: flex;
        justify-content: flex-end;
        margin-top: 2.8rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--service .carousel-service-button {
            justify-content: center;
            width: 100%;
            margin-top: 6.5rem; } }
  #home .section-home--case {
    position: relative;
    z-index: 0;
    background: #f5f5f5;
    margin: 0;
    padding: 7.5rem 0 9.5rem; }
    @media screen and (max-width: 768px) {
      #home .section-home--case {
        margin: 0;
        padding: 4.6rem 0 0; } }
    #home .section-home--case .section-home__flex-box {
      display: flex;
      width: 120rem;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        #home .section-home--case .section-home__flex-box {
          position: relative;
          flex-direction: column;
          width: 100%;
          padding-bottom: 20rem; } }
    #home .section-home--case .section-home__flex-inner:nth-of-type(1) {
      width: 46rem;
      padding: 3.8rem 0 0; }
      @media screen and (max-width: 768px) {
        #home .section-home--case .section-home__flex-inner:nth-of-type(1) {
          width: 100%; } }
    #home .section-home--case .section-home__flex-inner:nth-of-type(2) {
      width: 74rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--case .section-home__flex-inner:nth-of-type(2) {
          width: 100%; } }
    #home .section-home--case .section-home__heading {
      font-size: 4.6rem;
      line-height: 1.5217391304;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #home .section-home--case .section-home__heading {
          font-size: 6rem;
          line-height: 1.3333333333;
          text-align: center; } }
    #home .section-home--case .section-home__button {
      margin-top: 3rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--case .section-home__button {
          position: absolute;
          bottom: 0;
          left: 0;
          display: flex;
          justify-content: center;
          width: 100%;
          margin-bottom: 2rem; } }
    #home .section-home--case .list-case {
      position: relative;
      display: flex; }
      @media screen and (max-width: 768px) {
        #home .section-home--case .list-case {
          width: 148rem;
          padding-top: 6.8rem;
          padding-bottom: 8.8rem; } }
      #home .section-home--case .list-case__item {
        position: relative;
        width: 24rem;
        background: #fff;
        border-radius: 0.4rem;
        overflow: hidden;
        box-shadow: 0 2rem 5rem rgba(27, 42, 49, 0.2); }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__item {
            width: 48rem;
            border-radius: 0.8rem;
            box-shadow: 0 1.5rem 5rem rgba(27, 42, 49, 0.2);
            margin-left: 3rem; } }
        #home .section-home--case .list-case__item:nth-of-type(n + 2) {
          margin-left: calc((100% - 24rem * 3) / 2); }
          @media screen and (max-width: 768px) {
            #home .section-home--case .list-case__item:nth-of-type(n + 2) {
              margin-left: 2rem; } }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__item:last-of-type {
            margin-right: 3rem; } }
        #home .section-home--case .list-case__item:before {
          display: block;
          position: absolute;
          z-index: 1;
          content: '';
          background: #fff;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%; }
        #home .section-home--case .list-case__item a {
          position: relative;
          display: block;
          z-index: 2;
          width: 100%;
          text-decoration: none; }
          #home .section-home--case .list-case__item a > * {
            position: relative;
            z-index: 2; }
          #home .section-home--case .list-case__item a.is-on .list-case__image img {
            transform: scale(1.04);
            transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
      #home .section-home--case .list-case__image {
        width: 100%;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__image {
            height: 30rem; } }
        #home .section-home--case .list-case__image img {
          transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
      #home .section-home--case .list-case__box {
        padding: 0 2rem 1.8rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__box {
            padding: 0 4rem 2.8rem; } }
      #home .section-home--case .list-case__logo {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 6.1rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__logo {
            height: 12rem; } }
        #home .section-home--case .list-case__logo img {
          max-height: 3.9rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--case .list-case__logo img {
              max-height: 8rem; } }
        #home .section-home--case .list-case__logo .suzuyo {
          width: 19.4rem;
          height: 2.6rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--case .list-case__logo .suzuyo {
              width: 38.8rem;
              height: 5.2rem; } }
        #home .section-home--case .list-case__logo .cec {
          width: 21.4rem;
          height: 2.3rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--case .list-case__logo .cec {
              width: 42.6rem;
              height: 4.4rem; } }
        #home .section-home--case .list-case__logo .yonehara {
          width: 3.9rem;
          height: 3.9rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--case .list-case__logo .yonehara {
              width: 8rem;
              height: 8rem; } }
      #home .section-home--case .list-case__heading {
        font-size: 2rem;
        line-height: 1.5;
        font-weight: 700; }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__heading {
            font-size: 4rem;
            line-height: 1.5; } }
      #home .section-home--case .list-case__text {
        font-size: 1.6rem;
        line-height: 1.75;
        letter-spacing: -0.01em;
        margin-top: 1rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--case .list-case__text {
            font-size: 3rem;
            line-height: 2;
            margin-top: 1.4rem; } }
  #home .section-home--solution {
    position: relative;
    z-index: 1;
    background: #f4f6fb;
    padding: 0 0 9.8rem; }
    @media screen and (max-width: 768px) {
      #home .section-home--solution {
        background: #f4f6fb;
        padding: 18rem 0; } }
    #home .section-home--solution:before {
      display: block;
      position: absolute;
      z-index: 0;
      content: '';
      top: 0;
      left: 0;
      background: #f5f5f5;
      width: 100%;
      height: calc(100% - 26.8rem); }
      @media screen and (max-width: 768px) {
        #home .section-home--solution:before {
          height: calc(100% - 28rem); } }
    #home .section-home--solution.is-inview .section-home__inner:before {
      opacity: 1;
      transform: translateX(0); }
    #home .section-home--solution .section-home__inner {
      position: relative;
      background: linear-gradient(to right, #22404e, #10252f);
      width: calc(174 * var(--rempc1));
      margin: 0 auto;
      padding: 8.4rem 0 10.3rem;
      border-radius: 0.8rem;
      box-shadow: 0 4rem 6rem rgba(27, 42, 49, 0.2); }
      @media screen and (max-width: 768px) {
        #home .section-home--solution .section-home__inner {
          width: 70.8rem;
          padding: 14rem 0 13.4rem;
          border-radius: 1.6rem; } }
      #home .section-home--solution .section-home__inner:before {
        display: block;
        position: absolute;
        content: '';
        left: calc(50% - 50rem);
        top: -8.9rem;
        background: url(../img/home/img_solution.svg) no-repeat center center;
        width: 16.4rem;
        height: 19.9rem;
        opacity: 0;
        transform: translateX(-4rem);
        transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.4s, transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s; }
        @media screen and (max-width: 768px) {
          #home .section-home--solution .section-home__inner:before {
            left: 5rem;
            top: -14.4rem;
            width: 21.2rem;
            height: 25.7rem;
            transition-delay: 0.2s; } }
    #home .section-home--solution .section-home__heading {
      color: #fff;
      font-size: 4.6rem;
      line-height: 1.5217391304;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .section-home--solution .section-home__heading {
          font-size: 6rem;
          line-height: 1.3333333333; } }
    #home .section-home--solution .section-home__button {
      display: flex;
      justify-content: center;
      margin-top: 4.3rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--solution .section-home__button {
          margin-top: 8rem; } }
    #home .section-home--solution .list-solution {
      position: relative;
      display: flex;
      width: 120rem;
      margin: 4.4rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .section-home--solution .list-solution {
          flex-direction: column;
          width: 62rem;
          margin-top: 4.8rem; } }
      #home .section-home--solution .list-solution__item {
        position: relative;
        width: 26rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--solution .list-solution__item {
            width: 100%; } }
        @media screen and (min-width: 769px) {
          #home .section-home--solution .list-solution__item:nth-of-type(n + 2) {
            margin-left: calc((100% - 26rem * 4) / 3); } }
        @media screen and (max-width: 768px) {
          #home .section-home--solution .list-solution__item:nth-of-type(n + 2) {
            margin-top: 8.2rem; } }
        #home .section-home--solution .list-solution__item a {
          text-decoration: none; }
      #home .section-home--solution .list-solution__image {
        display: flex;
        align-items: center;
        height: 4.8rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--solution .list-solution__image {
            justify-content: center;
            width: 9.6rem;
            height: 9.6rem; } }
        #home .section-home--solution .list-solution__image img {
          max-width: 4.8rem;
          max-height: 4.8rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--solution .list-solution__image img {
              max-width: 9.6rem;
              max-height: 9.6rem; } }
        #home .section-home--solution .list-solution__image .image01 {
          width: 4.8rem;
          height: 2.8rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--solution .list-solution__image .image01 {
              width: 9.6rem;
              height: 5.7rem; } }
        #home .section-home--solution .list-solution__image .image02 {
          width: 3.8rem;
          height: 3.8rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--solution .list-solution__image .image02 {
              width: 7.7rem;
              height: 7.7rem; } }
        #home .section-home--solution .list-solution__image .image03 {
          width: 2.5rem;
          height: 4.8rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--solution .list-solution__image .image03 {
              width: 5.1rem;
              height: 9.6rem; } }
        #home .section-home--solution .list-solution__image .image04 {
          width: 3.4rem;
          height: 4.3rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--solution .list-solution__image .image04 {
              width: 6.9rem;
              height: 8.6rem; } }
      #home .section-home--solution .list-solution__heading {
        color: #fff;
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 700;
        margin-top: 2rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--solution .list-solution__heading {
            font-size: 4rem;
            line-height: 1.65;
            margin-top: 1.8rem; } }
      #home .section-home--solution .list-solution__text {
        color: #fff;
        font-size: 1.6rem;
        line-height: 1.875;
        letter-spacing: -0.01em;
        margin-top: 0.8rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--solution .list-solution__text {
            font-size: 3rem;
            line-height: 2;
            margin-top: 1.8rem; } }
  #home .section-home--function {
    position: relative;
    z-index: 1;
    background: #f4f6fb;
    margin: 0;
    padding: 0 0 10rem; }
    @media screen and (max-width: 768px) {
      #home .section-home--function {
        margin: 0;
        padding: 9rem 0 21.4rem; } }
    #home .section-home--function:before {
      display: block;
      position: absolute;
      content: '';
      right: calc(50% - 61.4rem);
      top: -16rem;
      background: url(../img/home/img_function01.svg) no-repeat center center;
      width: 19rem;
      height: 22.5rem;
      opacity: 0;
      transform: translateX(4rem);
      transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.4s, transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s; }
      @media screen and (max-width: 768px) {
        #home .section-home--function:before {
          right: 5.9rem;
          top: -26rem;
          width: 28.4rem;
          height: 33.5rem;
          transition-delay: 0.2s; } }
    #home .section-home--function.is-inview:before {
      opacity: 1;
      transform: translateX(0); }
    #home .section-home--function .section-home__heading {
      font-size: 4.6rem;
      line-height: 1.5217391304;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .section-home--function .section-home__heading {
          font-size: 6rem;
          line-height: 1.3333333333; } }
    #home .section-home--function .section-home__image-decoration {
      position: absolute;
      left: calc(50% - 72rem);
      bottom: -34rem;
      width: 30.6rem;
      height: 60.5rem;
      opacity: 0;
      transform: translateX(-4rem);
      transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0s, transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      @media screen and (max-width: 768px) {
        #home .section-home--function .section-home__image-decoration {
          left: -3.2rem;
          bottom: -44.6rem;
          width: 39.1rem;
          height: 77.4rem; } }
      #home .section-home--function .section-home__image-decoration.is-inview {
        opacity: 1;
        transform: translateX(0); }
    #home .section-home--function .section-home__button {
      display: flex;
      justify-content: center;
      margin-top: 5.2rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--function .section-home__button {
          margin-top: 8rem; } }
    #home .section-home--function .list-function {
      position: relative;
      display: flex;
      width: 120rem;
      margin: 4.2rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .section-home--function .list-function {
          flex-direction: column;
          width: 60rem;
          margin-top: 7rem; } }
      #home .section-home--function .list-function__item {
        position: relative;
        width: 36rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--function .list-function__item {
            width: 100%; } }
        @media screen and (min-width: 769px) {
          #home .section-home--function .list-function__item:nth-of-type(n + 2) {
            margin-left: calc((100% - 36rem * 3) / 2); } }
        @media screen and (max-width: 768px) {
          #home .section-home--function .list-function__item:nth-of-type(n + 2) {
            margin-top: 6rem; } }
        #home .section-home--function .list-function__item a {
          position: relative;
          z-index: 2;
          text-decoration: none;
          display: block;
          padding: 2.5rem 3.8rem 3.5rem;
          border-radius: 0.4rem;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            #home .section-home--function .list-function__item a {
              padding: 4.8rem 4.5rem 4rem;
              border-radius: 0.8rem; } }
          #home .section-home--function .list-function__item a > * {
            position: relative;
            z-index: 2; }
          #home .section-home--function .list-function__item a.is-on + .list-function__frame {
            transform: scale(0.97);
            transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
      #home .section-home--function .list-function__frame {
        position: absolute;
        z-index: 1;
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        box-shadow: 0 3rem 5rem rgba(27, 42, 49, 0.2);
        border-radius: 0.4rem;
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
        @media screen and (max-width: 768px) {
          #home .section-home--function .list-function__frame {
            border-radius: 0.8rem; } }
      #home .section-home--function .list-function__image {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 16.6rem;
        padding-top: 1.2rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--function .list-function__image {
            height: 25.8rem; } }
        #home .section-home--function .list-function__image img {
          max-width: 11rem;
          max-height: 9.1rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--function .list-function__image img {
              max-width: 122rem;
              max-height: 18.2rem; } }
        #home .section-home--function .list-function__image .image01 {
          width: 11rem;
          height: 6.1rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--function .list-function__image .image01 {
              width: 22rem;
              height: 12.2rem; } }
        #home .section-home--function .list-function__image .image02 {
          width: 8.4rem;
          height: 8.4rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--function .list-function__image .image02 {
              width: 16.8rem;
              height: 16.8rem; } }
        #home .section-home--function .list-function__image .image03 {
          width: 5.2rem;
          height: 9.1rem; }
          @media screen and (max-width: 768px) {
            #home .section-home--function .list-function__image .image03 {
              width: 10.4rem;
              height: 18.2rem; } }
      #home .section-home--function .list-function__heading {
        font-size: 2.4rem;
        line-height: 1.375;
        font-weight: 700;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #home .section-home--function .list-function__heading {
            font-size: 5rem;
            line-height: 1.375; } }
      #home .section-home--function .list-function__text {
        font-size: 1.6rem;
        line-height: 1.875;
        letter-spacing: -0.01em;
        margin-top: 0.5rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--function .list-function__text {
            font-size: 3rem;
            line-height: 2;
            margin-top: 1rem; } }
  #home .section-home--blog {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 8.9rem 0 10rem; }
    @media screen and (max-width: 768px) {
      #home .section-home--blog {
        padding: 9.6rem 0 30rem; } }
    #home .section-home--blog:before {
      display: block;
      position: absolute;
      content: '';
      right: calc(50% - 54rem);
      top: -3.8rem;
      background: url(../img/home/img_blog.svg) no-repeat center center;
      width: 21.5rem;
      height: 18.1rem;
      opacity: 0;
      transform: translateX(4rem);
      transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.4s, transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s; }
      @media screen and (max-width: 768px) {
        #home .section-home--blog:before {
          right: 2.9rem;
          top: -15.6rem;
          width: 27.7rem;
          height: 23.1rem;
          transform: translateX(2rem);
          transition-delay: 0.2s; } }
    #home .section-home--blog.is-inview:before {
      opacity: 1;
      transform: translateX(0); }
    #home .section-home--blog .section-home__heading {
      font-size: 4.6rem;
      line-height: 1.5217391304;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .section-home--blog .section-home__heading {
          font-size: 6rem;
          line-height: 1.3333333333; } }
    #home .section-home--blog .section-home__button {
      display: flex;
      justify-content: center;
      margin-top: 4.5rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--blog .section-home__button {
          margin-top: 6.4rem; } }
    #home .section-home--blog .list-blog {
      position: relative;
      display: flex;
      width: 120rem;
      margin: 4.2rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .section-home--blog .list-blog {
          flex-wrap: wrap;
          justify-content: space-between;
          width: 70.8rem;
          margin-top: 6.8rem; } }
      #home .section-home--blog .list-blog__item {
        position: relative;
        width: 26rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--blog .list-blog__item {
            width: 33.8rem; } }
        @media screen and (min-width: 769px) {
          #home .section-home--blog .list-blog__item:nth-of-type(n + 2) {
            margin-left: calc((100% - 26rem * 4) / 3); } }
        @media screen and (max-width: 768px) {
          #home .section-home--blog .list-blog__item:nth-of-type(n + 3) {
            margin-top: 6rem; } }
        #home .section-home--blog .list-blog__item > * {
          position: relative;
          z-index: 2; }
        #home .section-home--blog .list-blog__item a {
          display: block;
          text-decoration: none; }
          #home .section-home--blog .list-blog__item a.is-on .list-blog__image {
            filter: saturate(1) brightness(1);
            transition: filter 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
            #home .section-home--blog .list-blog__item a.is-on .list-blog__image img {
              transform: scale(1.04);
              transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
      #home .section-home--blog .list-blog__image {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 15.8rem;
        border-radius: 0.4rem;
        overflow: hidden;
        filter: saturate(0.2) brightness(0.8);
        transition: filter 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
        @media screen and (max-width: 768px) {
          #home .section-home--blog .list-blog__image {
            height: 20.5rem;
            border-radius: 0.8rem; } }
        #home .section-home--blog .list-blog__image img {
          transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
      #home .section-home--blog .list-blog__date {
        color: #646464;
        font-size: 1.4rem;
        line-height: 2.1428571429;
        font-weight: 500;
        margin-top: 1.2rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--blog .list-blog__date {
            font-size: 2.6rem;
            line-height: 1.5;
            margin-top: 2.4rem; } }
      #home .section-home--blog .list-blog__heading {
        font-size: 2rem;
        line-height: 1.5;
        font-weight: 700;
        letter-spacing: 0.01em;
        margin-top: 0.5rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--blog .list-blog__heading {
            font-size: 3.4rem;
            line-height: 1.7647058824;
            margin-top: 1rem; } }
  #home .section-home--news {
    position: relative;
    z-index: 1; }
    #home .section-home--news:before {
      display: block;
      position: absolute;
      z-index: 2;
      content: '';
      left: calc(50% - 69.4 * var(--rempc1));
      top: -6.6rem;
      background: url(../img/home/img_news.svg) no-repeat center center;
      width: 29.9rem;
      height: 19.2rem;
      opacity: 0;
      transform: translateX(-4rem);
      transition: opacity 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.4s, transform 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s; }
      @media screen and (max-width: 768px) {
        #home .section-home--news:before {
          left: 2.9rem;
          top: -20.3rem;
          width: 38.4rem;
          height: 24.7rem;
          transition-delay: 0.2s; } }
    #home .section-home--news.is-inview:before {
      opacity: 1;
      transform: translateX(0); }
    #home .section-home--news .section-home__inner {
      position: relative;
      background: #fbfbfb;
      width: calc(174 * var(--rempc1));
      margin: 0 auto;
      padding: 7.6rem 0 10rem;
      border-radius: 0.8rem;
      box-shadow: 0 4rem 6rem rgba(27, 42, 49, 0.2); }
      @media screen and (max-width: 768px) {
        #home .section-home--news .section-home__inner {
          width: 70.8rem;
          padding: 8.4rem 0 10rem;
          border-radius: 0.8rem;
          box-shadow: 0 4rem 6rem rgba(27, 42, 49, 0.2); } }
    #home .section-home--news .section-home__heading {
      font-size: 4.6rem;
      line-height: 1.5217391304;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .section-home--news .section-home__heading {
          font-size: 6rem;
          line-height: 1.3333333333; } }
    #home .section-home--news .section-home__button {
      display: flex;
      justify-content: center;
      margin-top: 5rem; }
      @media screen and (max-width: 768px) {
        #home .section-home--news .section-home__button {
          margin-top: 6.2rem; } }
    #home .section-home--news .list-news {
      position: relative;
      width: 120rem;
      margin: 4.2rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .section-home--news .list-news {
          width: 66rem;
          margin-top: 2rem; } }
      #home .section-home--news .list-news__item {
        position: relative;
        width: 100%;
        border-bottom: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #home .section-home--news .list-news__item {
            border-bottom-width: 0.2rem; } }
        #home .section-home--news .list-news__item > * {
          position: relative;
          z-index: 2; }
        #home .section-home--news .list-news__item a {
          display: flex;
          text-decoration: none;
          padding: 2.2rem 0; }
          @media screen and (max-width: 768px) {
            #home .section-home--news .list-news__item a {
              display: block;
              padding: 2.8rem 0; } }
          #home .section-home--news .list-news__item a.is-on .list-news__text {
            text-decoration: underline; }
      #home .section-home--news .list-news__date {
        color: #1b2a31;
        font-size: 1.6rem;
        line-height: 1.75;
        font-weight: 700;
        width: 16rem;
        padding-left: 3rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--news .list-news__date {
            font-size: 3rem;
            line-height: 2;
            width: 100%;
            padding: 0; } }
      #home .section-home--news .list-news__text {
        font-size: 1.6rem;
        line-height: 1.75;
        letter-spacing: 0.01em;
        width: calc(100% - 16rem);
        padding-right: 3rem; }
        @media screen and (max-width: 768px) {
          #home .section-home--news .list-news__text {
            font-size: 3rem;
            line-height: 1.6666666667;
            width: 100%;
            padding: 0; } }

#movie {
  /* .list-movie-category
  ----------------------------------------------------------------- */
  /* .list-movie-link
  ----------------------------------------------------------------- */ }
  #movie .list-movie-category {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 6rem; }
    @media screen and (max-width: 768px) {
      #movie .list-movie-category {
        padding-top: 8rem; } }
    @media screen and (max-width: 768px) {
      #movie .list-movie-category__item {
        margin: 0 1.2rem 2.4rem; } }
    @media screen and (min-width: 769px) {
      #movie .list-movie-category__item:nth-of-type(n + 2) {
        margin-left: 3rem; } }
    #movie .list-movie-category__item a,
    #movie .list-movie-category__item button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.8rem;
      line-height: 1;
      font-weight: 700;
      text-decoration: none;
      width: 20rem;
      height: 5rem;
      border-radius: 2.5rem;
      transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        #movie .list-movie-category__item a,
        #movie .list-movie-category__item button {
          font-size: 2.4rem;
          width: 22rem;
          height: 6rem;
          border-radius: 3rem; } }
      #movie .list-movie-category__item a.is-current,
      #movie .list-movie-category__item button.is-current {
        color: #fff;
        background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
        background-size: 300% 300%;
        pointer-events: none; }
      #movie .list-movie-category__item a.is-on,
      #movie .list-movie-category__item button.is-on {
        color: #fff; }
        #movie .list-movie-category__item a.is-on:after,
        #movie .list-movie-category__item button.is-on:after {
          opacity: 1; }
      #movie .list-movie-category__item a > *,
      #movie .list-movie-category__item button > * {
        position: relative;
        z-index: 2; }
      #movie .list-movie-category__item a:before,
      #movie .list-movie-category__item button:before {
        display: block;
        position: absolute;
        z-index: -2;
        content: '';
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.25); }
        @media screen and (max-width: 768px) {
          #movie .list-movie-category__item a:before,
          #movie .list-movie-category__item button:before {
            border-radius: 3rem; } }
      #movie .list-movie-category__item a:after,
      #movie .list-movie-category__item button:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: linear-gradient(to right, #22404e, #10252f);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #movie .list-movie-category__item a:after,
          #movie .list-movie-category__item button:after {
            border-radius: 3rem; } }
  #movie .list-movie-link {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      #movie .list-movie-link {
        justify-content: space-between; } }
    #movie .list-movie-link__item {
      width: 36rem; }
      @media screen and (max-width: 768px) {
        #movie .list-movie-link__item {
          width: 31rem; } }
      @media screen and (min-width: 769px) {
        #movie .list-movie-link__item:nth-of-type(3n + 1), #movie .list-movie-link__item:nth-of-type(3n) {
          margin-left: calc((100% - 36rem * 3) / 2); } }
      @media screen and (min-width: 769px) {
        #movie .list-movie-link__item:nth-of-type(n + 5) {
          margin-top: 7.6rem; } }
      @media screen and (max-width: 768px) {
        #movie .list-movie-link__item:nth-of-type(n + 4) {
          margin-top: 8rem; } }
      @media screen and (min-width: 769px) {
        #movie .list-movie-link__item:nth-of-type(3n) {
          transition-delay: 0.1s; } }
      @media screen and (min-width: 769px) {
        #movie .list-movie-link__item:nth-of-type(3n + 1) {
          transition-delay: 0.2s; } }
      @media screen and (max-width: 768px) {
        #movie .list-movie-link__item:nth-of-type(2n + 1) {
          transition-delay: 0.1s; } }
      #movie .list-movie-link__item:nth-of-type(1) {
        width: 100%;
        height: 39.8rem;
        margin-bottom: 10rem; }
        @media screen and (max-width: 768px) {
          #movie .list-movie-link__item:nth-of-type(1) {
            height: 20.2372881356rem; } }
        #movie .list-movie-link__item:nth-of-type(1) button {
          display: flex;
          flex-wrap: wrap;
          flex-direction: column;
          justify-content: center;
          width: 100%;
          height: 100%; }
        #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__image {
          width: 70.8rem;
          height: 39.8rem; }
          @media screen and (max-width: 768px) {
            #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__image {
              width: 36rem;
              height: 20.2372881356rem; } }
        #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__category, #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__heading {
          text-align: left;
          padding-left: 3rem; }
          @media screen and (max-width: 768px) {
            #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__category, #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__heading {
              width: calc(100% - 36rem); } }
        #movie .list-movie-link__item:nth-of-type(1) .list-movie-link__heading {
          font-size: 3.4rem; }
      #movie .list-movie-link__item button {
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
        display: block;
        transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
        #movie .list-movie-link__item button.is-on {
          color: #6a93ef; }
          #movie .list-movie-link__item button.is-on .list-movie-link__image img {
            transform: scale(1.04);
            transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    #movie .list-movie-link__image {
      width: 100%;
      height: 20.3rem;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #movie .list-movie-link__image {
          height: 17.4805555556rem; } }
      #movie .list-movie-link__image img {
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    #movie .list-movie-link__category {
      font-size: 2rem;
      line-height: 1.4166666667;
      font-weight: 700;
      text-align: center;
      margin-top: 1.6rem; }
      @media screen and (max-width: 768px) {
        #movie .list-movie-link__category {
          font-size: 2.4rem;
          margin-top: 2rem; } }
    #movie .list-movie-link__heading {
      font-size: 2.4rem;
      line-height: 1.4166666667;
      font-weight: 700;
      text-align: center;
      margin-top: 0.4rem; }
      @media screen and (max-width: 768px) {
        #movie .list-movie-link__heading {
          font-size: 3rem;
          margin-top: 1rem; } }
  #movie .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
    #movie .modal.is-show {
      opacity: 1;
      pointer-events: auto; }
      #movie .modal.is-show .modal__body .player-movie video {
        pointer-events: auto;
        display: block; }
    #movie .modal__overlay {
      background: rgba(27, 42, 49, 0.4);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #movie .modal__body {
      position: relative; }
      #movie .modal__body .player-movie {
        background: #000;
        width: 100rem;
        height: 56.25rem;
        overflow: hidden;
        box-shadow: 0 0 0 1px #fbfbfb;
        display: none; }
        @media screen and (max-width: 768px) {
          #movie .modal__body .player-movie {
            width: 92.1875vw;
            height: 51.85546875vw; } }
        #movie .modal__body .player-movie__player {
          width: 100%;
          height: 100%; }
        #movie .modal__body .player-movie video {
          display: block;
          line-height: 0;
          width: 100%;
          height: 100%;
          pointer-events: none;
          display: none; }
        #movie .modal__body .player-movie.is-active {
          display: block; }
    #movie .modal__close {
      padding: 0;
      appearance: none;
      outline: none;
      border: none;
      background: none;
      cursor: pointer;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 6rem;
      height: 6rem;
      border-radius: px2reme(8px);
      margin: 3rem auto 0; }
      @media screen and (max-width: 768px) {
        #movie .modal__close {
          width: 10rem;
          height: 10rem; } }
      #movie .modal__close:before, #movie .modal__close:after {
        display: block;
        position: relative;
        z-index: 2;
        content: '';
        background: #1b2a31;
        width: 4rem;
        height: 1px; }
        @media screen and (max-width: 768px) {
          #movie .modal__close:before, #movie .modal__close:after {
            width: 6rem; } }
      #movie .modal__close:before {
        margin-bottom: -0.5px;
        transform: rotate(45deg); }
      #movie .modal__close:after {
        margin-top: -0.5px;
        transform: rotate(-45deg); }
      #movie .modal__close.is-on .modal__close-frame {
        transform: scale(0.96, 0.96);
        transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
      #movie .modal__close-frame {
        position: absolute;
        z-index: 1;
        background: #fbfbfb;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        box-shadow: 0 4rem 6rem rgba(27, 42, 49, 0.2);
        border-radius: 0.4rem;
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
        @media screen and (max-width: 768px) {
          #movie .modal__close-frame {
            border-radius: 0.8rem; } }

#news {
  /* .list-news-category
  ----------------------------------------------------------------- */
  /* .list-paging
  ----------------------------------------------------------------- */
  /* .list-news-link
  ----------------------------------------------------------------- */ }
  #news .list-news-category {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 6rem; }
    @media screen and (max-width: 768px) {
      #news .list-news-category {
        padding-top: 8rem; } }
    @media screen and (max-width: 768px) {
      #news .list-news-category__item {
        margin: 0 1.2rem 2.4rem; } }
    @media screen and (min-width: 769px) {
      #news .list-news-category__item:nth-of-type(n + 2) {
        margin-left: 3rem; } }
    #news .list-news-category__item a,
    #news .list-news-category__item button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.8rem;
      line-height: 1;
      font-weight: 700;
      text-decoration: none;
      width: 20rem;
      height: 5rem;
      border-radius: 2.5rem;
      transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        #news .list-news-category__item a,
        #news .list-news-category__item button {
          font-size: 2.4rem;
          width: 22rem;
          height: 6rem;
          border-radius: 3rem; } }
      #news .list-news-category__item a.is-current,
      #news .list-news-category__item button.is-current {
        color: #fff;
        background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
        background-size: 300% 300%;
        pointer-events: none; }
      #news .list-news-category__item a.is-on,
      #news .list-news-category__item button.is-on {
        color: #fff; }
        #news .list-news-category__item a.is-on:after,
        #news .list-news-category__item button.is-on:after {
          opacity: 1; }
      #news .list-news-category__item a > *,
      #news .list-news-category__item button > * {
        position: relative;
        z-index: 2; }
      #news .list-news-category__item a:before,
      #news .list-news-category__item button:before {
        display: block;
        position: absolute;
        z-index: -2;
        content: '';
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.25); }
        @media screen and (max-width: 768px) {
          #news .list-news-category__item a:before,
          #news .list-news-category__item button:before {
            border-radius: 3rem; } }
      #news .list-news-category__item a:after,
      #news .list-news-category__item button:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: linear-gradient(to right, #22404e, #10252f);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #news .list-news-category__item a:after,
          #news .list-news-category__item button:after {
            border-radius: 3rem; } }
  #news .list-paging {
    display: flex;
    justify-content: center;
    margin-top: 9.6rem; }
    @media screen and (max-width: 768px) {
      #news .list-paging {
        justify-content: space-between;
        margin-top: 10.8rem; } }
    @media screen and (min-width: 769px) {
      #news .list-paging__item:nth-of-type(n + 2) {
        margin-left: 5rem; } }
    #news .list-paging__button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2rem;
      line-height: 1;
      width: 4rem;
      height: 4rem;
      padding-bottom: 0.2rem;
      border-radius: 0.4rem;
      transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        #news .list-paging__button {
          font-size: 3.6rem;
          width: 7.2rem;
          height: 7.2rem;
          border-radius: 0.6rem; } }
      #news .list-paging__button.is-current {
        color: #fff;
        background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
        background-size: 300% 300%;
        pointer-events: none; }
      #news .list-paging__button.is-on {
        color: #fff; }
        #news .list-paging__button.is-on:after {
          opacity: 1; }
      #news .list-paging__button:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: linear-gradient(to right, #22404e, #10252f);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 0.4rem;
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #news .list-paging__button:after {
            border-radius: 0.6rem; } }
      #news .list-paging__button--arrow:before {
        display: block;
        content: '';
        width: 1rem;
        height: 1rem;
        box-sizing: border-box;
        border: solid #1b2a31;
        border-width: 1px 1px 0 0;
        transition: border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #news .list-paging__button--arrow:before {
            width: 3.2rem;
            height: 3.2rem;
            border-width: 0.4rem 0.4rem 0 0; } }
      #news .list-paging__button--arrow.is-on:before {
        border-color: #c8d6de; }
      #news .list-paging__button--arrow.is-disabled {
        opacity: 0.25;
        pointer-events: none; }
    #news .list-paging__item:first-of-type .list-paging__button {
      padding-left: 0.6rem; }
      @media screen and (max-width: 768px) {
        #news .list-paging__item:first-of-type .list-paging__button {
          padding-left: 1.6rem; } }
      #news .list-paging__item:first-of-type .list-paging__button:before {
        transform: rotate(-135deg); }
    @media screen and (min-width: 769px) {
      #news .list-paging__item:first-of-type + .list-paging__item {
        margin-left: 8rem; } }
    @media screen and (min-width: 769px) {
      #news .list-paging__item:last-of-type {
        margin-left: 8rem; } }
    #news .list-paging__item:last-of-type .list-paging__button {
      padding-right: 0.6rem; }
      @media screen and (max-width: 768px) {
        #news .list-paging__item:last-of-type .list-paging__button {
          padding-right: 1.6rem; } }
      #news .list-paging__item:last-of-type .list-paging__button:before {
        transform: rotate(45deg); }
  #news .list-news-link__item {
    position: relative;
    width: 100%;
    border-bottom: 1px solid #dcdcdc; }
    @media screen and (max-width: 768px) {
      #news .list-news-link__item {
        border-bottom-width: 0.2rem; } }
    #news .list-news-link__item > * {
      position: relative;
      z-index: 2; }
    #news .list-news-link__item a {
      display: flex;
      text-decoration: none;
      padding: 3.8rem 0; }
      @media screen and (max-width: 768px) {
        #news .list-news-link__item a {
          display: block;
          padding: 4rem 0; } }
      #news .list-news-link__item a.is-on .list-news-link__text {
        text-decoration: underline; }
  #news .list-news-link__date {
    color: #1b2a31;
    font-size: 1.6rem;
    line-height: 1.75;
    font-weight: 700;
    width: 15.4rem;
    padding-left: 3rem; }
    @media screen and (max-width: 768px) {
      #news .list-news-link__date {
        font-size: 3rem;
        line-height: 2;
        width: 100%;
        padding: 0; } }
  #news .list-news-link__category {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: -0.01em;
    width: 15rem;
    height: 3rem;
    border-radius: 1.5rem;
    box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.15); }
    @media screen and (max-width: 768px) {
      #news .list-news-link__category {
        font-size: 2.8rem;
        line-height: 2;
        width: 30rem;
        height: 6rem;
        border-radius: 3rem;
        margin-top: 0.4rem; } }
  #news .list-news-link__text {
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0.01em;
    width: calc(100% - 30.4rem);
    padding: 0 3rem; }
    @media screen and (max-width: 768px) {
      #news .list-news-link__text {
        font-size: 3rem;
        line-height: 1.6666666667;
        width: 100%;
        padding: 0;
        margin-top: 2rem; } }

#news_detail {
  /* .section-news
  ----------------------------------------------------------------- */ }
  #news_detail .section-news {
    width: 120rem;
    margin: 0 auto;
    padding: 8rem 0 10rem;
    /* __main
    ----------------------------------------------------------------- */ }
    @media screen and (max-width: 768px) {
      #news_detail .section-news {
        width: 100%;
        padding: 0 0 12rem; } }
    @media screen and (max-width: 768px) {
      #news_detail .section-news:before {
        display: block;
        content: '';
        background: #f5f5f5;
        width: 100%;
        height: 10rem;
        margin-bottom: 5.4rem; } }
    #news_detail .section-news__back {
      display: flex;
      justify-content: flex-start;
      padding-bottom: 2.8rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__back {
          width: 70.8rem;
          margin: 0 auto;
          padding-bottom: 3.2rem;
          border-bottom-width: 0.2rem; } }
      #news_detail .section-news__back a {
        position: relative;
        display: flex;
        align-items: center;
        font-size: 1.4rem;
        line-height: 1.6071428571;
        font-weight: 700;
        text-decoration: none;
        padding-left: 4rem;
        transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__back a {
            font-size: 2.6rem;
            line-height: 1.0769230769; } }
        #news_detail .section-news__back a:before {
          display: flex;
          position: absolute;
          left: 0.2rem;
          top: calc(50% - 1rem / 2);
          content: '';
          width: 1rem;
          height: 1rem;
          box-sizing: border-box;
          border: solid #000;
          border-width: 1px 1px 0 0;
          transform: rotate(-135deg);
          transition: border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
          @media screen and (max-width: 768px) {
            #news_detail .section-news__back a:before {
              left: 0.5rem;
              top: calc(50% - 2rem / 2);
              width: 2rem;
              height: 2rem;
              border-width: 0.3rem 0.3rem 0 0; } }
        #news_detail .section-news__back a.is-on {
          color: #6a93ef; }
          #news_detail .section-news__back a.is-on:before {
            border-color: #6a93ef; }
    #news_detail .section-news__date {
      color: #646464;
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 500;
      margin-top: 4rem; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__date {
          font-size: 2.4rem;
          width: 70.8rem;
          margin: 7.4rem auto 0; } }
    #news_detail .section-news__heading {
      font-size: 3.4rem;
      line-height: 1.6470588235;
      font-weight: 700;
      margin-top: 1.2rem; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__heading {
          font-size: 4.4rem;
          line-height: 1.5;
          width: 70.8rem;
          margin: 2rem auto 0; } }
    #news_detail .section-news__tag {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      margin-top: 1.7rem; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__tag {
          width: 70.8rem;
          margin: 2.4rem auto 0; } }
      #news_detail .section-news__tag span {
        position: relative;
        flex: 0 0 auto;
        text-decoration: none;
        margin: 0 1rem 1rem 0; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__tag span {
            margin: 0 1.2rem 1.2rem 0; } }
        #news_detail .section-news__tag span a {
          text-decoration: none;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.4rem;
          line-height: 1;
          font-weight: 500;
          height: 3rem;
          border-radius: 1.5rem;
          padding: 0 2rem;
          transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
          @media screen and (max-width: 768px) {
            #news_detail .section-news__tag span a {
              font-size: 2rem;
              height: 4.2rem;
              border-radius: 2.1rem;
              padding: 0 2.6rem; } }
          #news_detail .section-news__tag span a.is-on {
            color: #fff; }
            #news_detail .section-news__tag span a.is-on:after {
              opacity: 1; }
          #news_detail .section-news__tag span a:after {
            display: block;
            position: absolute;
            z-index: -1;
            content: '';
            background: linear-gradient(to right, #22404e, #10252f);
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            border-radius: 1.5rem;
            opacity: 0;
            transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
            @media screen and (max-width: 768px) {
              #news_detail .section-news__tag span a:after {
                border-radius: 2.1rem; } }
        #news_detail .section-news__tag span > * {
          position: relative;
          z-index: 2; }
        #news_detail .section-news__tag span:before {
          display: block;
          position: absolute;
          z-index: -2;
          content: '';
          background: #fff;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          border-radius: 1.5rem;
          box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.2); }
          @media screen and (max-width: 768px) {
            #news_detail .section-news__tag span:before {
              border-radius: 2.1rem; } }
    #news_detail .section-news__content {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 2.44375em; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__content {
          font-size: 3rem;
          line-height: 2;
          width: 70.8rem;
          margin: 2.2em auto 0; } }
      #news_detail .section-news__content p {
        font-size: 1.6rem;
        line-height: 2.125;
        margin-top: 2.44375em; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__content p {
            font-size: 3rem;
            line-height: 2;
            margin-top: 2em; } }
        #news_detail .section-news__content p + p {
          margin-top: 2.125em; }
          @media screen and (max-width: 768px) {
            #news_detail .section-news__content p + p {
              margin-top: 1.6em; } }
        #news_detail .section-news__content p + img {
          margin-top: 4.5rem; }
      #news_detail .section-news__content h1 {
        background: #f4f6fb;
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 700;
        margin-top: 3.5rem;
        padding: 1.2rem 3rem; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__content h1 {
            font-size: 3.6rem;
            line-height: 1.6666666667; } }
      #news_detail .section-news__content h2 {
        font-size: 3rem;
        line-height: 1.8666666667;
        font-weight: 700;
        margin-top: 6rem; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__content h2 {
            font-size: 4.4rem;
            line-height: 1.2727272727;
            margin-top: 9.4rem; } }
      #news_detail .section-news__content h3 {
        font-size: 2.4rem;
        line-height: 1.4166666667;
        font-weight: 700;
        margin-top: 3rem; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__content h3 {
            font-size: 4rem;
            line-height: 1.5;
            margin-top: 7.2rem; } }
        #news_detail .section-news__content h3 + p {
          margin-top: 0; }
      #news_detail .section-news__content h4 {
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 700;
        margin-top: 3.4rem; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__content h4 {
            font-size: 3.6rem;
            line-height: 1.6666666667;
            margin-top: 6.8rem;
            margin-bottom: 0.8rem; } }
        #news_detail .section-news__content h4 + p {
          margin-top: 0; }
      #news_detail .section-news__content img {
        display: block;
        border-radius: 0.6rem;
        border: 2px solid #dcdcdc;
        margin: 7rem auto 0;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          #news_detail .section-news__content img {
            border-radius: 1.2rem; } }
    #news_detail .section-news__note {
      font-size: 1.6rem;
      line-height: 2.125;
      text-align: center;
      margin-top: 7rem; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__note {
          font-size: 2.4rem;
          margin-top: 8rem;
          margin-top: 8rem; } }
    #news_detail .section-news__button {
      display: flex;
      justify-content: center;
      margin-top: 5rem; }
      @media screen and (max-width: 768px) {
        #news_detail .section-news__button {
          margin-top: 8rem;
          margin-bottom: 2rem; } }

#plan {
  /* .plan-content
  ----------------------------------------------------------------- */
  /* .table-plan
  ----------------------------------------------------------------- */
  /* .list-plan-option
  ----------------------------------------------------------------- */ }
  @media screen and (max-width: 768px) {
    #plan .plan-content__table-wrapper {
      position: relative;
      width: calc(100% + 2rem * 2);
      margin: 0 -2rem;
      margin-right: 2rem;
      padding: 0 2rem 4rem; } }
  @media screen and (max-width: 768px) {
    #plan .plan-content__table-wrapper.is-on .plan-content__table-slide-notice {
      opacity: 0;
      transition-delay: 0s; } }
  @media screen and (max-width: 768px) {
    #plan .plan-content__table-wrapper .simplebar-track.simplebar-horizontal {
      left: 2rem;
      width: calc(100% - 2rem * 2); } }
  @media screen and (max-width: 768px) {
    #plan .plan-content__table-wrapper-inner {
      width: calc(29.6rem * 3 + 27.8rem + 32rem + 2rem); } }
  #plan .plan-content__table-slide-notice {
    display: none; }
    @media screen and (max-width: 768px) {
      #plan .plan-content__table-slide-notice {
        color: rgba(106, 147, 239, 0.8);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: sticky;
        left: 45rem;
        top: 60rem;
        font-size: 2.4rem;
        line-height: 1;
        letter-spacing: -0.02em;
        font-weight: 700;
        text-align: center;
        width: 16rem;
        height: 0;
        border-radius: 1.2rem;
        padding-bottom: 0.6rem;
        pointer-events: none;
        opacity: 1;
        transition: opacity 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) 3s; } }
    @media screen and (max-width: 768px) {
      #plan .plan-content__table-slide-notice .icon-arrow {
        font-size: 7rem;
        line-height: 1;
        margin-bottom: 1rem; } }
    @media screen and (max-width: 768px) {
      #plan .plan-content__table-slide-notice:before {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: rgba(230, 230, 230, 0.4);
        left: 0;
        top: calc(50% - 16rem / 2);
        width: 100%;
        height: 16rem; } }
  #plan .plan-content__note {
    font-size: 1.4rem;
    line-height: 2.1428571429;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 5.3rem; }
    @media screen and (max-width: 768px) {
      #plan .plan-content__note {
        font-size: 2.2rem;
        line-height: 1.5; } }
    #plan .plan-content__note + .plan-content__note {
      margin-top: 0; }
  #plan .plan-content__heading {
    font-size: 3.4rem;
    line-height: 1.7647058824;
    text-align: center;
    font-weight: 700;
    margin-top: 9.6rem; }
    @media screen and (max-width: 768px) {
      #plan .plan-content__heading {
        font-size: 5rem;
        line-height: 1.2272727273;
        margin-top: 18rem; } }
    #plan .plan-content__heading:first-child {
      margin-top: 0; }
  #plan .table-plan {
    width: 100%; }
    @media screen and (max-width: 768px) {
      #plan .table-plan {
        width: calc(29.6rem * 3 + 27.8rem + 32rem); } }
    #plan .table-plan__thead .table-plan__th {
      width: 22.6rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #plan .table-plan__thead .table-plan__th {
          width: 29.6rem; } }
      #plan .table-plan__thead .table-plan__th:first-of-type {
        width: calc(100% - 22.6rem * 3 - 20.8rem); }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead .table-plan__th:first-of-type {
            width: 32rem; } }
      #plan .table-plan__thead .table-plan__th:last-of-type {
        width: 20.8rem;
        padding-left: 1.8rem; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead .table-plan__th:last-of-type {
            width: 27.8rem; } }
      #plan .table-plan__thead .table-plan__th .text-thead {
        display: inline-block;
        font-size: 2rem;
        line-height: 1.3;
        letter-spacing: 0;
        font-weight: 700;
        width: 100%;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead .table-plan__th .text-thead {
            font-size: 3rem;
            white-space: nowrap; } }
      #plan .table-plan__thead .table-plan__th .price-thead {
        display: inline-block;
        font-size: 1.6rem;
        line-height: 1.625;
        letter-spacing: 0;
        font-weight: 500;
        width: 100%;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead .table-plan__th .price-thead {
            font-size: 2.4rem; } }
      #plan .table-plan__thead .table-plan__th .price-thead-number {
        font-size: 3.4rem;
        line-height: 1.0588235294;
        letter-spacing: -0.02em; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead .table-plan__th .price-thead-number {
            font-size: 5rem; } }
      #plan .table-plan__thead .table-plan__th .price-thead-button {
        display: flex;
        justify-content: center;
        margin-top: 1.4rem;
        padding-bottom: 4.6rem; }
    #plan .table-plan__tbody .table-plan__th {
      font-size: 1.8rem;
      line-height: 1.1111111111;
      letter-spacing: -0.01em;
      font-weight: 500;
      text-align: left;
      vertical-align: middle;
      padding: 0 1rem 0 2.2rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #plan .table-plan__tbody .table-plan__th {
          font-size: 3rem;
          line-height: 1.3333333333;
          padding: 2rem 0 2rem 1.2rem;
          position: sticky;
          left: 2rem;
          background: #fbfbfb; } }
      @media screen and (max-width: 768px) {
        #plan .table-plan__tbody .table-plan__th:before {
          display: block;
          position: absolute;
          content: '';
          background: #fbfbfb;
          left: -2rem;
          top: 0;
          width: 2rem;
          height: 100%; } }
      #plan .table-plan__tbody .table-plan__th .note-body-th {
        display: inline-block;
        font-size: 1.3rem;
        line-height: 1;
        font-weight: 500;
        width: 100%;
        padding-bottom: 0.25em; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__tbody .table-plan__th .note-body-th {
            font-size: 2.4rem;
            line-height: 1.25;
            padding-top: 0.2em; } }
    #plan .table-plan__tbody .table-plan__td {
      text-align: center;
      vertical-align: middle;
      line-height: 0;
      height: 7rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #plan .table-plan__tbody .table-plan__td {
          height: 11rem; } }
      #plan .table-plan__tbody .table-plan__td:last-of-type {
        padding-left: 1.8rem; }
      #plan .table-plan__tbody .table-plan__td .icon-hyphen-body:before {
        display: block;
        content: '';
        background: #000;
        width: 1.2rem;
        height: 1px;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__tbody .table-plan__td .icon-hyphen-body:before {
            width: 2.4rem;
            height: 0.2rem;
            min-height: 1px; } }
      #plan .table-plan__tbody .table-plan__td .icon-circle-body:before {
        display: block;
        content: '';
        background: #000;
        width: 2rem;
        height: 2rem;
        border-radius: 50%;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__tbody .table-plan__td .icon-circle-body:before {
            width: 4rem;
            height: 4rem; } }
      #plan .table-plan__tbody .table-plan__td .icon-triangle-body:before {
        display: block;
        content: '';
        border: solid;
        border-width: 0 1rem 1.7rem 1rem;
        border-color: transparent transparent #000 transparent;
        width: 0;
        margin: 0 auto;
        box-sizing: border-box; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__tbody .table-plan__td .icon-triangle-body:before {
            border-width: 0 2rem 3.4rem 2rem; } }
      #plan .table-plan__tbody .table-plan__td .note-body {
        display: inline-block;
        font-size: 1.3rem;
        line-height: 1;
        text-align: center;
        font-weight: 500;
        margin-top: 0.7rem; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__tbody .table-plan__td .note-body {
            font-size: 2.2rem; } }
    #plan .table-plan__thead-sub .table-plan__th {
      color: #6a93ef;
      font-size: 2.4rem;
      line-height: 1.25;
      letter-spacing: 0;
      font-weight: 500;
      width: 22.6rem;
      padding: 5.5rem 2.2rem 2.6rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #plan .table-plan__thead-sub .table-plan__th {
          font-size: 3.8rem;
          width: 29.6rem;
          padding: 7rem 1.2rem 3rem; } }
      #plan .table-plan__thead-sub .table-plan__th:first-of-type {
        width: calc(100% - 22.6rem * 3 - 20.8rem); }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead-sub .table-plan__th:first-of-type {
            width: 32rem;
            position: sticky;
            left: 2rem;
            background: #fbfbfb; } }
      #plan .table-plan__thead-sub .table-plan__th:last-of-type {
        width: 20.8rem;
        padding-left: 1.8rem; }
        @media screen and (max-width: 768px) {
          #plan .table-plan__thead-sub .table-plan__th:last-of-type {
            width: 27.8rem; } }
  @media screen and (max-width: 768px) {
    #plan .list-plan-option {
      margin-top: 3rem; } }
  #plan .list-plan-option__item {
    display: flex;
    justify-content: space-between;
    padding: 3.5rem 0 3.1rem;
    border-bottom: 1px solid #dcdcdc; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__item {
        display: block;
        padding: 7rem 2rem 6.5rem; } }
  #plan .list-plan-option__heading {
    font-size: 2.4rem;
    line-height: 1.25;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__heading {
        font-size: 4rem; } }
  #plan .list-plan-option__text {
    font-size: 1.6rem;
    line-height: 2.125;
    margin-top: 1.4rem; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__text {
        font-size: 3rem;
        line-height: 1.6666666667;
        margin-top: 2.4rem; } }
    #plan .list-plan-option__text strong {
      font-size: 2rem;
      line-height: 2;
      text-align: left;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #plan .list-plan-option__text strong {
          font-size: 3.4rem;
          line-height: 1.5882352941; } }
    #plan .list-plan-option__text + .list-plan-option__text {
      margin-top: 0; }
      @media screen and (max-width: 768px) {
        #plan .list-plan-option__text + .list-plan-option__text {
          margin-top: 2rem; } }
  #plan .list-plan-option__button {
    width: 20rem; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__button {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 3.8rem; } }
  #plan .list-plan-option__detail {
    border: 1px solid #000;
    margin: 2rem 0 1rem;
    padding: 1.5rem 2.8rem; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__detail {
        padding: 1.2rem 2.4rem;
        margin-top: 3.8rem; } }
  #plan .list-plan-option__subheading {
    font-size: 1.6rem;
    line-height: 2.125;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__subheading {
        font-size: 2.4rem; } }
  #plan .list-plan-option__subtext {
    font-size: 1.6rem;
    line-height: 2.125; }
    @media screen and (max-width: 768px) {
      #plan .list-plan-option__subtext {
        font-size: 2.4rem; } }

#privacy {
  /* .section-docs
  ----------------------------------------------------------------- */ }
  #privacy .section-docs {
    width: 120rem;
    margin: 0 auto;
    padding: 8rem 0 10rem; }
    @media screen and (max-width: 768px) {
      #privacy .section-docs {
        width: 100%;
        padding: 10rem 0 12rem; } }
    #privacy .section-docs__content {
      font-size: 1.6rem;
      line-height: 2.125; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__content {
          font-size: 2.4rem;
          line-height: 2;
          width: 70.8rem;
          margin: 0 auto; } }
    #privacy .section-docs__text {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 2.44375em; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__text {
          font-size: 2.4rem;
          line-height: 2;
          margin-top: 2.2em; } }
      #privacy .section-docs__text + .section-docs__text {
        margin-top: 2.125em; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__text + .section-docs__text {
            margin-top: 2em; } }
      #privacy .section-docs__text a {
        color: #6a93ef;
        text-decoration: underline; }
        #privacy .section-docs__text a.is-on {
          text-decoration: none; }
    #privacy .section-docs__text-right {
      font-size: 1.6rem;
      line-height: 2.125;
      text-align: right;
      margin-top: 2.44375em; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__text-right {
          font-size: 2.4rem;
          line-height: 2;
          margin-top: 2.2em; } }
    #privacy .section-docs__list-number {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 1.38125em; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__list-number {
          font-size: 2.4rem;
          line-height: 2;
          margin-top: 1.3em; } }
    #privacy .section-docs__heading {
      font-size: 3rem;
      line-height: 1.8666666667;
      font-weight: 700;
      margin-top: 6rem; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__heading {
          font-size: 4.4rem;
          line-height: 1.2727272727;
          margin-top: 8rem; } }
      #privacy .section-docs__heading + .section-docs__text {
        margin-top: 3.1875em; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__heading + .section-docs__text {
            margin-top: 3em; } }
      #privacy .section-docs__heading:first-of-type {
        margin-top: 0; }
    #privacy .section-docs__subheading {
      font-size: 1.6rem;
      line-height: 2.125;
      font-weight: 700;
      margin-top: 3.1875em; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__subheading {
          font-size: 3rem;
          line-height: 2;
          margin-top: 3em; } }
      #privacy .section-docs__subheading + .section-docs__text {
        margin-top: 1.0625em; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__subheading + .section-docs__text {
            margin-top: 1em; } }
    #privacy .section-docs__note {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 7rem; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__note {
          font-size: 2.4rem;
          margin-top: 8rem;
          margin-top: 8rem; } }
      #privacy .section-docs__note a {
        color: #6a93ef;
        text-decoration: underline; }
        #privacy .section-docs__note a.is-on {
          text-decoration: none; }
    #privacy .section-docs__table {
      width: 100%;
      margin-top: 1.0625em; }
      @media screen and (max-width: 768px) {
        #privacy .section-docs__table {
          margin-top: 1em; } }
      #privacy .section-docs__table + .section-docs__text {
        margin-top: 1.0625em; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__table + .section-docs__text {
            margin-top: 1em; } }
      #privacy .section-docs__table thead {
        border: solid #dcdcdc;
        border-width: 2px 0 1px; }
      #privacy .section-docs__table tbody th {
        padding: 2rem 3rem;
        border-top: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__table tbody th {
            text-align: left;
            padding: 2rem 2rem; } }
      #privacy .section-docs__table th {
        background: #fbfbfb;
        font-size: 1.6rem;
        line-height: 2.125;
        text-align: center;
        padding: 1rem 2rem; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__table th {
            font-size: 2.4rem; } }
        #privacy .section-docs__table th + th {
          border-left: 1px solid #dcdcdc; }
      #privacy .section-docs__table td {
        font-size: 1.4rem;
        line-height: 2.125;
        text-align: left;
        padding: 2rem 3rem;
        border-top: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #privacy .section-docs__table td {
            font-size: 2.2rem; } }
        #privacy .section-docs__table td + td {
          border-left: 1px solid #dcdcdc; }
        #privacy .section-docs__table td a {
          color: #6a93ef;
          text-decoration: underline; }
          #privacy .section-docs__table td a.is-on {
            text-decoration: none; }
          #privacy .section-docs__table td a.link-pdf:after {
            display: inline-block;
            content: '';
            background: url(../img/common/icn_pdf.png) no-repeat center center;
            background-size: contain;
            width: 1.36rem;
            height: 1.615rem;
            margin-left: 0.1em;
            margin-bottom: 0.3em;
            vertical-align: middle; }
            @media screen and (max-width: 768px) {
              #privacy .section-docs__table td a.link-pdf:after {
                width: 2rem;
                height: 2.375rem;
                margin-left: 0.2em;
                margin-bottom: 0.2em; } }
        #privacy .section-docs__table td p + p {
          margin-top: 1.7em; }
          @media screen and (max-width: 768px) {
            #privacy .section-docs__table td p + p {
              margin-top: 1.6em; } }
      #privacy .section-docs__table tr:last-of-type th,
      #privacy .section-docs__table tr:last-of-type td {
        border-bottom: 1px solid #dcdcdc; }
      #privacy .section-docs__table tr + tr th,
      #privacy .section-docs__table tr + tr td {
        border-top: 1px solid #dcdcdc; }

.image-login01 {
  display: flex;
  justify-content: center;
  width: 120rem;
  margin: 5.2rem auto 9.2rem; }
  @media screen and (max-width: 768px) {
    .image-login01 {
      width: 100%;
      margin-top: 6.6rem; } }
  .image-login01 picture {
    width: 73.1rem; }
    @media screen and (max-width: 768px) {
      .image-login01 picture {
        width: 70.8rem; } }

.image-login02 {
  display: flex;
  justify-content: center;
  width: 120rem;
  margin: 4.4rem auto 0; }
  @media screen and (max-width: 768px) {
    .image-login02 {
      width: 100%;
      margin-top: 6.6rem; } }
  .image-login02 picture {
    width: 69rem; }
    @media screen and (max-width: 768px) {
      .image-login02 picture {
        width: 70.8rem; } }

.image-messaging01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120rem;
  margin: 4.4rem auto 0.8rem; }
  @media screen and (max-width: 768px) {
    .image-messaging01 {
      flex-direction: column;
      width: 100%;
      margin-top: 6.6rem; } }
  .image-messaging01 picture:nth-of-type(1) {
    width: 73.5rem; }
    @media screen and (max-width: 768px) {
      .image-messaging01 picture:nth-of-type(1) {
        width: 70.8rem; } }
  .image-messaging01 picture:nth-of-type(2) {
    width: 29.7rem;
    margin-left: 4rem; }
    @media screen and (max-width: 768px) {
      .image-messaging01 picture:nth-of-type(2) {
        width: 41rem;
        margin-left: 0;
        margin-top: 5rem; } }

.image-messaging02 {
  display: flex;
  justify-content: center;
  width: 120rem;
  margin: 4rem auto 0.8rem; }
  @media screen and (max-width: 768px) {
    .image-messaging02 {
      width: 100%;
      margin-top: 6.6rem; } }
  .image-messaging02 picture {
    width: 43.7rem; }

.list-feature-messaging {
  display: flex;
  flex-wrap: wrap;
  margin: 3.2rem 0 0.8rem; }
  @media screen and (max-width: 768px) {
    .list-feature-messaging {
      margin-top: 5rem;
      padding: 0 0.4rem; } }
  .list-feature-messaging__item {
    background: #fff;
    display: flex;
    align-items: center;
    width: 29rem;
    padding: 1.8rem 0 1.8rem 2rem; }
    @media screen and (max-width: 768px) {
      .list-feature-messaging__item {
        width: 34rem;
        padding: 1.8rem 0 1.8rem 1.2rem; } }
    @media screen and (min-width: 769px) {
      .list-feature-messaging__item:nth-of-type(4n), .list-feature-messaging__item:nth-of-type(4n - 1), .list-feature-messaging__item:nth-of-type(4n - 2) {
        margin-left: calc((100% - 29rem * 4) / 3); } }
    @media screen and (min-width: 769px) {
      .list-feature-messaging__item:nth-of-type(n + 5) {
        margin-top: 2rem; } }
    @media screen and (max-width: 768px) {
      .list-feature-messaging__item:nth-of-type(2n) {
        margin-left: calc(100% - 34rem * 2); } }
    @media screen and (max-width: 768px) {
      .list-feature-messaging__item:nth-of-type(n + 3) {
        margin-top: 2.4rem; } }
  .list-feature-messaging__number {
    color: #fff;
    background: #93a5e5;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 700;
    width: 5rem;
    height: 5rem;
    border-radius: 50%; }
    @media screen and (max-width: 768px) {
      .list-feature-messaging__number {
        font-size: 3.2rem;
        width: 5.8rem;
        height: 5.8rem;
        padding-bottom: 0.4rem; } }
  .list-feature-messaging__text {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    line-height: 1.6666666667;
    min-height: 3.3333333333em;
    padding-left: 1.8rem; }
    @media screen and (max-width: 768px) {
      .list-feature-messaging__text {
        font-size: 3rem;
        line-height: 1.6;
        letter-spacing: -0.02em;
        min-height: 3.6em;
        padding-left: 1.5rem; } }

#solution .list-solution-link,
#solution_detail .list-solution-link {
  display: flex;
  flex-wrap: wrap;
  margin-top: 7.5rem; }
  @media screen and (max-width: 768px) {
    #solution .list-solution-link,
    #solution_detail .list-solution-link {
      justify-content: space-between;
      margin-top: 6.5rem; } }
  #solution .list-solution-link__item,
  #solution_detail .list-solution-link__item {
    position: relative;
    width: 36rem; }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__item,
      #solution_detail .list-solution-link__item {
        width: 33.8rem; } }
    @media screen and (min-width: 769px) {
      #solution .list-solution-link__item:nth-of-type(3n), #solution .list-solution-link__item:nth-of-type(3n - 1),
      #solution_detail .list-solution-link__item:nth-of-type(3n),
      #solution_detail .list-solution-link__item:nth-of-type(3n - 1) {
        margin-left: calc((100% - 36rem * 3) / 2); } }
    @media screen and (min-width: 769px) {
      #solution .list-solution-link__item:nth-of-type(n + 4),
      #solution_detail .list-solution-link__item:nth-of-type(n + 4) {
        margin-top: 3rem; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__item:nth-of-type(n + 3),
      #solution_detail .list-solution-link__item:nth-of-type(n + 3) {
        margin-top: 3rem; } }
    #solution .list-solution-link__item a,
    #solution_detail .list-solution-link__item a {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-decoration: none;
      width: 100%;
      padding: 2.5rem 3.8rem 3.2rem;
      border-radius: 0.4rem; }
      @media screen and (max-width: 768px) {
        #solution .list-solution-link__item a,
        #solution_detail .list-solution-link__item a {
          padding: 3.4rem 2.6rem 2.6rem;
          border-radius: 0.8rem; } }
      #solution .list-solution-link__item a > *,
      #solution_detail .list-solution-link__item a > * {
        position: relative;
        z-index: 2; }
      #solution .list-solution-link__item a.is-on + .list-solution-link__frame,
      #solution_detail .list-solution-link__item a.is-on + .list-solution-link__frame {
        transform: scale(0.97);
        transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    @media screen and (min-width: 769px) {
      #solution .list-solution-link__item:nth-of-type(3n - 1).is-inview,
      #solution_detail .list-solution-link__item:nth-of-type(3n - 1).is-inview {
        transition-delay: 0.1s; } }
    @media screen and (min-width: 769px) {
      #solution .list-solution-link__item:nth-of-type(3n).is-inview,
      #solution_detail .list-solution-link__item:nth-of-type(3n).is-inview {
        transition-delay: 0.2s; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__item:nth-of-type(2n).is-inview,
      #solution_detail .list-solution-link__item:nth-of-type(2n).is-inview {
        transition-delay: 0.1s; } }
  #solution .list-solution-link__frame,
  #solution_detail .list-solution-link__frame {
    position: absolute;
    z-index: 1;
    background: #fff;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0.4rem;
    transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1);
    box-shadow: 0 3rem 4rem rgba(27, 42, 49, 0.2); }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__frame,
      #solution_detail .list-solution-link__frame {
        border-radius: 0.8rem; } }
  #solution .list-solution-link__heading,
  #solution_detail .list-solution-link__heading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 2.4rem;
    line-height: 1.375;
    font-weight: 700;
    text-align: center;
    height: 2.75em; }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__heading,
      #solution_detail .list-solution-link__heading {
        align-items: center;
        font-size: 3.4rem;
        line-height: 1.4285714286;
        min-height: 4.2857142857em; } }
    #solution .list-solution-link__heading small,
    #solution_detail .list-solution-link__heading small {
      font-size: 1.6rem;
      padding-top: 0.2rem;
      padding-bottom: 0.9rem; }
      @media screen and (max-width: 768px) {
        #solution .list-solution-link__heading small,
        #solution_detail .list-solution-link__heading small {
          font-size: 2.4rem;
          padding-top: 0.2rem;
          padding-bottom: 0.9rem; } }
  #solution .list-solution-link__image,
  #solution_detail .list-solution-link__image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 12.8rem;
    padding-bottom: 0.8rem; }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__image,
      #solution_detail .list-solution-link__image {
        height: 19.2rem;
        padding-bottom: 1.4rem; } }
    #solution .list-solution-link__image img,
    #solution_detail .list-solution-link__image img {
      width: 10.5rem;
      height: 10.5rem; }
      @media screen and (max-width: 768px) {
        #solution .list-solution-link__image img,
        #solution_detail .list-solution-link__image img {
          width: 14.6rem;
          height: 14.6rem; } }
    #solution .list-solution-link__image--130,
    #solution_detail .list-solution-link__image--130 {
      padding-bottom: 0; }
      #solution .list-solution-link__image--130 img,
      #solution_detail .list-solution-link__image--130 img {
        width: 13rem; }
        @media screen and (max-width: 768px) {
          #solution .list-solution-link__image--130 img,
          #solution_detail .list-solution-link__image--130 img {
            width: 16.4rem; } }
  #solution .list-solution-link__text,
  #solution_detail .list-solution-link__text {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: -0.01em;
    width: 100%; }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link__text,
      #solution_detail .list-solution-link__text {
        font-size: 3rem;
        line-height: 2; } }
  #solution .list-solution-link--detail,
  #solution_detail .list-solution-link--detail {
    margin-top: 4.5rem; }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail,
      #solution_detail .list-solution-link--detail {
        justify-content: center; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__item,
      #solution_detail .list-solution-link--detail .list-solution-link__item {
        width: 60rem; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__item:nth-of-type(n + 2),
      #solution_detail .list-solution-link--detail .list-solution-link__item:nth-of-type(n + 2) {
        margin-top: 6rem; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__item a,
      #solution_detail .list-solution-link--detail .list-solution-link__item a {
        padding: 4.5rem 4.6rem 4.2rem; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__heading,
      #solution_detail .list-solution-link--detail .list-solution-link__heading {
        font-size: 5rem;
        line-height: 1.375; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__text,
      #solution_detail .list-solution-link--detail .list-solution-link__text {
        font-size: 3rem;
        line-height: 2; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__image,
      #solution_detail .list-solution-link--detail .list-solution-link__image {
        padding: 5rem 0 3.8rem; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__image img,
      #solution_detail .list-solution-link--detail .list-solution-link__image img {
        width: 19.6rem;
        height: 19.6rem; } }
    @media screen and (max-width: 768px) {
      #solution .list-solution-link--detail .list-solution-link__image--130 img,
      #solution_detail .list-solution-link--detail .list-solution-link__image--130 img {
        width: 22.0164383562rem; } }

#solution_detail {
  /* .article-solution
  ----------------------------------------------------------------- */ }
  #solution_detail .article-solution {
    margin-top: 7.6rem; }
    @media screen and (max-width: 768px) {
      #solution_detail .article-solution {
        margin-top: 9rem; } }
    @media screen and (max-width: 768px) {
      #solution_detail .article-solution + .article-solution {
        margin-top: 12rem; } }
    #solution_detail .article-solution__heading {
      font-size: 3rem;
      line-height: 1.8666666667;
      font-weight: 700;
      padding-right: 1rem;
      padding-bottom: 1.7rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #solution_detail .article-solution__heading {
          font-size: 4.4rem;
          line-height: 1.2727272727;
          text-indent: -1.5em;
          padding-left: 1.5em; } }
      #solution_detail .article-solution__heading:before {
        display: inline-block;
        content: '';
        background: url(../img/common/icn_check.svg) no-repeat center center;
        background-size: contain;
        width: 3.2rem;
        height: 3.2rem;
        margin-right: 1.8rem;
        vertical-align: middle;
        margin-bottom: 0.2em; }
        @media screen and (max-width: 768px) {
          #solution_detail .article-solution__heading:before {
            width: 4.6rem;
            height: 4.6rem; } }
    #solution_detail .article-solution__inner {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        #solution_detail .article-solution__inner {
          flex-direction: column; } }
    #solution_detail .article-solution__box {
      width: calc(100% - 51.6rem);
      padding: 2.7rem 4.6rem 0 0; }
      @media screen and (max-width: 768px) {
        #solution_detail .article-solution__box {
          width: 100%;
          padding: 5rem 0 0;
          order: 1; } }
    #solution_detail .article-solution__subheading {
      font-size: 3.4rem;
      line-height: 1.6470588235;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #solution_detail .article-solution__subheading {
          font-size: 4rem;
          line-height: 1.4; } }
      #solution_detail .article-solution__subheading + .article-solution__text {
        margin-top: 1.59375em; }
        @media screen and (max-width: 768px) {
          #solution_detail .article-solution__subheading + .article-solution__text {
            margin-top: 1.5em; } }
    #solution_detail .article-solution__text {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 2.125em; }
      @media screen and (max-width: 768px) {
        #solution_detail .article-solution__text {
          font-size: 3rem;
          line-height: 2;
          margin-top: 2em; } }
    #solution_detail .article-solution__image {
      width: 51.6rem;
      padding-top: 4rem; }
      @media screen and (max-width: 768px) {
        #solution_detail .article-solution__image {
          width: 100%;
          order: 0; } }

#apphub .image-apphub {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 7.4rem 0 6.6rem;
  padding-bottom: 2.4rem; }
  @media screen and (max-width: 768px) {
    #apphub .image-apphub {
      margin: 8.4rem 0 9.2rem;
      padding-bottom: 1.92rem; } }
  #apphub .image-apphub__main {
    width: 68.8rem; }
    @media screen and (max-width: 768px) {
      #apphub .image-apphub__main {
        width: 55.04rem; } }
  #apphub .image-apphub__sub {
    position: absolute;
    left: calc(50% - 89.5rem / 2 - -1.9rem);
    bottom: 0;
    width: 89.5rem;
    height: 19.3rem; }
    @media screen and (max-width: 768px) {
      #apphub .image-apphub__sub {
        left: calc(50% - 71.6rem / 2);
        width: 71.6rem;
        height: 15.44rem; } }

.image-sso {
  display: flex;
  justify-content: flex-end;
  width: 120rem;
  margin: 4.4rem auto 0; }
  @media screen and (max-width: 768px) {
    .image-sso {
      display: block;
      width: 100%;
      overflow: hidden;
      margin-top: 6.6rem;
      padding-left: 2rem; } }
  .image-sso picture {
    width: 109.5rem; }
    @media screen and (max-width: 768px) {
      .image-sso picture {
        width: 88rem; } }
    @media screen and (max-width: 768px) {
      .image-sso picture img {
        width: 88rem;
        max-width: 88rem; } }

#blog,
#case {
  /* .list-blog-category
  ----------------------------------------------------------------- */
  /* .list-blog-link
  ----------------------------------------------------------------- */
  /* .list-paging
  ----------------------------------------------------------------- */ }
  #blog .list-blog-category,
  #case .list-blog-category {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 6rem; }
    @media screen and (max-width: 768px) {
      #blog .list-blog-category,
      #case .list-blog-category {
        padding-top: 8rem; } }
    @media screen and (max-width: 768px) {
      #blog .list-blog-category__item,
      #case .list-blog-category__item {
        margin: 0 1.2rem 2.4rem; } }
    @media screen and (min-width: 769px) {
      #blog .list-blog-category__item:nth-of-type(n + 2),
      #case .list-blog-category__item:nth-of-type(n + 2) {
        margin-left: 3rem; } }
    #blog .list-blog-category__item a,
    #blog .list-blog-category__item button,
    #case .list-blog-category__item a,
    #case .list-blog-category__item button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.8rem;
      line-height: 1;
      font-weight: 700;
      text-decoration: none;
      width: 20rem;
      height: 5rem;
      border-radius: 2.5rem;
      transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        #blog .list-blog-category__item a,
        #blog .list-blog-category__item button,
        #case .list-blog-category__item a,
        #case .list-blog-category__item button {
          font-size: 2.4rem;
          width: 22rem;
          height: 6rem;
          border-radius: 3rem; } }
      #blog .list-blog-category__item a.is-current,
      #blog .list-blog-category__item button.is-current,
      #case .list-blog-category__item a.is-current,
      #case .list-blog-category__item button.is-current {
        color: #fff;
        background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
        background-size: 300% 300%;
        pointer-events: none; }
      #blog .list-blog-category__item a.is-on,
      #blog .list-blog-category__item button.is-on,
      #case .list-blog-category__item a.is-on,
      #case .list-blog-category__item button.is-on {
        color: #fff; }
        #blog .list-blog-category__item a.is-on:after,
        #blog .list-blog-category__item button.is-on:after,
        #case .list-blog-category__item a.is-on:after,
        #case .list-blog-category__item button.is-on:after {
          opacity: 1; }
      #blog .list-blog-category__item a > *,
      #blog .list-blog-category__item button > *,
      #case .list-blog-category__item a > *,
      #case .list-blog-category__item button > * {
        position: relative;
        z-index: 2; }
      #blog .list-blog-category__item a:before,
      #blog .list-blog-category__item button:before,
      #case .list-blog-category__item a:before,
      #case .list-blog-category__item button:before {
        display: block;
        position: absolute;
        z-index: -2;
        content: '';
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.25); }
        @media screen and (max-width: 768px) {
          #blog .list-blog-category__item a:before,
          #blog .list-blog-category__item button:before,
          #case .list-blog-category__item a:before,
          #case .list-blog-category__item button:before {
            border-radius: 3rem; } }
      #blog .list-blog-category__item a:after,
      #blog .list-blog-category__item button:after,
      #case .list-blog-category__item a:after,
      #case .list-blog-category__item button:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: linear-gradient(to right, #22404e, #10252f);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 2.5rem;
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #blog .list-blog-category__item a:after,
          #blog .list-blog-category__item button:after,
          #case .list-blog-category__item a:after,
          #case .list-blog-category__item button:after {
            border-radius: 3rem; } }
  #blog .list-blog-link,
  #case .list-blog-link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 120rem;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      #blog .list-blog-link,
      #case .list-blog-link {
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%; } }
    #blog .list-blog-link__item,
    #case .list-blog-link__item {
      position: relative;
      width: 36rem; }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__item,
        #case .list-blog-link__item {
          width: 32rem; } }
      @media screen and (min-width: 769px) {
        #blog .list-blog-link__item:nth-of-type(3n), #blog .list-blog-link__item:nth-of-type(3n - 1),
        #case .list-blog-link__item:nth-of-type(3n),
        #case .list-blog-link__item:nth-of-type(3n - 1) {
          margin-left: calc((100% - 36rem * 3) / 2); } }
      @media screen and (min-width: 769px) {
        #blog .list-blog-link__item:nth-of-type(n + 4),
        #case .list-blog-link__item:nth-of-type(n + 4) {
          margin-top: 5rem; } }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__item:nth-of-type(n + 3),
        #case .list-blog-link__item:nth-of-type(n + 3) {
          margin-top: 6rem; } }
      @media screen and (min-width: 769px) {
        #blog .list-blog-link__item:nth-of-type(3n - 1),
        #case .list-blog-link__item:nth-of-type(3n - 1) {
          transition-delay: 0.1s; } }
      @media screen and (min-width: 769px) {
        #blog .list-blog-link__item:nth-of-type(3n),
        #case .list-blog-link__item:nth-of-type(3n) {
          transition-delay: 0.2s; } }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__item:nth-of-type(2n),
        #case .list-blog-link__item:nth-of-type(2n) {
          transition-delay: 0.1s; } }
      #blog .list-blog-link__item > *,
      #case .list-blog-link__item > * {
        position: relative;
        z-index: 2; }
      #blog .list-blog-link__item a,
      #case .list-blog-link__item a {
        display: block;
        text-decoration: none; }
    #blog .list-blog-link__image,
    #case .list-blog-link__image {
      width: 100%;
      height: 22rem;
      border-radius: 0.4rem;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__image,
        #case .list-blog-link__image {
          height: 19.6rem;
          border-radius: 0.8rem; } }
    #blog .list-blog-link__date,
    #case .list-blog-link__date {
      color: #646464;
      font-size: 1.4rem;
      line-height: 2.1428571429;
      font-weight: 500;
      margin-top: 1.2rem; }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__date,
        #case .list-blog-link__date {
          font-size: 2.4rem;
          line-height: 1.25;
          margin-top: 2.4rem; } }
    #blog .list-blog-link__heading,
    #case .list-blog-link__heading {
      font-size: 2rem;
      line-height: 1.5;
      font-weight: 700;
      letter-spacing: 0.01em;
      margin-top: 0.5rem; }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__heading,
        #case .list-blog-link__heading {
          font-size: 3rem;
          line-height: 1.4666666667;
          margin-top: 1.4rem; } }
    #blog .list-blog-link__text,
    #case .list-blog-link__text {
      font-size: 1.6rem;
      line-height: 1.875;
      letter-spacing: -0.01em;
      margin-top: 0.8rem; }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__text,
        #case .list-blog-link__text {
          font-size: 2.4rem;
          line-height: 1.6666666667;
          margin-top: 1.4rem;
          display: -webkit-box;
          /* autoprefixer: ignore next */
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 4;
          overflow: hidden; } }
    #blog .list-blog-link__tag,
    #case .list-blog-link__tag {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      margin-top: 1rem; }
      @media screen and (max-width: 768px) {
        #blog .list-blog-link__tag,
        #case .list-blog-link__tag {
          width: calc(100% + 1.2rem);
          margin-top: 1.4rem; } }
      #blog .list-blog-link__tag span,
      #case .list-blog-link__tag span {
        background: #fff;
        position: relative;
        flex: 0 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 500;
        text-decoration: none;
        height: 3rem;
        border-radius: 1.5rem;
        margin: 0 1rem 1rem 0;
        padding: 0 2rem; }
        @media screen and (max-width: 768px) {
          #blog .list-blog-link__tag span,
          #case .list-blog-link__tag span {
            font-size: 2rem;
            height: 4.2rem;
            border-radius: 2.1rem;
            margin: 0 1.2rem 1.2rem 0;
            padding: 0 1.8rem; } }
        #blog .list-blog-link__tag span:before,
        #case .list-blog-link__tag span:before {
          display: block;
          position: absolute;
          z-index: -1;
          content: '';
          background: #fff;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          border-radius: 1.5rem;
          box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.2); }
          @media screen and (max-width: 768px) {
            #blog .list-blog-link__tag span:before,
            #case .list-blog-link__tag span:before {
              border-radius: 2.1rem; } }
  #blog .list-blog-link__item a .list-blog-link__image,
  #case .list-blog-link__item a .list-blog-link__image {
    overflow: hidden;
    filter: saturate(0.2) brightness(0.8);
    transition: filter 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    #blog .list-blog-link__item a .list-blog-link__image img,
    #case .list-blog-link__item a .list-blog-link__image img {
      transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
  #blog .list-blog-link__item a.is-on .list-blog-link__image,
  #case .list-blog-link__item a.is-on .list-blog-link__image {
    filter: saturate(1) brightness(1);
    transition: filter 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    #blog .list-blog-link__item a.is-on .list-blog-link__image img,
    #case .list-blog-link__item a.is-on .list-blog-link__image img {
      transform: scale(1.04);
      transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
  #blog .list-paging,
  #case .list-paging {
    display: flex;
    justify-content: center;
    margin-top: 11rem; }
    @media screen and (max-width: 768px) {
      #blog .list-paging,
      #case .list-paging {
        justify-content: space-between;
        margin-top: 10.8rem; } }
    @media screen and (min-width: 769px) {
      #blog .list-paging__item:nth-of-type(n + 2),
      #case .list-paging__item:nth-of-type(n + 2) {
        margin-left: 5rem; } }
    #blog .list-paging__button,
    #case .list-paging__button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2rem;
      line-height: 1;
      width: 4rem;
      height: 4rem;
      padding-bottom: 0.2rem;
      border-radius: 0.4rem;
      transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        #blog .list-paging__button,
        #case .list-paging__button {
          font-size: 3.6rem;
          width: 7.2rem;
          height: 7.2rem;
          border-radius: 0.6rem; } }
      #blog .list-paging__button.is-current,
      #case .list-paging__button.is-current {
        color: #fff;
        background: linear-gradient(to right, #22404e, #10252f, #1b557b, #123b57);
        background-size: 300% 300%;
        pointer-events: none; }
      #blog .list-paging__button.is-on,
      #case .list-paging__button.is-on {
        color: #fff; }
        #blog .list-paging__button.is-on:after,
        #case .list-paging__button.is-on:after {
          opacity: 1; }
      #blog .list-paging__button:after,
      #case .list-paging__button:after {
        display: block;
        position: absolute;
        z-index: -1;
        content: '';
        background: linear-gradient(to right, #22404e, #10252f);
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 0.4rem;
        opacity: 0;
        transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #blog .list-paging__button:after,
          #case .list-paging__button:after {
            border-radius: 0.6rem; } }
      #blog .list-paging__button--arrow:before,
      #case .list-paging__button--arrow:before {
        display: block;
        content: '';
        width: 1rem;
        height: 1rem;
        box-sizing: border-box;
        border: solid #1b2a31;
        border-width: 1px 1px 0 0;
        transition: border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #blog .list-paging__button--arrow:before,
          #case .list-paging__button--arrow:before {
            width: 3.2rem;
            height: 3.2rem;
            border-width: 0.4rem 0.4rem 0 0; } }
      #blog .list-paging__button--arrow.is-on:before,
      #case .list-paging__button--arrow.is-on:before {
        border-color: #c8d6de; }
      #blog .list-paging__button--arrow.is-disabled,
      #case .list-paging__button--arrow.is-disabled {
        opacity: 0.25;
        pointer-events: none; }
    #blog .list-paging__item:first-of-type .list-paging__button,
    #case .list-paging__item:first-of-type .list-paging__button {
      padding-left: 0.6rem; }
      @media screen and (max-width: 768px) {
        #blog .list-paging__item:first-of-type .list-paging__button,
        #case .list-paging__item:first-of-type .list-paging__button {
          padding-left: 1.6rem; } }
      #blog .list-paging__item:first-of-type .list-paging__button:before,
      #case .list-paging__item:first-of-type .list-paging__button:before {
        transform: rotate(-135deg); }
    @media screen and (min-width: 769px) {
      #blog .list-paging__item:first-of-type + .list-paging__item,
      #case .list-paging__item:first-of-type + .list-paging__item {
        margin-left: 8rem; } }
    @media screen and (min-width: 769px) {
      #blog .list-paging__item:last-of-type,
      #case .list-paging__item:last-of-type {
        margin-left: 8rem; } }
    #blog .list-paging__item:last-of-type .list-paging__button,
    #case .list-paging__item:last-of-type .list-paging__button {
      padding-right: 0.6rem; }
      @media screen and (max-width: 768px) {
        #blog .list-paging__item:last-of-type .list-paging__button,
        #case .list-paging__item:last-of-type .list-paging__button {
          padding-right: 1.6rem; } }
      #blog .list-paging__item:last-of-type .list-paging__button:before,
      #case .list-paging__item:last-of-type .list-paging__button:before {
        transform: rotate(45deg); }

#blog_detail,
#case_detail {
  /* .section-blog
  ----------------------------------------------------------------- */
  /* .list-blog-float
  ----------------------------------------------------------------- */ }
  #blog_detail .section-blog,
  #case_detail .section-blog {
    display: flex;
    justify-content: space-between;
    width: 120rem;
    margin: 0 auto;
    padding: 8rem 0 0;
    /* __main
    ----------------------------------------------------------------- */
    /* __sub
    ----------------------------------------------------------------- */ }
    @media screen and (max-width: 768px) {
      #blog_detail .section-blog,
      #case_detail .section-blog {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 0; } }
    @media screen and (max-width: 768px) {
      #blog_detail .section-blog:before,
      #case_detail .section-blog:before {
        display: block;
        content: '';
        background: #f5f5f5;
        width: 100%;
        height: 10rem; } }
    #blog_detail .section-blog__main,
    #case_detail .section-blog__main {
      width: 80rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__main,
        #case_detail .section-blog__main {
          width: 70.8rem;
          padding: 5.4rem 0 0; } }
    #blog_detail .section-blog__sub,
    #case_detail .section-blog__sub {
      width: 34.2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__sub,
        #case_detail .section-blog__sub {
          width: 70.8rem;
          padding: 12rem 0 0; } }
    #blog_detail .section-blog__back,
    #case_detail .section-blog__back {
      display: flex;
      justify-content: flex-start;
      padding-bottom: 2.8rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__back,
        #case_detail .section-blog__back {
          padding-bottom: 3.2rem;
          border-bottom-width: 0.2rem; } }
      #blog_detail .section-blog__back a,
      #case_detail .section-blog__back a {
        position: relative;
        display: flex;
        align-items: center;
        font-size: 1.4rem;
        line-height: 1.6071428571;
        font-weight: 700;
        text-decoration: none;
        padding-left: 4rem;
        transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__back a,
          #case_detail .section-blog__back a {
            font-size: 2.6rem;
            line-height: 1.0769230769; } }
        #blog_detail .section-blog__back a:before,
        #case_detail .section-blog__back a:before {
          display: flex;
          position: absolute;
          left: 0.2rem;
          top: calc(50% - 1rem / 2);
          content: '';
          width: 1rem;
          height: 1rem;
          box-sizing: border-box;
          border: solid #000;
          border-width: 1px 1px 0 0;
          transform: rotate(-135deg);
          transition: border-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__back a:before,
            #case_detail .section-blog__back a:before {
              left: 0.5rem;
              top: calc(50% - 2rem / 2);
              width: 2rem;
              height: 2rem;
              border-width: 0.3rem 0.3rem 0 0; } }
        #blog_detail .section-blog__back a.is-on,
        #case_detail .section-blog__back a.is-on {
          color: #6a93ef; }
          #blog_detail .section-blog__back a.is-on:before,
          #case_detail .section-blog__back a.is-on:before {
            border-color: #6a93ef; }
    #blog_detail .section-blog__date,
    #case_detail .section-blog__date {
      color: #646464;
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 500;
      margin-top: 4rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__date,
        #case_detail .section-blog__date {
          font-size: 2.4rem;
          margin-top: 7.4rem; } }
    #blog_detail .section-blog__heading,
    #case_detail .section-blog__heading {
      font-size: 3.4rem;
      line-height: 1.6470588235;
      font-weight: 700;
      margin-top: 1.2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__heading,
        #case_detail .section-blog__heading {
          font-size: 4.4rem;
          line-height: 1.5;
          margin-top: 2rem; } }
    #blog_detail .section-blog__tag,
    #case_detail .section-blog__tag {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      margin-top: 1.7rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__tag,
        #case_detail .section-blog__tag {
          margin-top: 2.4rem; } }
      #blog_detail .section-blog__tag span,
      #case_detail .section-blog__tag span {
        position: relative;
        flex: 0 0 auto;
        text-decoration: none;
        margin: 0 1rem 1rem 0; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__tag span,
          #case_detail .section-blog__tag span {
            margin: 0 1.2rem 1.2rem 0; } }
        #blog_detail .section-blog__tag span a,
        #case_detail .section-blog__tag span a {
          text-decoration: none;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.4rem;
          line-height: 1;
          font-weight: 500;
          height: 3rem;
          border-radius: 1.5rem;
          padding: 0 2rem;
          transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__tag span a,
            #case_detail .section-blog__tag span a {
              font-size: 2rem;
              height: 4.2rem;
              border-radius: 2.1rem;
              padding: 0 2.6rem; } }
          #blog_detail .section-blog__tag span a.is-on,
          #case_detail .section-blog__tag span a.is-on {
            color: #fff; }
            #blog_detail .section-blog__tag span a.is-on:after,
            #case_detail .section-blog__tag span a.is-on:after {
              opacity: 1; }
          #blog_detail .section-blog__tag span a:after,
          #case_detail .section-blog__tag span a:after {
            display: block;
            position: absolute;
            z-index: -1;
            content: '';
            background: linear-gradient(to right, #22404e, #10252f);
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            border-radius: 1.5rem;
            opacity: 0;
            transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
            @media screen and (max-width: 768px) {
              #blog_detail .section-blog__tag span a:after,
              #case_detail .section-blog__tag span a:after {
                border-radius: 2.1rem; } }
        #blog_detail .section-blog__tag span > *,
        #case_detail .section-blog__tag span > * {
          position: relative;
          z-index: 2; }
        #blog_detail .section-blog__tag span:before,
        #case_detail .section-blog__tag span:before {
          display: block;
          position: absolute;
          z-index: -2;
          content: '';
          background: #fff;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          border-radius: 1.5rem;
          box-shadow: 0 1rem 2rem rgba(27, 42, 49, 0.2); }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__tag span:before,
            #case_detail .section-blog__tag span:before {
              border-radius: 2.1rem; } }
    #blog_detail .section-blog__image,
    #case_detail .section-blog__image {
      display: flex;
      margin-top: 3rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__image,
        #case_detail .section-blog__image {
          margin-top: 5rem; } }
      #blog_detail .section-blog__image picture,
      #case_detail .section-blog__image picture {
        display: block;
        border-radius: 0.6rem;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__image picture,
          #case_detail .section-blog__image picture {
            border-radius: 1.2rem; } }
      #blog_detail .section-blog__image img,
      #case_detail .section-blog__image img {
        display: block; }
    #blog_detail .section-blog__index,
    #case_detail .section-blog__index {
      background: #f4f6fb;
      margin-top: 5rem;
      padding: 2.8rem 3.2rem 2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__index,
        #case_detail .section-blog__index {
          padding: 5rem 3.8rem 2.8rem; } }
      #blog_detail .section-blog__index-heading,
      #case_detail .section-blog__index-heading {
        font-size: 2rem;
        line-height: 1;
        font-weight: 700; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__index-heading,
          #case_detail .section-blog__index-heading {
            font-size: 4rem; } }
      #blog_detail .section-blog__index-list,
      #case_detail .section-blog__index-list {
        font-size: 1.6rem;
        line-height: 2.125;
        font-weight: 300;
        list-style-type: decimal;
        margin-top: 1rem;
        padding-left: 1.25em; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__index-list,
          #case_detail .section-blog__index-list {
            font-size: 3rem;
            line-height: 2.6666666667;
            margin-top: 1.6rem; } }
    #blog_detail .section-blog__content,
    #case_detail .section-blog__content {
      font-size: 1.6rem;
      line-height: 2.125;
      margin-top: 2.44375em; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__content,
        #case_detail .section-blog__content {
          font-size: 3rem;
          line-height: 2;
          margin-top: 2.8em; } }
      #blog_detail .section-blog__content p,
      #case_detail .section-blog__content p {
        font-size: 1.6rem;
        line-height: 2.125; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__content p,
          #case_detail .section-blog__content p {
            font-size: 3rem;
            line-height: 2; } }
        #blog_detail .section-blog__content p + p,
        #case_detail .section-blog__content p + p {
          margin-top: 2.125em; }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__content p + p,
            #case_detail .section-blog__content p + p {
              margin-top: 2em; } }
      #blog_detail .section-blog__content h1,
      #case_detail .section-blog__content h1 {
        font-size: 3.4rem;
        line-height: 1.6470588235;
        font-weight: 700;
        margin-top: 6.8rem;
        padding-top: 6.6rem;
        border-top: 2px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__content h1,
          #case_detail .section-blog__content h1 {
            font-size: 4rem;
            line-height: 1.4;
            border-width: 0.4rem; } }
      #blog_detail .section-blog__content h2,
      #case_detail .section-blog__content h2 {
        font-size: 3rem;
        line-height: 1.8666666667;
        font-weight: 700;
        margin-top: 6.8rem;
        padding-top: 6.6rem;
        border-top: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__content h2,
          #case_detail .section-blog__content h2 {
            font-size: 4.4rem;
            line-height: 1.2727272727;
            margin-top: 8.6rem;
            padding-top: 9rem;
            border-width: 0.2rem; } }
      #blog_detail .section-blog__content h3,
      #case_detail .section-blog__content h3 {
        font-size: 2.4rem;
        line-height: 1.4166666667;
        font-weight: 700;
        margin-top: 3rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__content h3,
          #case_detail .section-blog__content h3 {
            font-size: 4rem;
            line-height: 1.5;
            margin-top: 5.8rem; } }
      #blog_detail .section-blog__content h4,
      #case_detail .section-blog__content h4 {
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 700;
        margin-top: 3.4rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__content h4,
          #case_detail .section-blog__content h4 {
            font-size: 3.6rem;
            line-height: 1.6666666667;
            margin-top: 6.4rem;
            margin-bottom: 0.8rem; } }
    #blog_detail .section-blog__links,
    #case_detail .section-blog__links {
      background: #f4f6fb;
      margin-top: 4rem;
      padding: 2.8rem 3.2rem 2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__links,
        #case_detail .section-blog__links {
          margin-top: 8rem;
          padding: 5rem 3.8rem 2.8rem; } }
      #blog_detail .section-blog__links-heading,
      #case_detail .section-blog__links-heading {
        font-size: 2rem;
        line-height: 1;
        font-weight: 700; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__links-heading,
          #case_detail .section-blog__links-heading {
            font-size: 4rem; } }
      #blog_detail .section-blog__links-list,
      #case_detail .section-blog__links-list {
        font-size: 1.6rem;
        line-height: 2.125;
        font-weight: 300;
        margin-top: 1rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__links-list,
          #case_detail .section-blog__links-list {
            font-size: 3rem;
            line-height: 2.6666666667;
            margin-top: 1.6rem; } }
        #blog_detail .section-blog__links-list li:before,
        #case_detail .section-blog__links-list li:before {
          display: inline-block;
          content: '・';
          font-weight: 600;
          width: 0.8em; }
        #blog_detail .section-blog__links-list li a,
        #case_detail .section-blog__links-list li a {
          text-decoration: none;
          transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); }
          #blog_detail .section-blog__links-list li a.is-on,
          #case_detail .section-blog__links-list li a.is-on {
            color: #6a93ef;
            text-decoration: underline; }
    #blog_detail .section-blog__button,
    #case_detail .section-blog__button {
      display: flex;
      justify-content: center;
      margin-top: 5rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__button,
        #case_detail .section-blog__button {
          margin-top: 8rem;
          margin-bottom: 2rem; } }
    #blog_detail .section-blog__sub-heading,
    #case_detail .section-blog__sub-heading {
      font-size: 2rem;
      line-height: 1.7;
      font-weight: 700;
      margin-bottom: 2.4rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__sub-heading,
        #case_detail .section-blog__sub-heading {
          font-size: 5rem;
          margin-bottom: 5rem; } }
    #blog_detail .section-blog__ranking-list li,
    #case_detail .section-blog__ranking-list li {
      padding-bottom: 2rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__ranking-list li,
        #case_detail .section-blog__ranking-list li {
          padding-bottom: 3rem;
          border-bottom-width: 0.2rem; } }
      #blog_detail .section-blog__ranking-list li:nth-of-type(n + 2),
      #case_detail .section-blog__ranking-list li:nth-of-type(n + 2) {
        margin-top: 2rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__ranking-list li:nth-of-type(n + 2),
          #case_detail .section-blog__ranking-list li:nth-of-type(n + 2) {
            margin-top: 3rem; } }
      #blog_detail .section-blog__ranking-list li a,
      #case_detail .section-blog__ranking-list li a {
        display: flex;
        text-decoration: none; }
        #blog_detail .section-blog__ranking-list li a.is-on .section-blog__ranking-image img,
        #case_detail .section-blog__ranking-list li a.is-on .section-blog__ranking-image img {
          transform: scale(1.04);
          transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    #blog_detail .section-blog__ranking-image,
    #case_detail .section-blog__ranking-image {
      width: 8.4rem;
      height: 8.4rem;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__ranking-image,
        #case_detail .section-blog__ranking-image {
          width: 14rem;
          height: 14rem; } }
      #blog_detail .section-blog__ranking-image img,
      #case_detail .section-blog__ranking-image img {
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    #blog_detail .section-blog__ranking-box,
    #case_detail .section-blog__ranking-box {
      position: relative;
      width: calc(100% - 8.4rem);
      padding: 0 1.5rem 0 1.1rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__ranking-box,
        #case_detail .section-blog__ranking-box {
          width: calc(100% - 14rem);
          padding: 0 4rem 0 3.2rem; } }
      #blog_detail .section-blog__ranking-box:before,
      #case_detail .section-blog__ranking-box:before {
        display: flex;
        position: absolute;
        right: 0.2rem;
        top: calc(50% - 1rem / 2);
        content: '';
        width: 1rem;
        height: 1rem;
        box-sizing: border-box;
        border: solid #000;
        border-width: 1px 1px 0 0;
        transform: rotate(45deg); }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__ranking-box:before,
          #case_detail .section-blog__ranking-box:before {
            right: 1.5rem;
            top: calc(50% - 1.8rem / 2);
            width: 1.8rem;
            height: 1.8rem;
            border-width: 0.2rem 0.2rem 0 0; } }
    #blog_detail .section-blog__ranking-text,
    #case_detail .section-blog__ranking-text {
      font-size: 1.6rem;
      line-height: 1.75;
      font-weight: 700;
      text-align: left;
      letter-spacing: -0.03em;
      display: -webkit-box;
      /* autoprefixer: ignore next */
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__ranking-text,
        #case_detail .section-blog__ranking-text {
          font-size: 2.8rem;
          line-height: 1.6428571429;
          letter-spacing: 0.02em; } }
    #blog_detail .section-blog__ranking-tag,
    #case_detail .section-blog__ranking-tag {
      color: #646464;
      font-size: 1.4rem;
      line-height: 2.1428571429; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__ranking-tag,
        #case_detail .section-blog__ranking-tag {
          font-size: 2rem;
          line-height: 1.5;
          margin-top: 0.8rem; } }
      #blog_detail .section-blog__ranking-tag span + span,
      #case_detail .section-blog__ranking-tag span + span {
        margin-left: 1.6rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__ranking-tag span + span,
          #case_detail .section-blog__ranking-tag span + span {
            margin-left: 2rem; } }
    #blog_detail .section-blog__case,
    #case_detail .section-blog__case {
      margin-top: 5.2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__case,
        #case_detail .section-blog__case {
          margin-top: 7.8rem; } }
      #blog_detail .section-blog__case-list li,
      #case_detail .section-blog__case-list li {
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__case-list li,
          #case_detail .section-blog__case-list li {
            padding-bottom: 2.2rem;
            border-bottom-width: 0.2rem; } }
        #blog_detail .section-blog__case-list li:nth-of-type(n + 2),
        #case_detail .section-blog__case-list li:nth-of-type(n + 2) {
          margin-top: 2rem; }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__case-list li:nth-of-type(n + 2),
            #case_detail .section-blog__case-list li:nth-of-type(n + 2) {
              margin-top: 3rem; } }
        #blog_detail .section-blog__case-list li a,
        #case_detail .section-blog__case-list li a {
          display: flex;
          text-decoration: none; }
          #blog_detail .section-blog__case-list li a.is-on .section-blog__case-image img,
          #case_detail .section-blog__case-list li a.is-on .section-blog__case-image img {
            transform: scale(1.04);
            transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
      #blog_detail .section-blog__case-image,
      #case_detail .section-blog__case-image {
        width: 8.4rem;
        height: 8.4rem;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__case-image,
          #case_detail .section-blog__case-image {
            width: 14rem;
            height: 14rem; } }
        #blog_detail .section-blog__case-image img,
        #case_detail .section-blog__case-image img {
          transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
      #blog_detail .section-blog__case-box,
      #case_detail .section-blog__case-box {
        position: relative;
        width: calc(100% - 8.4rem);
        margin: -0.4rem 0 0;
        padding: 0 1.5rem 0 1.1rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__case-box,
          #case_detail .section-blog__case-box {
            width: calc(100% - 14rem);
            margin: -1rem 0 0;
            padding: 0 4rem 0 3rem; } }
        #blog_detail .section-blog__case-box:before,
        #case_detail .section-blog__case-box:before {
          display: flex;
          position: absolute;
          right: 0.2rem;
          top: calc(50% - 1rem / 2);
          content: '';
          width: 1rem;
          height: 1rem;
          box-sizing: border-box;
          border: solid #000;
          border-width: 1px 1px 0 0;
          transform: rotate(45deg); }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__case-box:before,
            #case_detail .section-blog__case-box:before {
              right: 1.5rem;
              top: calc(50% - 1.8rem / 2);
              width: 1.8rem;
              height: 1.8rem;
              border-width: 0.2rem 0.2rem 0 0; } }
      #blog_detail .section-blog__case-heading,
      #case_detail .section-blog__case-heading {
        font-size: 1.6rem;
        line-height: 1.75;
        font-weight: 700;
        text-align: left;
        letter-spacing: -0.03em;
        display: -webkit-box;
        /* autoprefixer: ignore next */
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__case-heading,
          #case_detail .section-blog__case-heading {
            font-size: 2.8rem;
            line-height: 1.6428571429;
            letter-spacing: 0.02em; } }
      #blog_detail .section-blog__case-text,
      #case_detail .section-blog__case-text {
        color: #646464;
        font-size: 1.4rem;
        line-height: 1.7142857143;
        text-align: left;
        letter-spacing: -0.03em;
        display: -webkit-box;
        /* autoprefixer: ignore next */
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__case-text,
          #case_detail .section-blog__case-text {
            font-size: 2.4rem;
            line-height: 1.6666666667;
            letter-spacing: 0.02em;
            margin-top: 0.4rem; } }
    #blog_detail .section-blog__app,
    #case_detail .section-blog__app {
      margin-top: 5.2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__app,
        #case_detail .section-blog__app {
          margin-top: 7.8rem; } }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__app-list,
        #case_detail .section-blog__app-list {
          margin-top: -2.2rem; } }
      #blog_detail .section-blog__app-list li,
      #case_detail .section-blog__app-list li {
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__app-list li,
          #case_detail .section-blog__app-list li {
            padding-bottom: 2.6rem;
            border-bottom-width: 0.2rem; } }
        #blog_detail .section-blog__app-list li:nth-of-type(n + 2),
        #case_detail .section-blog__app-list li:nth-of-type(n + 2) {
          margin-top: 2rem; }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__app-list li:nth-of-type(n + 2),
            #case_detail .section-blog__app-list li:nth-of-type(n + 2) {
              margin-top: 2.6rem; } }
        #blog_detail .section-blog__app-list li a,
        #case_detail .section-blog__app-list li a {
          display: flex;
          align-items: center;
          text-decoration: none; }
      #blog_detail .section-blog__app-logo,
      #case_detail .section-blog__app-logo {
        width: 8.2rem;
        height: 2rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__app-logo,
          #case_detail .section-blog__app-logo {
            width: 13.2rem;
            height: 3.2rem; } }
      #blog_detail .section-blog__app-text,
      #case_detail .section-blog__app-text {
        position: relative;
        font-size: 1.6rem;
        line-height: 1.75;
        font-weight: 700;
        text-align: left;
        letter-spacing: -0.03em;
        width: calc(100% - 8.2rem);
        padding-left: 3rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__app-text,
          #case_detail .section-blog__app-text {
            font-size: 3.6rem;
            letter-spacing: 0.02em;
            width: calc(100% - 13.2rem);
            padding-left: 4.2rem; } }
        #blog_detail .section-blog__app-text:before,
        #case_detail .section-blog__app-text:before {
          display: flex;
          position: absolute;
          right: 0.2rem;
          top: calc(50% - 1rem / 2);
          content: '';
          width: 1rem;
          height: 1rem;
          box-sizing: border-box;
          border: solid #000;
          border-width: 1px 1px 0 0;
          transform: rotate(45deg); }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__app-text:before,
            #case_detail .section-blog__app-text:before {
              right: 1.5rem;
              top: calc(50% - 1.8rem / 2);
              width: 1.8rem;
              height: 1.8rem;
              border-width: 0.2rem 0.2rem 0 0; } }
    #blog_detail .section-blog__function,
    #case_detail .section-blog__function {
      margin-top: 5.2rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__function,
        #case_detail .section-blog__function {
          margin-top: 7.8rem; } }
      @media screen and (max-width: 768px) {
        #blog_detail .section-blog__function-list,
        #case_detail .section-blog__function-list {
          margin-top: -2.2rem; } }
      #blog_detail .section-blog__function-list li,
      #case_detail .section-blog__function-list li {
        padding-bottom: 1.5rem;
        border-bottom: 1px solid #dcdcdc; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__function-list li,
          #case_detail .section-blog__function-list li {
            padding-bottom: 2.6rem;
            border-bottom-width: 0.2rem; } }
        #blog_detail .section-blog__function-list li:nth-of-type(n + 2),
        #case_detail .section-blog__function-list li:nth-of-type(n + 2) {
          margin-top: 2rem; }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__function-list li:nth-of-type(n + 2),
            #case_detail .section-blog__function-list li:nth-of-type(n + 2) {
              margin-top: 2.6rem; } }
        #blog_detail .section-blog__function-list li a,
        #case_detail .section-blog__function-list li a {
          display: flex;
          align-items: center;
          text-decoration: none;
          padding: 0 0 0 1rem; }
      #blog_detail .section-blog__function-image,
      #case_detail .section-blog__function-image {
        width: 3.2rem;
        height: 3.2rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__function-image,
          #case_detail .section-blog__function-image {
            width: 5.2rem;
            height: 5.2rem; } }
      #blog_detail .section-blog__function-text,
      #case_detail .section-blog__function-text {
        position: relative;
        font-size: 1.6rem;
        line-height: 1.75;
        font-weight: 700;
        text-align: left;
        width: calc(100% - 3.2rem);
        padding-left: 7rem; }
        @media screen and (max-width: 768px) {
          #blog_detail .section-blog__function-text,
          #case_detail .section-blog__function-text {
            font-size: 3.6rem;
            letter-spacing: 0.02em;
            width: calc(100% - 5.2rem);
            padding-left: 11.2rem; } }
        #blog_detail .section-blog__function-text:before,
        #case_detail .section-blog__function-text:before {
          display: flex;
          position: absolute;
          right: 0.2rem;
          top: calc(50% - 1rem / 2);
          content: '';
          width: 1rem;
          height: 1rem;
          box-sizing: border-box;
          border: solid #000;
          border-width: 1px 1px 0 0;
          transform: rotate(45deg); }
          @media screen and (max-width: 768px) {
            #blog_detail .section-blog__function-text:before,
            #case_detail .section-blog__function-text:before {
              right: 1.5rem;
              top: calc(50% - 1.8rem / 2);
              width: 1.8rem;
              height: 1.8rem;
              border-width: 0.2rem 0.2rem 0 0; } }
  #blog_detail .list-blog-float,
  #case_detail .list-blog-float {
    display: flex;
    flex-wrap: wrap;
    margin-top: 3.8rem; }
    @media screen and (max-width: 768px) {
      #blog_detail .list-blog-float,
      #case_detail .list-blog-float {
        flex-direction: column;
        margin-top: 2.8rem; } }
    #blog_detail .list-blog-float__item,
    #case_detail .list-blog-float__item {
      width: 37rem;
      padding-bottom: 3rem;
      border-bottom: 1px solid #dcdcdc; }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__item,
        #case_detail .list-blog-float__item {
          width: 100%;
          padding-bottom: 4rem;
          border-bottom-width: 0.4rem; } }
      @media screen and (min-width: 769px) {
        #blog_detail .list-blog-float__item:nth-of-type(3n), #blog_detail .list-blog-float__item:nth-of-type(3n - 1),
        #case_detail .list-blog-float__item:nth-of-type(3n),
        #case_detail .list-blog-float__item:nth-of-type(3n - 1) {
          margin-left: calc((100% - 37rem * 3) / 2); } }
      @media screen and (min-width: 769px) {
        #blog_detail .list-blog-float__item:nth-of-type(n + 4),
        #case_detail .list-blog-float__item:nth-of-type(n + 4) {
          margin-top: 3rem; } }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__item:nth-of-type(n + 2),
        #case_detail .list-blog-float__item:nth-of-type(n + 2) {
          margin-top: 4rem; } }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__item:last-of-type,
        #case_detail .list-blog-float__item:last-of-type {
          padding-bottom: 0;
          border-bottom-width: 0; } }
      @media screen and (min-width: 769px) {
        #blog_detail .list-blog-float__item:nth-of-type(3n - 1),
        #case_detail .list-blog-float__item:nth-of-type(3n - 1) {
          transition-delay: 0.1s; } }
      @media screen and (min-width: 769px) {
        #blog_detail .list-blog-float__item:nth-of-type(3n),
        #case_detail .list-blog-float__item:nth-of-type(3n) {
          transition-delay: 0.2s; } }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__item:nth-of-type(2n),
        #case_detail .list-blog-float__item:nth-of-type(2n) {
          transition-delay: 0.1s; } }
      #blog_detail .list-blog-float__item a,
      #case_detail .list-blog-float__item a {
        display: flex;
        text-decoration: none; }
        #blog_detail .list-blog-float__item a.is-on .list-blog-float__image img,
        #case_detail .list-blog-float__item a.is-on .list-blog-float__image img {
          transform: scale(1.04);
          transition: transform 0.4s cubic-bezier(0.34, 0.76, 0.55, 1) 0s; }
    #blog_detail .list-blog-float__image,
    #case_detail .list-blog-float__image {
      width: 11.4rem;
      height: 11.4rem;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__image,
        #case_detail .list-blog-float__image {
          width: 18rem;
          height: 18rem; } }
      #blog_detail .list-blog-float__image img,
      #case_detail .list-blog-float__image img {
        transition: transform 0.8s cubic-bezier(0.28, 0, 0.12, 1); }
    #blog_detail .list-blog-float__box,
    #case_detail .list-blog-float__box {
      position: relative;
      width: calc(100% - 11.4rem);
      padding: 0 0 0 1.6rem; }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__box,
        #case_detail .list-blog-float__box {
          width: calc(100% - 18rem);
          margin: -0.4rem 0;
          padding: 0 0 0 2rem; } }
    #blog_detail .list-blog-float__heading,
    #case_detail .list-blog-float__heading {
      font-size: 1.6rem;
      line-height: 1.75;
      font-weight: 700;
      display: -webkit-box;
      /* autoprefixer: ignore next */
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__heading,
        #case_detail .list-blog-float__heading {
          font-size: 2.8rem;
          line-height: 1.6428571429; } }
    #blog_detail .list-blog-float__text,
    #case_detail .list-blog-float__text {
      font-size: 1.5rem;
      line-height: 1.75;
      letter-spacing: -0.01em;
      text-align: left;
      margin-top: 0.4rem;
      display: -webkit-box;
      /* autoprefixer: ignore next */
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        #blog_detail .list-blog-float__text,
        #case_detail .list-blog-float__text {
          font-size: 2.8rem;
          line-height: 1.6428571429;
          margin-top: 0.2rem; } }

#case_detail {
  /* .section-blog
  ----------------------------------------------------------------- */ }
  #case_detail .section-blog__ranking {
    margin-top: 5.2rem; }
    @media screen and (max-width: 768px) {
      #case_detail .section-blog__ranking {
        margin-top: 7.8rem; } }
  #case_detail .section-blog__case {
    margin-top: 0; }

#home {
  /* .article-concept
  ----------------------------------------------------------------- */
  /* .article-cloud
  ----------------------------------------------------------------- */ }
  #home .article-concept {
    margin-top: 6.3rem; }
    @media screen and (max-width: 768px) {
      #home .article-concept {
        margin-top: 12.5rem; } }
    #home .article-concept__heading {
      font-size: 3.4rem;
      line-height: 1.7647058824;
      font-weight: 700;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .article-concept__heading {
          font-size: 4.4rem;
          line-height: 1.2272727273;
          letter-spacing: 0; } }
      #home .article-concept__heading-blue {
        color: #6a93ef; }
      #home .article-concept__heading-large {
        display: inline-block;
        font-size: 4.6rem;
        transform: translate(0, 0.05em); }
        @media screen and (max-width: 768px) {
          #home .article-concept__heading-large {
            font-size: 7rem; } }
    #home .article-concept__image {
      width: 83.7rem;
      margin: 0.2rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .article-concept__image {
          width: 100%;
          overflow: hidden;
          margin-top: 3.2rem; } }
      @media screen and (max-width: 768px) {
        #home .article-concept__image picture {
          display: block;
          width: 99.6rem;
          margin-left: -13.5rem;
          margin-right: 9.3rem; } }
    #home .article-concept-list {
      position: relative;
      display: flex;
      justify-content: center;
      margin-top: -0.1rem; }
      @media screen and (max-width: 768px) {
        #home .article-concept-list {
          display: block;
          width: 70.8rem;
          margin: 0rem auto 0; } }
      #home .article-concept-list__item {
        background: #fff;
        width: 38rem;
        padding-top: 0.1rem;
        padding-bottom: 2.4rem;
        box-shadow: 0 1.5rem 5rem rgba(27, 42, 49, 0.15); }
        @media screen and (max-width: 768px) {
          #home .article-concept-list__item {
            width: 100%;
            padding-bottom: 2rem; } }
        @media screen and (min-width: 769px) {
          #home .article-concept-list__item:nth-of-type(n + 2) {
            margin-left: 3rem; } }
        @media screen and (max-width: 768px) {
          #home .article-concept-list__item:nth-of-type(n + 2) {
            margin-top: 9rem; } }
        @media screen and (min-width: 769px) {
          #home .article-concept-list__item:nth-of-type(3n) {
            transition-delay: 0.2s; } }
        @media screen and (min-width: 769px) {
          #home .article-concept-list__item:nth-of-type(3n - 1) {
            transition-delay: 0.1s; } }
      #home .article-concept-list__image {
        width: 8rem;
        height: 8rem;
        margin: -4.1rem auto 0; }
        @media screen and (max-width: 768px) {
          #home .article-concept-list__image {
            width: 12.8rem;
            height: 12.8rem;
            margin-top: -6.5rem; } }
      #home .article-concept-list__heading {
        font-size: 2.4rem;
        line-height: 1;
        font-weight: 700;
        text-align: center;
        margin-top: 1.4rem; }
        @media screen and (max-width: 768px) {
          #home .article-concept-list__heading {
            font-size: 4rem;
            margin-top: 1.4rem; } }
      #home .article-concept-list__text {
        font-size: 1.4rem;
        line-height: 1.7142857143;
        text-align: center;
        margin-top: 1.1rem; }
        @media screen and (max-width: 768px) {
          #home .article-concept-list__text {
            font-size: 2.8rem;
            line-height: 1.5714285714;
            margin-top: 1.8rem; } }
    #home .article-concept__text {
      font-size: 1.6rem;
      line-height: 2.125;
      letter-spacing: 0.05em;
      width: 120rem;
      margin: 3.8rem auto 0;
      transition-delay: 0.5s; }
      @media screen and (max-width: 768px) {
        #home .article-concept__text {
          font-size: 3rem;
          line-height: 2;
          width: 70.8rem;
          margin-top: 6.6rem; } }
  #home .article-cloud {
    padding: 10rem 0 0; }
    #home .article-cloud__image {
      width: 126.6rem;
      margin: -0.5rem auto 0; }
      @media screen and (max-width: 768px) {
        #home .article-cloud__image {
          width: 100%;
          overflow-x: scroll; } }
      @media screen and (max-width: 768px) {
        #home .article-cloud__image picture {
          display: block;
          width: 126.6rem; } }
    #home .article-cloud__subheading {
      font-size: 2rem;
      line-height: 1.7;
      text-align: center;
      font-weight: 700; }
      @media screen and (max-width: 768px) {
        #home .article-cloud__subheading {
          font-size: 3.6rem;
          margin-top: 3rem; } }
    #home .article-cloud__button {
      display: flex;
      justify-content: center;
      margin-top: 2rem; }
      @media screen and (max-width: 768px) {
        #home .article-cloud__button {
          margin-top: 2.8rem; } }

#contact,
#trial {
  /* .form-contact
  -------------------------------------------------- */
  /* .select-contact
  -------------------------------------------------- */
  /* .list-contact-flow
  -------------------------------------------------- */ }
  #contact .form-contact,
  #trial .form-contact {
    margin-top: 7.4rem; }
    @media screen and (max-width: 768px) {
      #contact .form-contact,
      #trial .form-contact {
        margin-top: 10rem; } }
    #contact .form-contact--category,
    #trial .form-contact--category {
      margin-top: 3.7rem; }
      @media screen and (max-width: 768px) {
        #contact .form-contact--category,
        #trial .form-contact--category {
          margin-top: 9rem; } }
    #contact .form-contact__item,
    #trial .form-contact__item {
      display: flex;
      width: 100%; }
      @media screen and (max-width: 768px) {
        #contact .form-contact__item,
        #trial .form-contact__item {
          display: block; } }
      #contact .form-contact__item + .form-contact__item,
      #trial .form-contact__item + .form-contact__item {
        margin-top: 3rem; }
        @media screen and (max-width: 768px) {
          #contact .form-contact__item + .form-contact__item,
          #trial .form-contact__item + .form-contact__item {
            margin-top: 7rem; } }
      #contact .form-contact__item--height-75 .form-contact__heading,
      #trial .form-contact__item--height-75 .form-contact__heading {
        padding-top: calc((7rem - (34 / 18) * 1em) / 2); }
      #contact .form-contact__item--height-75 .form-contact__data,
      #trial .form-contact__item--height-75 .form-contact__data {
        min-height: 7.5rem; }
        @media screen and (max-width: 768px) {
          #contact .form-contact__item--height-75 .form-contact__data,
          #trial .form-contact__item--height-75 .form-contact__data {
            min-height: 9rem; } }
    #contact .form-contact__heading,
    #trial .form-contact__heading {
      position: relative;
      display: flex;
      font-size: 1.8rem;
      line-height: 1.8888888889;
      letter-spacing: 0.06em;
      width: 28rem;
      padding-top: calc((6rem - (34 / 18) * 1em) / 2); }
      @media screen and (max-width: 768px) {
        #contact .form-contact__heading,
        #trial .form-contact__heading {
          font-size: 3.4rem;
          line-height: 1.7647058824;
          width: 100%;
          padding: 0; } }
      #contact .form-contact__heading.is-required:after,
      #trial .form-contact__heading.is-required:after {
        display: inline-block;
        content: '＊';
        color: #ff0000;
        font-size: 1rem;
        line-height: 1;
        padding-top: 0.8em; }
        @media screen and (max-width: 768px) {
          #contact .form-contact__heading.is-required:after,
          #trial .form-contact__heading.is-required:after {
            font-size: 1.8888888889rem; } }
    #contact .form-contact__data,
    #trial .form-contact__data {
      position: relative;
      display: flex;
      align-items: center;
      width: calc(100% - 28rem);
      min-height: 6rem; }
      @media screen and (max-width: 768px) {
        #contact .form-contact__data,
        #trial .form-contact__data {
          font-size: 2.8rem;
          width: 100%;
          min-height: 9rem;
          margin-top: 2.2rem;
          padding: 0 2rem; } }
    #contact .form-contact__inner,
    #trial .form-contact__inner {
      position: relative;
      width: 100%; }
      @media screen and (max-width: 768px) {
        #contact .form-contact__inner,
        #trial .form-contact__inner {
          text-align: left; } }
    #contact .form-contact__textarea,
    #trial .form-contact__textarea {
      font-family: YakuHanJP_Noto, "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
      appearance: none;
      resize: none;
      outline: none;
      background: transparent;
      min-width: 100%;
      min-height: 30rem;
      display: block;
      background: #f5f5f5;
      font-size: 1.8rem;
      line-height: 1.8888888889;
      border: none;
      border-radius: 0;
      padding: 1rem 1rem 1rem 2.5rem;
      width: 100%; }
      @media screen and (max-width: 768px) {
        #contact .form-contact__textarea,
        #trial .form-contact__textarea {
          font-size: 3rem;
          line-height: 2;
          width: 100%;
          min-width: 100%;
          min-height: 40rem;
          padding: 1rem 2rem;
          order: 1; } }
      #contact .form-contact__textarea::placeholder,
      #trial .form-contact__textarea::placeholder {
        font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
        color: #c2c2c2; }
    #contact .form-contact__input-text,
    #trial .form-contact__input-text {
      font-family: YakuHanJP_Noto, "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
      appearance: none;
      outline: none;
      background: none;
      background: #f5f5f5;
      font-size: 1.8rem;
      line-height: 1.8888888889;
      border: none;
      border-radius: 0;
      padding: 0.8rem 0.8rem 0.8rem 2.6rem;
      width: 100%;
      height: 100%; }
      @media screen and (max-width: 768px) {
        #contact .form-contact__input-text,
        #trial .form-contact__input-text {
          font-size: 3rem;
          line-height: 1.1333333333;
          width: 100%;
          height: 9rem;
          padding: 2.4rem 3rem;
          border-width: 0.2rem; } }
      @media screen and (max-width: 768px) {
        #contact .form-contact__input-text:nth-of-type(n + 2),
        #trial .form-contact__input-text:nth-of-type(n + 2) {
          margin-top: 3rem; } }
      #contact .form-contact__input-text::placeholder,
      #trial .form-contact__input-text::placeholder {
        font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
        color: #c2c2c2; }
    #contact .form-contact-note,
    #trial .form-contact-note {
      font-size: 1.3rem;
      line-height: 2.6153846154;
      text-align: center;
      margin-top: 5.6rem; }
      @media screen and (max-width: 768px) {
        #contact .form-contact-note,
        #trial .form-contact-note {
          font-size: 2.4rem; } }
      #contact .form-contact-note a,
      #trial .form-contact-note a {
        color: #32a0dc;
        position: relative;
        display: inline-block;
        line-height: 1.7692307692;
        text-decoration: none;
        border-bottom: 1px solid #32a0dc; }
        #contact .form-contact-note a.is-on,
        #trial .form-contact-note a.is-on {
          border-bottom-color: transparent; }
    #contact .form-contact-button,
    #trial .form-contact-button {
      display: flex;
      justify-content: center;
      margin-top: 2.8rem; }
      @media screen and (max-width: 768px) {
        #contact .form-contact-button,
        #trial .form-contact-button {
          margin-top: 6rem; } }
  #contact .input-radio,
  #trial .input-radio {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #contact .input-radio,
      #trial .input-radio {
        flex-direction: column; } }
    #contact .input-radio__item,
    #trial .input-radio__item {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 768px) {
        #contact .input-radio__item:nth-of-type(n + 2),
        #trial .input-radio__item:nth-of-type(n + 2) {
          margin-top: 3rem; } }
    #contact .input-radio__inner,
    #trial .input-radio__inner {
      position: relative;
      padding-left: 3.5rem;
      cursor: pointer; }
      @media screen and (max-width: 768px) {
        #contact .input-radio__inner,
        #trial .input-radio__inner {
          display: flex;
          padding-left: 5.8rem; } }
    #contact .input-radio__button,
    #trial .input-radio__button {
      position: absolute;
      top: calc(50% - 2rem / 2);
      left: 0;
      width: 2rem;
      height: 2rem; }
      @media screen and (max-width: 768px) {
        #contact .input-radio__button,
        #trial .input-radio__button {
          top: calc(50% - 4.4rem / 2);
          width: 4.4rem;
          height: 4.4rem; } }
      #contact .input-radio__button:checked:after,
      #trial .input-radio__button:checked:after {
        opacity: 1; }
      #contact .input-radio__button:before,
      #trial .input-radio__button:before {
        display: block;
        position: absolute;
        content: '';
        background: #fbfbfb;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        box-sizing: border-box;
        box-shadow: 0 0 0 1px #c8c8c8 inset; }
        @media screen and (max-width: 768px) {
          #contact .input-radio__button:before,
          #trial .input-radio__button:before {
            border-width: 0.2rem; } }
      #contact .input-radio__button:after,
      #trial .input-radio__button:after {
        display: block;
        position: absolute;
        content: '';
        top: calc(50% - 1rem / 2);
        left: calc(50% - 1rem / 2);
        width: 1rem;
        height: 1rem;
        background: #93a5e5;
        border-radius: 50%;
        box-sizing: border-box;
        opacity: 0; }
        @media screen and (max-width: 768px) {
          #contact .input-radio__button:after,
          #trial .input-radio__button:after {
            top: calc(50% - 2.4rem / 2);
            left: calc(50% - 2.4rem / 2);
            width: 2.4rem;
            height: 2.4rem; } }
    #contact .input-radio__text,
    #contact .input-radio .mwform-radio-field-text,
    #trial .input-radio__text,
    #trial .input-radio .mwform-radio-field-text {
      font-size: 1.8rem;
      font-weight: 400;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        #contact .input-radio__text,
        #contact .input-radio .mwform-radio-field-text,
        #trial .input-radio__text,
        #trial .input-radio .mwform-radio-field-text {
          font-size: 3rem;
          line-height: 1.6666666667; } }
    @media screen and (max-width: 768px) {
      #contact .input-radio__text-inner,
      #trial .input-radio__text-inner {
        display: inline-block;
        margin-top: 2rem; } }
    #contact .input-radio--category,
    #trial .input-radio--category {
      justify-content: flex-start; }
      @media screen and (min-width: 769px) {
        #contact .input-radio--category .input-radio__item:nth-of-type(n + 2),
        #trial .input-radio--category .input-radio__item:nth-of-type(n + 2) {
          margin-left: 6rem; } }
      #contact .input-radio--category .input-radio__button:before,
      #trial .input-radio--category .input-radio__button:before {
        background: #f5f5f5; }
  #contact .select-contact,
  #trial .select-contact {
    position: relative;
    display: inline-flex;
    justify-content: flex-end;
    width: 100%;
    min-width: 100%;
    height: calc(6rem - 2px);
    box-shadow: 0 0 0 1px #c2c2c2;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      #contact .select-contact,
      #trial .select-contact {
        margin-right: 0;
        min-width: 36rem;
        height: 8rem; } }
    #contact .select-contact__arrow,
    #trial .select-contact__arrow {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: absolute;
      content: '';
      background: #fff;
      top: 0;
      right: 0;
      width: 5rem;
      height: 100%;
      box-sizing: border-box;
      pointer-events: none;
      z-index: 9;
      transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), box-shadow 0.2s cubic-bezier(0.39, 0.575, 0.565, 1); }
      @media screen and (max-width: 768px) {
        #contact .select-contact__arrow,
        #trial .select-contact__arrow {
          width: 6rem; } }
      #contact .select-contact__arrow:before, #contact .select-contact__arrow:after,
      #trial .select-contact__arrow:before,
      #trial .select-contact__arrow:after {
        display: inline-block;
        content: '';
        box-sizing: border-box;
        border-style: solid;
        pointer-events: none;
        z-index: 9; }
      #contact .select-contact__arrow:before,
      #trial .select-contact__arrow:before {
        border-width: 0 0.5rem 0.8rem 0.5rem;
        border-color: transparent transparent #000 transparent; }
        @media screen and (max-width: 768px) {
          #contact .select-contact__arrow:before,
          #trial .select-contact__arrow:before {
            border-width: 0 0.7rem 1.1rem 0.7rem; } }
      #contact .select-contact__arrow:after,
      #trial .select-contact__arrow:after {
        border-width: 0.8rem 0.5rem 0 0.5rem;
        border-color: #000 transparent transparent transparent;
        margin-top: 0.8rem; }
        @media screen and (max-width: 768px) {
          #contact .select-contact__arrow:after,
          #trial .select-contact__arrow:after {
            border-width: 1.1rem 0.7rem 0 0.7rem; } }
    #contact .select-contact__inner,
    #trial .select-contact__inner {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      outline: none;
      border: none;
      border-radius: 0;
      cursor: pointer;
      color: #000;
      background: #fff;
      display: block;
      position: relative;
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: 0.01em;
      padding: 0.8rem 0.8rem 0.8rem 2.6rem;
      width: calc(100% + 5rem);
      height: 100%;
      z-index: 0; }
      @media screen and (max-width: 768px) {
        #contact .select-contact__inner,
        #trial .select-contact__inner {
          font-size: 3.2rem;
          padding: 0 3rem; } }
    @media screen and (min-width: 769px) {
      #contact .select-contact--member,
      #trial .select-contact--member {
        width: 60rem;
        min-width: 60rem; } }
  #contact .list-contact-flow,
  #trial .list-contact-flow {
    display: flex;
    justify-content: center;
    margin-top: 5rem;
    margin-bottom: 5.4rem; }
    @media screen and (max-width: 768px) {
      #contact .list-contact-flow,
      #trial .list-contact-flow {
        margin-top: 7rem;
        margin-bottom: 3rem; } }
    #contact .list-contact-flow__item,
    #trial .list-contact-flow__item {
      background: #fff;
      position: relative;
      display: flex;
      align-items: center;
      width: 36rem;
      padding: 2rem;
      border-radius: 0.4rem;
      box-shadow: 0 3rem 4rem rgba(27, 42, 49, 0.2);
      counter-increment: num; }
      @media screen and (max-width: 768px) {
        #contact .list-contact-flow__item,
        #trial .list-contact-flow__item {
          flex-direction: column;
          width: 20rem;
          border-radius: 1.2rem;
          padding: 3rem; } }
      @media screen and (min-width: 769px) {
        #contact .list-contact-flow__item:nth-of-type(3n), #contact .list-contact-flow__item:nth-of-type(3n - 1),
        #trial .list-contact-flow__item:nth-of-type(3n),
        #trial .list-contact-flow__item:nth-of-type(3n - 1) {
          margin-left: calc((100% - 36rem * 3) / 2); } }
      @media screen and (max-width: 768px) {
        #contact .list-contact-flow__item:nth-of-type(3n), #contact .list-contact-flow__item:nth-of-type(3n - 1),
        #trial .list-contact-flow__item:nth-of-type(3n),
        #trial .list-contact-flow__item:nth-of-type(3n - 1) {
          margin-left: calc((100% - 20rem * 3) / 2); } }
      #contact .list-contact-flow__item:nth-of-type(n + 2):after,
      #trial .list-contact-flow__item:nth-of-type(n + 2):after {
        display: block;
        position: absolute;
        z-index: 1;
        content: '';
        left: -3.9rem;
        top: calc(50% - 1.4rem / 2);
        width: 1.4rem;
        height: 1.4rem;
        box-sizing: border-box;
        border: solid #000;
        border-width: 0.2rem 0.2rem 0 0;
        transform: rotate(45deg); }
        @media screen and (max-width: 768px) {
          #contact .list-contact-flow__item:nth-of-type(n + 2):after,
          #trial .list-contact-flow__item:nth-of-type(n + 2):after {
            left: -4.4rem;
            top: calc(50% - 1.4rem / 2);
            width: 2rem;
            height: 2rem;
            border-width: 0.4rem 0.4rem 0 0;
            transform: rotate(45deg); } }
      #contact .list-contact-flow__item > *,
      #trial .list-contact-flow__item > * {
        position: relative;
        z-index: 2; }
      #contact .list-contact-flow__item:before,
      #trial .list-contact-flow__item:before {
        display: block;
        position: absolute;
        z-index: 1;
        content: '';
        background: #fff;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        border-radius: 0.4rem; }
      #contact .list-contact-flow__item.is-current:before,
      #trial .list-contact-flow__item.is-current:before {
        background: #dfe5f3; }
      #contact .list-contact-flow__item:nth-of-type(2).is-inview,
      #trial .list-contact-flow__item:nth-of-type(2).is-inview {
        transition-delay: 0.1s; }
      #contact .list-contact-flow__item:nth-of-type(3).is-inview,
      #trial .list-contact-flow__item:nth-of-type(3).is-inview {
        transition-delay: 0.2s; }
      #contact .list-contact-flow__item span,
      #trial .list-contact-flow__item span {
        background: #93a5e5;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 5rem;
        height: 5rem;
        border-radius: 50%;
        margin-right: 2.5rem; }
        @media screen and (max-width: 768px) {
          #contact .list-contact-flow__item span,
          #trial .list-contact-flow__item span {
            width: 7rem;
            height: 7rem;
            margin-right: 0; } }
        #contact .list-contact-flow__item span:before,
        #trial .list-contact-flow__item span:before {
          color: #fff;
          content: counter(num);
          font-size: 2.4rem;
          line-height: 1.375;
          font-weight: 700; }
          @media screen and (max-width: 768px) {
            #contact .list-contact-flow__item span:before,
            #trial .list-contact-flow__item span:before {
              font-size: 3.4rem;
              line-height: 1.4285714286; } }
    #contact .list-contact-flow__text,
    #trial .list-contact-flow__text {
      font-size: 2.4rem;
      line-height: 1.375;
      font-weight: 700;
      letter-spacing: -0.01em; }
      @media screen and (max-width: 768px) {
        #contact .list-contact-flow__text,
        #trial .list-contact-flow__text {
          display: flex;
          align-items: center;
          font-size: 3.4rem;
          line-height: 1.4285714286;
          text-align: center;
          min-height: 2.8571428571em;
          margin-top: 1.8rem; } }

.section-common__contact .list-contact {
  justify-content: center; }

.list-faq__text p + p {
	margin-top: 1em;
}

.langsite a span {
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1)
}
.langsite a.is-on span {
  color: #6a93ef;
}
@media screen and (max-width: 768px) {
  .langsite a span {
    height: auto !important;
  }
  .langsite a span.nav-button__text {
    width: auto;
  }
}


