/* ------------------------
  utilities Classes
------------------------ */
.u-hidden {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 767.98px) {
  .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 767.98px) {
  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 768px) and (max-width: 1279.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 768px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1279.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}

.u-visuallyhidden {
  overflow: hidden;
  clip: rect(0 0 0 0);
  position: absolute;
  margin: -1px;
  padding: 0;
  border: 0;
  width: 1px;
  height: 1px;
}

.u-visuallyhidden.focusable:active,
.u-visuallyhidden.focusable:focus {
  overflow: visible;
  clip: auto;
  position: static;
  margin: 0;
  width: auto;
  height: auto;
}

.u-invisible {
  visibility: hidden;
}

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

/*
* index.css
*
*/
/* --------------------------------
  history
-------------------------------- */
.mgnrs-history {
  position: relative;
  z-index: 1;
  background-color: #000;
  color: #e0e0e0;
  font-weight: 400;
}

.mgnrs-kv__bgImg {
  position: absolute;
  top: 0;
  right: -2.0833333333vw;
  width: 68.125vw;
}
@media (min-width: 1600px) {
  .mgnrs-kv__bgImg {
    right: -33px;
    width: 1090px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-kv__bgImg {
    right: 0;
    width: 100%;
  }
}

.mgnrs-kvImg {
  position: absolute;
  top: 0;
  width: 100%;
}
.mgnrs-kvImg.-base01 {
  position: relative;
}
.mgnrs-kvImg.-main01,
.mgnrs-kvImg.-main02,
.mgnrs-kvImg.-main03 {
  opacity: 0;
  width: 100%;
}
.mgnrs-kvImg.-main01 img,
.mgnrs-kvImg.-main02 img,
.mgnrs-kvImg.-main03 img {
  position: relative;
  right: 26.6666666667vw;
  width: 253.3333333333vw;
  max-width: none;
  height: 188.2666666667vw;
}
.mgnrs-kvImg.-main01 {
  opacity: 1;
}

.mgnrs-intro {
  position: relative;
  margin-top: -4.0277777778vw;
}
@media (min-width: 1600px) {
  .mgnrs-intro {
    margin-top: -64px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-intro {
    margin-top: 15.2vw;
  }
}

.mgnrs-intro__txt {
  font-size: 1.6rem;
}
@media (max-width: 767.98px) {
  .mgnrs-intro__txt {
    font-size: 4vw;
    line-height: 1.7;
  }
}

.mgnrs-intro__writer {
  margin-top: 8px;
  font-size: 1.4rem;
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .mgnrs-intro__writer {
    margin-top: 3.2vw;
    font-size: 3.2vw;
  }
}

.mgnrs-storyNav {
  margin-top: 46px;
}
@media (max-width: 767.98px) {
  .mgnrs-storyNav {
    margin-top: 16.2666666667vw;
  }
}

.mgnrs-storyNav__ttl {
  position: relative;
  font-size: 2rem;
  font-weight: 300;
}
@media (max-width: 767.98px) {
  .mgnrs-storyNav__ttl {
    font-size: 5.3333333333vw;
  }
}
.mgnrs-storyNav__ttl::before {
  content: "";
  display: block;
  opacity: 0.5;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.mgnrs-storyNav__ttl > span {
  position: relative;
  padding-right: 12px;
  background-color: #000;
}
@media (max-width: 767.98px) {
  .mgnrs-storyNav__ttl > span {
    padding-right: 1.3333333333vw;
  }
}

.mgnrs-storyNav__linkList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 84px 30px 0 30px;

  grid-row-gap: 32px;
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNav__linkList {
    padding: 7.3426573427vw 2.6223776224vw 0 2.6223776224vw;

    grid-row-gap: 2.7972027972vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNav__linkList {
    justify-content: space-between;
    margin: auto;
    padding: 6.9333333333vw 0.5333333333vw 0 0;
    width: 72.5333333333vw;

    grid-row-gap: 5.0666666667vw;
  }
}
.mgnrs-storyNav__linkList li {
  width: 33.33%;
  max-width: 340px;
}
@media (max-width: 767.98px) {
  .mgnrs-storyNav__linkList li {
    width: 61.8666666667vw;
    max-width: none;
  }
}
.mgnrs-storyNav__linkList li:nth-child(even) {
  margin-left: auto;
}

.mgnrs-storyNavItem {
  display: block;
  font-family: "NouvelR";
}
@media (min-width: 768px) {
  .mgnrs-storyNavItem:focus i {
    transform: translateY(3px);
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .mgnrs-storyNavItem:hover i {
    transform: translateY(3px);
  }
}
@media (min-width: 768px) and (-ms-high-contrast: none), (min-width: 768px) and (-ms-high-contrast: active) {
  .mgnrs-storyNavItem:hover i {
    transform: translateY(3px);
  }
}

.mgnrs-storyNavItem__img img {
  width: 100%;
}

.mgnrs-storyNavItem__txtWrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-top: -11px;
  line-height: 1.1;
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNavItem__txtWrapper {
    margin-top: -1.3111888112vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNavItem__txtWrapper {
    margin-top: -1.3333333333vw;
    padding: 0;
    line-height: 1;
  }
}
.mgnrs-storyNavItem__txtWrapper i {
  flex-shrink: 0;
  position: relative;
  top: 10px;
  width: 15px;
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNavItem__txtWrapper i {
    top: 0.2622377622vw;
    width: 1.3111888112vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNavItem__txtWrapper i {
    top: 1.8666666667vw;
    width: 3.2vw;
  }
}
.mgnrs-storyNavItem__txtWrapper i img {
  width: 100%;
}

.mgnrs-storyNavItem__txt {
  padding-left: 10px;
  color: #fff;
  line-height: 1.1;
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNavItem__txt {
    padding-left: 0.8741258741vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNavItem__txt {
    padding-left: 1.6vw;
    line-height: 0.9;
  }
}

.mgnrs-storyNavItem__num {
  display: block;
  font-size: 1.1rem;
  font-weight: normal;
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNavItem__num {
    font-size: 0.9615384615vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNavItem__num {
    font-size: 2.9333333333vw;
  }
}

.mgnrs-storyNavItem__ttl {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNavItem__ttl {
    font-size: 1.3111888112vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNavItem__ttl {
    font-size: 4vw;
  }
}
.mgnrs-storyNavItem__ttl > span {
  display: block;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) and (max-width: 1144px) {
  .mgnrs-storyNavItem__ttl > span {
    font-size: 1.048951049vw;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storyNavItem__ttl > span {
    margin-top: 0.5333333333vw;
    font-size: 3.2vw;
  }
}

.mgnrs-visual {
  position: relative;
  padding-top: 88px;
}
@media (max-width: 767.98px) {
  .mgnrs-visual {
    z-index: -1;
    margin-top: -8vw;
    padding-top: 0;
  }
}
.mgnrs-visual::before {
  content: "";
  display: block;
  position: absolute;
  top: auto;
  right: auto;
  bottom: 1.5972222222vw;
  left: 0;
  margin: auto;
  width: 43.1944444444vw;
  height: 8.125vw;
  background: url(/special-contents/mgnrsult-rs/img/history/history_deco_white_bottom.png) no-repeat center center/100% auto;
}
@media (min-width: 1600px) {
  .mgnrs-visual::before {
    bottom: 25px;
    width: 622px;
    height: 117px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-visual::before {
    bottom: 27.7333333333vw;
    width: 53.3333333333vw;
    height: 9.6vw;
  }
}
.mgnrs-visual img {
  width: 100%;
}

.mgnrs-storySecWrapper {
  position: relative;
  z-index: 1;
  margin-top: -9.0277777778vw;
  color: #000;
}
@media (min-width: 1600px) {
  .mgnrs-storySecWrapper {
    margin-top: -144px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySecWrapper {
    margin-top: -44.5333333333vw;
    padding-top: 10.6666666667vw;
  }
}
.mgnrs-storySecWrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: auto;
  right: 0;
  bottom: -1.4583333333vw;
  left: auto;
  margin: auto;
  width: 43.1944444444vw;
  height: 8.125vw;
  background: url(/special-contents/mgnrsult-rs/img/history/history_deco_white_top.png) no-repeat center center/100% auto;
}
@media (min-width: 1600px) {
  .mgnrs-storySecWrapper::before {
    bottom: -23px;
    width: 691px;
    height: 130px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySecWrapper::before {
    bottom: -3.4666666667vw;
    width: 53.3333333333vw;
    height: 9.8666666667vw;
  }
}

.mgnrs-storySec {
  overflow: hidden;
  position: relative;
  margin-top: -1px;
  transform: skewY(-9.5deg);
  background-color: #f2f2f2;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec {
    transform: skewY(-9.4deg);
  }
}
.mgnrs-storySec::before {
  content: "";
  display: block;
  position: absolute;
  top: -8.4722222222vw;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  transform: skewY(9.5deg);
  background-color: #f2f2f2;
}
@media (min-width: 1600px) {
  .mgnrs-storySec::before {
    top: -122px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySec::before {
    top: -8.8vw;
    transform: skewY(9.4deg);
  }
}
.mgnrs-storySec.-story01 {
  margin-top: 0;
}
.mgnrs-storySec.-story01::before {
  background: url(/special-contents/mgnrsult-rs/img/history/storysec01_bg_pc.jpg) no-repeat top center/100% auto;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story01::before {
    background-image: url(/special-contents/mgnrsult-rs/img/history/storysec01_bg_sp.jpg);
  }
}
.mgnrs-storySec.-story02::before {
  background: url(/special-contents/mgnrsult-rs/img/history/storysec02_bg_pc.jpg) no-repeat top center/100% auto;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story02::before {
    background-image: url(/special-contents/mgnrsult-rs/img/history/storysec02_bg_sp.jpg);
  }
}
.mgnrs-storySec.-story03::before {
  background: url(/special-contents/mgnrsult-rs/img/history/storysec03_bg_pc.jpg) no-repeat top center/100% auto;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story03::before {
    background-image: url(/special-contents/mgnrsult-rs/img/history/storysec03_bg_sp.jpg);
  }
}
.mgnrs-storySec.-story04::before {
  background: url(/special-contents/mgnrsult-rs/img/history/storysec04_bg_pc.jpg) no-repeat top center/100% auto;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story04::before {
    background-image: url(/special-contents/mgnrsult-rs/img/history/storysec04_bg_sp.jpg);
  }
}
.mgnrs-storySec.-story05::before {
  background: url(/special-contents/mgnrsult-rs/img/history/storysec05_bg_pc.jpg) no-repeat top center/100% auto;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story05::before {
    background-image: url(/special-contents/mgnrsult-rs/img/history/storysec05_bg_sp.jpg);
  }
}
.mgnrs-storySec.-story06::before {
  background: url(/special-contents/mgnrsult-rs/img/history/storysec06_bg_pc.jpg) no-repeat top center/100% auto;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story06::before {
    background-image: url(/special-contents/mgnrsult-rs/img/history/storysec06_bg_sp.jpg);
  }
}
.mgnrs-storySec.-white {
  background-color: #fff;
}
.mgnrs-storySec.-white::before {
  background-color: #fff;
}
.mgnrs-storySec:last-child {
  margin-bottom: -9.0277777778vw;
}
@media (min-width: 1600px) {
  .mgnrs-storySec:last-child {
    margin-bottom: -144px;
  }
}

.mgnrs-storySec__inner {
  position: relative;
  padding: 11.8055555556vw 0 15.1388888889vw;
  width: 100%;
}
@media (min-width: 1600px) {
  .mgnrs-storySec__inner {
    padding: 189px 0 242px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__inner {
    padding: 24.5333333333vw 0 26.6666666667vw;
  }
}
.mgnrs-storySec__inner::before {
  content: "";
  display: block;
  position: absolute;
  top: -2.4305555556vw;
  right: 0;
  bottom: auto;
  left: auto;
  margin: auto;
  width: 43.1944444444vw;
  height: 8.125vw;
  transform: skewY(9.5deg);
  background: url(/special-contents/mgnrsult-rs/img/history/history_deco_white_top.png) no-repeat center center/100% auto;
}
@media (min-width: 1600px) {
  .mgnrs-storySec__inner::before {
    top: -38px;
    width: 691px;
    height: 130px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__inner::before {
    top: -2.4vw;
    width: 53.3333333333vw;
    height: 9.8666666667vw;
  }
}
.mgnrs-storySec__inner::after {
  content: "";
  display: block;
  position: absolute;
  top: auto;
  right: auto;
  bottom: -2.5694444444vw;
  left: 0;
  margin: auto;
  width: 43.1944444444vw;
  height: 8.125vw;
  transform: skewY(9.5deg);
  background: url(/special-contents/mgnrsult-rs/img/history/history_deco_white_bottom.png) no-repeat center center/100% auto;
}
@media (min-width: 1600px) {
  .mgnrs-storySec__inner::after {
    bottom: -41px;
    width: 691px;
    height: 130px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__inner::after {
    bottom: -2.4vw;
    width: 53.3333333333vw;
    height: 9.8666666667vw;
  }
}
.mgnrs-storySec__inner.-white::before {
  background-image: url(/special-contents/mgnrsult-rs/img/history/history_deco_gray_top.png);
}
.mgnrs-storySec__inner.-white::after {
  background-image: url(/special-contents/mgnrsult-rs/img/history/history_deco_gray_bottom.png);
}
.mgnrs-storySec:first-child .mgnrs-storySec__inner {
  padding-top: 8.3333333333vw;
}
@media (min-width: 1600px) {
  .mgnrs-storySec:first-child .mgnrs-storySec__inner {
    padding-top: 133px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySec:first-child .mgnrs-storySec__inner {
    padding-top: 27.2vw;
  }
}
.mgnrs-storySec:last-child .mgnrs-storySec__inner {
  padding-bottom: 19.0277777778vw;
}
@media (min-width: 1600px) {
  .mgnrs-storySec:last-child .mgnrs-storySec__inner {
    padding-bottom: 304px;
  }
}
@media (max-width: 767.98px) {
  .mgnrs-storySec:last-child .mgnrs-storySec__inner {
    padding-bottom: 26.1333333333vw;
  }
}

.mgnrs-storySec__heading {
  display: block;
  padding: 40px 0;
  width: 100%;
  letter-spacing: -0.01em;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__heading {
    padding: 6.4vw 0 7.7333333333vw;
    font-size: 5.3333333333vw;
    line-height: 1.4;
  }
}
.mgnrs-storySec__heading > small {
  letter-spacing: 0;
  font-size: 1.9rem;
  font-weight: 400;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__heading > small {
    font-size: 3.7333333333vw;
  }
}
.mgnrs-storySec__heading > strong {
  display: block;
  margin: 5px 0 9px;
  letter-spacing: -0.01em;
  font-size: 4.8rem;
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__heading > strong {
    margin: 0 0 1.6vw;
    font-size: 8.5333333333vw;
    line-height: 1.0625;
  }
}
.-story05 .mgnrs-storySec__heading > strong {
  font-size: 3.8rem;
}
@media (max-width: 767.98px) {
  .-story05 .mgnrs-storySec__heading > strong {
    font-size: 7.4666666667vw;
  }
}

.mgnrs-storyContent__body {
  padding-top: 48px;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent__body {
    padding-top: 16vw;
  }
}
.mgnrs-storyContent__body h3 {
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent__body h3 {
    font-size: 5.3333333333vw;
  }
}
.mgnrs-storyContent__body * + h3 {
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent__body * + h3 {
    margin-top: 16vw;
  }
}
.mgnrs-storyContent__body * + figure {
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent__body * + figure {
    margin-top: 5.3333333333vw;
  }
}
.mgnrs-storyContent__body figcaption {
  margin-top: 16px;
  font-size: 1.2rem;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent__body figcaption {
    margin-top: 4.2666666667vw;
    font-size: 3.2vw;
  }
}
.mgnrs-storySec.-story05 .mgnrs-storyContent__body {
  padding-top: 63px;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec.-story05 .mgnrs-storyContent__body {
    padding-top: 18.6666666667vw;
  }
}

.mgnrs-storySec__indent {
  text-indent: 1em;
}
.mgnrs-storySec__indent.-mt10 {
  margin-top: 10px;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__indent.-mt10 {
    margin-top: 2.6666666667vw;
  }
}
.mgnrs-storySec__indent.-mt60 {
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__indent.-mt60 {
    margin-top: 16vw;
  }
}

.mgnrs-storySec__2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 60px;

  row-gap: 40px;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__2col {
    margin-top: 16vw;

    row-gap: 16vw;
  }
}
.mgnrs-storySec__2col > * {
  width: 46.43%;
}
@media (max-width: 767.98px) {
  .mgnrs-storySec__2col > * {
    width: 100%;
  }
}
.mgnrs-storySec__2col figure {
  margin-top: 0;
}

.mgnrs-storyContent {
  margin: 4.1666666667vw auto 0;
  max-width: 840px;
  transform: skewY(9.5deg);
}
@media (min-width: 1600px) {
  .mgnrs-storyContent {
    margin-top: 66px;
  }
}
.mgnrs-storyContent > dt {
  position: relative;
}
.mgnrs-storyContent > dt:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
  width: 100%;
  height: 3px;
  background-color: #000;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent > dt:before {
    height: 0.8vw;
  }
}
.mgnrs-storyContent > dt:after {
  content: "";
  display: block;
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-bottom: 1px dotted #000;
  width: 100%;
  height: 1px;
}
@media (max-width: 767.98px) {
  .mgnrs-storyContent {
    transform: skewY(9.4deg);
  }
}

.mgnrs-footNav {
  padding-top: 126px;
  background-color: #000;
}
@media (max-width: 767.98px) {
  .mgnrs-footNav {
    padding-top: 26.9333333333vw;
  }
}