@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&display=swap");
.u-hide-pc {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .u-hide-pc {
    display: block !important;
  }

  .u-hide-sp {
    display: none !important;
  }
}
@media all and (min-width: 768px) {
  body.is-tonyusoft-nav-scrollOn .nav-tonyusoft__listwrap {
    position: fixed;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 100;
    animation-name: tonyusoft_nav;
    animation-duration: 0.3s;
    animation-delay: 0;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
}
@media screen and (max-width: 767px) {
  body.is-tonyusoft-nav-sp-open .nav-tonyusoft {
    top: 0;
  }
  body.is-tonyusoft-nav-sp-open .menu-button {
    background-color: #ffae00;
  }
  body.is-tonyusoft-nav-sp-open .menu-button__icon__line:first-child {
    top: 1.4em;
    transform: rotate(45deg);
  }
  body.is-tonyusoft-nav-sp-open .menu-button__icon__line:nth-child(2) {
    opacity: 0;
  }
  body.is-tonyusoft-nav-sp-open .menu-button__icon__line:nth-child(3) {
    top: 1.4em;
    transform: rotate(-45deg);
  }
  body.is-tonyusoft-nav-sp-open .menu-button__name__01 {
    opacity: 0;
  }
  body.is-tonyusoft-nav-sp-open .menu-button__name__02 {
    opacity: 1;
  }
}

.container-wrap {
  font-family: "Noto Sans JP", sans-serif;
  overflow-x: hidden;
  position: relative;
}

.menu-button {
  background-color: #f9e8d8;
  border-radius: 100%;
  width: 4.167em;
  height: 4.167em;
  box-shadow: 0px 0px 18px -7px #6e6e6e;
  position: fixed;
  top: 65px;
  right: 15px;
  z-index: 300;
}
@media all and (min-width: 768px) {
  .menu-button {
    display: none;
  }
}

.menu-button__icon__line {
  background-color: #000;
  width: 1.417em;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: 0.3s ease;
}
.menu-button__icon__line:first-child {
  top: 1em;
}
.menu-button__icon__line:nth-child(2) {
  top: 1.45em;
}
.menu-button__icon__line:nth-child(3) {
  top: 1.85em;
}

.menu-button__name__01,
.menu-button__name__02 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1em;
  margin: 0 auto;
  transition: 0.3s ease;
}

.menu-button__name__01 {
  width: 2.167em;
}

.menu-button__name__02 {
  width: 2.5em;
  opacity: 0;
}

.container-wrap-02 {
  background-image: url(../img/bg_tonyusoft_01_01_pc.jpg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  margin-top: -4.75vw;
}
@media screen and (max-width: 767px) {
  .container-wrap-02 {
    background-image: url(../img/bg_tonyusoft_01_01_sp.jpg);
    margin-top: -24.75vw;
  }
}

.c-section-title {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

.c-sectionInner {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .c-sectionInner {
    max-width: 96.167em;
  }
}
@media screen and (max-width: 767px) {
  .c-sectionInner {
    width: 88.66vw;
  }
}

.c-sectionInner-02 {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .c-sectionInner-02 {
    max-width: 89.167em;
  }
}
.c-sectionInner-03 {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .c-sectionInner-03 {
    max-width: 85.333em;
  }
}

.c-decoration {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
}
.c-decoration.decoration-01 {
  background-image: url(../img/common/decoration_01_pc.png);
  width: 8.833em;
  height: 14em;
  bottom: -10em;
}
@media all and (min-width: 768px) {
  .c-decoration.decoration-01 {
    left: auto;
    right: -5em;
  }
}
@media screen and (max-width: 767px) {
  .c-decoration.decoration-01 {
    width: 15.6vw;
    height: 24.66vw;
    left: auto;
    right: -4vw;
    bottom: -7vw;
  }
}
.c-decoration.decoration-02 {
  background-image: url(../img/common/decoration_02_pc.png);
  width: 12.75em;
  height: 14em;
  right: auto;
}
@media all and (min-width: 768px) {
  .c-decoration.decoration-02 {
    bottom: -14em;
    left: -5em;
  }
}
@media screen and (max-width: 767px) {
  .c-decoration.decoration-02 {
    width: 20vw;
    height: 21.866vw;
    left: -4vw;
    bottom: -25vw;
  }
}
.c-decoration.decoration-03 {
  background-image: url(../img/common/decoration_03_pc.png);
  width: 7.583em;
  height: 13em;
  right: 0;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .c-decoration.decoration-03 {
    top: -3.5em;
    left: 82em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .c-decoration.decoration-03 {
    width: 6.661vw;
    height: 11.42vw;
    top: -3.074vw;
    left: 71.888vw;
  }
}
@media screen and (max-width: 767px) {
  .c-decoration.decoration-03 {
    width: 10.266vw;
    height: 17.599vw;
    bottom: -5.333333333vw;
    right: 5vw;
    left: unset;
    transform: rotate(45deg);
  }
}
/* .c-decoration.decoration-04 {
  background-image: url(../img/deco_02_pc.png);
  width: 3.917em;
  height: 3.417em;
  top: 24.5em;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .c-decoration.decoration-04 {
    left: 0;
    right: 81.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .c-decoration.decoration-04 {
    width: 3.44vw;
    height: 3.001vw;
    top: 22.5vw;
    right: 71vw;
  }
}
@media screen and (max-width: 767px) {
  .c-decoration.decoration-04 {
    width: 6.4vw;
    height: 5.466vw;
    top: 70vw;
    left: -75vw;
    right: 0;
  }
} */
.c-decoration.decoration-04 {
  background-image: url(../img/deco_03_pc.png);
  margin: 0 auto;
  bottom: unset;
  top: 0;
}
@media all and (min-width: 768px) {
  .c-decoration.decoration-04 {
    top: 22.333333333em;
    left: 19.666666667em;
    width: 5.583333333em;
    height: 4.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .c-decoration.decoration-04 {
    width: 4.926470588vw;
    height: 3.970588235vw;
    top: 19.705882353vw;
    left: 17.352941176vw;
  }
}
@media screen and (max-width: 767px) {
  .c-decoration.decoration-04 {
    width: 11.866666667vw;
    height: 9.466666667vw;
    top: 55.866666667vw;
    left: 9.733333333vw;

  }
}
.c-decoration.decoration-06 {
  background-image: url(../img/common/decoration_04_pc.png);
  width: 11.833em;
  height: 16.167em;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .c-decoration.decoration-06 {
    top: 40.25em;
    left: 0;
    right: 100em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .c-decoration.decoration-06 {
    top: 36vw;
  }
}
@media screen and (max-width: 767px) {
  .c-decoration.decoration-06 {
    width: 14.933vw;
    height: 20.4vw;
    bottom: -10.5vw;
    left: 3vw;
  }
}

.hero {
  position: relative;
}
.hero .c-sectionInner {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .hero .c-sectionInner {
    width: auto;
  }
}

.hero-image img {
  width: 100%;
}

.hero__text {
  height: auto;
}
@media all and (min-width: 768px) {
  .hero__text {
    width: 46.833em;
    height: 52.583em;
    position: absolute;
    top: 0;
    left: -51em;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .hero__text {
    width: 33.142vw;
    height: 39.193vw;
    left: -37vw;
  }
}
@media screen and (max-width: 767px) {
  .hero__text {
    width: 78vw;
    margin-top: 6vw;
    margin-left: auto;
    margin-right: auto;
  }
}

@media all and (min-width: 768px) {
  .nav-tonyusoft {
    padding-top: 14em;
  }
}
@media screen and (max-width: 767px) {
  .nav-tonyusoft {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 200;
    transition: top 0.6s ease;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft {
    padding-top: 9.882vw;
  }
}
@media all and (min-width: 768px) {
  .nav-tonyusoft .c-sectionInner {
    height: 6.167em;
  }
}
@media screen and (max-width: 767px) {
  .nav-tonyusoft .c-sectionInner {
    width: 100%;
    height: 100%;
  }
}

.nav-tonyusoft__listwrap {
  background-color: #f9e8d8;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__listwrap {
    border-radius: 3.083em;
    box-shadow: 0px 0px 27px -16px #6e6e6e;
    width: 80em;
    height: 6.167em;
    transition: 0.3s ease;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft__listwrap {
    width: 70.278vw;
  }
}
@media screen and (max-width: 767px) {
  .nav-tonyusoft__listwrap {
    padding-top: calc(20vw + 51px);
    padding-left: 10vw;
    padding-right: 10vw;
    transition: 0.3s ease;
    height: 100%;
    overflow: hidden;
  }
}

@media all and (min-width: 768px) {
  .nav-tonyusoft__list {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
}

.nav-tonyusoft__list__item {
  position: relative;
  box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .nav-tonyusoft__list__item:before {
    content: "";
    background-size: 100% auto;
    background-position: top left;
    background-repeat: no-repeat;
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto 0;
  }
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__list__item + .nav-tonyusoft__list__item {
    padding-left: 5em;
    margin-left: 5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft__list__item + .nav-tonyusoft__list__item {
    padding-left: 3.465vw;
    margin-left: 3.465vw;
  }
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__list__item + .nav-tonyusoft__list__item:before {
    content: "";
    background-color: #000;
    display: block;
    width: 1px;
    height: 1.833em;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
  }
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__list__item.item-01 {
    width: 12.583em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft__list__item.item-01 {
    width: 12.98vw;
  }
}
.nav-tonyusoft__list__item.item-01:before {
  background-image: url(../img/bg_border_03_sp.png);
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__list__item.item-02 {
    width: 3.833em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft__list__item.item-02 {
    width: 4.294vw;
  }
}
.nav-tonyusoft__list__item.item-02:before {
  background-image: url(../img/bg_border_04_sp.png);
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__list__item.item-03 {
    width: 8.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft__list__item.item-03 {
    width: 9.467vw;
  }
}
.nav-tonyusoft__list__item.item-03:before {
  background-image: url(../img/bg_border_05_sp.png);
}
@media all and (min-width: 768px) {
  .nav-tonyusoft__list__item.item-04 {
    width: 5.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .nav-tonyusoft__list__item.item-04 {
    width: 6.099vw;
  }
}
.nav-tonyusoft__list__item.item-04:before {
  background-image: url(../img/bg_border_06_sp.png);
}

@media all and (min-width: 768px) {
  .nav-tonyusoft__bannerlist {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .nav-tonyusoft__bannerlist {
    display: flex;
    margin-top: 3.25em;
  }
}

@media screen and (max-width: 767px) {
  .nav-tonyusoft__bannerlist__item {
    width: 38.666vw;
    margin-left: 2.8vw;
  }
}
@media screen and (max-width: 767px) {
  .nav-tonyusoft__bannerlist__item:first-child {
    margin-left: 0;
  }
}

@media all and (min-width: 768px) {
  .howto {
    padding-bottom: 10.333em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .howto {
    padding-bottom: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .howto {
    padding-top: 38vw;
    padding-bottom: 6.417em;
  }
}
.howto-box {
  display: flex;
  margin-top: 7.667em;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .howto-box {
    width: 92.833em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .howto-box {
    width: 80.673vw;
    margin-top: 6.808vw;
  }
}
@media screen and (max-width: 767px) {
  .howto-box {
    flex-direction: column;
    margin-top: 0;
  }
}

.howto-box-photo {
  position: relative;
}
@media all and (min-width: 768px) {
  .howto-box-photo {
    width: 45.75em;
    order: 1;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .howto-box-photo {
    width: 37.19vw;
  }
}
@media screen and (max-width: 767px) {
  .howto-box-photo {
    width: 80vw;
    margin-top: 4.25em;
    margin-left: auto;
    margin-right: auto;
  }
}

.howto-box-photo-decoration {
  position: absolute;
}
@media all and (min-width: 768px) {
  .howto-box-photo-decoration {
    width: 26.917em;
    top: 2.5em;
    left: -7.667em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .howto-box-photo-decoration {
    width: 23.645vw;
    top: 1.864vw;
    left: -6.6vw;
  }
}
@media screen and (max-width: 767px) {
  .howto-box-photo-decoration {
    width: 57.99vw;
    top: 6vw;
    left: -4vw;
  }
}

@media all and (min-width: 768px) {
  .howto-box-contents {
    padding-top: 1.25em;
    width: 40.083em;
    margin-left: 6.667em;
    order: 2;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .howto-box-contents {
    padding-top: 0.66vw;
    margin-left: 4.783vw;
  }
}

@media all and (min-width: 768px) {
  .howto-title {
    width: 29.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .howto-title {
    width: 29vw;
  }
}
@media screen and (max-width: 767px) {
  .howto-title {
    width: 63.6vw;
    margin-left: auto;
    margin-right: auto;
  }
}

@media all and (min-width: 768px) {
  .howto-text {
    margin-top: 3.167em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .howto-text {
    margin-top: 3.66vw;
  }
}
@media screen and (max-width: 767px) {
  .howto-text {
    margin-top: 6vw;
  }
}

.howto-text__inner {
  font-size: 1.333em;
  line-height: 2;
  letter-spacing: 0.025em;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .howto-text__inner {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 767px) {
  .howto-text__inner {
    font-size: 3.7vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
  .howto-text__inner br {
    display: none;
  }
}

.howto-aside {
  font-size: 1em;
  letter-spacing: 0.015em;
  margin-top: 2.5em;
}
@media screen and (max-width: 767px) {
  .howto-aside {
    font-size: 0.833em;
  }
}
.howto-aside:before {
  content: "※";
}

@media all and (min-width: 768px) {
  .howto-button {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .howto-button {
    margin-top: 3em;
  }
}

.feature {
  background-image: url(../img/bg_tonyusoft_01_02_pc.png);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  padding-top: 9em;
  padding-bottom: 11.083em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .feature {
    padding-top: 6.368vw;
    padding-bottom: 6.368vw;
  }
}
@media screen and (max-width: 767px) {
  .feature {
    background-image: url(../img/bg_tonyusoft_01_02_sp.png);
    padding-top: 8vw;
    padding-bottom: 18vw;
  }
}

.feature-title {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .feature-title {
    width: 33.417em;
    position: relative;
    left: 3em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .feature-title {
    width: 29.355vw;
    left: 2.635vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-title {
    width: 70.266vw;
    position: relative;
    left: 4vw;
  }
}

.feature-list {
  margin-top: 1.9em;
}
@media all and (min-width: 768px) {
  .feature-list {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list {
    margin-top: 1.464vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list {
    margin-top: 1.5em;
  }
}

.feature-list__item {
  position: relative;
}
@media all and (min-width: 768px) {
  .feature-list__item {
    width: 25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item {
    width: 21.961vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item .c-tonyusoft-aside {
    text-align: center;
  }
}
@media all and (min-width: 768px) {
  .feature-list__item + .feature-list__item {
    margin-left: 4.833em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item + .feature-list__item {
    margin-left: 4.465vw;
  }
}
.feature-list__item.item-01 {
  padding-top: 2.8em;
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-01 {
    padding-top: 2.708vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-01 {
    padding-top: 6vw;
  }
}
@media all and (min-width: 768px) {
  .feature-list__item.item-01 .feature-list__name {
    width: 6.667em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-01 .feature-list__name {
    width: 5.856vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-01 .feature-list__name {
    width: 16.13vw;
  }
}
@media all and (min-width: 1025px) {
  .feature-list__item.item-01 .feature-box-title:before {
    width: 21.833em;
    height: 2.833em;
    left: 0.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-01 .feature-box-title:before {
    width: 21.18vw;
    height: 3.489vw;
    left: 1vw;
    bottom: -0.25vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-01 .feature-box-title:before {
    background-image: url(../img/bg_border_01_sp.png);
    width: 59.733vw;
    height: 6.221vw;
    bottom: 0.5vw;
  }
}
.feature-list__item.item-02 {
  padding-top: 1.833em;
  margin-top: 4em;
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-02 {
    padding-top: 1.61vw;
    margin-top: 3.513vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-02 {
    padding-top: 5vw;
  }
}
@media all and (min-width: 768px) {
  .feature-list__item.item-02 .feature-list__name {
    width: 5.6em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-02 .feature-list__name {
    width: 12.298vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-02 .feature-list__name {
    width: 15.5vw;
  }
}
@media all and (min-width: 768px) {
  .feature-list__item.item-02 .feature-box-title:before {
    background-image: url(../img/bg_border_01_02_pc.png);
    width: 20.917em;
    height: 2.5em;
    left: 1em;
    bottom: 0.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-02 .feature-box-title:before {
    width: 19.374vw;
    height: 3.196vw;
    left: 1.5vw;
    bottom: 0.1vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-02 .feature-box-title:before {
    background-image: url(../img/bg_border_01_02_sp.png);
    width: 55.199vw;
    height: 7.066vw;
    bottom: 1.25vw;
  }
}
.feature-list__item.item-03 {
  padding-top: 2.25em;
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-03 {
    padding-top: 2.708vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-03 {
    padding-top: 4.2vw;
    margin-top: 4em;
  }
}
@media all and (min-width: 768px) {
  .feature-list__item.item-03 .feature-list__name {
    width: 10.917em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-03 .feature-list__name {
    width: 9.59vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-03 .feature-list__name {
    width: 26.13vw;
  }
}
@media all and (min-width: 768px) {
  .feature-list__item.item-03 .feature-box-title:before {
    background-image: url(../img/bg_border_01_03_pc.png);
    width: 20em;
    height: 2.167em;
    left: 1.25em;
    bottom: 0.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-list__item.item-03 .feature-box-title:before {
    width: 18.569vw;
    height: 2.903vw;
    left: 2vw;
    bottom: -0.1vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-list__item.item-03 .feature-box-title:before {
    background-image: url(../img/bg_border_01_03_sp.png);
    width: 60.266vw;
    height: 7.8vw;
    bottom: 0.5vw;
  }
}

.feature-list__name {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .feature-list__photo {
    width: 60.133vw;
    margin-left: auto;
    margin-right: auto;
  }
}

.feature-box {
  margin-top: 3.083em;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .feature-box {
    width: 22em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-box {
    width: 21.961vw;
    margin-top: 2.708vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-box {
    margin-top: 2.667em;
  }
}

.feature-box-title {
  padding-bottom: 1.25em;
  text-align: center;
  position: relative;
}
.feature-box-title:before {
  content: "";
  background-image: url(../img/bg_border_01_pc.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  bottom: 0;
  left: -0.5em;
}
@media all and (min-width: 768px) {
  .feature-box-title:before {
    width: 22.833em;
    height: 2.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-box-title:before {
    width: 23.18vw;
    height: 2.2vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-box-title:before {
    background-image: url(../img/bg_border_01_sp.png);
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
.feature-box-title span {
  font-size: 1.667em;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.015em;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-box-title span {
    font-size: 1.6vw;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .feature-box-title span {
    font-size: 4.75vw;
    line-height: 1.411;
  }
}

.feature-box-description {
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .feature-box-description {
    margin-top: 1.25em;
  }
}
.feature-box-description .in {
  font-size: 1.333em;
  line-height: 2;
  text-align: center;
  display: inline-block;
  letter-spacing: 0.015em;
}
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .feature-box-description .in {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 767px) {
  .feature-box-description .in {
    font-size: 3.75vw;
  }
}

.scene {
  padding-top: 6.833em;
  padding-bottom: 8.333em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .scene {
    padding-top: 6.368vw;
    padding-bottom: 6.368vw;
  }
}
@media screen and (max-width: 767px) {
  .scene {
    padding-top: 4.833em;
    padding-bottom: 4.833em;
  }
}

@media screen and (max-width: 767px) {
  .scene-wrap {
    width: auto;
  }
}

.scene-title {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .scene-title {
    width: 57.167em;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .scene-title {
    width: 50.219vw;
    left: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .scene-title {
    width: 86.533vw;
    position: relative;
    left: 1.5vw;
  }
}

.scene-list {
  position: relative;
  margin-top: 4.167em;
}
@media all and (min-width: 768px) {
  .scene-list {
    height: 57.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .scene-list {
    height: 50.292vw;
    margin-top: 3.66vw;
  }
}
@media screen and (max-width: 767px) {
  .scene-list {
    margin-top: 2.5em;
  }
}

@media all and (min-width: 768px) {
  .scene-list__item {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .scene-list__item {
    margin-left: auto;
    margin-right: auto;
  }
}
@media all and (min-width: 768px) {
  .scene-list__item.item-01 {
    width: 45.583em;
    left: -53em;
    right: 0;
    z-index: 10;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .scene-list__item.item-01 {
    width: 40.043vw;
    left: -46.559vw;
  }
}
@media screen and (max-width: 767px) {
  .scene-list__item.item-01 {
    width: 87.066vw;
  }
}
@media all and (min-width: 768px) {
  .scene-list__item.item-02 {
    width: 51.334em;
    top: 3em;
    left: 41.5em;
    z-index: 5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .scene-list__item.item-02 {
    width: 45.095vw;
    top: 2.635vw;
    left: 36.456vw;
  }
}
@media screen and (max-width: 767px) {
  .scene-list__item.item-02 {
    width: 95.466vw;
    margin-left: 0;
  }
}
@media all and (min-width: 768px) {
  .scene-list__item.item-03 {
    width: 51.167em;
    top: 26em;
    left: 0;
    right: -45em;
    z-index: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .scene-list__item.item-03 {
    width: 44.948vw;
    top: 22.84vw;
    right: -39.531vw;
  }
}
@media screen and (max-width: 767px) {
  .scene-list__item.item-03 {
    width: 93.6vw;
    margin-top: -8vw;
    margin-left: 5vw;
  }
}

.recipe {
  padding-bottom: 8.333em;
  position: relative;
  filter: drop-shadow(0 0 0.716666667em rgba(164, 164, 164, .15));
}
@media all and (min-width: 768px) {
  .recipe {
    padding: 7.833333333em 0 7.75em;
    max-width: 105em;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe {
    padding: 7.911764706vw 3.897058824vw 6.838235294vw;
    margin-inline: 3.897058824vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe {
    padding: 8vw 2.666666667vw 8vw;
    width: 94.8vw;
    margin-inline: auto;
    box-sizing: border-box;
    filter: drop-shadow(0 0 0.666666667vw rgba(164, 164, 164, .15));
  }
}
.recipe:before {
  content: "";
  background-image: url(../img/bg_tonyusoft_02_pc.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
}
@media all and (min-width: 768px) {
  .recipe:before {
    width: 100%;
    height: 100%;
    border-radius: 1.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe:before {
    border-radius: 1.102941176vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe:before {
    background-image: url(../img/bg_tonyusoft_02_sp.png);
    width: 100%;
    height: 100%;
    border-radius: 2vw;
  }
}
.recipe .c-sectionInner {
  padding-top: 6.833em;
  padding-bottom: 8em;
  z-index: 10;
  background-color: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe .c-sectionInner {
    padding-top: 6.002vw;
    padding-bottom: 6.617647059vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe .c-sectionInner {
    padding-top: 3.466666667vw;
    padding-bottom: 13.333333333vw;
  }
}

.recipe-title {
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .recipe-title {
    width: 34.417em;
    position: relative;
    left: 3.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-title {
    width: 30.234vw;
    left: 3.0746vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-title {
    width: 69.733vw;
    left: 5vw;
    position: relative;
  }
}

.recipe-title-02 {
  position: absolute;
  top: -2em;
  left: -65em;
  right: 0;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .recipe-title-02 {
    width: 17.667em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-title-02 {
    width: 15.519vw;
    top: -1.756vw;
    left: -57.101vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-title-02 {
    width: 23.599vw;
    top: -3.2vw;
    left: 4.4vw;
    right: unset;
  }
}

.recipe-text {
  text-align: center;
  margin-top: 4.667em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-text {
    margin-top: 4.099vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-text {
    margin-top: 7.466666667vw;
    width: 80vw;
    margin-left: auto;
    margin-right: auto;
  }
}
.recipe-text .in {
  font-size: 1.333em;
  line-height: 2;
  letter-spacing: 0.015em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-text .in {
    font-size: 1.17vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-text .in {
    font-size: 3.733vw;
  }
}

.recipe-list {
  margin-top: 6em;
}
@media all and (min-width: 768px) {
  .recipe-list {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-list {
    margin-top: 5.27vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-list {
    margin-top: 9vw;
  }
}

@media all and (min-width: 768px) {
  .recipe-list__item {
    width: 37.5em;
  }
  .recipe-list__item + .recipe-list__item {
    margin-left: 3.333em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-list__item {
    width: 32.942vw;
  }
  .recipe-list__item + .recipe-list__item {
    margin-left: 2.928vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-list__item {
    width: 69.333vw;
    margin-left: auto;
    margin-right: auto;
  }
  .recipe-list__item + .recipe-list__item {
    margin-top: 11vw;
  }
}
.recipe-list__item figcaption {
  font-size: 1.833em;
  letter-spacing: 0.015em;
  margin-top: 1.5em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-list__item figcaption {
    font-size: 1.61vw;
    margin-top: 1.317vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-list__item figcaption {
    font-size: 4.8vw;
    margin-top: 4.25vw;
  }
}

.recipe-swiper {
  position: relative;
  margin-top: 6.333333333em;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-swiper {
    margin-top: calc(76 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper {
    margin-top: calc(146 / 750 * 100vw);
  }
}
.recipe-swiper-content {
  position: relative;
  width: 100%;
}
.recipe-swiper-content::before {
  content: "";
  width: 7.5em;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: linear-gradient(90deg,rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
}
.recipe-swiper-content::after {
  content: "";
  width: 7.5em;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  background: linear-gradient(-90deg,rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-swiper-content::before,
  .recipe-swiper-content::after {
    width: calc(90 / 1360 * 100vw);
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper-content::before,
  .recipe-swiper-content::after {
    width: calc(60 / 750 * 100vw);
    height: 100%;
  }
}
.recipe-swiper-wrapper {
  transition-timing-function: ease-out !important;
  margin-left: calc(-30 / 1150 * 100%);
}
@media screen and (max-width: 767px) {
  .recipe-swiper-wrapper {
    margin-left: calc(-30 / 750 * 100vw);
  }
}
.recipe-swiper-item {
  display: flex;
  transition: all 600ms ease;
}
.recipe-swiper-item.swiper-slide-active {
  width: calc(451 / 1150 * 100%) !important;
}
@media screen and (max-width: 767px) {
  .recipe-swiper-item.swiper-slide-active {
    width: calc(399 / 750 * 100vw) !important;
  }
}
.recipe-swiper-inner {
  width: 100%;
}
.recipe-swiper-inner::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: calc(45 / 340 * 100%);
  transition: all 600ms ease;
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .recipe-swiper-inner::before {
    padding-top: calc(50 / 340 * 100%);
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper-inner::before {
    padding-top: calc(36 / 750 * 100vw);
  }
}
.swiper-slide-active .recipe-swiper-inner::before {
  padding-top: 0;
}
.recipe-swiper-head {
  position: relative;
}
.recipe-swiper-fav {
  width: 3.166666667em;
  height: 3.166666667em;
  background: #fff;
  border-radius: 100%;
  border-width: 0;
  position: absolute;
  top: 0.666666667em;
  right: 0.666666667em;
  z-index: 15;
  cursor: pointer;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-swiper-fav {
    width: calc(38 / 1360 * 100vw);
    height: calc(38 / 1360 * 100vw);
    top: calc(8 / 1360 * 100vw);
    right: calc(8 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper-fav {
    width: calc(42 / 750 * 100vw);
    height: calc(42 / 750 * 100vw);
    top: calc(8 / 750 * 100vw);
    right: calc(8 / 750 * 100vw);
  }
}
.i-fav::after {
  content: "";
  display: block;
  width: 1.416666667em;
  height: 1.25em;
  position: absolute;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: var(--transition);
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .i-fav::after {
    width: calc(17 / 1360 * 100vw);
    height: calc(15 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .i-fav::after {
    width: calc(18 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
  }
}
.recipe-swiper-fav[data-fav="off"]::after {
  background-color: #ff9700;
  mask: url(/recipe/assets/img/common/icon/heart-line.svg) no-repeat center center / contain;
  -webkit-mask: url(/recipe/assets/img/common/icon/heart-line.svg) no-repeat center center / contain;
}
.recipe-swiper-fav[data-fav="on"]::after {
  background-color: #ff9700;
  mask: url(/recipe/assets/img/common/icon/heart.svg) no-repeat center center / contain;
  -webkit-mask: url(/recipe/assets/img/common/icon/heart.svg) no-repeat center center / contain;
}
.recipe-swiper-img {
  overflow: hidden;
  aspect-ratio: 451 / 277;
}
.recipe-swiper-img img {
  transition: var(--transition-all);
}
.recipe-swiper-read {
  margin-top: 0.666666667em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-swiper-read {
    margin-top: calc(8 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper-read {
    margin-top: calc(16 / 750 * 100vw);
  }
}
.recipe-swiper-text {
}
.recipe-swiper-text__label {
  font-size: 1.5em;
  font-feature-settings: "palt";
  line-height: 1.6;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-swiper-text__label {
    font-size: calc(18 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper-text__label {
    font-size: calc(28 / 750 * 100vw);
    font-weight: 500;
  }
}
.recipe-swiper-btn {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  gap: 0 1.416666667em;
  margin-top: -2.583333333em;
  margin-right: 5em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-swiper-btn {
    gap: 0 calc(17 / 1360 * 100vw);
    margin-top: calc(-31 / 1360 * 100vw);
    margin-right: calc(60 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .recipe-swiper-btn {
    gap: 0 calc(21 / 750 * 100vw);
    margin-top: calc(-100 / 750 * 100vw);
    margin-right: calc(60 / 750 * 100vw);
  }
}
.swiper-button-next,
.swiper-button-prev {
  position: static;
  top: 0;
  margin-top: 0;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  border: 1px solid #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease;
}
@media (min-width: 768px) {
  .swiper-button-next:hover,
  .swiper-button-prev:hover {
    background-color: #f9e8d8;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .swiper-button-next,
  .swiper-button-prev {
    width: calc(60 / 1360 * 100vw);
    height: calc(60 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .swiper-button-next,
  .swiper-button-prev {
    width: calc(70 / 750 * 100vw);
    height: calc(70 / 750 * 100vw);
    border: .5px solid #000000;
  }
}
.swiper-button-next::after,
.swiper-button-prev::after {
  content: "";
  background-image: url(../img/ico_cursor.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 1.333em;
  height: 0.916666667em;
  display: block;
  font-size: calc(12 / var(--font) * 1rem);
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .swiper-button-next::after,
  .swiper-button-prev::after {
    width: calc(16 / 1360 * 100vw);
    height: calc(11 / 1360 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .swiper-button-next::after,
  .swiper-button-prev::after {
    width: calc(23 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
  }
}
.swiper-button-prev::after {
  transform: rotate(180deg);
}



.recipe-button {
  margin-top: 5.833333333em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .recipe-button {
    margin-top: 5.124vw;
  }
}
@media screen and (max-width: 767px) {
  .recipe-button {
    margin-top: 8vw;
  }
}

.checkpoint {
  padding-top: 8.833em;
  padding-bottom: 10.5em;
  position: relative;
  margin-top: 6em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .checkpoint {
    padding-top: 6.368vw;
    padding-bottom: 9.224vw;
    margin-top: 6.809vw;
  }
}
@media screen and (max-width: 767px) {
  .checkpoint {
    padding-top: 2vw;
    padding-bottom: 18vw;
    margin-top: 19vw;
  }
}

.checkpoint-title {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .checkpoint-title {
    width: 74.333em;
    left: 3.667em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .checkpoint-title {
    width: 65.3vw;
    left: 3.221vw;
  }
}
@media screen and (max-width: 767px) {
  .checkpoint-title {
    width: 82.933vw;
    left: 4vw;
  }
}

.checkpoint-title-02 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .checkpoint-title-02 {
    width: 8.833em;
    top: -4.75em;
    right: 77em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .checkpoint-title-02 {
    width: 7.759vw;
    top: -3.5vw;
    right: 67.5vw;
  }
}
@media screen and (max-width: 767px) {
  .checkpoint-title-02 {
    width: 16.666vw;
    top: -2vw;
    right: 70vw;
  }
}

.checkpoint-text {
  text-align: center;
  margin-top: 6.167em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .checkpoint-text {
    margin-top: 5.417vw;
  }
}
@media screen and (max-width: 767px) {
  .checkpoint-text {
    margin-top: 7vw;
  }
}
.checkpoint-text .in {
  font-size: 1.333em;
  line-height: 2;
  letter-spacing: 0.015em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .checkpoint-text .in {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 767px) {
  .checkpoint-text .in {
    font-size: 3.75vw;
  }
}

.checkpoint-button {
  margin-top: 5.5em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .checkpoint-button {
    margin-top: 4.831vw;
  }
}
@media screen and (max-width: 767px) {
  .checkpoint-button {
    margin-top: 7vw;
  }
}

.movie {
  margin-top: 6em;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .movie {
    margin-top: 6.2vw;
  }
}
@media screen and (max-width: 767px) {
  .movie {
    margin-top: 2vw;
  }
}

.movie-title {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .movie-title {
    width: 55.833em;
    left: -1.6em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .movie-title {
    width: 49.048vw;
    left: -3.5vw;
  }
}
@media screen and (max-width: 767px) {
  .movie-title {
    width: 92.266vw;
    left: -2vw;
  }
}

.youtube-movie {
  position: relative;
  overflow: hidden;
  box-shadow: 0px 0px 27px -16px #6e6e6e;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 768px) {
  .youtube-movie {
    width: 77.583em;
    height: 43.75em;
    margin-top: 3.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .youtube-movie {
    width: 68.155vw;
    height: 38.36vw;
    margin-top: 3.5vw;
  }
}
@media screen and (max-width: 767px) {
  .youtube-movie {
    width: 82.666vw;
    height: 46.533vw;
    margin-top: 10vw;
  }
}
.youtube-movie iframe {
  width: 100%;
  height: 100%;
}
@media all and (min-width: 768px) {
  .youtube-movie iframe {
    height: 43.75em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .youtube-movie iframe {
    height: 38.36vw;
  }
}
@media screen and (max-width: 767px) {
  .youtube-movie iframe {
    height: 46.533vw;
  }
}

@keyframes tonyusoft_nav {
  0% {
    bottom: -100%;
  }
  100% {
    bottom: 1em;
  }
}
@keyframes tonyusoft_nav_visible {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
