body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  vertical-align: text-bottom;
}

body {
  font-size: 24px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
  font-weight: 600;
  color: #2D2926;
  background: #FFF342;
}
body a {
  color: #2D2926;
  text-decoration: none;
}
body a:hover {
  text-decoration: none;
}

.sp_only {
  display: none;
}

.bold {
  font-weight: bold;
}

.test {
  font-family: "corporate-logo-ver2", sans-serif;
}

.inner {
  box-sizing: content-box;
  max-width: 1280px;
  padding: 0 2%;
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    align-items: flex-start;
  }
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  .inner {
    padding: 0 5%;
  }
}
/*----------------------------------------------------- */
/*  header           */
/*----------------------------------------------------- */
.header {
  background: #fff;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 10;
}
.header a {
  display: block;
  max-width: 209px;
  transition: opacity 0.3s ease-in-out;
}
.header a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .header {
    height: 13.333vw;
  }
  .header a {
    max-width: 49.6vw;
  }
}
/*----------------------------------------------------- */
/*  mv           */
/*----------------------------------------------------- */
.contents_wrap {
  overflow: hidden;
}

.mv {
  position: relative;
  padding-top: 40px;
  padding-bottom: 180px;
  z-index: 1;
}

.mv_pic01 {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 254px;
  z-index: 10;
}

.mv_pic02 {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 248px;
  z-index: 8;
}

.mv_pic03 {
  position: absolute;
  top: 0;
  left: 0;
  max-width: 287px;
  z-index: 6;
}

.mv_pic04 {
  position: absolute;
  top: 440px;
  right: 0;
  max-width: 224px;
  z-index: 6;
}

.mv_bg01 {
  position: absolute;
  top: -100px;
  right: -100px;
  max-width: 600px;
  z-index: -1;
}

.mv_bg02 {
  position: absolute;
  top: 515px;
  left: -160px;
  max-width: 600px;
  z-index: -1;
}

.mv_bg03 {
  display: none;
}

.mv_ttl {
  max-width: 400px;
  margin: 0 auto;
}

.mv_pic_main {
  max-width: 1235px;
  margin: -170px auto 0;
  transform: translateX(-2%);
}

.nav_wrap {
  position: fixed;
  bottom: 3%;
  right: 0;
  width: 100%;
  z-index: 999;
}

.nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  z-index: 10;
  max-width: 1092px;
  margin: 0 auto;
}
.nav::after {
  content: "";
  position: absolute;
  left: 6px;
  bottom: -6px;
  background: #2D2926;
  width: 100%;
  height: 60px;
  border-radius: 14px;
  z-index: -1;
}
.nav li {
  width: calc(20% - 3px);
}
.nav a {
  background: #31AEC8;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 32px;
  padding: 3px 0;
  border: 3px solid #2D2926;
  border-radius: 14px;
  box-shadow: 6px 6px 0px #2D2926;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.nav a:hover {
  transform: translateX(6px) translateY(6px);
  box-shadow: 0 0 0px #2D2926;
}
.nav .movei a {
  background: #fff;
  padding: 10px 15px;
}

@media screen and (max-width: 1440px) {
  .mv {
    padding-top: 2.778vw;
    padding-bottom: 12.5vw;
  }
  .mv_pic01 {
    max-width: 17.639vw;
  }
  .mv_pic02 {
    max-width: 17.222vw;
  }
  .mv_pic03 {
    max-width: 19.931vw;
  }
  .mv_pic04 {
    top: 30.556vw;
    max-width: 15.556vw;
  }
  .mv_bg01 {
    top: -6.944vw;
    right: -6.944vw;
    max-width: 41.667vw;
  }
  .mv_bg02 {
    top: 35.764vw;
    left: -11.111vw;
    max-width: 41.667vw;
  }
  .mv_ttl {
    max-width: 27.778vw;
  }
  .mv_pic_main {
    max-width: 85.764vw;
    margin-top: -11.806vw;
  }
  .nav {
    max-width: 75.833vw;
  }
  .nav::after {
    left: 0.417vw;
    bottom: -0.417vw;
    height: 4.167vw;
    border-radius: 0.972vw;
  }
  .nav li {
    width: calc(20% - 0.208vw);
  }
  .nav a {
    font-size: 2.222vw;
    padding: 0.208vw 0;
    border: 0.208vw solid #2D2926;
    border-radius: 0.972vw;
    box-shadow: 0.417vw 0.417vw 0 #2D2926;
  }
  .nav a:hover {
    transform: translate(0.417vw, 0.417vw);
  }
  .nav .movei a {
    padding: 0.694vw 1.042vw;
  }
}
@media screen and (max-width: 767px) {
  .mv {
    padding-top: 5.3vw;
    padding-bottom: 8vw;
  }
  .mv_pic01 {
    max-width: 33.867vw;
  }
  .mv_pic02 {
    top: -6.6vw;
    right: -10.6vw;
    max-width: 36.4vw;
  }
  .mv_pic03 {
    top: 13.3vw;
    left: -13.3vw;
    max-width: 36vw;
  }
  .mv_pic04 {
    top: 69.667vw;
    max-width: 25.867vw;
  }
  .mv_bg01 {
    top: -26.6vw;
    right: -45.333vw;
    max-width: 86.267vw;
  }
  .mv_bg02 {
    top: 4vw;
    left: -45vw;
    max-width: 86.267vw;
  }
  .mv_bg03 {
    display: block;
    position: absolute;
    bottom: -14vw;
    left: 5vw;
    max-width: 56vw;
    z-index: -1;
  }
  .mv_ttl {
    max-width: 53.333vw;
  }
  .mv_pic_main {
    max-width: 104% !important;
    width: 104% !important;
    margin-top: -12.667vw;
    transform: translateX(1%);
  }
  .nav_wrap {
    padding: 0 5%;
    bottom: 2%;
  }
  .nav {
    max-width: 100%;
    flex-wrap: wrap;
    margin: 0 auto 0;
  }
  .nav::after {
    content: "";
    position: absolute;
    left: 1.06vw;
    bottom: -1.06vw;
    height: 25vw;
    border-radius: 1.86vw;
  }
  .nav li {
    width: 50%;
  }
  .nav a {
    font-size: 6.53vw;
    padding: 0.5vw 0;
    border: 0.53vw solid #2D2926;
    border-radius: 2.1vw;
    box-shadow: none;
  }
  .nav .movei {
    position: absolute;
    top: -16.5vw;
    right: 0;
    width: 25.7vw;
  }
  .nav .movei a {
    padding: 1.3vw 2vw;
    box-shadow: 1.06vw 1.06vw 0px #2D2926;
  }
}
/*----------------------------------------------------- */
/*  menu           */
/*----------------------------------------------------- */
.menu {
  margin-bottom: 160px;
}

.menu_ttl {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  text-align: center;
  font-size: 60px;
  line-height: 1.2;
  margin-bottom: 20px;
}
.menu_ttl span {
  display: block;
  font-size: 40px;
  font-weight: 700;
}

.menu_ttl_txt {
  text-align: center;
  font-size: 24px;
  margin-bottom: 60px;
}

.menu_bg01 {
  position: absolute;
  top: 320px;
  right: calc(50% - 830px);
  z-index: -2;
  max-width: 600px;
}

.menu_bg02 {
  position: absolute;
  top: 29%;
  left: calc(50% - 950px);
  z-index: -2;
  max-width: 600px;
}

.menu_bg03 {
  position: absolute;
  top: 57%;
  left: 25%;
  z-index: -2;
  max-width: 600px;
}

.menu_bg04 {
  position: absolute;
  top: 73%;
  left: 10%;
  z-index: -2;
  max-width: 600px;
}

.menu_bg05,
.menu_bg06,
.menu_bg07,
.menu_bg08,
.menu_bg09 {
  display: none;
}

.menu_pic01 {
  position: absolute;
  top: 250px;
  right: calc(50% - 640px);
  z-index: -1;
  max-width: 435px;
}

.menu_wrap01 {
  display: flex;
  align-items: flex-end;
  margin-bottom: 60px;
}
.menu_wrap01 .pic {
  width: 60%;
  overflow: visible;
}
.menu_wrap01 .pic img {
  display: block;
  max-width: 105% !important;
  width: 105% !important;
  transform: translateX(-5%);
}
.menu_wrap01 .ditails {
  width: 40%;
  background: #FFD842;
  padding: 20px 30px;
}
.menu_wrap01 .ditails p {
  font-size: 24px;
  line-height: 1.9;
}
.menu_wrap01 .ditails {
  margin-bottom: 60px;
}
.menu_wrap01 .ttl {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 46px;
  line-height: 1.2;
  margin-bottom: 5px;
  margin-top: -60px;
}
.menu_wrap01 .ttl span {
  font-size: 40px;
}
.menu_wrap01 .subttl {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  color: #31AEC8;
}

.menu_wrap02 {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  margin-bottom: 80px;
}
.menu_wrap02 .pic {
  width: 60%;
  overflow: visible;
}
.menu_wrap02 .pic img {
  display: block;
  max-width: 105% !important;
  width: 105% !important;
  transform: translateX(5%);
}
.menu_wrap02 .ditails {
  width: 40%;
}
.menu_wrap02 .ditails_txt {
  background: #FFD842;
  padding: 20px 30px;
}
.menu_wrap02 .ditails_txt p {
  font-size: 24px;
  line-height: 1.9;
}
.menu_wrap02 .ditails_txt {
  margin-bottom: 70px;
}
.menu_wrap02 .ttl {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 49px;
  line-height: 1.2;
  color: #31AEC8;
  margin-bottom: 30px;
}

.menu_list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
}
.menu_list li {
  width: 48.5%;
}

.menu_wrap03 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menu_wrap03 .ditails {
  width: 43%;
}
.menu_wrap03 .ttl {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 46px;
  line-height: 1.2;
  margin-bottom: 10px;
}
.menu_wrap03 .subttl {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  color: #31AEC8;
  margin-bottom: 40px;
}
.menu_wrap03 .ditails_txt {
  display: inline-block;
  background: #FFD842;
  padding: 20px 30px;
}
.menu_wrap03 .ditails_txt p {
  font-size: 24px;
  line-height: 1.9;
}
.menu_wrap03 .pic {
  width: 56%;
}

.reverse {
  flex-direction: row-reverse;
}
.reverse .ditails {
  width: 43%;
}
.reverse .pic {
  width: 52%;
}

.last {
  margin-top: -60px;
}
.last .ditails .ttl {
  letter-spacing: -0.02em;
}
.last .ditails {
  width: 45%;
}
.last .pic {
  width: 55%;
}

.ttl_contents {
  max-width: 320px;
  background: #31AEC8;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 44px;
  padding: 3px 0;
  border: 3px solid #2D2926;
  border-radius: 16px;
  margin: 0 auto 50px;
}

@media screen and (max-width: 1280px) {
  .menu {
    margin-bottom: 12.5vw;
  }
  .menu_ttl {
    font-size: 4.688vw;
    margin-bottom: 1.563vw;
  }
  .menu_ttl span {
    font-size: 3.125vw;
  }
  .menu_ttl_txt {
    font-size: 1.875vw;
    margin-bottom: 4.688vw;
  }
  .menu_bg01 {
    top: 25vw;
    right: calc(50% - 64.844vw);
    max-width: 46.875vw;
  }
  .menu_bg02 {
    left: calc(50% - 74.219vw);
    max-width: 46.875vw;
  }
  .menu_bg03 {
    max-width: 46.875vw;
  }
  .menu_bg04 {
    max-width: 46.875vw;
  }
  .menu_pic01 {
    top: 19.531vw;
    right: calc(50% - 50vw);
    max-width: 33.984vw;
  }
  .menu_wrap01 {
    margin-bottom: 4.688vw;
  }
  .menu_wrap01 .pic img {
    max-width: 105% !important;
    width: 105% !important;
  }
  .menu_wrap01 .ditails {
    padding: 1.563vw 2.344vw;
    margin-bottom: 4.688vw;
  }
  .menu_wrap01 .ditails p {
    font-size: 1.875vw;
  }
  .menu_wrap01 .ttl {
    font-size: 3.594vw;
    margin-bottom: 0.391vw;
    margin-top: -4.688vw;
  }
  .menu_wrap01 .ttl span {
    font-size: 3.125vw;
  }
  .menu_wrap01 .subttl {
    font-size: 1.875vw;
  }
  .menu_wrap02 {
    margin-bottom: 6.25vw;
  }
  .menu_wrap02 .ditails_txt {
    padding: 1.563vw 2.344vw;
    margin-bottom: 5.469vw;
  }
  .menu_wrap02 .ditails_txt p {
    font-size: 1.875vw;
  }
  .menu_wrap02 .ttl {
    font-size: 3.828vw;
    margin-bottom: 2.344vw;
  }
  .menu_list {
    margin-bottom: 5.469vw;
  }
  .menu_wrap03 .ditails {
    width: 45%;
  }
  .menu_wrap03 .pic {
    width: 55%;
  }
  .menu_wrap03 .ttl {
    font-size: 3.594vw;
    margin-bottom: 0.781vw;
  }
  .menu_wrap03 .subttl {
    font-size: 1.875vw;
    margin-bottom: 3.125vw;
  }
  .menu_wrap03 .ditails_txt {
    padding: 1.563vw 2.344vw;
  }
  .menu_wrap03 .ditails_txt p {
    font-size: 1.875vw;
  }
  .reverse .ditails {
    width: 43%;
  }
  .reverse .pic {
    width: 52%;
  }
  .last {
    margin-top: -4.688vw;
  }
  .last .ditails {
    width: 46%;
  }
  .last .pic {
    width: 54%;
  }
  .ttl_contents {
    max-width: 25vw;
    font-size: 3.438vw;
    padding: 0.234vw 0;
    border: 0.234vw solid #2D2926;
    border-radius: 1.25vw;
    margin-bottom: 3.906vw;
  }
}
@media screen and (max-width: 767px) {
  .menu {
    margin-bottom: 74.1vw;
  }
  .menu_ttl {
    font-size: 8vw;
    margin-bottom: 10px;
  }
  .menu_ttl span {
    font-size: 5.3vw;
  }
  .menu_ttl_txt {
    font-size: 3.46vw;
    margin-bottom: 10.6vw;
  }
  .menu_bg01 {
    top: 179vw;
    right: 34%;
    max-width: 65vw;
  }
  .menu_pic01 {
    top: 190vw;
    right: 5%;
    max-width: 48vw;
  }
  .menu_bg02 {
    position: absolute;
    top: 5%;
    left: -18vw;
    max-width: 65vw;
  }
  .menu_bg03 {
    top: 26%;
    left: -18vw;
    max-width: 65vw;
  }
  .menu_bg04 {
    top: 36%;
    left: auto;
    right: -18vw;
    max-width: 65vw;
  }
  .menu_bg05 {
    display: block;
    position: absolute;
    top: 46%;
    right: -4%;
    max-width: 65vw;
    z-index: -1;
  }
  .menu_bg06 {
    display: block;
    position: absolute;
    top: 56.5%;
    right: -13vw;
    max-width: 65vw;
    z-index: -1;
  }
  .menu_bg07 {
    display: block;
    position: absolute;
    top: 63%;
    left: -18vw;
    max-width: 65vw;
    z-index: -1;
  }
  .menu_bg08 {
    display: block;
    position: absolute;
    top: 79%;
    right: -13vw;
    max-width: 65vw;
    z-index: -1;
  }
  .menu_bg09 {
    display: block;
    position: absolute;
    top: 90%;
    right: -18vw;
    max-width: 65vw;
    z-index: -1;
  }
  .menu_wrap01 {
    display: block;
    margin-bottom: 50vw;
  }
  .menu_wrap01 .pic {
    width: 100%;
    margin: 0 auto;
  }
  .menu_wrap01 .pic img {
    max-width: 100% !important;
    width: 100% !important;
    transform: translateX(0);
  }
  .menu_wrap01 .ditails {
    width: 90%;
    margin: 0 auto;
    padding: 3.3vw 4vw;
  }
  .menu_wrap01 .ditails p {
    font-size: 2.9vw;
  }
  .menu_wrap01 .ditails {
    margin-bottom: 0;
  }
  .menu_wrap01 .ttl {
    font-size: 4.53vw;
    margin-bottom: 5px;
    width: 90%;
    margin: -4vw auto 1.3vw;
  }
  .menu_wrap01 .ttl span {
    font-size: 4.53vw;
  }
  .menu_wrap01 .subttl {
    font-size: 2.53vw;
    width: 90%;
    margin: 0 auto 4vw;
  }
  .menu_wrap02 {
    display: block;
    margin-bottom: 16vw;
  }
  .menu_wrap02 .pic {
    width: 100%;
  }
  .menu_wrap02 .pic img {
    display: block;
    max-width: 100% !important;
    width: 100% !important;
    transform: translateX(0);
  }
  .menu_wrap02 .ditails {
    width: 90%;
    margin: 0 auto;
  }
  .menu_wrap02 .ditails_txt {
    padding: 3.3vw 4vw;
  }
  .menu_wrap02 .ditails_txt p {
    font-size: 2.9vw;
  }
  .menu_wrap02 .ditails_txt {
    margin-bottom: 0;
  }
  .menu_wrap02 .ttl {
    font-size: 4.53vw;
    margin-bottom: 5.3vw;
  }
  .menu_list {
    display: block;
    margin-bottom: 12vw;
  }
  .menu_list li {
    width: 100%;
  }
  .menu_list li + li {
    margin-top: 5.3vw;
  }
  .menu_wrap03 {
    flex-direction: column-reverse;
  }
  .menu_wrap03 .ditails {
    width: 90%;
  }
  .menu_wrap03 .ttl {
    font-size: 4.533vw;
    margin-bottom: 1.333vw;
  }
  .menu_wrap03 .subttl {
    font-size: 2.667vw;
    margin-bottom: 4.533vw;
  }
  .menu_wrap03 .ditails_txt {
    display: block;
    padding: 3.333vw 4vw;
  }
  .menu_wrap03 .ditails_txt p {
    font-size: 2.933vw;
  }
  .menu_wrap03 .pic {
    width: 100%;
  }
  .reverse {
    margin-top: 9.06vw;
  }
  .reverse .ditails {
    width: 90%;
  }
  .reverse .ditails .ditails_txt {
    padding: 3.333vw 3vw;
  }
  .reverse .ditails .ditails_txt p {
    letter-spacing: -0.02em;
  }
  .reverse .pic {
    width: 100%;
  }
  .last {
    margin-top: 14.6vw;
  }
  .last .ditails .ttl {
    letter-spacing: 0em;
  }
  .last .ditails {
    width: 90%;
    margin: 0 auto;
  }
  .last .ditails .ditails_txt {
    padding: 3.333vw 3vw;
  }
  .last .ditails .ditails_txt p {
    letter-spacing: -0.02em;
  }
  .last .pic {
    width: 100%;
  }
  .ttl_contents {
    max-width: 42.667vw;
    font-size: 5.867vw;
    padding: 0.4vw 0;
    border-width: 0.4vw;
    border-radius: 2.133vw;
    margin-bottom: 6.667vw;
  }
}
/*----------------------------------------------------- */
/*  goods          */
/*----------------------------------------------------- */
.goods {
  margin-bottom: 367px;
  position: relative;
}

.goods_pic01 {
  position: absolute;
  top: -380px;
  left: calc(50% - 700px);
  z-index: -1;
  max-width: 435px;
}

.goods_bg01 {
  position: absolute;
  top: -220px;
  left: calc(50% - 880px);
  z-index: -2;
  max-width: 600px;
}

.goods_bg02 {
  position: absolute;
  top: 10%;
  right: calc(50% - 880px);
  z-index: -2;
  max-width: 600px;
}

.goods_bg03 {
  position: absolute;
  top: 27%;
  left: calc(50% - 880px);
  z-index: -2;
  max-width: 600px;
}

.goods_bg04 {
  position: absolute;
  top: 48%;
  right: calc(50% - 880px);
  z-index: -2;
  max-width: 600px;
}

.goods_bg05 {
  position: absolute;
  bottom: 0%;
  left: calc(50% - 880px);
  z-index: -2;
  max-width: 600px;
}

.txt_goods {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 70px;
  line-height: 1.4;
}

.goods_list {
  max-width: 1020px;
  margin: 0 auto;
}
.goods_list li + li {
  margin-top: 60px;
}

@media screen and (max-width: 1280px) {
  .goods {
    margin-bottom: 28.672vw;
  }
  .goods_pic01 {
    top: -29.688vw;
    left: calc(50% - 54.688vw);
    max-width: 33.984vw;
  }
  .goods_bg01 {
    top: -17.188vw;
    left: calc(50% - 68.75vw);
    max-width: 46.875vw;
  }
  .goods_bg02 {
    right: calc(50% - 68.75vw);
    max-width: 46.875vw;
  }
  .goods_bg03 {
    left: calc(50% - 68.75vw);
    max-width: 46.875vw;
  }
  .goods_bg04 {
    right: calc(50% - 68.75vw);
    max-width: 46.875vw;
  }
  .goods_bg05 {
    left: calc(50% - 68.75vw);
    max-width: 46.875vw;
  }
  .txt_goods {
    font-size: 2.969vw;
    margin-bottom: 5.469vw;
  }
  .goods_list {
    max-width: 79.688vw;
  }
  .goods_list li + li {
    margin-top: 4.688vw;
  }
}
@media screen and (max-width: 767px) {
  .goods {
    margin-bottom: 66.533vw;
  }
  .goods_pic01 {
    top: -58vw;
    left: auto;
    right: 8%;
    max-width: 48vw;
  }
  .goods_bg01 {
    top: -77vw;
    left: 6%;
    max-width: 65vw;
  }
  .goods_bg02,
  .goods_bg03,
  .goods_bg04,
  .goods_bg05 {
    display: none;
  }
  .txt_goods {
    font-size: 3.867vw;
    margin-bottom: 8vw;
  }
  .goods_list {
    max-width: 100%;
  }
  .goods_list li + li {
    margin-top: 5.333vw;
  }
}
/*----------------------------------------------------- */
/*  store           */
/*----------------------------------------------------- */
.store {
  margin-bottom: 110px;
  position: relative;
}

.store_pic01 {
  position: absolute;
  top: -330px;
  right: calc(50% - 660px);
  z-index: -1;
  max-width: 435px;
}

.store_bg01 {
  position: absolute;
  top: -250px;
  right: calc(50% - 520px);
  z-index: -2;
  max-width: 600px;
}

.store_bg02 {
  position: absolute;
  bottom: -300px;
  left: calc(50% - 810px);
  z-index: -2;
  max-width: 600px;
}

.store_box {
  background: url(../images/pic_store_05.png) center bottom no-repeat #fff;
  background-size: 100%;
  border-radius: 40px;
  padding: 60px 70px 80px;
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
}

.store_ttl {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 44px;
  line-height: 1.4;
  margin-bottom: 60px;
}
.store_ttl span {
  font-size: 38px;
  font-weight: 700;
}
.store_ttl em {
  font-size: 50px;
  font-weight: 700;
}

.store_list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.store_list li {
  width: 48%;
  text-align: center;
}
.store_list li img {
  display: block;
  margin-bottom: 10px;
}
.store_list li a {
  font-family: "corporate-logo-ver2", sans-serif;
  font-size: 26px;
  line-height: 1.4;
  color: #2921E2;
  text-decoration: underline;
}

.store_txt {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.store_txt img {
  width: 25%;
}
.store_txt p {
  padding-top: 30px;
  width: 72%;
  font-family: "corporate-logo-ver2", sans-serif;
  font-size: 30px;
  font-weight: 700;
}

@media screen and (max-width: 1280px) {
  .store {
    margin-bottom: 8.594vw;
  }
  .store_pic01 {
    top: -25.781vw;
    right: calc(50% - 51.563vw);
    max-width: 33.984vw;
  }
  .store_bg01 {
    top: -19.531vw;
    right: calc(50% - 40.625vw);
    max-width: 46.875vw;
  }
  .store_bg02 {
    bottom: -23.438vw;
    left: calc(50% - 63.281vw);
    max-width: 46.875vw;
  }
  .store_box {
    border-radius: 3.125vw;
    padding: 4.688vw 5.469vw 6.25vw;
    max-width: 79.688vw;
  }
  .store_ttl {
    font-size: 3.438vw;
    margin-bottom: 4.688vw;
  }
  .store_ttl span {
    font-size: 2.969vw;
  }
  .store_ttl em {
    font-size: 3.906vw;
  }
  .store_list {
    margin-bottom: 3.906vw;
  }
  .store_list li img {
    margin-bottom: 0.781vw;
  }
  .store_list li a {
    display: block;
    font-size: 2.031vw;
  }
  .store_txt {
    max-width: 60.938vw;
  }
  .store_txt p {
    padding-top: 2.344vw;
    font-size: 2.344vw;
  }
}
@media screen and (max-width: 767px) {
  .store {
    margin-bottom: 10vw;
  }
  .store_pic01 {
    top: -58vw;
    right: 17%;
    max-width: 48vw;
  }
  .store_bg01 {
    top: -60vw;
    right: auto;
    left: -5%;
    max-width: 65vw;
  }
  .store_bg02 {
    top: 10vw;
    bottom: auto;
    right: -21vw;
    left: auto;
    max-width: 65vw;
  }
  .store_box {
    border-radius: 5.333vw;
    padding: 8vw 4.667vw 14vw;
    max-width: 100%;
    background: url(../images/pic_store_05_sp.png) center bottom no-repeat #fff;
    background-size: 100%;
  }
  .store_ttl {
    font-size: 5.867vw;
    margin-bottom: 14.667vw;
  }
  .store_ttl span {
    font-size: 5.333vw;
  }
  .store_ttl em {
    font-size: 6.667vw;
    font-weight: 700;
  }
  .store_list {
    display: block;
    margin-bottom: 10.667vw;
  }
  .store_list li {
    width: 100%;
  }
  .store_list li a {
    font-size: 4.267vw;
  }
  .store_list li + li {
    margin-top: 6vw;
  }
  .store_txt {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }
  .store_txt img {
    width: 39%;
  }
  .store_txt p {
    padding-top: 0;
    width: 53%;
    font-size: 4.533vw;
  }
}
/*----------------------------------------------------- */
/*  campaign           */
/*----------------------------------------------------- */
.campaign_box {
  background: #fff;
  border-radius: 40px;
  padding: 60px 70px;
  max-width: 1020px;
  margin: 0 auto;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
}

.campaign_box_ttl {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  border-bottom: 2px solid #707070;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.campaign_box_ttl img {
  max-width: 85px;
  margin-right: 5px;
}
.campaign_box_ttl {
  color: #EF5D00;
  font-size: 65px;
  font-weight: 700;
  line-height: 1;
}

.campaign_box_ttl02 {
  text-align: center;
  color: #EF5D00;
  font-size: 65px;
  font-weight: 700;
  line-height: 1;
  border-bottom: 2px solid #707070;
  padding-bottom: 20px;
  margin-bottom: 20px;
  margin-top: 80px;
}

.campaign_box_subttl {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 20px;
}

.campaign_bnr {
  margin-bottom: 30px;
}

@media screen and (max-width: 1280px) {
  .campaign_box {
    border-radius: 3.125vw;
    padding: 4.688vw 5.469vw;
    max-width: 79.688vw;
  }
  .campaign_box_ttl {
    border-bottom-width: 0.156vw;
    padding-bottom: 1.563vw;
    margin-bottom: 1.563vw;
    font-size: 5.078vw;
  }
  .campaign_box_ttl img {
    max-width: 6.641vw;
    margin-right: 0.391vw;
  }
  .campaign_box_ttl02 {
    font-size: 5.078vw;
    border-bottom-width: 0.156vw;
    padding-bottom: 1.563vw;
    margin-bottom: 1.563vw;
    margin-top: 6.25vw;
  }
  .campaign_box_subttl {
    font-size: 3.125vw;
    margin-bottom: 1.563vw;
  }
  .campaign_bnr {
    margin-bottom: 2.344vw;
  }
}
@media screen and (max-width: 767px) {
  .campaign_box {
    border-radius: 5.333vw;
    padding: 8vw 4.667vw;
    max-width: 100%;
  }
  .campaign_box_ttl {
    border-bottom: 0.4vw solid #707070;
    padding-bottom: 5.333vw;
    margin-bottom: 5.333vw;
    font-size: 8.667vw;
  }
  .campaign_box_ttl img {
    max-width: 11.333vw;
    margin-right: 0.667vw;
  }
  .campaign_box_ttl02 {
    font-size: 6.133vw;
    border-bottom: 0.4vw solid #707070;
    padding-bottom: 5.333vw;
    margin-bottom: 5.333vw;
    margin-top: 7.067vw;
  }
  .campaign_box_subttl {
    font-size: 4vw;
    margin-bottom: 4vw;
  }
  .campaign_bnr {
    margin-bottom: 6.667vw;
  }
}
/*----------------------------------------------------- */
/*  contact           */
/*----------------------------------------------------- */
.contact {
  padding: 80px 0;
}

.contact_ttl {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 26px;
}

.contact_txt01 {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 28px;
}
.contact_txt01 em {
  font-size: 50px;
  font-weight: 700;
}

.contact_txt02 {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
  font-size: 26px;
}

.contact_note {
  text-align: center;
  font-family: "corporate-logo-ver2", sans-serif;
  font-size: 19px;
  line-height: 1.2;
  margin: 20px 0 60px;
}

.contact_logo {
  max-width: 407px;
  margin: 0 auto 40px;
}

.copy {
  text-align: center;
  font-size: 16px;
}

@media screen and (max-width: 1280px) {
  .contact {
    padding: 6.25vw 0;
  }
  .contact_ttl {
    font-size: 2.031vw;
  }
  .contact_txt01 {
    font-size: 2.188vw;
  }
  .contact_txt01 em {
    font-size: 3.906vw;
  }
  .contact_txt02 {
    font-size: 2.031vw;
  }
  .contact_note {
    font-size: 1.484vw;
    margin: 1.563vw 0 4.688vw;
  }
  .contact_logo {
    max-width: 31.797vw;
    margin-bottom: 3.125vw;
  }
  .copy {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .contact {
    padding: 8vw 0;
  }
  .contact_ttl {
    font-size: 3.733vw;
  }
  .contact_txt01 {
    font-size: 4.4vw;
  }
  .contact_txt01 em {
    display: block;
    font-size: 8vw;
  }
  .contact_txt02 {
    font-size: 3.733vw;
  }
  .contact_note {
    font-size: 2.933vw;
    line-height: 1.2;
    margin: 2.667vw 0 10.667vw;
  }
  .contact_logo {
    max-width: 53.333vw;
    margin: 0 auto 4.667vw;
  }
  .copy {
    font-size: 2.667vw;
  }
}
/*----------------------------------------------------- */
/*  footer           */
/*----------------------------------------------------- */
.footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 4.975vw 160px;
  background-color: #fff;
}
.footer div {
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: 0.48px;
  margin-bottom: 10px;
  width: 100%;
  display: inline-block;
  position: relative;
}
.footer .sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  padding-bottom: 20px;
}
.footer .sns li {
  width: 45px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #2D2926;
  position: relative;
}
.footer .sns li a {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease-in-out;
}
.footer .sns li a:hover {
  opacity: 0.7;
}
.footer .sns li a img {
  width: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.footer .sns li :nth-child(2) img {
  width: 18px;
}
.footer p {
  max-width: 1000px;
  width: 100%;
  display: table;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.7px;
}

/*----------------------------------------------------- */
/*  footer           */
/*----------------------------------------------------- */
.page_top {
  position: fixed;
  z-index: 100;
  bottom: 3%;
  right: 3%;
}
.page_top a {
  display: block;
  width: 52px;
  height: 52px;
  background: url(../images/btn_top.png) no-repeat;
  background-size: contain;
  transition: opacity 0.3s ease-in-out;
}
.page_top a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .page_top a {
    display: none;
  }
}
/*----------------------------------------------------- */
/*  anm           */
/*----------------------------------------------------- */
.anm {
  opacity: 0;
}

.trigger {
  opacity: 0;
}

.trigger.zoomIn {
  animation: zoomIn 0.8s ease 0.3s 1 normal forwards;
}

.trigger.up {
  animation: up 0.8s ease 0.3s 1 normal forwards;
}

.trigger.down {
  animation: down 0.8s ease 0.3s 1 normal forwards;
}

.trigger.left {
  animation: left 0.8s ease 0.3s 1 normal forwards;
}

.trigger.right {
  animation: right 0.8s ease 0.3s 1 normal forwards;
}

.trigger.delay0 {
  animation-delay: 0ms;
}

.trigger.delay1 {
  animation-delay: 100ms;
}

.trigger.delay2 {
  animation-delay: 200ms;
}

.trigger.delay3 {
  animation-delay: 300ms;
}

.trigger.delay4 {
  animation-delay: 400ms;
}

.trigger.delay5 {
  animation-delay: 500ms;
}

.trigger.delay6 {
  animation-delay: 600ms;
}

.trigger.delay7 {
  animation-delay: 700ms;
}

.trigger.delay8 {
  animation-delay: 800ms;
}

.trigger.delay9 {
  animation-delay: 900ms;
}

.trigger.delay10 {
  animation-delay: 1000ms;
}

.trigger.delay11 {
  animation-delay: 1100ms;
}

.trigger.delay12 {
  animation-delay: 1200ms;
}

@keyframes up {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
@keyframes down {
  0% {
    transform: translateY(-30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
@keyframes right {
  0% {
    transform: translateX(30px);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}
@keyframes left {
  0% {
    transform: translateX(-30px);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}/*# sourceMappingURL=style.css.map */