@charset "UTF-8";
/*! destyle.css v1.0.13 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::before,
::after {
  -webkit-box-sizing: inherit;
          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 {
  -webkit-box-sizing: content-box;
          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 */
  -webkit-text-decoration: underline dotted;
  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
 * 1. Reset radio and checkbox to preserve their look in iOS.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-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;
}

[type=checkbox] {
  /* 1 */
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  /* 1 */
  -webkit-appearance: radio;
  -moz-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;
  -moz-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 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;
}

/**
 * 1. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
  /* 1 */
}

/**
 * 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;
}

/* 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;
}

.mt10 {
  margin-top: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

.responsivebox {
  width: 1040px;
  margin: 0 auto;
}

@media screen and (max-width: 1039px) {
  .responsivebox {
    width: 100%;
    margin: 0;
  }
}
.flex_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex_row-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flex_space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flex_w10p {
  width: 10%;
}

@media screen and (max-width: 1039px) {
  .flex_w10p {
    width: 100%;
  }
}
.flex_w20p {
  width: 20%;
}

@media screen and (max-width: 1039px) {
  .flex_w20p {
    width: 100%;
  }
}
.flex_w30p {
  width: 30%;
}

@media screen and (max-width: 1039px) {
  .flex_w30p {
    width: 100%;
  }
}
.flex_w40p {
  width: 40%;
}

@media screen and (max-width: 1039px) {
  .flex_w40p {
    width: 100%;
  }
}
.flex_w50p {
  width: 50%;
}

@media screen and (max-width: 1039px) {
  .flex_w50p {
    width: 100%;
  }
}
.flex_w60p {
  width: 60%;
}

@media screen and (max-width: 1039px) {
  .flex_w60p {
    width: 100%;
  }
}
.flex_w70p {
  width: 70%;
}

@media screen and (max-width: 1039px) {
  .flex_w70p {
    width: 100%;
  }
}
.flex_w80p {
  width: 80%;
}

@media screen and (max-width: 1039px) {
  .flex_w80p {
    width: 100%;
  }
}
.flex_w90p {
  width: 90%;
}

@media screen and (max-width: 1039px) {
  .flex_w90p {
    width: 100%;
  }
}
.flex_w100p {
  width: 100%;
}

@media screen and (max-width: 1039px) {
  .flex_w100p {
    width: 100%;
  }
}
.flex_w5p {
  width: 5%;
}

@media screen and (max-width: 1039px) {
  .flex_w5p {
    width: 100%;
  }
}
.flex_w15p {
  width: 15%;
}

@media screen and (max-width: 1039px) {
  .flex_w15p {
    width: 100%;
  }
}
.flex_w25p {
  width: 25%;
}

@media screen and (max-width: 1039px) {
  .flex_w25p {
    width: 100%;
  }
}
.flex_w35p {
  width: 35%;
}

@media screen and (max-width: 1039px) {
  .flex_w35p {
    width: 100%;
  }
}
.flex_w45p {
  width: 45%;
}

@media screen and (max-width: 1039px) {
  .flex_w45p {
    width: 100%;
  }
}
.flex_w55p {
  width: 55%;
}

@media screen and (max-width: 1039px) {
  .flex_w55p {
    width: 100%;
  }
}
.flex_w65p {
  width: 65%;
}

@media screen and (max-width: 1039px) {
  .flex_w65p {
    width: 100%;
  }
}
.flex_w75p {
  width: 75%;
}

@media screen and (max-width: 1039px) {
  .flex_w75p {
    width: 100%;
  }
}
.flex_w85p {
  width: 85%;
}

@media screen and (max-width: 1039px) {
  .flex_w85p {
    width: 100%;
  }
}
.flex_w95p {
  width: 95%;
}

@media screen and (max-width: 1039px) {
  .flex_w95p {
    width: 100%;
  }
}
.flex_col2 {
  width: 50%;
}

@media screen and (max-width: 1039px) {
  .flex_col2 {
    width: 100%;
  }
}
.flex_col3 {
  width: 33.33333%;
}

@media screen and (max-width: 1039px) {
  .flex_col3 {
    width: 100%;
  }
}
.flex_col4 {
  width: 25%;
}

@media screen and (max-width: 1039px) {
  .flex_col4 {
    width: 100%;
  }
}
.flex_col5 {
  width: 20%;
}

@media screen and (max-width: 1039px) {
  .flex_col5 {
    width: 100%;
  }
}
.flex_col6 {
  width: 16.66667%;
}

@media screen and (max-width: 1039px) {
  .flex_col6 {
    width: 100%;
  }
}
@media screen and (max-width: 1039px) {
  .flex_sp_col2 {
    width: 50% !important;
  }
}
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.view__pc {
  display: block !important;
}

@media screen and (max-width: 960px) {
  .view__pc {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
}
.view__sp {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

@media screen and (max-width: 960px) {
  .view__sp {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}
body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.7;
  font-size: 18px;
  font-size: 1.125rem;
  overflow-x: hidden;
}

img {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

a {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

a:hover {
  opacity: 0.8;
}

main {
  display: block;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignleft {
  display: block;
  margin: 0 0 0 auto;
}

.alignright {
  display: block;
  margin: 0 auto 0 0;
}

.floatleft {
  float: left !important;
}

.floatright {
  float: right !important;
}

.red {
  color: #d51b28;
}

.common__heading {
  font-size: 2.8rem;
  /* font-size: 1.75rem; */
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
  .columns__page &{
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 1039px) {
  .common__heading {
    font-size: 2.0rem;
    /* font-size: 1.25rem; */
    .columns__page &{
      max-width: 90%;
      margin-inline: auto;
    }
  }
}
.common__subheading {
  font-size: 2rem;
  /* font-size: 1.25rem; */
  font-weight: bold;
}

.common__subheading span {
  font-size: 1.6rem;
  /* font-size: 1rem; */
  font-weight: normal;
}

.common__partheading {
  font-size: 1.6rem;
  /* font-size: 1rem; */
  font-weight: bold;
}

.common__list-disc {
  list-style: disc;
  list-style-position: inside;
  padding-left: 0.4em;
}

.common__btn {
  background-color: #d51b28;
  color: #fff;
  width: 400px;
  line-height: 80px;
  font-size: 2.4rem;
  /* font-size: 1.5rem; */
  display: block;
  margin: 0 auto;
  border-radius: 40px;
  position: relative;
  text-align: center;
  font-weight: bold;
  margin-top: 20px;
}

@media screen and (max-width: 1039px) {
  .common__btn {
    width: 80%;
  }
}
.common__btn::after {
  position: absolute;
  right: 1.5em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.btn__arrow-r {
  display: block;
  margin: 50px auto 30px;
  font-size: 1.4rem;
  /* font-size: 0.875rem; */
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: block;
  width: 200px;
  line-height: 1;
  padding: 18px 0;
  background-color: #000;
  position: relative;
  border-radius: 25px;
  -webkit-box-shadow: 0 0 5px #424242;
          box-shadow: 0 0 5px #424242;
}

.btn__arrow-r::after {
  position: absolute;
  right: 1.5em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

@media screen and (max-width: 1039px) {
  .btn__arrow-r {
    padding: 10px 0;
  }
}
@media screen and (max-width: 320px) {
  .btn__arrow-r {
    padding: 10px 0;
  }
  .btn__arrow-r::after {
    content: none;
  }
}
.btn__arrow-l {
  display: block;
  width: 260px;
  line-height: 60px;
  font-size: 1.8rem;
  /* font-size: 1.125rem; */
  text-align: center;
  margin: 0 auto;
  color: #000;
  border: 1px solid #000;
  border-radius: 30px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .btn__arrow-l {
    width: 90%;
    line-height: 50px;
    font-size: 1.6rem;
    /* font-size: 1rem; */
  }
}
.btn__arrow-l::before {
  content: "\f053";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 30px;
  line-height: 1;
  margin-top: -0.5em;
}

.btn-red__arrow-r {
  display: block;
  width: 400px;
  line-height: 80px;
  text-align: center;
  border-radius: 40px;
  background-color: #d51b28;
  color: #fff;
  font-size: 2.4rem;
  /* font-size: 1.5rem; */
  position: relative;
  font-weight: bold;
  margin: 50px auto 0;
}
.btn-red__arrow-r.is-s {
  font-size: 1.6rem;
}
.btn-red__arrow-r.is-movie {
  width: 60% !important;
}
@media screen and (max-width: 1039px) {
  .btn-red__arrow-r.is-movie {
    width: 90%;
  }
}

@media screen and (max-width: 1039px) {
  .btn-red__arrow-r {
    width: 90%;
    font-size: 1.7rem;
    /* font-size: 1.0625rem; */
    margin-top: 30px;
    line-height: 60px;
    border-right: 30px;
  }
}
.btn-red__arrow-r::after {
  position: absolute;
  right: 1.5em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.bg__grey {
  background-color: #eeeeee;
}

.footer__bnr {
  width: 0;
  height: 0;
  bottom: 50%;
}

@media screen and (max-width: 1039px) {
  .footer__bnr {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: auto;
    z-index: 99;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr ul {
    width: 100%;
    background-color: #d51b28;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr li {
    width: 33.33333%;
    padding: 0;
    margin: 0;
    height: 55px;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr li a {
    line-height: 1.3;
    font-size: 1.4rem;
    /* font-size: 0.875rem; */
    color: #fff;
    background-repeat: no-repeat;
    padding-left: 40px;
    display: block;
    height: 55px;
    border-left: 1px solid #fff;
  }
  .footer__bnr li a span {
    font-size: 1.0rem;
    /* font-size: 0.625rem; */
    display: block;
  }
}
@media screen and (max-width: 320px) {
  .footer__bnr li a {
    text-align: center;
    padding-left: 0;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr li:first-child a {
    border-left: none;
    font-weight: bold;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr-requestdoc {
    background-image: url(../img/doc_char.png);
    background-size: auto 30px;
    background-position: 5px center;
    padding-top: 18px;
  }
}
@media screen and (max-width: 320px) {
  .footer__bnr-requestdoc {
    background-image: none;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr-inquiry {
    background-image: url(../img/inquiry_char_sp.png);
    background-size: 50px auto;
    background-position: -10px bottom;
    padding-top: 13px;
  }
}
@media screen and (max-width: 320px) {
  .footer__bnr-inquiry {
    background-image: none;
    padding-top: 11px;
  }
}
@media screen and (max-width: 1039px) {
  .footer__bnr-freedial {
    background-image: url(../img/icon_freedial_sp.png);
    background-size: 30px auto;
    background-position: 5px center;
    padding-top: 15px;
  }
}
@media screen and (max-width: 320px) {
  .footer__bnr-freedial {
    padding-top: 13px;
    background-image: none;
  }
}
.page__title {
  display: block;
  height: 190px;
  background-image: url(../img/page_kv.png);
  text-align: center;
  line-height: 190px;
  font-weight: bold;
  font-size: 4.0rem;
  /* font-size: 2.5rem; */
  line-height: 190px;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  .page__title {
    line-height: 100px;
    height: 100px;
    font-size: 2.5rem;
    /* font-size: 1.5625rem; */
  }
}
main {
  margin-top: 150px;
}
@media screen and (max-width: 1039px) {
  main {
    margin-top: 60px;
  }
}

.page__requestdocs {
  margin-top: 90px;
  background-image: url(../img/cases_requestdoc_bg.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.page__requestdocs.is-sim {
  background: none;
  margin-top: 0;
}
.page__requestdocs.is-sim .common__heading {
  color: #000;
}
.page__requestdocs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 520px) {
  .page__requestdocs__list {
    display: block;
  }
}
.page__requestdocs__item {
  width: 49%;
  max-width: 400px;
}
@media screen and (max-width: 520px) {
  .page__requestdocs__item {
    width: 100%;
    max-width: 100%;
    display: block;
  }
}
.page__requestdocs__item .common__btn {
  max-width: 100%;
  width: auto;
  font-size: 1.1rem;
}
@media screen and (max-width: 520px) {
  .page__requestdocs__item .common__btn {
    font-size: 4vw !important;
  }
}

@media screen and (max-width: 1039px) {
  .page__requestdocs {
    margin-top: 50px;
  }
}
.page__requestdocs .responsivebox {
  width: 800px;
  padding: 70px 0;
}

@media screen and (max-width: 1039px) {
  .page__requestdocs .responsivebox {
    width: 100%;
    background-image: none;
    padding: 40px 20px;
  }
}
.page__requestdocs .common__heading {
  margin-top: 10px;
  font-size: 4.0rem;
  /* font-size: 2.5rem; */
  color: #fff;
  letter-spacing: 0;
}

@media screen and (max-width: 1039px) {
  .page__requestdocs .common__heading {
    font-size: 2.0rem;
    /* font-size: 1.25rem; */
    margin-top: 0;
  }
}
.page__requestdocs .common__text {
  font-size: 2.0rem;
  /* font-size: 1.25rem; */
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  .page__requestdocs .common__text {
    font-size: 1.8rem;
    /* font-size: 1.125rem; */
  }
}
.page__requestdocs .common__text span {
  background-image: url(../img/icon_freedial.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 32px auto;
  margin-left: 10px;
  padding-left: 40px;
}

@media screen and (max-width: 1039px) {
  .page__requestdocs .common__text span {
    margin-left: 0;
  }
}
@media screen and (max-width: 1039px) {
  .page__requestdocs .common__btn {
    width: 100%;
    font-size: 1.7px;
    font-size: 1.0625rem;
    line-height: 60px;
  }
}
.breadcrumb {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 15px 0;
}

@media screen and (max-width: 1039px) {
  .breadcrumb {
    font-size: 9px;
    font-size: 0.5625rem;
    padding: 12px 10px;
  }
}
.breadcrumb__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.breadcrumb__link {
  margin-right: 0.8em;
  white-space: nowrap;
}

.breadcrumb__link a {
  color: #ccc;
  margin-right: 0.8em;
}

.breadcrumb__link a:hover {
  color: #d51b28;
}

.breadcrumb__link::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #ccc;
}

@media screen and (max-width: 1039px) {
  .breadcrumb__current {
    width: auto;
  }
}
.responsive-table01 th,
.responsive-table01 td {
  padding: 10px 20px;
  border: solid 1px #ccc;
}

.responsive-table01 th {
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .responsive-table01 {
    width: 100%;
  }
  .responsive-table01 .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .responsive-table01 th,
  .responsive-table01 td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}
#page_top {
  position: fixed;
  bottom: 30px;
  right: 40px;
  z-index: 999;
}

@media screen and (max-width: 1039px) {
  #page_top {
    bottom: 70px;
    right: 20px;
  }
}
#page_top a {
  background-color: white;
  color: #d51b28;
  text-align: center;
  text-decoration: none;
  display: block;
  text-align: center;
  line-height: 50px;
  width: 56px;
  height: 56px;
  border-radius: 28px;
  border: 3px solid #d51b28;
  opacity: 0.8;
}

@media screen and (max-width: 1039px) {
  #page_top a {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 34px;
    width: 40px;
    height: 40px;
    border-radius: 20px;
  }
}
#page_top a:hover {
  background-color: #d51b28;
  text-decoration: none;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  #page_top a:hover {
    color: #d51b28;
    background-color: #fff;
  }
}
.notfound .commonn__heading {
  font-size: 32px;
  font-size: 2rem;
  margin: 20px 0 0;
  text-align: center;
}

.notfound .common__text {
  font-size: 20px;
  font-size: 1.25rem;
  margin: 60px 0 30px;
  text-align: center;
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff;
  z-index: 9998;
  -webkit-box-shadow: 0 3px 5px rgba(66, 66, 66, 0.2);
          box-shadow: 0 3px 5px rgba(66, 66, 66, 0.2);
}

.header .responsivebox {
  width: 1230px;
}

@media (max-width: 1229px) and (min-width: 1040px) {
  .header .responsivebox {
    width: 1040px;
  }
}
@media screen and (max-width: 1039px) {
  .header .responsivebox {
    width: 100%;
  }
}
.header__info {
  height: 90px;
  padding: 15px 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #fff;
}

@media screen and (max-width: 1039px) {
  .header__info {
    height: 36px;
    padding: 12px 12px;
  }
}
.header__logo {
  width: 230px;
  height: 60px;
  display: block;
  z-index: 9999;
}

@media screen and (max-width: 1039px) {
  .header__logo {
    width: 135px;
    height: 35px;
  }
}
.header__logo a {
  display: block;
}

.header__logo a img {
  width: 100%;
}

.header__contact {
  max-width: 450px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header__contact li + li {
  margin-left: 20px;
}

@media screen and (max-width: 1039px) {
  .header__contact {
    display: none;
    width: 0;
    height: 0;
  }
}
.header__contact .freedial {
  width: 302px;
  height: 60px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__contact .freedial img {
  width: 100%;
}

.header__contact .btn__req_doc {
  background-color: #d51b28;
  font-weight: bold;
  color: #fff;
  text-align: left;
  display: block;
  padding: 0 0 0 20px;
  width: 140px;
  height: 60px;
  line-height: 60px;
  border-radius: 5px;
  position: relative;
  font-size: 18px;
  font-size: 1.125rem;
}

.header__contact .btn__req_doc:after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1;
}

.globalnav {
  display: block;
  background-color: #eeeeee;
  height: 60px;
  width: 100%;
}

.globalnav ul {
  overflow: visible;
  width: 1230px;
  margin: 0 auto;
  padding-top: 0;
  height: 60px;
  display: grid;
  grid-template-columns: repeat(7, auto);
  grid-auto-columns: 280px 130px;
}

@media (max-width: 1229px) and (min-width: 1040px) {
  .globalnav ul {
    width: 1040px;
  }
}
.globalnav ul li {
  width: 100%;
  display: block;
  border-top: none;
}

.globalnav ul li a {
  background-color: #eeeeee;
  color: #000;
  line-height: 60px;
  padding: 0;
  text-align: center;
  display: block;
  font-size: 16px;
  font-weight: bold;
}
@media (max-width: 1240px) and (min-width: 1040px) {
  .globalnav ul li a {
    font-size: 1.3vw;
  }
}

.globalnav ul li a:hover {
  background-color: #d51b28;
  color: #fff;
}

.globalnav::before {
  display: none;
}

@media screen and (max-width: 1039px) {
  .globalnav {
    text-align: center;
    height: 24px;
    cursor: pointer;
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #fff;
  }
}
@media screen and (max-width: 1039px) and (max-width: 1039px) {
  .globalnav {
    overflow: visible;
  }
}
@media screen and (max-width: 1039px) {
  .globalnav ul {
    list-style-type: none;
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    padding-top: 24px;
    width: 100%;
  }
  .globalnav ul li {
    width: 100%;
    height: auto;
    border-top: 1px solid #d4d4d4;
  }
  .globalnav ul li a {
    line-height: 46px;
    font-size: 16px;
    font-size: 0.98rem;
    font-weight: bold;
    background-color: #fff;
    color: #000;
    padding-left: 0;
  }
}
@media screen and (max-width: 1039px) and (max-width: 320px) {
  .globalnav ul li a {
    line-height: 40px;
  }
}
@media screen and (max-width: 1039px) {
  .globalnav ul li a:hover {
    opacity: 1;
  }
  .globalnav ul .infonav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background-color: #d51b28;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .globalnav ul .infonav a {
    width: 50%;
    height: 90px;
    display: inline-block;
    margin: 0;
    background-color: #d51b28;
    color: #fff;
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 24px;
    text-align: left;
  }
}
@media screen and (max-width: 1039px) and (max-width: 320px) {
  .globalnav ul .infonav a {
    font-size: 16px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 1039px) {
  .globalnav ul .infonav a img {
    display: block;
    width: 50%;
    height: auto;
  }
  .globalnav ul .infonav__requestdoc {
    background-image: url(../img/doc_char.png);
    background-size: auto 55px;
    background-repeat: no-repeat;
    background-position: 10px center;
    padding: 35px 0 0 70px;
  }
  .globalnav ul .infonav__inquiry {
    background-image: url(../img/inquiry_char_sp.png);
    background-size: auto 75px;
    background-repeat: no-repeat;
    background-position: -20px bottom;
    border-left: 1px solid #fff;
    padding: 23px 0 0 78px;
  }
  .globalnav ul .infonav__freedail {
    padding: 20px 0 0 0;
  }
  .globalnav ul .infonav__freedail a {
    padding: 0;
    width: 90%;
    display: block;
    margin: 0 auto;
  }
  .globalnav ul .infonav__freedail a img {
    width: 100%;
    height: auto;
  }
  .globalnav::before {
    content: "";
    display: block;
    width: 23px;
    height: 20px;
    background-image: url(../img/nav_open.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: absolute;
    top: -17px;
    right: 15px;
  }
  .on ul {
    display: block;
    height: 100vh;
    z-index: 9997;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #fff;
    padding-top: 24px;
  }
  .on::before {
    content: "";
    display: block;
    width: 23px;
    height: 20px;
    background-image: url(../img/nav_close.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }
  .globalnav a {
    padding: 5px 20px;
    background-color: white;
    display: block;
    color: black;
    text-decoration: none;
    font-size: 14px;
  }
  .globalnav a:hover {
    background-color: black;
    color: white;
  }
}
.footer {
  background-color: #f7f6f6;
}

@media screen and (max-width: 1039px) {
  .footer {
    padding-top: 35px;
  }
}
.footer__info {
  padding-top: 50px;
}
.footer__info .is-logo {
  width: 35%;
}
@media screen and (max-width: 849px) {
  .footer__info .is-logo {
    width: 100%;
  }
}
.footer__info .is-ftNavi {
  width: 65%;
}
@media screen and (max-width: 849px) {
  .footer__info .is-ftNavi {
    width: 100%;
  }
}

@media screen and (max-width: 1039px) {
  .footer__info {
    padding-top: 10px;
  }
}
.footer__logo {
  display: block;
  width: 205px;
  height: 53px;
}

@media screen and (max-width: 1039px) {
  .footer__logo {
    width: 160px;
    height: 43px;
    margin: 0 auto;
  }
}
.footer__logo img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .footer__nav {
    margin-top: 20px;
    padding: 0 20px;
  }
}
.footer__nav li {
  width: 33.3333333333%;
}
@media screen and (max-width: 768px) {
  .footer__nav li {
    width: 50%;
  }
}

.footer__nav li a {
  line-height: 1.2;
  font-size: 15px;
  font-size: 0.9375rem;
}

@media screen and (max-width: 1039px) {
  .footer__nav li a {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 320px) {
  .footer__nav li a {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.footer__nav li.external-link a::after {
  font-weight: normal;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 0.4em;
  color: #666;
}

.footer__nav li:last-child {
  text-wrap: nowrap;
}

.footer__copy {
  background-color: #000;
  text-align: center;
  margin-top: 70px;
}

@media screen and (max-width: 1039px) {
  .footer__copy {
    margin-top: 25px;
    line-height: 1;
    padding: 10px;
    padding-bottom: 65px;
  }
}
.footer__copy small {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 50px;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  .footer__copy small {
    line-height: 1.1;
    font-size: 8px;
    font-size: 0.5rem;
  }
}
.kv {
  display: block;
  width: 100%;
  margin: 166px 0 60px;
  padding: 0;
}

@media screen and (max-width: 1039px) {
  .kv {
    margin-top: 60px;
  }
}
.kv img {
  width: 100%;
  height: auto;
}

.kv__slider {
  display: block;
  width: 100%;
  margin: 150px 0 40px;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 1039px) {
  .kv__slider {
    margin-top: 60px;
  }
}
@media screen and (max-width: 960px) {
  .kv__slider {
    margin-bottom: 50px !important;
  }
}
.kv__slider::before, .kv__slider::after {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: calc(20vw - 0.32%);
  height: 25.83vw;
  z-index: 10;
  background: rgba(66, 66, 66, 0.7);
}
@media screen and (max-width: 1039px) {
  .kv__slider::before, .kv__slider::after {
    content: none;
  }
}
.kv__slider::before {
  left: 0;
}
.kv__slider::after {
  right: 0;
}
.kv__slider img {
  width: 99%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
@media screen and (max-width: 960px) {
  .kv__slider img {
    width: 100%;
  }
}
.kv__slider .slick-dots {
  bottom: -35px;
}
.kv__slider .slick-dots li button::before {
  font-size: 15px;
}
.kv__slider .slick-dots li.slick-active button::before {
  color: #d51b28;
}
.kv__slider .slick-next, .kv__slider .slick-prev {
  width: 30px;
  height: 30px;
  z-index: 50;
}
.kv__slider .slick-next::before, .kv__slider .slick-prev::before {
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #d51b28;
  background: #fff;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  opacity: 1;
  -webkit-box-shadow: 0 0 10px #000;
          box-shadow: 0 0 10px #000;
  -webkit-transition: linear 0.3s;
  transition: linear 0.3s;
}
.kv__slider .slick-next:hover::before, .kv__slider .slick-prev:hover::before {
  opacity: 0.75;
}
.kv__slider .slick-prev {
  left: calc(20vw - 50px);
}
@media screen and (max-width: 960px) {
  .kv__slider .slick-prev {
    left: 10px;
  }
}
.kv__slider .slick-prev::before {
  content: "◀";
  padding-right: 2px;
}
.kv__slider .slick-next {
  right: calc(20vw - 50px);
}
@media screen and (max-width: 960px) {
  .kv__slider .slick-next {
    right: 10px;
  }
}
.kv__slider .slick-next::before {
  content: "▶";
  padding-left: 2px;
}

.topics {
  padding-bottom: 70px;
}

.topics .responsivebox {
  margin-top: 20px;
}

@media screen and (max-width: 1039px) {
  .topics {
    padding-bottom: 60px;
  }
}
/* タブ切り替え */
.csstab > input,
.csstab .csstab__body > .topics__wrap {
  display: none;
}

#tab1:checked ~ .csstab__body .tab1,
#tab2:checked ~ .csstab__body .tab2,
#tab3:checked ~ .csstab__body .tab3,
#tab4:checked ~ .csstab__body .tab4 {
  display: block;
}

#tab1:checked ~ nav .tab1,
#tab2:checked ~ nav .tab2,
#tab3:checked ~ nav .tab3,
#tab4:checked ~ nav .tab4 {
  color: #d51b28;
}

.csstab > input,
.csstab .csstab__body > .topics__wrap {
  display: none;
}

#tab1:checked ~ .csstab__body .tab1,
#tab2:checked ~ .csstab__body .tab2,
#tab3:checked ~ .csstab__body .tab3,
#tab4:checked ~ .csstab__body .tab4 {
  display: block;
}

.csstab {
  width: 100%;
  margin: 0 auto;
}

.csstab__nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1039px) {
  .csstab__nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.csstab__nav li {
  padding: 0 20px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .csstab__nav li {
    padding: 15px 15px 0 15px;
    width: 50%;
    border-bottom: 1px solid #bbbbbb;
    text-align: center;
  }
}
.csstab__nav li::after {
  content: "/";
  font-weight: bold;
  position: absolute;
  right: -0.5em;
}

@media screen and (max-width: 1039px) {
  .csstab__nav li::after {
    content: none;
  }
}
@media screen and (max-width: 1039px) {
  .csstab__nav li:nth-of-type(odd) {
    padding-right: 7px;
  }
}
@media screen and (max-width: 1039px) {
  .csstab__nav li:nth-of-type(even) {
    padding-left: 7px;
  }
}
@media screen and (max-width: 1039px) {
  .csstab__nav li:nth-of-type(even)::after {
    content: none;
  }
}
.csstab__nav li label {
  padding: 0.5em;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .csstab__nav li label {
    display: block;
    font-size: 15px;
    font-size: 0.9375rem;
    border-top: 1px solid #d5d5d5;
    border-right: 1px solid #d5d5d5;
    border-left: 1px solid #d5d5d5;
    border-bottom: 2px solid #fff;
    border-radius: 10px 10px 0 0;
    color: #888;
  }
}
.csstab__nav li label:hover {
  color: #d51b28;
}

.csstab__nav li:not(:last-child) label {
  border-right-width: 0;
}

@media screen and (max-width: 1039px) {
  .csstab__nav li:not(:last-child) label {
    border-right: 1px solid #d5d5d5;
  }
}
.csstab__body {
  clear: both;
  margin-top: 45px;
}

@media screen and (max-width: 1039px) {
  .csstab__body {
    margin-top: 25px;
  }
}
.csstab__body .topics__wrap {
  width: 100%;
  border-top: 1px solid #d4d4d4;
}

.csstab__body .topics__list {
  border-bottom: 1px solid #d4d4d4;
}

.csstab__body .topics__list a {
  padding: 20px 25px 20px 0;
  font-size: 16px;
  font-size: 1rem;
  display: block;
}

@media screen and (max-width: 1039px) {
  .csstab__body .topics__list a {
    padding: 10px 20px;
  }
}
.csstab__body .topics__list a:hover {
  background-color: #eeeeee;
  opacity: 1;
}

.csstab__body .topics__list .icon--topics {
  background-color: #d51b28;
  color: #fff;
  font-size: 15px;
  font-size: 0.9375rem;
  text-align: center;
  display: inline-block;
  width: 120px;
  border-radius: 3px;
  margin-right: 28px;
}

.csstab__body .topics__date {
  display: inline-block;
  width: 150px;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .csstab__body .topics__date {
    width: 110px;
    text-align: left;
  }
}
@media screen and (max-width: 1039px) {
  .csstab__body .topics__text {
    display: block;
  }
}
#tab1:checked ~ nav .tab1 label,
#tab2:checked ~ nav .tab2 label,
#tab3:checked ~ nav .tab3 label,
#tab4:checked ~ nav .tab4 label {
  color: #d51b28;
  position: relative;
  border-bottom: 2px solid #d51b28;
}

#tab1:checked ~ nav .tab1 label:after,
#tab2:checked ~ nav .tab2 label:after,
#tab3:checked ~ nav .tab3 label:after,
#tab4:checked ~ nav .tab4 label:after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  left: 0;
  bottom: -1px;
}

.catch {
  background-color: #d51b28;
  background-image: url(../img/catch_bg.png);
  background-position: center center;
  background-size: 1149px auto;
  background-repeat: no-repeat;
  color: #fff;
  padding: 65px 0;
}

@media screen and (max-width: 1039px) {
  .catch {
    background-image: url(../img/catch_bg_sp.png);
    background-size: 90%;
    background-position: center 20px;
  }
}
.catch .common__heading {
  position: relative;
  font-size: 40px;
  font-size: 2.5rem;
}

@media screen and (max-width: 1039px) {
  .catch .common__heading {
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 35px;
  }
}
.catch .common__heading:before,
.catch .common__heading:after {
  content: "";
  display: inline-block;
  width: 85px;
  height: 2px;
  background-color: #fff;
  vertical-align: middle;
}

@media screen and (max-width: 1039px) {
  .catch .common__heading:before,
  .catch .common__heading:after {
    width: 30px;
    display: block;
    position: absolute;
    top: 50%;
  }
}
@media screen and (max-width: 1039px) {
  .catch .common__heading:before {
    left: 50%;
    margin-left: -160px;
  }
}
@media screen and (max-width: 320px) {
  .catch .common__heading:before {
    margin-left: -150px;
  }
}
@media screen and (max-width: 1039px) {
  .catch .common__heading:after {
    right: 50%;
    margin-right: -160px;
  }
}
@media screen and (max-width: 320px) {
  .catch .common__heading:after {
    margin-right: -150px;
  }
}
.catch .common__subheading {
  margin-top: 40px;
  font-size: 28px;
  font-size: 1.75rem;
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .catch .common__subheading {
    margin-top: 30px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.catch .common__text {
  margin-top: 20px;
  font-size: 18px;
  font-size: 1.125rem;
  text-align: center;
  line-height: 2.2;
}

@media screen and (max-width: 1039px) {
  .catch .common__text {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 0 20px;
    text-align: left;
  }
}
.point__intro {
  padding-top: 60px;
}

@media screen and (max-width: 1039px) {
  .point__intro .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.point__intro .responsivebox {
  width: 800px;
}

@media screen and (max-width: 1039px) {
  .point__intro .responsivebox {
    width: 100%;
  }
}
.point__intro-list {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .point__intro-list {
    margin-top: 25px;
    padding: 0 20px;
  }
}
.point__intro-list li {
  background-image: url(../img/icon_list.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 28px 28px;
  padding-left: 50px;
  line-height: 1.4;
  margin-top: 22px;
  font-size: 20px;
  font-size: 1.25rem;
}

@media screen and (max-width: 1039px) {
  .point__intro-list li {
    background-size: 22px 22px;
    padding-left: 40px;
  }
}
.point__intro-list li strong {
  color: #d51b28;
  font-weight: bold;
}

.point__intro-text {
  margin-top: 40px;
  text-align: center;
  color: #d51b28;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 1039px) {
  .point__intro-text {
    margin-top: 30px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.point__main {
  padding-top: 75px;
}

@media screen and (max-width: 1039px) {
  .point__main {
    padding-top: 60px;
  }
}
.point__main .common__heading {
  text-align: center;
  line-height: 70px;
  font-size: 40px;
  font-size: 2.5rem;
}

@media screen and (max-width: 1039px) {
  .point__main .common__heading {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.4;
  }
}
.point__main .common__heading strong {
  font-size: 70px;
  font-size: 4.375rem;
}

@media screen and (max-width: 1039px) {
  .point__main .common__heading strong {
    font-size: 50px;
    font-size: 3.125rem;
  }
}
.point__main .point__number {
  padding-top: 40px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number {
    padding-top: 25px;
  }
}
.point__main .point__number .responsivebox {
  width: 920px;
  padding-top: 40px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number .responsivebox {
    width: 100%;
    padding-top: 30px;
  }
}
.point__main .point__number-text {
  padding-right: 8px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-text {
    padding: 0 20px;
  }
}
.point__main .point__number-text h3 {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #d51b28;
  line-height: 1.5;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-text h3 {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.point__main .point__number-text p {
  padding-top: 20px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-text p {
    padding-top: 15px;
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.point__main .point__number-text p strong {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
  -moz-text-align-last: justify;
  text-align-last: justify;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-text p strong {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.point__main .point__number-listbox .common__partheading {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 1em;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-listbox .common__partheading {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.point__main .point__number-list {
  list-style-type: disc;
  list-style-position: inside;
  margin-top: 0.5em;
  padding-left: 1.7em;
  text-indent: -1.4em;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-list {
    font-size: 16px;
    font-size: 1rem;
  }
}
.point__main .point__number-list li {
  padding: 0.2em 0;
}

.point__main .point__number-list strong {
  font-size: 26px;
  font-size: 1.625rem;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-list strong {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.point__main .point__number-img figure {
  width: 100%;
  padding: 0 0 0 32px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number-img figure {
    padding: 25px 20px 0;
  }
}
.point__main .point__number-img figure img {
  width: 100%;
  height: auto;
}

.point__main .point__number .flex_row-reverse .point__number-text {
  padding-left: 8px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number .flex_row-reverse .point__number-text {
    padding: 0 20px;
  }
}
.point__main .point__number .flex_row-reverse .point__number-img {
  padding-right: 8px;
}

.point__main .point__number .flex_row-reverse .point__number-img figure {
  width: 100%;
  padding: 0 32px 0 0;
}

@media screen and (max-width: 1039px) {
  .point__main .point__number .flex_row-reverse .point__number-img figure {
    padding: 25px 20px 0;
  }
}
.point__main .point__subheading {
  background-color: #d51b28;
  text-align: center;
  color: #fff;
  font-weight: bold;
  line-height: 80px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__subheading {
    line-height: 1;
  }
}
.point__main .point__subheading strong {
  display: block;
  font-size: 30px;
  font-size: 1.875rem;
  width: 920px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .point__main .point__subheading strong {
    width: 100%;
    display: block;
    font-size: 22px;
    font-size: 1.375rem;
    padding: 35px 0 13px;
  }
}
.point__main .point__subheading strong::before {
  font-family: "Roboto", sans-serif;
  position: absolute;
  font-size: 24px;
  font-size: 1.5rem;
  color: #fff;
  top: 50%;
  left: 0;
  line-height: 1;
  margin-top: -0.5em;
}

@media screen and (max-width: 1039px) {
  .point__main .point__subheading strong::before {
    font-size: 17px;
    font-size: 1.0625rem;
    top: 12px;
    left: 0;
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 0;
  }
}
.point__main .point__subheading span {
  font-size: 20px;
  font-size: 1.25rem;
  vertical-align: 3px;
}

@media screen and (max-width: 1039px) {
  .point__main .point__subheading span {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.point__main .point__subheading .point1::before {
  content: "POINT. 1";
}

.point__main .point__subheading .point2::before {
  content: "POINT. 2";
}

.point__main .point__subheading .point3::before {
  content: "POINT. 3";
}

.point__main .point__subheading .point4::before {
  content: "POINT. 4";
}

.point__main .point__subheading .point5::before {
  content: "POINT. 5";
}

.point__main .point__subheading .point6::before {
  content: "POINT. 6";
}

.companylogo__slide {
  padding: 20px 0;
}

.companylogo__slide-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.companylogo__slide-list li {
  width: 11.11111%;
  display: inline-block;
  vertical-align: middle;
  padding: 10px 0 10px 40px;
}

@media screen and (max-width: 1039px) {
  .companylogo__slide-list li {
    width: 25%;
    padding: 12px 0 12px 30px;
  }
}
.companylogo__slide-list li img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.cases .bg__grey {
  padding: 60px 0;
}

.cases .bg__grey > .btn__arrow-r {
  border-radius: 0px;
  border: 4px solid #000;
  background-color: #fff;
  color: #000;
  padding-top: 14px;
  padding-bottom: 14px;
  margin-top: 90px;
}

@media screen and (max-width: 1039px) {
  .cases .bg__grey > .btn__arrow-r {
    margin-top: 75px;
    margin-bottom: 0;
  }
}
.cases .portfolio__slick {
  margin-top: 40px;
}

.cases .portfolio__slick .slick-dots {
  bottom: -45px;
}

.cases .portfolio__slick .slick-dots li button:before {
  color: #000;
  opacity: 1;
}

.cases .portfolio__slick .slick-dots li.slick-active button:before {
  color: #d51b28;
}

.cases .slidepart {
  padding: 40px 40px 0;
  border-radius: 20px;
  background-color: #fff;
  margin: 0 20px;
}

@media screen and (max-width: 1039px) {
  .cases .slidepart {
    padding: 20px 20px 0;
    margin: 0 10px;
  }
}
.cases .slidepart__img figure {
  width: 100%;
  padding-right: 40px;
}

@media screen and (max-width: 1039px) {
  .cases .slidepart__img figure {
    padding-right: 0;
  }
}
.cases .slidepart__img img {
  width: 100%;
  height: auto;
}

.cases .slidepart__text h2 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

@media screen and (max-width: 1039px) {
  .cases .slidepart__text h2 {
    margin-top: 25px;
  }
}
.cases .slidepart__text p {
  margin-top: 1em;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (max-width: 1039px) {
  .cases .slidepart__text p {
    margin-top: 10px;
  }
}
.cases .slidepart .btn__arrow-r {
  margin: 20px auto 40px;
}

.cases .company-logo img {
  width: 100%;
  height: auto;
}

.cases .use-service {
  padding: 60px 0 20px;
  background-color: #d51b28;
}

@media screen and (max-width: 1039px) {
  .cases .use-service {
    padding: 55px 20px 20px;
  }
}
.cases .use-service__text {
  width: 33.3333333333%;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__text {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
  }
}
.cases .use-service__text figure {
  width: 260px;
  display: block;
  margin-right: auto;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__text figure {
    width: 45%;
    padding-right: 20px;
  }
}
.cases .use-service__text figure img {
  width: 100%;
}

.cases .use-service__text p {
  color: #fff;
  margin-top: 10px;
  font-size: 1.5rem;
  /* font-size: 0.9375rem; */
  line-height: 1.7;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__text p {
    margin-top: 0;
    width: 55%;
    line-height: 2.5;
    font-size: 11px;
    font-size: 0.6875rem;
  }
}
@media screen and (max-width: 1039px) and (max-width: 320px) {
  .cases .use-service__text p {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.cases .use-service__text p strong {
  font-size: 95px;
  font-size: 5.9375rem;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__text p strong {
    font-size: 52px;
    font-size: 3.25rem;
    line-height: 1;
  }
}
@media screen and (max-width: 320px) {
  .cases .use-service__text p strong {
    font-size: 45px;
    font-size: 2.8125rem;
  }
}
.cases .use-service__text p span {
  font-size: 60px;
  font-size: 3.75rem;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__text p span {
    font-size: 35px;
    font-size: 2.1875rem;
    line-height: 1;
  }
}
@media screen and (max-width: 320px) {
  .cases .use-service__text p span {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.cases .use-service__graph {
  width: 66.6666666667%;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__graph {
    width: 100%;
  }
}
.cases .use-service__graph figure {
  width: 656px;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__graph figure {
    width: 100%;
  }
}
.cases .use-service__graph figure img {
  width: 100%;
}

.cases .use-service__user img {
  width: 100%;
  height: auto;
}

.cases .use-service__catch {
  margin-top: 40px;
  font-size: 3.0rem;
  /* font-size: 1.875rem; */
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__catch {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.cases .use-service__class {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__class {
    margin-top: 30px;
  }
}
.cases .use-service__class li {
  width: 240px;
  display: inline-block;
  background-color: #be0200;
  padding: 7px 15px;
  font-size: 1.6rem;
  /* font-size: 1rem; */
  color: #fff;
  margin-bottom: 20px;
}

.cases .use-service__class li:not(:nth-child(4n)) {
  margin-right: 26px;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__class li {
    width: 48%;
    margin-bottom: 15px;
    font-size: 12px;
    font-size: 0.75rem;
    padding: 7px 10px;
  }
  .cases .use-service__class li:not(:nth-child(4n)) {
    margin-right: 0;
  }
}
.cases .use-service__class li img {
  width: 26px;
  height: auto;
  margin-right: 10px;
}

@media screen and (max-width: 1039px) {
  .cases .use-service__class li img {
    width: auto;
    height: 20px;
    margin-right: 5px;
  }
}
.cases .use-service .btn__arrow-r {
  margin-top: 10px;
  margin-bottom: 40px;
}

.cases .slick-arrow {
  display: block;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  cursor: pointer;
  -webkit-transition: ease-in 0.3s;
  transition: ease-in 0.3s;
  position: absolute;
  top: 50%;
  z-index: 10;
  margin-top: -20px;
}

.cases .slick-arrow:hover {
  opacity: 0.8;
}

.cases .slick-arrow.next {
  background-image: url(../img/slide_next.png);
  right: 20%;
}

@media screen and (max-width: 1039px) {
  .cases .slick-arrow.next {
    right: 15px;
  }
}
.cases .slick-arrow.prev {
  background-image: url(../img/slide_prev.png);
  left: 20%;
}

@media screen and (max-width: 1039px) {
  .cases .slick-arrow.prev {
    left: 15px;
  }
}
.faq {
  background-color: #f7f6f6;
  padding: 60px 0 70px;
}

@media screen and (max-width: 1039px) {
  .faq {
    padding: 60px 0 50px;
  }
}
.faq .responsivebox {
  width: 920px;
}

@media screen and (max-width: 1039px) {
  .faq .responsivebox {
    width: 100%;
  }
}
.accordions {
  overflow: hidden;
  margin-top: 15px;
}

@media screen and (max-width: 1039px) {
  .accordions {
    margin-top: 5px;
    padding: 0 10px;
  }
}
.accordions input {
  display: none;
}

.accordion {
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  border: 4px solid #d51b28;
  background-color: #fff;
  margin-top: 25px;
  font-size: 16px;
  font-size: 1rem;
}

.accordion-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px 15px;
  background-color: #fff;
  font-weight: bold;
  cursor: pointer;
}

@media screen and (max-width: 1039px) {
  .accordion-label {
    padding: 15px;
  }
}
.accordion-label span {
  display: block;
  width: 100%;
  background-image: url(../img/icon_Q.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 40px 40px;
  line-height: 40px;
  padding-left: 50px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .accordion-label span {
    line-height: 1.3;
    background-position: left top 6px;
    background-size: 30px 30px;
    padding: 10px 20px 10px 40px;
  }
}
.accordion-label span::after {
  position: absolute;
  top: 50%;
  right: 0.5em;
  margin-top: -0.5em;
  line-height: 1;
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .accordion-label span::after {
    right: 0;
  }
}
.accordion-content {
  max-height: 0;
  padding: 0 15px;
  background: white;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.accordion-content-detail {
  border-top: 1px solid #eeeeee;
  padding-top: 15px;
  background-image: url(../img/icon_A.png);
  background-repeat: no-repeat;
  background-position: left top 15px;
  background-size: 40px 40px;
  line-height: 40px;
  padding-left: 50px;
}

@media screen and (max-width: 1039px) {
  .accordion-content-detail {
    background-size: 30px 30px;
  }
}
.accordion-content-detail ul li {
  text-indent: -1em;
  padding-left: 1em;
}

.accordion-content-detail ul li::before {
  content: "・";
}

input:checked + .accordion-label span::after {
  content: "\f077";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

input:checked ~ .accordion-content {
  max-height: 100%;
  padding: 0 15px 20px 15px;
}

.contact {
  padding: 60px 0 100px;
}

.contact__requestdoc img {
  display: block;
  margin: 0 auto;
  height: 107px;
  width: auto;
}

.contact__inquiry img {
  display: block;
  margin: 0 auto;
  height: 126px;
  width: auto;
}

.contact__tips img {
  display: block;
  margin: 0 auto;
  height: 107px;
  width: auto;
}

.contact .responsivebox {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .contact .responsivebox {
    margin-top: 0;
  }
}
.contact .responsivebox li {
  padding: 0 2px;
}

.contact .responsivebox li a {
  background-color: #d51b28;
  display: block;
  width: 100%;
  height: 226px;
  padding: 30px 0 0;
  text-align: center;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: bold;
  color: #fff;
  position: relative;
}

.contact .responsivebox li a p {
  display: block;
  text-align: center;
  position: absolute;
  bottom: 30px;
  line-height: 1;
  width: 100%;
}

.contact .responsivebox li a::after {
  position: absolute;
  right: 20px;
  top: 50%;
  line-height: 1;
  margin-top: -0.5em;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.contact .btn__freedial {
  margin: 50px auto 0;
  width: 600px;
  height: 140px;
  display: block;
}

@media screen and (max-width: 1039px) {
  .contact .btn__freedial {
    width: 100%;
  }
}
.contact .btn__freedial img {
  width: 100%;
  height: auto;
}

.cases__page .common__heading span {
  font-size: 1.6rem;
  /* font-size: 1rem; */
  display: block;
}

.cases__page .cases {
  margin-top: 70px;
}

@media screen and (max-width: 1039px) {
  .cases__page .cases {
    margin-top: 35px;
  }
}
.cases__page .contact {
  padding-top: 80px;
}

.cases__filter {
  background-color: #f7f6f6;
  padding: 50px 0;
  /* Accordion styles */
}

@media screen and (max-width: 1039px) {
  .cases__filter {
    padding: 15px 0;
  }
}
.cases__filter input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}

.cases__filter .tabs {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #ddd;
  border-top: none;
}

.cases__filter .tab {
  width: 100%;
  overflow: hidden;
  text-align: center;
}

.cases__filter .tab-label {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em;
  font-weight: bold;
  cursor: pointer;
  font-size: 2.0rem;
  /* font-size: 1.25rem; */
  color: #000;
}

@media screen and (max-width: 1039px) {
  .cases__filter .tab-label {
    font-size: 1.4rem;
    /* font-size: 0.875rem; */
  }
}
.cases__filter .tab-label:hover {
  color: #d51b28;
}

.cases__filter .tab-label::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 0.5em;
}

.cases__filter .tab-content {
  max-height: 0;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
  padding-top: 0;
}

.cases__filter input:checked + .tab-label::after {
  content: "\f077";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.cases__filter input:checked ~ .tab-content {
  max-height: 100vh;
  padding-top: 20px;
}

.cases__filter-list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.cases__filter-list li {
  width: 33.3333333333%;
  padding: 0 20px 10px 0;
}

@media screen and (max-width: 1039px) {
  .cases__filter-list li {
    width: 50%;
  }
  .cases__filter-list li:nth-child(odd) {
    padding-right: 5px;
    padding-left: 10px;
  }
  .cases__filter-list li:nth-child(even) {
    padding-right: 10px;
    padding-left: 5px;
  }
}
.cases__filter-list li a {
  display: block;
  background-color: #fff;
  padding-left: 60px;
  width: 100%;
  line-height: 40px;
  font-size: 16px;
  font-size: 1rem;
  text-align: left;
  border-radius: 6px;
  background-position: 20px center;
  background-repeat: no-repeat;
  background-size: 26px 26px;
}

@media screen and (max-width: 1039px) {
  .cases__filter-list li a {
    width: 100%;
    font-size: 11px;
    font-size: 0.6875rem;
    background-position: 10px center;
    background-size: 20px 20px;
    line-height: 30px;
    padding-left: 35px;
  }
}
@media screen and (max-width: 640px) {
  .cases__filter-list li a {
    font-size: 2.7vw;
  }
}
.cases__filter-list li a:hover {
  background-color: #d51b28;
  color: #fff;
}

.cases__filter-list li.cases__filter-car a {
  background-image: url(../img/icon_car_b.png);
}

.cases__filter-list li.cases__filter-car a:hover {
  background-image: url(../img/icon_car.png);
}

.cases__filter-list li.cases__filter-build a {
  background-image: url(../img/icon_build_b.png);
}

.cases__filter-list li.cases__filter-build a:hover {
  background-image: url(../img/icon_build.png);
}

.cases__filter-list li.cases__filter-electric a {
  background-image: url(../img/icon_electric_b.png);
}

.cases__filter-list li.cases__filter-electric a:hover {
  background-image: url(../img/icon_electric.png);
}

.cases__filter-list li.cases__filter-chemical a {
  background-image: url(../img/icon_chemical_b.png);
}

.cases__filter-list li.cases__filter-chemical a:hover {
  background-image: url(../img/icon_chemical.png);
}

.cases__filter-list li.cases__filter-train a {
  background-image: url(../img/icon_train_b.png);
}

.cases__filter-list li.cases__filter-train a:hover {
  background-image: url(../img/icon_train.png);
}

.cases__filter-list li.cases__filter-air a {
  background-image: url(../img/icon_air_b.png);
}

.cases__filter-list li.cases__filter-air a:hover {
  background-image: url(../img/icon_air.png);
}

.cases__filter-list li.cases__filter-food a {
  background-image: url(../img/icon_food_b.png);
}

.cases__filter-list li.cases__filter-food a:hover {
  background-image: url(../img/icon_food.png);
}

.cases__filter-list li.cases__filter-government a {
  background-image: url(../img/icon_government_b.png);
}

.cases__filter-list li.cases__filter-government a:hover {
  background-image: url(../img/icon_government.png);
}

.cases__filter-list li.cases__filter-heavy a {
  background-image: url(../img/icon_heavy_b.png);
}

.cases__filter-list li.cases__filter-heavy a:hover {
  background-image: url(../img/icon_heavy.png);
}

.cases__filter-list li.cases__filter-hotel a {
  background-image: url(../img/icon_hotel_b.png);
}

.cases__filter-list li.cases__filter-hotel a:hover {
  background-image: url(../img/icon_hotel.png);
}

.cases__filter-list li.cases__filter-golf a {
  background-image: url(../img/icon_golf_b.png);
}

.cases__filter-list li.cases__filter-golf a:hover {
  background-image: url(../img/icon_golf.png);
}

.cases__filter-list li.cases__filter-restaurant a {
  background-image: url(../img/icon_restaurant_b.png);
}

.cases__filter-list li.cases__filter-restaurant a:hover {
  background-image: url(../img/icon_restaurant.png);
}

.cases__filter-list li.cases__filter-school a {
  background-image: url(../img/icon_school_b.png);
}

.cases__filter-list li.cases__filter-school a:hover {
  background-image: url(../img/icon_school.png);
}

.cases__filter-list li.cases__filter-maintenance a {
  background-image: url(../img/icon_maintenance_b.png);
}

.cases__filter-list li.cases__filter-maintenance a:hover {
  background-image: url(../img/icon_maintenance.png);
}

.cases__filter-list li.cases__filter-labo a {
  background-image: url(../img/icon_labo_b.png);
}

.cases__filter-list li.cases__filter-labo a:hover {
  background-image: url(../img/icon_labo.png);
}

.cases__filter-list li.cases__filter-care a {
  background-image: url(../img/icon_care_b.png);
}

.cases__filter-list li.cases__filter-care a:hover {
  background-image: url(../img/icon_care.png);
}

.cases__filter-list li.cases__filter-manufacture a {
  background-image: url(../img/icon_manufacture_b.png);
}

.cases__filter-list li.cases__filter-manufacture a:hover {
  background-image: url(../img/icon_manufacture.png);
}

.cases__filter-list li.cases__filter-others a {
  background-image: url(../img/icon_others_b.png);
}

.cases__filter-list li.cases__filter-others a:hover {
  background-image: url(../img/icon_others.png);
}

.cases__filter-list li.cases__filter-logistics-2 a {
  background-image: url(../img/icon_logistics-2_b.png);
}
.cases__filter-list li.cases__filter-logistics-2 a:hover {
  background-image: url(../img/icon_logistics-2.png);
}

.cases__filter-list li.cases__filter-pulp a {
  background-image: url(../img/icon_pulp_b.png);
}
.cases__filter-list li.cases__filter-pulp a:hover {
  background-image: url(../img/icon_pulp.png);
}

.cases__portfolio {
  padding-top: 70px;
}

@media screen and (max-width: 1039px) {
  .cases__portfolio {
    padding-top: 25px;
  }
}
.cases__portfolio-list li {
  width: 300px;
  margin-bottom: 30px;
  margin-right: 70px;
}

@media screen and (max-width: 1039px) {
  .cases__portfolio-list li {
    width: 50%;
    margin-bottom: 25px;
    margin-right: 0;
  }
  .cases__portfolio-list li:nth-child(odd) {
    padding-right: 5px;
    padding-left: 10px;
  }
  .cases__portfolio-list li:nth-child(even) {
    padding-right: 10px;
    padding-left: 5px;
  }
  .cases__portfolio-list li img {
    width: 100%;
    height: auto;
  }
}
.cases__portfolio-list li:nth-of-type(3n) {
  margin-right: 0;
}

.cases__portfolio-icon {
  margin-top: 16px;
  font-size: 1.4rem;
  /* font-size: 0.875rem; */
  line-height: 1;
  font-weight: bold;
  padding: 7px 1.3em;
  display: inline-block;
  text-align: center;
  color: #d51b28;
  border: 1px solid #d51b28;
}

@media screen and (max-width: 1039px) {
  .cases__portfolio-icon {
    font-size: 1.1rem;
    /* font-size: 0.6875rem; */
    padding: 4px 10px;
    margin-top: 10px;
  }
}
.cases__portfolio-company {
  font-size: 1.6rem;
  /* font-size: 1rem; */
  font-weight: bold;
  margin-top: 10px;
}

@media screen and (max-width: 1039px) {
  .cases__portfolio-company {
    font-size: 1.4rem;
    /* font-size: 0.875rem; */
  }
}
.cases__portfolio-text {
  font-size: 1.6rem;
  /* font-size: 1rem; */
  margin-top: 5px;
}

@media screen and (max-width: 1039px) {
  .cases__portfolio-text {
    font-size: 1.2rem;
    /* font-size: 0.75rem; */
  }
}
.cases__docs_download {
  background: #f7f6f6;
  height: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1039px) {
  .cases__docs_download {
    height: auto;
    padding: 35px 0;
    border-bottom: 2px solid #fff;
    background-size: 94px 73px;
    background-position: left -12px bottom -10px;
  }
}
.cases__docs_download p {
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 60px;
}

@media screen and (max-width: 1039px) {
  .cases__docs_download p {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.25;
  }
}
.cases__docs_download p a {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  background-color: #d51b28;
  width: 220px;
  height: 60px;
  border-radius: 30px;
  margin-left: 20px;
}

@media screen and (max-width: 1039px) {
  .cases__docs_download p a {
    display: block;
    font-size: 17px;
    font-size: 1.0625rem;
    width: 200px;
    line-height: 50px;
    height: 50px;
    margin-top: 10px;
  }
}
.cases__docs_download p a::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.cases__slide-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 1039px) {
  .cases__slide-list {
    width: 100%;
    margin: 0;
  }
}
.cases__slide-list li {
  width: 14.28571%;
  display: inline-block;
  padding: 10px 20px 10px 20px;
}

@media screen and (max-width: 1039px) {
  .cases__slide-list li {
    width: 25%;
    padding: 10px 5px 10px 5px;
  }
}
.cases__slide-list li img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .cases__company-info {
    margin-top: 20px;
  }
}
.cases__company-photo figure {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .cases__company-photo figure {
    margin-top: 20px;
    padding: 0 20px;
  }
}
.cases__company-photo figure img {
  width: 400px;
  height: auto;
  margin-right: auto;
}

@media screen and (max-width: 1039px) {
  .cases__company-photo figure img {
    width: 100%;
    margin-right: 0;
  }
}
.cases__company-outline {
  padding-right: 20px;
  padding-left: 20px;
}

.cases__company-outline .responsive-table01 {
  margin-top: 40px;
  margin-left: 20px;
}

@media screen and (max-width: 1039px) {
  .cases__company-outline .responsive-table01 {
    margin-left: 0;
  }
}
.cases__company-outline .responsive-table01 th {
  background-color: #f7f6f6;
  white-space: nowrap;
}

.cases__interview {
  padding-top: 80px;
}

@media screen and (max-width: 1039px) {
  .cases__interview {
    padding-top: 50px;
  }
}
.cases__interview .common__heading {
  font-size: 2.6rem;
  /* font-size: 1.625rem; */
  line-height: 1.5;
}

.cases__interview .common__heading strong {
  display: inline-block;
  background-image: url(../img/company-interview_icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 120px auto;
  padding-left: 140px;
  margin-left: -140px;
}

.cases__interview .common__partheading {
  margin-top: 30px;
}

.cases__interview .btn__arrow-l {
  margin-top: 50px;
}

@media screen and (max-width: 1039px) {
  .cases__interview .btn__arrow-l {
    margin-top: 30px;
    width: 80%;
  }
}
.cases__interview section .common__partheading:first-of-type {
  margin-top: 20px;
}

.cases__interview-catch {
  background-color: #f7f6f6;
  padding: 25px 0;
  margin-top: 30px;
}

.cases__interview-catch .flex_row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.cases__interview-catch .responsivebox {
  width: 920px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-catch .responsivebox {
    width: 100%;
  }
}
.cases__interview-catch-text {
  font-size: 2.0rem;
  /* font-size: 1.25rem; */
  /* margin-top: 35px; */
  font-weight: bold;
  max-width: 690px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-catch-text {
    margin-top: 10px;
    padding: 0 20px;
    width: 100%;
  }
}
.cases__interview-catch-text span {
  margin-top: 10px;
  display: block;
  font-size: 1.6rem;
  /* font-size: 1rem; */
  font-weight: normal;
}

@media screen and (max-width: 1039px) {
  .cases__interview-catch-text span {
    margin-top: 0;
  }
}
.cases__interview-catch-img {
  margin-right: 30px;
  width: 200px;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .cases__interview-catch-img {
    margin-right: 0;
    width: 100%;
    padding: 0 20px;
  }
}
.cases__interview-catch-img img {
  width: 100%;
  height: auto;
}

.cases__interview-detail .cases__reciprocal, .guide__page .cases__reciprocal {
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  padding: 30px 0;
  margin-top: 60px;
}
.cases__interview-detail .cases__reciprocal-head, .guide__page .cases__reciprocal-head {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.cases__interview-detail .cases__reciprocal-link, .guide__page .cases__reciprocal-link {
  margin-top: 30px;
  list-style: none !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cases__interview-detail .cases__reciprocal-link figure, .guide__page .cases__reciprocal-link figure {
  width: 100%;
  overflow: hidden;
}
.cases__interview-detail .cases__reciprocal-link figure img, .guide__page .cases__reciprocal-link figure img {
  width: 100%;
  height: auto;
}
.cases__interview-detail .cases__reciprocal-link li, .guide__page .cases__reciprocal-link li {
  width: 32%;
  margin-right: 2%;
}
.cases__interview-detail .cases__reciprocal-link li:nth-of-type(3n), .guide__page .cases__reciprocal-link li:nth-of-type(3n) {
  margin-right: 0;
}
.cases__interview-detail .cases__reciprocal-link li a, .guide__page .cases__reciprocal-link li a {
  display: block;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail .cases__reciprocal, .guide__page .cases__reciprocal {
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    padding: 20px 0;
    margin-top: 30px;
  }
  .cases__interview-detail .cases__reciprocal-head, .guide__page .cases__reciprocal-head {
    font-size: 20px;
  }
  .cases__interview-detail .cases__reciprocal-link, .guide__page .cases__reciprocal-link {
    margin-top: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cases__interview-detail .cases__reciprocal-link li, .guide__page .cases__reciprocal-link li {
    width: 48%;
    margin-right: 0;
  }
}
.cases__interview-detail h1 {
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 50px;
  font-size: 26px;
  font-size: 1.625rem;
  text-align: left;
  padding-left: 20px;
  border-left: 2px solid #d51b28;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail h1 {
    margin-top: 40px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.cases__interview-detail h2 {
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: bold;
  margin-top: 40px;
  border-bottom: 2px solid #f7f6f6;
  padding-bottom: 5px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail h2 {
    margin-top: 30px;
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.cases__interview-detail h3 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}

.cases__interview-detail ul {
  list-style: disc;
  list-style-position: inside;
  padding-left: 0.4em;
}

.cases__interview-detail p {
  margin-top: 20px;
}

.cases__interview-detail.responsivebox {
  width: 920px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail.responsivebox {
    width: 100%;
    padding: 0 20px;
  }
}
.cases__interview-detail .common__heading {
  margin-top: 50px;
  font-size: 2.6rem;
  /* font-size: 1.625rem; */
  text-align: left;
  padding-left: 20px;
  border-left: 2px solid #d51b28;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail .common__heading {
    margin-top: 40px;
    font-size: 2.0rem;
    /* font-size: 1.25rem; */
  }
}
.cases__interview-detail .common__subheading {
  font-size: 2.6rem;
  /* font-size: 1.625rem; */
  font-weight: bold;
  margin-top: 40px;
  border-bottom: 2px solid #f7f6f6;
  padding-bottom: 5px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail .common__subheading {
    margin-top: 30px;
    font-size: 1.8rem;
    /* font-size: 1.125rem; */
  }
}
.cases__interview-detail .common__text {
  margin-top: 20px;
}

.cases__interview-detail-2col p {
  padding-right: 20px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail-2col p {
    padding-right: 0;
  }
}
.cases__interview-detail-2col .common__text {
  padding-right: 20px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail-2col .common__text {
    padding-right: 0;
  }
}
.cases__interview-detail-2col figure {
  margin-top: 20px;
  width: 280px;
}

@media screen and (max-width: 1039px) {
  .cases__interview-detail-2col figure {
    width: 100%;
  }
}
.cases__interview-detail-2col figure img {
  width: 100%;
  height: auto;
}

.seminar__info {
  margin-top: 60px;
}

@media screen and (max-width: 1039px) {
  .seminar__info {
    margin-top: 30px;
  }
}
.seminar__info .responsivebox {
  width: 800px;
}

@media screen and (max-width: 1039px) {
  .seminar__info .responsivebox {
    width: 100%;
  }
}
.seminar__info-list {
  margin-top: 15px;
}

@media screen and (max-width: 1039px) {
  .seminar__info-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.seminar__info-list > .flex_row {
  margin-top: 30px;
  padding-bottom: 30px;
  border-bottom: 2px solid #f7f6f6;
  width: 100%;
}

@media screen and (max-width: 1039px) {
  .seminar__info-list > .flex_row {
    width: 50%;
    margin-top: 20px;
  }
  .seminar__info-list > .flex_row:nth-child(odd) {
    padding-left: 20px;
    padding-right: 10px;
  }
  .seminar__info-list > .flex_row:nth-child(even) {
    padding-left: 10px;
    padding-right: 20px;
  }
}
.seminar__info-img {
  padding-right: 20px;
}

@media screen and (max-width: 1039px) {
  .seminar__info-img {
    padding-right: 0;
  }
}
.seminar__info-img img {
  width: 220px;
  height: 155px;
}

@media screen and (max-width: 1039px) {
  .seminar__info-img img {
    width: 100%;
    height: auto;
  }
}
.seminar__info-text {
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .seminar__info-text {
    margin-top: 10px;
    font-size: 1.4rem;
    /* font-size: 0.875rem; */
  }
}
.seminar__info-btn {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.seminar__info-btn .btn__arrow-r {
  margin: 30px 0 0 10px;
}

@media screen and (max-width: 1039px) {
  .seminar__info-btn .btn__arrow-r {
    margin: 20px 0 0 0;
    width: 100%;
    font-size: 1.1rem;
    /* font-size: 0.6875rem; */
  }
}
.seminar__movie {
  margin-top: 60px;
}

@media screen and (max-width: 1039px) {
  .seminar__movie {
    margin-top: 30px;
  }
}
.seminar__movie .responsivebox {
  width: 800px;
}

@media screen and (max-width: 1039px) {
  .seminar__movie .responsivebox {
    width: 100%;
  }
}
.seminar__movie .flex_row {
  margin-top: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #eeeeee;
}

@media screen and (max-width: 1039px) {
  .seminar__movie .flex_row {
    margin-top: 30px;
    padding: 0 20px 30px;
  }
}
.seminar__movie-player {
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}

.seminar__movie-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.seminar__movie-text {
  padding-left: 30px;
}

@media screen and (max-width: 1039px) {
  .seminar__movie-text {
    padding-left: 0;
    margin-top: 10px;
  }
}
.seminar__movie-time {
  font-size: 14px;
  font-size: 0.875rem;
  color: #aaa;
  margin-top: 1em;
}

.seminar__movie-explanation {
  font-size: 16px;
  font-size: 1rem;
  margin-top: 0.5em;
}

.seminar__detail {
  max-width: 1230px;
  width: 100%;
  margin-inline: auto;
  padding-bottom: 30px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail .common__heading {
    margin-top: 20px;
    text-align: left;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.seminar__detail .common__subheading {
  margin-top: 20px;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.5;
  padding-left: 20px;
  border-left: 2px solid #d51b28;
}

@media screen and (max-width: 1039px) {
  .seminar__detail .common__subheading {
    font-size: 18px;
    font-size: 1.125rem;
    padding-left: 16px;
  }
}
.seminar__detail .common__partheading {
  margin-top: 30px;
}

.seminar__detail .common__text {
  margin-top: 20px;
}

.seminar__detail-process h1 {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-process h1 {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 20px;
    text-align: left;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.seminar__detail-process h2 {
  font-weight: bold;
  margin-top: 20px;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.5;
  padding-left: 20px;
  border-left: 2px solid #d51b28;
}

.seminar__detail-process h2 span {
  font-weight: normal;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-process h2 {
    font-size: 18px;
    font-size: 1.125rem;
    padding-left: 16px;
  }
}
.seminar__detail-process h3 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 30px;
}

.seminar__detail-process p {
  margin-top: 20px;
}

.seminar__detail .responsivebox {
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
}
.seminar__detail .responsivebox.is-wide {
  max-width: 1230px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail .responsivebox {
    width: 100%;
    padding: 0 20px;
  }
}
.seminar__detail.is-wide .responsivebox {
  width: 100%;
  max-width: 1230px;
  margin-inline: auto;
}

@media screen and (max-width: 1039px) {
  .seminar__detail .responsivebox {
    width: 100%;
    padding: 0 20px;
  }
}
.seminar__detail-outline {
  margin-top: 50px;
}

.seminar__detail-outline .responsive-table01 {
  margin-top: 20px;
  width: 100%;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-outline .responsive-table01.is-webinar250626 {
    border-bottom: solid 1px #ccc;
  }
}
.seminar__detail-outline .responsive-table01 th {
  background-color: #f7f6f6;
  width: 155px;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-outline .responsive-table01 th {
    width: 100%;
  }
}
.seminar__detail-speaker {
  margin-top: 50px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-speaker > .responsivebox {
    padding-left: 20px;
  }
}
@media screen and (max-width: 1039px) {
  .seminar__detail-speaker .responsivebox {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.seminar__detail-speaker .common__subheading {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  margin-top: 20px;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.5;
  padding-left: 20px;
  border-left: 2px solid #d51b28;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-speaker .common__subheading {
    margin-top: 0;
    width: 100%;
    font-size: 18px;
    font-size: 1.125rem;
    padding-left: 16px;
  }
}
.seminar__detail-speaker .wrap__bg {
  background-color: #f7f6f6;
  margin-top: 20px;
  padding: 25px;
  max-width: 1040px;
  margin-inline: auto;
}

.seminar__detail-speaker .wrap__bg figure img {
  width: 100%;
  height: auto;
}

.seminar__detail-speaker .wrap__bg .common__partheading {
  padding-left: 30px;
  margin-top: 0;
  font-size: 2.0rem;
  /* font-size: 1.25rem; */
}

@media screen and (max-width: 1039px) {
  .seminar__detail-speaker .wrap__bg .common__partheading {
    padding-left: 0;
    margin-top: 15px;
  }
}
.seminar__detail-speaker .wrap__bg .common__text {
  padding-left: 30px;
  font-size: 1.6rem;
  /* font-size: 1rem; */
  margin-top: 10px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-speaker .wrap__bg .common__text {
    padding-left: 0;
  }
}
.seminar__detail-speaker .wrap__bg .flex_w100p .common__partheading {
  padding-left: 0px;
}

.seminar__detail-speaker .wrap__bg .flex_w100p .common__text {
  padding-left: 0px;
}

.seminar__detail-application {
  margin-top: 65px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-application {
    margin-top: 40px;
  }
}
.seminar__detail-application .btn__arrow-l {
  margin-top: 30px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail-application .btn__arrow-l {
    width: 80%;
  }
}
.service__problem {
  padding-top: 60px;
  background-color: #f7f6f6;
}

@media screen and (max-width: 1039px) {
  .service__problem {
    padding: 50px 0;
  }
}
.service__problem .common__heading {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.35;
}

@media screen and (max-width: 1039px) {
  .service__problem .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.service__problem-box {
  width: 510px;
  border-radius: 20px;
}

@media screen and (max-width: 1039px) {
  .service__problem-box {
    width: 100%;
    margin-top: 20px;
  }
}
.service__problem-box .common__partheading {
  display: block;
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 64px;
  letter-spacing: 1em;
  text-indent: 1em;
  color: #fff;
  background-color: #d51b28;
  border-radius: 20px 20px 0 0;
}

@media screen and (max-width: 1039px) {
  .service__problem-box .common__partheading {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 40px;
  }
}
.service__problem-list {
  padding: 20px 35px;
  border-radius: 0 0 20px 20px;
  border: 4px solid #d51b28;
  border-top: none;
  height: 234px;
}

@media screen and (max-width: 1039px) {
  .service__problem-list {
    padding: 10px 20px;
    height: auto;
  }
}
.service__problem-list li {
  background-image: url(../img/icon_list.png);
  background-repeat: no-repeat;
  background-position: left top 2px;
  background-size: 24px 24px;
  padding-left: 35px;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 15px;
}

@media screen and (max-width: 1039px) {
  .service__problem-list li {
    background-size: 20px 20px;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.5;
  }
}
.service__problem .flex_row {
  margin-top: 35px;
}

@media screen and (max-width: 1039px) {
  .service__problem .flex_row {
    margin-top: 10px;
    padding: 0 20px;
  }
}
.service__problem .flex_row .service__problem-box .common__partheading {
  background-repeat: no-repeat;
  background-position: left 35px bottom;
}

.service__problem .flex_row .service__problem-box:nth-of-type(1) .common__partheading {
  background-image: url(../img/service_icon_01a.png);
  background-size: 59px auto;
}

@media screen and (max-width: 1039px) {
  .service__problem .flex_row .service__problem-box:nth-of-type(1) .common__partheading {
    background-size: auto 36px;
  }
}
.service__problem .flex_row .service__problem-box:nth-of-type(2) .common__partheading {
  background-image: url(../img/service_icon_01b.png);
  background-size: 59px auto;
}

@media screen and (max-width: 1039px) {
  .service__problem .flex_row .service__problem-box:nth-of-type(2) .common__partheading {
    background-size: auto 36px;
  }
}
.service__problem-solution {
  margin-top: 50px;
  padding-top: 70px;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: bold;
  color: #d51b28;
  text-align: center;
  background-image: url(../img/icon_arrow-d_line.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 125px auto;
}

@media screen and (max-width: 1039px) {
  .service__problem-solution {
    margin-top: 15px;
    padding-top: 45px;
    background-size: 85px auto;
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.service__problem-solution span {
  font-size: 20px;
  font-size: 1.25rem;
  color: #000;
  display: block;
  margin-bottom: 10px;
}

@media screen and (max-width: 1039px) {
  .service__problem-solution span {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.service__problem-before,
.service__problem-after {
  padding: 60px;
  background-color: #fff;
}

@media screen and (max-width: 1039px) {
  .service__problem-before,
  .service__problem-after {
    padding: 40px 10px;
  }
}
.service__problem-before .common__partheading,
.service__problem-after .common__partheading {
  font-size: 40px;
  font-size: 2.5rem;
  text-align: center;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 1039px) {
  .service__problem-before .common__partheading,
  .service__problem-after .common__partheading {
    font-size: 35px;
    font-size: 2.1875rem;
  }
}
.service__problem-before img,
.service__problem-after img {
  width: 100%;
  height: auto;
  margin-top: 20px;
}

.service__problem-before {
  margin-top: 60px;
}

.service__problem-after {
  margin-top: 100px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .service__problem-after {
    margin-top: 45px;
  }
}
.service__problem-after:before {
  content: "";
  display: block;
  position: absolute;
  top: -68px;
  left: 50%;
  margin-left: -68px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 68px 0 68px;
  border-color: #d51b28 transparent transparent transparent;
}

@media screen and (max-width: 1039px) {
  .service__problem-after:before {
    top: -35px;
    margin-left: -35px;
    border-width: 26px 35px 0 35px;
  }
}
.service__problem-catch {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  display: block;
  margin-top: 50px;
  padding-bottom: 50px;
  color: #d51b28;
}

@media screen and (max-width: 1039px) {
  .service__problem-catch {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.3;
    margin-top: 25px;
    padding-bottom: 0px;
  }
}
.service__point {
  padding-top: 60px;
}

@media screen and (max-width: 1039px) {
  .service__point {
    padding-top: 50px;
  }
}
.service__point .common__heading {
  font-size: 30px;
  font-size: 1.875rem;
}

@media screen and (max-width: 1039px) {
  .service__point .common__heading {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.3;
  }
}
.service__point-index {
  margin-top: 35px;
}

@media screen and (max-width: 1039px) {
  .service__point-index {
    margin-top: 25px;
    padding: 0 5px;
  }
}
.service__point-index li {
  width: 330px;
  margin-bottom: 20px;
}

@media screen and (max-width: 1039px) {
  .service__point-index li {
    width: 50%;
    padding: 0 5px;
    margin-bottom: 10px;
  }
}
.service__point-index li a {
  display: block;
}

.service__point-index li a img {
  width: 100%;
  height: auto;
}

.service__point-section {
  position: relative;
  margin-top: 65px;
}

@media screen and (max-width: 1039px) {
  .service__point-section {
    margin-top: 45px;
  }
}
.service__point-section > a {
  position: absolute;
  top: -166px;
  width: 0;
  height: 0;
  visibility: hidden;
  line-height: 0;
}

@media screen and (max-width: 1039px) {
  .service__point-section > a {
    top: -60px;
  }
}
.service__point-section .common__heading {
  background-color: #d51b28;
  text-align: center;
  color: #fff;
  font-weight: bold;
  line-height: 80px;
}

@media screen and (max-width: 1039px) {
  .service__point-section .common__heading {
    line-height: 1;
  }
}
.service__point-section .common__heading strong {
  display: block;
  font-size: 30px;
  font-size: 1.875rem;
  width: 920px;
  margin: 0 auto;
  position: relative;
  letter-spacing: normal;
}

@media screen and (max-width: 1039px) {
  .service__point-section .common__heading strong {
    width: 100%;
    display: block;
    font-size: 22px;
    font-size: 1.375rem;
    padding: 35px 0 13px;
  }
}
.service__point-section .common__heading strong::before {
  font-family: "Roboto", sans-serif;
  position: absolute;
  font-size: 24px;
  font-size: 1.5rem;
  color: #fff;
  top: 50%;
  left: 0;
  line-height: 1;
  margin-top: -0.5em;
}

@media screen and (max-width: 1039px) {
  .service__point-section .common__heading strong::before {
    font-size: 17px;
    font-size: 1.0625rem;
    top: 12px;
    left: 0;
    display: block;
    width: 100%;
    text-align: center;
    margin-top: 0;
  }
}
.service__point-section .common__heading span {
  font-size: 20px;
  font-size: 1.25rem;
  vertical-align: 3px;
}

@media screen and (max-width: 1039px) {
  .service__point-section .common__heading span {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.service__point-section .common__heading .point1::before {
  content: "POINT. 1";
}

.service__point-section .common__heading .point2::before {
  content: "POINT. 2";
}

.service__point-section .common__heading .point3::before {
  content: "POINT. 3";
}

.service__point-section .common__heading .point4::before {
  content: "POINT. 4";
}

.service__point-section .common__heading .point5::before {
  content: "POINT. 5";
}

.service__point-section .common__heading .point6::before {
  content: "POINT. 6";
}

.service__point-section .common__subheading {
  margin-top: 40px;
  font-size: 26px;
  font-size: 1.625rem;
  text-align: center;
  color: #d51b28;
}

@media screen and (max-width: 1039px) {
  .service__point-section .common__subheading {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.3;
    text-align: left;
    margin-top: 30px;
  }
}
.service__point-section .common__text {
  margin-top: 35px;
}

@media screen and (max-width: 1039px) {
  .service__point-section .common__text {
    margin-top: 20px;
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.service__point-section > .responsivebox {
  width: 920px;
}

@media screen and (max-width: 1039px) {
  .service__point-section > .responsivebox {
    width: 100%;
    padding: 0 15px;
  }
}
.service__point-section > .responsivebox figure {
  margin-top: 0;
}

.service__point-section > .responsivebox img {
  width: 100%;
  height: auto;
  margin-top: 30px;
}

.service__point-section .point1-img figure {
  width: 49%;
}

@media screen and (max-width: 1039px) {
  .service__point-section .point1-img figure {
    width: 49%;
  }
}
.service__point-detail {
  width: 100%;
}

@media screen and (max-width: 1039px) {
  .service__point-detail {
    width: 100%;
  }
}
.service__point-detail .flex_w50p {
  width: 49%;
}

@media screen and (max-width: 1039px) {
  .service__point-detail .flex_w50p {
    width: 100%;
  }
}
.service__point-detail .common__partheading {
  background-color: #d51b28;
  text-align: center;
  width: 100%;
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 30px;
  line-height: 2;
}

@media screen and (max-width: 1039px) {
  .service__point-detail .common__partheading {
    width: 100%;
    font-size: 24px;
    font-size: 1.5rem;
    margin-top: 40px;
  }
}
@media screen and (max-width: 320px) {
  .service__point-detail .common__partheading {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 35px;
    margin-top: 40px;
  }
}
.service__point-text {
  font-size: 23px;
  font-size: 1.4375rem;
  margin-top: 30px;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .service__point-text {
    font-size: 16px;
    font-size: 1rem;
    margin-top: 15px;
  }
}
@media screen and (max-width: 320px) {
  .service__point-text {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 1039px) {
  .service__point-text p {
    margin-right: 1.5em;
  }
}
@media screen and (max-width: 320px) {
  .service__point-text p {
    margin-right: 1em;
  }
}
.service__point-text span {
  font-size: 29px;
  font-size: 1.8125rem;
  color: #d51b28;
  padding-left: 0.8em;
}

@media screen and (max-width: 1039px) {
  .service__point-text span {
    font-size: 21px;
    font-size: 1.3125rem;
    padding-left: 0.3em;
  }
}
.service__point-text strong {
  font-size: 35px;
  font-size: 2.1875rem;
}

@media screen and (max-width: 1039px) {
  .service__point-text strong {
    font-size: 27px;
    font-size: 1.6875rem;
  }
}
.service__point-text-L {
  margin-top: 20px;
  font-size: 80px;
  font-size: 5rem;
  font-weight: bold;
  color: #d51b28;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 1039px) {
  .service__point-text-L {
    font-size: 68px;
    font-size: 4.25rem;
    margin-top: 20px;
  }
}
@media screen and (max-width: 320px) {
  .service__point-text-L {
    font-size: 56px;
    font-size: 3.5rem;
    margin-top: 20px;
  }
}
.service__point-text-L span {
  font-size: 30px;
  font-size: 1.875rem;
}

@media screen and (max-width: 1039px) {
  .service__point-text-L span {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.service__point figure {
  margin-top: 30px;
}

.service__point figure img {
  width: 100%;
  height: auto;
}

.service__point .flex_w60p figure {
  padding-left: 10px;
}

@media screen and (max-width: 1039px) {
  .service__point .flex_w60p figure {
    padding-left: 0;
  }
}
.service__point .flex_w50p img {
  width: 100%;
  margin-top: 35px;
}

.service__point-listbox {
  margin-top: 35px;
  padding-left: 20px;
}

@media screen and (max-width: 1039px) {
  .service__point-listbox {
    padding-left: 0;
    margin-top: 10px;
  }
}
.service__point-listbox .common__partheading {
  font-size: 24px;
  font-size: 1.5rem;
}

@media screen and (max-width: 1039px) {
  .service__point-listbox .common__partheading {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.service__point-list {
  padding-left: 10px;
  list-style-type: disc;
  list-style-position: inside;
}

.service__point-list li {
  margin-top: 18px;
  font-size: 18px;
  font-size: 1.125rem;
  text-indent: -1.4em;
  padding-left: 1em;
}

@media screen and (max-width: 1039px) {
  .service__point-list li {
    font-size: 17px;
    font-size: 1.0625rem;
    padding-left: 28px;
    margin-top: 15px;
  }
}
.service__point-list.point1-list {
  margin-top: 50px;
}

.service__point-list.point1-list li {
  margin-top: 10px;
}

.service__point-bnr {
  margin-top: 60px;
  padding-left: 20px;
}

@media screen and (max-width: 1039px) {
  .service__point-bnr {
    padding-left: 0;
    margin-top: 20px;
  }
}
.service__point-bnr .common__partheading {
  font-size: 20px;
  font-size: 1.25rem;
}

@media screen and (max-width: 1039px) {
  .service__point-bnr .common__partheading {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.service__point-bnr figure {
  display: block;
  width: 206px;
  height: 70px;
  margin-top: 15px;
}

@media screen and (max-width: 1039px) {
  .service__point-bnr figure {
    width: 48%;
  }
}
.service__point-bnr figure img {
  width: 100%;
  height: auto;
  margin-top: 0 !important;
}

.service__point-p1btn {
  width: 400px;
}

@media screen and (max-width: 1039px) {
  .service__point-p1btn {
    width: 90%;
  }
}
@media screen and (max-width: 320px) {
  .service__point-p1btn {
    width: 100%;
    font-size: 11px;
    font-size: 0.6875rem;
  }
}
.service__point-p2detail {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .service__point-p2detail {
    margin-top: 30px;
  }
}
.service__point-p2detail .common__partheading {
  font-size: 24px;
  font-size: 1.5rem;
}

@media screen and (max-width: 1039px) {
  .service__point-p2detail .common__partheading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.service__point-p2detail .common__text {
  margin-top: 0;
}

@media screen and (max-width: 1039px) {
  .service__point-p2detail .common__text {
    margin-top: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.service__costcut {
  margin-top: 60px;
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #f7f6f6;
}

@media screen and (max-width: 1039px) {
  .service__costcut .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.service__costcut .responsivebox {
  width: 920px;
  margin-top: 20px;
}

@media screen and (max-width: 1039px) {
  .service__costcut .responsivebox {
    width: 100%;
    margin-top: 5px;
    padding: 0 20px;
  }
}
.service__costcut-list {
  margin-top: 20px;
  width: 450px;
}

@media screen and (max-width: 1039px) {
  .service__costcut-list {
    width: 100%;
  }
}
.service__costcut-list .common__subheading {
  background-color: #d51b28;
  border-radius: 20px 20px 0 0;
  color: #fff;
  font-weight: bold;
  display: block;
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 64px;
}

@media screen and (max-width: 1039px) {
  .service__costcut-list .common__subheading {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 40px;
  }
}
.service__costcut-detail {
  border-radius: 0 0 20px 20px;
  border: 4px solid #d51b28;
  border-top: none;
  padding: 30px;
  height: 356px;
}

@media screen and (max-width: 1039px) {
  .service__costcut-detail {
    padding: 20px;
    height: auto;
  }
}
.service__costcut-detail .common__text {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .service__costcut-detail .common__text {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.5;
  }
}
.service__costcut-number {
  margin-top: 10px;
}

.service__costcut-number .maru {
  line-height: 1.4;
  position: relative;
  padding-left: 30px;
  margin-top: 10px;
}

@media screen and (max-width: 1039px) {
  .service__costcut-number .maru {
    font-size: 15px;
    font-size: 0.9375rem;
    padding-left: 25px;
  }
}
.service__costcut-number .maru span {
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  height: 24px;
  width: 24px;
  border-radius: 50%;
  line-height: 23px;
  text-align: center;
  background-color: #d51b28;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .service__costcut-number .maru span {
    font-size: 12px;
    font-size: 0.75rem;
    height: 20px;
    width: 20px;
    line-height: 19px;
    top: 1px;
  }
}
.service__costcut-number .maru strong {
  font-weight: bold;
  color: #d51b28;
}

.service__flow .common__heading {
  font-size: 28px;
  font-size: 1.75rem;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  .service__flow .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.service__flow .common__subheading {
  font-size: 24px;
  font-size: 1.5rem;
  margin-top: 35px;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .service__flow .common__subheading {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 20px;
  }
}
.service__flow-bg {
  padding-top: 60px;
  background-color: #d51b28;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg {
    padding-top: 50px;
    padding-bottom: 130px;
  }
}
.service__flow-bg .responsivebox {
  width: 920px;
  margin-top: 30px;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg .responsivebox {
    width: 100%;
    margin-top: 20px;
    padding: 0 20px;
  }
}
.service__flow-bg figure {
  width: 450px;
  margin: 0 auto;
  padding: 30px 0;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg figure {
    width: 100%;
  }
}
.service__flow-bg figure img {
  width: 100%;
  height: auto;
}

.service__flow-bg-middle {
  background-color: #fff;
  background-image: url(../img/service_flow_bg.png);
  background-repeat: no-repeat;
  background-size: 100% 150px;
  background-position: center top;
  height: 150px;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg-middle {
    height: 50px;
    background-size: 100% 50px;
    position: relative;
    overflow: visible;
  }
}
.service__flow-bg-middle img {
  display: block;
  margin: 0 auto;
  width: 250px;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg-middle img {
    width: 66%;
    position: absolute;
    top: -120px;
    left: 17%;
  }
}
.service__flow-bg-bottom .common__subheading {
  font-size: 50px;
  font-size: 3.125rem;
  text-align: center;
  font-weight: bold;
  margin-top: 35px;
  color: #000;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg-bottom .common__subheading {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.service__flow-bg-bottom .responsivebox {
  width: 920px;
  margin-top: 35px;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg-bottom .responsivebox {
    width: 100%;
    padding: 0 20px;
  }
}
.service__flow-bg-bottom .responsivebox figure {
  width: 450px;
  margin: 40px auto 0;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg-bottom .responsivebox figure {
    width: 100%;
  }
}
.service__flow-bg-bottom .responsivebox figure img {
  width: 100%;
  height: auto;
}

.service__flow-bg-bottom .responsivebox .common__text {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 75px;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (max-width: 1039px) {
  .service__flow-bg-bottom .responsivebox .common__text {
    font-size: 12px;
    font-size: 0.75rem;
    margin-bottom: 40px;
    text-align: left;
    line-height: 1.4;
  }
}
.service__flow-img img {
  width: 100%;
  height: auto;
}

.service__result {
  padding: 60px 0;
  background-color: #f7f6f6;
}

@media screen and (max-width: 1039px) {
  .service__result {
    padding: 50px 0;
  }
}
.service__result .responsivebox {
  width: 920px;
  margin-top: 45px;
}

@media screen and (max-width: 1039px) {
  .service__result .responsivebox {
    width: 100%;
    padding: 0 20px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 1039px) {
  .service__result-text {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.service__result-img {
  padding-left: 23px;
}

@media screen and (max-width: 1039px) {
  .service__result-img {
    padding-left: 0;
    margin-top: 25px;
  }
}
.service__result-img img {
  width: 100%;
  height: auto;
}

.service__page .page__requestdocs {
  margin-top: 0;
}

.service__page .page__requestdocs .responsivebox {
  background-image: none;
  padding: 30px 20px;
}

.service__page .page__requestdocs .common__heading {
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.5;
}

@media screen and (max-width: 1039px) {
  .service__page .page__requestdocs .common__heading {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.service__page .page__requestdocs .common__heading span {
  font-size: 24px;
  font-size: 1.5rem;
  display: block;
}

@media screen and (max-width: 1039px) {
  .service__page .page__requestdocs .common__heading span {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.guide__intro .common__heading {
  margin-top: 35px;
}

@media screen and (max-width: 1039px) {
  .guide__intro .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.guide__intro-question {
  background-color: #000;
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .guide__intro-question {
    background-color: #fff;
    margin-top: 30px;
    padding-right: 15%;
    padding-left: 15%;
  }
}
.guide__intro-question .common__subheading {
  margin-top: 35px;
  margin-bottom: -30px;
  z-index: 2;
  position: relative;
  padding-right: 50px;
}

.guide__intro-question .common__subheading img {
  width: 384px;
  height: auto;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 1039px) {
  .guide__intro-question .common__subheading img {
    width: 0;
    height: 0;
    display: none;
  }
}
.guide__intro-question .flex_row {
  position: relative;
  z-index: 1;
  border: 2px solid #000;
}

.guide__intro-list {
  border: 2px solid #000;
  background-color: #eee;
  background-image: url(../img/guide_icon6.png);
  background-repeat: no-repeat;
  background-size: 103px 187px;
  background-position: center center;
  height: 242px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .guide__intro-list {
    height: 215px;
    background-size: auto 75%;
  }
}
.guide__intro-list .common__text {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 40px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  margin: 0;
}

@media screen and (max-width: 1039px) {
  .guide__intro-list .common__text {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.guide__intro-list .common__text strong {
  color: #d51b28;
}

.guide__intro-answer {
  position: relative;
  padding-top: 90px;
  padding-bottom: 50px;
}

@media screen and (max-width: 1039px) {
  .guide__intro-answer {
    padding-top: 80px;
  }
}
.guide__intro-answer:before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  left: 50%;
  margin-left: -68px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 68px 0 68px;
  border-color: #000 transparent transparent transparent;
}

@media screen and (max-width: 1039px) {
  .guide__intro-answer:before {
    top: 25px;
    margin-left: -42px;
    border-width: 31px 42px 0 42px;
  }
}
.guide__intro-answer .common__subheading {
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  line-height: 40px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .guide__intro-answer .common__subheading {
    line-height: 1.5;
    font-size: 18px;
    font-size: 1.125rem;
    padding: 0 20px;
  }
}
.guide__intro-answer .common__subheading strong {
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  color: #d51b28;
}

@media screen and (max-width: 1039px) {
  .guide__intro-answer .common__subheading strong {
    display: block;
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 1.6;
  }
}
.guide__intro-answer .common__text {
  font-size: 16px;
  font-size: 1rem;
  width: 800px;
  margin: 40px auto 0;
}

@media screen and (max-width: 1039px) {
  .guide__intro-answer .common__text {
    width: 100%;
    font-size: 17px;
    font-size: 1.0625rem;
    padding: 0 20px;
  }
}
.guide__case-index {
  background-color: #d51b28;
  padding: 60px 0 70px;
}

@media screen and (max-width: 1039px) {
  .guide__case-index {
    padding: 50px 0;
  }
}
.guide__case-index .common__heading {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.5;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  .guide__case-index .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.guide__case-index .responsivebox {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .guide__case-index .responsivebox {
    margin-top: 10px;
    padding: 0 20px;
  }
}
.guide__case-index-btn {
  width: 500px;
  display: block;
  padding: 0 30px;
  line-height: 100px;
  background-color: #fff;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  background-repeat: no-repeat;
  position: relative;
  border-radius: 50px;
}

@media screen and (max-width: 1039px) {
  .guide__case-index-btn {
    width: 100%;
    margin-top: 15px;
    background-image: none;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 60px;
    border-radius: 30px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 320px) {
  .guide__case-index-btn {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.guide__case-index-btn::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #d51b28;
  font-size: 20px;
  font-size: 1.25rem;
  position: absolute;
  line-height: 1;
  top: 50%;
  right: 30px;
  margin-top: -0.5em;
}

.guide__case-index-btn span {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #d51b28;
  margin-right: 1em;
  vertical-align: 0.1em;
}

@media screen and (max-width: 1039px) {
  .guide__case-index-btn span {
    font-size: 15px;
    font-size: 0.9375rem;
    vertical-align: 0;
  }
}
@media screen and (max-width: 320px) {
  .guide__case-index-btn span {
    font-size: 14px;
    font-size: 0.875rem;
    margin-right: 0.8em;
  }
}
.guide__case-detail {
  background-color: #f7f6f6;
  padding-top: 90px;
  padding-bottom: 50px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail {
    padding-top: 45px;
    padding-right: 10px;
    padding-left: 10px;
  }
}
.guide__case-detail #case1.pagehook,
.guide__case-detail #case2.pagehook {
  display: block;
  width: 0px;
  height: 0px;
  visibility: hidden;
  line-height: 0;
  position: absolute;
  top: -140px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail:nth-of-type(2) {
    padding-bottom: 0;
  }
}
.guide__case-detail .common__heading {
  font-size: 40px;
  font-size: 2.5rem;
  position: relative;
  width: 100%;
  text-align: center;
  line-height: 1.3;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail .common__heading {
    font-size: 25px;
    font-size: 1.5625rem;
    position: static;
  }
}
.guide__case-detail .common__heading strong {
  position: absolute;
  left: 25px;
  bottom: 0;
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  color: #d51b28;
  letter-spacing: normal;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail .common__heading strong {
    font-size: 17px;
    font-size: 1.0625rem;
    position: static;
  }
}
.guide__case-detail .common__heading span {
  font-size: 28px;
  font-size: 1.75rem;
  display: block;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail .common__heading span {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.guide__case-detail .common__subheading {
  font-size: 28px;
  font-size: 1.75rem;
  color: #fff;
  background-color: #d51b28;
  line-height: 80px;
  text-align: center;
  margin-top: 40px;
  line-height: 1.43;
  padding: 20px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail .common__subheading {
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 1.4;
    padding: 18px 0;
    margin-top: 25px;
    padding: 10px;
  }
}
@media screen and (max-width: 320px) {
  .guide__case-detail .common__subheading {
    font-size: 16px;
    font-size: 1rem;
  }
}
.guide__case-detail-bg {
  background-color: #fff;
  padding: 50px 60px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-bg {
    padding: 25px 20px;
  }
}
.guide__case-detail-bg picture,
.guide__case-detail-bg img {
  width: 100%;
  height: auto;
}

.guide__case-detail-bg .common__partheading {
  display: block;
  width: 800px;
  margin: 0 auto;
  padding-bottom: 15px;
  margin-top: 60px;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-bg .common__partheading {
    width: 100%;
    margin-top: 40px;
    font-size: 20px;
    font-size: 1.25rem;
    padding-bottom: 10px;
    line-height: 1.3;
  }
}
.guide__case-detail-bg .common__text {
  width: 800px;
  margin: 20px auto 0;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-bg .common__text {
    width: 100%;
    font-size: 15px;
    font-size: 0.9375rem;
    margin-top: 15px;
  }
}
.guide__case-detail-list {
  width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-list {
    width: 100%;
    margin: 0;
  }
}
.guide__case-detail-list li {
  width: 25%;
  padding: 10px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-list li {
    padding: 0;
  }
}
.guide__case-detail-list li img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.guide__case-detail-system {
  width: 800px;
  display: block;
  margin: 20px auto 0;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-system {
    width: 100%;
  }
}
.guide__case-detail-system img {
  width: 100%;
  height: auto;
}

.guide__case-detail-osl {
  width: 800px;
  margin: 20px auto 0;
  padding-left: 15px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-osl {
    width: 100%;
    padding-left: 0;
    margin-top: 15px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.guide__case-detail-osl img {
  width: 174px;
  height: 64px;
  margin-top: 15px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-osl img {
    margin: 0 auto;
    width: 70%;
    height: auto;
    display: block;
  }
}
.guide__case-detail-osl figcaption {
  padding-left: 50px;
  padding-top: 6px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.875;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-osl figcaption {
    width: 100%;
    font-size: 17px;
    font-size: 1.0625rem;
    padding-left: 0;
    padding-top: 20px;
  }
}
.guide__case-detail-flow {
  margin-top: 40px;
  border: 3px solid #d51b28;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-flow {
    width: 75%;
    margin-right: auto;
    margin-left: auto;
  }
}
.guide__case-detail-flow .flex_col4 {
  border: 2px solid #d51b28;
  height: 170px;
  position: relative;
}

.guide__case-detail-flow .flex_col4 .common__text {
  font-size: 20px;
  font-size: 1.25rem;
  color: #d51b28;
  line-height: 1.5;
  text-align: center;
  -ms-flex-line-pack: center;
      align-content: center;
  font-weight: bold;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  margin: 0;
}

.guide__case-detail-recommend {
  width: 800px;
  margin: 0 auto;
  padding-left: 155px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-recommend {
    width: 100%;
    padding-left: 0;
  }
}
.guide__case-detail-recommend li {
  margin-top: 20px;
  font-size: 20px;
  font-size: 1.25rem;
  background-image: url(../img/icon_list.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 23px 23px;
  padding-left: 40px;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-recommend li {
    margin-top: 15px;
  }
}
@media screen and (max-width: 1039px) {
  .guide__case-detail-recommend li {
    font-size: 17px;
    font-size: 1.0625rem;
    background-size: 20px 20px;
    padding-left: 30px;
    background-position: left top 4px;
  }
}
.guide__case-detail-recommend li strong {
  color: #d51b28;
  font-weight: bold;
}

.guide__case-detail-recommend li span {
  margin-left: 20px;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (max-width: 1039px) {
  .guide__case-detail-recommend li span {
    margin-left: 0;
    font-size: 15px;
    font-size: 0.9375rem;
    display: block;
  }
}
.guide__cost {
  padding-top: 60px;
  padding-bottom: 70px;
}

@media screen and (max-width: 1039px) {
  .guide__cost {
    padding-bottom: 50px;
    padding-top: 50px;
  }
}
.guide__cost .common__heading {
  font-size: 40px;
  font-size: 2.5rem;
}

.guide__cost .responsivebox {
  width: 920px;
}

@media screen and (max-width: 1039px) {
  .guide__cost .responsivebox {
    width: 100%;
  }
}
.guide__cost .flex_w60p {
  padding-left: 60px;
  padding-right: 40px;
}

@media screen and (max-width: 1039px) {
  .guide__cost .flex_w60p {
    padding-left: 0;
    padding-right: 0;
  }
}
.guide__cost .common__subheading {
  margin-top: 40px;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 48px;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .guide__cost .common__subheading {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.5;
    margin-top: 20px;
    text-align: center;
  }
}
.guide__cost .common__subheading span {
  font-size: 16px;
  font-size: 1rem;
  display: block;
  margin-bottom: 8px;
  font-weight: normal;
}

@media screen and (max-width: 1039px) {
  .guide__cost .common__subheading span {
    display: block;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.75;
  }
}
.guide__cost .common__subheading strong {
  font-size: 50px;
  font-size: 3.125rem;
  display: block;
}

@media screen and (max-width: 1039px) {
  .guide__cost .common__subheading strong {
    display: block;
    font-size: 25px;
    font-size: 1.5625rem;
  }
}
.guide__cost .common__text {
  margin-top: 40px;
  font-size: 15px;
  font-size: 0.9375rem;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 1039px) {
  .guide__cost .common__text {
    font-size: 15px;
    font-size: 0.9375rem;
    padding-right: 20px;
    padding-left: 35px;
    margin-top: 25px;
  }
}
.guide__cost-img {
  margin-top: 50px;
  padding-left: 60px;
  display: block;
}

@media screen and (max-width: 1039px) {
  .guide__cost-img {
    padding-left: 0;
    width: 57%;
    margin-top: 30px;
    margin-right: auto;
    margin-left: auto;
  }
}
.guide__cost-img img {
  width: 200px;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .guide__cost-img img {
    width: 100%;
  }
}
.guide__schedule {
  padding-top: 70px;
  padding-bottom: 60px;
  background-color: #f7f6f6;
}

@media screen and (max-width: 1039px) {
  .guide__schedule {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.guide__schedule .common__heading {
  font-size: 40px;
  font-size: 2.5rem;
}

@media screen and (max-width: 1039px) {
  .guide__schedule .common__heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.guide__schedule .responsivebox {
  width: 800px;
}

@media screen and (max-width: 1039px) {
  .guide__schedule .responsivebox {
    width: 100%;
  }
}
.guide__schedule-flow {
  margin-top: 35px;
}

@media screen and (max-width: 1039px) {
  .guide__schedule-flow {
    margin-top: 20px;
  }
}
.guide__schedule-flow figure {
  width: 180px;
  position: relative;
}

@media screen and (max-width: 1039px) {
  .guide__schedule-flow figure {
    width: 100%;
    padding-right: 25%;
    padding-left: 25%;
    padding-bottom: 90px;
  }
}
@media screen and (max-width: 1039px) {
  .guide__schedule-flow figure:nth-of-type(3) {
    padding-bottom: 0;
  }
}
.guide__schedule-flow figure:nth-of-type(3)::before {
  content: none;
  display: none;
  width: 0;
  height: 0;
}

.guide__schedule-flow figure::before {
  content: "";
  display: block;
  position: absolute;
  right: -80px;
  bottom: 43%;
  width: 35px;
  height: 112px;
  background-image: url(../img/guide_icon5.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
}

@media screen and (max-width: 1039px) {
  .guide__schedule-flow figure::before {
    background-image: url(../img/guide_icon5_sp.png);
    right: 50%;
    bottom: 25px;
    width: 112px;
    height: 35px;
    margin-right: -56px;
  }
}
.guide__schedule-flow img {
  width: 100%;
  height: auto;
}

.guide__schedule-flow figcaption {
  margin-top: 30px;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 1039px) {
  .guide__schedule-flow figcaption {
    margin-top: 15px;
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.guide__schedule .common__text {
  margin-top: 40px;
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
  color: #d51b28;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .guide__schedule .common__text {
    margin-top: 30px;
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.guide__movie {
  padding-top: 60px;
  padding-bottom: 65px;
  background-image: url(../img/guide_movie_bg1.png);
  background-repeat: no-repeat;
  background-position: left 0 top 0;
  background-size: cover;
}

@media screen and (max-width: 1039px) {
  .guide__movie {
    padding-bottom: 60px;
    background-image: url(../img/guide_movie_bg1_sp.jpg);
  }
}
.guide__movie .common__heading {
  font-size: 40px;
  font-size: 2.5rem;
  color: #fff;
}

@media screen and (max-width: 1039px) {
  .guide__movie .common__heading {
    font-size: 25px;
    font-size: 1.5625rem;
    line-height: 1.3;
  }
}
.guide__movie .responsivebox {
  width: 800px;
}

@media screen and (max-width: 1039px) {
  .guide__movie .responsivebox {
    width: 100%;
  }
}
.guide__movie-player {
  margin-top: 40px;
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}

@media screen and (max-width: 1039px) {
  .guide__movie-player {
    margin-top: 30px;
    margin-right: 20px;
    margin-left: 20px;
    width: auto;
  }
}
.guide__movie-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.useful__docs .commonn__heading {
  margin-top: 60px;
  background-color: #d51b28;
  text-align: center;
  color: #fff;
  font-weight: bold;
  line-height: 2.66;
  font-size: 30px;
  font-size: 1.875rem;
}

@media screen and (max-width: 1039px) {
  .useful__docs .commonn__heading {
    font-size: 2.0rem;
    /* font-size: 1.25rem; */
    margin-top: 20px;
    line-height: 1.5;
    padding: 15px 0;
  }
}
.useful__docs-list {
  margin-right: -33px;
  margin-left: -33px;
}

@media screen and (max-width: 1039px) {
  .useful__docs-list {
    margin-right: 0;
    margin-left: 0;
  }
}
.useful__docs-list li {
  width: 33.33333%;
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .useful__docs-list li {
    width: 50%;
  }
}
@media screen and (max-width: 1039px) {
  .useful__docs-list li {
    margin-top: 30px;
  }
  .useful__docs-list li:nth-child(odd) {
    padding-left: 20px;
    padding-right: 10px;
  }
  .useful__docs-list li:nth-child(even) {
    padding-left: 10px;
    padding-right: 20px;
  }
}
.useful__docs-list li div {
  display: block;
  width: 300px;
  margin: 0 auto;
}

@media screen and (max-width: 1039px) {
  .useful__docs-list li div {
    width: 100%;
    margin: 0;
  }
}
.useful__docs-list li figure img {
  width: 100%;
  height: auto;
}

.useful__docs-name {
  font-weight: bold;
  color: #d51b28;
  font-size: 1.6rem;
  /* font-size: 1rem; */
  margin-top: 10px;
}

.useful__docs-text {
  font-size: 1.6rem;
  /* font-size: 1rem; */
  margin-top: 10px;
}

.useful__docs .btn__arrow-r {
  margin-top: 30px;
  margin-bottom: 20px;
}

@media screen and (max-width: 1039px) {
  .useful__docs .btn__arrow-r {
    width: 100%;
    font-size: 1.4rem;
    /* font-size: 0.875rem; */
  }
}
.simulation__detail {
  padding-top: 60px;
}

@media screen and (max-width: 1039px) {
  .simulation__detail {
    padding-top: 40px;
  }
}
@media screen and (max-width: 1039px) {
  .simulation__detail .responsivebox {
    padding: 0 20px;
  }
}
.simulation__detail .common__subheading {
  font-size: 25px;
  font-size: 1.5625rem;
  color: #d51b28;
}

@media screen and (max-width: 1039px) {
  .simulation__detail .common__subheading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.simulation__detail .common__text {
  text-align: right;
  font-size: 16px;
  font-size: 1rem;
}

@media screen and (max-width: 1039px) {
  .simulation__detail .common__text {
    font-size: 14px;
    font-size: 0.875rem;
    text-align: left;
  }
}
.simulation__detail table th,
.simulation__detail table td {
  padding: 10px 20px;
}

.simulation__detail .table {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-collapse: collapse;
}

@media screen and (max-width: 1039px) {
  .simulation__detail .table {
    margin-top: 10px;
  }
}
.simulation__detail .table th,
.simulation__detail .table td {
  border: 1px solid #ccc;
}

@media screen and (max-width: 1039px) {
  .simulation__detail .table th,
  .simulation__detail .table td {
    font-size: 16px;
    font-size: 1rem;
  }
}
.simulation__detail .text-center {
  text-align: center;
}

.simulation__detail .text-center .question {
  margin: 0 10px;
}

.simulation__detail .errorhidden {
  display: none !important;
}

.simulation__detail .question_error {
  display: block;
  color: #f16a70;
}

.simulation__detail select {
  -webkit-writing-mode: horizontal-tb !important;
  text-rendering: auto;
  color: -internal-light-dark(black, white);
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: pre;
  -webkit-rtl-ordering: logical;
  background-color: -internal-light-dark(white, #3b3b3b);
  cursor: default;
  margin: 0em;
  font: 400 13.3333px Arial;
  border-radius: 0px;
  border-width: 1px;
  border-style: solid;
  border-color: -internal-light-dark(#767676, #c3c3c3);
  -o-border-image: initial;
  border-image: initial;
  padding: 0.2em;
  border-radius: 3px;
}

.simulation__detail form input {
  vertical-align: middle;
}

.simulation__detail form input[type=text],
.simulation__detail form input[type=email],
.simulation__detail form input[type=url],
.simulation__detail form input[type=tel],
.simulation__detail form input[type=number],
.simulation__detail form input[type=date],
.simulation__detail form textarea {
  width: 150px;
  max-width: 60%;
  border-radius: 2px;
  margin-right: 20px;
  padding: 10px 12px;
  background: #fafafa;
  border: 1px solid #000;
  outline: none;
  -webkit-appearance: none;
  font-size: 16px;
  font-size: 1rem;
}

.simulation__detail .txt-red {
  color: #e61a13;
}

@media screen and (max-width: 1039px) {
  .simulation__detail .txt-red {
    display: block;
    color: #f98281;
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: bold;
  }
}
.simulation__detail input#submit {
  display: block;
  width: 400px;
  max-width: 80%;
  margin: 50px auto;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 10px;
  text-align: center;
  line-height: 56px;
  background-color: #d51b28;
  text-transform: uppercase;
  border-radius: 28px;
  outline: none;
  -webkit-appearance: none;
  position: relative;
  -webkit-transition: linear 0.3s;
  transition: linear 0.3s;
  text-indent: 10px;
}

.simulation__detail input#submit:hover {
  opacity: 0.8;
}

.simulation__detail #graph.backimg {
  display: block;
  background: url(../img/bg-simu1.jpg) center center no-repeat;
  background-size: 100% 100%;
}

.simulation__detail #graph2.backimg {
  display: block;
  background: url(../img/bg-simu2.jpg) center center no-repeat;
  background-size: 100% 100%;
}

.simulation__detail .graph {
  margin: 0 auto;
  position: relative;
  margin: 0 auto;
  max-width: 100%;
}

.simulation__detail .ovf {
  margin: 50px 0;
}

@media screen and (max-width: 1039px) {
  .simulation__detail .ovf {
    width: 100%;
    float: none;
    overflow-x: auto;
  }
}
.simulation__detail .ovf::-webkit-scrollbar {
  width: 10px;
  height: 10px;
  background-color: #eee;
}

.simulation__detail .ovf::-webkit-scrollbar-thumb {
  cursor: pointer;
  background: #d51b28;
  border-radius: 10px;
}

.simulation__detail .ovf table {
  margin-bottom: 0;
  min-width: 500px;
}

.simulation__detail .ovf table th,
.simulation__detail .ovf table td {
  white-space: nowrap;
}

.simulation__detail .ovf .bg_pur {
  background: #a9aaea;
}

.simulation__detail .ovf .bg_gre {
  background: #a5eaa6;
}

.simulation__detail .jqplot-target {
  position: relative;
  color: #666;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.simulation__detail .jqplot-title {
  font-size: 20px;
  font-size: 1.25rem;
  padding-bottom: 0.5em;
}

.simulation__detail .jqplot-axis {
  font-size: 11px;
  font-size: 0.6875rem;
}

.simulation__detail .jqplot-yaxis {
  margin-right: 10px;
  text-align: right !important;
}

.simulation__detail .jqplot-yaxis-tick {
  top: 15px;
  right: 0;
  text-align: right !important;
}

.simulation__detail .jqplot-xaxis {
  margin-top: 10px;
}

.simulation__detail .jqplot-xaxis-tick {
  font-size: 18px;
  font-size: 1.125rem;
}

@media screen and (max-width: 1039px) {
  .simulation__detail table.resp th,
  .simulation__detail table.resp td {
    width: 100%;
    display: block;
    border-top: none;
  }
}
@media screen and (max-width: 1039px) {
  .simulation__detail table.resp td.ttl-data {
    padding: 8px 10px;
    background: #777;
    color: #fff;
  }
}
.simulation__wrap {
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .simulation__wrap {
    margin-top: 30px;
  }
}
@media screen and (max-width: 1039px) {
  .news__article {
    padding: 0 20px;
  }
}
.news__article-img {
  float: right;
  width: 40%;
  display: block;
  padding-left: 30px;
  padding-bottom: 30px;
}

@media screen and (max-width: 1039px) {
  .news__article-img {
    width: 100%;
    float: none;
    padding-left: 0;
  }
}
.news__article-img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .news__article .common__heading {
    margin-top: 20px;
  }
}
.news__article .common__text {
  margin-top: 40px;
  margin-bottom: 30px;
}

@media screen and (max-width: 1039px) {
  .news__article .common__text {
    margin-top: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.special_bnr {
  width: 1040px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 50px auto 40px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 1039px) {
  .special_bnr {
    width: 90%;
    margin: 25px auto;
  }
}
.special_bnr li {
  /* width: 48%; */
  width: 32%;
  display: block;
}

@media screen and (max-width: 1039px) {
  .special_bnr li {
    width: 100%;
  }
  .special_bnr li + li {
    margin-top: 20px;
  }
}
.bnrAchievement {
  margin-top: 60px;
}

.bnrAchievement a {
  display: block;
  width: 80%;
  margin: 0 auto;
}

.bnrAchievement a img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .bnrAchievement {
    margin-top: 30px;
  }
}
.special_bnr li a {
  display: block;
}

.special_bnr li a img {
  width: 100%;
  height: auto;
}

.achievementInfo {
  background: #eee;
  padding: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  margin-top: 40px;
}

@media screen and (max-width: 1039px) {
  .achievementInfo {
    padding: 20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 20px;
  }
}
.achievementInfo-photo {
  width: 48%;
}

@media screen and (max-width: 1039px) {
  .achievementInfo-photo {
    width: 100%;
  }
}
.achievementInfo-photo img {
  width: 100%;
  height: auto;
}

.achievementInfo-photo figcaption {
  font-size: 0.8em;
}

.achievementInfo-outline {
  width: 48%;
}

@media screen and (max-width: 1039px) {
  .achievementInfo-outline {
    width: 100%;
    margin-top: 30px;
  }
}
.achievementInfo-outline-logo img {
  width: auto;
  height: 100px;
}

@media screen and (max-width: 1039px) {
  .achievementInfo-outline-logo img {
    width: 70%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.achievementInfo-outline-logo strong {
  display: block;
  font-weight: bold;
  font-size: 24px;
  padding-top: 1em;
}

@media screen and (max-width: 1039px) {
  .achievementInfo-outline-logo strong {
    font-size: 4.5vw;
    text-align: center;
  }
}
.achievementInfo-outline-detail {
  margin-top: 1em;
}

@media screen and (max-width: 1039px) {
  .achievementInfo-outline-detail {
    font-size: 4vw;
  }
}
.achievementInfo-outline-detail li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.achievementInfo-outline-detail span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: justify;
  white-space: nowrap;
  width: 8em;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.achievementText {
  margin-top: 40px;
  padding-bottom: 90px;
}

@media screen and (max-width: 1039px) {
  .achievementText {
    margin-right: 20px;
    margin-left: 20px;
    padding-bottom: 50px;
  }
}
.achievementText-article p {
  font-size: 18px;
}

.achievementText-detail {
  margin-top: 20px;
}

.achievementText-heading {
  font-size: 26px;
  font-weight: bold;
  margin-top: 40px;
  border-bottom: 2px solid #f7f6f6;
  padding-bottom: 5px;
}

.monotaroComment {
  margin-bottom: 100px;
}

@media screen and (max-width: 1039px) {
  .monotaroComment {
    margin-right: 20px;
    margin-left: 20px;
    margin-bottom: 60px;
  }
}
.monotaroComment-heading {
  background: #d51b28;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.5em;
  font-size: 28px;
}

@media screen and (max-width: 1039px) {
  .monotaroComment-heading {
    font-size: 5.5vw;
  }
}
.monotaroComment-detail {
  padding: 1em;
  border: 1px solid #ccc;
}

.seminar__detail .pastInfo {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
  margin: 30px 0;
  padding: 5px 10px;
  background: #d51b28;
  color: #fff;
  border-radius: 5px;
}

@media screen and (max-width: 1039px) {
  .seminar__detail .pastInfo {
    font-size: 5.5vw;
  }
}
.seminar__detail p img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1039px) {
  .seminar__detail p img {
    width: 100%;
    height: auto;
  }
}
.add-control {
  position: fixed;
  bottom: 100px;
  right: 40px;
  z-index: 99;
  width: 350px;
}

@media screen and (max-width: 1039px) {
  .add-control {
    bottom: 120px;
    right: 20px;
    z-index: 99;
    width: 65%;
  }
}
.bnrFloating-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px;
}

@media screen and (max-width: 1039px) {
  .bnrFloating-link {
    padding: 8px 5px;
  }
}
.bnrFloating-img {
  width: 17%;
  height: auto;
}

.bnrFloating-img img {
  width: 100%;
  height: auto;
}

.bnrFloating-text {
  width: 80%;
  height: auto;
  color: #d51b28;
  font-weight: bold;
}

@media screen and (max-width: 1039px) {
  .bnrFloating-text {
    width: 81%;
  }
}
.bnrFloating-text p {
  font-size: 14px;
}

@media screen and (max-width: 1039px) {
  .bnrFloating-text p {
    font-size: 2.6vw;
  }
}
.bnrFloating-text strong {
  font-size: 15px;
  display: block;
}

@media screen and (max-width: 1039px) {
  .bnrFloating-text strong {
    font-size: 3.5vw;
  }
}
.btn-close {
  color: #fff;
  font-weight: bold;
  background: #d51b28;
  padding: 5px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 30px;
  height: 30px;
  line-height: 30px;
  cursor: pointer;
  -webkit-box-shadow: 0 0 5px rgba(83, 61, 61, 0.8);
          box-shadow: 0 0 5px rgba(83, 61, 61, 0.8);
  z-index: 100;
}

.btn-close:hover {
  cursor: pointer;
}

.btn-close:active {
  background: #d51b28;
}

.bnrFloating {
  border: 2px solid #d51b28;
  border-radius: 5px;
  height: auto;
  width: 100%;
  background: rgba(255, 255, 255, 0.85);
  -webkit-box-shadow: 0 0 5px rgba(83, 61, 61, 0.8);
          box-shadow: 0 0 5px rgba(83, 61, 61, 0.8);
}

/* close button */
.action-close {
  position: relative;
}

.action-close .btn-close {
  position: absolute;
  right: -15px;
  top: -15px;
}

.action-close .bnrFloating {
  border: 2px solid #d51b28;
}

/* checkbox non-display */
.add-control .checkbox {
  display: none;
}

/* close button's control */
.add-control .action-close #close:checked ~ .btn-close {
  display: none;
}

.add-control .action-close #close:checked ~ .bnrFloating {
  display: none;
}

/* プルダウンメニュー */
ul.menu__second-level {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

@media screen and (max-width: 1039px) {
  ul.menu__second-level {
    visibility: visible;
    opacity: 1;
  }
}
.li.menu__single {
  position: relative;
}

@media screen and (max-width: 1039px) {
  .li.menu__single {
    position: static;
  }
}
li.menu__single ul.menu__second-level {
  position: absolute;
  top: 135px;
  left: 0;
  width: 100%;
  background: #ccc;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

@media screen and (max-width: 1039px) {
  li.menu__single ul.menu__second-level {
    position: static;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-transition: none;
    transition: none;
    margin-top: 0;
    padding-top: 0;
    height: auto;
  }
  li.menu__single ul.menu__second-level li a {
    line-height: 34px;
    font-size: 14px;
    background: #dedede;
    color: #333;
  }
}
li.menu__single:hover ul.menu__second-level {
  top: 150px;
  visibility: visible;
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1039px) {
  li.menu__single:hover ul.menu__second-level {
    position: static;
    top: 0;
    opacity: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
/* お客様の声一覧ページ */
.icon-cs {
  border: 2px solid #d51b28;
  font-weight: bold;
  font-style: normal;
  font-size: 14px;
  padding: 2px 5px;
  color: #d51b28;
}

.csList {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1039px) {
  .csList {
    width: 90%;
    margin: 0 auto;
  }
}
.csList-part {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.csList-part a {
  display: block;
  border: 3px solid #d51b28;
  border-radius: 10px;
  padding: 30px;
}
@media screen and (max-width: 1039px) {
  .csList-part a {
    min-height: 570px;
  }
}
.csList-part a:hover {
  background: rgb(253.3125, 241.6875, 242.5);
}
.csList-img {
  width: 100%;
  margin-bottom: 20px;
}
.csList-img img {
  width: 100%;
  height: auto;
}
.csList-company-title {
  margin: 10px 0 5px;
  font-size: 20px;
}
.csList-company-name {
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 1039px) {
  .csList-company-name {
    font-size: 14px;
  }
}

.modal-caption {
  font-size: 14px;
  margin-top: 10px;
}

.displayNone {
  display: none !important;
  width: 0;
  height: 0;
  visibility: hidden;
}

.movieCard-wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .movieCard-wrap {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 5%;
  }
}
.movieCard-wrap-flex {
  width: 30%;
  margin: 30px 5% 0 0;
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .movieCard-wrap-flex {
    width: 47%;
    margin-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .movieCard-wrap-flex {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    margin-top: 0;
  }
}
.movieCard-wrap-flex:nth-child(n+4) {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .movieCard-wrap-flex:nth-child(n+4) {
    margin-top: 0;
  }
}
@media screen and (min-width: 481px) and (max-width: 768px) {
  .movieCard-wrap-flex:nth-child(n+3) {
    margin-top: 50px;
  }
}
@media screen and (max-width: 480px) {
  .movieCard-wrap-flex:nth-child(n+3) {
    margin-top: 50px;
  }
}
.movieCard-wrap-flex:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .movieCard-wrap-flex:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .movieCard-wrap-flex:not(first-child) {
    margin-top: 50px;
  }
}
.movieCard-thumb {
  width: 100%;
}
.movieCard-thumb img {
  width: 100%;
  height: auto;
}
.movieCard-contents-heading {
  font-weight: bold;
  color: #d51b28;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 10px;
}
.movieCard-contents-text {
  margin-top: 20px;
  font-size: 16px;
  font-size: 1rem;
}
.movieCard-contents-detail {
  margin-top: 20px;
}
.movieCard-contents-detail-heading {
  font-size: 16px;
  font-size: 1rem;
}
.movieCard-contents-detail-text {
  font-size: 16px;
  font-size: 1rem;
  text-indent: -1em;
  padding-left: 1em;
}
.movieCard-contents-detail-text::before {
  content: "・";
}

.seminar-event__movie {
  margin-top: 40px;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.seminar-event__movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.seminar-event__text {
  margin-top: 50px;
}
.seminar-event__card {
  background: rgb(255, 240, 240);
  border: 5px solid #d51b28;
  border-radius: 10px;
  margin-top: 30px;
  padding: 30px;
}
@media screen and (max-width: 767px) {
  .seminar-event__card {
    padding: 15px;
  }
}
.seminar-event__card.is-noBG {
  padding: 0;
  margin-bottom: 30px;
  background: none;
  border: none;
}
.seminar-event__card.is-present {
  border-width: 2px;
  border-radius: 5px;
  overflow: hidden;
  background: none;
  padding: 0;
  width: 80%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .seminar-event__card.is-present {
    width: 100%;
  }
}
.seminar-event__card.is-present .seminar-event__card-head {
  text-align: center;
  padding: 20px 10px 10px;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: 1fr;
  font-size: 22px;
  font-weight: bold;
}
.seminar-event__card.is-present .seminar-event__card-head::after {
  content: "";
  width: 100px;
  height: 4px;
  background: #d51b28;
  display: block;
  margin-inline: auto;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .seminar-event__card.is-present .seminar-event__card-head::after {
    margin-top: -5px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-event__card.is-present .seminar-event__card-head {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
.seminar-event__card-dtl {
  display: grid;
  grid-template-columns: 25% auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .seminar-event__card-dtl {
    grid-template-columns: 1fr;
  }
}
.seminar-event__card-dtl-img {
  padding: 0 30px 20px 50px;
}
@media screen and (max-width: 767px) {
  .seminar-event__card-dtl-img {
    padding: 10px 70px;
  }
}
.seminar-event__card-dtl-img img {
  width: 100%;
}
.seminar-event__card-dtl-txt {
  padding: 20px 20px 0 20px;
  line-height: 2;
}
.seminar-event__card-head {
  margin-top: 0;
  font-size: 20px;
  font-weight: bold;
  border-left: none;
}
.seminar-event__card-list {
  margin-top: 20px;
  margin-left: 2em;
  list-style: disc;
}
.seminar-event__agenda {
  margin-top: 80px;
}
.seminar-event__agenda-table {
  margin-top: 30px;
  border-top: 1px solid #bbb;
  border-left: 1px solid #bbb;
}
.seminar-event__agenda-table th, .seminar-event__agenda-table td {
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 1em;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .seminar-event__agenda-table th, .seminar-event__agenda-table td {
    display: block;
    width: 100%;
  }
}
.seminar-event__agenda-table th {
  white-space: nowrap;
  background: #efefef;
}
.seminar-event__program {
  margin-top: 80px;
}
.seminar-event__program-info {
  margin-top: 30px;
  border: 1px solid #d51b28;
}
.seminar-event__program-info-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  border-bottom: 1px solid #d51b28;
  min-height: 60px;
  background: #d51b28;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.seminar-event__program-info-head-time {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #FFF;
  width: auto;
  padding: 1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-head-time {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.seminar-event__program-info-head-title {
  color: #d51b28;
  background: #fff;
  padding: 1em;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-head-title {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.seminar-event__program-info-detail {
  border-top: none;
  padding: 1.5em;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-detail {
    padding: 1em;
  }
}
.seminar-event__program-info-detail.has-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-detail.has-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.seminar-event__program-info-detail-head {
  margin-top: 0;
  font-weight: bold;
}
.seminar-event__program-info-detail-head.is-noMargin {
  margin: 0 !important;
}
.seminar-event__program-info-detail-text {
  margin-top: 10px;
}
.seminar-event__program-info-detail-text.is-w100 {
  width: 100% !important;
  padding-right: 0 !important;
}
.seminar-event__program-info-detail-text-bold {
  font-weight: 700;
  color: #d51b28;
}
.seminar-event__program-info-detail-point {
  width: 100%;
}
.seminar-event__program-info-detail-lst {
  margin-top: 10px;
  margin-left: 1em;
}
.seminar-event__program-info-detail-lst-itm {
  text-indent: -1em;
  padding-left: 1em;
}
.seminar-event__program-info-detail-lst-itm::before {
  content: "・";
}
.seminar-event__program-info-detail-photo {
  width: 20%;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-detail-photo {
    width: 100%;
    padding: 1em 10% 0;
  }
}
.seminar-event__program-info-detail-photo.is-w100 {
  width: 100%;
}
.seminar-event__program-info-detail-photo img {
  width: 100%;
  height: auto;
}
.seminar-event__program-info-summary {
  margin: 1.5em;
  background: #FFF3DE;
  padding: 1.5em;
}
.seminar-event__program-info-summary-head {
  background: #D51B28;
  display: inline-block;
  font-size: 18px;
  line-height: 1.3;
  color: #fff;
  font-weight: 700;
  margin-top: 0 !important;
  padding: 0.2em 0.5em;
}
.seminar-event__program-info-summary-text {
  font-size: 16px;
  line-height: 2;
}
.seminar-event__program-info-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  margin-top: 2em;
}
.seminar-event__program-info-flex.has-grid {
  margin-top: 0;
  width: 100%;
}
.seminar-event__program-info-flex.has-grid.is-prof {
  display: grid;
  width: 100%;
  grid-template-columns: 2fr 3fr;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-flex.has-grid.is-prof {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.seminar-event__program-info-flex-prof.has-grid {
  display: grid;
  width: 100%;
  grid-template-columns: 40% auto;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-flex-prof.has-grid {
    grid-template-columns: 1fr;
  }
}
.seminar-event__program-info-flex-col {
  margin-top: 30px;
  margin-bottom: -50px;
}
.seminar-event__program-info-flex-col .seminar-event__program-info-detail-text.has-grid {
  margin-top: 0;
}
.seminar-event__program-info-flex-col .seminar-event__program-info-detail-text {
  margin-top: 0;
}
.seminar-event__program-info-flex-col-prof {
  width: 100%;
  display: grid;
  grid-template-columns: 160px auto;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info-flex-col-prof {
    grid-template-columns: 1fr;
  }
}
.seminar-event__program-info-flex-col-prof .seminar-event__program-info-detail-photo {
  width: 100%;
}
.seminar-event__program-info-prof {
  display: grid;
  width: 100%;
  grid-template-columns: 30% auto;
}
.seminar-event__program-info .seminar-event__program-info-detail-head,
.seminar-event__program-info .seminar-event__program-info-detail-text {
  width: 80%;
  padding-right: 2em;
}
@media screen and (max-width: 767px) {
  .seminar-event__program-info .seminar-event__program-info-detail-head,
  .seminar-event__program-info .seminar-event__program-info-detail-text {
    width: 100%;
    padding-right: 0;
  }
}
.seminar-event__program-info .seminar-event__program-info-detail-head.has-grid,
.seminar-event__program-info .seminar-event__program-info-detail-text.has-grid {
  width: 100%;
  padding-right: 0;
}
.seminar-event__program-info .seminar-event__program-info-detail-head.is-wide,
.seminar-event__program-info .seminar-event__program-info-detail-text.is-wide {
  width: 100%;
  padding-right: 0;
}
.seminar-event__program-info .seminar-event__program-info-detail-head.is-wide {
  margin-top: 0;
}

.seminarReport-heading {
  background: #d51b28;
  color: #fff;
  padding: 0.5em 1em;
  font-size: 20px;
  font-weight: bold;
  border-radius: 10px 10px 0 0;
}
.seminarReport-movie {
  margin-top: 40px;
}
.seminarReport-movie__body {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.seminarReport-movie__body iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.seminarReport-movie__link {
  margin-top: 40px;
  text-align: center;
}
.seminarReport-img {
  width: 100%;
  margin: 30px auto;
}
@media screen and (max-width: 767px) {
  .seminarReport-img {
    margin: 15px auto;
  }
}
.seminarReport-img img {
  width: 100%;
  height: auto;
}
.seminarReport-program {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .seminarReport-program {
    margin-top: 50px;
  }
}
.seminarReport-program-message {
  margin-top: 20px;
  padding: 1.5em;
  background: #efefef;
}
.seminarReport-program-text {
  margin-top: 20px;
}
.seminarReport-program-outro {
  margin-top: 20px;
}
.seminarReport-program-summary {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .seminarReport-program-summary {
    margin-top: 30px;
  }
}
.seminarReport-program-summary-ttl {
  font-weight: bold;
  font-size: 20px;
}
.seminarReport-program-summary-ttl::before {
  content: "■";
  margin-right: 0.5em;
  color: #d51b28;
}
.seminarReport-prof {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1em;
  border: 2px solid #ddd;
  border-radius: 5px;
}
.seminarReport-prof + .seminarReport-prof {
  margin-top: 20px;
}
.seminarReport-prof-img {
  width: 20%;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .seminarReport-prof-img {
    width: 30%;
  }
}
.seminarReport-prof-img img {
  width: 100%;
  height: auto;
}
.seminarReport-prof-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.seminarReport-FAQ {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .seminarReport-FAQ {
    margin-top: 20px;
  }
}
.seminarReport-FAQ__Q {
  background: #efefef;
  padding: 0.5em;
  font-weight: bold;
}
.seminarReport-FAQ__A {
  margin-top: 10px;
}
.seminarReport-block {
  margin-top: 40px;
}
.seminarReport-red {
  color: #d51b28;
  font-weight: bold;
}
.seminarReport-numberList {
  list-style: none;
  padding: 10px 0;
}
.seminarReport-numberList li {
  margin: 5px 0;
  padding-left: 2em;
  text-indent: -1em;
}
.seminarReport-numberList li::before {
  display: inline-block;
  margin-right: 0.5em;
}
.seminarReport-numberList li:nth-child(1)::before {
  content: "①";
}
.seminarReport-numberList li:nth-child(2)::before {
  content: "②";
}
.seminarReport-numberList li:nth-child(3)::before {
  content: "③";
}
.seminarReport-list {
  list-style: none;
  padding: 10px 0;
}
.seminarReport-list li {
  margin: 5px 0;
  padding-left: 1em;
  text-indent: -1em;
}
.seminarReport-list li::before {
  content: "・";
}

.disc-list-circle {
  padding-left: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.disc-list-circle::before {
  line-height: 1em;
  content: "○";
  font-size: 10px;
  margin-right: 4px;
  padding-top: 11px;
}

.seminar-event-head {
  font-weight: bold;
  margin-top: 20px;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.5;
  padding-left: 20px;
  border-left: 2px solid #d51b28;
}

.pageLink {
  width: 100%;
  max-width: 800px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}
.pageLink-li {
  padding: 30px 0;
  display: grid;
  gap: 0 4%;
  grid-template-columns: 48% 48%;
}
.pageLink-li-itm {
  width: 100%;
}
.pageLink-li-itm a {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 45vw;
  max-height: 60px;
  border-radius: 30px;
  border: 2px solid #d51b28;
  background: #d51b28;
  color: #fff;
  font-weight: 700;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1039px) {
  .pageLink-li-itm a {
    font-size: 2.4vw;
    padding-right: 2.4vw;
    max-height: 13vw;
  }
}
@media screen and (max-width: 600px) {
  .pageLink-li-itm a {
    font-size: 3.6vw;
    padding-right: 3.6vw;
  }
}
.pageLink-li-itm a::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1;
}
.pageLink-li-itm a:hover {
  background: #fff;
  color: #d51b28;
}

.pageDownload {
  margin-top: 50px;
}
@media screen and (max-width: 600px) {
  .pageDownload {
    padding-left: 5%;
    padding-right: 5%;
    margin-top: 5vw;
  }
}
.pageDownload-img {
  width: 75%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .pageDownload-img {
    width: 100%;
  }
}
.pageDownload img {
  width: 100%;
  height: auto;
}
.pageDownload-heading {
  font-size: 1.8rem;
  color: #d51b28;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .pageDownload-heading {
    font-size: 5.2vw;
    margin-bottom: 20px;
  }
}
.pageDownload-cont {
  width: 100%;
  display: grid;
  grid-template-columns: 56% 40%;
  gap: 0 4%;
}
@media screen and (max-width: 600px) {
  .pageDownload-cont {
    grid-template-columns: 1fr;
    gap: 10vw 0;
  }
}
.pageDownload-cont-dtl {
  margin-top: 20px;
}
.pageDownload-cont-form p {
  line-height: 1.8;
}
.pageDownload-cont-form p + p {
  line-height: 1.5;
  margin-top: 0.5em;
}
.pageDownload-cont-form .form-field {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 20px;
}
.pageDownload-cont-form .form-field input, .pageDownload-cont-form .form-field select {
  border: 1px solid #ccc;
  padding: 0.3em;
}
.pageDownload-cont-form .form-field .field-label {
  color: #d51b28;
  font-weight: 700;
}
.pageDownload-cont .submit {
  width: 60%;
  max-width: 350px;
  margin: 40px auto;
}
.pageDownload-cont .submit input {
  width: 100%;
  padding: 0.3em;
  font-weight: 700;
  text-align: center;
  border: none;
  background: #d51b28;
  color: #333;
  font-weight: 700;
  border-radius: 5px;
  color: #fff;
}
.pageDownload-cont .submit.is-grey {
  margin-top: 20px;
}
.pageDownload-cont .submit.is-grey input {
  background: #666;
}
.pageDownload-cont .submit.is-orange {
  margin-top: 20px;
}
.pageDownload-cont .submit.is-orange input {
  background: #f37c0d;
}
.pageDownload-info {
  margin-top: 30px;
}
.pageDownload-info-ttl {
  font-size: 1.4rem;
  font-weight: 700;
  color: #d51b28;
}
.pageDownload-info-list {
  padding: 1em;
  background: #efefef;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.pageDownload-info-list-item {
  display: grid;
  grid-template-columns: 1em auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.2em 0 0.2em 1em;
}
.pageDownload-info-list-item::before {
  content: "■";
  font-size: 0.5rem;
  color: #d51b28;
}
.pageDownload-info-txt {
  margin-top: 20px;
  font-size: 1.2rem;
  line-height: 2;
}
.pageDownload-btn {
  margin: 50px auto;
  max-width: 300px;
  width: 80%;
}
@media screen and (max-width: 1039px) {
  .pageDownload-btn {
    margin-top: 30px;
    margin-bottom: 50px;
  }
}
.pageDownload-btn a {
  display: grid;
  grid-template-columns: 1em auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-weight: 700;
  color: #fff;
  width: 100%;
  height: 45vw;
  max-height: 60px;
  border-radius: 10px;
  background: #d51b28;
  border: 1px solid #d51b28;
  padding: 0 1em;
}
.pageDownload-btn a::before {
  content: "\f104";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 1em;
  line-height: 1;
}
.pageDownload-bnr {
  display: block;
  margin-top: 80px;
}
@media screen and (max-width: 600px) {
  .pageDownload-bnr {
    display: none;
    margin-top: 12vw;
  }
}

.formThanks {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.8;
  padding: 40px 0 80px;
}
@media screen and (max-width: 600px) {
  .formThanks {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 8vw 0;
    font-size: 3.6vw;
  }
}
.formThanks p + p {
  margin-top: 1em;
}
.formThanks .flex_row {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4%;
}
@media screen and (max-width: 600px) {
  .formThanks .flex_row {
    grid-template-columns: 1fr;
    gap: 4vw;
  }
}
.formThanks .useful__docs-list li {
  width: 100%;
}
@media screen and (max-width: 600px) {
  .formThanks .useful__docs-list li .btn__arrow-r {
    margin-top: 10px;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 1039px) {
  .formThanks .useful__docs-list li:nth-child(odd),
  .formThanks .useful__docs-list li:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
  }
}

.btn-toTop a {
  border-radius: 5px;
  background: #d51b28;
  color: #fff;
  display: grid;
  grid-template-columns: auto 1em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-weight: 700;
  padding: 0.5em 1em 0.5em 1.5em;
  margin-top: 80px;
  width: 100%;
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .btn-toTop a {
    margin-top: 4vw;
    font-weight: 4.4vw;
  }
}
.btn-toTop a::after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 1em;
}

.docsDL-ttl {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .docsDL-ttl {
    margin-top: 8vw;
    font-size: 5vw;
  }
}

.page.guide__page.is-thanks {
  margin-top: 150px;
}
@media screen and (max-width: 1039px) {
  .page.guide__page.is-thanks {
    margin-top: 60px;
  }
}