html,
body {
  width: 100vw;
  overflow-x: hidden;
}

#mv {
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzc1IiBoZWlnaHQ9IjQzOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWFzayBpZD0iYSIgc3R5bGU9Im1hc2stdHlwZTphbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjM3NSIgaGVpZ2h0PSI0MzkiPjxwYXRoIGZpbGw9IiNDNEM0QzQiIGQ9Ik0wIDBoMzc1djQzOUgweiIvPjwvbWFzaz48ZyBtYXNrPSJ1cmwoI2EpIj48cGF0aCBkPSJNLTEgMGg0NjUuNUwtMSA0MjUuNTA1VjBaIiBmaWxsPSIjRkZGOTc0Ii8+PC9nPjwvc3ZnPg==");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  padding: 0.8vw 4.522vw 0;
}

#mv .wrap {
  width: 100%;
}

#mv .wrap:before {
  width: 73.69796vw;
  height: 71.82vw;
  left: auto;
  right: -22vw;
  top: 27vw;
}

#mv .wrap h1 {
  margin: 0 0 3.24vw 0.7vw;
}

#mv .wrap h1 img {
  height: 4.256vw;
  width: auto;
}

#mv .wrap h2 img {
  width: 59.584vw;
  height: auto;
}

#mv p.banner {
  margin: 28.78918vw 0 0 0;
}

#mv p.banner:before {
  width: 49.476vw;
  height: 23.3415vw;
  background: url("../img/mv_bannerText_sp.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: -15.428vw;
  left: -2.128vw;
}

#mv p.banner img {
  width: 52.136vw;
  height: auto;
}

#mv ul {
  width: 100vw;
  margin: 6.384vw 0 7.448vw -4.522vw;
  background: #fff974;
  padding: 2.66vw 4.256vw;
}

#mv ul li {
  width: calc((100% / 3) - (2.128vw / 2));
  -webkit-box-shadow: none;
          box-shadow: none;
}

#mv ul li a {
  min-height: 29.792vw;
  font-size: 3.724vw;
  line-height: 1.14286;
  padding: 2.66vw 0 0 2.66vw;
  position: relative;
}

#mv ul li a:before {
  content: "";
  width: 8.512vw;
  height: 3.192vw;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjYuMTY5LjUgMTQgOC40MDQgMS44MzEuNUgyNi4xN1oiIGZpbGw9IiMyODQ4ODEiIHN0cm9rZT0iIzI4NDg4MSIvPjwvc3ZnPg==");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 2.128vw;
}

#mv ul li:nth-child(1) a {
  background-image: url("../img/mv_icon1_sp.svg");
}

#mv ul li:nth-child(2) a {
  background-image: url("../img/mv_icon2_sp.svg");
}

#mv ul li:nth-child(3) a {
  background-image: url("../img/mv_icon3_sp.svg");
}

#mv .text {
  font-weight: normal;
  font-size: 3.724vw;
  line-height: 1.42857;
  color: #000;
  margin-bottom: 25.536vw;
}

#ranking {
  width: 100vw;
  margin: 0 auto;
  position: relative;
}

#ranking h3 {
  display: block;
  font-size: 7.448vw;
  line-height: 0.57143;
  padding: 4.256vw 0 4.256vw 4.256vw;
}

#ranking h3 span {
  position: absolute;
  padding: 0;
  font-size: 3.724vw;
  line-height: 1.42857;
  top: -6.384vw;
  left: 4.256vw;
}

#ranking h3:before {
  width: calc(100% + 10.8vw);
  left: -5.4vw;
}

#ranking h3:after {
  width: 16.226vw;
  height: 38.304vw;
  top: -14.896vw;
  right: 2.6vw;
}

#ranking .tabArea2 {
  margin: 6.384vw 0 0;
  padding: 0 4.256vw;
}

#ranking .tabArea2:before {
  display: none;
}

#ranking .tabArea2 .tabNav ul,
#ranking .tabArea2 .tabNav2 ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

#ranking .tabArea2 .tabNav ul li,
#ranking .tabArea2 .tabNav2 ul li {
  width: calc(100% / 2);
  font-size: 3.724vw;
  line-height: 1.42857;
  padding: 1.064vw 3.7vw;
}

#ranking .tabArea2 .tabNav ul li br,
#ranking .tabArea2 .tabNav2 ul li br {
  display: block;
}

#ranking .tabArea2 .tabWrap {
  margin: 9.576vw 0 0 0;
  display: none;
}

#ranking .tabArea2 .tabWrap h4 {
  font-size: 5.32vw;
  line-height: 0.8;
  margin: 0 0 6.384vw;
}

#ranking .tabArea2 .tabWrap ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#ranking .tabArea2 .tabWrap ul li {
  width: calc((100% / 2) - calc(3.99vw / 2));
  margin: 0 0 5.32vw;
}

#ranking .tabArea2 .tabWrap ul li a figure img {
  width: 100%;
  height: 26.6vw;
}

#ranking .tabArea2 .tabWrap ul li a figcaption {
  padding: 3.192vw 3.192vw 4.256vw;
  font-size: 4.256vw;
  line-height: 1.25;
}

#ranking .tabArea2 .tabWrap.active {
  display: block;
}

#ranking .tabArea2 .tabNav2 {
  margin: 6.384vw 0 0;
}

#ranking .tabArea2 .tabWrap {
  margin: 7.448vw 0 0 0;
}

#ranking .tabArea2 .tabWrap h4 {
  font-size: 5.32vw;
  line-height: 1.4;
  margin: 0 0 6.384vw;
}

#ranking .tabArea2 .tabWrap ul li {
  margin: 0 0 4.256vw;
}

#ranking .tabArea2 .tabWrap ul li::before {
  font-size: 5.586vw;
  line-height: 1.71429;
}

#ranking .tabArea2 .tabWrap ul li .area {
  font-size: 3.192vw;
  line-height: 1.66667;
  margin: 1.064vw 0 0 0;
}

#ranking .tabArea2 .tabWrap ul li .text {
  font-size: 3.458vw;
  line-height: 1.53846;
}

#ranking .tabArea2 .tabWrap ul li .btn a {
  width: 100%;
  font-size: 3.724vw;
  line-height: 1.42857;
  padding: 1.862vw 0;
}

#ranking .tabArea2 .tabWrap ul li .btn a br {
  display: block;
}

#ranking .tabArea2 .tabWrap ul li .btn.big {
  margin-top: 9.576vw;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type {
  width: 100%;
  height: auto;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type:before {
  left: 1.064vw;
  top: 1.064vw;
  width: 12.768vw;
  height: 12.768vw;
  line-height: 12.768vw;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type figure img {
  width: 100%;
  height: 37.24vw;
  border-radius: 8px 8px 0 0;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type figure figcaption {
  padding: 3.192vw;
  margin-right: 0;
  width: 100%;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type figure h5 {
  font-size: 4.256vw;
  line-height: 1.25;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type figure .text {
  margin: 2.128vw 0 0 0;
}

#ranking .tabArea2 .tabWrap ul li:first-of-type figure .btn a {
  margin: 4.256vw auto 0;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) {
  width: 100%;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5):before {
  left: 1.064vw;
  top: 1.064vw;
  width: 12.768vw;
  height: 12.768vw;
  line-height: 12.768vw;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2) figure img,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3) figure img,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure img,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure img {
  width: 100%;
  height: 37.24vw;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2) figure figcaption,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3) figure figcaption,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure figcaption,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure figcaption {
  padding: 3.192vw;
  width: 100%;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2) figure h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3) figure h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure h5 {
  font-size: 4.256vw;
  line-height: 1.25;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2) figure .text,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3) figure .text,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure .text,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure .text {
  margin: 2.128vw 0 0 0;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(2) figure .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(3) figure .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure .btn a {
  margin: 4.256vw auto 0;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(4),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) {
  width: calc((100% - 3.99vw) / 2);
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure img,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure img {
  height: 26.6vw;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(4) figure .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5) figure .btn a {
  font-size: 3.192vw;
  line-height: 1.66667;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(4):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(5):before {
  height: 8.512vw;
  width: 8.512vw;
  line-height: 8.512vw;
  left: 0;
  top: 0;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9),
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10) {
  width: 100%;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6) a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7) a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8) a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9) a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10) a {
  padding: 2.128vw 31.654vw 2.128vw 13.832vw;
  position: relative;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9):before,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10):before {
  font-size: 5.586vw;
  line-height: 1.71429;
  height: 8.512vw;
  width: 8.512vw;
  line-height: 8.512vw;
  left: 2.128vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6) h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7) h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8) h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9) h5,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10) h5 {
  font-size: 3.724vw;
  line-height: 1.42857;
  padding: 0;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6) .area,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7) .area,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8) .area,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9) .area,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10) .area {
  margin: 1.064vw 0 0 0;
  padding: 0;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6) .btn,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7) .btn,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8) .btn,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9) .btn,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10) .btn {
  width: 25.536vw;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 3.192vw;
}

#ranking .tabArea2 .tabWrap ul li:nth-of-type(6) .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(7) .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(8) .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(9) .btn a,
#ranking .tabArea2 .tabWrap ul li:nth-of-type(10) .btn a {
  padding: 0.798vw 0;
  font-size: 3.192vw;
  line-height: 1.16667;
  letter-spacing: -0.04em;
}

#ranking .sns {
  background: #fff974;
  padding: 8.246vw 0 6.384vw;
  margin: 10.64vw 0 0 0;
}

#ranking .sns h4 {
  font-size: 5.32vw;
  line-height: 1.2;
  text-align: left;
  margin: 0 0 0 7.448vw;
}

#ranking .sns h4 br {
  display: block;
}

#ranking .sns div {
  margin: 3.458vw auto 0;
  width: 61.712vw;
  padding: 0;
}

#ranking .sns div:after {
  width: 41.0039vw;
  height: 44.422vw;
  bottom: -6.384vw;
  right: -29vw;
}

#ranking .sns ul {
  width: 61.712vw;
}

#ranking .sns ul li {
  width: calc((100% / 2) - (3.192vw / 2));
  margin: 0 0 2.128vw;
}

#ranking .sns ul li a {
  padding: 3.192vw 0;
  font-size: 3.192vw;
  line-height: 1.66667;
  line-height: 7.98vw;
}

#ranking .sns ul li a img {
  width: 7.98vw;
  height: auto;
  margin: 0 3.724vw 0 4.256vw;
}

#ranking .sns ul li {
  width: 17.024vw;
  margin-bottom: 0;
}

#ranking .sns ul li a {
  text-align: center;
  padding: 4.522vw 0;
}

#ranking .sns ul li a img {
  margin: 0 auto;
}

#ranking .sns ul li a span {
  display: none;
}

#ranking .ate {
  font-size: 3.724vw;
  line-height: 1.42857;
  width: 100%;
  padding: 0 4.256vw;
  margin: 6.384vw auto 30.856vw;
}

#area {
  width: 100vw;
  margin: 0 auto;
  position: relative;
}

#area h3 {
  display: block;
  font-size: 7.448vw;
  line-height: 0.57143;
  padding: 4.256vw 0 4.256vw 4.256vw;
}

#area h3 span {
  position: absolute;
  padding: 0;
  font-size: 3.724vw;
  line-height: 1.42857;
  top: -6.384vw;
  left: 4.256vw;
}

#area h3:before {
  width: calc(100% + 10.8vw);
  left: -5.4vw;
}

#area h3:after {
  width: 17.42034vw;
  height: 34.048vw;
  top: -14.896vw;
  right: 6.58616vw;
}

#area .tabArea {
  margin: 6.384vw 0 0;
  padding: 0 4.256vw;
}

#area .tabArea .tabNav ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

#area .tabArea .tabNav ul li {
  width: auto;
  font-size: 3.724vw;
  line-height: 1.42857;
  padding: 1.064vw 3.7vw;
}

#area .tabArea .tabWrap {
  margin: 9.576vw 0 0 0;
  display: none;
}

#area .tabArea .tabWrap h4 {
  font-size: 5.32vw;
  line-height: 0.8;
  margin: 0 0 6.384vw;
}

#area .tabArea .tabWrap ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#area .tabArea .tabWrap ul li {
  width: calc((100% / 2) - calc(3.99vw / 2));
  margin: 0 0 5.32vw;
}

#area .tabArea .tabWrap ul li a figure img {
  width: 100%;
  height: 26.6vw;
}

#area .tabArea .tabWrap ul li a figcaption {
  padding: 3.192vw 3.192vw 4.256vw;
  font-size: 4.256vw;
  line-height: 1.25;
}

#area .tabArea .tabWrap.active {
  display: block;
}

#area .tabArea .tabWrap:before {
  width: 21.8519vw;
  height: 35.112vw;
  right: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: auto;
  bottom: -39.368vw;
}

#area .popular {
  margin: 49.476vw 0 20.52vw 0;
  padding: 0 4.256vw;
}

#area .popular h4 {
  font-size: 5.32vw;
  line-height: 0.8;
  margin: 0 0 6.384vw;
}

#area .popular ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#area .popular ul li {
  width: calc((100% / 2) - calc(3.99vw / 2));
  margin: 0 0 5.32vw;
}

#area .popular ul li a figure img {
  width: 100%;
  height: 26.6vw;
}

#area .popular ul li a figcaption {
  padding: 3.192vw 3.192vw 4.256vw;
  font-size: 4.256vw;
  line-height: 1.25;
}

#knowledge {
  width: 100vw;
  margin: 0 auto;
  position: relative;
}

#knowledge h3 {
  display: block;
  font-size: 7.448vw;
  line-height: 0.57143;
  padding: 4.256vw 0 4.256vw 4.256vw;
}

#knowledge h3 span {
  position: absolute;
  padding: 0;
  font-size: 3.724vw;
  line-height: 1.42857;
  top: -6.384vw;
  left: 4.256vw;
}

#knowledge h3:before {
  width: calc(100% + 10.8vw);
  left: -5.4vw;
}

#knowledge h3:after {
  width: 34.1766vw;
  height: 34.56vw;
  top: -15.12vw;
  right: 4.4334vw;
}

#knowledge h4 {
  padding: 0 0 0 5.852vw;
  margin: 0 0 9.044vw;
  font-size: 5.32vw;
  line-height: 0.8;
}

#knowledge h4:before {
  width: 2.128vw;
  height: 9.576vw;
}

#knowledge .box1:before,
#knowledge .box2:before {
  left: auto;
  right: 4.522vw;
}

#knowledge .box1 p,
#knowledge .box2 p {
  font-size: 3.724vw;
  line-height: 1.71429;
  margin: 0 0 4.256vw;
}

#knowledge .box1 ol,
#knowledge .box2 ol {
  width: 100vw;
  margin: 0 auto;
  position: relative;
}

#knowledge .box1 ol li,
#knowledge .box2 ol li {
  font-size: 3.724vw;
  line-height: 1.71429;
  padding: 0 0 0 5.4vw;
  margin: 0 0 3.24vw;
}

#knowledge .box1 ol li:before,
#knowledge .box2 ol li:before {
  font-size: 3.724vw;
  line-height: 1.71429;
}

#knowledge .box1 {
  padding: 12.768vw 5.32vw 0 4.256vw;
}

#knowledge .box1:before {
  width: 26.46vw;
  height: 30.78vw;
}

#knowledge .box1 ol li:nth-child(n + 4) {
  width: 59.4vw;
}

#knowledge .box2 {
  padding: 10.108vw 5.32vw 0 4.256vw;
}

#knowledge .box2:before {
  display: none;
}

#knowledge .box3 {
  padding: 13.5vw 4.256vw 0;
}

#knowledge .box3 h4 + p {
  font-size: 4.788vw;
  line-height: 1.33333;
  margin: 0 0 6.384vw;
  text-align: left;
}

#knowledge .box3 ol li {
  margin: 0;
}

#knowledge .box3 ol li h5 {
  font-weight: bold;
  font-size: 4.788vw;
  line-height: 1.33333;
  margin: 0 0 3.192vw;
  display: block;
}

#knowledge .box3 ol li figure {
  width: 100%;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#knowledge .box3 ol li figure img {
  height: 34.048vw;
  width: auto;
  display: block;
  margin: 0 auto;
}

#knowledge .box3 ol li figure figcaption {
  width: 100%;
}

#knowledge .box3 ol li figure figcaption h5 {
  display: none;
}

#knowledge .box3 ol li figure figcaption p {
  font-size: 3.724vw;
  line-height: 1.71429;
  margin: 0 0 8.512vw;
}

#knowledge .box3 ol + p {
  padding: 3.192vw;
  margin: 0 0 5.32vw 0;
  font-size: 3.724vw;
  line-height: 1.71429;
}

#knowledge .box3 ol + p + p {
  font-size: 2.926vw;
  line-height: 2.18182;
}

#knowledge .recommend {
  margin: 15.96vw 4.256vw 18.62vw;
}

#knowledge .recommend h4 {
  font-size: 5.32vw;
  line-height: 0.8;
  margin: 0 0 6.384vw;
}

#knowledge .recommend ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#knowledge .recommend ul li {
  width: calc((100% / 2) - calc(3.99vw / 2));
  margin: 0 0 5.32vw;
}

#knowledge .recommend ul li a figure img {
  width: 100%;
  height: 26.6vw;
}

#knowledge .recommend ul li a figcaption {
  padding: 3.192vw 3.192vw 4.256vw;
  font-size: 4.256vw;
  line-height: 1.25;
}

#campaign {
  width: 100vw;
  margin: 0 auto;
  position: relative;
}

#campaign h3 {
  display: block;
  font-size: 7.448vw;
  line-height: 0.57143;
  padding: 4.256vw 0 4.256vw 4.256vw;
}

#campaign h3 span {
  position: absolute;
  padding: 0;
  font-size: 3.724vw;
  line-height: 1.42857;
  top: -6.384vw;
  left: 4.256vw;
}

#campaign h3:before {
  width: calc(100% + 10.8vw);
  left: -5.4vw;
}

#campaign h3:after {
  width: 23.77774vw;
  height: 34.048vw;
  top: -13.3vw;
  right: 4.41826vw;
}

#campaign h4 {
  margin: 11.704vw auto 10.64vw;
}

#campaign h4 img {
  width: 90.174vw;
  height: auto;
}

#campaign h4:before {
  display: none;
}

#campaign dl {
  width: 100vw;
  margin: 0 auto;
  position: relative;
  padding: 0 4.256vw;
  margin: 0 auto 6.384vw;
  display: block;
  text-align: center;
}

#campaign dl dt {
  font-size: 4.256vw;
  line-height: 1.75;
  padding: 0.266vw 4.256vw;
  margin: 0 auto 3.458vw;
  width: auto;
  display: inline-block;
}

#campaign dl dd {
  font-size: 5.32vw;
  line-height: 1.4;
}

#campaign dl:nth-of-type(2) dt {
  padding: 0.266vw 4.256vw;
}

#campaign dl:nth-of-type(2) dd {
  padding: 0;
}

#campaign .how,
#campaign .how2 {
  border: 5px solid #fff974;
  border-top: 40.432vw solid #fff974;
  width: calc(100vw - 8.512vw);
  padding: 6.384vw;
}

#campaign .how h5,
#campaign .how2 h5 {
  font-size: 6.384vw;
  line-height: 1.16667;
  margin: 0 0 8.512vw;
}

#campaign .how ol,
#campaign .how2 ol {
  counter-reset: number;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#campaign .how ol li,
#campaign .how2 ol li {
  width: 100%;
}

#campaign .how ol li:before,
#campaign .how2 ol li:before {
  font-size: 5.32vw;
  line-height: 1.4;
  margin: 0 0 5.32vw;
}

#campaign .how ol li figure img,
#campaign .how2 ol li figure img {
  display: block;
  margin: 0 auto 3.192vw;
  width: calc(100% - 17.024vw);
  height: auto;
}

#campaign .how ol li figure figcaption p,
#campaign .how2 ol li figure figcaption p {
  font-size: 3.724vw;
  line-height: 1.42857;
  margin: 0 0 4.256vw;
}

#campaign .how ol li figure figcaption p.btn,
#campaign .how2 ol li figure figcaption p.btn {
  margin: 0 0 10.64vw;
}

#campaign .how ol li figure figcaption p.btn a,
#campaign .how2 ol li figure figcaption p.btn a {
  font-size: 5.32vw;
  line-height: 1;
  line-height: calc(13.832vw - 4px);
  height: 13.832vw;
}

#campaign .how ol li figure figcaption p.btn2 a,
#campaign .how2 ol li figure figcaption p.btn2 a {
  font-size: 5.32vw;
  line-height: 1;
  line-height: calc(13.832vw - 4px);
  height: 13.832vw;
}

#campaign .how p,
#campaign .how2 p {
  font-size: 3.724vw;
  line-height: 1.42857;
  text-align: left;
}

#campaign .how {
  margin: 13.3vw auto 5.32vw;
}

#campaign .how:before {
  width: 90.706vw;
  height: 43.092vw;
  top: -42.56vw;
}

#campaign .how2 {
  margin: 0 auto 10.64vw;
}

#campaign .how2:before {
  width: 79.268vw;
  height: 39.368vw;
  top: -39.368vw;
}

#attention {
  padding: 0 4.256vw 15.96vw;
}

#attention h3 {
  color: #000;
  margin: 0 0 3.192vw;
  font-size: 4.256vw;
  line-height: 1.5;
}

#attention ul {
  width: 100%;
  font-size: 3.724vw;
  line-height: 1.71429;
}

#sns {
  padding: 6.384vw 0;
}

#sns ul {
  width: calc(100% - 14.896vw);
}

#sns ul li {
  width: calc((100% / 2) - (3.192vw / 2));
  margin: 0 0 2.128vw;
}

#sns ul li a {
  padding: 3.192vw 0;
  font-size: 3.192vw;
  line-height: 1.66667;
  line-height: 7.98vw;
}

#sns ul li a img {
  width: 7.98vw;
  height: auto;
  margin: 0 3.724vw 0 4.256vw;
}

footer .contact {
  padding: 10.64vw 9.576vw;
}

footer .contact:before {
  width: 17.822vw;
  height: 30.058vw;
  bottom: -16.226;
  left: auto;
  -webkit-transform: none;
          transform: none;
  right: 7.98vw;
}

footer .contact h3 {
  font-size: 5.32vw;
  line-height: 1.2;
}

footer .contact p.btn {
  margin: 10.64vw 0 4.522vw;
}

footer .contact p.btn a {
  margin: 0;
  width: 100%;
  font-size: 4.256vw;
  line-height: 1.25;
  padding: 1.596vw 0;
}

footer .contact p:not(.btn) {
  font-size: 3.724vw;
  line-height: 1.71429;
  text-align: left;
}

footer .link {
  font-size: 3.724vw;
  line-height: 1.71429;
  width: 100vw;
  margin: 0 auto;
  position: relative;
  padding: 6.384vw 4.256vw;
}

footer .link ul li {
  margin: 0 0 1.064vw;
}

header {
  width: 100vw;
  margin: 0 auto;
  position: relative;
  padding: 2.7vw 5.4vw;
}

header h1 img {
  height: 5.32vw;
  width: auto;
  vertical-align: baseline;
}

header .tit {
  display: none;
}

header .btn-about {
  display: none;
}

.pc {
  display: none;
}

.sp {
  display: block;
}
/*# sourceMappingURL=sp.css.map */