
@charset "UTF-8";
/*! destyle.css v1.0.14 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  box-sizing: border-box; }

::before,
::after {
  box-sizing: inherit; }

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/ }

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0; }

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

address {
  font-style: inherit; }

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom; }

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom; }

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit; }

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox; }

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none; }

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none; }

/**
 * Remove padding
 */
option {
  padding: 0; }

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer; }

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none; }

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  text-align: left; }

td,
th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: bold; }

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- ---------- ---------- ---------- */
@media print, screen and (min-width: 769px) {
  .pc {
    display: block !important; } }
@media only screen and (max-width: 768px) {
  .pc {
    display: none !important; } }
@media print, screen and (min-width: 769px) {
  .pc--inline {
    display: inline !important; } }
@media only screen and (max-width: 768px) {
  .pc--inline {
    display: none !important; } }
@media print, screen and (min-width: 769px) {
  .pc--inline-block {
    display: inline-block !important; } }
@media only screen and (max-width: 768px) {
  .pc--inline-block {
    display: none !important; } }
@media print, screen and (min-width: 769px) {
  .pc--flex {
    display: flex !important; } }
@media only screen and (max-width: 768px) {
  .pc--flex {
    display: none !important; } }
@media print, screen and (min-width: 769px) {
  .pc--inline-flex {
    display: inline-flex !important; } }
@media only screen and (max-width: 768px) {
  .pc--inline-flex {
    display: none !important; } }

/* ---------- ---------- ---------- ---------- ---------- */
@media print, screen and (min-width: 769px) {
  .sp {
    display: none !important; } }
@media only screen and (max-width: 768px) {
  .sp {
    display: block !important; } }
@media print, screen and (min-width: 769px) {
  .sp--block {
    display: none !important; } }
@media only screen and (max-width: 768px) {
  .sp--block {
    display: block !important; } }
@media print, screen and (min-width: 769px) {
  .sp--inline-block {
    display: none !important; } }
@media only screen and (max-width: 768px) {
  .sp--inline-block {
    display: inline-block !important; } }
@media print, screen and (min-width: 769px) {
  .sp--flex {
    display: none !important; } }
@media only screen and (max-width: 768px) {
  .sp--flex {
    display: flex !important; } }
@media print, screen and (min-width: 769px) {
  .sp--inline-flex {
    display: none !important; } }
@media only screen and (max-width: 768px) {
  .sp--inline-flex {
    display: inline-flex !important; } }

@media screen and (min-width: 1025px) {
  .md {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .md {
    display: block !important; } }
@media screen and (min-width: 1025px) {
  .md--block {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .md--block {
    display: block !important; } }
@media screen and (min-width: 1025px) {
  .md--inline-block {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .md--inline-block {
    display: inline-block !important; } }
@media screen and (min-width: 1025px) {
  .md--flex {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .md--flex {
    display: flex !important; } }
@media screen and (min-width: 1025px) {
  .md--inline-flex {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .md--inline-flex {
    display: inline-flex !important; } }

/* ---------- ---------- ---------- ---------- ---------- */
.fl__r {
  float: right; }
.fl__l {
  float: left; }

.clear {
  zoom: 1; }
  .clear::after {
    content: "";
    display: block;
    height: 0;
    visibility: hidden;
    clear: both; }
    .clear::after .clear:after {
      clear: both; }

@media only screen and (max-width: 768px) {
  .sp-f__none {
    float: none !important;
    max-width: 100%; } }

/* ---------- ---------- ---------- ---------- ---------- */
.ta__c {
  text-align: center !important; }
.ta__l {
  text-align: left !important; }
.ta__r {
  text-align: right !important; }

@media only screen and (max-width: 768px) {
  .sp-ta__c {
    text-align: center !important; } }
@media only screen and (max-width: 768px) {
  .sp-ta__l {
    text-align: left !important; } }
@media only screen and (max-width: 768px) {
  .sp-ta__r {
    text-align: right !important; } }

/* ---------- ---------- ---------- ---------- ---------- */
.fw-100 {
  font-weight: 100 !important; }
.fw-200 {
  font-weight: 200 !important; }
.fw-300 {
  font-weight: 300 !important; }
.fw-400 {
  font-weight: 400 !important; }
.fw-500 {
  font-weight: 500 !important; }
.fw-600 {
  font-weight: 600 !important; }
.fw-700 {
  font-weight: 700 !important; }
.fw-800 {
  font-weight: 800 !important; }
.fw-900 {
  font-weight: 900 !important; }
.fw__n {
  font-weight: normal !important; }
.fw__b {
  font-weight: bold !important; }

/* ---------- ---------- ---------- ---------- ---------- */
.fs__small {
  font-size: 1.2rem !important; }
  @media only screen and (max-width: 768px) {
    .fs__small {
      font-size: 3.3816425121vw; } }

/* ---------- ---------- ---------- ---------- ---------- */
.nowrap {
  display: inline-block;
  white-space: nowrap;
  font-weight: inherit; }

/* ---------- ---------- ---------- ---------- ---------- */
.disable {
  pointer-events: none; }

/* ---------- ---------- ---------- ---------- ---------- */
.img-wrap {
  line-height: 0; }

.hover-img:hover:hover {
  opacity: 0.7;
  transition: opacity .4s; }

/* ---------- ---------- ---------- ---------- ---------- */
.mt0 {
  margin-top: 0px !important; }
  @media only screen and (max-width: 768px) {
    .mt0 {
      margin-top: 0vw !important; } }

.mb0 {
  margin-bottom: 0px !important; }
  @media only screen and (max-width: 768px) {
    .mb0 {
      margin-bottom: 0vw !important; } }

.ml0 {
  margin-left: 0px !important; }
  @media only screen and (max-width: 768px) {
    .ml0 {
      margin-left: 0vw !important; } }

.mr0 {
  margin-right: 0px !important; }
  @media only screen and (max-width: 768px) {
    .mr0 {
      margin-right: 0vw !important; } }

.mt5 {
  margin-top: 5px !important; }
  @media only screen and (max-width: 768px) {
    .mt5 {
      margin-top: 1.2077294686vw !important; } }

.mb5 {
  margin-bottom: 5px !important; }
  @media only screen and (max-width: 768px) {
    .mb5 {
      margin-bottom: 1.2077294686vw !important; } }

.ml5 {
  margin-left: 5px !important; }
  @media only screen and (max-width: 768px) {
    .ml5 {
      margin-left: 1.2077294686vw !important; } }

.mr5 {
  margin-right: 5px !important; }
  @media only screen and (max-width: 768px) {
    .mr5 {
      margin-right: 1.2077294686vw !important; } }

.mt10 {
  margin-top: 10px !important; }
  @media only screen and (max-width: 768px) {
    .mt10 {
      margin-top: 2.4154589372vw !important; } }

.mb10 {
  margin-bottom: 10px !important; }
  @media only screen and (max-width: 768px) {
    .mb10 {
      margin-bottom: 2.4154589372vw !important; } }

.ml10 {
  margin-left: 10px !important; }
  @media only screen and (max-width: 768px) {
    .ml10 {
      margin-left: 2.4154589372vw !important; } }

.mr10 {
  margin-right: 10px !important; }
  @media only screen and (max-width: 768px) {
    .mr10 {
      margin-right: 2.4154589372vw !important; } }

.mt15 {
  margin-top: 15px !important; }
  @media only screen and (max-width: 768px) {
    .mt15 {
      margin-top: 3.6231884058vw !important; } }

.mb15 {
  margin-bottom: 15px !important; }
  @media only screen and (max-width: 768px) {
    .mb15 {
      margin-bottom: 3.6231884058vw !important; } }

.ml15 {
  margin-left: 15px !important; }
  @media only screen and (max-width: 768px) {
    .ml15 {
      margin-left: 3.6231884058vw !important; } }

.mr15 {
  margin-right: 15px !important; }
  @media only screen and (max-width: 768px) {
    .mr15 {
      margin-right: 3.6231884058vw !important; } }

.mt20 {
  margin-top: 20px !important; }
  @media only screen and (max-width: 768px) {
    .mt20 {
      margin-top: 4.8309178744vw !important; } }

.mb20 {
  margin-bottom: 20px !important; }
  @media only screen and (max-width: 768px) {
    .mb20 {
      margin-bottom: 4.8309178744vw !important; } }

.ml20 {
  margin-left: 20px !important; }
  @media only screen and (max-width: 768px) {
    .ml20 {
      margin-left: 4.8309178744vw !important; } }

.mr20 {
  margin-right: 20px !important; }
  @media only screen and (max-width: 768px) {
    .mr20 {
      margin-right: 4.8309178744vw !important; } }

.mt25 {
  margin-top: 25px !important; }
  @media only screen and (max-width: 768px) {
    .mt25 {
      margin-top: 6.038647343vw !important; } }

.mb25 {
  margin-bottom: 25px !important; }
  @media only screen and (max-width: 768px) {
    .mb25 {
      margin-bottom: 6.038647343vw !important; } }

.ml25 {
  margin-left: 25px !important; }
  @media only screen and (max-width: 768px) {
    .ml25 {
      margin-left: 6.038647343vw !important; } }

.mr25 {
  margin-right: 25px !important; }
  @media only screen and (max-width: 768px) {
    .mr25 {
      margin-right: 6.038647343vw !important; } }

.mt30 {
  margin-top: 30px !important; }
  @media only screen and (max-width: 768px) {
    .mt30 {
      margin-top: 7.2463768116vw !important; } }

.mb30 {
  margin-bottom: 30px !important; }
  @media only screen and (max-width: 768px) {
    .mb30 {
      margin-bottom: 7.2463768116vw !important; } }

.ml30 {
  margin-left: 30px !important; }
  @media only screen and (max-width: 768px) {
    .ml30 {
      margin-left: 7.2463768116vw !important; } }

.mr30 {
  margin-right: 30px !important; }
  @media only screen and (max-width: 768px) {
    .mr30 {
      margin-right: 7.2463768116vw !important; } }

.mt35 {
  margin-top: 35px !important; }
  @media only screen and (max-width: 768px) {
    .mt35 {
      margin-top: 8.4541062802vw !important; } }

.mb35 {
  margin-bottom: 35px !important; }
  @media only screen and (max-width: 768px) {
    .mb35 {
      margin-bottom: 8.4541062802vw !important; } }

.ml35 {
  margin-left: 35px !important; }
  @media only screen and (max-width: 768px) {
    .ml35 {
      margin-left: 8.4541062802vw !important; } }

.mr35 {
  margin-right: 35px !important; }
  @media only screen and (max-width: 768px) {
    .mr35 {
      margin-right: 8.4541062802vw !important; } }

.mt40 {
  margin-top: 40px !important; }
  @media only screen and (max-width: 768px) {
    .mt40 {
      margin-top: 9.6618357488vw !important; } }

.mb40 {
  margin-bottom: 40px !important; }
  @media only screen and (max-width: 768px) {
    .mb40 {
      margin-bottom: 9.6618357488vw !important; } }

.ml40 {
  margin-left: 40px !important; }
  @media only screen and (max-width: 768px) {
    .ml40 {
      margin-left: 9.6618357488vw !important; } }

.mr40 {
  margin-right: 40px !important; }
  @media only screen and (max-width: 768px) {
    .mr40 {
      margin-right: 9.6618357488vw !important; } }

.mt45 {
  margin-top: 45px !important; }
  @media only screen and (max-width: 768px) {
    .mt45 {
      margin-top: 10.8695652174vw !important; } }

.mb45 {
  margin-bottom: 45px !important; }
  @media only screen and (max-width: 768px) {
    .mb45 {
      margin-bottom: 10.8695652174vw !important; } }

.ml45 {
  margin-left: 45px !important; }
  @media only screen and (max-width: 768px) {
    .ml45 {
      margin-left: 10.8695652174vw !important; } }

.mr45 {
  margin-right: 45px !important; }
  @media only screen and (max-width: 768px) {
    .mr45 {
      margin-right: 10.8695652174vw !important; } }

.mt50 {
  margin-top: 50px !important; }
  @media only screen and (max-width: 768px) {
    .mt50 {
      margin-top: 12.077294686vw !important; } }

.mb50 {
  margin-bottom: 50px !important; }
  @media only screen and (max-width: 768px) {
    .mb50 {
      margin-bottom: 12.077294686vw !important; } }

.ml50 {
  margin-left: 50px !important; }
  @media only screen and (max-width: 768px) {
    .ml50 {
      margin-left: 12.077294686vw !important; } }

.mr50 {
  margin-right: 50px !important; }
  @media only screen and (max-width: 768px) {
    .mr50 {
      margin-right: 12.077294686vw !important; } }

.mt55 {
  margin-top: 55px !important; }
  @media only screen and (max-width: 768px) {
    .mt55 {
      margin-top: 13.2850241546vw !important; } }

.mb55 {
  margin-bottom: 55px !important; }
  @media only screen and (max-width: 768px) {
    .mb55 {
      margin-bottom: 13.2850241546vw !important; } }

.ml55 {
  margin-left: 55px !important; }
  @media only screen and (max-width: 768px) {
    .ml55 {
      margin-left: 13.2850241546vw !important; } }

.mr55 {
  margin-right: 55px !important; }
  @media only screen and (max-width: 768px) {
    .mr55 {
      margin-right: 13.2850241546vw !important; } }

.mt60 {
  margin-top: 60px !important; }
  @media only screen and (max-width: 768px) {
    .mt60 {
      margin-top: 14.4927536232vw !important; } }

.mb60 {
  margin-bottom: 60px !important; }
  @media only screen and (max-width: 768px) {
    .mb60 {
      margin-bottom: 14.4927536232vw !important; } }

.ml60 {
  margin-left: 60px !important; }
  @media only screen and (max-width: 768px) {
    .ml60 {
      margin-left: 14.4927536232vw !important; } }

.mr60 {
  margin-right: 60px !important; }
  @media only screen and (max-width: 768px) {
    .mr60 {
      margin-right: 14.4927536232vw !important; } }

.mt65 {
  margin-top: 65px !important; }
  @media only screen and (max-width: 768px) {
    .mt65 {
      margin-top: 15.7004830918vw !important; } }

.mb65 {
  margin-bottom: 65px !important; }
  @media only screen and (max-width: 768px) {
    .mb65 {
      margin-bottom: 15.7004830918vw !important; } }

.ml65 {
  margin-left: 65px !important; }
  @media only screen and (max-width: 768px) {
    .ml65 {
      margin-left: 15.7004830918vw !important; } }

.mr65 {
  margin-right: 65px !important; }
  @media only screen and (max-width: 768px) {
    .mr65 {
      margin-right: 15.7004830918vw !important; } }

.mt70 {
  margin-top: 70px !important; }
  @media only screen and (max-width: 768px) {
    .mt70 {
      margin-top: 16.9082125604vw !important; } }

.mb70 {
  margin-bottom: 70px !important; }
  @media only screen and (max-width: 768px) {
    .mb70 {
      margin-bottom: 16.9082125604vw !important; } }

.ml70 {
  margin-left: 70px !important; }
  @media only screen and (max-width: 768px) {
    .ml70 {
      margin-left: 16.9082125604vw !important; } }

.mr70 {
  margin-right: 70px !important; }
  @media only screen and (max-width: 768px) {
    .mr70 {
      margin-right: 16.9082125604vw !important; } }

.mt75 {
  margin-top: 75px !important; }
  @media only screen and (max-width: 768px) {
    .mt75 {
      margin-top: 18.115942029vw !important; } }

.mb75 {
  margin-bottom: 75px !important; }
  @media only screen and (max-width: 768px) {
    .mb75 {
      margin-bottom: 18.115942029vw !important; } }

.ml75 {
  margin-left: 75px !important; }
  @media only screen and (max-width: 768px) {
    .ml75 {
      margin-left: 18.115942029vw !important; } }

.mr75 {
  margin-right: 75px !important; }
  @media only screen and (max-width: 768px) {
    .mr75 {
      margin-right: 18.115942029vw !important; } }

.mt80 {
  margin-top: 80px !important; }
  @media only screen and (max-width: 768px) {
    .mt80 {
      margin-top: 19.3236714976vw !important; } }

.mb80 {
  margin-bottom: 80px !important; }
  @media only screen and (max-width: 768px) {
    .mb80 {
      margin-bottom: 19.3236714976vw !important; } }

.ml80 {
  margin-left: 80px !important; }
  @media only screen and (max-width: 768px) {
    .ml80 {
      margin-left: 19.3236714976vw !important; } }

.mr80 {
  margin-right: 80px !important; }
  @media only screen and (max-width: 768px) {
    .mr80 {
      margin-right: 19.3236714976vw !important; } }

.mt85 {
  margin-top: 85px !important; }
  @media only screen and (max-width: 768px) {
    .mt85 {
      margin-top: 20.5314009662vw !important; } }

.mb85 {
  margin-bottom: 85px !important; }
  @media only screen and (max-width: 768px) {
    .mb85 {
      margin-bottom: 20.5314009662vw !important; } }

.ml85 {
  margin-left: 85px !important; }
  @media only screen and (max-width: 768px) {
    .ml85 {
      margin-left: 20.5314009662vw !important; } }

.mr85 {
  margin-right: 85px !important; }
  @media only screen and (max-width: 768px) {
    .mr85 {
      margin-right: 20.5314009662vw !important; } }

.mt90 {
  margin-top: 90px !important; }
  @media only screen and (max-width: 768px) {
    .mt90 {
      margin-top: 21.7391304348vw !important; } }

.mb90 {
  margin-bottom: 90px !important; }
  @media only screen and (max-width: 768px) {
    .mb90 {
      margin-bottom: 21.7391304348vw !important; } }

.ml90 {
  margin-left: 90px !important; }
  @media only screen and (max-width: 768px) {
    .ml90 {
      margin-left: 21.7391304348vw !important; } }

.mr90 {
  margin-right: 90px !important; }
  @media only screen and (max-width: 768px) {
    .mr90 {
      margin-right: 21.7391304348vw !important; } }

.mt95 {
  margin-top: 95px !important; }
  @media only screen and (max-width: 768px) {
    .mt95 {
      margin-top: 22.9468599034vw !important; } }

.mb95 {
  margin-bottom: 95px !important; }
  @media only screen and (max-width: 768px) {
    .mb95 {
      margin-bottom: 22.9468599034vw !important; } }

.ml95 {
  margin-left: 95px !important; }
  @media only screen and (max-width: 768px) {
    .ml95 {
      margin-left: 22.9468599034vw !important; } }

.mr95 {
  margin-right: 95px !important; }
  @media only screen and (max-width: 768px) {
    .mr95 {
      margin-right: 22.9468599034vw !important; } }

.mt100 {
  margin-top: 100px !important; }
  @media only screen and (max-width: 768px) {
    .mt100 {
      margin-top: 24.154589372vw !important; } }

.mb100 {
  margin-bottom: 100px !important; }
  @media only screen and (max-width: 768px) {
    .mb100 {
      margin-bottom: 24.154589372vw !important; } }

.ml100 {
  margin-left: 100px !important; }
  @media only screen and (max-width: 768px) {
    .ml100 {
      margin-left: 24.154589372vw !important; } }

.mr100 {
  margin-right: 100px !important; }
  @media only screen and (max-width: 768px) {
    .mr100 {
      margin-right: 24.154589372vw !important; } }

/* ---------- ---------- ---------- ---------- ---------- */
.pt0 {
  padding-top: 0px !important; }
  @media only screen and (max-width: 768px) {
    .pt0 {
      padding-top: 0vw !important; } }

.pb0 {
  padding-bottom: 0px !important; }
  @media only screen and (max-width: 768px) {
    .pb0 {
      padding-bottom: 0vw !important; } }

.pl0 {
  padding-left: 0px !important; }
  @media only screen and (max-width: 768px) {
    .pl0 {
      padding-left: 0vw !important; } }

.pr0 {
  padding-right: 0px !important; }
  @media only screen and (max-width: 768px) {
    .pr0 {
      padding-right: 0vw !important; } }

.pt5 {
  padding-top: 5px !important; }
  @media only screen and (max-width: 768px) {
    .pt5 {
      padding-top: 1.2077294686vw !important; } }

.pb5 {
  padding-bottom: 5px !important; }
  @media only screen and (max-width: 768px) {
    .pb5 {
      padding-bottom: 1.2077294686vw !important; } }

.pl5 {
  padding-left: 5px !important; }
  @media only screen and (max-width: 768px) {
    .pl5 {
      padding-left: 1.2077294686vw !important; } }

.pr5 {
  padding-right: 5px !important; }
  @media only screen and (max-width: 768px) {
    .pr5 {
      padding-right: 1.2077294686vw !important; } }

.pt10 {
  padding-top: 10px !important; }
  @media only screen and (max-width: 768px) {
    .pt10 {
      padding-top: 2.4154589372vw !important; } }

.pb10 {
  padding-bottom: 10px !important; }
  @media only screen and (max-width: 768px) {
    .pb10 {
      padding-bottom: 2.4154589372vw !important; } }

.pl10 {
  padding-left: 10px !important; }
  @media only screen and (max-width: 768px) {
    .pl10 {
      padding-left: 2.4154589372vw !important; } }

.pr10 {
  padding-right: 10px !important; }
  @media only screen and (max-width: 768px) {
    .pr10 {
      padding-right: 2.4154589372vw !important; } }

.pt15 {
  padding-top: 15px !important; }
  @media only screen and (max-width: 768px) {
    .pt15 {
      padding-top: 3.6231884058vw !important; } }

.pb15 {
  padding-bottom: 15px !important; }
  @media only screen and (max-width: 768px) {
    .pb15 {
      padding-bottom: 3.6231884058vw !important; } }

.pl15 {
  padding-left: 15px !important; }
  @media only screen and (max-width: 768px) {
    .pl15 {
      padding-left: 3.6231884058vw !important; } }

.pr15 {
  padding-right: 15px !important; }
  @media only screen and (max-width: 768px) {
    .pr15 {
      padding-right: 3.6231884058vw !important; } }

.pt20 {
  padding-top: 20px !important; }
  @media only screen and (max-width: 768px) {
    .pt20 {
      padding-top: 4.8309178744vw !important; } }

.pb20 {
  padding-bottom: 20px !important; }
  @media only screen and (max-width: 768px) {
    .pb20 {
      padding-bottom: 4.8309178744vw !important; } }

.pl20 {
  padding-left: 20px !important; }
  @media only screen and (max-width: 768px) {
    .pl20 {
      padding-left: 4.8309178744vw !important; } }

.pr20 {
  padding-right: 20px !important; }
  @media only screen and (max-width: 768px) {
    .pr20 {
      padding-right: 4.8309178744vw !important; } }

.pt25 {
  padding-top: 25px !important; }
  @media only screen and (max-width: 768px) {
    .pt25 {
      padding-top: 6.038647343vw !important; } }

.pb25 {
  padding-bottom: 25px !important; }
  @media only screen and (max-width: 768px) {
    .pb25 {
      padding-bottom: 6.038647343vw !important; } }

.pl25 {
  padding-left: 25px !important; }
  @media only screen and (max-width: 768px) {
    .pl25 {
      padding-left: 6.038647343vw !important; } }

.pr25 {
  padding-right: 25px !important; }
  @media only screen and (max-width: 768px) {
    .pr25 {
      padding-right: 6.038647343vw !important; } }

.pt30 {
  padding-top: 30px !important; }
  @media only screen and (max-width: 768px) {
    .pt30 {
      padding-top: 7.2463768116vw !important; } }

.pb30 {
  padding-bottom: 30px !important; }
  @media only screen and (max-width: 768px) {
    .pb30 {
      padding-bottom: 7.2463768116vw !important; } }

.pl30 {
  padding-left: 30px !important; }
  @media only screen and (max-width: 768px) {
    .pl30 {
      padding-left: 7.2463768116vw !important; } }

.pr30 {
  padding-right: 30px !important; }
  @media only screen and (max-width: 768px) {
    .pr30 {
      padding-right: 7.2463768116vw !important; } }

.pt35 {
  padding-top: 35px !important; }
  @media only screen and (max-width: 768px) {
    .pt35 {
      padding-top: 8.4541062802vw !important; } }

.pb35 {
  padding-bottom: 35px !important; }
  @media only screen and (max-width: 768px) {
    .pb35 {
      padding-bottom: 8.4541062802vw !important; } }

.pl35 {
  padding-left: 35px !important; }
  @media only screen and (max-width: 768px) {
    .pl35 {
      padding-left: 8.4541062802vw !important; } }

.pr35 {
  padding-right: 35px !important; }
  @media only screen and (max-width: 768px) {
    .pr35 {
      padding-right: 8.4541062802vw !important; } }

.pt40 {
  padding-top: 40px !important; }
  @media only screen and (max-width: 768px) {
    .pt40 {
      padding-top: 9.6618357488vw !important; } }

.pb40 {
  padding-bottom: 40px !important; }
  @media only screen and (max-width: 768px) {
    .pb40 {
      padding-bottom: 9.6618357488vw !important; } }

.pl40 {
  padding-left: 40px !important; }
  @media only screen and (max-width: 768px) {
    .pl40 {
      padding-left: 9.6618357488vw !important; } }

.pr40 {
  padding-right: 40px !important; }
  @media only screen and (max-width: 768px) {
    .pr40 {
      padding-right: 9.6618357488vw !important; } }

.pt45 {
  padding-top: 45px !important; }
  @media only screen and (max-width: 768px) {
    .pt45 {
      padding-top: 10.8695652174vw !important; } }

.pb45 {
  padding-bottom: 45px !important; }
  @media only screen and (max-width: 768px) {
    .pb45 {
      padding-bottom: 10.8695652174vw !important; } }

.pl45 {
  padding-left: 45px !important; }
  @media only screen and (max-width: 768px) {
    .pl45 {
      padding-left: 10.8695652174vw !important; } }

.pr45 {
  padding-right: 45px !important; }
  @media only screen and (max-width: 768px) {
    .pr45 {
      padding-right: 10.8695652174vw !important; } }

.pt50 {
  padding-top: 50px !important; }
  @media only screen and (max-width: 768px) {
    .pt50 {
      padding-top: 12.077294686vw !important; } }

.pb50 {
  padding-bottom: 50px !important; }
  @media only screen and (max-width: 768px) {
    .pb50 {
      padding-bottom: 12.077294686vw !important; } }

.pl50 {
  padding-left: 50px !important; }
  @media only screen and (max-width: 768px) {
    .pl50 {
      padding-left: 12.077294686vw !important; } }

.pr50 {
  padding-right: 50px !important; }
  @media only screen and (max-width: 768px) {
    .pr50 {
      padding-right: 12.077294686vw !important; } }

.pt55 {
  padding-top: 55px !important; }
  @media only screen and (max-width: 768px) {
    .pt55 {
      padding-top: 13.2850241546vw !important; } }

.pb55 {
  padding-bottom: 55px !important; }
  @media only screen and (max-width: 768px) {
    .pb55 {
      padding-bottom: 13.2850241546vw !important; } }

.pl55 {
  padding-left: 55px !important; }
  @media only screen and (max-width: 768px) {
    .pl55 {
      padding-left: 13.2850241546vw !important; } }

.pr55 {
  padding-right: 55px !important; }
  @media only screen and (max-width: 768px) {
    .pr55 {
      padding-right: 13.2850241546vw !important; } }

.pt60 {
  padding-top: 60px !important; }
  @media only screen and (max-width: 768px) {
    .pt60 {
      padding-top: 14.4927536232vw !important; } }

.pb60 {
  padding-bottom: 60px !important; }
  @media only screen and (max-width: 768px) {
    .pb60 {
      padding-bottom: 14.4927536232vw !important; } }

.pl60 {
  padding-left: 60px !important; }
  @media only screen and (max-width: 768px) {
    .pl60 {
      padding-left: 14.4927536232vw !important; } }

.pr60 {
  padding-right: 60px !important; }
  @media only screen and (max-width: 768px) {
    .pr60 {
      padding-right: 14.4927536232vw !important; } }

.pt65 {
  padding-top: 65px !important; }
  @media only screen and (max-width: 768px) {
    .pt65 {
      padding-top: 15.7004830918vw !important; } }

.pb65 {
  padding-bottom: 65px !important; }
  @media only screen and (max-width: 768px) {
    .pb65 {
      padding-bottom: 15.7004830918vw !important; } }

.pl65 {
  padding-left: 65px !important; }
  @media only screen and (max-width: 768px) {
    .pl65 {
      padding-left: 15.7004830918vw !important; } }

.pr65 {
  padding-right: 65px !important; }
  @media only screen and (max-width: 768px) {
    .pr65 {
      padding-right: 15.7004830918vw !important; } }

.pt70 {
  padding-top: 70px !important; }
  @media only screen and (max-width: 768px) {
    .pt70 {
      padding-top: 16.9082125604vw !important; } }

.pb70 {
  padding-bottom: 70px !important; }
  @media only screen and (max-width: 768px) {
    .pb70 {
      padding-bottom: 16.9082125604vw !important; } }

.pl70 {
  padding-left: 70px !important; }
  @media only screen and (max-width: 768px) {
    .pl70 {
      padding-left: 16.9082125604vw !important; } }

.pr70 {
  padding-right: 70px !important; }
  @media only screen and (max-width: 768px) {
    .pr70 {
      padding-right: 16.9082125604vw !important; } }

.pt75 {
  padding-top: 75px !important; }
  @media only screen and (max-width: 768px) {
    .pt75 {
      padding-top: 18.115942029vw !important; } }

.pb75 {
  padding-bottom: 75px !important; }
  @media only screen and (max-width: 768px) {
    .pb75 {
      padding-bottom: 18.115942029vw !important; } }

.pl75 {
  padding-left: 75px !important; }
  @media only screen and (max-width: 768px) {
    .pl75 {
      padding-left: 18.115942029vw !important; } }

.pr75 {
  padding-right: 75px !important; }
  @media only screen and (max-width: 768px) {
    .pr75 {
      padding-right: 18.115942029vw !important; } }

.pt80 {
  padding-top: 80px !important; }
  @media only screen and (max-width: 768px) {
    .pt80 {
      padding-top: 19.3236714976vw !important; } }

.pb80 {
  padding-bottom: 80px !important; }
  @media only screen and (max-width: 768px) {
    .pb80 {
      padding-bottom: 19.3236714976vw !important; } }

.pl80 {
  padding-left: 80px !important; }
  @media only screen and (max-width: 768px) {
    .pl80 {
      padding-left: 19.3236714976vw !important; } }

.pr80 {
  padding-right: 80px !important; }
  @media only screen and (max-width: 768px) {
    .pr80 {
      padding-right: 19.3236714976vw !important; } }

.pt85 {
  padding-top: 85px !important; }
  @media only screen and (max-width: 768px) {
    .pt85 {
      padding-top: 20.5314009662vw !important; } }

.pb85 {
  padding-bottom: 85px !important; }
  @media only screen and (max-width: 768px) {
    .pb85 {
      padding-bottom: 20.5314009662vw !important; } }

.pl85 {
  padding-left: 85px !important; }
  @media only screen and (max-width: 768px) {
    .pl85 {
      padding-left: 20.5314009662vw !important; } }

.pr85 {
  padding-right: 85px !important; }
  @media only screen and (max-width: 768px) {
    .pr85 {
      padding-right: 20.5314009662vw !important; } }

.pt90 {
  padding-top: 90px !important; }
  @media only screen and (max-width: 768px) {
    .pt90 {
      padding-top: 21.7391304348vw !important; } }

.pb90 {
  padding-bottom: 90px !important; }
  @media only screen and (max-width: 768px) {
    .pb90 {
      padding-bottom: 21.7391304348vw !important; } }

.pl90 {
  padding-left: 90px !important; }
  @media only screen and (max-width: 768px) {
    .pl90 {
      padding-left: 21.7391304348vw !important; } }

.pr90 {
  padding-right: 90px !important; }
  @media only screen and (max-width: 768px) {
    .pr90 {
      padding-right: 21.7391304348vw !important; } }

.pt95 {
  padding-top: 95px !important; }
  @media only screen and (max-width: 768px) {
    .pt95 {
      padding-top: 22.9468599034vw !important; } }

.pb95 {
  padding-bottom: 95px !important; }
  @media only screen and (max-width: 768px) {
    .pb95 {
      padding-bottom: 22.9468599034vw !important; } }

.pl95 {
  padding-left: 95px !important; }
  @media only screen and (max-width: 768px) {
    .pl95 {
      padding-left: 22.9468599034vw !important; } }

.pr95 {
  padding-right: 95px !important; }
  @media only screen and (max-width: 768px) {
    .pr95 {
      padding-right: 22.9468599034vw !important; } }

.pt100 {
  padding-top: 100px !important; }
  @media only screen and (max-width: 768px) {
    .pt100 {
      padding-top: 24.154589372vw !important; } }

.pb100 {
  padding-bottom: 100px !important; }
  @media only screen and (max-width: 768px) {
    .pb100 {
      padding-bottom: 24.154589372vw !important; } }

.pl100 {
  padding-left: 100px !important; }
  @media only screen and (max-width: 768px) {
    .pl100 {
      padding-left: 24.154589372vw !important; } }

.pr100 {
  padding-right: 100px !important; }
  @media only screen and (max-width: 768px) {
    .pr100 {
      padding-right: 24.154589372vw !important; } }

/* ---------- ---------- ---------- ---------- ---------- */
.flex-box {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .flex-box {
      flex-direction: column; } }
  .flex-box--rev {
    flex-direction: row-reverse; }
    @media only screen and (max-width: 768px) {
      .flex-box--rev {
        flex-direction: column; } }
  .flex-box.jc {
    justify-content: center; }
  .flex-box.jsb {
    justify-content: space-between; }
  .flex-box.jsa {
    justify-content: space-around; }
  .flex-box.ac {
    align-items: center; }
  .flex-box.afs {
    align-items: flex-start; }
  .flex-box.afe {
    align-items: flex-end; }
  .col2 .flex-box__item {
    width: 48%; }
  .col3 .flex-box__item {
    width: 32%; }

/* ---------- ---------- ---------- ---------- ---------- */
.fc--main {
  color: #3E6398 !important; }
.fc--black {
  color: #39424B !important; }
.fc--blue {
  color: #3E6398 !important; }
.fc--green {
  color: #006f07 !important; }
.fc--red {
  color: #FF475C !important; }
.fc--white {
  color: #fff !important; }

/* ---------- ---------- ---------- ---------- ---------- */
.bg--blue {
  background: #F3F8FF; }
.bg--white {
  background: #fff; }
.bg--main {
  background: #3E6398; }

/* ---------- ---------- ---------- ---------- ---------- */
.movie-box {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; }
  .movie-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.movie-icon {
  position: relative;
  display: inline-block;
  overflow: hidden; }
  .movie-icon::before {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 100%;
    z-index: 1;
    display: block; }
  .movie-icon::after {
    content: "";
    z-index: 2;
    position: absolute;
    display: block;
    width: 100px;
    height: 100px;
    background: url("/media_library/recruit/images/icon_start.svg") no-repeat;
    right: 50%;
    bottom: 50%;
    transform: translate(50%, 50%);
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.2)); }
    @media only screen and (max-width: 768px) {
      .movie-icon::after {
        width: 14.4927536232vw;
        height: 14.4927536232vw; } }

/* ---------- ---------- ---------- ---------- ---------- */
.page-top {
  position: fixed;
  bottom: 0;
  right: 0;
  line-height: 0;
  cursor: pointer;
  z-index: 10;
  width: 64px;
  height: 64px;
  background: url(/media_library/grpnewtop/images/common/pagetop.svg) no-repeat center; }
  @media only screen and (max-width: 768px) {
    .page-top {
      width: 9.6618357488vw;
      height: 9.6618357488vw; } }
  .page-top:hover {
    opacity: 0.7;
    transition: opacity .4s; }

/* ---------- ---------- ---------- ---------- ---------- */
.note {
  list-style: none;
  line-height: 1.5; }
  .note__item {
    font-size: .9em;
    padding-left: 1.5em;
    text-indent: -1.5em; }
    .note__item::before {
      content: "※";
      margin-right: .5em; }
  .note--num {
    counter-reset: note;
    list-style: none;
    line-height: 1.5; }
    .note--num .note__item {
      counter-increment: note;
      font-size: .9em;
      padding-left: 2em;
      text-indent: -2em; }
      .note--num .note__item::before {
        content: "※" counter(note);
        margin-right: .5em; }

.list__item {
  padding-left: calc(1.3em * 0.666666);
  text-indent: calc(-1.3em * 0.666666); }
  .list__item::before {
    content: "●";
    color: #3E6398;
    font-size: .7em;
    margin-right: .5em; }
.list-circle-num {
  list-style: none; }
  .list-circle-num__item {
    margin-left: 1em;
    padding-left: 1.5rem;
    text-indent: -1.5em; }
    .list-circle-num__item::before {
      color: #3E6398;
      margin-right: .5em; }
    .list-circle-num__item:nth-child(1)::before {
      content: "❶"; }
    .list-circle-num__item:nth-child(2)::before {
      content: "❷"; }
    .list-circle-num__item:nth-child(3)::before {
      content: "❸"; }
    .list-circle-num__item:nth-child(4)::before {
      content: "❹"; }
    .list-circle-num__item:nth-child(5)::before {
      content: "❺"; }
    .list-circle-num__item:nth-child(6)::before {
      content: "❻"; }
    .list-circle-num__item:nth-child(7)::before {
      content: "❼"; }
    .list-circle-num__item:nth-child(8)::before {
      content: "❽"; }
    .list-circle-num__item:nth-child(9)::before {
      content: "❾"; }
    .list-circle-num__item:nth-child(10)::before {
      content: "❿"; }

* {
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  height: -webkit-fill-available;
  width: 100%;
  scroll-padding-top: 70px; }

body {
  min-height: 100vh;
  min-height: -webkit-fill-available;
  color: #39424B;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
  font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-display: swap; }
  @media only screen and (max-width: 768px) {
    body {
      min-width: 0;
      font-size: 4.347826087vw;
      scroll-padding-top: 16.9082125604vw; } }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: #39424B;
  transition: color .4s,opacity .4s,border .4s,background .4s; }
  a * {
    transition: color .4s,opacity .4s,border .4s,background .4s; }
  a:not[class] {
    text-decoration: underline; }
  a:not(.noopa):hover img {
    opacity: .7; }
  a.link-external {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23589BFB'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0 center;
    padding-right: 20px;
    background-size: 15px 15px;
    text-decoration: underline; }
    a.link-external:hover {
      text-decoration: none; }

main {
  background: #F3F8FF; }

.top-mv {
  background: url("/media_library/consolidate/images/top-mv_bg.png") no-repeat bottom center/cover;
  color: #fff; }
  @media only screen and (max-width: 768px) {
    .top-mv {
      background-size: 750%; } }
  .top-mv__inner {
    width: min(1300px, 96vw);
    padding: 50px 0;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 950px) {
      .top-mv__inner {
        flex-direction: column;
        padding: 30px 15px; } }
    @media only screen and (max-width: 768px) {
      .top-mv__inner {
        padding: 7.2463768116vw 2.4154589372vw 9.6618357488vw 2.4154589372vw; } }
  @media screen and (max-width: 950px) {
    .top-mv__txt {
      display: flex;
      flex-direction: column; } }
  @media only screen and (max-width: 768px) {
    .top-mv__txt {
      margin-bottom: 7.2463768116vw; } }
  .top-mv__achieve {
    display: flex;
    column-gap: 10px;
    margin-bottom: 40px; }
    @media screen and (max-width: 950px) {
      .top-mv__achieve {
        order: 3; } }
    @media only screen and (max-width: 768px) {
      .top-mv__achieve {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        column-gap: 2.4154589372vw;
        margin-bottom: 7.2463768116vw; } }
  .top-mv .achieve__item {
    text-align: center;
    background: url("/media_library/consolidate/images/mv_leaf_l.png") left center/contain no-repeat, url("/media_library/consolidate/images/mv_leaf_r.png") right center/contain no-repeat; }
    @media only screen and (max-width: 768px) {
      .top-mv .achieve__item {
        width: 48%;
        margin-bottom: 2.4154589372vw;
        padding: 0vw 4.8309178744vw 0vw 4.8309178744vw; } }
    @media print, screen and (min-width: 769px) {
      .top-mv .achieve__item:nth-child(1) {
        padding: 0 30px; } }
    @media print, screen and (min-width: 769px) {
      .top-mv .achieve__item:nth-child(2) {
        padding: 0 37px; } }
    @media print, screen and (min-width: 769px) {
      .top-mv .achieve__item:nth-child(3) {
        padding: 0 45px; } }
    .top-mv .achieve__item sup {
      font-size: 1.4rem; }
      @media only screen and (max-width: 768px) {
        .top-mv .achieve__item sup {
          font-size: 3.1400966184vw; } }
  .top-mv .achieve__tit {
    font-size: clamp(1.6rem, calc(1.52rem + 0.195vw), 1.8rem);
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .top-mv .achieve__tit {
        font-size: 2.8985507246vw; } }
  .top-mv .achieve__num .num {
    font-family: "senobi-gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: -.15em;
    padding-right: .05em;
    font-size: 5.3rem;
    line-height: 1; }
    @media only screen and (max-width: 768px) {
      .top-mv .achieve__num .num {
        font-size: 7.2463768116vw; } }
  .top-mv .achieve__num .unit {
    font-size: 2.1rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .top-mv .achieve__num .unit {
        font-size: 3.8647342995vw; } }
  .top-mv__catch {
    font-size: clamp(2.6rem, calc(2.4rem + 0.51vw), 3em);
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 15px; }
    @media screen and (max-width: 950px) {
      .top-mv__catch {
        order: 1; } }
    @media only screen and (max-width: 768px) {
      .top-mv__catch {
        font-size: 3.8647342995vw;
        text-align: center;
        margin-bottom: 3.6231884058vw; } }
  .top-mv__tit {
    font-size: clamp(5rem, calc(4rem + 0.76vw), 5.65rem);
    font-weight: bold;
    margin-bottom: 25px;
    order: 2;
    line-height: 1.2; }
    @media screen and (max-width: 950px) {
      .top-mv__tit {
        order: 2; } }
    @media only screen and (max-width: 768px) {
      .top-mv__tit {
        font-size: 10.38647343vw;
        margin-bottom: 7.2463768116vw;
        text-align: center; } }
  .top-mv__note {
    font-size: 1.4rem;
    line-height: 1.4;
    order: 4; }
    @media print, screen and (min-width: 769px) {
      .top-mv__note {
        padding-left: 1em; } }
    @media only screen and (max-width: 768px) {
      .top-mv__note {
        font-size: 3.3816425121vw; } }
    .top-mv__note p {
      padding-left: 1.2em;
      text-indent: -1.2em;
      text-shadow: 0 0 5px rgba(23, 50, 103, 0.3); }
      @media only screen and (max-width: 768px) {
        .top-mv__note p {
          text-indent: -.6em; } }
      .top-mv__note p::before {
        content: '※';
        margin-right: .2em;
        display: inline-block; }
  .top-mv__dl {
    position: relative;
    width: clamp(390px, calc(350px + 1.65vw), 403px); }
    @media only screen and (max-width: 768px) {
      .top-mv__dl {
        width: 90%;
        margin: 0 auto; } }
  .top-mv .dl__catch {
    display: flex;
    justify-content: center;
    font-size: clamp(1.8rem, calc(1.6rem + 0.38vw), 2.1rem);
    font-weight: bold;
    margin-bottom: 5px; }
    @media only screen and (max-width: 768px) {
      .top-mv .dl__catch {
        font-size: 4.347826087vw; } }
    .top-mv .dl__catch::before {
      content: "＼";
      margin-right: .5em; }
    .top-mv .dl__catch::after {
      content: "／";
      margin-left: .5em; }
  .top-mv .dl__img {
    width: 100%;
    position: relative;
    margin-bottom: 25px;
    aspect-ratio: 403/303; }
    @media only screen and (max-width: 768px) {
      .top-mv .dl__img {
        width: 72.4637681159vw;
        margin: 0vw auto 6.038647343vw auto; } }
  .top-mv .dl__pc {
    position: relative; }
  .top-mv .dl__slide {
    position: absolute;
    top: 11px;
    left: 11px;
    overflow: hidden;
    width: 378px;
    aspect-ratio: 378/215; }
    @media print, screen and (min-width: 769px) {
      .top-mv .dl__slide {
        max-width: calc(100% - 25px); } }
    @media only screen and (max-width: 768px) {
      .top-mv .dl__slide {
        width: 68.5990338164vw;
        top: 1.9323671498vw;
        left: 1.9323671498vw; } }
    .top-mv .dl__slide::after {
      content: "";
      clear: both; }
    .top-mv .dl__slide-item {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
      .top-mv .dl__slide-item:nth-child(1) {
        z-index: 10; }
      .top-mv .dl__slide-item:nth-child(2) {
        z-index: 9; }
      .top-mv .dl__slide-item:nth-child(3) {
        z-index: 8; }
      .top-mv .dl__slide-item:nth-child(4) {
        z-index: 7; }
      .top-mv .dl__slide-item:nth-child(5) {
        z-index: 6; }
      .top-mv .dl__slide-item:nth-child(6) {
        z-index: 5; }
      .top-mv .dl__slide-item.is-active {
        transform: translateX(-100%);
        transition: transform .4s; }
  .top-mv .dl__btn-item {
    display: inline-block;
    background: linear-gradient(45deg, #242cff 0%, #2196F3 50%, #242cff 100%);
    color: #fff;
    font-size: clamp(1.7rem, calc(1.5rem + 0.38vw), 2rem);
    border: 2px solid #fff;
    padding: 16px 25px 16px 20px;
    width: 100%;
    position: relative;
    border-radius: 50px;
    text-align: center;
    line-height: 1.4;
    transition: background .4s;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .top-mv .dl__btn-item {
        font-size: 4.347826087vw;
        padding: 3.6231884058vw 3.6231884058vw 3.6231884058vw 1.2077294686vw; } }
    .top-mv .dl__btn-item::after {
      content: "\f090";
      color: #fff;
      font-family: "Material Icons";
      position: absolute;
      line-height: 1;
      width: 18px;
      background-size: contain;
      right: 20px;
      top: 50%;
      transform: translate(0, -50%);
      transition: transform .4s; }
    .top-mv .dl__btn-item:hover::after {
      transform: translate(0, -43%); }

.sec__inner {
  width: min(950px, 92vw);
  margin: 0 auto;
  padding: 70px 0; }
  @media only screen and (max-width: 768px) {
    .sec__inner {
      padding: 12.077294686vw 0vw 12.077294686vw 0vw; } }
  .sec__inner-wide {
    padding: 70px 0; }
    @media only screen and (max-width: 768px) {
      .sec__inner-wide {
        padding: 12.077294686vw 0vw 12.077294686vw 0vw; } }
.sec__col2 {
  display: flex;
  justify-content: space-between;
  column-gap: 50px; }
  @media only screen and (max-width: 768px) {
    .sec__col2 {
      flex-direction: column;
      grid-row-gap: 12.077294686vw; } }
  .sec__col2-item {
    display: flex;
    flex-direction: column; }
    @media print, screen and (min-width: 769px) {
      .sec__col2-item {
        width: 50%; } }
    .sec__col2-item .sec__btn {
      margin-top: auto; }
.sec__tit-h2 {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1.4; }
  @media only screen and (max-width: 768px) {
    .sec__tit-h2 {
      font-size: 6.038647343vw;
      margin-bottom: 7.2463768116vw; } }
.sec__catch {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 40px;
  text-align: center;
  line-height: 1.4; }
  @media only screen and (max-width: 768px) {
    .sec__catch {
      font-size: 3.6231884058vw;
      margin-bottom: 7.2463768116vw; } }
.sec__txt {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .sec__txt {
      margin-bottom: 7.2463768116vw; } }
  .sec__txt p {
    margin-bottom: 20px; }
    @media only screen and (max-width: 768px) {
      .sec__txt p {
        margin-bottom: 4.8309178744vw; } }
.sec__table table {
  border-collapse: collapse; }
.sec__table table, .sec__table tr, .sec__table th, .sec__table td {
  border: #DBE0E8 1px solid; }
.sec__table th {
  background: #f4f6fa;
  padding: 10px;
  text-align: center; }
.sec__table td {
  background: #fff;
  padding: 12px; }
.sec__btn {
  text-align: center; }
  .sec__btn-item {
    display: inline-block;
    padding: 10px 20px 10px 10px;
    background: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%233E6398'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.01 11H4v2h12.01v3L20 12l-3.99-4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    color: #3E6398;
    border: 1px solid #3E6398;
    width: 300px;
    border-radius: 25px; }
    @media only screen and (max-width: 768px) {
      .sec__btn-item {
        padding: 2.4154589372vw 6.038647343vw 2.4154589372vw 2.4154589372vw;
        width: 86%;
        border-radius: 30px; } }
    .sec__btn-item:hover {
      color: #fff;
      background-color: #3E6398;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23fff'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.01 11H4v2h12.01v3L20 12l-3.99-4z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 9px center; }

.top-info {
  padding: 40px 0; }
  @media only screen and (max-width: 768px) {
    .top-info {
      padding: 7.2463768116vw 3.6231884058vw 7.2463768116vw 3.6231884058vw; } }
  .top-info__list {
    display: flex;
    justify-content: center;
    column-gap: 20px;
    margin: 0 auto 30px;
    width: min(92vw, 1900px); }
    @media only screen and (max-width: 768px) {
      .top-info__list {
        flex-wrap: wrap;
        grid-gap: 15px 3%; } }
    @media only screen and (max-width: 768px) {
      .top-info__list li {
        width: 48.5%; } }
  .top-info__important {
    width: min(950px, 92vw);
    margin: 0 auto;
    background: #fff;
    border: #CFCFCF 1px solid;
    padding: 10px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .top-info__important {
        padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw; } }

@media only screen and (max-width: 768px) {
  .top-strength {
    margin-top: 12.077294686vw; } }
.top-strength__tit {
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  border-top: 2px solid #3E6398;
  border-bottom: 2px solid #3E6398;
  margin-bottom: 30px;
  padding: 5px; }
  @media only screen and (max-width: 768px) {
    .top-strength__tit {
      font-size: 5.3140096618vw;
      margin-bottom: 12.077294686vw; } }
.top-strength__img {
  margin-bottom: 60px;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .top-strength__img {
      margin-bottom: 9.6618357488vw; } }
.top-strength__reason {
  display: grid;
  justify-content: space-between;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 769px) {
    .top-strength__reason {
      grid-template-columns: repeat(3, 1fr);
      column-gap: 13px; } }
  @media only screen and (max-width: 768px) {
    .top-strength__reason {
      grid-row-gap: 9.6618357488vw;
      margin-bottom: 9.6618357488vw;
      place-content: center; } }
  .top-strength__reason-item {
    background: #F3F8FF;
    padding: 30px 10px;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .top-strength__reason-item {
        padding: 7.2463768116vw 3.6231884058vw 6.038647343vw 3.6231884058vw; } }
    .top-strength__reason-item::before {
      content: "";
      display: block;
      position: absolute;
      left: 10px;
      top: -15px;
      width: 38px;
      height: 52px;
      background: center/contain no-repeat; }
      @media only screen and (max-width: 768px) {
        .top-strength__reason-item::before {
          width: 9.1787439614vw;
          height: 12.5603864734vw;
          left: 2.4154589372vw;
          top: -4.8309178744vw; } }
    .top-strength__reason-item:nth-child(1)::before {
      background-image: url("/media_library/consolidate/images/top-strength__num1.png"); }
    .top-strength__reason-item:nth-child(2)::before {
      background-image: url("/media_library/consolidate/images/top-strength__num2.png"); }
    .top-strength__reason-item:nth-child(3)::before {
      background-image: url("/media_library/consolidate/images/top-strength__num3.png"); }
  .top-strength__reason .reason {
    text-align: center;
    display: flex;
    flex-direction: column; }
    .top-strength__reason .reason__tit {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 40px; }
      @media only screen and (max-width: 768px) {
        .top-strength__reason .reason__tit {
          font-size: 5.3140096618vw;
          margin-bottom: 6.038647343vw; } }
    .top-strength__reason .reason__sub-tit {
      font-size: 1.5rem;
      font-weight: bold; }
      @media only screen and (max-width: 768px) {
        .top-strength__reason .reason__sub-tit {
          font-size: 3.6231884058vw; } }
    .top-strength__reason .reason__img {
      color: #3E6398;
      flex-grow: 1;
      display: flex;
      align-items: baseline;
      justify-content: center;
      margin: 20px auto; }
      @media only screen and (max-width: 768px) {
        .top-strength__reason .reason__img {
          margin: 1.2077294686vw auto 1.2077294686vw auto;
          line-height: 1.4; } }
      .top-strength__reason .reason__img .num {
        font-family: "senobi-gothic", sans-serif;
        font-weight: 700;
        font-style: normal;
        letter-spacing: -.15em;
        padding-right: .05em;
        font-size: 7.5rem; }
        @media only screen and (max-width: 768px) {
          .top-strength__reason .reason__img .num {
            font-size: 18.115942029vw; } }
      .top-strength__reason .reason__img .unit {
        font-size: 2.1rem;
        font-weight: bold; }
        @media only screen and (max-width: 768px) {
          .top-strength__reason .reason__img .unit {
            font-size: 5.0724637681vw; } }
      @media only screen and (max-width: 768px) {
        .top-strength__reason .reason__img .img {
          margin: 4.8309178744vw auto 4.8309178744vw auto; } }
    @media only screen and (max-width: 768px) {
      .top-strength__reason .reason__txt {
        font-size: 3.6231884058vw; } }

.top-solution__list {
  display: grid;
  grid-gap: 20px;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 769px) {
    .top-solution__list {
      grid-template-columns: repeat(3, 1fr); } }
  @media only screen and (max-width: 768px) {
    .top-solution__list {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 2.4154589372vw;
      grid-row-gap: 4.8309178744vw; } }
.top-solution__link {
  padding: 15px;
  background: #fff url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='レイヤー_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='10px' height='10px' viewBox='0 0 10 10' enable-background='new 0 0 10 10' xml:space='preserve'%3E%3Cpath fill='%233E6398' d='M10,0v10H0L10,0z'/%3E%3C/svg%3E%0A") bottom 2px right 2px no-repeat;
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  transition: background .4s; }
  @media only screen and (max-width: 768px) {
    .top-solution__link {
      padding: 6.038647343vw 2.4154589372vw 4.8309178744vw 2.4154589372vw; } }
  .top-solution__link:hover {
    background: #dae9ff url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='レイヤー_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='10px' height='10px' viewBox='0 0 10 10' enable-background='new 0 0 10 10' xml:space='preserve'%3E%3Cpath fill='%23fff' d='M10,0v10H0L10,0z'/%3E%3C/svg%3E%0A") bottom 2px right 2px no-repeat;
    color: #39424B; }
    .top-solution__link:hover .top-solution__txt {
      background: #e2e8f2; }
.top-solution__name {
  display: flex;
  width: 100%;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .top-solution__name {
      flex-direction: column-reverse; } }
  .top-solution__name-img {
    width: 50px;
    line-height: 0;
    margin-bottom: 15px; }
    @media only screen and (max-width: 768px) {
      .top-solution__name-img {
        width: 12.077294686vw;
        margin: 0vw auto 3.6231884058vw auto; } }
  .top-solution__name-item {
    width: calc(100% - 70px);
    margin-bottom: 15px; }
    @media only screen and (max-width: 768px) {
      .top-solution__name-item {
        width: 100%;
        text-align: center;
        margin-bottom: 3.6231884058vw; } }
.top-solution__sub-tit {
  font-size: 1.3rem; }
  @media only screen and (max-width: 768px) {
    .top-solution__sub-tit {
      font-size: 3.1400966184vw;
      line-height: 1.4; } }
.top-solution__tit {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  transition: background .4s; }
  @media only screen and (max-width: 768px) {
    .top-solution__tit {
      font-size: 3.8647342995vw; } }
  @media print, screen and (min-width: 769px) {
    .top-solution__tit.line--1 {
      height: 60px;
      display: flex;
      align-items: center; } }
.top-solution__txt {
  background: #f4f6fa;
  padding: 10px;
  text-align: left;
  font-size: 1.4rem;
  width: 100%;
  flex-grow: 1; }
  @media only screen and (max-width: 768px) {
    .top-solution__txt {
      font-size: 3.3816425121vw;
      padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw; } }
  .top-solution__txt > li {
    padding-left: calc(1rem * 1.3);
    text-indent: calc(1rem * -1.3);
    line-height: 1.4;
    margin-bottom: 5px; }
    @media only screen and (max-width: 768px) {
      .top-solution__txt > li {
        font-size: 3.3816425121vw;
        margin-bottom: 1.2077294686vw; } }
    .top-solution__txt > li::before {
      content: "●";
      color: #3E6398;
      font-size: 1rem;
      margin-right: .3em; }
.top-solution__btn {
  margin-top: auto; }
  .top-solution__btn-item {
    display: inline-block;
    background: #3E6398;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    border-radius: 5px;
    padding: 8px 13px;
    width: 210px;
    transition: background .4s; }
    @media only screen and (max-width: 768px) {
      .top-solution__btn-item {
        width: 100%;
        font-size: 3.3816425121vw;
        padding: 1.9323671498vw 3.1400966184vw 1.9323671498vw 3.1400966184vw; } }
    .top-solution__btn-item:visited {
      color: #fff; }
    .top-solution__btn-item:hover {
      color: #fff;
      background: #2f4b74; }

:root {
  --win-width: var(--win-width); }

@keyframes infinity-scroll-right {
  from {
    transform: translateX(0%); }
  to {
    transform: translateX(-200%); } }
@keyframes infinity-scroll-left {
  from {
    transform: translateX(-200%); }
  to {
    transform: translateX(0%); } }
.top-case__logo {
  overflow: hidden; }
  @media only screen and (max-width: 768px) {
    .top-case__logo {
      margin-bottom: 9.6618357488vw; } }
  .top-case__logo .case-logo {
    width: 100%;
    position: relative; }
    .top-case__logo .case-logo__inner {
      width: 200%;
      display: flex; }
      .top-case__logo .case-logo__inner--right {
        animation: infinity-scroll-right calc(var(--list-width)/100 * 0.8s) linear infinite; }
      .top-case__logo .case-logo__inner--left {
        animation: infinity-scroll-left calc(var(--list-width)/100 * 0.8s) linear infinite; }
    .top-case__logo .case-logo__list {
      flex-basis: 50%;
      display: flex;
      align-items: center;
      margin-bottom: 40px; }
      @media only screen and (max-width: 768px) {
        .top-case__logo .case-logo__list {
          column-gap: 12.077294686vw;
          margin-bottom: 3.6231884058vw; } }
      .top-case__logo .case-logo__list .slick-track {
        display: flex;
        align-items: center; }
      .top-case__logo .case-logo__list-item {
        max-width: 190px;
        width: auto;
        max-height: 50px;
        text-align: center;
        margin: 0 25px; }
        @media only screen and (max-width: 768px) {
          .top-case__logo .case-logo__list-item {
            max-width: 33.8164251208vw;
            max-height: 12.077294686vw; } }
        .top-case__logo .case-logo__list-item img {
          max-width: 190px;
          max-height: 50px;
          width: auto;
          height: auto; }
          @media only screen and (max-width: 768px) {
            .top-case__logo .case-logo__list-item img {
              max-width: 33.8164251208vw;
              max-height: 12.077294686vw; } }
.top-case__case {
  position: relative; }
  .top-case__case .case {
    position: relative;
    margin-bottom: 40px;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .top-case__case .case {
        margin-bottom: 7.2463768116vw; } }
    .top-case__case .case__list {
      display: flex;
      flex-wrap: nowrap;
      grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
      column-gap: normal; }
      .top-case__case .case__list-item {
        width: calc(100%/4.5);
        height: auto;
        border: 1px solid #DBE0E8;
        position: relative; }
        @media screen and (max-width: 1024px) {
          .top-case__case .case__list-item {
            width: calc(100%/4); } }
        @media print, screen and (min-width: 769px) {
          .top-case__case .case__list-item.new::after {
            font-size: 1.6rem; } }
        .top-case__case .case__list-item:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next)::after {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: rgba(255, 255, 255, 0.6);
          z-index: 2; }
    .top-case__case .case__link {
      display: flex;
      flex-direction: column; }
    .top-case__case .case__thumb {
      aspect-ratio: 225/145;
      height: auto; }
      .top-case__case .case__thumb img {
        object-fit: fill;
        width: 100%; }
    .top-case__case .case__text {
      grid-row: auto;
      height: auto; }
    .top-case__case .case__name {
      line-height: 1.5; }
      @media print, screen and (min-width: 769px) {
        .top-case__case .case__name {
          font-size: 1.8rem; } }
    .top-case__case .case__caption {
      font-weight: normal;
      line-height: 1.5; }
      @media print, screen and (min-width: 769px) {
        .top-case__case .case__caption {
          font-size: 2rem;
          min-height: calc(2rem * 6); } }
    .top-case__case .case__tag {
      margin-top: auto;
      display: flex;
      flex-wrap: wrap; }
    .top-case__case .case__system-wrap {
      width: 100%; }
    @media print, screen and (min-width: 769px) {
      .top-case__case .case__system {
        font-size: 1.4rem; } }
    @media print, screen and (min-width: 769px) {
      .top-case__case .case__type {
        font-size: 1.4rem; } }
.top-case__nav {
  background: #39424B;
  color: #fff;
  padding: 40px 20px;
  line-height: 1; }
  @media only screen and (max-width: 768px) {
    .top-case__nav {
      padding: 9.6618357488vw 4.8309178744vw 9.6618357488vw 4.8309178744vw; } }
  @media print, screen and (min-width: 769px) {
    .top-case__nav.swiper-button-prev {
      left: calc(100%/9.5);
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px; } }
  @media screen and (max-width: 1024px) {
    .top-case__nav.swiper-button-prev {
      left: 20px; } }
  @media print, screen and (min-width: 769px) {
    .top-case__nav.swiper-button-next {
      right: calc(100%/9.5);
      border-top-right-radius: 10px;
      border-bottom-right-radius: 10px; } }
  @media screen and (max-width: 1024px) {
    .top-case__nav.swiper-button-next {
      right: 20px; } }

.top-seminar__news {
  background: #fff;
  border: 1px solid #DBE0E8;
  padding: 15px;
  font-size: 1.4rem;
  display: flex;
  align-items: flex-start;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 769px) {
    .top-seminar__news {
      column-gap: 25px; } }
  @media only screen and (max-width: 768px) {
    .top-seminar__news {
      flex-direction: column;
      padding: 2.4154589372vw 2.4154589372vw 2.4154589372vw 2.4154589372vw;
      font-size: 3.3816425121vw;
      margin-bottom: 9.6618357488vw; } }
  .top-seminar__news dt {
    background: #366AB3;
    padding: 2px 40px;
    color: #fff;
    border-radius: 30px; }
    @media only screen and (max-width: 768px) {
      .top-seminar__news dt {
        padding: 0.4830917874vw 9.6618357488vw 0.4830917874vw 9.6618357488vw;
        margin-bottom: 2.4154589372vw; } }
  .top-seminar__news dd {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='9' viewBox='0 0 8 9'%3E%3Cpath id='多角形_1' data-name='多角形 1' d='M4.5,0,9,8H0Z' transform='translate(8) rotate(90)' fill='%233e6398'/%3E%3C/svg%3E%0A") no-repeat left top 8px;
    padding-left: 18px; }
    @media only screen and (max-width: 768px) {
      .top-seminar__news dd {
        padding-left: 4.347826087vw; } }
.top-seminar__banner {
  margin-bottom: 60px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .top-seminar__banner {
      margin-bottom: 14.4927536232vw; } }
  .top-seminar__banner-page.swiper-pagination {
    position: absolute;
    bottom: -30px; }
.top-seminar__table {
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .top-seminar__table table, .top-seminar__table tbody, .top-seminar__table tr, .top-seminar__table th, .top-seminar__table td {
      display: block;
      width: 100%;
      border: none; }
    .top-seminar__table thead {
      display: none; }
    .top-seminar__table tr {
      border: 1px solid #DBE0E8;
      margin-bottom: 4.8309178744vw;
      display: flex;
      flex-direction: column;
      padding: 3.6231884058vw 4.8309178744vw 4.8309178744vw 4.8309178744vw;
      background: #fff; }
    .top-seminar__table td {
      padding: 0; } }
  .top-seminar__table dt {
    vertical-align: middle; }
  .top-seminar__table .date {
    line-height: 1.4; }
    @media print, screen and (min-width: 769px) {
      .top-seminar__table .date {
        width: 170px; } }
    @media only screen and (max-width: 768px) {
      .top-seminar__table .date {
        order: 3; }
        .top-seminar__table .date br {
          display: none; } }
  .top-seminar__table .cost {
    vertical-align: middle; }
    @media print, screen and (min-width: 769px) {
      .top-seminar__table .cost {
        width: 102px;
        text-align: center; } }
    @media only screen and (max-width: 768px) {
      .top-seminar__table .cost {
        order: 1;
        line-height: 1; } }
  .top-seminar__table .cate {
    text-align: center; }
  @media only screen and (max-width: 768px) {
    .top-seminar__table .tit {
      order: 2; } }
  .top-seminar__table .detail {
    text-align: center;
    vertical-align: middle; }
    @media print, screen and (min-width: 769px) {
      .top-seminar__table .detail {
        width: 131px; } }
    @media only screen and (max-width: 768px) {
      .top-seminar__table .detail {
        order: 4; } }
@media only screen and (max-width: 768px) {
  .top-seminar__date {
    margin-bottom: 4.8309178744vw; } }
.top-seminar__date-item {
  font-weight: bold;
  font-size: 1.4rem; }
  @media only screen and (max-width: 768px) {
    .top-seminar__date-item {
      font-size: 3.8647342995vw;
      margin-bottom: 1.2077294686vw; } }
.top-seminar__date .em {
  font-size: 1.6rem; }
  @media only screen and (max-width: 768px) {
    .top-seminar__date .em {
      font-size: 4.8309178744vw; } }
.top-seminar__date .ic__multi {
  display: inline-block;
  font-weight: normal;
  border: 1px solid #AAAAAA;
  border-radius: 20px;
  padding: 3px 10px; }
  @media only screen and (max-width: 768px) {
    .top-seminar__date .ic__multi {
      font-size: 3.6231884058vw;
      padding: 0.7246376812vw 2.4154589372vw 0.7246376812vw 2.4154589372vw; } }
  .top-seminar__date .ic__multi::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 15px;
    background: url(/media_library/consolidate/seminar/images/ic_calender.svg) 0 2px no-repeat;
    background-size: contain;
    margin-right: 8px; }
    @media only screen and (max-width: 768px) {
      .top-seminar__date .ic__multi::before {
        margin-right: 1.9323671498vw;
        width: 2.8985507246vw;
        height: 3.6231884058vw; } }
.top-seminar__cost {
  font-size: 1.4rem;
  color: #fff;
  display: inline-block;
  padding: 2px 5px;
  line-height: 1.4;
  background-color: #a2d7ef; }
  @media print, screen and (min-width: 769px) {
    .top-seminar__cost {
      width: 100%; } }
  @media only screen and (max-width: 768px) {
    .top-seminar__cost {
      margin-bottom: 1.4492753623vw;
      font-size: 3.6231884058vw;
      padding: 0.4830917874vw 1.9323671498vw 0.4830917874vw 1.9323671498vw; } }
  .top-seminar__cost--free {
    background-color: #DE5B7E; }
  .top-seminar__cost--paid {
    background-color: #5B98DE; }
.top-seminar__catch {
  font-size: 1.4rem;
  line-height: 1.4; }
  @media only screen and (max-width: 768px) {
    .top-seminar__catch {
      font-size: 3.8647342995vw;
      margin-bottom: 0.7246376812vw; } }
.top-seminar__tit {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4; }
  @media only screen and (max-width: 768px) {
    .top-seminar__tit {
      font-size: 5.7971014493vw;
      margin-bottom: 2.4154589372vw; } }
.top-seminar__link {
  display: inline-block;
  background: #3E6398;
  font-size: 1.4rem;
  color: #fff;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 5px 30px; }
  .top-seminar__link:hover {
    color: #3E6398;
    border: 1px solid #3E6398;
    background: #fff; }
  @media only screen and (max-width: 768px) {
    .top-seminar__link {
      font-size: 4.347826087vw;
      width: 70%; } }

.top-webcolumn, .top-express {
  margin-bottom: 60px; }
  @media only screen and (max-width: 768px) {
    .top-webcolumn, .top-express {
      margin-bottom: 14.4927536232vw; } }

.top-webcolumn__list {
  margin-bottom: 40px; }
  .top-webcolumn__list li {
    border-bottom: 1px dotted #DBE0E8; }
.top-webcolumn__link {
  padding-bottom: 13px;
  padding-top: 13px;
  display: block; }
  .top-webcolumn__link .date {
    color: #707070;
    font-size: 1.4rem;
    margin-bottom: 5px; }
  .top-webcolumn__link .tit {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 5px;
    transition: color .4s; }
  .top-webcolumn__link .topic {
    font-size: 1.8rem;
    color: #3E6398;
    font-weight: bold;
    line-height: 1.4; }
  .top-webcolumn__link:hover .tit, .top-webcolumn__link:hover .topic {
    color: #3AB8EF; }

.top-express .infoList li {
  border-bottom: 1px dotted #DBE0E8;
  padding-bottom: 13px;
  padding-top: 13px; }
.top-express .infoList .date {
  color: #707070;
  font-size: 1.4rem;
  margin-bottom: 5px;
  margin-right: 10px; }
.top-express .infoList .category {
  display: inline-block;
  color: #39424B;
  background: #D9EEFF;
  font-size: 1.3rem;
  padding: 1px 7px; }
.top-express .infoList .txtLink a {
  color: #3E6398;
  display: inline-block;
  margin-top: 5px;
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 5px;
  display: block; }
  .top-express .infoList .txtLink a:hover {
    color: #3AB8EF; }

.express-entry {
  background: #F3F8FF;
  padding: 40px 30px 30px;
  display: flex;
  justify-content: space-between;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .express-entry {
      margin-top: 9.6618357488vw;
      padding: 9.6618357488vw 4.8309178744vw 4.8309178744vw 4.8309178744vw;
      flex-direction: column; } }
  .express-entry::before {
    content: "";
    width: 75px;
    height: 70px;
    display: block;
    position: absolute; }
    @media print, screen and (min-width: 769px) {
      .express-entry::before {
        background: url("/media_library/consolidate/images/icon_check.svg") no-repeat center/75px 70px;
        top: -30px;
        left: -30px; } }
    @media only screen and (max-width: 768px) {
      .express-entry::before {
        background: url("/media_library/consolidate/images/icon_check_sp.svg") no-repeat center/contain;
        width: 18.115942029vw;
        height: 16.9082125604vw;
        top: -9.6618357488vw;
        left: 50%;
        transform: translateX(-50%); } }
  @media only screen and (max-width: 768px) {
    .express-entry__txt {
      text-align: center;
      margin-bottom: 2.4154589372vw; } }
  .express-entry__tit {
    color: #3E6398;
    font-size: 2.8rem;
    font-weight: bold;
    margin-bottom: 10px; }
    @media screen and (max-width: 1024px) {
      .express-entry__tit {
        font-size: 2.4rem; } }
    @media only screen and (max-width: 768px) {
      .express-entry__tit {
        font-size: 6.7632850242vw; } }
  .express-entry__catch {
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 20px; }
    @media screen and (max-width: 1024px) {
      .express-entry__catch {
        font-size: 1.6rem; } }
    @media only screen and (max-width: 768px) {
      .express-entry__catch {
        font-size: 4.347826087vw; } }
  .express-entry__form {
    display: flex;
    margin-bottom: 10px; }
    .express-entry__form input[type="text"] {
      background: #fff;
      padding: 12px;
      border-radius: 5px;
      margin-right: 10px;
      width: 350px; }
      @media screen and (max-width: 1024px) {
        .express-entry__form input[type="text"] {
          width: 70%; } }
      @media only screen and (max-width: 768px) {
        .express-entry__form input[type="text"] {
          width: 100%;
          margin-bottom: 3.6231884058vw; } }
      .express-entry__form input[type="text"]::placeholder {
        color: #C7C7C7;
        font-size: 1.8rem; }
        @media screen and (max-width: 1024px) {
          .express-entry__form input[type="text"]::placeholder {
            font-size: 1.4rem; } }
        @media only screen and (max-width: 768px) {
          .express-entry__form input[type="text"]::placeholder {
            font-size: 4.347826087vw; } }
    .express-entry__form input[type="submit"] {
      background: #3E6398;
      color: #fff;
      border-radius: 5px;
      padding: 12px 23px; }
      @media screen and (max-width: 1024px) {
        .express-entry__form input[type="submit"] {
          width: 20%;
          padding: 5px;
          text-align: center; } }
      @media only screen and (max-width: 768px) {
        .express-entry__form input[type="submit"] {
          padding: 1.9323671498vw 4.8309178744vw 1.9323671498vw 4.8309178744vw; } }
  .express-entry__movie {
    width: 410px; }
    @media screen and (max-width: 1024px) {
      .express-entry__movie {
        max-width: 50%; } }
    @media only screen and (max-width: 768px) {
      .express-entry__movie {
        max-width: none;
        width: 100%; } }
    .express-entry__movie .movie-box {
      border-radius: 6px;
      overflow: hidden;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }

.top-theme__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  grid-gap: 20px 10px;
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    .top-theme__list {
      flex-direction: column;
      align-items: center; } }
  @media screen and (max-width: 1024px) {
    .top-theme__list li {
      width: 32%; } }
  @media only screen and (max-width: 768px) {
    .top-theme__list li {
      width: auto; } }




