@charset "UTF-8";
/* 共通マージン 単位em */
/* たしてheight: 5.75em;*/
/*$maru-go: "新丸ゴ M" ,"Shin Maru Go Medium"; モリサワ*/
html {
  font-size: 62.5%;
  /* sets the base font to 10px */
}

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "遊ゴシック", "Yu Gothic", "YuGothic", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  font-family: "Noto Sans JP";
  font-weight: 500;
  line-height: 1.6;
  color: #575757;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

.text-weight-100 {
  font-weight: 100;
}

.text-weight-300 {
  font-weight: 300;
}

.text-weight-400 {
  font-weight: 400;
}

.text-weight-500 {
  font-weight: 500;
}

.text-weight-600 {
  font-weight: 600;
}

.text-weight-700 {
  font-weight: 700;
}

.text-weight-900 {
  font-weight: 900;
}

.text-color-red {
  color: #d6000f;
}

.text-color-gold {
  color: #c89628;
}

.text-color-brown {
  color: #803200;
}

.text-noto {
  font-family: "Noto Sans JP";
}
.text-noto strong {
  font-weight: 600;
}

.text-open-sans {
  font-family: "Open Sans", sans-serif;
}

.text-omnes {
  font-family: omnes-pro, sans-serif;
  font-weight: 500;
  font-style: normal;
}
.text-omnes.regular {
  font-weight: 500;
}
.text-omnes.medium {
  font-weight: 600;
}

body .section-midashi,
body .text-size-xx-large,
body .text-size-x-large,
body .text-size-large,
body .text-size-small,
body .text-size-x-small {
  line-height: inherit;
}

body {
  font-size: 160%;
  font-size: 1.6rem;
}

body .section-title {
  font-size: 3.6rem;
}

body .section-midashi {
  font-size: 2.4rem;
}

body .text-size-xx-large {
  font-size: 2.2rem;
}

body .text-size-x-large {
  font-size: 2rem;
}

body .text-size-large {
  font-size: 1.8rem;
}

body .text-size-medium {
  font-size: 1.6rem;
}

body .text-size-small {
  font-size: 1.4rem;
}

body .text-size-x-small {
  font-size: 1.2rem;
}

body .text-color-tfhd {
  color: #d6000f;
}

@media (max-width: 1000px) and (min-width: 781px) {
  body {
    font-size: 1.5rem;
  }

  body .section-title {
    font-size: 3.6rem;
  }

  body .section-midashi {
    font-size: 2.2rem;
  }

  body .text-size-xx-large {
    font-size: 2.1rem;
  }

  body .text-size-x-large {
    font-size: 1.9rem;
  }

  body .text-size-large {
    font-size: 1.7rem;
  }

  body .text-size-medium {
    font-size: 1.5rem;
  }

  body .text-size-small {
    font-size: 1.3rem;
  }

  body .text-size-x-small {
    font-size: 1.15rem;
  }
}
@media (max-width: 780px) {
  body {
    font-size: 1.4rem;
  }

  body .section-title {
    font-size: 3.4rem;
  }

  body .section-midashi {
    font-size: 2rem;
  }

  body .text-size-xx-large {
    font-size: 2rem;
  }

  body .text-size-x-large {
    font-size: 1.8rem;
  }

  body .text-size-large {
    font-size: 1.6rem;
  }

  body .text-size-medium {
    font-size: 1.4rem;
  }

  body .text-size-small {
    font-size: 1.2rem;
  }

  body .text-size-x-small {
    font-size: 1.1rem;
  }
}
@media (max-width: 610px) and (min-width: 441px) {
  body {
    font-size: 1.3rem;
  }

  body .section-title {
    font-size: 3.2rem;
  }

  body .section-midashi {
    font-size: 1.8rem;
  }

  body .text-size-xx-large {
    font-size: 1.85rem;
  }

  body .text-size-x-large {
    font-size: 1.65rem;
  }

  body .text-size-large {
    font-size: 1.45rem;
  }

  body .text-size-medium {
    font-size: 1.25rem;
  }

  body .text-size-small {
    font-size: 1.05rem;
  }

  body .text-size-x-small {
    font-size: 1rem;
  }
}
@media (max-width: 440px) {
  body {
    font-size: 1.2rem;
  }

  body .section-title {
    font-size: 3rem;
  }

  body .section-midashi {
    font-size: 1.8rem;
  }

  body .text-size-xx-large {
    font-size: 1.8rem;
  }

  body .text-size-x-large {
    font-size: 1.6rem;
  }

  body .text-size-large {
    font-size: 1.4rem;
  }

  body .text-size-medium {
    font-size: 1.2rem;
  }

  body .text-size-small {
    font-size: 1.1rem;
  }

  body .text-size-x-small {
    font-size: 1rem;
  }
}
/*

@media (max-width: $sp-min) {
	body .section-midashi  {
		font-size: 1.8rem;
	}
	body .text-size-xx-large {
		font-size: 1.7rem;
	}
	body .text-size-x-large {
		font-size: 1.5rem;
	}
	body .text-size-large {
		font-size: 1.3rem;
	}
}
*/
#loading-wrap {
  width: 100vw;
  height: 100vh;
  background: rgba(255, 10, 27, 0.75);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}

#loading-wrap:before {
  margin: 0;
  padding: 0;
  position: fixed;
  top: calc(50% - 3.5em);
  left: calc(50% - 5.5em);
  display: block;
  height: 5.5em;
  width: 11em;
  content: "";
  background: url(/resource/images/loading-logo.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

#loading-wrap:after {
  position: fixed;
  top: calc(50% + 1.55em);
  left: calc(50% - 5em);
  display: block;
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-size: 1.2em;
  width: 10em;
  height: 1em;
  text-align: center;
  content: "LOADING";
  color: #ffffff;
}

#loading {
  width: 12em;
  height: 12em;
  border-top: 0.8em solid rgba(255, 255, 255, 0.3);
  border-right: 0.8em solid rgba(255, 255, 255, 0.3);
  border-bottom: 0.8em solid rgba(255, 255, 255, 0.3);
  border-left: 0.8em solid rgb(255, 255, 255);
  -webkit-animation: loader-anime-icon 2s infinite linear;
          animation: loader-anime-icon 2s infinite linear;
  border-radius: 50%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 11;
}

@-webkit-keyframes loader-anime-icon {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loader-anime-icon {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
#loading-wrap {
  -webkit-animation: loading-anime-none 1s forwards;
          animation: loading-anime-none 1s forwards;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}

#loading-wrap.loading-none {
  -webkit-animation: loading-anime-none 1s forwards;
          animation: loading-anime-none 1s forwards;
  -webkit-animation-delay: 0s !important;
          animation-delay: 0s !important;
}

@-webkit-keyframes loading-anime-none {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
    visibility: hidden;
  }
}

@keyframes loading-anime-none {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    display: none;
    visibility: hidden;
  }
}
/*----- clearFix -----*/
.clear-fix:after {
  content: " ";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
}

.clear-fix {
  display: block;
}

/* no ie mac ¥*/
* html .clear-fix {
  height: 1%;
}

.wrap-none {
  display: inline-block;
}

.text-align-left {
  text-align: left !important;
}

.text-align-right {
  text-align: right !important;
}

.text-align-center {
  text-align: center !important;
}

.text-align-justify {
  text-align: justify;
}

a.text-color-white,
a.text-color-white:hover {
  color: #ffffff !important;
}

.display-block {
  display: block;
}

.display-inline-block {
  display: inline-block;
}

.word-nowrap {
  display: inline-block;
}

/*----- for PC 20200522 -----*/
@media (min-width: 761px) {
  .pc-only {
    display: inherit;
  }
}
@media (max-width: 760px) {
  .pc-only {
    display: none;
  }
}
/*----- for Tablet 20200522 -----*/
@media (min-width: 541px) {
  .tab-only {
    display: inherit;
  }
}
@media (max-width: 540px) {
  .tab-only {
    display: none;
  }
}
/*----- for Mobile -----*/
@media (min-width: 761px) {
  .sp-only {
    display: none;
  }
}
@media (max-width: 760px) {
  .sp-only {
    display: inherit;
  }
}
/*----- for Mobile -----*/
@media (min-width: 541px) {
  .sp-only.narrow {
    display: none;
  }
}
@media (max-width: 540px) {
  .sp-only.narrow {
    display: inherit;
  }
}
/*----- for Mobile -----*/
@media (min-width: 721px) {
  .sp-only {
    display: none;
  }

  .pc-only {
    display: block;
  }

  br.pc-only {
    display: inherit;
  }
}
@media (max-width: 720px) {
  .sp-only {
    display: block;
  }

  br.sp-only {
    display: inherit;
  }

  br.sp-only.narrow {
    display: none;
  }

  .pc-only {
    display: none;
  }
}
@media (max-width: 540px) {
  br.sp-only.narrow {
    display: inherit;
  }
}
hr.separator-dotted {
  display: block;
  height: 1px;
  margin: 1.2em 0;
  background: none;
  border: none;
}

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

/*----- MarginBottom -----*/
.margin-bottom-00 {
  margin-bottom: 0 !important;
}

.margin-bottom-02 {
  margin-bottom: 2px !important;
}

.margin-bottom-04 {
  margin-bottom: 4px !important;
}

.margin-bottom-06 {
  margin-bottom: 6px !important;
}

.margin-bottom-08 {
  margin-bottom: 8px !important;
}

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

.margin-bottom-12 {
  margin-bottom: 12px !important;
}

.margin-bottom-14 {
  margin-bottom: 14px !important;
}

.margin-bottom-16 {
  margin-bottom: 16px !important;
}

.margin-bottom-18 {
  margin-bottom: 18px !important;
}

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

.margin-bottom-22 {
  margin-bottom: 22px !important;
}

.margin-bottom-24 {
  margin-bottom: 24px !important;
}

.margin-bottom-26 {
  margin-bottom: 26px !important;
}

.margin-bottom-28 {
  margin-bottom: 28px !important;
}

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

.margin-bottom-32 {
  margin-bottom: 32px !important;
}

.margin-bottom-34 {
  margin-bottom: 34px !important;
}

.margin-bottom-36 {
  margin-bottom: 36px !important;
}

.margin-bottom-02em {
  margin-bottom: 0.2em !important;
}

.margin-bottom-04em {
  margin-bottom: 0.4em !important;
}

.margin-bottom-06em {
  margin-bottom: 0.6em !important;
}

.margin-bottom-08em {
  margin-bottom: 0.8em !important;
}

.margin-bottom-10em {
  margin-bottom: 1em !important;
}

.margin-bottom-12em {
  margin-bottom: 1.2em !important;
}

.margin-bottom-14em {
  margin-bottom: 1.4em !important;
}

.margin-bottom-16em {
  margin-bottom: 1.6em !important;
}

.margin-bottom-18em {
  margin-bottom: 1.8em !important;
}

.margin-bottom-20em {
  margin-bottom: 2em !important;
}

.margin-bottom-22em {
  margin-bottom: 2.2em !important;
}

.margin-bottom-24em {
  margin-bottom: 2.4em !important;
}

.margin-bottom-26em {
  margin-bottom: 2.6em !important;
}

.margin-bottom-28em {
  margin-bottom: 2.8em !important;
}

.margin-bottom-30em {
  margin-bottom: 3em !important;
}

.print-only {
  display: none;
}

/* 基本のスタイル */
.content.delighter {
  -webkit-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  opacity: 0;
}

/* スタート時のスタイル */
.content.delighter.started {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
.content.delighter.started.ended {
  border: solid red 10px;
}

@media screen {
  *.delighter {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    -webkit-transition: all 0.7s ease-out;
    transition: all 0.7s ease-out;
  }

  *.delighter.started {
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }

  *.delighter.started.ended {
    /* border: solid red 10px;*/
  }

  .flex-knowledge-nakami.delighter {
    -webkit-transform: translate(300px, 0);
            transform: translate(300px, 0);
  }

  .flex-knowledge-nakami.delighter.started {
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (max-width: 780px) {
  .eiyou-01.delighter {
    -webkit-transform: translate(300px, 0);
            transform: translate(300px, 0);
  }

  .eiyou-02.delighter {
    -webkit-transform: translate(-300px, 0);
            transform: translate(-300px, 0);
  }

  .eiyou-01.delighter.started,
.eiyou-02.delighter.started {
    -webkit-transform: none;
            transform: none;
  }
}