/***********************************************************************
media queries setting
**********************************************************************/
@font-face {
  font-family: "HitachiSans Regular";
  src: url("../font/HitachiSans-Regular.woff2") format("woff2"), url("../font/HitachiSans-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "HitachiSans Bold";
  src: url("../font/HitachiSans-Bold.woff2") format("woff2"), url("../font/HitachiSans-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/****************** responsive ******************/
/****************** responsive ******************/
/***********************************************************************
reset
**********************************************************************/
* {
  margin: 0;
  padding: 0;
}

html, body {
  -webkit-text-size-adjust: 100%;
}

body {
  background: #faf6eb;
  color: #0c0c0c;
  font-family: "HitachiSans Bold", "Noto Sans JP", "Yu Gothic UI", sans-serif;
  font-size: min(0.9411764706vw, 16px);
  font-weight: 700;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  body {
    font-size: min(3.4505208333vw, 26.5px);
  }
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, th, td, img,
article, footer, header, nav, section {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  list-style-type: none;
}

th {
  font-weight: normal;
  text-align: inherit;
}

select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 100%;
  font-family: "HitachiSans Bold", "Noto Sans JP", "Yu Gothic UI", sans-serif;
}

select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

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

*:focus {
  outline: none;
}

img[src$=".svg"] {
  width: 100%;
}

a {
  color: #0c0c0c;
  text-decoration: none;
  outline: none;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

/* set html5 elements to block */
article, footer, header, nav, section {
  display: block;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 768px) {
  .sp {
    display: block;
  }
}

@media (max-width: 768px) {
  br.sp {
    display: inline-block !important;
  }
}

ul {
  font-size: 0;
}
ul li {
  font-size: min(0.9411764706vw, 16px);
}
@media (max-width: 768px) {
  ul li {
    font-size: min(3.4505208333vw, 26.5px);
  }
}

/********************************************************************************
header
********************************************************************************/
header {
  margin: 0 auto;
  position: relative;
  width: min(100vw, 1700px);
}
@media (max-width: 768px) {
  header {
    width: 100%;
  }
}
header #logo {
  line-height: 0;
  position: absolute;
  left: min(3.2352941176vw, 55px);
  top: min(3.2352941176vw, 55px);
  width: min(14.3529411765vw, 244px);
  z-index: 100;
}
@media (max-width: 768px) {
  header #logo {
    left: 50%;
    top: min(8.4635416667vw, 65px);
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: min(41.4713541667vw, 318.5px);
  }
}
header {
  /* sp nav */
}
header #nav-btn {
  background: #fa000f;
  cursor: pointer;
  display: inline-block;
  height: min(5.8823529412vw, 100px);
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: min(5.8823529412vw, 100px);
  z-index: 1000;
}
@media (max-width: 768px) {
  header #nav-btn {
    height: min(13.28125vw, 102px);
    width: min(13.28125vw, 102px);
  }
}
header #nav-btn span {
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  height: min(0.2352941176vw, 4px);
  position: absolute;
  left: calc(50% - min(1.0588235294vw, 18px));
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: min(2.1176470588vw, 36px);
}
@media (max-width: 768px) {
  header #nav-btn span {
    height: min(0.5208333333vw, 4px);
    left: calc(50% - min(2.4088541667vw, 18.5px));
    width: min(4.8177083333vw, 37px);
  }
}
header #nav-btn span:nth-of-type(1) {
  top: min(2.1176470588vw, 36px);
}
@media (max-width: 768px) {
  header #nav-btn span:nth-of-type(1) {
    top: min(4.8177083333vw, 37px);
  }
}
header #nav-btn span:nth-of-type(2) {
  top: min(2.8235294118vw, 48px);
}
@media (max-width: 768px) {
  header #nav-btn span:nth-of-type(2) {
    top: min(6.3802083333vw, 49px);
  }
}
header #nav-btn span:nth-of-type(3) {
  top: min(3.5294117647vw, 60px);
}
@media (max-width: 768px) {
  header #nav-btn span:nth-of-type(3) {
    top: min(7.9427083333vw, 61px);
  }
}
header #nav-btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(min(0.5882352941vw, 10px)) rotate(45deg);
          transform: translateY(min(0.5882352941vw, 10px)) rotate(45deg);
}
@media (max-width: 768px) {
  header #nav-btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(min(1.0416666667vw, 8px)) rotate(45deg);
            transform: translateY(min(1.0416666667vw, 8px)) rotate(45deg);
  }
}
header #nav-btn.active span:nth-of-type(2) {
  opacity: 0;
}
header #nav-btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(min(-0.5882352941vw, -10px)) rotate(-45deg);
          transform: translateY(min(-0.5882352941vw, -10px)) rotate(-45deg);
}
@media (max-width: 768px) {
  header #nav-btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(min(-1.0416666667vw, -8px)) rotate(-45deg);
            transform: translateY(min(-1.0416666667vw, -8px)) rotate(-45deg);
  }
}
header .gnav {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  height: 100vh;
  min-height: 100vh;
  opacity: 0;
  overflow-y: auto;
  padding: 19.46vw 8.32% 9.06vw;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  text-align: center;
  visibility: hidden;
  width: 100%;
  z-index: 999;
}
header .gnav.active {
  visibility: visible;
  opacity: 1;
}
header {
  /* sp nav */
}

/********************************************************************************
footer
********************************************************************************/
.catalog-btn {
  position: fixed;
  bottom: min(2.1176470588vw, 36px);
  right: min(2.5588235294vw, 43.5px);
  width: min(18.1470588235vw, 308.5px);
  z-index: 9999;
}
@media (max-width: 768px) {
  .catalog-btn {
    bottom: min(3.2552083333vw, 25px);
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0);
    width: min(76.0416666667vw, 584px);
  }
}
.catalog-btn a {
  background: #fa000f;
  border: 2.5px solid #fa000f;
  border-radius: min(0.4705882353vw, 8px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  display: inline-block;
  font-size: min(1.1176470588vw, 19px);
  padding: min(0.2352941176vw, 4px) 0 min(0.2352941176vw, 4px) min(0.8823529412vw, 15px);
  position: relative;
  width: 100%;
}
@media (max-width: 768px) {
  .catalog-btn a {
    border-radius: min(1.3020833333vw, 10px);
    font-size: min(4.0364583333vw, 31px);
    padding: min(0.6510416667vw, 5px);
    text-align: center;
  }
}
.catalog-btn a::before {
  background: url(../images/catalog-arrow.svg) no-repeat center/contain;
  content: "";
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  height: min(0.5882352941vw, 10px);
  position: absolute;
  right: min(0.8235294118vw, 14px);
  top: 50%;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(0.9411764706vw, 16px);
}
@media (max-width: 768px) {
  .catalog-btn a::before {
    height: min(1.8229166667vw, 14px);
    right: min(2.34375vw, 18px);
    width: min(3.125vw, 24px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .catalog-btn a:hover {
    background: #fff;
    color: #fa000f;
  }
  .catalog-btn a:hover::before {
    -webkit-filter: none;
            filter: none;
  }
}

footer .copyright {
  font-size: min(0.8823529412vw, 15px);
  padding: min(1.1176470588vw, 19px) 0;
  text-align: center;
}
@media (max-width: 768px) {
  footer .copyright {
    font-size: min(2.5390625vw, 19.5px);
    padding: min(4.9479166667vw, 38px) 0 min(14.3229166667vw, 110px);
  }
}

/********************************************************************************
common
********************************************************************************/
.wrapper {
  overflow-x: hidden;
}

.head-at {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fa000f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: min(5vw, 85px);
  letter-spacing: -0.02em;
}
@media (max-width: 768px) {
  .head-at {
    font-size: min(14.453125vw, 111px);
  }
}
.head-at small {
  border-bottom: 4px solid #fa000f;
  font-size: min(2.4705882353vw, 42px);
  line-height: 1.1;
  margin-right: min(0.7058823529vw, 12px);
}
@media (max-width: 768px) {
  .head-at small {
    border-bottom: min(0.6510416667vw, 5px) solid #fa000f;
    font-size: min(7.1614583333vw, 55px);
    margin-right: min(2.4739583333vw, 19px);
  }
}

/* anim */
.seizo {
  background-image: url(../images/illust-seizo.png);
}

.kinyu {
  background-image: url(../images/illust-kinyu.png);
}

.seika {
  background-image: url(../images/illust-seika.png);
}

.kokyo {
  background-image: url(../images/illust-kokyo.png);
}

.joho {
  background-image: url(../images/illust-joho.png);
}

.kobai {
  background-image: url(../images/illust-kobai.png);
}

.eigyo {
  background-image: url(../images/illust-eigyo.png);
}

.shosha {
  background-image: url(../images/illust-shosha.png);
}

.keiei {
  background-image: url(../images/illust-keiei.png);
}

.jinji {
  background-image: url(../images/illust-jinji.png);
}

.delay-1 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
}

.delay-2 {
  -webkit-animation-delay: 1.1s !important;
          animation-delay: 1.1s !important;
}

.delay-3 {
  -webkit-animation-delay: 1.4s !important;
          animation-delay: 1.4s !important;
}

.delay-4 {
  -webkit-animation-delay: 1.7s !important;
          animation-delay: 1.7s !important;
}

.delay-5 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
}

.parapara {
  background-position: 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 auto;
  -webkit-animation: parapara 2s steps(2) infinite;
          animation: parapara 2s steps(2) infinite;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes parapara {
  to {
    background-position: 200% 0;
  }
}

@keyframes parapara {
  to {
    background-position: 200% 0;
  }
}
@-webkit-keyframes wobbling_x {
  0% {
    -webkit-transform: translate(7px, 0);
            transform: translate(7px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes wobbling_x {
  0% {
    -webkit-transform: translate(7px, 0);
            transform: translate(7px, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes wobbling_y {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, -7px);
            transform: translate(0, -7px);
  }
}
@keyframes wobbling_y {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, -7px);
            transform: translate(0, -7px);
  }
}
.fi {
  opacity: 0;
}
.fi.active {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-filter: blur(0.8rem);
            filter: blur(0.8rem);
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0rem);
            filter: blur(0rem);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-filter: blur(0.8rem);
            filter: blur(0.8rem);
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0rem);
            filter: blur(0rem);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
.blur {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  opacity: 0;
}
.blur.active {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: Blur;
  animation-name: Blur;
  opacity: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media (max-width: 768px) {
  .blur.active {
    -webkit-animation-duration: 0.75s;
            animation-duration: 0.75s;
  }
}

@-webkit-keyframes Blur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

@keyframes Blur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
.bi {
  opacity: 0;
}
.bi.active {
  -webkit-animation: bounceIn 0.8s ease-out;
          animation: bounceIn 0.8s ease-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes bounceIn {
  0% {
    -webkit-transform: scale(0) translateY(-50px);
            transform: scale(0) translateY(-50px);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale(1.08) translateY(0);
            transform: scale(1.08) translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(0.9) translateY(-10px);
            transform: scale(0.9) translateY(-10px);
  }
  85% {
    -webkit-transform: scale(1.03) translateY(0);
            transform: scale(1.03) translateY(0);
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    opacity: 1;
  }
}

@keyframes bounceIn {
  0% {
    -webkit-transform: scale(0) translateY(-50px);
            transform: scale(0) translateY(-50px);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale(1.08) translateY(0);
            transform: scale(1.08) translateY(0);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(0.9) translateY(-10px);
            transform: scale(0.9) translateY(-10px);
  }
  85% {
    -webkit-transform: scale(1.03) translateY(0);
            transform: scale(1.03) translateY(0);
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
/* anim */
/********************************************************************************
main
********************************************************************************/
#main {
  margin: 0 auto;
  padding: min(17.0588235294vw, 290px) 0 min(14.1176470588vw, 240px);
  position: relative;
  width: min(100vw, 1700px);
}
@media (max-width: 768px) {
  #main {
    padding: min(65.1041666667vw, 500px) 0 min(50.5208333333vw, 388px);
    width: 100%;
  }
}
#main .copy {
  color: #fa000f;
  position: relative;
  text-align: center;
  z-index: 1;
}
#main .copy h2 {
  font-size: min(4.7647058824vw, 81px);
  line-height: 1.05;
  margin-bottom: min(0.6470588235vw, 11px);
  -webkit-transform: scale(1, 0.95);
          transform: scale(1, 0.95);
}
@media (max-width: 768px) {
  #main .copy h2 {
    font-size: min(10.546875vw, 81px);
    margin-bottom: min(0.2604166667vw, 2px);
  }
}
#main .copy p:not(.scroll) {
  border-bottom: 3px solid #fa000f;
  display: inline-block;
  font-size: min(1.4117647059vw, 24px);
  letter-spacing: 0.1em;
  margin-bottom: min(2.2352941176vw, 38px);
  padding-bottom: min(0.2352941176vw, 4px);
}
@media (max-width: 768px) {
  #main .copy p:not(.scroll) {
    border-bottom: min(0.390625vw, 3px) solid #fa000f;
    display: inline;
    font-size: min(3.7109375vw, 28.5px);
    line-height: 1.85;
    margin-bottom: 0;
    padding-bottom: min(0.78125vw, 6px);
  }
}
#main .copy .scroll {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  font-size: min(1.6764705882vw, 28.5px);
  letter-spacing: 0.1em;
  position: relative;
}
@media (max-width: 768px) {
  #main .copy .scroll {
    font-size: min(4.1666666667vw, 32px);
    margin-top: min(7.2916666667vw, 56px);
  }
}
#main .copy .scroll::before {
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
  border-right: 1px solid #fa000f;
  content: "";
  height: min(1.1176470588vw, 19px);
  position: absolute;
  left: 50%;
  top: max(-1.0588235294vw, -18px);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 0;
}
@media (max-width: 768px) {
  #main .copy .scroll::before {
    border-right: min(0.2604166667vw, 2px) solid #fa000f;
    height: min(4.296875vw, 33px);
    top: max(-4.5572916667vw, -35px);
  }
}
#main .top-illust-box {
  height: min(43.0294117647vw, 731.5px);
  position: absolute;
  left: max(-3.5882352941vw, -61px);
  top: max(-8.5294117647vw, -145px);
  width: min(111.4411764706vw, 1894.5px);
}
@media (max-width: 768px) {
  #main .top-illust-box {
    height: min(78.0598958333vw, 599.5px);
    left: max(-0.3255208333vw, -2.5px);
    top: max(-10.0260416667vw, -77px);
    width: min(101.0416666667vw, 776px);
  }
}
#main .top-illust-box .thread {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  height: min(72.5882352941vw, 1234px);
  pointer-events: none;
  position: absolute;
  left: max(-16.2352941176vw, -276px);
  top: max(-2.5vw, -42.5px);
  width: min(176.4705882353vw, 3000px);
  z-index: -1;
}
@media (max-width: 768px) {
  #main .top-illust-box .thread {
    height: min(69.7916666667vw, 536px);
    left: max(-24.0885416667vw, -185px);
    top: min(13.671875vw, 105px);
    width: min(147.1354166667vw, 1130px);
  }
}
#main .top-illust-box .thread div {
  -webkit-animation: wobbling_y 2s ease-in-out infinite alternate;
          animation: wobbling_y 2s ease-in-out infinite alternate;
  height: 100%;
  width: 100%;
}
#main .top-illust-box .thread div::before {
  animation: wobbling_x 2s ease-in-out infinite alternate-reverse;
  background: url(../images/main-line-top.svg) no-repeat center/contain;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 768px) {
  #main .top-illust-box .thread div::before {
    background: url(../images/main-line-top-sp.svg) no-repeat center/contain;
  }
}
#main .bottom-illust-box {
  height: min(35.4411764706vw, 602.5px);
  position: absolute;
  left: max(-6.6470588235vw, -113px);
  bottom: max(-8.2352941176vw, -140px);
  width: min(112.4117647059vw, 1911px);
}
@media (max-width: 768px) {
  #main .bottom-illust-box {
    height: min(78.0598958333vw, 599.5px);
    left: max(-0.3255208333vw, -2.5px);
    bottom: max(-9.6354166667vw, -74px);
    width: min(101.0416666667vw, 776px);
  }
}
#main .bottom-illust-box .thread {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  height: min(30.4117647059vw, 517px);
  pointer-events: none;
  position: absolute;
  bottom: max(-2.0294117647vw, -34.5px);
  left: max(-2.7352941176vw, -46.5px);
  width: min(102.5588235294vw, 1743.5px);
  z-index: -1;
}
@media (max-width: 768px) {
  #main .bottom-illust-box .thread {
    height: min(69.921875vw, 537px);
    bottom: min(4.4270833333vw, 34px);
    left: max(-34.8958333333vw, -268px);
    width: min(148.9583333333vw, 1144px);
  }
}
#main .bottom-illust-box .thread div {
  -webkit-animation: wobbling_y 1.5s ease-in-out infinite alternate;
          animation: wobbling_y 1.5s ease-in-out infinite alternate;
  height: 100%;
  position: relative;
  width: 100%;
}
#main .bottom-illust-box .thread div::before {
  animation: wobbling_x 2s ease-in-out infinite alternate-reverse;
  background: url(../images/main-line-bottom.svg) no-repeat center/contain;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 768px) {
  #main .bottom-illust-box .thread div::before {
    background: url(../images/main-line-bottom-sp.svg) no-repeat center/contain;
  }
}
#main .illust {
  height: min(25.0588235294vw, 426px);
  position: absolute;
  width: min(20.6176470588vw, 350.5px);
}
@media (max-width: 768px) {
  #main .illust {
    height: min(39.7786458333vw, 305.5px);
    width: min(32.6822916667vw, 251px);
  }
}
#main .illust .parapara {
  height: 100%;
  width: 100%;
}
#main .illust1 {
  left: 0;
  top: min(18.0294117647vw, 306.5px);
}
@media (max-width: 768px) {
  #main .illust1 {
    top: 0;
  }
}
#main .illust2 {
  left: min(18.1470588235vw, 308.5px);
  top: min(3.9411764706vw, 67px);
}
@media (max-width: 768px) {
  #main .illust2 {
    left: unset;
    right: 0;
    top: 0;
  }
}
#main .illust3 {
  left: min(43.2941176471vw, 736px);
  top: 0;
}
@media (max-width: 768px) {
  #main .illust3 {
    left: min(34.375vw, 264px);
    top: min(23.5677083333vw, 181px);
  }
}
#main .illust4 {
  left: min(68.4117647059vw, 1163px);
  top: min(3.9411764706vw, 67px);
}
@media (max-width: 768px) {
  #main .illust4 {
    left: 0;
    bottom: 0;
    top: unset;
  }
}
#main .illust5 {
  left: min(90.8235294118vw, 1544px);
  top: min(18.0588235294vw, 307px);
}
@media (max-width: 768px) {
  #main .illust5 {
    left: unset;
    right: 0;
    bottom: 0;
    top: unset;
  }
}
#main .illust6 {
  bottom: min(0.8235294118vw, 14px);
  left: 0;
}
@media (max-width: 768px) {
  #main .illust6 {
    bottom: unset;
    top: 0;
  }
}
#main .illust7 {
  bottom: min(9.7058823529vw, 165px);
  left: min(23vw, 391px);
}
@media (max-width: 768px) {
  #main .illust7 {
    bottom: unset;
    top: 0;
    left: unset;
    right: 0;
  }
}
#main .illust8 {
  bottom: 0;
  left: min(46.3529411765vw, 788px);
}
@media (max-width: 768px) {
  #main .illust8 {
    bottom: unset;
    left: min(34.375vw, 264px);
    top: min(22.265625vw, 171px);
  }
}
#main .illust9 {
  bottom: min(10.4705882353vw, 178px);
  left: min(70.7647058824vw, 1203px);
}
@media (max-width: 768px) {
  #main .illust9 {
    bottom: 0;
    left: 0;
  }
}
#main .illust10 {
  bottom: min(1.6470588235vw, 28px);
  left: min(91.8235294118vw, 1561px);
}
@media (max-width: 768px) {
  #main .illust10 {
    bottom: 0;
    left: unset;
    right: 0;
  }
}

/********************************************************************************
intro
********************************************************************************/
#intro {
  background: #fff;
  padding: min(5.4117647059vw, 92px) 0 min(5.8235294118vw, 99px);
  position: relative;
}
@media (max-width: 768px) {
  #intro {
    padding: min(9.6354166667vw, 74px) 0;
  }
}
#intro .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  position: relative;
  width: min(84.1176470588vw, 1430px);
}
@media (max-width: 768px) {
  #intro .inner {
    display: block;
    width: 100%;
  }
}
#intro .head-at {
  position: absolute;
  z-index: 2;
}
#intro .head-at a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fa000f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media (max-width: 768px) {
  #intro .head-at a {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}
#intro .head-at a small {
  letter-spacing: -0.02em !important;
}
@media (hover: hover) and (pointer: fine) {
  #intro .head-at a:hover {
    opacity: 0.7;
    letter-spacing: 0.02em;
  }
}
#intro .head-at.city {
  left: 0;
  top: max(-0.7058823529vw, -12px);
  width: min(14.2647058824vw, 242.5px);
}
@media (max-width: 768px) {
  #intro .head-at.city {
    left: max(-15.7552083333vw, -121px);
    top: min(67.0572916667vw, 515px);
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    width: auto;
  }
}
#intro .head-at.office {
  bottom: max(-1.0588235294vw, -18px);
  right: 0;
  width: min(20.8823529412vw, 355px);
}
@media (max-width: 768px) {
  #intro .head-at.office {
    bottom: min(66.40625vw, 510px);
    right: max(-25.6510416667vw, -197px);
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    width: auto;
  }
}
@media (min-width: 769px) {
  #intro .voice-box {
    overflow: visible !important;
  }
}
@media (max-width: 768px) {
  #intro .voice-box .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
            transition-timing-function: linear !important;
  }
}
#intro .voice-box li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: min(0.2941176471vw, 5px) solid #fa000f;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fa000f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: min(9.7941176471vw, 166.5px);
  line-height: 1.4;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: min(12.9117647059vw, 219.5px);
}
@media (min-width: 769px) {
  #intro .voice-box li {
    position: absolute;
  }
}
@media (max-width: 768px) {
  #intro .voice-box li {
    border: min(0.6510416667vw, 5px) solid #fa000f;
    font-size: min(2.9296875vw, 22.5px);
    height: min(21.6145833333vw, 166px);
    line-height: 1.1;
    margin: 0 min(2.4739583333vw, 19px);
    opacity: 1;
    width: min(28.515625vw, 219px);
  }
}
#intro .box1 {
  margin-right: max(-8.9117647059vw, -151.5px);
  margin-top: min(3.6470588235vw, 62px);
  width: min(35.2058823529vw, 598.5px);
}
@media (max-width: 768px) {
  #intro .box1 {
    margin-right: 0;
    margin-top: 0;
    width: 100%;
  }
}
@media (min-width: 769px) {
  #intro .box1 li:first-child {
    left: min(0.4705882353vw, 8px);
    top: min(27.1764705882vw, 462px);
  }
  #intro .box1 li:nth-child(2) {
    left: 0;
    top: min(4.1176470588vw, 70px);
  }
  #intro .box1 li:nth-child(3) {
    left: min(16.2058823529vw, 275.5px);
    top: 0;
  }
  #intro .box1 li:nth-child(4) {
    left: min(8.1764705882vw, 139px);
    top: min(15.8823529412vw, 270px);
  }
  #intro .box1 li:nth-child(5) {
    left: min(17.4705882353vw, 297px);
    top: min(27.7058823529vw, 471px);
  }
}
#intro .box2 {
  margin-left: max(-7.7352941176vw, -131.5px);
  width: min(34.1176470588vw, 580px);
}
@media (max-width: 768px) {
  #intro .box2 {
    margin-left: 0;
    width: 100%;
  }
}
@media (min-width: 769px) {
  #intro .box2 li:first-child {
    padding-top: min(1.0588235294vw, 18px);
    right: min(16.4705882353vw, 280px);
    top: min(1.2352941176vw, 21px);
  }
  #intro .box2 li:nth-child(2) {
    right: min(16.3529411765vw, 278px);
    top: min(28.5294117647vw, 485px);
  }
  #intro .box2 li:nth-child(3) {
    right: min(9.4117647059vw, 160px);
    top: min(12vw, 204px);
  }
  #intro .box2 li:nth-child(4) {
    right: min(1.4705882353vw, 25px);
    top: 0;
  }
  #intro .box2 li:nth-child(5) {
    right: 0;
    top: min(23.9411764706vw, 407px);
  }
}
#intro .desc-box {
  margin: 0 auto;
  width: min(31.4411764706vw, 534.5px);
  padding: min(10vw, 170px) 0;
  text-align: center;
}
@media (max-width: 768px) {
  #intro .desc-box {
    margin: min(7.1614583333vw, 55px) auto min(10.0260416667vw, 77px);
    padding: 0;
    position: relative;
    width: min(71.3541666667vw, 548px);
  }
}
#intro .desc-box h4 {
  font-size: min(1.3529411765vw, 23px);
  line-height: 1.6;
  margin-bottom: min(1.4117647059vw, 24px);
  text-align: center;
}
@media (max-width: 768px) {
  #intro .desc-box h4 {
    font-size: min(4.5572916667vw, 35px);
    line-height: 1.25;
    margin-bottom: min(3.90625vw, 30px);
  }
}
#intro .desc-box h3 {
  margin-bottom: min(1.1176470588vw, 19px);
}
@media (max-width: 768px) {
  #intro .desc-box h3 {
    margin-bottom: min(3.90625vw, 30px);
  }
}
#intro .desc-box p {
  font-size: min(1vw, 17px);
  line-height: 1.85;
  text-align: center;
}
@media (max-width: 768px) {
  #intro .desc-box p {
    font-size: min(3.4505208333vw, 26.5px);
    line-height: 1.66;
  }
}
#intro .illust {
  height: min(7.6470588235vw, 130px);
  position: absolute;
  width: min(6.3529411765vw, 108px);
}
#intro .illust1 {
  background-image: url(../images/illust-people1.png);
  left: min(1.8235294118vw, 31px);
  top: max(-4.6470588235vw, -79px);
}
#intro .illust2 {
  background-image: url(../images/illust-people2.png);
  left: max(-1.8235294118vw, -31px);
  top: max(-1.5882352941vw, -27px);
}
@media (max-width: 768px) {
  #intro .illust2 {
    height: min(22.65625vw, 174px);
    left: max(-0.78125vw, -6px);
    top: max(-1.171875vw, -9px);
    width: min(18.8802083333vw, 145px);
  }
}
#intro .illust3 {
  background-image: url(../images/illust-people3.png);
  right: max(-0.1764705882vw, -3px);
  top: max(-4.5882352941vw, -78px);
}
#intro .illust4 {
  background-image: url(../images/illust-people4.png);
  left: min(0.0588235294vw, 1px);
  top: max(-4vw, -68px);
}
#intro .illust5 {
  background-image: url(../images/illust-people5.png);
  left: min(2vw, 34px);
  top: max(-5.5882352941vw, -95px);
}
@media (max-width: 768px) {
  #intro .illust5 {
    height: min(24.8697916667vw, 191px);
    left: unset;
    right: 0;
    top: max(-9.765625vw, -75px);
    width: min(20.703125vw, 159px);
  }
}
#intro .illust6 {
  background-image: url(../images/illust-people6.png);
  right: min(2.1764705882vw, 37px);
  top: max(-4.7058823529vw, -80px);
}
#intro .illust7 {
  background-image: url(../images/illust-people7.png);
  right: max(-0.2941176471vw, -5px);
  top: max(-3.9411764706vw, -67px);
}
@media (max-width: 768px) {
  #intro .illust7 {
    height: min(22.1354166667vw, 170px);
    bottom: max(-2.6041666667vw, -20px);
    right: min(1.3020833333vw, 10px);
    top: unset;
    width: min(18.4895833333vw, 142px);
  }
}
#intro .illust8 {
  background-image: url(../images/illust-people8.png);
  left: max(-2.2941176471vw, -39px);
  top: 0;
}
#intro .illust9 {
  background-image: url(../images/illust-people9.png);
  bottom: max(-3.8235294118vw, -65px);
  right: min(0.9411764706vw, 16px);
}
@media (max-width: 768px) {
  #intro .illust9 {
    height: min(26.6927083333vw, 205px);
    bottom: max(-11.9791666667vw, -92px);
    right: unset;
    left: max(-5.859375vw, -45px);
    width: min(22.5260416667vw, 173px);
  }
}
#intro .illust10 {
  background-image: url(../images/illust-people10.png);
  left: max(-0.7647058824vw, -13px);
  top: max(-4.2352941176vw, -72px);
}

/********************************************************************************
at-box
********************************************************************************/
.at-box {
  padding: min(4.4117647059vw, 75px) 0 min(6vw, 102px);
}
@media (max-width: 768px) {
  .at-box {
    padding: min(11.0677083333vw, 85px) 0 min(13.28125vw, 102px);
  }
}
.at-box .head-box .head-at {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(0.2941176471vw, 5px);
}
@media (max-width: 768px) {
  .at-box .head-box .head-at {
    margin-bottom: min(1.3020833333vw, 10px);
  }
}
.at-box .head-box p {
  font-size: min(1vw, 17px);
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 768px) {
  .at-box .head-box p {
    font-size: min(3.4505208333vw, 26.5px);
    line-height: 1.66;
    margin-bottom: min(7.8125vw, 60px);
  }
}
.at-box .atslider .swiper-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /*transition-timing-function: linear!important;*/
}
.at-box .atslider .swiper-slide {
  cursor: pointer;
  width: min(24.7647058824vw, 421px);
}
@media (max-width: 768px) {
  .at-box .atslider .swiper-slide {
    margin: 0 max(-2.9947916667vw, -23px);
    width: min(75.5208333333vw, 580px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .at-box .atslider .swiper-slide:hover .more-btn span {
    background: #fa000f;
    color: #fff;
  }
  .at-box .atslider .swiper-slide:hover .more-btn span::before {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
.at-box .atslider .slide-link-box {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}
.at-box .atslider .illust {
  height: min(30.1176470588vw, 512px);
  width: 100%;
}
@media (max-width: 768px) {
  .at-box .atslider .illust {
    height: min(91.796875vw, 705px);
  }
}
.at-box .atslider .more-btn {
  text-align: center;
}
.at-box .atslider .more-btn span {
  background: #fff;
  border: 1px solid #fa000f;
  border-radius: min(1vw, 17px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fa000f;
  cursor: pointer;
  display: inline-block;
  font-size: min(1vw, 17px);
  letter-spacing: 0.039em;
  min-width: min(12.2941176471vw, 209px);
  padding: min(0.1764705882vw, 3px) min(2.0588235294vw, 35px) min(0.1764705882vw, 3px) min(0.8235294118vw, 14px);
  position: relative;
  text-align: center;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  text-align: center;
}
@media (max-width: 768px) {
  .at-box .atslider .more-btn span {
    border-radius: min(4.8828125vw, 37.5px);
    font-size: min(4.6875vw, 36px);
    padding: min(1.171875vw, 9px) min(8.0729166667vw, 62px) min(1.171875vw, 9px) min(1.8229166667vw, 14px);
    min-width: min(56.3151041667vw, 432.5px);
  }
}
.at-box .atslider .more-btn span::before {
  background: url(../images/atslide-arrow.svg) no-repeat center/contain;
  content: "";
  height: min(0.8235294118vw, 14px);
  position: absolute;
  right: min(0.7647058824vw, 13px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(0.4705882353vw, 8px);
}
@media (max-width: 768px) {
  .at-box .atslider .more-btn span::before {
    height: min(3.8411458333vw, 29.5px);
    right: min(4.1666666667vw, 32px);
    width: min(2.2135416667vw, 17px);
  }
}
.at-box .pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: min(2.0588235294vw, 35px);
}
@media (max-width: 768px) {
  .at-box .pagination {
    margin-top: min(5.2083333333vw, 40px);
  }
}
.at-box .pagination .swiper-pagination-bullet {
  background: #8fa2c2;
  height: min(0.7647058824vw, 13px);
  margin: 0 8px;
  width: min(0.7647058824vw, 13px);
}
@media (max-width: 768px) {
  .at-box .pagination .swiper-pagination-bullet {
    height: 10px;
    width: 10px;
  }
}
.at-box .pagination .swiper-pagination-bullet-active {
  background: #fa000f;
}

.remodal-overlay {
  background: rgba(249, 208, 186, 0.7);
}

@media (max-width: 768px) {
  .remodal-wrapper {
    overflow: hidden;
    padding: 0;
  }
}

.remodal {
  background: #faf6eb;
  border-radius: min(1.1764705882vw, 20px);
  -webkit-box-shadow: 5px 5px 5px rgba(35, 24, 21, 0.5);
          box-shadow: 5px 5px 5px rgba(35, 24, 21, 0.5);
  height: min(38.2352941176vw, 650px);
  max-width: inherit;
  padding: min(2.4705882353vw, 42px) min(1.0588235294vw, 18px) 0 min(2.9411764706vw, 50px);
  width: min(58.8235294118vw, 1000px);
}
@media (max-width: 768px) {
  .remodal {
    border-radius: 0px;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100dvh;
    margin-bottom: 0;
    padding: 0 min(5.3385416667vw, 41px) min(22.7864583333vw, 175px) min(9.1145833333vw, 70px);
    width: 100vw;
  }
}
.remodal .remodal-close {
  background: #fa000f;
  border-radius: 50%;
  height: min(1.8823529412vw, 32px);
  left: inherit;
  right: min(1.1176470588vw, 19px);
  top: min(1.1176470588vw, 19px);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.8823529412vw, 32px);
}
@media (max-width: 768px) {
  .remodal .remodal-close {
    height: min(8.5286458333vw, 65.5px);
    margin: auto;
    bottom: min(7.421875vw, 57px);
    left: 0;
    right: 0;
    top: unset;
    width: min(8.5286458333vw, 65.5px);
  }
}
.remodal .remodal-close::before {
  color: #fff;
  font-size: min(1.4705882353vw, 25px);
  line-height: min(1.8823529412vw, 32px);
  width: min(1.8823529412vw, 32px);
}
@media (max-width: 768px) {
  .remodal .remodal-close::before {
    font-size: min(9.1145833333vw, 70px);
    line-height: min(8.5286458333vw, 65.5px);
    width: min(8.5286458333vw, 65.5px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .remodal .remodal-close:hover {
    background: #fff;
  }
  .remodal .remodal-close:hover::before {
    color: #fa000f;
  }
}

.modal-content-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.modal-content-box .head-box {
  height: min(32.7058823529vw, 556px);
  width: min(26.8823529412vw, 457px);
}
@media (max-width: 768px) {
  .modal-content-box .head-box {
    height: min(76.5625vw, 588px);
    margin: min(6.640625vw, 51px) 0 min(1.0416666667vw, 8px);
    width: min(63.0208333333vw, 484px);
  }
}
.modal-content-box .head-box .copy {
  color: #fa000f;
  font-size: min(1.1764705882vw, 20px);
  line-height: 1.65;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 768px) {
  .modal-content-box .head-box .copy {
    font-size: min(4.4270833333vw, 34px);
    margin: 0;
    position: absolute;
    right: min(8.8541666667vw, 68px);
    white-space: nowrap;
  }
}
.modal-content-box .head-box .copy strong {
  border-right: 1px solid #fa000f;
  font-weight: 700;
}
@media (max-width: 768px) {
  .modal-content-box .head-box .copy strong {
    padding-right: min(1.4322916667vw, 11px);
  }
}
.modal-content-box .desc-box {
  height: min(34.9411764706vw, 594px);
  margin-top: min(0.8235294118vw, 14px);
  padding-right: min(3.2941176471vw, 56px);
  text-align: left;
  width: min(24.1176470588vw, 410px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box {
    height: calc(100dvh - min(22.7864583333vw, 175px));
    margin: 0;
    padding-right: min(9.1145833333vw, 70px);
    width: 100%;
  }
}
.modal-content-box .desc-box h4 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fa000f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: min(2.0588235294vw, 35px);
  letter-spacing: 0.039em;
  line-height: 1;
  margin-bottom: min(0.9411764706vw, 16px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box h4 {
    font-size: min(6.5104166667vw, 50px);
    margin-bottom: min(3.3854166667vw, 26px);
  }
}
.modal-content-box .desc-box h4 span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fa000f;
  border-radius: 50%;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: min(1.3235294118vw, 22.5px);
  height: min(2.1176470588vw, 36px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: min(0.2941176471vw, 5px);
  width: min(2.1176470588vw, 36px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box h4 span {
    font-size: min(4.1666666667vw, 32px);
    height: min(6.640625vw, 51px);
    margin-right: min(0.6510416667vw, 5px);
    width: min(6.640625vw, 51px);
  }
}
.modal-content-box .desc-box .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: min(0.8235294118vw, 14px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .tag-list {
    margin-bottom: min(1.5625vw, 12px);
  }
}
.modal-content-box .desc-box .tag-list li {
  background: #fff;
  border: 2px solid #fa000f;
  border-radius: min(0.8235294118vw, 14px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fa000f;
  letter-spacing: 0.039em;
  padding: min(0.0588235294vw, 1px);
  text-align: center;
  width: min(8vw, 136px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .tag-list li {
    border: min(0.390625vw, 3px) solid #fa000f;
    border-radius: min(2.8645833333vw, 22px);
    font-size: min(3.7239583333vw, 28.6px);
    min-width: min(28.3854166667vw, 218px);
    padding: 0 min(1.3020833333vw, 10px);
    white-space: nowrap;
    width: auto;
  }
}
.modal-content-box .desc-box .tag-list li:not(:last-child) {
  margin-right: min(0.3529411765vw, 6px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .tag-list li:not(:last-child) {
    margin-right: min(1.3020833333vw, 10px);
  }
}
.modal-content-box .desc-box h5 {
  color: #fa000f;
  font-size: min(1.4117647059vw, 24px);
  letter-spacing: -0.022em;
  line-height: 1.2;
  margin-bottom: min(0.4117647059vw, 7px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box h5 {
    font-size: min(4.5572916667vw, 35px);
  }
}
.modal-content-box .desc-box p {
  line-height: 1.45;
  margin-bottom: min(0.5882352941vw, 10px);
  text-align: justify;
}
@media (max-width: 768px) {
  .modal-content-box .desc-box p {
    line-height: 1.5;
    margin-bottom: min(1.5625vw, 12px);
  }
}
.modal-content-box .desc-box h6 {
  color: #fa000f;
  font-size: min(1.2352941176vw, 21px);
  letter-spacing: -0.022em;
  margin-bottom: min(0.2941176471vw, 5px);
  position: relative;
}
@media (max-width: 768px) {
  .modal-content-box .desc-box h6 {
    font-size: min(4.5572916667vw, 35px);
    margin-bottom: min(1.171875vw, 9px);
  }
}
.modal-content-box .desc-box h6 span {
  background: #faf6eb;
  display: inline-block;
  padding-right: min(0.5882352941vw, 10px);
  position: relative;
  z-index: 1;
}
.modal-content-box .desc-box h6::before {
  border-bottom: 2px solid #fa000f;
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 100%;
}
.modal-content-box .desc-box .link-list {
  margin-bottom: min(0.1764705882vw, 3px);
}
.modal-content-box .desc-box .link-list li {
  font-size: min(0.8235294118vw, 14px);
  letter-spacing: -0.022em;
  line-height: 1.3;
  padding-left: min(0.4117647059vw, 7px);
  position: relative;
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list li {
    font-size: min(3.4635416667vw, 26.6px);
    padding-left: min(1.6276041667vw, 12.5px);
  }
}
.modal-content-box .desc-box .link-list li sup {
  font-size: min(0.4705882353vw, 8px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list li sup {
    font-size: min(2.0833333333vw, 16px);
  }
}
.modal-content-box .desc-box .link-list li::before {
  background: #fa000f;
  content: "";
  height: min(0.7058823529vw, 12px);
  position: absolute;
  left: 0;
  top: min(0.1176470588vw, 2px);
  width: min(0.1764705882vw, 3px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list li::before {
    height: min(3.3203125vw, 25.5px);
    top: min(0.5208333333vw, 4px);
    width: min(0.78125vw, 6px);
  }
}
.modal-content-box .desc-box .link-list li:not(:last-child) {
  margin-bottom: min(0.1176470588vw, 2px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list li:not(:last-child) {
    margin-bottom: min(0.6510416667vw, 5px);
  }
}
.modal-content-box .desc-box .link-list a {
  border-bottom: 1px solid transparent;
  padding-right: min(0.9411764706vw, 16px);
  position: relative;
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list a {
    padding-right: min(4.1666666667vw, 32px);
  }
}
.modal-content-box .desc-box .link-list a::before {
  background: url(../images/icon-blank.svg) no-repeat center/contain;
  content: "";
  height: min(0.7058823529vw, 12px);
  position: absolute;
  right: 0;
  bottom: min(0.1176470588vw, 2px);
  width: min(0.7058823529vw, 12px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list a::before {
    height: min(3.2552083333vw, 25px);
    bottom: min(0.5208333333vw, 4px);
    width: min(3.2552083333vw, 25px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .modal-content-box .desc-box .link-list a:hover {
    border-bottom: 1px solid #fa000f;
  }
}
.modal-content-box .desc-box .link-list ul {
  margin-top: min(0.1176470588vw, 2px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .link-list ul {
    margin-top: min(0.6510416667vw, 5px);
  }
}
.modal-content-box .desc-box .note-list {
  padding-bottom: min(2.4705882353vw, 42px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .note-list {
    padding-bottom: 0;
  }
}
.modal-content-box .desc-box .note-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "HitachiSans Regular", "Noto Sans JP", "Yu Gothic UI", sans-serif;
  font-size: min(0.7058823529vw, 12px);
  letter-spacing: -0.022em;
  text-align: justify;
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .note-list li {
    font-size: min(2.8645833333vw, 22px);
    line-height: 1.4;
  }
}
.modal-content-box .desc-box .note-list li span {
  white-space: nowrap;
}
.modal-content-box .desc-box .simplebar-track.simplebar-vertical {
  background: #dcdddd;
  border-radius: 4px;
  height: min(32.3529411765vw, 550px);
  right: 0;
  width: min(0.4705882353vw, 8px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .simplebar-track.simplebar-vertical {
    border-radius: 8px;
    height: min(143.6848958333vw, 1103.5px);
    max-height: 100%;
    top: min(6.640625vw, 51px);
    width: min(2.0833333333vw, 16px);
  }
}
.modal-content-box .desc-box .simplebar-scrollbar {
  background: #fa000f;
  border-radius: 4px;
  cursor: pointer;
  width: min(0.4705882353vw, 8px);
}
@media (max-width: 768px) {
  .modal-content-box .desc-box .simplebar-scrollbar {
    border-radius: 8px;
    width: min(2.0833333333vw, 16px);
  }
}
.modal-content-box .desc-box .simplebar-scrollbar::before {
  content: none;
}
.modal-content-box.mc-keiei h4 p {
  letter-spacing: -0.05em;
  margin-bottom: 0;
  -webkit-transform: scale(0.93, 1);
          transform: scale(0.93, 1);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  white-space: nowrap;
  width: calc(100% - min(2.4117647059vw, 41px));
}
@media (max-width: 768px) {
  .modal-content-box.mc-keiei h4 p {
    width: calc(100% - min(7.2916666667vw, 56px));
  }
}

#office {
  background: #fff;
}
#office .pagination {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}