@charset "UTF-8";
/* Scss Document */
/*--------------------------------------------------
設定
--------------------------------------------------*/
/* Scss Document */
.l_base {
  max-width: 1326px;
  margin: auto;
  padding-left: 2.6666666667vw;
  padding-right: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .l_base {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 768px) {
  .l_sec2 {
    padding-top: 20vw;
    margin-top: -20vw;
  }
}

.l_sec3, .l_sec5 {
  padding-top: 50vw;
  margin-top: -50vw;
}
@media screen and (min-width: 769px) {
  .l_sec3, .l_sec5 {
    padding-top: 40vw;
    margin-top: -40vw;
  }
}

/* Scss Document */
/*
Copyright (c) 2015 Brenden Palmer
https://codepen.io/brenden/pen/VLjKMQ
Released under the MIT license
https://opensource.org/licenses/mit-license.php
*/
@media screen and (min-width: 769px) {
  .outer-menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1326px;
    margin: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
  .checkbox-toggle {
    display: none;
  }
  .menuList {
    padding-top: 15px;
    display: flex;
  }
  .menuList__item {
    white-space: nowrap;
    margin: 0 1vw;
  }
  .menuList__item a {
    opacity: 1;
    transition: opacity 0.3s;
  }
  .menuList__item a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  .flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu {
    z-index: 1;
  }
  .outer-menu .checkbox-toggle {
    position: absolute;
    top: 0;
    left: calc(100vw - 60px);
    z-index: 2;
    cursor: pointer;
    width: 60px;
    height: 60px;
    opacity: 0;
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div {
    transform: rotate(135deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div:before {
    top: 0;
    transform: rotate(90deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
    top: 0;
    transform: rotate(90deg);
    opacity: 0;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu {
    pointer-events: auto;
    visibility: visible;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div {
    transform: scale(1);
    transition-duration: 0.75s;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div > div {
    opacity: 1;
    transition: opacity 0.4s ease 0.4s;
  }
  .outer-menu .hamburger {
    position: absolute;
    top: 0;
    left: calc(100% - 60px);
    z-index: 1;
    width: 60px;
    height: 60px;
    padding: 15px;
    background: #51308E;
    border-radius: 0 0.12em 0.12em 0;
    cursor: pointer;
    transition: box-shadow 0.4s ease;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .hamburger > div {
    position: relative;
    flex: none;
    width: 100%;
    height: 2px;
    background: #FEFEFE;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .hamburger > div:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 0;
    width: 100%;
    height: 2px;
    background: inherit;
    transition: all 0.4s ease;
  }
  .outer-menu .hamburger > div:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 0;
    width: 100%;
    height: 2px;
    background: inherit;
    transition: all 0.4s ease;
    top: 10px;
  }
  .outer-menu .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    overflow: hidden;
    backface-visibility: hidden;
    outline: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu .menu__wrap1 {
    width: 300vw;
    height: 300vw;
    color: #FEFEFE;
    background: #3C2388;
    border-radius: 50%;
    transition: all 0.4s ease;
    flex: none;
    transform: scale(0);
    backface-visibility: hidden;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: -1;
  }
  .outer-menu .menu .menu__wrap1 .menu__wrap2 {
    width: 100vw;
    height: 100vh;
    opacity: 0;
    transition: opacity 0.4s ease;
    overflow-y: auto;
    flex: none;
    padding-top: 26.6666666667vw;
    padding-bottom: 8vw;
  }
  .outer-menu .menuList {
    list-style: none;
    padding: 0 2.6666666667vw;
    margin: 0;
    display: block;
    max-height: 100vh;
    width: 100%;
  }
  .outer-menu .menuList__item {
    padding: 0;
    margin: 2.6666666667vw;
    font-size: 4.2666666667vw;
    display: block;
  }
  .outer-menu .menuList__item > a {
    position: relative;
    display: block;
    cursor: pointer;
    transition: color 0.4s ease, border 0.4s ease;
    padding: 2.6666666667vw;
    border-bottom: 1px solid #fff;
    font-family: "Noto Sans JP", sans-serif;
  }
  .outer-menu .menuList__item > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.6666666667vw;
    transform: translate(0, -50%) rotate(45deg);
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
/* clearfix */
.clearfix {
  zoom: 1;
}

.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  line-height: 0;
  content: ".";
}

@media screen and (min-width: 769px) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
  }
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .spOnly {
    display: none;
  }
}

/* base style
--------------------------------------------------*/
html {
  height: 100%;
  font-size: 62.5%;
}

body {
  height: 100%;
  color: #202020;
  font-size: 4.8vw;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  line-height: 1.6;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  body {
    width: 100%;
  }
}
body.is_fixed {
  position: fixed;
}
@media screen and (max-width: 768px) {
  body.is_fixed .main {
    position: relative;
    z-index: -2;
    margin-top: 0;
  }
}

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

.gHead {
  background: #51308E;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 1111;
}
.gHead__inner {
  width: calc(100% - 60px);
  background: #51308E;
  color: #fff;
  position: relative;
  height: 60px;
  z-index: 100;
  display: flex;
  align-items: center;
  padding-left: 2.6666666667vw;
}
@media screen and (max-width: 768px) {
  .gHead__inner picture {
    display: flex;
    align-items: center;
  }
}
.gHead__inner a {
  transition: all 0.3s;
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .gHead__inner a:hover {
    opacity: 0.7;
  }
}

.headLogo {
  display: block;
  width: 10vw;
}
@media screen and (max-width: 768px) {
  .headLogo {
    width: 30vw;
  }
}

.headSns {
  width: 100%;
  padding: 0 5.3333333333vw;
  display: flex;
  justify-content: space-between;
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .headSns {
    display: none;
  }
}
.headSns a {
  width: 7%;
}
.headSns a img {
  max-width: none;
  width: 100%;
}

.gFoot {
  background: #3C2388;
  color: #fff;
  text-align: center;
  padding: 21.3333333333vw 0 13.3333333333vw;
}
@media screen and (min-width: 769px) {
  .gFoot {
    padding: 5.8565153734vw 0 2.196193265vw;
  }
}
.gFoot__copy {
  font-size: 3.7333333333vw;
  margin-top: 8vw;
}
@media screen and (min-width: 769px) {
  .gFoot__copy {
    font-size: min(1.0248901903vw, 1.4rem);
    margin-top: 0;
  }
}
.gFoot__link {
  position: relative;
  font-size: 4.2666666667vw;
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .gFoot__link {
    font-size: 1.6rem;
  }
}
.gFoot__link::after {
  content: "";
  position: relative;
  top: 1.3vw;
  margin-left: 2vw;
  display: inline-block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  transform: translate(0, -50%) rotate(45deg);
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .gFoot__link::after {
    max-width: 10px;
    max-height: 10px;
    top: 4px;
  }
}
@media screen and (min-width: 769px) {
  .gFoot__link:hover {
    opacity: 0.7;
  }
  .gFoot__link:hover::after {
    opacity: 0.7;
  }
}

.footSns {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .footSns {
    max-width: 557.17px;
    margin: 5.8565153734vw auto 1.4641288433vw;
  }
}
.footSns a {
  width: 7%;
}
@media screen and (min-width: 769px) {
  .footSns a {
    max-width: 44px;
    transition: all 0.3s;
  }
  .footSns a:hover {
    opacity: 0.7;
  }
}
.footSns a img {
  max-width: none;
  width: 100%;
}

/* ttl -------------- */
.ttl1 {
  position: relative;
  font-size: 9.0666666667vw;
  font-weight: 700;
  text-align: center;
  color: #51308E;
}
@media screen and (min-width: 769px) {
  .ttl1 {
    font-size: 3.4rem;
  }
}
.ttl1::before {
  content: "";
  background: url(../../image/mascot/txt_profile.png) no-repeat;
  background-size: contain;
  width: 43.7333333333vw;
  height: 19.2vw;
  position: absolute;
  top: -16.5333333333vw;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 769px) {
  .ttl1::before {
    width: 164px;
    height: 72px;
    top: -70px;
  }
}
.ttl1.v_schedule::before {
  content: "";
  background: url(../../image/mascot/txt_schedule.png) no-repeat center;
  background-size: contain;
  width: 60.5333333333vw;
  height: 19.2vw;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 769px) {
  .ttl1.v_schedule::before {
    width: 272px;
    height: 72px;
  }
}
.ttl1.v_news {
  color: #fff;
}
.ttl1.v_news::before {
  content: "";
  background: url(../../image/mascot/txt_news.png) no-repeat;
  background-size: contain;
  width: 36.8vw;
  height: 19.2vw;
  position: absolute;
  top: -16.5333333333vw;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 769px) {
  .ttl1.v_news::before {
    width: 138px;
    height: 72px;
    top: -70px;
  }
}
.ttl1.v_goods {
  color: #fff;
}
.ttl1.v_goods::before {
  content: "";
  background: url(../../image/mascot/txt_goods.png) no-repeat;
  background-size: contain;
  width: 43.2vw;
  height: 19.2vw;
  position: absolute;
  top: -16.5333333333vw;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 769px) {
  .ttl1.v_goods::before {
    width: 162px;
    height: 72px;
    top: -70px;
  }
}
.ttl1.v_parents::before {
  content: "";
  background: url(../../image/mascot/txt_thanks.png) no-repeat;
  background-size: contain;
  width: 91.2vw;
  height: 14.1333333333vw;
  position: absolute;
  top: -16.5333333333vw;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 769px) {
  .ttl1.v_parents::before {
    width: 342px;
    height: 72px;
    top: -60px;
  }
}

/* btn -------------- */
.btn1 {
  text-align: center;
}
.btn1 a {
  position: relative;
  overflow: hidden;
  z-index: 2;
  color: #fff;
  border: 2px solid #fff;
  text-align: center;
  display: inline-block;
  width: 90.6666666667vw;
  min-width: 340px;
  border-radius: 13.3333333333vw;
  padding: 4vw;
  font-size: 4.8vw;
  font-family: "Noto Sans JP", sans-serif;
  background: transparent;
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .btn1 a {
    width: 27.8184480234vw;
    max-width: 27.8184480234vw;
    font-size: max(1.317715959vw, 1.8rem);
    padding: 1.0980966325vw;
  }
}
.btn1 a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 40px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  transform: translate(0, -50%) rotate(45deg);
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .btn1 a::after {
    max-width: 10px;
    max-height: 10px;
  }
}
@media screen and (min-width: 769px) {
  .btn1 a:hover {
    color: #51308E;
    background: #fff;
  }
}
@media screen and (min-width: 769px) {
  .btn1 a:hover::after {
    border-color: #51308E;
  }
}

.mv {
  width: 100%;
  margin-top: 60px;
  background: #FFF134;
}
.mv__itemWrap {
  position: relative;
  height: calc(100svh - 60px);
}
@media screen and (min-width: 1369px) {
  .mv__itemWrap {
    max-width: 1369px;
    margin: auto;
  }
}
.mv__itemMascot {
  position: absolute;
  width: 58.48vw;
  bottom: -200svh;
  left: 50%;
  transform: translate(-50%, 0);
  max-width: 800px;
  transition: bottom 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 768px) {
  .mv__itemMascot {
    width: 100.27vw;
    max-width: 375px;
  }
}
.mv__itemMascot.is_active {
  bottom: -19.81vw;
}
@media screen and (min-width: 1369px) {
  .mv__itemMascot.is_active {
    bottom: -270px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemMascot.is_active {
    bottom: -120px;
  }
}
@media screen and (min-width: 769px) {
  .mv.is_minH .mv__itemMascot {
    max-width: 449.7px;
  }
  .mv.is_minH .mv__itemMascot.is_active {
    bottom: -150px;
  }
}
@media screen and (min-width: 769px) {
  .mv.is_minH .mv__itemCopy.is_active {
    bottom: 230px;
    width: 142px;
    left: 50%;
    transform: translate(-50%, 0);
    margin-left: -90px;
  }
}
.mv__itemCopy {
  position: absolute;
  width: 14.04vw;
  bottom: 39.75vw;
  left: 31.8vw;
  max-width: 192px;
  opacity: 0;
  transition: opacity 0.5s, bottom 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 1369px) {
  .mv__itemCopy {
    bottom: 377px;
    left: 50%;
    transform: translate(-50%, 0);
    margin-left: -150px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemCopy {
    width: 41.87vw;
    max-width: 157px;
    bottom: 230px;
    left: 50%;
    transform: translate(-50%, 0);
    margin-left: -80px;
  }
}
.mv__itemCopy.is_active {
  bottom: 29.75vw;
  opacity: 1;
}
@media screen and (min-width: 1369px) {
  .mv__itemCopy.is_active {
    bottom: 407px;
    margin-left: -150px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemCopy.is_active {
    bottom: 200px;
  }
}
.mv__itemTxt {
  position: absolute;
  width: 22.59vw;
  top: 0;
  right: 9.52vw;
  z-index: 1;
  max-width: 309px;
  opacity: 0;
  transition: opacity 0.5s, top 0.5s, right 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 1369px) {
  .mv__itemTxt {
    right: 126px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemTxt {
    width: 52.5vw;
    top: -5vw;
    right: 6.13vw;
    max-width: 240px;
  }
}
.mv__itemTxt.is_active {
  top: 1.1vw;
  opacity: 1;
  right: 10.52vw;
}
@media screen and (min-width: 1369px) {
  .mv__itemTxt.is_active {
    right: 146px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemTxt.is_active {
    top: 1.6vw;
    right: 6.13vw;
  }
}
.mv__itemPh1 {
  position: absolute;
  width: 15.2vw;
  top: 2.9vw;
  left: -50px;
  max-width: 208px;
  opacity: 0;
  transition: opacity 0.5s, top 0.5s, left 0.5s, right 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 768px) {
  .mv__itemPh1 {
    width: 25.87vw;
    top: -5vw;
    left: 0vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemPh1 {
    width: 97px;
    top: 12.3063px;
    left: auto;
    right: 346px;
  }
}
.mv__itemPh1.is_active {
  opacity: 1;
  top: 4.9vw;
  left: 5.26vw;
}
@media screen and (min-width: 1369px) {
  .mv__itemPh1.is_active {
    top: 68px;
    left: 72px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemPh1.is_active {
    top: 2.67vw;
    left: 10vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemPh1.is_active {
    top: 12.3063px;
    right: 296px;
    left: auto;
  }
}
.mv__itemLogo {
  position: absolute;
  width: 9.8vw;
  top: 30.95vw;
  left: 2.5vw;
  max-width: 134px;
  opacity: 0;
  transition: opacity 0.5s, top 0.5s, left 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 1369px) {
  .mv__itemLogo {
    top: 426px;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemLogo {
    width: 21.33vw;
    top: 65.53vw;
    left: 36vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemLogo {
    width: 80px;
    top: 308px;
    left: auto;
    right: 197px;
  }
}
.mv__itemLogo.is_active {
  opacity: 1;
  top: 28.95vw;
  left: 9.5vw;
}
@media screen and (min-width: 1369px) {
  .mv__itemLogo.is_active {
    top: 396px;
    left: 131px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemLogo.is_active {
    width: 21.33vw;
    top: 60.53vw;
    left: 36vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemLogo.is_active {
    width: 80px;
    top: 278px;
    left: auto;
    right: 197px;
  }
}
.mv__itemPh2 {
  position: absolute;
  width: 9.58vw;
  top: -10px;
  right: 35.7vw;
  max-width: 131px;
  opacity: 0;
  transition: opacity 0.5s, top 0.5s, right 0.5s, left 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 1369px) {
  .mv__itemPh2 {
    right: 496px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemPh2 {
    width: 31.73vw;
    top: 33.67vw;
    left: -10vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemPh2 {
    width: 119px;
    top: 160px;
    left: auto;
    right: 350px;
  }
}
.mv__itemPh2.is_active {
  top: 7.09vw;
  right: 37.7vw;
  opacity: 1;
}
@media screen and (min-width: 1369px) {
  .mv__itemPh2.is_active {
    top: 97px;
    right: 516px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemPh2.is_active {
    top: 30.67vw;
    left: 4.27vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemPh2.is_active {
    top: 140px;
    left: auto;
    right: 310px;
  }
}
.mv__itemPh3 {
  position: absolute;
  width: 15.2vw;
  top: 28.44vw;
  right: -10px;
  max-width: 195px;
  opacity: 0;
  transition: opacity 0.5s, top 0.5s, right 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 1369px) {
  .mv__itemPh3 {
    top: 391px;
    right: -10px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemPh3 {
    width: 25.6vw;
    top: 60.47vw;
    right: -10vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemPh3 {
    width: 150px;
    top: 306px;
    left: auto;
    right: 0;
  }
}
.mv__itemPh3.is_active {
  right: 5.12vw;
  opacity: 1;
}
@media screen and (min-width: 1369px) {
  .mv__itemPh3.is_active {
    right: 70px;
  }
}
@media screen and (max-width: 768px) {
  .mv__itemPh3.is_active {
    top: 55.47vw;
    right: 4.27vw;
  }
}
@media screen and (min-width: 460px) and (max-width: 768px) {
  .mv__itemPh3.is_active {
    top: 256px;
    right: 21px;
    left: auto;
  }
}

.main {
  overflow: hidden;
  width: 100%;
}
.lead {
  background: #3C2388;
  padding: 50.6666666667vw 0 26.6666666667vw;
  color: #fff;
  text-align: center;
  font-size: 6.4vw;
  line-height: 2.4;
}
@media screen and (min-width: 769px) {
  .lead {
    font-size: 2.4rem;
    padding-top: 270px;
    padding-bottom: 130px;
  }
}
.lead__txt {
  position: relative;
}
@media screen and (min-width: 769px) {
  .lead__txt {
    display: inline-block;
  }
}
.lead__txt::before {
  content: "";
  position: absolute;
  top: -9.3333333333vw;
  left: 2.1333333333vw;
  background: url(../../image/mascot/img_quotation.svg) no-repeat;
  background-size: contain;
  width: 45.3333333333vw;
  height: 45.3333333333vw;
}
@media screen and (min-width: 769px) {
  .lead__txt::before {
    top: -30px;
    width: 150px;
    height: 150px;
  }
}
.lead__txt::after {
  content: "";
  position: absolute;
  top: -24vw;
  right: 5.3333333333vw;
  background: url(../../image/mascot/img_quotation.svg) no-repeat;
  background-size: contain;
  width: 40vw;
  height: 40vw;
  transform: rotate(180deg);
}
@media screen and (min-width: 769px) {
  .lead__txt::after {
    top: -85px;
    width: 150px;
    height: 150px;
  }
}

.profile {
  background: #D9699D;
  padding-top: 84vw;
  padding-bottom: 84vw;
}
@media screen and (min-width: 769px) {
  .profile {
    padding-top: min(14.6412884334vw, 200px);
    padding-bottom: 47.5841874085vw;
  }
}

.profIntro {
  padding-bottom: 116.2666666667vw;
}
@media screen and (min-width: 769px) {
  .profIntro {
    max-width: 1000px;
    margin: auto;
    padding-bottom: 9.9560761347vw;
  }
}
.profIntro__box {
  position: relative;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .profIntro__box {
    border-radius: 100px;
    background: #fff;
    box-shadow: 2.1333333333vw 2.1333333333vw 0px 0px #C15D8B;
    font-size: 4.8vw;
    padding: 13.3333333333vw 5.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .profIntro__box {
    width: 100%;
    max-width: 915px;
    margin: auto;
    display: flex;
    justify-content: flex-end;
  }
}
.profIntro__box::before {
  content: "";
  position: absolute;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .profIntro__box::before {
    top: -43vw;
    background: url(../../image/mascot/img_crianyan1.svg) no-repeat;
    background-size: contain;
    width: 53.3333333333vw;
    height: 52.624vw;
  }
}
@media screen and (min-width: 769px) {
  .profIntro__box::before {
    top: 50%;
    transform: translate(0, -50%);
    background: url(../../image/mascot/img_crianyan1.svg) no-repeat;
    background-size: contain;
    width: min(21.7165149545vw, 200px);
    height: min(21.4369310793vw, 197.34px);
  }
}
.profIntro__box::after {
  content: "";
  position: absolute;
}
@media screen and (max-width: 768px) {
  .profIntro__box::after {
    top: -73vw;
    right: 0;
    background: url(../../image/mascot/img_ph1.png) no-repeat;
    background-size: contain;
    width: 48vw;
    height: 52.2666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .profIntro__box::after {
    top: -94.8px;
    right: 0;
    background: url(../../image/mascot/img_ph1.png) no-repeat top right;
    background-size: contain;
    width: min(25.6176853056vw, 237px);
    height: min(25.6176853056vw, 237px);
  }
}
@media screen and (min-width: 769px) {
  .profIntro__box--txt {
    font-size: 1.8rem;
    position: relative;
    background: #fff;
    box-shadow: 8px 8px 0px 0px #C15D8B;
    width: 66.1898569571vw;
    max-width: 610px;
    border-radius: 90px;
    padding: 50px;
    margin-right: min(9.7529258778vw, 80px);
  }
}
.profIntro__box.v_box2 {
  margin-top: 62.9333333333vw;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box2 {
    margin-top: 4.39238653vw;
    max-width: 730px;
    justify-content: left;
  }
}
.profIntro__box.v_box2::before {
  content: "";
  position: absolute;
  top: -43vw;
  left: 50%;
  transform: translate(-50%, 0);
  background: url(../../image/mascot/img_crianyan2.svg) no-repeat;
  background-size: contain;
  width: 42.6666666667vw;
  height: 57.48vw;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box2::before {
    width: 200px;
    height: 269.43px;
    background: url(../../image/mascot/img_crianyan2.svg) no-repeat right center;
    background-size: contain;
    top: 0;
    left: 630px;
  }
}
.profIntro__box.v_box2::after {
  display: none;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box2 .profIntro__box--txt {
    width: min(67.6202860858vw, 520px);
    margin-right: 0;
  }
}
.profIntro__box.v_box3 {
  margin-top: 16vw;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box3 {
    margin-top: 4.39238653vw;
    max-width: 668px;
    justify-content: center;
    text-align: center;
  }
}
.profIntro__box.v_box3::before, .profIntro__box.v_box3::after {
  display: none;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box3 .profIntro__box--txt {
    width: 100%;
    max-width: none;
    margin-right: 0;
  }
}
.profIntro__box.v_box4 {
      margin-top: 60.2vw;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box4 {
    margin-top: 4.5387994143vw;
    max-width: 645px;
  }
}
.profIntro__box.v_box4::before {
  content: "";
  position: absolute;
  top: -70vw;
  left: 50%;
  transform: translate(-50%, 0);
  background: url(../../image/mascot/img_ph2_2.png) no-repeat;
  background-size: contain;
  width: 53.3333333333vw;
  height: 71.112vw;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box4::before {
    top: -10px;
    left: 90px;
    width: 200px;
    height: 266.67px;
  }
}
.profIntro__box.v_box4::after {
  display: none;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box4 .profIntro__box--txt {
    width: 100%;
    max-width: 496px;
    margin-right: 0;
  }
}
.profIntro__box.v_box5 {
  margin-top: 57.3333333333vw;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box5 {
    margin-top: 15.7393850659vw;
    justify-content: center;
  }
}
.profIntro__box.v_box5::before {
  content: "";
  position: absolute;
  top: -42vw;
  left: 50%;
  transform: translate(-50%, 0);
  background: url(../../image/mascot/img_crianyan3.svg) no-repeat;
  background-size: contain;
  width: 53.3333333333vw;
  height: 52.0133333333vw;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box5::before {
    top: -150px;
    width: 200px;
    height: 195.05px;
  }
}
.profIntro__box.v_box5::after {
  display: none;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box5 .profIntro__box--txt {
    width: 100%;
    max-width: 635px;
    margin-right: 0;
    text-align: center;
  }
}
.profIntro__box.v_box6 {
  margin-top: 16vw;
  text-align: center;
  font-size: 6.4vw;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box6 {
    max-width: 1000px;
    margin-top: 8.78477306vw;
  }
}
.profIntro__box.v_box6::before {
  content: "";
  position: absolute;
  top: auto;
  bottom: -70vw;
  left: 50%;
  transform: translate(-50%, 0);
  background: url(../../image/mascot/img_crianyan4.svg) no-repeat;
  background-size: contain;
  width: 92.2666666667vw;
  height: 73.552vw;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box6::before {
    width: min(29.9vw, 300px);
    height: min(23.83vw, 183.27px);
    top: 50%;
    left: -10px;
    bottom: auto;
    transform: translate(0, -50%);
  }
}
.profIntro__box.v_box6::after {
  display: none;
}
@media screen and (min-width: 769px) {
  .profIntro__box.v_box6 .profIntro__box--txt {
    width: 86.69vw;
    max-width: 910px;
    border-radius: 90px;
    margin-right: 0;
    font-size: 2.4rem;
  }
}

.profileDetal {
  position: relative;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .profileDetal {
    max-width: 1000px;
    max-height: 1000px;
    width: 95vw;
    height: 95vw;
    margin: auto;
    border-radius: 50%;
    padding-top: 11.7130307467vw;
    padding-left: max(1.4641288433vw, 10px);
    padding-right: max(1.4641288433vw, 10px);
  }
}
.profileDetal::before {
  content: "";
  width: 110%;
  height: 26.6666666667vw;
  background: #fff;
  position: absolute;
  top: -26.6666666667vw;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 50% 50% 0 0;
}
@media screen and (min-width: 769px) {
  .profileDetal::before {
    display: none;
  }
}
.profileDetal::after {
  content: "";
  width: 110%;
  height: 20vw;
  background: #fff;
  position: absolute;
  bottom: -20vw;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 0 0 50% 50%;
}
@media screen and (min-width: 769px) {
  .profileDetal::after {
    display: none;
  }
}
.profileDetal__img {
  text-align: center;
}
.profileDetal__img img {
  width: 80vw;
  height: 98.9333333333vw;
}
@media screen and (min-width: 769px) {
  .profileDetal__img img {
    width: 22vw;
    height: 27.15vw;
    max-width: 300px;
    max-height: 371px;
  }
}
@media screen and (max-width: 768px) {
  .profileDetal .ttl1 {
    margin-bottom: 5.3333333333vw;
  }
}

.profileTxt {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .profileTxt {
    margin: 5.8565153734vw auto 0;
    width: 82%;
  }
}
.profileTxt dl {
  width: 100%;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  .profileTxt dl {
    width: 50%;
    display: flex;
    align-items: baseline;
    margin-bottom: 0.3660322108vw;
  }
}
.profileTxt dt {
  background: #51308E;
  color: #fff;
  border-radius: 8px;
  text-align: center;
  padding: 0.2666666667vw 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .profileTxt dt {
    white-space: nowrap;
    font-size: 1.6rem;
    padding-left: 5px;
    padding-right: 5px;
    width: 138px;
    min-width: 138px;
  }
}
.profileTxt dd {
  font-weight: 400;
  padding: 1.3333333333vw 2.6666666667vw 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .profileTxt dd {
    padding: 10px;
    font-size: 1.5rem;
  }
}

.schedule {
  position: relative;
  background: #3FB2DA;
  padding-bottom: 80vw;
}
@media screen and (min-width: 769px) {
  .schedule {
    padding-top: 10vw;
    padding-bottom: 50vw;
  }
}
.schedule::before {
  content: "";
  width: 30.4vw;
  height: 30.4vw;
  background: url(../../image/mascot/deco_crianyan1.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -49vw;
  right: 1vw;
  border-radius: 0 0 50% 50%;
}
@media screen and (min-width: 769px) {
  .schedule::before {
    width: 8.345534407vw;
    height: 8.345534407vw;
    top: -28.8vw;
    right: 7vw;
    transform: rotate(13deg);
  }
}
.schedule::after {
  content: "";
  width: 100%;
  height: 64vw;
  background: #3FB2DA;
  position: absolute;
  top: -33vw;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 50% 50% 0 0;
}
@media screen and (min-width: 769px) {
  .schedule::after {
    height: 58.57vw;
  }
}
.schedule__inner {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .schedule__inner {
    margin-top: -30vw;
  }
}
.schedule__inner--em {
  text-align: center;
  font-size: 5.0666666667vw;
  color: #3C2388;
  margin: 8vw 0;
}
@media screen and (min-width: 769px) {
  .schedule__inner--em {
    font-size: max(1.4641288433vw, 2rem);
    margin: 3.6603221083vw 0;
  }
}

.scheduleBoxWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.scheduleBox {
  background: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 769px) {
  .scheduleBox {
    margin: 0 -2%;
  }
}
@media screen and (min-width: 769px) {
  .scheduleBox {
    max-width: 31%;
    margin: 0 1%;
  }
}
.scheduleBox__date {
  background: #51308E;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-size: 5.3333333333vw;
  margin-bottom: 8vw;
  padding: 0.8vw;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .scheduleBox__date {
    font-size: max(1.4641288433vw, 2rem);
    padding: 0.2196193265vw;
    margin-bottom: 2.196193265vw;
  }
}
.scheduleBox dl {
  padding: 0 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .scheduleBox dl {
    padding: 0 0.7320644217vw;
  }
}
.scheduleBox dt {
  background: #51308E;
  border-radius: 10px;
  color: #fff;
  font-weight: 700;
  padding: 0.5333333333vw 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .scheduleBox dt {
    padding: 0.1464128843vw 0.7320644217vw;
  }
}
.scheduleBox dd {
  color: #51308E;
  padding: 1.3333333333vw 0 4vw;
}
@media screen and (min-width: 769px) {
  .scheduleBox dd {
    padding: 0.3660322108vw 0 1.0980966325vw;
  }
}
.scheduleBox__time {
  font-size: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .scheduleBox__time {
    font-size: max(1.4641288433vw, 2rem);
  }
}
.scheduleBox__event {
  font-size: 4.8vw;
}
@media screen and (min-width: 769px) {
  .scheduleBox__event {
    font-size: max(1.317715959vw, 1.8rem);
  }
}
.scheduleBox__place {
  font-size: 4vw;
}
@media screen and (min-width: 769px) {
  .scheduleBox__place {
    font-size: max(1.1713030747vw, 1.6rem);
  }
}
@media screen and (max-width: 768px) {
  .scheduleBox + .scheduleBox {
    margin-top: 8vw;
  }
}

.news {
  position: relative;
  background: #51308E;
}
@media screen and (min-width: 769px) {
  .news {
    padding-top: 10vw;
  }
}
.news::before {
  content: "";
  width: 30.4vw;
  height: 30.4vw;
  background: url(../../image/mascot/deco_crianyan2.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -51vw;
  left: 1vw;
  border-radius: 0 0 50% 50%;
}
@media screen and (min-width: 769px) {
  .news::before {
    width: 8.345534407vw;
    height: 8.345534407vw;
    top: -36.8vw;
    left: 22vw;
    transform: rotate(4deg);
  }
}
.news::after {
  content: "";
  width: 102%;
  height: 45vw;
  background: #51308E;
  position: absolute;
  top: -33vw;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 50% 50% 0 0;
}
@media screen and (min-width: 769px) {
  .news::after {
    height: 45.02vw;
  }
}
.news__inner {
  position: relative;
  z-index: 2;
  /*border-bottom: 1px solid #F5F3F8;*/
  padding-bottom: 68.6666666667vw;
}
@media screen and (min-width: 769px) {
  .news__inner {
    margin-top: -30vw;
    padding-bottom: 46.588579795vw;
  }
}

.newsBlock {
  margin-top: 10.6666666667vw;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .newsBlock {
    display: flex;
    flex-wrap: wrap;
    font-size: max(1.0248901903vw, 1.4rem);
    margin-bottom: 2.196193265vw;
    margin-top: 3.6603221083vw;
  }
}
.newsBlock__item {
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  .newsBlock__item {
    width: 31%;
    margin: 0 1%;
  }
}
.newsBlock__item--img img {
  border-radius: 10px;
}
.newsBlock__item--date {
  display: inline-block;
  background: #fff;
  border-radius: 8px;
  padding: 0.2666666667vw 2.6666666667vw;
  color: #51308E;
  margin-top: 4vw;
}
@media screen and (min-width: 769px) {
  .newsBlock__item--date {
    padding: 0.0732064422vw 0.7320644217vw;
    margin-top: 1.0980966325vw;
  }
}
.newsBlock__item--ttl {
  color: #fff;
  font-size: 4.5333333333vw;
  margin: 2.6666666667vw 0 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .newsBlock__item--ttl {
    font-size: max(1.317715959vw, 1.8rem);
    margin: 0.7320644217vw 0 2.9282576867vw;
  }
}
@media screen and (min-width: 769px) {
  .newsBlock__item:hover {
    opacity: 0.7;
  }
}

.goods {
  background: #51308E;
  padding-top: 29.3333333333vw;
  padding-bottom: 66.6666666667vw;
}
@media screen and (min-width: 769px) {
  .goods {
    padding-top: 10.2489019034vw;
    padding-bottom: 47.5841874085vw;
  }
}

.goodsList {
  padding: 2.6666666667vw 10.6666666667vw 16vw;
}
@media screen and (min-width: 769px) {
  .goodsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 2.196193265vw 2.9282576867vw 4.39238653vw;
  }
}
.goodsList li {
  padding-top: 16vw;
}
@media screen and (min-width: 769px) {
  .goodsList li {
    padding-top: 1.4641288433vw;
    width: 23%;
  }
}

.parents {
  position: relative;
  background: #5AB4AA;
  padding-bottom: 16vw;
}
@media screen and (min-width: 769px) {
  .parents {
    padding-top: 10vw;
    padding-bottom: 5.8565153734vw;
  }
}
.parents::before {
  content: "";
  width: 30.4vw;
  height: 30.4vw;
  background: url(../../image/mascot/deco_crianyan3.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -49vw;
  right: 1vw;
  border-radius: 0 0 50% 50%;
}
@media screen and (min-width: 769px) {
  .parents::before {
    width: 8.345534407vw;
    height: 8.345534407vw;
    top: -36.8vw;
    right: 25vw;
    transform: rotate(-4deg);
  }
}
.parents::after {
  content: "";
  width: 100%;
  height: 64vw;
  background: #5AB4AA;
  position: absolute;
  top: -33vw;
  left: 50%;
  transform: translate(-50%, 0);
  border-radius: 50% 50% 0 0;
}
@media screen and (min-width: 769px) {
  .parents::after {
    height: 58.57vw;
  }
}
.parents__inner {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .parents__inner {
    margin-top: -35vw;
  }
}
.parents__inner--em {
  text-align: center;
  font-size: 5.0666666667vw;
  color: #3C2388;
  margin: 8vw 0;
}
@media screen and (min-width: 769px) {
  .parents__inner--em {
    font-size: max(1.4641288433vw, 2rem);
    margin: 3.6603221083vw 0 2.196193265vw;
  }
}
@media screen and (min-width: 769px) {
  .parents__inner--em.v_fz {
    font-size: max(1.317715959vw, 1.8rem);
  }
}

.nameList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
  .nameList {
    font-size: min(3.7333333333vw, 1.4rem);
    justify-content: flex-start;
  }
}
.nameList li {
  background: #fff;
  border-radius: 10px;
  padding: 1.3333333333vw;
  width: 47%;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  .nameList li {
    padding: 0.3660322108vw;
    width: 18%;
    margin: 1%;
  }
}
