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

body {
  height: 100%;
  margin: 0;
  padding: 0;
  color: #575757;
  text-align: center;
  background-attachment: fixed;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
body:before, body:after {
  position: fixed;
  background: url(/resource/images/yohaku.png);
  background-attachment: fixed;
  height: 100vh;
  top: 0;
}
@media (min-width: 1401px) {
  body:before, body:after {
    content: "";
    display: block;
    width: calc(( 100% - 1400px ) / 2);
  }
}
body:before {
  right: 0;
}
body:after {
  left: 0;
}

body .body-inner {
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: transparent;
  color: #575757;
  text-align: center;
  width: 100%;
  max-width: 1400px;
  overflow: hidden;
}
body .body-inner:after {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  max-width: 1400px;
  border: 16px #d6000f solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  pointer-events: none;
  z-index: 1000;
}
@media (min-width: 1401px) {
  body .body-inner:after {
    left: calc(( 100% - 1400px ) / 2);
  }
}
@media (max-width: 780px) and (min-width: 441px) {
  body .body-inner:after {
    border-width: 14px;
  }
}
@media (max-width: 440px) {
  body .body-inner:after {
    border-width: 12px;
  }
}

a {
  color: #d6000f;
  text-decoration: underline;
  text-decoration: none !important;
}
a:hover {
  color: #ff0a1b;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-decoration: none !important;
}
a:hover:hover * {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

/*----- Header (reference to sp) -----*/
.header {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 1400px;
  height: 100px;
  text-align: center;
  background: #d6000f;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  z-index: 100;
}
@media (min-width: 1401px) {
  .header {
    left: calc(( 100% - 1400px ) / 2);
  }
}
.header a {
  text-decoration: none;
}
@media (max-width: 440px) {
  .header {
    height: 70px;
    overflow: hidden;
  }
}

.header-nav-outer {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.header-title {
  pointer-events: visible;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 60;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.header-title a {
  display: block;
  line-height: 0;
}
.header-title a img {
  width: 330px;
  height: 60px;
  -webkit-transform-origin: -10px center;
          transform-origin: -10px center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.header-title a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media (max-width: 440px) {
  .header-title {
    top: 14px;
    left: 14px;
  }
  .header-title a {
    text-align: left;
  }
  .header-title a img {
    width: 250px;
    height: 45px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
}

.header-title-iine {
  text-align: left;
  position: absolute;
  top: 22px;
  left: 22px;
  padding: 0 0 0 76px;
  width: 1000px;
  height: 100px;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  font-size: 100%;
  font-family: "Noto Sans JP";
  font-weight: 900;
  color: #ffffff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  background-image: url(/resource/images/icon-bou-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
.header-title-iine .header-title-iine-main {
  margin-top: -4px;
  font-size: 50px;
}
.header-title-iine .header-title-iine-caption {
  font-size: 25px;
}
@media (max-width: 780px) {
  .header-title-iine {
    top: 14px;
    left: 14px;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
}
@media (max-width: 580px) {
  .header-title-iine {
    height: 140px;
    top: 16px;
    left: 14px;
    -webkit-transform: scale(0.64);
            transform: scale(0.64);
    padding: 0 0 0 102px;
  }
}
@media (max-width: 440px) {
  .header-title-iine {
    left: 12px;
  }
}
@media (max-width: 370px) {
  .header-title-iine {
    top: 19px;
    -webkit-transform: scale(0.58);
            transform: scale(0.58);
  }
}
.header-title-iine br {
  display: none;
}
@media (max-width: 580px) {
  .header-title-iine br {
    display: inherit;
  }
}

.header.home.header-home {
  height: 150px;
}
@media (max-width: 780px) {
  .header.home.header-home {
    height: 100px;
  }
}
@media (max-width: 580px) {
  .header.home.header-home {
    height: 125px;
  }
}
.header.home.header-home .header-title {
  left: -400px;
}

.header.down.header-home .header-title-iine {
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: scale(0);
          transform: scale(0);
}

.header.header-sub .header-title-iine {
  display: none;
}

.nav-dot {
  padding: 30px 20px 30px 20px;
  pointer-events: visible;
  position: absolute;
  top: 6px;
  right: 70px;
  z-index: 50;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: right;
      -ms-flex-align: right;
          align-items: right;
  width: 1000px;
  letter-spacing: -0.01em;
}
@media (max-width: 1110px) {
  .nav-dot {
    top: -11px;
    -webkit-transform: scale(1);
            transform: scale(1);
    width: 400px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.nav-dot li {
  position: relative;
  line-height: 1.5;
  margin: 0 0 0 0.8em;
  white-space: nowrap;
}
@media (max-width: 1110px) {
  .nav-dot li {
    margin: 0.2em 0 0.2em 0.8em;
  }
}
.nav-dot li.one-page {
  font-size: 100%;
  font-family: "Noto Sans JP";
  font-weight: 700;
}
.nav-dot li.one-page a {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding-left: 0.8em;
  color: #ffffff !important;
  position: relative;
}
.nav-dot li.one-page a:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0em;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #ffffff;
}
.nav-dot li.one-page a:hover, .nav-dot li.one-page a.current {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #ffffff !important;
  text-decoration: none !important;
}
.nav-dot li.one-page a:hover:before, .nav-dot li.one-page a.current:before {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  bottom: -0.4em;
  height: 0.2em;
}
@media (max-width: 1110px) {
  .nav-dot li.one-page a:hover:before, .nav-dot li.one-page a.current:before {
    bottom: -0.2em;
  }
}
.nav-dot li.one-page a:after {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.6em;
  height: 0.6em;
  border-radius: 0.3em;
  background: #ffffff;
}
@media (max-width: 780px) {
  .nav-dot li.one-page a:after {
    display: none;
  }
}

@media (max-width: 800px) {
  .nav-dot {
    display: none;
  }
}
.all-section-ouer {
  background: #ffffff;
  overflow: hidden;
}

.flex-knowledge .flex-knowledge-nakami {
  float: right;
  height: 100%;
  margin-top: -5%;
  margin-right: -220px;
}
@media (max-width: 900px) {
  .flex-knowledge .flex-knowledge-nakami {
    width: 90%;
    margin-right: -210px;
  }
}
@media (max-width: 610px) {
  .flex-knowledge .flex-knowledge-nakami {
    width: 100%;
    margin-right: -200px;
  }
}
@media (max-width: 440px) {
  .flex-knowledge .flex-knowledge-nakami {
    float: none;
    width: calc(100% + 60px);
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: 1em;
  }
}
.flex-knowledge .section-contents-narrow {
  text-align: center;
}
.flex-knowledge .section-contents-narrow .flex-knowledge-pc {
  margin: 0 auto;
}
@media (max-width: 610px) {
  .flex-knowledge .section-contents-narrow .flex-knowledge-pc {
    display: none;
  }
}
.flex-knowledge .section-contents-narrow .flex-knowledge-sp {
  margin: 0 auto;
  display: none;
}
@media (max-width: 610px) {
  .flex-knowledge .section-contents-narrow .flex-knowledge-sp {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
  }
}

.index-homoso {
  position: relative;
  width: 85%;
  margin-left: -10%;
  margin-top: 2em;
  pointer-events: none;
}
@media (min-width: 611px) {
  .index-homoso {
    margin-top: -2em;
  }
}
@media (max-width: 900px) {
  .index-homoso {
    margin-top: 2em;
    width: 85%;
  }
}
@media (max-width: 610px) {
  .index-homoso {
    margin-left: -10%;
    margin-right: -10%;
    width: 120%;
    margin-bottom: -10%;
  }
}
.index-homoso img.index-homoso-bg {
  border-radius: 50%;
  width: 100%;
  max-width: 1100px;
  height: auto;
}
.index-homoso a.index-homoso-link {
  pointer-events: visible;
  position: absolute;
  top: 36%;
  left: 36%;
  width: 28%;
  height: 28%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 610px) {
  .index-homoso a.index-homoso-link {
    top: 30%;
    left: 30%;
    width: 40%;
    height: 40%;
  }
}
.index-homoso a.index-homoso-link img {
  width: 100%;
  height: auto;
}
.index-homoso a.index-homoso-link:hover img {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.index-homoso .back-to-top-text {
  display: inline-block;
  font-family: "Noto Sans JP";
  color: #d6000f;
  font-size: 150%;
  font-weight: 800;
  line-height: 1.5;
  padding-right: 1.25em;
  background-image: url(/resource/images/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
}

.flex-section {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.flex-section a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.flex-section .flex-section-inner {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.flex-section .graph {
  position: absolute;
  top: 18%;
  left: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
  z-index: 10;
}
@media (max-width: 610px) {
  .flex-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .flex-section .flex-section-inner,
.flex-section a {
    width: 100%;
    max-width: 400px;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .flex-section .graph {
    display: none;
  }
}
@media (max-width: 440px) {
  .flex-section .graph {
    display: none;
  }
}

.graph-sp {
  display: none;
}
.graph-sp p {
  font-weight: 800;
}
.graph-sp img {
  width: 100%;
  height: auto;
}
@media (max-width: 440px) {
  .graph-sp img {
    width: 128%;
    margin: 0 -14%;
  }
}
@media (max-width: 610px) {
  .graph-sp {
    display: block;
  }
}

.max-width-container {
  margin: 0 80px;
}
@media (max-width: 1000px) and (min-width: 901px) {
  .max-width-container {
    margin: 0px 81px;
  }
}
@media (max-width: 900px) and (min-width: 781px) {
  .max-width-container {
    margin: 0 76px;
  }
}
@media (max-width: 780px) and (min-width: 441px) {
  .max-width-container {
    margin: 0px 49px;
  }
}
@media (max-width: 440px) {
  .max-width-container {
    margin: 0px 37px;
  }
}

.section-contents {
  overflow: visible;
  text-align: center;
  overflow: hidden;
  margin-top: -100px;
  padding-top: 100px;
}
.section-contents .section-contents-narrow {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}
.section-contents .section-margin {
  text-align: left;
  padding-top: 3.2em;
}
@media (min-width: 1001px) {
  .section-contents .section-margin {
    width: 85%;
    max-width: 950px;
    margin: 0 auto;
  }
}
@media (max-width: 1000px) and (min-width: 901px) {
  .section-contents .section-margin {
    margin: 0px 81px;
  }
}
@media (max-width: 900px) and (min-width: 781px) {
  .section-contents .section-margin {
    margin: 0 76px;
  }
}
@media (max-width: 780px) and (min-width: 441px) {
  .section-contents {
    /*margin-top: -120px;
    padding-top: 120px;*/
  }
  .section-contents .section-margin {
    margin: 0px 49px;
  }
}
@media (max-width: 440px) {
  .section-contents {
    margin-left: 0;
    margin-right: 0;
    margin-top: -80px;
    padding-top: 80px;
  }
  .section-contents .section-margin {
    margin: 0 37px;
  }
}

.section-bg {
  display: block;
  padding: 0;
  overflow: hidden;
}

/*----- Footer (reference to sp) -----*/
.footer {
  width: 100%;
  background: #d6000f;
  padding: 1.6em 0 1.2em 0;
  color: rgb(253, 253, 253);
  text-align: left;
}
@media (max-width: 780px) {
  .footer {
    padding: 1.4em 0 1em 0;
  }
}
@media (max-width: 440px) {
  .footer {
    padding: 1.2em 0 0.8em 0;
  }
}

.footer-logo {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0 1em 0;
}
.footer-logo img {
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}
@media (max-width: 780px) {
  .footer-logo {
    padding: 0 0 0.8em 0;
  }
  .footer-logo img {
    max-width: 70%;
  }
}
@media (max-width: 440px) {
  .footer-logo {
    padding: 0 0 0.6em 0;
  }
}

.footer-logo-outer,
.footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 46px 0 46px;
}
@media (max-width: 780px) {
  .footer-logo-outer,
.footer-inner {
    padding: 0 24px;
  }
}
@media (max-width: 440px) {
  .footer-logo-outer,
.footer-inner {
    padding: 0 18px;
  }
}

@media (max-width: 440px) {
  .footer-logo-outer {
    margin: 10px 0 0 0;
  }
}

.footer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 780px) {
  .footer-inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .footer-inner > * {
    margin-bottom: 0.4em;
  }
}
@media (max-width: 440px) {
  .footer-inner {
    margin: 0 0 10px 0;
  }
}

.footer .footer-nav-utility {
  display: block;
}
.footer .footer-nav-utility ul {
  width: auto;
  margin: 0 auto;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 900px) {
  .footer .footer-nav-utility ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .footer .footer-nav-utility ul li {
    margin-bottom: 0.15em;
  }
}
.footer .footer-nav-utility ul li {
  width: auto;
  display: inline-block;
  color: rgba(253, 253, 253, 0.6);
  margin-right: 1em;
}
.footer .footer-nav-utility ul li a {
  padding-left: 1.5em;
  background-image: url(/resource/images/icon-arrow-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  color: #ffffff !important;
  text-decoration: none;
}

å .footer .footer-copyright {
  margin: 0;
  padding: 0;
  display: inline;
}

.footer .footer-nav-utility p.footer-page-navi {
  position: fixed;
  width: auto;
  bottom: 3em;
  right: 3em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 80;
}
@media (min-width: 1401px) {
  .footer .footer-nav-utility p.footer-page-navi {
    right: calc(( 100vw - 1401px ) / 2 + 3em);
  }
}
@media (max-width: 780px) {
  .footer .footer-nav-utility p.footer-page-navi {
    right: 30px;
    bottom: 30px;
  }
}
@media (max-width: 440px) {
  .footer .footer-nav-utility p.footer-page-navi {
    right: 20px;
    bottom: 20px;
  }
}
.footer .footer-nav-utility p.footer-page-navi.hide {
  bottom: -80px;
}
.footer .footer-nav-utility p.footer-page-navi a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 4px #ffffff solid;
  width: 5em;
  height: 5em;
  border-radius: 3em;
  background: #d6000f;
  font-family: "Noto Sans JP";
  font-weight: 600;
  font-size: 120%;
  color: #ffffff !important;
  text-decoration: none;
}
.footer .footer-nav-utility p.footer-page-navi a .footer-page-navi-inner {
  display: block;
  width: 6em;
  text-align: center;
}
.footer .footer-nav-utility p.footer-page-navi a:hover {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background: rgba(214, 0, 15, 0.99);
  text-decoration: none !important;
  color: rgba(214, 0, 15, 0.75);
}
@media (max-width: 780px) {
  .footer .footer-nav-utility p.footer-page-navi a {
    width: 4.5em;
    height: 4.5em;
  }
}
@media (max-width: 440px) {
  .footer .footer-nav-utility p.footer-page-navi a {
    width: 4em;
    height: 4em;
  }
}

/* 共通マージン 単位em */
/* たしてheight: 5.75em;*/
/*$maru-go: "新丸ゴ M" ,"Shin Maru Go Medium"; モリサワ*/
.vegas-overlay,
.vegas-content-scrollable,
.vegas-timer,
.vegas-slide,
.vegas-slide-inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  border: none;
  padding: 0;
  margin: 0;
}

.vegas-content-scrollable {
  position: relative;
  height: 100%;
  overflow: auto;
}

.vegas-overlay {
  opacity: 0.5;
  background: transparent url("./overlays/02.png") center center repeat;
}

.vegas-timer {
  top: auto;
  bottom: 0;
  height: 2px;
}

.vegas-timer-progress {
  width: 0%;
  height: 100%;
  background: white;
  -webkit-transition: width ease-out;
  transition: width ease-out;
}

.vegas-timer-running .vegas-timer-progress {
  width: 100%;
}

.vegas-slide,
.vegas-slide-inner {
  margin: 0;
  padding: 0;
  background: transparent center center no-repeat;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform, opacity;
}

body .vegas-container {
  overflow: hidden !important;
  position: relative;
}

.vegas-video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
}

body.vegas-container {
  overflow: auto;
  position: static;
  z-index: -2;
}

body.vegas-container > .vegas-timer,
body.vegas-container > .vegas-overlay,
body.vegas-container > .vegas-slide {
  position: fixed;
  z-index: -1;
}

/* Target Safari IOS7+ in order to add 76px */
/*******************************************/
/* blur transition */
/*******************************************/
.vegas-transition-blur,
.vegas-transition-blur2 {
  opacity: 0;
  -webkit-filter: blur(32px) brightness(1.01);
          filter: blur(32px) brightness(1.01);
}

.vegas-transition-blur-in,
.vegas-transition-blur2-in {
  opacity: 1;
  -webkit-filter: blur(0px) brightness(1.01);
          filter: blur(0px) brightness(1.01);
}

.vegas-transition-blur2-out {
  opacity: 0;
}

/*******************************************/
/* burn transition */
/*******************************************/
.vegas-transition-burn,
.vegas-transition-burn2 {
  opacity: 0;
  -webkit-filter: contrast(1000%) saturate(1000%);
          filter: contrast(1000%) saturate(1000%);
}

.vegas-transition-burn-in,
.vegas-transition-burn2-in {
  opacity: 1;
  -webkit-filter: contrast(100%) saturate(100%);
          filter: contrast(100%) saturate(100%);
}

.vegas-transition-burn2-out {
  opacity: 0;
  -webkit-filter: contrast(1000%) saturate(1000%);
          filter: contrast(1000%) saturate(1000%);
}

/*******************************************/
/* fade transition */
/*******************************************/
.vegas-transition-fade,
.vegas-transition-fade2 {
  opacity: 0;
}

.vegas-transition-fade-in,
.vegas-transition-fade2-in {
  opacity: 1;
}

.vegas-transition-fade2-out {
  opacity: 0;
}

/*******************************************/
/* flash transition */
/*******************************************/
.vegas-transition-flash,
.vegas-transition-flash2 {
  opacity: 0;
  -webkit-filter: brightness(25);
          filter: brightness(25);
}

.vegas-transition-flash-in,
.vegas-transition-flash2-in {
  opacity: 1;
  -webkit-filter: brightness(1);
          filter: brightness(1);
}

.vegas-transition-flash2-out {
  opacity: 0;
  -webkit-filter: brightness(25);
          filter: brightness(25);
}

/*******************************************/
/* negative transition */
/*******************************************/
.vegas-transition-negative,
.vegas-transition-negative2 {
  opacity: 0;
  -webkit-filter: invert(100%);
          filter: invert(100%);
}

.vegas-transition-negative-in,
.vegas-transition-negative2-in {
  opacity: 1;
  -webkit-filter: invert(0);
          filter: invert(0);
}

.vegas-transition-negative2-out {
  opacity: 0;
  -webkit-filter: invert(100%);
          filter: invert(100%);
}

/*******************************************/
/* slideDown transition */
/*******************************************/
.vegas-transition-slideDown,
.vegas-transition-slideDown2 {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.vegas-transition-slideDown-in,
.vegas-transition-slideDown2-in {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

.vegas-transition-slideDown2-out {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

/*******************************************/
/* slideLeft transition */
/*******************************************/
.vegas-transition-slideLeft,
.vegas-transition-slideLeft2 {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.vegas-transition-slideLeft-in,
.vegas-transition-slideLeft2-in {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}

.vegas-transition-slideLeft2-out {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

/*******************************************/
/* slideRight transition */
/*******************************************/
.vegas-transition-slideRight,
.vegas-transition-slideRight2 {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.vegas-transition-slideRight-in,
.vegas-transition-slideRight2-in {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}

.vegas-transition-slideRight2-out {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

/*******************************************/
/* slideUp transition */
/*******************************************/
.vegas-transition-slideUp,
.vegas-transition-slideUp2 {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.vegas-transition-slideUp-in,
.vegas-transition-slideUp2-in {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

.vegas-transition-slideUp2-out {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

/*******************************************/
/* swirlLeft transition */
/*******************************************/
.vegas-transition-swirlLeft,
.vegas-transition-swirlLeft2 {
  -webkit-transform: scale(2) rotate(35deg);
          transform: scale(2) rotate(35deg);
  opacity: 0;
}

.vegas-transition-swirlLeft-in,
.vegas-transition-swirlLeft2-in {
  -webkit-transform: scale(1) rotate(0deg);
          transform: scale(1) rotate(0deg);
  opacity: 1;
}

.vegas-transition-swirlLeft2-out {
  -webkit-transform: scale(2) rotate(-35deg);
          transform: scale(2) rotate(-35deg);
  opacity: 0;
}

/*******************************************/
/* swirlRight transition */
/*******************************************/
.vegas-transition-swirlRight,
.vegas-transition-swirlRight2 {
  -webkit-transform: scale(2) rotate(-35deg);
          transform: scale(2) rotate(-35deg);
  opacity: 0;
}

.vegas-transition-swirlRight-in,
.vegas-transition-swirlRight2-in {
  -webkit-transform: scale(1) rotate(0deg);
          transform: scale(1) rotate(0deg);
  opacity: 1;
}

.vegas-transition-swirlRight2-out {
  -webkit-transform: scale(2) rotate(35deg);
          transform: scale(2) rotate(35deg);
  opacity: 0;
}

/*******************************************/
/* zoomIn transition */
/*******************************************/
.vegas-transition-zoomIn,
.vegas-transition-zoomIn2 {
  -webkit-transform: scale(0);
          transform: scale(0);
  opacity: 0;
}

.vegas-transition-zoomIn-in,
.vegas-transition-zoomIn2-in {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.vegas-transition-zoomIn2-out {
  -webkit-transform: scale(2);
          transform: scale(2);
  opacity: 0;
}

/*******************************************/
/* zoomOut transition */
/*******************************************/
.vegas-transition-zoomOut,
.vegas-transition-zoomOut2 {
  -webkit-transform: scale(2);
          transform: scale(2);
  opacity: 0;
}

.vegas-transition-zoomOut-in,
.vegas-transition-zoomOut2-in {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.vegas-transition-zoomOut2-out {
  -webkit-transform: scale(0);
          transform: scale(0);
  opacity: 0;
}

/*******************************************/
/* kenburns animation */
/*******************************************/
.vegas-animation-kenburns {
  -webkit-animation: kenburns ease-out;
  animation: kenburns ease-out;
}

@-webkit-keyframes kenburns {
  0% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes kenburns {
  0% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/*******************************************/
/* kenburnsDownLeft animation */
/*******************************************/
.vegas-animation-kenburnsDownLeft {
  -webkit-animation: kenburnsDownLeft ease-out;
  animation: kenburnsDownLeft ease-out;
}

@-webkit-keyframes kenburnsDownLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, -10%);
            transform: scale(1.5) translate(10%, -10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsDownLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, -10%);
            transform: scale(1.5) translate(10%, -10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsDownRight animation */
/*******************************************/
.vegas-animation-kenburnsDownRight {
  -webkit-animation: kenburnsDownRight ease-out;
  animation: kenburnsDownRight ease-out;
}

@-webkit-keyframes kenburnsDownRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, -10%);
            transform: scale(1.5) translate(-10%, -10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsDownRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, -10%);
            transform: scale(1.5) translate(-10%, -10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsDown animation */
/*******************************************/
.vegas-animation-kenburnsDown {
  -webkit-animation: kenburnsDown ease-out;
  animation: kenburnsDown ease-out;
}

@-webkit-keyframes kenburnsDown {
  0% {
    -webkit-transform: scale(1.5) translate(0, -10%);
            transform: scale(1.5) translate(0, -10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsDown {
  0% {
    -webkit-transform: scale(1.5) translate(0, -10%);
            transform: scale(1.5) translate(0, -10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsLeft animation */
/*******************************************/
.vegas-animation-kenburnsLeft {
  -webkit-animation: kenburnsLeft ease-out;
  animation: kenburnsLeft ease-out;
}

@-webkit-keyframes kenburnsLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 0);
            transform: scale(1.5) translate(10%, 0);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 0);
            transform: scale(1.5) translate(10%, 0);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsRight animation */
/*******************************************/
.vegas-animation-kenburnsRight {
  -webkit-animation: kenburnsRight ease-out;
  animation: kenburnsRight ease-out;
}

@-webkit-keyframes kenburnsRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 0);
            transform: scale(1.5) translate(-10%, 0);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 0);
            transform: scale(1.5) translate(-10%, 0);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsUpLeft animation */
/*******************************************/
.vegas-animation-kenburnsUpLeft {
  -webkit-animation: kenburnsUpLeft ease-out;
  animation: kenburnsUpLeft ease-out;
}

@-webkit-keyframes kenburnsUpLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 10%);
            transform: scale(1.5) translate(10%, 10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsUpLeft {
  0% {
    -webkit-transform: scale(1.5) translate(10%, 10%);
            transform: scale(1.5) translate(10%, 10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsUpRight animation */
/*******************************************/
.vegas-animation-kenburnsUpRight {
  -webkit-animation: kenburnsUpRight ease-out;
  animation: kenburnsUpRight ease-out;
}

@-webkit-keyframes kenburnsUpRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 10%);
            transform: scale(1.5) translate(-10%, 10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsUpRight {
  0% {
    -webkit-transform: scale(1.5) translate(-10%, 10%);
            transform: scale(1.5) translate(-10%, 10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/*******************************************/
/* kenburnsUp animation */
/*******************************************/
.vegas-animation-kenburnsUp {
  -webkit-animation: kenburnsUp ease-out;
  animation: kenburnsUp ease-out;
}

@-webkit-keyframes kenburnsUp {
  0% {
    -webkit-transform: scale(1.5) translate(0, 10%);
            transform: scale(1.5) translate(0, 10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
@keyframes kenburnsUp {
  0% {
    -webkit-transform: scale(1.5) translate(0, 10%);
            transform: scale(1.5) translate(0, 10%);
  }
  100% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
}
/* 共通マージン 単位em */
/* たしてheight: 5.75em;*/
/*$maru-go: "新丸ゴ M" ,"Shin Maru Go Medium"; モリサワ*/
.home-bg-vegas {
  position: fixed !important;
  width: 100%;
  height: calc(100vh - 100px);
  z-index: -10;
  top: 100px;
  left: 0;
  -webkit-perspective: 1000;
          perspective: 1000;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
}
@media (min-width: 1401px) {
  .home-bg-vegas {
    max-width: 1400px;
    left: calc(( 100% - 1400px ) / 2);
  }
}
@media (max-width: 440px) {
  .home-bg-vegas {
    height: calc(100vh - 70px);
    top: 70px;
  }
}

.home-top-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
}
@media (min-width: 781px) {
  .home-top-outer {
    max-height: 100vw;
  }
}
@media (min-width: 1401px) {
  .home-top-outer {
    margin-left: calc(( 100% - 1400px ) / 2);
    max-width: 1400px;
  }
}

.home-top {
  padding: 0;
  width: 100%;
  height: 100%;
  z-index: -10;
}
@media (min-width: 781px) {
  .home-top {
    max-height: 100vw;
  }
}
.home-top .homoso-logo-pc,
.home-top .homoso-logo-sp,
.home-top .homoso-photo {
  position: absolute;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.home-top .homoso-logo-pc {
  width: 56%;
  height: auto;
  right: 0;
  bottom: 0;
  z-index: 100;
  -webkit-perspective: 1000;
          perspective: 1000;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation: homoso-logo-pc-anime 0.3s ease-in-out 0s 1 forwards;
          animation: homoso-logo-pc-anime 0.3s ease-in-out 0s 1 forwards;
}
@-webkit-keyframes homoso-logo-pc-anime {
  0% {
    bottom: -20%;
  }
}
@keyframes homoso-logo-pc-anime {
  0% {
    bottom: -20%;
  }
}
@media (max-width: 780px) and (min-width: 441px) {
  .home-top .homoso-logo-pc {
    width: 100%;
  }
}
@media (max-width: 780px) {
  .home-top .homoso-logo-pc {
    display: none;
  }
}
.home-top .homoso-logo-sp {
  height: auto;
  z-index: 100;
  -webkit-perspective: 1000;
          perspective: 1000;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation: homoso-logo-sp-anime 0.3s ease-in-out 0s 1 forwards;
          animation: homoso-logo-sp-anime 0.3s ease-in-out 0s 1 forwards;
}
@-webkit-keyframes homoso-logo-sp-anime {
  0% {
    bottom: -20%;
  }
}
@keyframes homoso-logo-sp-anime {
  0% {
    bottom: -20%;
  }
}
@media (min-width: 781px) {
  .home-top .homoso-logo-sp {
    display: none;
  }
}
@media (max-width: 780px) and (min-width: 611px) {
  .home-top .homoso-logo-sp {
    width: 90%;
    max-width: 540px;
    right: 0%;
    bottom: 0%;
  }
}
@media (max-width: 610px) and (min-width: 441px) {
  .home-top .homoso-logo-sp {
    width: 90%;
    left: 5%;
    bottom: 0%;
  }
}
@media (max-width: 440px) {
  .home-top .homoso-logo-sp {
    width: 100%;
    left: 0;
    bottom: 0;
  }
}
.home-top .homoso-photo {
  width: 56%;
  height: auto;
  left: -5%;
  bottom: -5%;
  z-index: 50;
  -webkit-animation: homoso-photo-anime 0.5s ease-in-out 0s 1 forwards;
          animation: homoso-photo-anime 0.5s ease-in-out 0s 1 forwards;
  -webkit-perspective: 1000;
          perspective: 1000;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@-webkit-keyframes homoso-photo-anime {
  0% {
    left: -100%;
  }
}
@keyframes homoso-photo-anime {
  0% {
    left: -100%;
  }
}
@media (max-width: 780px) and (min-width: 441px) {
  .home-top .homoso-photo {
    width: 115%;
    left: -16%;
    bottom: 12%;
  }
}
@media (max-width: 440px) {
  .home-top .homoso-photo {
    width: 130%;
    left: -24%;
    bottom: 12%;
  }
}
.home-top .homoso-photo .logo-sp {
  display: none;
}
@media (max-width: 440px) {
  .home-top .homoso-photo .logo-sp {
    display: inherit;
    width: 100%;
    height: auto;
    margin-bottom: 7vh;
  }
  .home-top .homoso-photo .logo-pc {
    display: none;
  }
}
.home-top p {
  letter-spacing: 0.05em;
  text-align: left;
  margin: 0 0 1em 0;
}
@media (min-width: 441px) {
  .home-top p br {
    display: none;
  }
}
@media (max-width: 1000px) and (min-width: 781px) {
  .home-top p {
    font-size: 1.6vw;
  }
}

/* 共通マージン 単位em */
/* たしてheight: 5.75em;*/
/*$maru-go: "新丸ゴ M" ,"Shin Maru Go Medium"; モリサワ*/
.recipe-bg-vegas {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: fixed !important;
  width: 100%;
  margin-top: 100px;
  height: calc(90vh - 160px);
  z-index: -10;
  top: 0;
  left: 0;
}
@media (min-width: 1401px) {
  .recipe-bg-vegas {
    max-width: 1400px;
    left: calc(( 100% - 1400px ) / 2);
  }
}
@media (max-width: 780px) {
  .recipe-bg-vegas {
    height: 85vw;
  }
}
@media (max-width: 440px) {
  .recipe-bg-vegas {
    margin-top: 70px;
    height: calc(100vw - 24px + 70px);
  }
}

.all-section-ouer-recipe {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: calc(90vh - 160px);
  border: 1px #ffffff solid;
  overflow: hidden;
  padding: 4em 0 0 0;
  background-color: #ffffff;
  background-image: url(/resource/images/recipe-moji-03.svg);
  background-repeat: no-repeat;
  background-size: calc(100% - 20px) auto;
  background-position: center top;
}
@media (max-width: 780px) {
  .all-section-ouer-recipe {
    margin-top: 85vw;
    background-image: url(/resource/images/recipe-moji-02.svg);
  }
}
@media (max-width: 440px) {
  .all-section-ouer-recipe {
    background-image: url(/resource/images/recipe-moji-01.svg);
    margin-top: calc(100vw - 24px + 70px);
  }
}

.recipe-04 .all-section-ouer-recipe {
  background-image: url(/resource/images/recipe-moji-outdoor-03.svg);
}
@media (max-width: 780px) {
  .recipe-04 .all-section-ouer-recipe {
    background-image: url(/resource/images/recipe-moji-outdoor-02.svg);
  }
}
@media (max-width: 440px) {
  .recipe-04 .all-section-ouer-recipe {
    background-image: url(/resource/images/recipe-moji-outdoor-01.svg);
  }
}

.recipe-main-photo {
  position: fixed;
  line-height: 0;
}
@media (max-width: 440px) {
  .recipe-main-photo {
    padding-top: 0px;
  }
}
.recipe-main-photo .recipe-main-photo-inner {
  width: 100%;
  height: calc(100vh - 200px);
  max-height: 65vw;
  overflow: hidden;
}
.recipe-main-photo .recipe-main-photo-inner img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media (max-width: 780px) {
  .recipe-main-photo .recipe-main-photo-inner {
    height: calc(100vw + 100px);
    min-height: 70vh;
  }
  .recipe-main-photo .recipe-main-photo-inner img {
    width: 140%;
    margin-left: -20%;
    margin-right: -20%;
  }
}
@media (max-width: 440px) {
  .recipe-main-photo .recipe-main-photo-inner {
    height: calc(100vw + 70px);
    min-height: 50vh;
  }
}

.flex-recipe {
  margin: 0 auto;
  width: 100%;
  max-width: 920px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.flex-recipe .flex-recipe-zairyou {
  text-align: center;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 35%;
}
@media (min-width: 781px) {
  .flex-recipe .flex-recipe-zairyou {
    padding-right: 2.5%;
  }
}
.flex-recipe .flex-recipe-tejyun {
  text-align: center;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 60%;
}
@media (min-width: 781px) {
  .flex-recipe .flex-recipe-tejyun {
    padding-left: 2.5%;
  }
}
@media (max-width: 780px) {
  .flex-recipe {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .flex-recipe .flex-recipe-zairyou {
    width: 75%;
  }
  .flex-recipe .flex-recipe-tejyun {
    width: auto;
  }
}
@media (max-width: 440px) {
  .flex-recipe .flex-recipe-zairyou {
    width: 85%;
  }
  .flex-recipe .flex-recipe-tejyun {
    width: auto;
  }
}
@media (max-width: 440px) {
  .flex-recipe .graph {
    display: none;
  }
}

.recipe-eiyou {
  margin: 0 auto;
  width: 100%;
  max-width: 886px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
}
.recipe-eiyou .eiyou-01,
.recipe-eiyou .eiyou-02 {
  height: auto;
}
.recipe-eiyou .eiyou-01 img,
.recipe-eiyou .eiyou-02 img {
  width: 100%;
  height: auto;
}
.recipe-eiyou .eiyou-01 {
  width: 58.24%;
}
.recipe-eiyou .eiyou-02 {
  width: 41.76%;
}
@media (max-width: 780px) {
  .recipe-eiyou {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .recipe-eiyou .eiyou-01,
.recipe-eiyou .eiyou-02 {
    width: 100%;
  }
  .recipe-eiyou .eiyou-01 {
    text-align: right;
  }
  .recipe-eiyou .eiyou-01 img {
    width: 90%;
    max-width: 520px;
    margin-bottom: 0.2em;
  }
  .recipe-eiyou .eiyou-02 {
    text-align: left;
  }
  .recipe-eiyou .eiyou-02 img {
    width: 60%;
    max-width: 380px;
  }
}
@media (max-width: 780px) {
  .recipe-eiyou {
    margin: 0px -36px;
    width: calc(100% + 72px);
  }
}
@media (max-width: 440px) {
  .recipe-eiyou {
    margin: 0px -26px;
    width: calc(100% + 52px);
  }
}

dl.recipe-table {
  display: block;
  margin: 0 auto;
  width: 100%;
  text-indent: 0;
  text-align: left;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 子要素のdtとddを横並びにする */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
dl.recipe-table dt {
  margin: 0;
  width: 10em;
  padding: 1.4em 0;
}
dl.recipe-table dd {
  position: relative;
  text-align: right;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.4em 0;
  width: calc(100% - 10em);
}
dl.recipe-table dd:after {
  position: absolute;
  right: 0;
  bottom: -2px;
  content: "";
  width: calc(100% + 10em);
  height: 1px;
  border-bottom: 5px #bfbfbf dotted;
}
@media (max-width: 780px) {
  dl.recipe-table dd:after {
    border-bottom-width: 4px;
  }
}
@media (max-width: 440px) {
  dl.recipe-table dd:after {
    bottom: -1px;
    border-bottom-width: 3px;
  }
}
dl.recipe-table.tejyun dt {
  padding: 1.2em 0 0 0;
  width: 3em;
}
dl.recipe-table.tejyun dt .number {
  display: block;
  width: 2em;
  height: 2em;
  color: #ffffff;
  font-family: "Noto Sans JP";
  font-weight: 800;
  font-size: 100%;
  line-height: 2;
  text-align: center;
  background: #bfbfbf;
  border-radius: 1em;
}
dl.recipe-table.tejyun dt .number.point {
  width: 5em;
}
dl.recipe-table.tejyun dt.point {
  width: 6em;
}
dl.recipe-table.tejyun dd {
  text-align: left;
  width: calc(100% - 3em);
}
dl.recipe-table.tejyun dd:after {
  width: calc(100% + 3em);
}
dl.recipe-table.tejyun dd.point {
  width: calc(100% - 6em);
}
dl.recipe-table.tejyun dd.point:after {
  width: calc(100% + 6em);
}

.recipe-medama-howto {
  width: 100%;
  max-width: 800px;
  height: auto;
}

.flex-recipe-menu {
  width: 85%;
  max-width: 900px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 900px) {
  .flex-recipe-menu {
    width: 100%;
  }
}
@media (max-width: 440px) {
  .flex-recipe-menu {
    width: 108%;
    margin-left: -4%;
    margin-right: -4%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.flex-recipe-menu a.recipe-menu-circle-link {
  padding: 0 2.5% 0 2.5%;
  position: relative;
  text-align: center;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 440px) {
  .flex-recipe-menu a.recipe-menu-circle-link {
    width: 47%;
    -ms-flex-preferred-size: 47%;
        flex-basis: 47%;
  }
}
.flex-recipe-menu a.recipe-menu-circle-link:hover img {
  opacity: 0.9;
}
.flex-recipe-menu a.recipe-menu-circle-link .recipe-circle-more {
  position: absolute;
  top: 62%;
  left: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flex-recipe-menu a.recipe-menu-circle-link .recipe-circle-more img {
  width: 80%;
  height: auto;
}
.flex-recipe-menu a.recipe-menu-circle-link:hover .recipe-circle-more img {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
  opacity: 0.9;
}

body.recipe-01 a.recipe-menu-circle-link.recipe-01,
body.recipe-02 a.recipe-menu-circle-link.recipe-02,
body.recipe-03 a.recipe-menu-circle-link.recipe-03,
body.recipe-04 a.recipe-menu-circle-link.recipe-04 {
  display: none;
}

.back-to-top img {
  width: 60%;
  max-width: 460px;
  min-width: 260px;
  height: auto;
}
.back-to-top:hover img {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.back-to-top .back-to-top-text {
  font-family: "Noto Sans JP";
  display: inline-block;
  color: #d6000f;
  font-size: 150%;
  font-weight: 800;
  line-height: 1.5;
  padding-left: 2em;
  background-image: url(/resource/images/icon-arrow-red-top.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
}

/* 共通マージン 単位em */
/* たしてheight: 5.75em;*/
/*$maru-go: "新丸ゴ M" ,"Shin Maru Go Medium"; モリサワ*/
.frame-button {
  position: fixed;
  background: #d6000f;
  font-family: "Noto Sans JP";
  font-weight: 600;
  font-size: 18px;
  color: #ffffff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 10000;
}
.frame-button .frame-button-text {
  position: absolute;
  display: block;
  padding: 0.6em 0 0.6em 0;
  text-transform: lowercase;
  text-decoration: none !important;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  top: 0.4em;
  left: 0.8em;
}

.frame-button.sns {
  bottom: 12vh;
  right: 0;
  padding: 4.2em 0.6em 0.8em 0.6em;
  border-top-left-radius: 1.4em;
  border-bottom-left-radius: 1.4em;
  -webkit-transform-origin: right top;
          transform-origin: right top;
}
@media (min-width: 1401px) {
  .frame-button.sns {
    right: calc(( 100% - 1400px ) / 2);
  }
}
@media (max-width: 780px) {
  .frame-button.sns {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
}
@media (max-width: 440px) {
  .frame-button.sns {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
}
@media (min-width: 1401px) {
  .frame-button.sns.display {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@media (min-width: 1401px) {
  .frame-button.sns.hide {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@media (max-width: 1400px) {
  .frame-button.sns.hide {
    right: -100px;
  }
}

.frame-button.scroll {
  top: 25vh;
  left: 0;
  padding: 3.8em 0.6em 0.6em 0.6em;
  border-top-right-radius: 1.4em;
  border-bottom-right-radius: 1.4em;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
@media (min-width: 1401px) {
  .frame-button.scroll {
    left: calc(( 100% - 1400px ) / 2);
  }
}
@media (max-width: 780px) {
  .frame-button.scroll {
    -webkit-transform: scale(0.8 0.5);
            transform: scale(0.8 0.5);
  }
}
@media (max-width: 440px) {
  .frame-button.scroll {
    top: 100px;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
}
.frame-button.scroll a.frame-button-arrow {
  color: #ffffff !important;
  display: block;
  width: 1.8em;
  text-align: center;
  padding: 0.4em 0 0 0;
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
.frame-button.scroll a.frame-button-arrow:hover img {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media (min-width: 1401px) {
  .frame-button.scroll.display {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@media (min-width: 1401px) {
  .frame-button.scroll.hide {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@media (max-width: 1400px) {
  .frame-button.scroll.hide {
    left: -100px;
  }
}

.sns-button-list {
  width: 1.8em;
}
.sns-button-list li {
  display: block;
  overflow: hidden;
  margin: 0 0 0.4em 0;
  width: 1.8em;
  height: 1.8em;
}
.sns-button-list li:hover {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.sns-button-list li:last-child {
  margin-bottom: 0;
}
.sns-button-list li a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -99em;
  overflow: hidden;
  border-radius: 1em;
  background-position: center center;
  background-size: 100%;
}
.sns-button-list li.facebook a {
  background-image: url(/resource/images/sns-icon-facebook.svg);
}
.sns-button-list li.twitter a {
  background-image: url(/resource/images/sns-icon-twitter.svg);
}
.sns-button-list li.line a {
  background-image: url(/resource/images/sns-icon-line.svg);
}

.sns-button-list.recipe {
  margin: 0 auto;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sns-button-list.recipe li {
  margin: 0 0.6em;
  width: 3.5em;
  height: 3.5em;
}
.sns-button-list.recipe li a {
  border-radius: 2em;
}
.sns-button-list.recipe li.facebook a {
  background-image: url(/resource/images/sns-icon-facebook-color.svg);
}
.sns-button-list.recipe li.twitter a {
  background-image: url(/resource/images/sns-icon-twitter-color.svg);
}
.sns-button-list.recipe li.line a {
  background-image: url(/resource/images/sns-icon-line-color.svg);
}

.section-title {
  padding: 0;
  font-family: "Noto Sans JP";
  font-weight: 800;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.section-title small {
  font-size: 75%;
}

.section-midashi {
  font-weight: 700;
  line-height: 1.4;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.section-midashi-gold {
  position: relative;
  display: inline-block;
  margin: 0 auto 2em auto;
  min-width: 8em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.section-midashi-gold:after {
  content: "";
  position: absolute;
  bottom: -0.8em;
  left: 0;
  width: 100%;
  height: 0.4em;
  background-image: url(/resource/images/midashi-underline-gold.jpg);
  background-size: cover;
  background-position: center center;
}

@media (max-width: 610px) {
  #section-04 .section-title,
#section-04 .section-midashi {
    text-align: center;
  }
}
.section-contents p,
.section-contents ul,
.section-contents ol {
  margin-bottom: 1em;
  line-height: 1.55;
}
.section-contents p:last-child,
.section-contents ul:last-child,
.section-contents ol:last-child {
  margin-bottom: 0;
}

p.honbun {
  line-height: 2;
}

.section-contents sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.section-contents ul,
.section-contents ol {
  text-align: justify;
  text-justify: auto;
}
.section-contents ul li,
.section-contents ol li {
  margin-bottom: 0.6em;
  text-align: left;
}
.section-contents ul li:last-child,
.section-contents ol li:last-child {
  margin-bottom: 0;
}

ul.contents-list li {
  text-indent: -1em;
  padding-left: 1em;
}
ul.contents-list li:last-child {
  margin-bottom: 0;
}

a.recipe-circle-link {
  position: relative;
  font-family: "Noto Sans JP";
  text-align: center;
}
a.recipe-circle-link img {
  line-height: 0;
  width: 92%;
}
a.recipe-circle-link .recipe-circle-caption {
  display: block;
  color: #803200;
  font-size: 85%;
  font-weight: 600;
  letter-spacing: 0;
}
a.recipe-circle-link .recipe-circle-more {
  display: inline-block;
  color: #d6000f;
  font-size: 150%;
  font-weight: 800;
  line-height: 1.5;
  padding-right: 1.4em;
  background-image: url(/resource/images/icon-arrow-red.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
}
a.recipe-circle-link:hover {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a.recipe-circle-link:hover img {
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
  opacity: 0.9;
}
a.recipe-circle-link:hover .recipe-circle-caption {
  text-decoration: underline !important;
}
a.recipe-circle-link:hover .recipe-circle-more {
  font-size: 200%;
  text-decoration: underline !important;
}