@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap');

body {
  padding: 0;
  margin: 0;
  position: relative;
}
p, ul, li {
  margin: 0;
  padding: 0;
}
.wrapper {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 0;
  color: #414141;
  background: #fff;
}
.wrapper * {
  box-sizing: border-box;
  letter-spacing: 0.1em;
  margin: 0;
  padding: 0;
}

.header {
  background: rgb(2,0,36);
  background: linear-gradient(0deg, rgba(2,0,36,1) 0%, rgba(236,248,213,1) 0%, rgba(255,255,255,1) 100%);
}
.header-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 0 228px;
  width: 1040px;
  margin: 0 auto;
  background-image: url("/cp/202312-ikugyo/assets/img/header_bg_main.png"), url("/cp/202312-ikugyo/assets/img/header_bg_01.svg"), url("/cp/202312-ikugyo/assets/img/header_bg_02.svg"), url("/cp/202312-ikugyo/assets/img/header_bg_03.svg"), url("/cp/202312-ikugyo/assets/img/header_bg_04.svg"), url("/cp/202312-ikugyo/assets/img/logo_ikugyo.svg");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 667px auto, 135px auto, 90px auto, 69px auto, 85px auto, 70px auto;
  background-position: bottom 3px left 58%, left 54px top 22px, top 137px left 152px, top 146px right 165px, top 22px right 70px, bottom 37px right 34px;
  position: relative;
}
.header-hdg {
  font-weight: 500;
  font-style: normal;
  text-align: center;
  font-size: 71px;
  color: #41AF55;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
}
.header-hdg-img {
  width: 530px;
  height: auto;
  margin: 7px auto 0;
  transform: translateX(-8px);
}
.header-hdg-img-sub {
  width: 340px;
  height: auto;
}
.header-label {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 25px;
  color: #fff;
  height: 61px;
  border-radius: 35px;
  background: #41AF55;
  padding: 0 36px;
  margin: 22px auto 0;
}
.header-badge {
  position: absolute;
  background: #9BC855;
  width: 212px;
  height: 212px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  color: #fff !important;
  line-height: 1.3;
  left: 30px;
  bottom: -32px;
}
.header-badge-xs {
  font-size: 17px;
}
.header-badge-s {
  font-size: 24px;
}
.header-badge-m {
  font-size: 28px;
}
.header-badge-l {
  font-size: 29px;
}
.header-sub {
  width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 23px 0;
}
.header-sub-itm {
  width: 50%;
}
.header-sub-itm-txt {
  text-align: center;
  color: #41AF55;
  font-size: 18px;
  padding: 13px 0;
  border: solid 2px #41AF55;
  width: 331px;
  margin-left: auto;
  margin-right: 30px;
}
.header-sub-itm-list {
  list-style: none;
  color: #41AF55;
  font-size: 20px;
}
.header-sub-itm-list-itm + .header-sub-itm-list-itm {
  margin-top: 9px;
}
.header-sub-itm-list-itm-head {
  display: inline-block;
  background: #41AF55;
  padding: 6px 12px;
  color: #fff;
  font-size: 15px;
  border-radius: 30px;
  margin-right: 14px;
  position: relative;
}
.header-sub-itm-list-itm-head-s {
  font-size: 11px;
}
.header-sub-itm-list-itm-head::after {
  content: "";
  height: 80%;
  width: 1px;
  background: #fff;
  top:0;
  bottom: 0;
  right:36px;
  margin: auto;
  position: absolute;
}
.about {
  background: #FFFBED;
  padding: 44px 0;
  text-align: center;
}
.about-txt {
  font-size: 22px;
  line-height: calc(40 / 22);
}
.about-btn {
  margin: 36px auto 0;
  width: 354px;
  height: 65px;
  border-radius: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff !important;
  font-size: 28px;
  position: relative;
  text-decoration: none;
  transition: 0.3s;
  background:linear-gradient(-90deg,rgba(65,175,85,1) 0%, rgba(65,175,85,1) 25%, rgba(155,200,85,1) 50%, rgba(65,175,85,1) 100%, rgba(65,175,85,1) 75%);
  background-size:200% 100%;
}
@media screen and (min-width: 769px), print{
  .about-btn:hover {
    background-position:100% 0;
    color: #fff !important;
  }
}
.about-btn::after {
  content: "";
  display: block;
  width: 20px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 40px;
  background: url("/cp/202312-ikugyo/assets/img/ico_blank.svg") no-repeat center center / 100% auto;
}
.content {
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.content-list {
  list-style: none;
  padding-left: 28px;
}
.content-list-itm {
  position: relative;
  font-size: 22px;
}
.content-list-itm + .content-list-itm {
  margin-top: 16px;
}
.content-list-itm::before {
  content: "";
  width: 18px;
  height: 18px;
  background: #41AF55;
  border-radius: 50%;
  left: -24px;
  top: 8px;
  position: absolute;
}
.content-txt {
  text-align: center;
  font-size: 22px;
  line-height: calc(40 / 22);
}
.content-txt-note {
  text-align: left;
  font-size: 22px;
  line-height: calc(40 / 22);
  color: #E4002B;
}
.nav {
  padding: 0 0 47px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.nav-hdg {
  width: 200px;
  height: 50px;
  color: #fff !important;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  background: #9BC855;
  border-radius: 30px;
  margin-bottom: 26px;
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (min-width: 769px), print{
  .nav-hdg:hover {
    background: #41AF55;
    color: #fff !important;
  }
}
.nav-list {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  gap: 45px;
}
.nav-list a {
  display: block;
  color: #414141;
  text-decoration: none;
}
.nav-list a::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("/cp/202312-ikugyo/assets/img/ico_link.svg") no-repeat center center / 100% auto;
  margin: 2px 0 0 10px;
  transition: 0.3s;
}
@media screen and (min-width: 769px), print{
  .nav-list a:hover::after {
    transform: translateY(3px);
  }
}

.nav-related {
  padding: 41px 0 47px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #F0F7E5;
}
.nav-related-hdg {
  width: 341px;
  height: 62px;
  color: #fff !important;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  border-radius: 40px;
  margin-bottom: 26px;
  text-decoration: none;
  background:linear-gradient(-90deg,rgba(65,175,85,1) 0%, rgba(65,175,85,1) 25%, rgba(155,200,85,1) 50%, rgba(65,175,85,1) 100%, rgba(65,175,85,1) 75%);
  background-size:200% 100%;
  transition: 0.3s;
}
@media screen and (min-width: 769px), print{
  .nav-related-hdg:hover {
    background-position:100% 0;
  }
}
.nav-related-list {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  gap: 45px;
}
.nav-related-list a {
  display: block;
  color: #41AF55;
}
.nav-related-list a::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("/cp/202312-ikugyo/assets/img/ico_link_g.svg") no-repeat center center / 100% auto;
  margin: 2px 0 0 10px;
  transition: 0.3s;
}
@media screen and (min-width: 769px), print{
  .nav-related-list a:hover::after {
    transform: translateY(3px);
  }
}
.episode {
  margin-top: 41px;
}
.episode-hdg,.related-hdg {
  font-size: 32px;
  background: #9BC855;
  line-height: 80px;
  color: #fff !important;
  text-align: center;
}
.episode-list {
  display: flex;
  justify-content: space-between;
  width: 1040px;
  margin: 55px auto 0;
  list-style: none;
  flex-wrap: wrap;
  gap: 15px 20px;
}
.episode-list-itm {
  width: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 0px 10px -4px #777777;
  padding: 20px;
}
.episode-list-itm-pic {
  display: block;
  background: #ddd;
  width: 100%;
  line-height: 0;
}
.episode-list-itm-pic img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.episode-list-itm-txt {
  font-size: 16px;
  margin-top: 16px;
  font-weight: 500;
  text-align: left;
  width: 100%;
}
.episode-list-itm-note {
  font-size: 14px;
  margin-top: 16px;
  font-weight: 500;
  text-align: left;
  width: 100%;
}
.episode-list-itm-info {
  font-size: 14px;
  text-align: right !important;
  width: 100%;
  margin-top: auto;
  padding-top: 1em;
}

.u-mb15 {
  margin-bottom: 15px;
}

.u-mb30 {
  margin-bottom: 30px;
}

.requirements, .regulations, .howto {
  width: 1040px;
  margin: 0 auto;
}

.howto-list {
  list-style: none;
  margin-top: 25px;
}
.howto-list-itm {
  background: #F0F7E5;
  border-radius: 6px;
  padding: 22px 100px 39px;
}
.howto-list-itm + .howto-list-itm {
  margin-top: 32px;
}
.howto-list-itm-hdg {
  font-weight: 400;
  font-style: normal;
  color: #41AF55;
  font-size: 36px;
  text-align: center;
  margin-bottom: 23px;
}
.howto-list-itm-txt {
  font-size: 18px;
  line-height: calc(26 / 18);
}
.howto-list-itm-note {
  font-size: 14px;
  line-height: calc(20 / 14);
  margin-top: 23px;
}
.howto-list-itm-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:30px;
  width: 358px;
  height: 74px;
  color: #fff;
  margin: 23px auto 0;
  border-radius: 10px;
  font-size: 23px;
  text-decoration: none;
  transition: 0.3s;
  background:linear-gradient(-90deg,rgba(65,175,85,1) 0%, rgba(65,175,85,1) 25%, rgba(155,200,85,1) 50%, rgba(65,175,85,1) 100%, rgba(65,175,85,1) 75%);
  background-size:200% 100%;
}
@media screen and (min-width: 769px), print{
  .howto-list-itm-btn:hover {
    background-position:100% 0;
  }
}
.howto-list-itm-btn::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
}
.howto-list-itm-btn::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 100%;
  background: url("/cp/202312-ikugyo/assets/img/ico_blank.svg") no-repeat center center / 100% auto;
}
.howto-list-itm-pic {
  text-align: center;
}
.howto-list-itm-pic-caption {
  font-size: 20px;
  color: #41AF55;
  margin-top: 23px;
}
.howto-list-itm-pic img {
  width: 280px;
  height: auto;
  margin-top: 14px;
}
.related {
  background: #F0F7E5;
  padding-bottom: 74px;
  margin-top: 80px;
}
.related-list-hdg {
  text-align: center;
  font-size: 28px;
  color: #41AF55;
  margin: 40px auto 0;
  width: 1040px;
}
.related-list {
  list-style: none;
  margin: 40px auto 80px;
  width: 1040px;
  display: flex;
  justify-content: center;
  gap: 29px 28px;
  flex-wrap: wrap;
}
.related-list-itm {
  width: 410px;
  height: 100px;
}
.related-list-itm-link {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  text-decoration: none;
  padding: 11px;
  border-radius: 10px;
  color: #414141;
  transition: 0.3s;
  position: relative;
}
.related-list-itm-link[target=_blank]::after {
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 22px;
  background: url("/cp/202312-ikugyo/assets/img/ico_blank_g.svg") no-repeat center center / contain;
}
@media screen and (min-width: 769px), print{
  .related-list-itm-link:hover {
    box-shadow:0 0 0 5px #41AF55 inset;
  }
}
.related-list-itm-pic {
  width: 78px;
  height: 80px;
  object-fit: contain;
}
.related-list-itm-txt {
  font-size: 18px;
  width: 290px;
}
.related-list-itm-txt-s {
  font-size: 14px;
  letter-spacing: 0;
}
.sec-hdg-lv2 {
  height: 81px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 80px;
  background: #9BC855;
  font-size: 32px;
  color: #fff;
}
.requirements-block, .regulations-block {
  width: 900px;
  margin: 48px auto 0;
  color: #333;
  line-height: calc(28/16);
  padding-bottom: 60px;
}
.requirements-list-dt, .regulations-list-dt {
  height: 47px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  font-size: 18px;
  color: #41AF55;
}
.requirements-list-dd, .regulations-list-dd {
  padding: 0 20px 24px;
  font-family: "Roboto", "YakuHanJP", "BaseFont-JP", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
.requirements-list-txt, .regulations-list-txt {
  font-size: 16px;
}
.requirements-list-txt + .requirements-list-note,
.regulations-list-txt + .regulations-list-note {
  margin-top: 10px;
}
.requirements-list-note,
.regulations-list-note {
  font-size: 14px;
  padding-left: 1em;
  position: relative;
}
.requirements-list-note::before,
.regulations-list-note::before {
  content: "※";
  position: absolute;
  display: block;
  top: 0;
  left:0;
}
.regulations-ulist-list,
.requirements-list-list,
.regulations-list-list,
.requirements-list-ulist,
.regulations-list-ulist {
  padding-left: 20px;
}
.requirements-list-list-itm.r-note {
  font-size: 14px;
}
.l-pagetop-wrap {
	display: none;
	position: fixed;
	z-index: 999;
	background-image: url(/cp/202308-tw-yasai-day/assets/img/arrow_circle.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
  right: 20px;
  bottom: 52px;
  width: 40px;
  height: 40px;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}
.u-txt-to-speech {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  color: transparent;
}
.u-externallink span{
  overflow: hidden;
  color: transparent;
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 3px;
}
.js-accordion-dt {
  position: relative;
  cursor: pointer;
}
.js-accordion-dt::before {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  background: #fff;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  right: 33px;
}
:not(.is-open) .js-accordion-dt::after {
  content: "";
  display: block;
  width: 3px;
  height: 28px;
  background: #fff;
  border-radius: 1px;
  position: absolute;
  top: calc(50% - 13px);
  right: 45px;
}
.is-open .js-accordion-dt::after {
  content: none;
}
.js-accordion-dd {
  display: none;
}
.is-open .js-accordion-dd {
  display: block;
}
.u-link {
  color: #418DAF;
  text-decoration: underline;
}
@media screen and (max-width: 768px){
.u-externallink span{padding-right:9px!important;padding-right:2.4vw!important;padding-left:9px!important;padding-left:2.4vw!important;}
}
.u-externallink span:before{border-bottom:1px solid #000!important;border-left:1px solid #000!important;content:''!important;display:block!important;position:absolute!important;top:50%!important;z-index:1!important;}
@media screen and (min-width: 769px), print{
.u-externallink span:before{width:6px!important;height:6px!important;right:3px!important;margin-top:-3px!important;}
}
@media screen and (max-width: 768px){
.u-externallink span:before{height:5px!important;height:1.33333vw!important;width:5px!important;width:1.33333vw!important;right:7.5px!important;right:2vw!important;margin-top:-1.5px!important;margin-top:-0.4vw!important;}
}
.u-externallink span:after{content:''!important;display:block!important;position:absolute!important;top:50%!important;z-index:1!important;border:1px solid #000!important;}
@media screen and (min-width: 769px), print{
.u-externallink span:after{width:6px!important;height:6px!important;right:0!important;margin-top:-6px!important;}
}
@media screen and (max-width: 768px){
.u-externallink span:after{height:5px!important;height:1.33333vw!important;width:5px!important;width:1.33333vw!important;right:4px!important;right:1.06667vw!important;margin-top:-5px!important;margin-top:-1.33333vw!important;}
}

@media screen and (max-width: 767px){
  .wrapper {
    width: 100%;
    margin: 0;
    padding-bottom: 0;
  }
  .header-wrap {
    overflow: hidden;
  }
  .header-inner {
    padding: 3.466666667vw 3.466666667vw 82.66666667vw;
    width: 99%;
    background: transparent;
  }
  .header-inner::after {
    content: "";
    display: block;
    width: 100%;
    height: 85.66666667vw;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: url("/cp/202312-ikugyo/assets/img/header_bg_main_sp.png") no-repeat bottom 0.8vw center / 94% auto;
    position: absolute;
  }
  .header-hdg {
    font-size: 11.2vw;
  }
  .header-hdg-s {
    font-size: 8.533333333vw;
  }
  .header-hdg-img {
    width: 83vw;
    margin: 1vw auto 0;
    transform: translateX(-1.1vw);
  }
  .header-hdg-img-sub {
    width: 68vw;
  }
  .header-label {
    font-size: 5vw;
    line-height: 11.46666667vw;
    border-radius: 7vw;
    padding: 0;
    margin: 3.166666667vw auto 0;
    width: 100%;
    text-align: center;
    height: 11.93333333vw;
  }
  .header-badge {
    width: 46.4vw;
    height: 46.4vw;
    padding-left: 8.333333333vw;
    padding-bottom: 2.133333333vw;
    left: -9.066666667vw;
    bottom: -44.666666667vw;
    z-index: 10;
  }
  .header-badge-xs {
    font-size: 3.466666667vw;
  }
  .header-badge-s {
    font-size: 5.066666667vw;
  }
  .header-badge-m,
  .header-badge-l {
    font-size: 5.6vw;
  }
  .header-sub {
    width: 100%;
    flex-direction: column;
    padding: 2.933333333vw 0 2.666666667vw 38.13333333vw;
    position: relative;
  }
  .header-sub::after {
    content: "";
    width: 20vw;
    height: 100%;
    display: block;
    background: #ECF8D5;
    position: absolute;
    top:0;
    left:0;
  }
  .header-sub-itm {
    width: 100%;
  }
  .header-sub-itm-txt {
    font-size: 3.2vw;
    padding: 0.8vw 0;
    border: solid 0.533333333vw #41AF55;
    width: 59.2vw;
    margin-left: auto;
    margin: 0 auto;
    line-height: 1.2;
  }
  .header-sub-itm-list {
    font-size: 3.733333333vw;
    margin-top: 2vw;
  }
  .header-sub-itm-list-itm {
    position: relative;
    padding-left: 18vw;
    line-height: 1.2;
  }
  .header-sub-itm-list-itm + .header-sub-itm-list-itm {
    margin-top: 1.6vw;
  }
  .header-sub-itm-list-itm-head {
    padding: 1.333333333vw 2.4vw;
    font-size: 2.666666667vw;
    border-radius: 6vw;
    margin-right: 1.866666667vw;
    display: block;
    position: absolute;
    top:-1vw;
    left: 2vw;
  }
  .header-sub-itm-list-itm-head-s {
    font-size: 1.866666667vw;
  }
  .header-sub-itm-list-itm-head::after {
    right:6.6vw;
  }
  .u-top-m {
    top: 1.3vw;
  }
  .about {
    padding: 7.466666667vw 5.6vw;
    text-align: left;
  }
  .about-txt {
    font-size: 3.733333333vw;
    line-height: calc(24 / 14);
  }
  .about-btn {
    margin: 5.6vw auto 0;
    width: 72.53333333vw;
    height: 13.33333333vw;
    border-radius: 10vw;
    font-size: 5.6vw;
  }
  .about-btn::after {
    width: 4.104vw;
    right: 8vw;
  }
  .content {
    padding: 7.2vw 0;
  }
  .content-list {
    padding-left: 6vw;
    width: 88.8vw;
    margin: 0 auto;
  }
  .content-list-itm {
    font-size: 3.733333333vw;
  }
  .content-list-itm + .content-list-itm {
    margin-top: 2.266666667vw;
  }
  .content-list-itm::before {
    width: 3.733333333vw;
    height: 3.733333333vw;
    left: -6.433333333vw;
    top: 1.333333333vw;
  }
  .content-txt {
    text-align: left;
    font-size: 3.733333333vw;
    width: 88.8vw;
    margin: 0 auto;
  }
  .content-txt-note {
    text-align: left;
    font-size: 3.733333333vw;
    width: 88.8vw;
    margin: 0 auto;
  }
  .nav {
    padding: 0 0 9.066666667vw;
  }
  .nav-hdg {
    width: 53.33333333vw;
    height: 13.33333333vw;
    font-size: 5.333333333vw;
    border-radius: 10vw;
    margin-bottom: 4.693333333vw;
  }
  .nav-list {
    font-size: 4.266666667vw;
    gap: 10.66666667vw;
  }
  .nav-list a::after {
    width: 2.666666667vw;
    height: 2.666666667vw;
    margin: 0.533333333vw 0 0 2.666666667vw;
  }
  .nav-related {
    padding: 7.466666667vw 0;
  }
  .nav-related-hdg {
    width: 72.53333333vw;
    height: 13.33333333vw;
    font-size: 5.866666667vw;
    border-radius: 10vw;
    margin-bottom: 6.4vw;
  }
  .nav-related-list {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 4.266666667vw;
    gap: 3.466666667vw;
    width: 60vw;
    margin: 0 auto;
  }
  .nav-related-list a::after {
    content: "";
    display: inline-block;
    width: 2.666666667vw;
    height: 2.666666667vw;
    margin: 0.533333333vw 0 0 2.666666667vw;
  }
  .episode {
    margin-top: 8vw;
  }
  .episode-hdg,.related-hdg {
    height: 16vw;
    line-height: 16vw;
    margin-top: 8vw;
    font-size: 5.333333333vw;
  }
  .episode-list {
    flex-direction: column;
    width: 90.4vw;
    margin: 4vw auto 0;
    gap: 8vw;
  }
  .episode-list-itm {
    width: 100%;
    padding: 4vw;
  }
  .episode-list-itm-pic {
    width: 100%;
    display: block;
  }
  .episode-list-itm-pic img {
    height: 60vw;
  }
  .episode-list-itm-txt {
    font-size: 3.733333333vw;
    margin-top: 2.8vw;
  }
  .episode-list-itm-note {
    font-size: 3.2vw;
    margin-top: 5.6vw;
  }
  .episode-list-itm-info {
    margin-top: 2.5vw;
    font-size: 3.2vw;
  }

  .u-mb15 {
    margin-bottom: 4vw;
  }
  .u-mb30 {
    margin-bottom: 7vw;
  }

  .requirements, .regulations, .howto {
    width: 100%;
  }

  .howto-list {
    margin-top: 7.466666667vw;
  }
  .howto-list-itm {
    border-radius: 1.6vw;
    padding: 7.733333333vw 4.266666667vw;
  }
  .howto-list-itm + .howto-list-itm {
    margin-top: 8.533333333vw;
  }
  .howto-list-itm-hdg {
    font-size: 7.466666667vw;
    margin-bottom: 6.933333333vw;
  }
  .howto-list-itm-txt {
    font-size: 3.733333333vw;
  }
  .howto-list-itm-note {
    font-size: 3.2vw;
    margin-top: 7.733333333vw;
  }
  .howto-list-itm-btn {
    gap:3.4vw;
    width: 64.53333333vw;
    height: 13.33333333vw;
    margin: 6.933333333vw auto 0;
    border-radius: 2.666666667vw;
    font-size: 4.2vw;
  }
  .howto-list-itm-btn::before {
    width: 2.133333333vw;
    height: 2.133333333vw;
    border: 0.533333333vw solid;
    border-color: #fff #fff transparent transparent;
  }
  .howto-list-itm-btn::after {
    width: 4vw;
  }
  .howto-list-itm-pic-caption {
    font-size: 5.333333333vw;
    margin-top: 10.93333333vw;
  }
  .howto-list-itm-pic img {
    width: 100%;
    margin-top: 3.733333333vw;
  }
  .related {
    padding-bottom: 12.8vw;
    margin-top: 0;
  }
  .related-list-hdg {
    font-size: 5.333333333vw;
    margin: 5.333333333vw auto 0;
    width: 90.4vw;
  }
  .related-list {
    margin: 4.533333333vw auto 16vw;
    width: 90.4vw;
    gap: 6.4vw;
    flex-direction: column;
  }
  .related-list-itm {
    width: 100%;
    height: 26.66666667vw;
  }
  .related-list-itm-link {
    gap: 4vw;
    padding: 2.666666667vw;
    border-radius: 2.666666667vw;
  }
  .related-list-itm-link[target=_blank]::after {
    width: 4.2vw;
    height: 4.2vw;
    right: 4.1vw;
  }
  .related-list-itm-pic {
    width: 21.33333333vw;
    height: 21.33333333vw;
  }
  .related-list-itm-txt {
    font-size: 3.8vw;
    width: 60vw;
  }
  .related-list-itm-txt-s {
    font-size: 3.233333333vw;
  }
  .sec-hdg-lv2 {
    height: 16vw;
    margin-top: 8vw;
    font-size: 5.333333333vw;
  }

  .requirements-block, .regulations-block {
    width: 88.8vw;
    margin: 8.266666667vw auto 0;
    padding-bottom: 10.66666667vw;
  }
  .requirements-list-dt, .regulations-list-dt {
    height: 12.53333333vw;
    padding: 0 2.666666667vw;
    font-size: 4.266666667vw;
    background: url("/cp/202308-tw-yasai-day/assets/img/bg.jpg") no-repeat 10% 40% / 200%auto;
  }
  .requirements-list-dd, .regulations-list-dd {
    padding: 0 2.933333333vw 6.4vw;
  }
  .requirements-list-txt, .regulations-list-txt {
    font-size: 3.733333333vw;
  }
  .requirements-list-txt + .requirements-list-note,
  .regulations-list-txt + .regulations-list-note {
    margin-top: 4.8vw;
  }
  .requirements-list-note,
  .regulations-list-note {
    font-size: 3.2vw;
  }
  .regulations-ulist-list,
  .requirements-list-list,
  .regulations-list-list,
  .requirements-list-ulist,
  .regulations-list-ulist {
    padding-left: 3.466666667vw;
  }
  .requirements-list-list-itm.r-note {
    font-size: 3.2vw;
  }
  .regulations-ulist-list,
  .requirements-list-list,
  .regulations-list-list,
  .requirements-list-ulist,
  .regulations-list-ulist {
    font-size: 3.733333333vw;
  }
  .relatedcontents {
    padding: 10.33333333vw 0 2vw;
    font-size: 4.8vw;
    width: 100%;
  }
  .relatedcontents-list {
    min-width: 88.8vw;
    width: 88.8vw;
    margin: 0 auto;
    padding: 0;
  }
  .relatedcontents-list-itm-txt {
    margin-bottom: 3.733333333vw;
  }
  .relatedcontents-list-itm-link {
    width: 88.8vw;
    margin: 0 auto 12.8vw;
  }
  .relatedcontents-list-itm-link:hover {
    opacity: 1;
  }
  .l-pagetop-wrap {
    right: 5.333333333vw;
    bottom: 13.86666667vw;
    width: 10.66666667vw;
    height: 10.66666667vw;
  }
  .u-externallink span{
    width: 3.733333333vw;
    height: 3.733333333vw;
    margin-right: 0.8vw;
  }
  .js-accordion-dt::before {
    width: 5.533333333vw;
    right: 5.866666667vw;
    height:  0.3vw;
  }
  :not(.is-open) .js-accordion-dt::after {
    height: 5.533333333vw;
    top: calc(50% - 2.85vw);
    right: 8.4vw;
    width: 0.3vw;
  }
}

.u-fs-s {
  font-size: 1.1em !important;
}
.u-lhs {
  display: block;
  line-height: 1.1 !important;
  margin: 0.5em 0;
}
.u-txt-s {
  font-size: 15px;
}
.u-mb1 {
  margin-bottom: 0.5em !important;
}
@media screen and (max-width: 767px){
  .u-fs-s {
    font-size: 3.2vw !important;
  }
  .u-txt-s {
    font-size: 2.8vw;
  }
}
@media screen and (min-width: 769px), print{
  .u-none--pc {display: none;}
}

.endAnnounce{display:block;width:960px;border:4px #ccc solid;color:#eb0028;background:#fff;font-size:1.6rem;font-weight:bold;text-align:center;line-height:1.4;margin:20px auto;padding:20px;box-sizing:border-box;}
@media screen and (max-width: 768px){
.endAnnounce{font-size:calc(20 / 375 * 100vw);width:96%;}
}

#campaign_end {
  background: #F5F8EF;
  font-family: "Roboto", "YakuHanJP", "BaseFont-JP", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  text-align: center;
}
#campaign_end a {
  display: flex;
  width: 280px;
  height: 50px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border: solid 2px #038B3D;
  margin: 1em auto 0;
  border-radius: 30px;
  font-size: 18px;
  color: #038B3D;
  transition: 0.3s;
  background: #fff;
}

@media screen and (min-width: 769px) {
	#campaign_end {
		padding: 40px 0;
		margin: 20px auto;
		font-size: 24px;
	}
  #campaign_end a:hover {
    background: #038B3D;
    color: #fff;
  }
  .u-txt-normal {font-weight: normal !important;font-size:20px;margin-bottom: 1em;}
}
@media screen and (max-width: 768px) {
	#campaign_end {
		padding: 4vw;
		margin: 4vw;
		font-size: 4.6vw;
	}
  #campaign_end a {
    display: flex;
    width: 100%;
    height: 12.93333333vw;
    border-radius: 8vw;
    font-size: 4.266666667vw;
  }
  .u-txt-normal {font-weight: normal !important;font-size:4.266666667vw;margin-bottom: 1em;}
  .u-none--sp {display: none;}
}
.red { color: #ff0000;font-family: "Roboto", "YakuHanJP", "BaseFont-JP", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }
.u-align-c {text-align: center;margin-top: 1em;font-size: 1.4em;}
