@charset "UTF-8";

body {
  font-family: "Roboto", "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

@media screen and (min-width: 835px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 834px) {
  .pc {
    display: none;
  }
}

@media screen and (max-width: 834px) {
  .page-koikuchi50anniv {
    padding-bottom: 24vw;
  }
}

.header {
  z-index: 4;
}
.header__inner {
  padding: 10px 45px;
}
@media screen and (max-width: 1200px) {
  .header__inner {
    padding: 10px 45px;
  }
}
@media screen and (max-width: 1160px) {
  .header__inner {
    padding: 0px 30px;
  }
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding: 0 15px;
  }
}

.header__logo {
  width: 100px;
  -webkit-flex-basis: 100px;
  -ms-flex-preferred-size: 100px;
  flex-basis: 100px;
  height: 66px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 70px;
    -webkit-flex-basis: 70px;
    -ms-flex-preferred-size: 70px;
    flex-basis: 70px;
    height: auto;
  }
}

.header__logoImg {
  width: 100%;
}

.header__copy {
  margin-left: 30px;
  margin-right: auto;
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: .08em;
  text-indent: -.3em;
}
@media screen and (max-width: 1300px) and (min-width: 835px) {
  .header__copy {
    display: none;
  }
}
@media screen and (max-width: 834px) {
  .header__copy {
    margin-left: 20px;
    font-size: 1rem;
    line-height: 1.6;
  }
}

.gNav__item_menuWrap {
  position: relative; }
  .gNav__item_menuWrap.jsActive .gNav__item_menu {
    visibility: visible;
    opacity: 1;
  }
  .gNav__link_menu {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 59px;
    cursor: pointer;
  }
  .gNav__link_menu::after {
    content: "";
    width: 14px;
    height: 14px;
    margin-left: 2px;
    margin-top: 2px;
    display: block;
    background: url(../../img/icon_arrow_05.svg) center center no-repeat;
    background-size: 100% auto;
  }
  .gNav__link_menu:hover::before {
    content: none;
  }
  .gNav__item_menu {
    display: block;
    position: absolute;
    width: 390px;
    padding: 10px 29px;
    border: 1px solid #1d1d1d;
    border-radius: 10px;
    background: #fff;
    position: absolute;
    top: 59px;
    left: -30px;
    display: block;
    transition: all .3s ease-out;
    visibility: hidden;
    opacity: 0;
  }
  .gNav__item_menuItm {
    width: 100%;
    padding: 10px 0;
  }
  .gNav__item_menuItm:nth-child(n+2) {
    border-top: 1px solid #1d1d1d;
  }
  .gNav__item_menuLink {
    width: 100%;
    display: block;
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    position: relative;
    background: url(../../img/icon_arrow_01.svg) right center no-repeat;
    background-size: 15px auto;
  }
  .gNav__item_menuLink:hover {
    background-image: url(../../img/icon_arrow_04.svg);
  }
  .gNav__link_type_kuji {
    background-color: #e60012;
    border: 1px solid #e60012;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 207px;
    height: 49px;
    position: relative;
    font-weight: 700;
    color: #fff;
    border-radius: 99px;
  }
  .gNav__link_type_kuji:hover:before {
    content: none;
  }
  .gNav__link_type_kuji:after {
    content: "";
    width: 24px;
    height: 24px;
    display: block;
    background: url(../../img/icon_arrow_04.svg) no-repeat center center/cover;
    position: absolute;
    right: 10px;
    top: calc(50% - 12px);
  }
  .gNav__link_type_kuji:hover {
    color: #e60012;
    background-color: #fff;
  }
  .gNav__link_type_kuji:hover:after {
    background: url(../../img/icon_arrow_03.svg) no-repeat center center/cover;
  }
  .hum__inner {
    height: 29px;
  }
  .hum__bar {
    height: 2px;
    border-radius: 1px;
  }
  .hum__bar:nth-of-type(2) {
    top: calc(50% - 1px);
  }
  .hum__bar:nth-of-type(3) {
    top: inherit;
    bottom: 0;
  }
@media screen and (min-width: 1161px) {
  .gNav__item--sp {
    display: none;
  }
}
@media screen and (max-width: 1160px) {
  .gNav__item--pc {
    display: none;
  }
  .header.jsActive .gNav {
    background: rgba(230, 0, 18, .9);
  }
  .header.jsActive .gNav__list {
    border-top: 1px solid #fff;
  }
  .header.jsActive .gNav__item {
    border-bottom: 1px solid #fff;
  }
  .header.jsActive .gNav__link {
    padding: 19px 0;
    color: #fff;
  }
  .header.jsActive .gNav__item_type_kuji,
  .header.jsActive .gNav__item_type_shop {
    border-bottom: none;
  }
  .header.jsActive .gNav__link:after {
    background-image: url(../../img/icon_arrow_03.svg);
    background-size: contain;
    width: 20px;
    height: 20px;
    right: 3px;
    top: calc(50% - 10px);
  }
  .header.jsActive .gNav__link--blank:after {
    background-image: url(../../img/icon_shop.svg);
  }
  .header.jsActive .gNav__link_type_kuji {
    margin: 30px auto 0;
    display: flex;
    color: #e60012;
    background-color: #fff;
    border: 1px solid #fff;
    width: 100%;
    height: 53px;
    padding: 0;
  }
  .header.jsActive .gNav__link_type_kuji:after {
    width: 20px;
    height: 20px;
    background-image: url(../../img/icon_arrow_04.svg);
    right: 20px;
    top: calc(50% - 10px);
  }
  .header.jsActive .gNav__link_type_kuji:hover {
    color: #fff;
    background-color: #e60012;
  }
  .header.jsActive .gNav__link_type_kuji:hover:after {
    background-image: url(../../img/icon_arrow_03.svg);
  }

  .header.jsActive .gNav .gNav__link_type_shop {
    background: none;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 53px;
    border-radius: 99px;
    margin-top: 13px;
    padding: 0;
  }
  .header.jsActive .gNav .gNav__link_type_shop:after {
    width: 24px;
    height: 24px;
    display: block;
    background: url(../../img/icon_arrow_03.svg) no-repeat center center/cover;
    position: relative;
    right: inherit;
    top: inherit;
    margin-left: 10px;
  }
  .header.jsActive .gNav .gNav__link_type_shop:hover {
    color: #fff;
    background-color: transparent;
  }
  .header.jsActive .gNav .gNav__link_type_shop:hover:after {
    background: url(../../img/icon_arrow_03.svg) no-repeat center center/cover;
  }

  .header.jsActive .hum__bar:nth-of-type(1) {
    top: calc(50% - 1px);
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }
  .header.jsActive .hum__bar:nth-of-type(3) {
    top: calc(50% - 1px);
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
}
@media screen and (max-width: 834px) {
  .hum__inner {
    height: 21px;
  }
}

.footer {
  width: 100%;
  overflow: hidden; }
  .fNav {
    margin-bottom: 50px;
  }
  .fNav__sns {
    padding-left: 0;
    margin-top: 0;
  }
  .footerCorp__bt {
    margin: 50px auto 0;
    width: 300px;
    height: 64px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #E60012;
    border-radius: 999px;
    background: #E60012 url(../../img/icon_arrow_03.svg) right 17px center no-repeat;
    background-size: 24px 24px;
  }
  .footerCorp__bt:hover {
    color: #E60012;
    background-color: #fff;
    background-image: url(../../img/icon_arrow_04.svg);
  }
  .footerBottom {
    margin-top: 100px;
    position: relative;
  }
  .footerBottom::before {
    content: "";
    width: 115px;
    height: 220px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_footer_50th.svg) bottom center no-repeat;
    background-size: contain;
    position: absolute;
    top: -216px;
    left: calc(50% + 220px);
  }
  .footerInfo {
    margin-bottom: 40px;
  }
@media screen and (max-width: 1160px) {
  .fNav__item:nth-of-type(1) {
    display: block;
  }
}
@media screen and (max-width: 834px) {
  .fNav {
    margin-top: 32px;
    margin-bottom: 40px;
  }
  .footerCorp__bt {
    margin: 40px auto 0;
    width: 220px;
    height: 42px;
    font-size: 1.4rem;
    background-position: right 14px center;
    background-size: 17px 17px;
  }
  .footerBottom {
    margin-top: 30px;
  }
  .footerBottom::before {
    width: 53px;
    height: 101px;
    top: inherit;
    bottom: 37px;
    left: calc(50% + 120px);
  }
  .footerInfo {
    margin-bottom: 30px;
  }
}

.lowPage {
  padding-top: 86px;
  border-bottom: none;
}
.lowPage__contents {
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1160px) {
  .lowPage {
    padding-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .lowPage {
    padding-top: 58px;
  }
}

.mv {
  width: 100%;
  height: calc(100vh - 86px);
  min-height: 843px;
  padding-top: 92px;
  background: url(../../img/koikuchi50anniv/mv.jpg) center center no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative; }
  .mv_txt {
    text-align: center;
    position: relative;
    z-index: 2;
    will-change: filter;
    transition: opacity 1.5s, transform 1.5s;
    transform: translateY(100px);
    opacity: 0;
  }
  .mv_txtImg {
    width: 978px;
    max-width: 90%;
    height: auto;
  }
  .mv_rbn {
    display: block;
    width: 100%;
    aspect-ratio: 1460 / 538;
    background: url(../../img/koikuchi50anniv/mv_rbn.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 0;
    transform-origin: bottom center;
    z-index: 1;
    will-change: filter;
    transition: transform 1.5s;
    transition-delay: 1s;
    transform: scale(0);
  }
  .mv_img01 {
    display: block;
    width: 230px;
    aspect-ratio: 230 / 413;
    background: url(../../img/koikuchi50anniv/mv_img01.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: calc(50% + 245px);
    transform-origin: bottom center;
    z-index: 1;
    will-change: filter;
    transition: transform .7s;
    transition-delay: .3s;
    transform: translateY(100%);
  }
  .mv_img02 {
    display: block;
    width: 180px;
    aspect-ratio: 180 / 494;
    background: url(../../img/koikuchi50anniv/mv_img02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: calc(50% + 50px);
    transform-origin: bottom center;
    z-index: 1;
    will-change: filter;
    transition: transform .7s;
    transition-delay: .4s;
    transform: translateY(100%);
  }
  .mv_img03 {
    display: block;
    width: 204px;
    aspect-ratio: 204 / 575;
    background: url(../../img/koikuchi50anniv/mv_img03.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: calc(50% - 30px);
    transform-origin: bottom center;
    z-index: 1;
    will-change: filter;
    transition: transform .7s;
    transition-delay: .6s;
    transform: translateY(100%);
  }
  .mv_img04 {
    display: block;
    width: 288px;
    aspect-ratio: 288 / 586;
    background: url(../../img/koikuchi50anniv/mv_img04.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: calc(50% + 185px);
    transform-origin: bottom center;
    z-index: 1;
    will-change: filter;
    transition: transform .7s;
    transition-delay: .8s;
    transform: translateY(100%);
  }
  .mv_bnr {
    width: 280px;
    font-size: 0;
  }
  a.mv_bnr:hover {
    opacity: .7;
  }
  .mv_bnrImg {
    width: 100%;
    height: auto;
  }
  .mv.active .mv_txt {
    transform: translateY(0);
    opacity: 1;
  }
  .mv.active .mv_rbn {
    transform: scale(1);
  }
  .mv.active .mv_img01 {
    transform: translateY(0);
  }
  .mv.active .mv_img02 {
    transform: translateY(0);
  }
  .mv.active .mv_img03 {
    transform: translateY(0);
  }
  .mv.active .mv_img04 {
    transform: translateY(0);
  }
  .mv.active .mv_bnr {
    transform: translateX(0);
  }
@media screen and (max-width: 1160px) {
  .mv {
    height: calc(100vh - 80px);
  }
}
@media screen and (min-width: 835px) {
  .mv_bnr {
    position: absolute;
    bottom: 40px;
    right: 0;
    z-index: 1;
    will-change: filter;
    transition: transform 1.5s;
    transition-delay: 2s;
    transform: translateX(100%);
  }
}
@media screen and (max-width: 834px) {
  .mv {
    height: calc(100vh - 58px - 23.7vw);
    height: calc(100svh - 58px - 23.7vw);
    min-height: inherit;
    padding-top: 6.6%;
    background-image: url(../../img/koikuchi50anniv/mv_sp.jpg);
  }
  .mv_txt {
    height: 49.5%;
  }
  .mv_txtImg {
    height: 100%;
    width: auto;
  }
  .mv_rbn {
    width: 100%;
    height: 51%;
    aspect-ratio: inherit;
    background: url(../../img/koikuchi50anniv/mv_rbn_sp.png) bottom center no-repeat;
    background-size: auto 100%;
  }
  .mv_img01 {
    width: auto;
    height: 24.8%;
    right: calc(50% + 14.6vh - 8px - 3.5vw);
    right: calc(50% + 14.6lvh - 8px - 3.5vw);
  }
  .mv_img02 {
    width: auto;
    height: 30.6%;
    right: calc(50% + 3.1vh - 2px - 0.74vw);
    right: calc(50% + 3.1lvh - 2px - 0.74vw);
  }
  .mv_img03 {
    width: auto;
    height: 35.2%;
    left: calc(50% - 2.8vh + 2px + 0.67vw);
    left: calc(50% - 2.8lvh + 2px + 0.67vw);
  }
  .mv_img04 {
    width: auto;
    height: 35.9%;
    left: calc(50% + 10vh - 5px - 2.4vw);
    left: calc(50% + 10lvh - 5px - 2.4vw);
  }
  .mv_bnr {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 3;
  }
}

.annivSec {
  padding: 115px 0; }
  .annivSec--roundTop {
    border-top-left-radius: 50% 100px;
    border-top-right-radius: 50% 100px;
    margin-left: -200px;
    margin-right: -200px;
    padding-left: 200px;
    padding-right: 200px;
  }
  .annivSec--roundBottom {
    border-bottom-left-radius: 50% 100px;
    border-bottom-right-radius: 50% 100px;
    margin-left: -200px;
    margin-right: -200px;
    padding-left: 200px;
    padding-right: 200px;
  }
  .annivSec_ttl {
    text-align: center;
    margin-bottom: 50px;
  }
  .annivSec_ttlJp {
    display: block;
    font-size: 4.2rem;
    line-height: 1.2;
    font-weight: 700;
  }
  .annivSec_ttlEn {
    display: block;
    margin-top: 10px;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 700;
  }
  .annivSec_inn {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
  }
@media screen and (max-width: 834px) {
  .annivSec {
    padding: 50px 0 55px;
  }
  .annivSec--roundTop {
    border-top-left-radius: 50% 40px;
    border-top-right-radius: 50% 40px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
  }
  .annivSec--roundBottom {
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
  }
  .annivSec_ttl {
    margin: 0 -20px 25px;
  }
  .annivSec_ttlJp {
    font-size: 2.1rem;
  }
  .annivSec_ttlEn {
    margin-top: 5px;
    font-size: 1rem;
  }
  .annivSec_inn {
    padding: 0 40px;
  }
}

.annivSec_top {
  padding: 100px 0;
  background: #E60012;
  position: relative;
  z-index: 2; }
  .top_inn {
    padding: 0 50px;
    position: relative;
  }
  .top_inn::before {
    content: "";
    width: 227px;
    height: 455px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_top01.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: calc(50% + 330px);
    z-index: 1;
  }
  .top_inn::after {
    content: "";
    width: 255px;
    height: 488px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_top02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: -20px;
    left: calc(50% + 315px);
    z-index: 1;
  }
  .top_copy {
    font-size: 4rem;
    color: #fff;
    font-weight: 700;
    line-height: 83px;
    text-align: center;
    text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 2;
  }
  .top_copy .th {
    font-size: 10rem;
    font-weight: 900;
  }
  .top_copy .year {
    font-size: 8rem;
    font-weight: 900;
  }
  .top_txt {
    margin-top: 30px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.83;
    text-align: center;
    position: relative;
    z-index: 2;
  }
  .topFig_slider {
    width: 100%;
    margin-top: 80px;
  }
  .topFig_sliderItm {
    width: 417px!important;
    height: 275px;
  }
  .topFig_sliderImg {
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
  .topFig_slider {
    display: flex;
  }
  .topFig_slider .slick-track {
    display: flex;
  }
  .topFig_slider .slick-slide {
    display: block;
    font-size: 0;
    margin: 0 20px;
  }
  .topFig_slider .slick-slide > div {
    font-size: 0;
  }
  .commercial {
    margin-top: 20px;
    padding-top: 100px;
  }
  .commercial .annivSec_ttl {
    color: #fff;
  }
  .cm_slider {
    width: 100%;
    margin-top: 50px;
    position: relative;
  }
  .cm_slider .slick-track {
    display: flex;
  }
  .cm_slider .slick-slide {
    display: block;
    font-size: 0;
  }
  .cm_slider .slick-slide > div {
    font-size: 0;
  }
  .cm_slider .slick-arrow {
    font-size: 0;
    width: 528px;
    height: 297px;
    background: none;
    border: none;
    position: absolute;
    top: 44px;
    z-index: 3;
  }
  .cm_slider .slick-prev {
    right: calc(50% + 64px + 328px);
  }
  .cm_slider .slick-next {
    left: calc(50% + 64px + 328px);
  }

  .cm_sliderItm {
    width: 656px!important;
    height: 385px;
    padding: 44px 64px;
  }
  .cm_sliderContent {
    width: 100%;
    aspect-ratio: 16/9;
    position: relative;
    transition: opacity 300ms ease;
  }
  .cm_slider .slick-center .cm_sliderContent {
    transform: scale(1.29);
  }
  .cm_sliderContent.active .cm_sliderPoster {
    opacity: 0;
  }
  .cm_sliderContent.active .cm_sliderVideo {
    opacity: 1;
  }
  .cm_sliderPoster {
    width: 100%;
    position: relative;
  }
  .cm_sliderPoster:hover .cm_sliderPosterBtn,
  .cm_sliderPoster.is_hover .cm_sliderPosterBtn {
    opacity: 0.7;
  }
  .cm_sliderPosterBtn {
    width: 122px;
    height: 122px;
    background: url(../../img/koikuchi50anniv/ic_video02.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
  }
  .cm_slider .slick-center .cm_sliderPosterBtn {
    background-image: url(../../img/koikuchi50anniv/ic_video01.svg);
  }
  .cm_sliderBg {
    border-radius: 10px;
    position: relative;
    z-index: 1;
    cursor: pointer;
  }
  .cm_sliderVideo {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    opacity: 0;
    border-radius: 10px;
  }
  .cm_sliderItmIframe {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 10px;
  }
  .cm_page {
    margin: 30px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .cm_pageItm {
    width: 86px;
    height: 34px;
    margin: 0 5px;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 500;
    color: #fff;
    font-style: normal;
    background: #E60012;
    border: 1px solid #fff;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  .cm_pageItm.active,
  .cm_pageItm:hover {
    border-color: #1D1D1D;
    background: #1D1D1D;
  }
@media screen and (max-width: 834px) {
  .annivSec_top {
    padding: 50px 0 45px;
  }
  .top_inn {
    padding: 0 20px;
  }
  .top_inn::before {
    width: 55px;
    height: 111px;
    top: 190px;
    right: calc(50% + 120px);
  }
  .top_inn::after {
    width: 70px;
    height: 135px;
    top: 184px;
    left: calc(50% + 112px);
  }
  .top_copy {
    font-size: 2rem;
    line-height: 34px;
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
  }
  .top_copy .th {
    font-size: 5rem;
  }
  .top_copy .year {
    font-size: 4rem;
  }
  .top_txt {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    font-size: 1.6rem;
    line-height: 1.625;
  }
  .topFig_slider {
    margin-top: 35px;
  }
  .topFig_sliderItm {
    width: 138px!important;
    height: 91px;
  }
  .topFig_sliderImg {
    border-radius: 5px;
  }
  .topFig_slider .slick-slide {
    margin: 0 5px;
  }
  .commercial {
    margin-top: 0;
    padding-top: 50px;
  }
  .cm_slider {
    margin-top: 30px;
  }
  .cm_sliderItm {
    width: 220px!important;
    height: 127px;
    padding: 14px 22px;
  }
  .cm_slider .slick-center .cm_sliderContent {
    transform: scale(1.28);
  }
  .cm_sliderPosterBtn {
    width: 40px;
    height: 40px;
  }
  .cm_sliderBg {
    border-radius: 5px;
  }
  .cm_sliderVideo {
    border-radius: 5px;
  }
  .cm_sliderItmIframe {
    border-radius: 5px;
  }
  .cm_page {
    margin: 25px auto 0;
  }
  .cm_pageItm {
    width: 68px;
    height: 27px;
    margin: 0 5px;
    font-size: 1.3rem;
  }
}

.annivSec_evo {
  padding: 215px 0;
  margin: -100px 0;
  background: #1D1D1D;
  position: relative;
  z-index: 1; }
  .annivSec_evo .annivSec_ttl {
    color: #fff;
  }
  .evo_inn {
    width: 100%;
    margin-top: -195px;
    padding-top: 195px;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .evo_inn::-webkit-scrollbar{
    display: none;
  }
  .evo_items {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .evo_items .slick-list {
    padding-top: 195px!important;
    margin-top: -195px;
  }
  .evo_itm {
    width: 297px!important;
    margin: 0 47px;
    position: relative;
  }
  .evo_itm::after {
    content: "";
    width: 112px;
    height: 42px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_evo01.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 153px;
    right: -103px;
    z-index: -1;
  }
  .evo_itm--last::after {
    content: none;
  }
  .evo_itmFig {
    width: 100%;
  }
  .evo_itmImg {
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
  .evo_itmDtl {
    width: 100%;
    margin-top: -21px;
    position: relative;
  }
  .evo_itmYear {
    width: 162px;
    height: 68px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    border-radius: 99px;
    background: #1d1d1d;
  }
  .evo_itmTxt {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
  }
  .evo_addYear {
    width: 340px;
    padding: 50px 34px 25px;
    border: 1px solid #1D1D1D;
    background: #fff;
    border-radius: 10px;
    position: absolute;
    top: -165px;
    left: -217px;
  }
  .evo_addYear::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 18px solid transparent;
    border-left: 18px solid transparent;
    border-top: 64px solid #1d1d1d;
    border-bottom: 0;
    position: absolute;
    bottom: -55px;
    left: calc(50% - 18px);
    z-index: -1;
  }
  .evo_addYear::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 17px solid transparent;
    border-left: 17px solid transparent;
    border-top: 63px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: -54px;
    left: calc(50% - 17px);
  }
  .evo_addYear .evo_itmYear {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
  }
  .evo_addYearTxt {
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
  }
  .evo_page {
    margin: 60px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .evo_pageItm {
    width: 86px;
    height: 34px;
    margin: 0 5px;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 500;
    color: #fff;
    font-style: normal;
    background: #1D1D1D;
    border: 1px solid #fff;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  .evo_pageItm.active,
  .evo_pageItm:hover {
    border-color: #E60012;
    background: #E60012;
  }
  .scrl .evo_pageItm.active:not(.scrl_active) {
    border-color: #fff!important;
    background: #1D1D1D!important;
  }
@media screen and (max-width: 834px) {
  .annivSec_evo {
    padding: 100px 0 105px;
    margin: -50px 0;
  }
  .evo_inn {
    margin-top: -108px;
    padding-top: 108px;
  }
  .evo_items .slick-list {
    padding-top: 108px!important;
    margin-top: -108px;
  }
  .evo_itm {
    width: 148px!important;
    margin: 0 21px;
  }
  .evo_itm::after {
    width: 56px;
    height: 21px;
    top: 80px;
    right: -49px;
  }
  .evo_itmImg {
    border-radius: 5px;
  }
  .evo_itmDtl {
    margin-top: -10px;
  }
  .evo_itmYear {
    width: 82px;
    height: 34px;
    font-size: 1.8rem;
  }
  .evo_itmTxt {
    margin-top: 10px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .evo_addYear {
    width: 200px;
    padding: 27px 20px 15px;
    border-radius: 5px;
    top: -90px;
    left: -121px;
  }
  .evo_addYear::before {
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    border-top: 25px solid #1d1d1d;
    bottom: -20px;
    left: calc(50% - 9px);
  }
  .evo_addYear::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-top: 24px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: -19px;
    left: calc(50% - 8px);
  }
  .evo_addYear .evo_itmYear {
    top: -18px;
  }
  .evo_addYearTxt {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: -.075em;
  }
  .evo_page {
    margin: 20px auto -5px;
    max-width: 320px;
  }
  .evo_pageItm {
    width: 68px;
    height: 27px;
    margin: 5px;
    font-size: 1.3rem;
  }
}

.annivSec_passion {
  background: #FFE400 url(../../img/koikuchi50anniv/bg_passion.png) center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2; }
  .passion_inn {
    width: 100%;
    margin-top: 40px;
    padding-top: 15px;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .passion_inn::-webkit-scrollbar{
    display: none;
  }
  .passion_items {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .passion_items .slick-list {
    padding-top: 14px!important;
    margin-top: -14px;
  }
  .passion_itm {
    margin: 0 40px;
    display: flex!important;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    position: relative;
  }
  .passion_itm01 {
    width: 925px!important;
  }
  .passion_itm02 {
    width: 1015px!important;
  }
  .passion_itm03 {
    width: 1015px!important;
  }
  .passion_itm04 {
    width: 1015px!important;
  }
  .passion_itmNum {
    width: 71px;
    height: 71px;
    font-size: 3.4rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .06em;
    padding-left: .06em;
    color: #E60012;
    text-shadow:
      1px 1px 0 #fff,
      -1px -1px 0 #fff,
      1px -1px 0 #fff,
      -1px 1px 0 #fff;
    font-style: normal;
    background: rgba(230, 0, 18, .9);
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -14px;
    left: -14px;
  }
  .passion_itmFig {
    width: 459px;
  }
  .passion_itmImg {
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
  .passion_itmDtl {
    width: calc(100% - 508px);
  }
  .passion_itmTtl {
    margin-bottom: 20px;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .passion_itmTxt {
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
  }
  .passion_page {
    margin: 60px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .passion_pageItm {
    width: 46px;
    height: 46px;
    margin: 0 5px;
    font-size: 1.9rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .06em;
    padding-left: .06em;
    color: #fff;
    font-style: normal;
    background: #E60012;
    border: 1px solid #fff;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  .passion_pageItm.active,
  .passion_pageItm:hover {
    color: #E60012;
    background: #fff;
  }
  .scrl .passion_pageItm.active:not(.scrl_active) {
    color: #fff!important;
    background: #E60012!important;
  }
@media screen and (max-width: 834px) {
  .passion_inn {
    margin-top: 20px;
    padding-top: 10px;
  }
  .passion_items {
  }
  .passion_items .slick-list {
    padding-top: 9px!important;
    margin-top: -9px;
  }
  .passion_itm {
    margin: 0 40px;
    display: block;
  }
  .passion_itm01,
  .passion_itm02,
  .passion_itm03,
  .passion_itm04 {
    width: calc(100vw - 80px)!important;
  }
  .passion_itmNum {
    width: 46px;
    height: 46px;
    font-size: 2.2rem;
    border-radius: 3px;
    top: -9px;
    left: -9px;
  }
  .passion_itmFig {
    width: 100%;
  }
  .passion_itmImg {
    border-radius: 5px;
  }
  .passion_itmDtl {
    width: 100%;
    margin-top: 35px;
  }
  .passion_itmTtl {
    margin-bottom: 12px;
    font-size: 1.8rem;
    line-height: 1.33;
  }
  .passion_itmTxt {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .passion_page {
    margin: 30px auto 0;
  }
  .passion_pageItm {
    width: 36px;
    height: 36px;
    margin: 0 7px;
    font-size: 1.5rem;
    border-radius: 3px;
  }
}

.annivSec_stories {
  padding: 215px 0;
  margin: -100px 0;
  background: #FFF7DE;
  position: relative;
  z-index: 1; }
  .stories_inn {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 170px;
    position: relative;
  }
  .stories_inn::before,
  .stories_inn::after {
    content: "";
    width: 68px;
    height: calc(100% + 160px);
    background: url(../../img/koikuchi50anniv/ic_stories01l.png) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    top: -80px;
  }
  .stories_inn::before {
    left: 7px;
  }
  .stories_inn::after {
    right: 7px;
  }
  .stories_itms {
    margin-top: 50px;
  }
  .stories_itm {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .stories_itm + .stories_itm {
    margin-top: 80px;
  }
  .stories_itmFig {
    width: calc(50% - 30px);
  }
  .stories_itmImg {
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
  .stories_itmDtl {
    width: calc(50% - 30px);
  }
  .stories_itmTtl {
    margin-bottom: 25px;
    font-size: 2.6rem;
    line-height: 1.6;
    font-weight: 700;
  }
  .stories_itmTxt {
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
    position: relative;
  }
  .stories_itmTxt + .stories_itmTxt {
    margin-top: 30px;
  }
  .stories_itmTxtBt {
    display: inline-block;
    width: 68px;
    height: 19px;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #1d1d1d;
    border-radius: 999px;
    background: #1d1d1d;
    cursor: pointer;
    position: relative;
    top: -1px;
  }
  .stories_itmTxtBt i {
    content: "";
    width: 9px;
    height: 9px;
    display: block;
    margin-right: 3px;
    background: url(../../img/koikuchi50anniv/ic_search.svg) center center no-repeat;
    background-size: contain;
  }
  .stories_itmTxtBt:hover {
    background-color: #fff;
    color: #1d1d1d;
  }
  .stories_itmTxtBt::before {
    content: none;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent;
    border-top: 30px solid #1d1d1d;
    border-bottom: 0;
    position: absolute;
    bottom: 27px;
    left: calc(50% - 14px);
    z-index: 2;
  }
  .stories_itmTxtBt::after {
    content: none;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    border-top: 29px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: 28px;
    left: calc(50% - 13px);
    z-index: 4;
  }
  .stories_itmTxtPoint {
    display: none;
    width: calc(100% + 30px);
    padding: 20px 30px;
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
    background: #fff;
    border: 1px solid #1d1d1d;
    border-radius: 10px;
    position: absolute;
    bottom: 55px;
    left: -30px;
    z-index: 3;
  }
  .stories_itmTxtPoint::before {
    content: "";
    width: 44px;
    height: 44px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_stories02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: -22px;
    left: -22px;
  }
  .stories_itm:nth-child(2n) {
    flex-direction: row-reverse;
  }
  .stories_itm:nth-child(2n) .stories_itmTxtPoint {
    left: inherit;
    right: -30px;
  }
  .stories_itmTxt.active .stories_itmTxtBt::before,
  .stories_itmTxt.active .stories_itmTxtBt::after {
    content: "";
  }
  .stories_itmTxt.active .stories_itmTxtPoint {
    display: block;
  }
@media screen and (max-width: 834px) {
  .annivSec_stories {
    padding: 100px 0 90px;
    margin: -50px 0;
  }
  .stories_inn {
    padding: 0 55px;
  }
  .stories_inn::before,
  .stories_inn::after {
    width: 15px;
    height: calc(100% + 68px);
    background-image: url(../../img/koikuchi50anniv/ic_stories01l_sp.png);
    top: -38px;
  }
  .stories_inn::before {
    left: 15px;
  }
  .stories_inn::after {
    right: 15px;
  }
  .stories_itms {
    margin-top: 30px;
  }
  .stories_itm {
    display: block;
  }
  .stories_itm + .stories_itm {
    margin-top: 35px;
  }
  .stories_itmFig {
    width: 100%;
  }
  .stories_itmImg {
    aspect-ratio: 52 / 35;
    object-fit: cover;
    border-radius: 5px;
  }
  .stories_itmDtl {
    width: 100%;
    margin-top: 25px;
  }
  .stories_itmTtl {
    margin-bottom: 17px;
    font-size: 1.8rem;
    line-height: 1.33;
  }
  .stories_itmTxt {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .stories_itmTxt + .stories_itmTxt {
    margin-top: 24px;
  }
  .stories_itmTxtBt {
    width: 56px;
    height: 16px;
    font-size: .9rem;
    top: -1px;
  }
  .stories_itmTxtBt i {
    width: 7px;
    height: 7px;
    margin-right: 2px;
  }
  .stories_itmTxtBt::before {
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-top: 15px solid #1d1d1d;
    bottom: 24px;
    left: calc(50% - 7px);
  }
  .stories_itmTxtBt::after {
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 14px solid #fff;
    bottom: 25px;
    left: calc(50% - 6px);
  }
  .stories_itmTxtPoint {
    width: calc(100% + 13px);
    padding: 12px 14px;
    font-size: 1.6rem;
    line-height: 1.5;
    border-radius: 5px;
    bottom: 40px;
    left: 0;
  }
  .stories_itmTxtPoint::before {
    width: 32px;
    height: 32px;
    top: -16px;
    left: -16px;
  }
  .stories_itm:nth-child(2n) .stories_itmTxtPoint {
    left: 0;
    right: inherit;
  }
}

.annivSec_kuji {
  background: url(../../img/koikuchi50anniv/bg_kuji01.svg) center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
  overflow: hidden; }
  .annivSec_kuji::before {
    content: "";
    width: 100%;
    height: 110%;
    display: block;
    background: url(../../img/koikuchi50anniv/bg_kuji02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: -5%;
    left: 0;
    z-index: 1;
  }
  .annivSec_kujiInn {
    padding: 0 40px;
    position: relative;
    z-index: 2;
  }
  .annivSec_kujiTtl {
    font-size: 5rem;
    line-height: 67px;
    font-weight: 900;
    color: #fff;
    text-align: center;
    text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.75);
  }
  .annivSec_kujiTtl span {
    font-weight: inherit;
  }
  .annivSec_kujiTtl .th {
    font-size: 5.9rem;
  }
  .annivSec_kujiTtl .original {
    font-size: 4.2rem;
  }
  .annivSec_kujiTtl .komikuji {
    font-size: 5.4rem;
  }
  .annivSec_kujiFigWrap {
    margin-top: 30px;
    position: relative;
  }
  .annivSec_kujiFigWrap::before {
    content: "";
    width: 144px;
    height: 263px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_kuji01.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 15px;
    right: calc(50% + 290px);
  }
  .annivSec_kujiFigWrap::after {
    content: "";
    width: 176px;
    height: 252px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_kuji02.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -25px;
    left: calc(50% + 250px);
  }
  .annivSec_kujiFig {
    width: 100%;
    text-align: center;
  }
  .annivSec_kujiImg {
    width: 706px;
    height: auto;
    max-height: calc(100vh - 500px);
    object-fit: contain;
  }
  .annivSec_kujiChance {
    width: 318px;
    height: 268px;
    font-size: 0;
    line-height: 0;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_kuji03.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: -15px;
    left: calc(50% + 245px);
  }
  .annivSec_kujiBt {
    margin: 50px auto 0;
    width: 440px;
    height: 88px;
    color: #E60012;
    font-size: 2.8rem;
    font-weight: 900;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #FFE400;
    border-radius: 999px;
    background: #FFE400 url(../../img/icon_arrow_08.svg) right 27px center no-repeat;
    background-size: 33px 33px;
  }
  .annivSec_kujiBt:hover {
    background-color: #fff;
  }
@media screen and (max-width: 834px) {
  .annivSec_kuji::before {
    width: 110%;
    height: 100%;
    top: 0;
    left: -5%;
  }
  .annivSec_kujiInn {
    padding: 0 20px;
  }
  .annivSec_kujiTtl {
    font-size: 1.9rem;
    line-height: 32px;
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.75);
  }
  .annivSec_kujiTtl .th {
    font-size: 2.5rem;
  }
  .annivSec_kujiTtl .original {
    font-size: 2.1rem;
  }
  .annivSec_kujiTtl .komikuji {
    font-size: 2.7rem;
  }
  .annivSec_kujiFigWrap {
    margin-top: 40px;
  }
  .annivSec_kujiFigWrap::before,
  .annivSec_kujiFigWrap::after {
    display: none;
  }
  .annivSec_kujiImg {
    width: 254px;
    max-height: calc(100vh - 320px);
  }
  .annivSec_kujiChance {
    width: 129px;
    height: 109px;
    top: -27px;
    left: calc(50% + 55px);
    z-index: -1;
  }
  .annivSec_kujiBt {
    margin: 37px auto 0;
    width: 220px;
    height: 44px;
    font-size: 1.4rem;
    background-position: right 13px center;
    background-size: 17px 17px;
  }
}

.annivSec_product {
  padding: 215px 0;
  margin: -100px 0;
  background: #F8F3ED;
  z-index: -1; }
  .introduction {
    width: 100%;
  }
  .intro_ttl {
    width: 100%;
    text-align: center;
    border-top: 2px solid #1D1D1D;
    border-bottom: 2px solid #1D1D1D;
    position: relative;
    z-index: 1;
  }
  .intro_ttlInn {
    display: inline-block;
    padding: 27px 0;
    font-size: 2.6rem;
    line-height: 1.6;
    font-weight: 700;
    position: relative;
  }
  .intro_ttlInn::before {
    content: "";
    width: 100%;
    height: .5em;
    display: block;
    background: #ff0;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1;
  }
  .intro_ttlInn::after {
    content: "";
    width: 167px;
    height: 124px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_intro01.png) bottom center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: -167px;
  }
  .intro_ttlInn span {
    font-size: inherit;
    font-weight: inherit;
  }
  .intro_contents {
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .intro_cFig {
    width: calc(50% - 30px);
  }
  .intro_cImg {
    width: 100%;
    height: auto;
    border-radius: 10px;
  }
  .intro_cDtl {
    width: calc(50% - 30px);
  }
  .intro_cCopy {
    font-size: 2.2rem;
    line-height: 1.54;
    font-weight: 700;
  }
  .intro_cTxt {
    margin-top: 15px;
    margin-bottom: -12px;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.875;
  }
  .intro_cBlock {
    margin-top: 30px;
  }
  .intro_cBlockTtl {
    font-weight: 700;
    padding-left: 1.5em;
    text-indent: -1.5em;
  }
  .intro_cBlockTtl::before {
    content: "\025cf";
    color: #E60012;
    margin-right: .5em;
  }
  .intro_cBlockTblWrap {
    margin-top: 10px;
  }
  .intro_cBlockTbl {
    width: 100%;
    border-collapse: separate;
    border-left: 1px solid #1D1D1D;
    border-top: 1px solid #1D1D1D;
    border-radius: 10px;
    background: #fff;
    table-layout: fixed;
  }
  .intro_cBlockTblHead {
    background: #FDE9EB;
  }
  .intro_cBlockTblHeadTh {
    padding: 8px 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
    vertical-align: middle;
    border-bottom: 1px solid #1D1D1D;
    border-right: 1px solid #1D1D1D;
  }
  .intro_cBlockTblHeadTh:first-child {
    width: 104px;
    border-radius: 10px 0 0 0;
  }
  .intro_cBlockTblHeadTh:last-child {
    border-radius: 0 10px 0 0;
  }
  .intro_cBlockTblBodyTh {
    width: 104px;
    padding: 8px 0;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
    vertical-align: middle;
    border-bottom: 1px solid #1D1D1D;
    border-right: 1px solid #1D1D1D;
    background: #FFF4EB;
  }
  .intro_cBlockTblBodyRow:last-child .intro_cBlockTblBodyTh {
    border-radius: 0 0 0 10px;
  }
  .intro_cBlockTblBodyTd {
    padding: 8px 12px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
    vertical-align: middle;
    border-bottom: 1px solid #1D1D1D;
    border-right: 1px solid #1D1D1D;
  }
  .intro_cBlockTblBodyRow:last-child .intro_cBlockTblBodyTd:last-child{
    border-radius: 0 0 10px 0;
  }
  .intro_cBlockTblBodyTd dl {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .intro_cBlockTblBodyTd dt {
    width: 5em;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
  }
  .intro_cBlockTblBodyTd dd {
    width: 7em;
    max-width: calc(100% - 5em);
    padding-left: 7px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2;
  }
  .intro_cBlockTblBodyTd p {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.6;
  }
  .intro_cBlockTblBodyTd p + p {
    margin-top: 10px;
  }
  .intro_cBlock02 .intro_cBlockTblBodyTd {
    text-align: center;
  }
  .intro_bt {
    margin: 60px auto 0;
    width: 300px;
    height: 64px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #1D1D1D;
    border-radius: 999px;
    background: #1D1D1D url(../../img/icon_arrow_02.svg) right 17px center no-repeat;
    background-size: 24px 24px;
  }
  .intro_bt:hover {
    color: #1D1D1D;
    background-color: #fff;
    background-image: url(../../img/icon_arrow_08.svg);
  }
  .lineup {
    width: 100%;
    margin-top: 10px;
    padding-top: 100px;
  }
  .lineup_itms {
    margin: -30px;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    position: relative;
  }
  .lineup_itms::after {
    content: "";
    width: 348px;
    height: 308px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_lineup01.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 100px;
    right: 30px;
    z-index: 1;
  }
  .lineup_itm {
    width: calc(33.33% - 60px);
    margin: 30px;
    padding: 40px 20px 35px;
    background: #fff;
    border-radius: 16px;
    z-index: 2;
  }
  .lineup_itmFig {
    width: 100%;
    height: 236px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
  }
  .lineup_itm:nth-child(n+4) .lineup_itmFig {
    height: 244px;
  }
  .lineup_itmImg {
    width: 140px;
    height: auto;
  }
  .lineup_itmName {
    margin-top: 20px;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
  }
  .lineup_itmBt {
    margin: 20px auto 0;
    width: 220px;
    max-width: 100%;
    height: 46px;
    color: #1d1d1d;
    font-size: 1.5rem;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #EFEFEF;
    border-radius: 999px;
    background: #EFEFEF url(../../img/icon_arrow_02.svg) right 11px center no-repeat;
    background-size: 24px 24px;
  }
  .lineup_itmBt:hover {
    background-color: #fff;
    background-image: url(../../img/icon_arrow_01.svg);
  }
@media screen and (max-width: 834px) {
  .annivSec_product {
    padding: 100px 0 105px;
    margin: -50px 0;
  }
  .intro_ttl {
    width: 100%;
    margin-top: 30px;
    text-align: center;
    border-top: 2px solid #1D1D1D;
    border-bottom: 2px solid #1D1D1D;
    position: relative;
    z-index: 1;
  }
  .intro_ttlInn {
    padding: 10px 0;
    font-size: 1.6rem;
    line-height: 1.68;
  }
  .intro_ttlInn::before {
    content: none;
  }
  .intro_ttlInn::after {
    width: 52px;
    height: 38px;
    left: -5px;
  }
  .intro_ttlInn span {
    display: inline-block;
    position: relative;
  }
  .intro_ttlInn span::before {
    content: "";
    width: 100%;
    height: .5em;
    display: block;
    background: #ff0;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1;
  }
  .intro_contents {
    margin-top: 30px;
    display: block;
  }
  .intro_cFig {
    width: 100%;
  }
  .intro_cImg {
    border-radius: 5px;
  }
  .intro_cDtl {
    width: 100%;
    margin-top: 25px;
  }
  .intro_cCopy {
    font-size: 1.8rem;
    line-height: 1.33;
  }
  .intro_cTxt {
    margin-top: 10px;
    margin-bottom: -5px;
    line-height: 1.33;
  }
  .intro_cBlock {
    margin-top: 25px;
  }
  .intro_cBlockTtl {
    font-size: 1.4rem;
  }
  .intro_cBlockTblWrap {
    margin-top: 8px;
  }
  .intro_cBlockTblHeadTh {
    padding: 8px 0;
    font-size: 1.4rem;
  }
  .intro_cBlockTblHeadTh:first-child {
    width: 60px;
  }
  .intro_cBlockTblBodyTh {
    width: 60px;
    padding: 8px 0;
    font-size: 1.4rem;
  }
  .intro_cBlockTblBodyTd {
    padding: 8px 12px;
    font-size: 1.4rem;
  }
  .intro_cBlockTblBodyTd dt {
    font-size: 1.4rem;
  }
  .intro_cBlockTblBodyTd dd {
    padding-left: 7px;
    font-size: 1.4rem;
  }
  .intro_cBlockTblBodyTd p {
    font-size: 1.4rem;
  }
  .intro_cBlockTblBodyTd p + p {
    margin-top: 6px;
  }
  .intro_cBlock02 .intro_cBlockTblWrap {
    margin: 8px -40px 0;
    padding: 0 40px;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .intro_cBlock02 .intro_cBlockTblWrap::-webkit-scrollbar{
    display: none;
  }
  .intro_cBlock02 .intro_cBlockTblInn {
    width: calc(100% + 40px);
    min-width: 510px;
    padding-right: 40px;
  }
  .intro_cBlock02 .intro_cBlockTbl {
    width: 100%;
  }
  .intro_cBlock02 .intro_cBlockTblHeadTh:first-child,
  .intro_cBlock02 .intro_cBlockTblBodyTh {
    width: 85px;
  }
  .intro_bt {
    margin: 30px auto 0;
    width: 220px;
    height: 44px;
    font-size: 1.4rem;
    background-position: right 13px center;
    background-size: 17px 17px;
  }
  .lineup {
    margin-top: 0;
    padding-top: 50px;
  }
  .lineup_itms {
    margin: 30px -10px -10px;
  }
  .lineup_itms::after {
    width: 250px;
    height: 222px;
    bottom: 20px;
    right: calc(25% - 125px);
  }
  .lineup_itm {
    width: calc(50% - 20px);
    margin: 10px;
    padding: 25px 10px 15px;
    border-radius: 10px;
  }
  .lineup_itmFig {
    height: 110px;
  }
  .lineup_itm:nth-child(n+4) .lineup_itmFig {
    height: 110px;
  }
  .lineup_itm:nth-child(n+5) .lineup_itmFig {
    height: auto;
  }
  .lineup_itmImg {
    width: 65px;
  }
  .lineup_itmName {
    margin-top: 10px;
    font-size: 1.5rem;
    line-height: 1.5;
    min-height: 4.5em;
  }
  .lineup_itmBt {
    margin: 15px auto 0;
    width: 100px;
    height: 25px;
    font-size: 1.2rem;
    background-position: right 10px center;
    background-size: 13px 13px;
  }
}

.annivSec_sns {
  padding-bottom: 0;
  background: #fff; }
  .sns_wrap {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
  }
  .sns_box {
    width: calc(50% - 30px);
    padding: 30px 33px 37px;
    background: #F7F8F8;
    border-radius: 16px;
    background-position: top 20px center;
    background-repeat: no-repeat;
    background-size: 34px 34px;
  }
  .sns_box--x {
    background-image: url(../../img/icon_x.svg);
  }
  .sns_box--facebook {
    background-image: url(../../img/icon_facebook.svg);
  }
  .sns_box--instagram {
    width: 100%;
    margin-top: 60px;
    background-image: url(../../img/icon_instagram.png);
  }
  .sns_boxTtl {
    margin-bottom: 30px;
    font-size: 1.6rem;
    line-height: 15px;
    font-weight: 500;
    color: #9FA0A0;
  }
  .sns_boxContent {
    height: 570px;
    overflow: hidden;
  }
  .sns_box .topInsta__list {
    margin: -5px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    direction: ltr;
  }
  .sns_box .topInsta__item {
    width: 20%;
    padding: 5px;
  }
  .sns_box .topInsta__list_type_bottom {
    display: none;
  }
  .sns_boxBt {
    margin: 25px auto 0;
    width: 300px;
    height: 64px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #A48B78;
    border-radius: 999px;
    background: #A48B78 url(../../img/icon_arrow_06.svg) right 17px center no-repeat;
    background-size: 24px 24px;
  }
  .sns_boxBt:hover {
    color: #A48B78;
    background-color: #fff;
    background-image: url(../../img/icon_arrow_07.svg);
  }
@media screen and (max-width: 834px) {
  .annivSec_sns {
    padding-bottom: 0;
  }
  .sns_box {
    width: 100%;
    padding: 12px 17px 17px;
    border-radius: 8px;
    background-position: top 10px center;
    background-size: 17px 17px;
  }
  .sns_box + .sns_box {
    margin-top: 20px;
  }
  .sns_boxTtl {
    margin-bottom: 10px;
    font-size: 1.2rem;
    line-height: 12px;
  }
  .sns_boxContent {
    height: 285px;
  }
  .sns_boxContent iframe {
    height: 285px;
  }
  .sns_box .topInsta__list {
    margin: -3px;
  }
  .sns_box .topInsta__item {
    width: 50%;
    padding: 3px;
  }
  .sns_box .topInsta__img {
    width: 100%;
  }
  .sns_box .topInsta__item:nth-child(n+7) {
    display: none;
  }
  .sns_boxBt {
    margin: 15px auto 0;
    width: 150px;
    height: 32px;
    font-size: 1rem;
    background-position: right 9px center;
    background-size: 12px 12px;
  }
}


@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform:rotate(360deg);
  }
}
@keyframes zoom-in-out {
  0% {
    transform: scale(1.2);
  }
  50% {
    transform: scale(.5);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes shake-shaka01 {
  0% {
    transform: rotate(19deg);
  }
  25% {
    transform: rotate(19deg);
  }
  25.01% {
    transform: rotate(-19deg);
  }
  50% {
    transform: rotate(-19deg);
  }
  50.01% {
    transform: rotate(19deg);
  }
  75% {
    transform: rotate(19deg);
  }
  75.01% {
    transform: rotate(-19deg);
  }
  99.99% {
    transform: rotate(-19deg);
  }
  100% {
    transform: rotate(19deg);
  }
}
@keyframes shake-shaka02 {
  0% {
    transform: rotate(-30deg);
  }
  25% {
    transform: rotate(-30deg);
  }
  25.01% {
    transform: rotate(30deg);
  }
  50% {
    transform: rotate(30deg);
    margin-bottom: 0;
    margin-left: 0;
  }
  50.01% {
    transform: rotate(-30deg);
    margin-bottom: -29.7%;
    margin-left: 2%;
  }
  75% {
    transform: rotate(-30deg);
  }
  75.01% {
    transform: rotate(30deg);
  }
  99.99% {
    transform: rotate(30deg);
    margin-bottom: -29.7%;
    margin-left: 2%;
  }
  100% {
    transform: rotate(-30deg);
    margin-bottom: 0;
    margin-left: 0;
  }
}
@keyframes shake-shaka03 {
  0% {
    transform: rotate(17deg);
  }
  25% {
    transform: rotate(17deg);
  }
  25.01% {
    transform: rotate(-17deg);
  }
  50% {
    transform: rotate(-17deg);
    margin-top: 0;
    margin-right: 0;
  }
  50.01% {
    transform: rotate(17deg);
    margin-top: -38.5%;
    margin-right: -4.3%;
  }
  75% {
    transform: rotate(17deg);
  }
  75.01% {
    transform: rotate(-17deg);
  }
  99.99% {
    transform: rotate(-17deg);
    margin-top: -38.5%;
    margin-right: -4.3%;
  }
  100% {
    transform: rotate(17deg);
    margin-top: 0;
    margin-right: 0;
  }
}
@keyframes shake-shaka04 {
  0% {
    transform: rotate(25.5deg);
  }
  25% {
    transform: rotate(25.5deg);
  }
  25.01% {
    transform: rotate(-25.5deg);
  }
  50% {
    transform: rotate(-25.5deg);
  }
  50.01% {
    transform: rotate(25.5deg);
  }
  75% {
    transform: rotate(25.5deg);
  }
  75.01% {
    transform: rotate(-25.5deg);
  }
  99.99% {
    transform: rotate(-25.5deg);
  }
  100% {
    transform: rotate(25.5deg);
  }
}
@keyframes shake-komikun01 {
  0% {
    transform: rotate(-12deg);
  }
  25% {
    transform: rotate(-12deg);
  }
  25.01% {
    transform: rotate(13deg);
  }
  50% {
    transform: rotate(13deg);
    margin-bottom: 0;
    margin-right: 0;
  }
  50.01% {
    transform: rotate(-12deg);
    margin-bottom: -38.5%;
    margin-right: 4.3%;
  }
  75% {
    transform: rotate(-12deg);
  }
  75.01% {
    transform: rotate(13deg);
  }
  99.99% {
    transform: rotate(13deg);
    margin-bottom: -38.5%;
    margin-right: 4.3%;
  }
  100% {
    transform: rotate(-12deg);
    margin-bottom: 0;
    margin-right: 0;
  }
}
@keyframes shake-komikun02 {
  0% {
    transform: rotate(12deg);
  }
  25% {
    transform: rotate(12deg);
  }
  25.01% {
    transform: rotate(-16deg);
  }
  50% {
    transform: rotate(-16deg);
    margin-top: 0;
    margin-left: 0;
  }
  50.01% {
    transform: rotate(12deg);
    margin-top: -29.7%;
    margin-left: -2%;
  }
  75% {
    transform: rotate(12deg);
  }
  75.01% {
    transform: rotate(-16deg);
  }
  99.99% {
    transform: rotate(-16deg);
    margin-top: -29.7%;
    margin-left: -2%;
  }
  100% {
    transform: rotate(12deg);
    margin-top: 0;
    margin-left: 0;
  }
}
@keyframes shake-kuji-win {
  0% {
    transform: rotate(-8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_01.svg);
    background-size: 100% 100%;
  }
  16.66% {
    transform: rotate(-8deg);
  }
  16.67% {
    transform: rotate(8deg);
  }
  33.33% {
    transform: rotate(8deg);
  }
  33.34% {
    transform: rotate(-8deg);
  }
  50% {
    transform: rotate(-8deg);
  }
  50.01% {
    transform: rotate(8deg);
  }
  66.66% {
    transform: rotate(8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_01.svg);;
  }
  66.67% {
    transform: rotate(-8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_02.svg);;
  }
  83.33% {
    transform: rotate(-8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_02.svg);;
  }
  83.34% {
    transform: rotate(8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_03.svg);;
  }
  100% {
    transform: rotate(8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_03.svg);;
  }
}
@keyframes shake-kuji-lose {
  0% {
    transform: rotate(-8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_01.svg);
    background-size: 100% 100%;
  }
  16.66% {
    transform: rotate(-8deg);
  }
  16.67% {
    transform: rotate(8deg);
  }
  33.33% {
    transform: rotate(8deg);
  }
  33.34% {
    transform: rotate(-8deg);
  }
  50% {
    transform: rotate(-8deg);
  }
  50.01% {
    transform: rotate(8deg);
  }
  66.66% {
    transform: rotate(8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_01.svg);;
  }
  66.67% {
    transform: rotate(-8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_02.svg);;
  }
  83.33% {
    transform: rotate(-8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_02.svg);;
  }
  83.34% {
    transform: rotate(8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_04.svg);;
  }
  100% {
    transform: rotate(8deg);
    background-image: url(../../img/koikuchi50anniv/img_draw01_04.svg);;
  }
}

@keyframes shake-shaka02-sp {
  0% {
    transform: rotate(-30deg);
  }
  25% {
    transform: rotate(-30deg);
  }
  25.01% {
    transform: rotate(30deg);
  }
  50% {
    transform: rotate(30deg);
    margin-bottom: 0;
    margin-left: 0;
  }
  50.01% {
    transform: rotate(-30deg);
    margin-bottom: -37.5%;
    margin-left: 0.6%;
  }
  75% {
    transform: rotate(-30deg);
  }
  75.01% {
    transform: rotate(30deg);
  }
  99.99% {
    transform: rotate(30deg);
    margin-bottom: -37.5%;
    margin-left: 0.6%;
  }
  100% {
    transform: rotate(-30deg);
    margin-bottom: 0;
    margin-left: 0;
  }
}
@keyframes shake-shaka03-sp {
  0% {
    transform: rotate(17deg);
  }
  25% {
    transform: rotate(17deg);
  }
  25.01% {
    transform: rotate(-17deg);
  }
  50% {
    transform: rotate(-17deg);
    margin-top: 0;
    margin-right: 0;
  }
  50.01% {
    transform: rotate(17deg);
    margin-top: -40.3%;
    margin-right: -1.5%;
  }
  75% {
    transform: rotate(17deg);
  }
  75.01% {
    transform: rotate(-17deg);
  }
  99.99% {
    transform: rotate(-17deg);
    margin-top: -40.3%;
    margin-right: -1.5%;
  }
  100% {
    transform: rotate(17deg);
    margin-top: 0;
    margin-right: 0;
  }
}
@keyframes shake-komikun01-sp {
  0% {
    transform: rotate(-12deg);
  }
  25% {
    transform: rotate(-12deg);
  }
  25.01% {
    transform: rotate(13deg);
  }
  50% {
    transform: rotate(13deg);
    margin-bottom: 0;
    margin-right: 0;
  }
  50.01% {
    transform: rotate(-12deg);
    margin-bottom: -40.3%;
    margin-right: 1.5%;
  }
  75% {
    transform: rotate(-12deg);
  }
  75.01% {
    transform: rotate(13deg);
  }
  99.99% {
    transform: rotate(13deg);
    margin-bottom: -40.3%;
    margin-right: 1.5%;
  }
  100% {
    transform: rotate(-12deg);
    margin-bottom: 0;
    margin-right: 0;
  }
}
@keyframes shake-komikun02-sp {
  0% {
    transform: rotate(12deg);
  }
  25% {
    transform: rotate(12deg);
  }
  25.01% {
    transform: rotate(-16deg);
  }
  50% {
    transform: rotate(-16deg);
    margin-top: 0;
    margin-left: 0;
  }
  50.01% {
    transform: rotate(12deg);
    margin-top: -37.5%;
    margin-left: -0.6%;
  }
  75% {
    transform: rotate(12deg);
  }
  75.01% {
    transform: rotate(-16deg);
  }
  99.99% {
    transform: rotate(-16deg);
    margin-top: -37.5%;
    margin-left: -0.6%;
  }
  100% {
    transform: rotate(12deg);
    margin-top: 0;
    margin-left: 0;
  }
}

.drawKuji {
  height: calc(100vh - 86px);
  height: calc(100lvh - 86px);
  background: url(../../img/koikuchi50anniv/bg_kuji01.svg) center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
  overflow: hidden; }
  .drawKuji::before {
    content: "";
    width: 1000%;
    height: 1000%;
    display: block;
    background: url(../../img/koikuchi50anniv/bg_kuji01.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: -450%;
    left: -450%;
    z-index: 2;
  }
  .drawKuji::after {
    content: "";
    width: 100%;
    height: 110%;
    display: block;
    background: url(../../img/koikuchi50anniv/bg_kuji02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: -5%;
    left: 0;
    z-index: 3;
  }
  .drawKuji_inn {
    width: auto;
    height: 100%;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    overflow: hidden;
  }
  .drawKuji_fig {
    font-size: 0;
    line-height: 0;
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: absolute;
  }
  .drawKuji_fig--shaka01 {
    height: 50px;
    width: auto;
    aspect-ratio: 146 / 50;
    background-image: url(../../img/koikuchi50anniv/img_draw02.svg);
    bottom: calc(50% + 475px);
    right: calc(50% + 145px);
    height: 4%;
    bottom: calc(50% + 38.3%);
    right: calc(50% + 11.7%);
  }
  .drawKuji_fig--shaka02 {
    height: 74px;
    width: auto;
    aspect-ratio: 216 / 74;
    background-image: url(../../img/koikuchi50anniv/img_draw02.svg);
    bottom: calc(50% + 120px);
    left: calc(50% + 290px);
    height: 5.9%;
    bottom: calc(50% + 9.7%);
    left: calc(50% + 23.4%);
  }
  .drawKuji_fig--shaka03 {
    height: 102px;
    width: auto;
    aspect-ratio: 296 / 102;
    background-image: url(../../img/koikuchi50anniv/img_draw02.svg);
    top: calc(50% + 185px);
    right: calc(50% + 305px);
    height: 8.2%;
    top: calc(50% + 14.9%);
    right: calc(50% + 24.6%);
  }
  .drawKuji_fig--shaka04 {
    height: 50px;
    width: auto;
    aspect-ratio: 146 / 50;
    background-image: url(../../img/koikuchi50anniv/img_draw02.svg);
    top: calc(50% + 415px);
    left: calc(50% + 390px);
    height: 4%;
    top: calc(50% + 33.4%);
    left: calc(50% + 31.4%);
  }
  .drawKuji_fig--komikun01 {
    height: 334px;
    width: auto;
    aspect-ratio: 140 / 334;
    background-image: url(../../img/koikuchi50anniv/img_draw03.svg);
    bottom: calc(50% + 75px);
    right: calc(50% + 330px);
    height: 26.9%;
    bottom: calc(50% + 6%);
    right: calc(50% + 26.6%);
    transform: rotate(-12deg);
  }
  .drawKuji_fig--komikun02 {
    height: 314px;
    width: auto;
    aspect-ratio: 148 / 314;
    background-image: url(../../img/koikuchi50anniv/img_draw04.svg);
    top: calc(50% + 55px);
    left: calc(50% + 350px);
    height: 25.3%;
    top: calc(50% + 4.4%);
    left: calc(50% + 28.2%);
    transform: rotate(12deg);
  }
  .drawKuji_fig--kuji {
    height: 1100px;
    width: auto;
    aspect-ratio: 4 / 11;
    background-image: url(../../img/koikuchi50anniv/img_draw01_01.svg);
    top: calc(50% - 480px);
    left: calc(50% - 200px);
    height: 88.7%;
    top: calc(50% - 38.7%);
    left: calc(50% - 16.1%);
    z-index: 2;
  }
  .drawKuji_Chance {
    height: 268px;
    width: auto;
    aspect-ratio: 318 / 268;
    font-size: 0;
    line-height: 0;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_kuji03.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: calc(50% + 295px);
    left: calc(50% + 215px);
    height: 21.6%;
    bottom: calc(50% + 23.8%);
    left: calc(50% + 17.3%);
    z-index: 1;
  }
  .drawKuji_fig--shaka01,
  .drawKuji_fig--shaka02,
  .drawKuji_fig--shaka03,
  .drawKuji_fig--shaka04 {
    opacity: 0;
    visibility: hidden;
  }
  .drawKuji_fig--komikun01,
  .drawKuji_fig--komikun02,
  .drawKuji_fig--kuji,
  .drawKuji_Chance {
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease-out;
  }
  .start .drawKuji_fig--shaka01,
  .start .drawKuji_fig--shaka02,
  .start .drawKuji_fig--shaka03,
  .start .drawKuji_fig--shaka04 {
    opacity: 1;
    visibility: visible;
  }
  .on .drawKuji_fig--komikun01,
  .on .drawKuji_fig--komikun02,
  .on .drawKuji_fig--kuji,
  .on .drawKuji_Chance {
    visibility: visible;
    opacity: 1;
  }
  .drawKuji.start::before {
    animation: 5s linear 1 rotation forwards;
  }
  .drawKuji.start::after {
    animation: 3s ease-in-out 1.66 zoom-in-out forwards;
  }
  .start .drawKuji_fig--shaka01 {
    animation: 4s linear 1.5 shake-shaka01 forwards;
  }
  .start .drawKuji_fig--shaka02 {
    animation: 4s linear 1.5 shake-shaka02 forwards;
  }
  .start .drawKuji_fig--shaka03 {
    animation: 4s linear 1.5 shake-shaka03 forwards;
  }
  .start .drawKuji_fig--shaka04 {
    animation: 4s linear 1.5 shake-shaka04 forwards;
  }
  .start .drawKuji_fig--komikun01 {
    animation: 4s linear 1.5 shake-komikun01 forwards;
  }
  .start .drawKuji_fig--komikun02 {
    animation: 4s linear 1.5 shake-komikun02 forwards;
  }
  .win.start .drawKuji_fig--kuji {
    animation: 6s linear 1 shake-kuji-win forwards;
  }
  .lose.start .drawKuji_fig--kuji {
    animation: 6s linear 1 shake-kuji-lose forwards;
  }
  .result .drawKuji_fig--shaka01,
  .result .drawKuji_fig--shaka02,
  .result .drawKuji_fig--shaka03,
  .result .drawKuji_fig--shaka04,
  .result .drawKuji_fig--komikun01,
  .result .drawKuji_fig--komikun02,
  .result .drawKuji_fig--kuji,
  .result .drawKuji_Chance {
    visibility: hidden;
    opacity: 0;
  }
  .result .drawResult {
    visibility: visible;
    opacity: 1;
  }
.drawResult {
  width: 100%;
  height: 100%;
  padding: 40px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s ease-out; }
  .drawResult_inn {
    width: 800px;
    max-width: calc(100% - 80px);
    max-height: calc(100% - 80px);
    padding: 80px 75px 75px;
    background: #fff;
    border-radius: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .drawResult_inn::-webkit-scrollbar {
    display: none;
  }
  .drawResult_ttl {
    width: 100%;
    max-width: 590px;
    height: 77px;
    margin: 0 auto;
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #E60012;
    border-radius: 99px;
    position: relative;
  }
  .drawResult_txt {
    margin-top: 20px;
    font-size: 1.8rem;
    line-height: 1.88;
    font-weight: 700;
    text-align: center;
  }
  .drawResult_fig {
    width: 100%;
    max-width: 600px;
    margin: 25px auto 0;
    font-size: 0;
    border-radius: 42px;
    position: relative;
  }
  .drawResult_figImg {
    width: 100%;
    height: auto;
  }
  .drawResult_fig .ic_lose02 {
    width: 20%;
    aspect-ratio: 98 / 87;
    display: block;
    background: url(../../img/koikuchi50anniv/img_draw_result_ic_lose02.png) center center/contain;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(51%, 18%);
  }
  .drawResult_txt2 {
    margin-top: 25px;
    font-size: 1.6rem;
    line-height: 1.875;
    font-weight: 500;
    text-align: center;
  }
  .drawResult_num {
    margin: 30px auto;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
  }
  .drawResult_txtShare {
    margin: 50px auto;
    text-align: center;
    position: relative;
  }
  .drawResult_txtShare_txt {
    padding-bottom: 10px;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 700;
    text-align: center;
    display: inline-block;
    border-bottom: 2px solid #1D1D1D;
    position: relative;
    z-index: 2;
  }
  .drawResult_txtShare::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 18px solid #1d1d1d;
    border-bottom: 0;
    position: absolute;
    bottom: -16px;
    left: calc(50% - 12px);
    z-index: 1;
  }
  .drawResult_txtShare::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 18px solid #fff;
    border-bottom: 0;
    position: absolute;
    bottom: -13px;
    left: calc(50% - 12px);
    z-index: 3;
  }
  .drawResult_form {
    width: 100%;
    max-width: 584px;
    margin: 15px auto 0;
  }
  .drawResult_formDl {
    width: 100%;
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .drawResult_formDt {
    width: 186px;
    padding: 6px 40px 6px 0;
    font-size: 1.5rem;
    line-height: 20px;
    font-weight: 500;
    position: relative;
  }
  .drawResult_formDt--require::after {
    content: "必須";
    width: 38px;
    height: 20px;
    padding-top: 1px;
    font-size: 1.2rem;
    line-height: 20px;
    color: #fff;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #E60012;
    border-radius: 3px;
    position: absolute;
    top: 6px;
    right: 0;
  }
  .drawResult_formDd {
    width: calc(100% - 200px);
  }
  .drawResult_formText {
    width: 100%;
    height: 32px;
    padding: 7px 12px 5px;
    font-size: 1.5rem;
    line-height: 20px;
    border-radius: 99px;
    background-color: #EFEFEF;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .drawResult_formText::-webkit-input-placeholder,
  .drawResult_formText::-moz-placeholder,
  .drawResult_formText:-ms-input-placeholder,
  .drawResult_formText::-ms-input-placeholder,
  .drawResult_formText::placeholder {
    color: #C9CACA;
  }
  .drawResult_formDd .form-err {
    font-size: 1.5rem;
    color: #f00;
    margin-top: 3px;
  }
  .drawResult_btnWrap {
    margin: 15px -10px -10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .drawResult_btn {
    width: calc(50% - 20px);
    max-width: 255px;
    height: 60px;
    margin: 10px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    background: #1D1D1D;
    border: 1px solid #1D1D1D;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .drawResult_btn:hover {
    background: #fff;
    color: #1D1D1D;
  }
  .drawResult_btn--x {
    padding-left: 10px;
  }
  .drawResult_btn--xkomi {
    padding-left: 40px;
    max-width: 285px;
  }
  .drawResult_btn--x::before {
    content: "";
    width: 34px;
    height: 34px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_x.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 17px);
    left: 13px;
  }
  .drawResult_btn--facebook {
    background: #0866ff;
    border-color: #0866ff;
  }
  .drawResult_btn--facebook::before {
    content: "";
    width: 34px;
    height: 34px;
    display: block;
    background: url(../../img/icon_facebook.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - 17px);
    left: 13px;
  }
  .drawResult_close {
    width: 120px;
    height: 35px;
    margin: 35px auto 0;
    color: #1D1D1D;
    font-size: 1.6rem;
    font-weight: 500;
    text-decoration: none;
    background: #EFEFEF;
    border: 1px solid #EFEFEF;
    border-radius: 99px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .drawResult_close:hover {
    background: #fff;
  }
  .drawResult_close::before {
    content: "";
    width: 11px;
    height: 11px;
    margin-right: 7px;
    display: block;
    background: url(../../img/koikuchi50anniv/ic_close.svg) center center no-repeat;
    background-size: contain;
  }
  .drawResult--lose .drawResult_ttl::after {
    content: "";
    width: 79px;
    height: 163px;
    display: block;
    background: url(../../img/koikuchi50anniv/img_draw_result01.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 35px;
    left: calc(50% + 200px);
    z-index: 2;
  }
  .drawResult--win .drawResult_ttl::after {
    content: "";
    width: 145px;
    height: 247px;
    display: block;
    background: url(../../img/koikuchi50anniv/img_draw_result02.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 35px;
    left: calc(50% + 185px);
    z-index: 2;
  }
  .drawResult--win .drawResult_fig {
    max-width: 566px;
    margin-top: 33px;
  }
  .drawResult--win .drawResult_txt2 {
    margin-top: 20px;
    font-size: 1.4rem;
  }
  .drawResult--thanks .drawResult_ttl {
    color: #1D1D1D;
    background: #EFEFEF;
  }
  .drawResult--thanks .drawResult_ttl::after {
    content: "";
    width: 117px;
    height: 237px;
    display: block;
    background: url(../../img/koikuchi50anniv/img_draw_result03.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: -30px;
    left: calc(50% + 215px);
  }
@media screen and (max-width: 1160px) {
  .drawKuji {
    height: calc(100vh - 80px);
    height: calc(100lvh - 80px);
  }
}
@media screen and (max-width: 834px) {
  .drawKuji {
    height: calc(100vh - 58px);
    height: calc(100lvh - 58px);
  }
  .drawKuji::after {
    width: 110%;
    height: 100%;
    top: 0;
    left: -5%;
  }
  .drawKuji_fig--shaka01 {
    height: 18px;
    bottom: calc(50% + 220px);
    right: calc(50% - 5px);
    height: 3%;
    bottom: calc(50% + 37.7%);
    right: calc(50% - 0.8%);
  }
  .drawKuji_fig--shaka02 {
    height: 26px;
    bottom: calc(50% + 80px);
    left: calc(50% + 100px);
    height: 4.4%;
    bottom: calc(50% + 13.7%);
    left: calc(50% + 17.1%);
  }
  .drawKuji_fig--shaka03 {
    height: 32px;
    top: calc(50% + 35px);
    right: calc(50% + 86px);
    height: 5.2%;
    top: calc(50% + 6%);
    right: calc(50% + 14.7%);
  }
  .drawKuji_fig--shaka04 {
    height: 18px;
    top: calc(50% + 212px);
    left: calc(50% + 126px);
    height: 3%;
    top: calc(50% + 36.3%);
    left: calc(50% + 21%);
  }
  .drawKuji_fig--komikun01 {
    height: 114px;
    bottom: calc(50% + 127px);
    right: calc(50% + 100px);
    height: 19.5%;
    bottom: calc(50% + 21.8%);
    right: calc(50% + 17.1%);
  }
  .drawKuji_fig--komikun02 {
    height: 108px;
    top: calc(50% + 72px);
    left: calc(50% + 110px);
    height: 18.5%;
    top: calc(50% + 12.3%);
    left: calc(50% + 18.8%);
  }
  .drawKuji_fig--kuji {
    height: 495px;
    top: calc(50% - 240px);
    left: calc(50% - 90px);
    height: 85%;
    top: calc(50% - 36%);
    left: calc(50% - 15.4%);
  }
  .drawKuji_Chance {
    height: 110px;
    bottom: calc(50% + 150px);
    left: calc(50% + 40px);
    height: 18.8%;
    bottom: calc(50% + 25.7%);
    left: calc(50% + 6.8%);
  }
  .start .drawKuji_fig--shaka02 {
    animation: 4s linear 1.5 shake-shaka02-sp forwards;
  }
  .start .drawKuji_fig--shaka03 {
    animation: 4s linear 1.5 shake-shaka03-sp forwards;
  }
  .start .drawKuji_fig--komikun01 {
    animation: 4s linear 1.5 shake-komikun01-sp forwards;
  }
  .start .drawKuji_fig--komikun02 {
    animation: 4s linear 1.5 shake-komikun02-sp forwards;
  }
  .drawResult {
    padding: 30px;
  }
  .drawResult_inn {
    width: 100%;
    max-width: calc(100% - 60px);
    max-height: calc(100% - 60px);
    padding: 30px 28px;
    border-radius: 10px;
  }
  .drawResult_ttl {
    width: 100%;
    max-width: none;
    height: 39px;
    font-size: 1.6rem;
  }
  .drawResult_txt {
    margin-top: 15px;
    font-size: 1.5rem;
    line-height: 1.53;
    font-weight: 500;
  }
  .drawResult_fig {
    max-width: none;
    margin: 15px auto 0;
    border-radius: 10px;
  }
  .drawResult_fig .ic_lose02 {
    transform: translate(15%, 18%);
  }
  .drawResult_txt2 {
    margin-top: 15px;
    font-size: 1.5rem;
    line-height: 1.53;
  }
  .drawResult_num {
    margin: 10px auto;
    font-size: 1.3rem;
  }
  .drawResult_txtShare {
    margin: 20px auto;
  }
  .drawResult_txtShare_txt {
    padding-bottom: 8px;
    font-size: 1.5rem;
    border-bottom: 1px solid #1D1D1D;
  }
  .drawResult_txtShare::before {
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 9px solid #1d1d1d;
    bottom: -8px;
    left: calc(50% - 6px);
  }
  .drawResult_txtShare::after {
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 9px solid #fff;
    bottom: -7px;
    left: calc(50% - 6px);
  }
  .drawResult_form {
    width: 100%;
    max-width: none;
    margin: 12px auto 0;
  }
  .drawResult_formDl {
    margin-bottom: 10px;
    display: block;
  }
  .drawResult_formDt {
    width: 100%;
    margin-bottom: 4px;
    padding: 0;
    font-size: 1.2rem;
    line-height: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .drawResult_formDt--require::after {
    width: 24px;
    height: 14px;
    margin-left: 4px;
    padding-top: 1px;
    font-size: .9rem;
    line-height: 1;
    border-radius: 2px;
    position: relative;
    top: inherit;
    right: inherit;
  }
  .drawResult_formDd {
    width: 100%;
  }
  .drawResult_formText {
    height: 25px;
    padding: 6px 8px 4px;
    font-size: 1.2rem;
    line-height: 15px;
  }
  .drawResult_formDd .form-err {
    font-size: 1.2rem;
    margin-top: 2px;
  }
  .drawResult_btnWrap {
    margin: 10px -5px -5px;
  }
  .drawResult_btn {
    width: calc(50% - 10px);
    max-width: 125px;
    height: 30px;
    margin: 5px;
    font-size: 1rem;
  }
  .drawResult_btn--x {
    padding-left: 10px;
  }
  .drawResult_btn--x::before {
    width: 18px;
    height: 18px;
    top: calc(50% - 9px);
    left: 7px;
  }
  .drawResult_btn--xkomi {
    padding-left: 10px;
  }
  .drawResult_btn--facebook {
    padding-left: 10px;
  }
  .drawResult_btn--facebook::before {
    width: 18px;
    height: 18px;
    top: calc(50% - 9px);
    left: 7px;
  }
  .drawResult_close {
    width: 74px;
    height: 21px;
    margin: 15px auto 0;
    font-size: .9rem;
  }
  .drawResult_close::before {
    width: 7px;
    height: 7px;
    margin-right: 3px;
  }
  .drawResult--lose .drawResult_ttl::after {
    content: none;
  }
  .drawResult--win .drawResult_ttl::after {
    content: none;
  }
  .drawResult--win .drawResult_fig {
    max-width: none;
    margin-top: 15px;
  }
  .drawResult--win .drawResult_txt2 {
    margin-top: 12px;
    font-size: 1.4rem;
    text-indent: -.05em;
  }
  .drawResult--thanks .drawResult_ttl::after {
    content: none;
  }
}


/* animation */
.inview {
  transition-delay: .4s;
  transform: translateZ(0);
  transition: transform 1.5s, opacity 1.5s;
  position: relative;
  opacity: 0; }
  .inview_fast {
    transition: transform .5s, opacity .5s;
    transition-timing-function: ease-out;
  }
  .inview_after {
    transition-delay: .6s;
  }
  .inview_after_2s {
    transition-delay: .2s;
  }
  .inview.on {
    opacity: 1;
  }
  .inview.scale {
    -webkit-transform: scale(.5);
    transform: scale(.5);
    -webkit-transition: -webkit-transform 1.6s cubic-bezier(.075,.82,.165,1);
    transition: -webkit-transform 1.6s cubic-bezier(.075,.82,.165,1);
    transition: transform 1.6s cubic-bezier(.075,.82,.165,1);
    transition: transform 1.6s cubic-bezier(.075,.82,.165,1),-webkit-transform 1.6s cubic-bezier(.075,.82,.165,1);
  }
  .inview.scale.on {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .inview.fadeInTop {
    transform: translateY(-100px);
    -o-transform: translateY(-100px);
    -ms-transform: translateY(-100px);
    -moz-transform: translateY(-100px);
    -webkit-transform: translateY(-100px);
  }
  .inview.fadeInTop.on {
    transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
  }
  .inview.fadeInBottom {
    transform: translateY(100px);
    -o-transform: translateY(100px);
    -ms-transform: translateY(100px);
    -moz-transform: translateY(100px);
    -webkit-transform: translateY(100px);
  }
  .inview.fadeInBottom.on {
    transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
  }
  .inview.fadeInLeft {
    transform: translateX(-100px);
    -o-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    -moz-transform: translateX(-100px);
    -webkit-transform: translateX(-100px);
  }
  .inview.fadeInLeft.on {
    transform: translateX(0);
    -o-transform: translateX(0);
    -ms-transform: translateX(0);
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
  }
  .inview.fadeInRight {
    transform: translateX(100px);
    -o-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -webkit-transform: translateX(100px);
  }
  .inview.fadeInRight.on {
    transform: translateX(0);
    -o-transform: translateX(0);
    -ms-transform: translateX(0);
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
  }
  .inview.animLabel {
    overflow: hidden;
    position: relative;
  }
  .inview.animLabel::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background-color: #000;
    transform: translateX(0%);
    transition: transform ease 1s;
  }
  .inview.animLabel.on::after {
    transform: translateX(100%);
  }
@media screen and (max-width: 834px) {
  .inview.fadeInTop {
    transform: translateY(-50px);
    -o-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    -moz-transform: translateY(-50px);
    -webkit-transform: translateY(-50px);
  }
  .inview.fadeInTop.on {
    transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
  }
  .inview.fadeInBottom {
    transform: translateY(50px);
    -o-transform: translateY(50px);
    -ms-transform: translateY(50px);
    -moz-transform: translateY(50px);
    -webkit-transform: translateY(50px);
  }
  .inview.fadeInBottom.on {
    transform: translateY(0);
    -o-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
  }
  .inview.fadeInLeft {
    transform: translateX(-50px);
    -o-transform: translateX(-50px);
    -ms-transform: translateX(-50px);
    -moz-transform: translateX(-50px);
    -webkit-transform: translateX(-50px);
  }
  .inview.fadeInLeft.on {
    transform: translateX(0);
    -o-transform: translateX(0);
    -ms-transform: translateX(0);
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
  }
  .inview.fadeInRight {
    transform: translateX(50px);
    -o-transform: translateX(50px);
    -ms-transform: translateX(50px);
    -moz-transform: translateX(50px);
    -webkit-transform: translateX(50px);
  }
  .inview.fadeInRight.on {
    transform: translateX(0);
    -o-transform: translateX(0);
    -ms-transform: translateX(0);
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
  }
}
