figure,
p {
  margin: 0;
}

body {
  color: #353737;
  font-weight: 300;
}

h2,
h3 {
  font-weight: 300;
  border: 0 none;
  padding-top: 0;
}

#main {
  margin-top: 0;
  margin-bottom: 0;
}

#main > .row {
  max-width: initial;
}

#primary.column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/*--==special-page====================--*/
/*--==common==--*/
#special-page {
  color: #585858 !important;
}
#special-page .c-inner-cont {
  max-width: 1200px;
  width: 95vw;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #special-page .c-inner-cont {
    max-width: initial;
    width: 90vw;
  }
}
#special-page .c-h2-01 {
  font-size: clamp(30px, calc(26.274509803921568px + 0.9803921568627451vw), 40px);
  line-height: 1.5;
}
#special-page .c-h2-02 {
  color: #898a8d;
  font-size: clamp(25px, calc(21.274509803921568px + 0.9803921568627451vw), 35px);
  line-height: 1.5;
}
#special-page .c-h2-03 {
  font-size: clamp(23px, calc(21.137254901960784px + 0.49019607843137253vw), 28px);
  line-height: 1.5;
}
#special-page .c-h3-00 {
  font-size: clamp(23px, calc(22.254901960784313px + 0.19607843137254902vw), 25px);
  line-height: 1.5;
}
#special-page .c-h3-01 {
  font-size: clamp(20px, calc(19.254901960784313px + 0.19607843137254902vw), 22px);
  line-height: 1.5;
}
#special-page .c-h3-02 {
  font-size: clamp(20px, calc(20px + 0vw), 20px);
  line-height: 1.5;
}
#special-page .c-p-01 {
  font-size: clamp(18px, calc(17.254901960784313px + 0.19607843137254902vw), 20px);
  line-height: 1.5;
}
#special-page .c-p-02 {
  font-size: clamp(16px, calc(16px + 0vw), 16px);
  line-height: 1.5;
}
#special-page p {
  font-size: clamp(17px, calc(16.627450980392158px + 0.09803921568627451vw), 18px);
  margin: 0;
  line-height: 1.5;
}
#special-page .c-tc {
  text-align: center;
}
#special-page .c-release-txt {
  max-width: 254px;
  width: 35.143vw;
  color: #fff;
  font-size: clamp(18px, calc(18px + 0vw), 18px);
  text-align: center;
  padding: 21px 0 20px;
  margin: 0 auto;
  background: #656565;
}
@media screen and (max-width: 767px) {
  #special-page .c-tc-sp {
    text-align: center;
  }
  #special-page .c-release-txt {
    max-width: initial;
    width: 62.632vw;
    padding: 3.526vw 0 3.263vw;
  }
}
#special-page ul.int li {
  text-indent: -1rem;
}
#special-page ul.int li {
  margin-bottom: 0.2rem;
}
#special-page .c-btn-b {
  max-width: 350px;
  width: 42vw;
  margin: 0 auto;
}
#special-page .c-btn-b a {
  display: block;
  color: #fff;
  font-size: clamp(18px, calc(18px + 0vw), 18px);
  text-align: center;
  padding: 21px 0 20px;
  background: #000;
  transition: all 0.4s ease 0s;
}
#special-page .c-btn-b a:hover {
  background: #585858;
}
@media screen and (max-width: 767px) {
  #special-page .c-btn-b {
    max-width: initial;
    width: 85vw;
  }
}
/*--fade--*/
#special-page .fade {
  transition: 1s;
}
#special-page .fade_dl {
  transition-delay: 0.5s;
}
#special-page .fade_in {
  transform: translate3d(0, 0, 0);
  opacity: 0;
}
#special-page .fade.act {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
#special-page .fade_up {
  transform: translate3d(0, -50px, 0);
  opacity: 0;
}
#special-page .fade_left {
  transform: translate3d(-50px, 0, 0);
  opacity: 0;
}
#special-page .fade_right {
  transform: translate3d(50px, 0, 0);
  opacity: 0;
}
/*--pc&sp--*/
#special-page .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  #special-page .pc {
    display: none;
  }
  #special-page .sp {
    display: block;
  }
}
/*--== fixed-banner ==--*/
#special-page .fixed-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 655px;
  width: 75vw;
  padding: 13px 17px 12px 30px;
  margin: 0 auto;
  background: #fff;
  border: #707070 1px solid;
}
#special-page .fixed-banner p {
  font-size: clamp(16px, calc(14.509803921568627px + 0.39215686274509803vw), 20px);
}
#special-page .fixed-banner.fixed {
  position: fixed;
  top: 2%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 200;
}
#special-page .fixed-banner.none {
  opacity: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #special-page .fixed-banner {
    display: block;
    max-width: initial;
    width: 90vw;
    text-align: center;
    padding: 9px 5px 11px;
  }
}
#special-page .fixed-btn {
  max-width: 160px;
  width: 20vw;
}
@media screen and (max-width: 767px) {
  #special-page .fixed-btn {
    max-width: initial;
    width: 55%;
    margin: 1vw auto;
  }
}
#special-page .fixed-btn a {
  display: block;
  color: #fff;
  font-size: clamp(14px, calc(14px + 0vw), 14px);
  text-align: center;
  background: #585858;
  border-radius: 30px;
  transition: all 0.4s ease 0s;
}
#special-page .fixed-btn a:hover {
  background: #000;
}
@media screen and (max-width: 767px) {
  #special-page .fixed-btn a {
    padding: 0.214vw 0.714vw;
  }
}
#special-page .fixed-btn .arrow {
  position: relative;
  display: inline-block;
  width: 16.7px;
  height: 10.4px;
  margin-left: 8px;
}
#special-page .fixed-btn .arrow::before,
#special-page .fixed-btn .arrow::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: calc(50% - 1px);
  width: 2px;
  height: 10px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 50% calc(100% - 1px);
}
#special-page .fixed-btn .arrow::before {
  transform: rotate(45deg);
}
#special-page .fixed-btn .arrow::after {
  transform: rotate(-45deg);
}
/*--== kv ==--*/
#special-page #kv {
  margin-bottom: 50px;
}
#special-page #kv img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #special-page #kv {
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 767px) {
}
/*--== occasion ==--*/
#special-page #occasion {
  padding-top: 80px;
  padding-bottom: 80px;
}
#special-page #occasion .c-release-txt {
  margin-top: 55px;
  margin-bottom: 65px;
}
#special-page #occasion picture img {
  display: block;
  margin: 62px auto 65px;
}
@media screen and (max-width: 767px) {
  #special-page #occasion {
    padding-top: 6.857vw;
    padding-bottom: 8.714vw;
  }
  #special-page #occasion .c-inner-cont {
    width: 100%;
  }
  #special-page #occasion .c-release-txt {
    margin-top: 7.474vw;
    margin-bottom: 10.105vw;
  }
  #special-page #occasion picture img {
    margin: 7.316vw auto 13.105vw;
  }
}
/*--== care ==--*/
#special-page #care {
  padding-bottom: 70px;
}
#special-page #care .care-lead {
  padding: 50px 0 53px;
  background: #9a9a9a;
}
#special-page #care .care-lead h2 {
  color: #fff;
  font-size: clamp(28px, calc(27.254901960784313px + 0.19607843137254902vw), 30px);
  line-height: 1.3;
  text-align: center;
}
#special-page #care .care-lead span {
  display: block;
  font-size: clamp(23px, calc(22.254901960784313px + 0.19607843137254902vw), 25px);
}
#special-page #care .care-linden {
  padding: 97px 0 99px;
  background: url(../images/special-page/care-linden-bg.jpg) no-repeat center center/cover;
}
#special-page #care .care-linden p.c-p-02 {
  margin-top: 60px;
}
#special-page #care .care-linden p.c-p-02 span {
  margin-left: 50px;
}
#special-page #care .c-inner-cont {
  max-width: 1060px;
  width: 90vw;
  margin: 0 auto;
}
#special-page #care dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 38px;
}
#special-page #care dl dt {
  max-width: 134px;
  width: 20.571vw;
  padding: 0;
}
#special-page #care dl dd {
  max-width: 896px;
  width: 71vw;
  padding: 0;
}
#special-page #care dl dd h3 {
  margin-bottom: 18px;
}
#special-page #care ul {
  margin-top: 55px;
}
#special-page #care ul > li {
  font-size: clamp(16px, calc(16px + 0vw), 16px);
}
@media screen and (max-width: 767px) {
  #special-page #care {
    padding-bottom: 18.421vw;
  }
  #special-page #care .care-linden {
    padding: 8.421vw 0 73.421vw;
    background: url(../images/special-page/care-linden-bg-sp.jpg) no-repeat center center/cover;
  }
  #special-page #care .c-inner-cont {
    max-width: initial;
    width: 90vw;
  }
  #special-page #care .care-linden p.c-p-02 {
    margin-top: 3vw;
  }
  #special-page #care .care-linden p.c-p-02 span {
    display: block;
    margin-left: 1vw;
  }
  #special-page #care dl {
    display: block;
    margin-top: 8vw;
  }
  #special-page #care dl dt {
    max-width: initial;
    width: 100%;
    padding: 0;
  }
  #special-page #care dl dt img {
    display: block;
    margin: 0 auto;
  }
  #special-page #care dl dd {
    max-width: initial;
    width: 100%;
    padding: 0;
  }
  #special-page #care dl dd h3 {
    margin-bottom: 3vw;
  }
  #special-page #care ul {
    margin-top: 5vw;
  }
}
/*--== lineup ==--*/
#special-page #lineup {
  padding-top: 85px;
  padding-bottom: 75px;
  background: #f4f5f7;
}
#special-page #lineup h2 {
  color: #585858;
  line-height: 1.5;
}
#special-page #lineup .c-inner-cont {
  padding: 60px 60px;
  margin-top: 58px;
  margin-bottom: 79px;
  background: #fff;
}
#special-page #lineup .c-inner-cont h3 {
  margin-bottom: 45px;
}
#special-page #lineup .lineup-list-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}
#special-page #lineup .lineup-list-item .lineup-item {
  display: flex;
  flex-direction: column;
  width: 33.333%;
  text-align: center;
}
#special-page #lineup .lineup-list-item .lineup-item p {
  flex-grow: 1;
}
#special-page #lineup .lineup-list-item .lineup-item h4 {
  margin: 15px 0 18px;
}
#special-page #lineup .lineup-list-item .lineup-item h4 a {
  border-bottom: #585858 1px solid;
  transition: all 0.4s ease 0s;
}
#special-page #lineup .lineup-list-item .lineup-item h4 a:hover {
  border-bottom: #dbdbdb 1px solid;
}
#special-page #lineup .lineup-list-item .lineup-item .c-p-02 {
  height: 50px;
}
@media screen and (max-width: 767px) {
  #special-page #lineup {
    padding-top: 10.737vw;
    padding-bottom: 10.737vw;
  }
  #special-page #lineup .c-inner-cont {
    padding: 10.789vw 3.5vw;
    margin-top: 7.263vw;
    margin-bottom: 9.789vw;
  }
  #special-page #lineup .c-inner-cont h3 {
    margin-bottom: 5vw;
  }
  #special-page #lineup .lineup-list-item {
    display: block;
    margin-top: 0;
  }
  #special-page #lineup .lineup-list-item .lineup-item {
    display: block;
    width: 100%;
    margin-bottom: 5vw;
  }
  #special-page #lineup .lineup-list-item .lineup-item h4 {
    margin: 15px 0 18px;
  }
  #special-page #lineup .lineup-list-item .lineup-item .c-p-02 {
    height: auto;
  }
}
/*--== campaign ==--*/
#special-page #campaign {
  padding-top: 105px;
  margin-bottom: 57px;
}
#special-page #campaign h2 {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  #special-page #campaign {
    padding-top: 10.737vw;
    margin-bottom: 57px;
  }
  #special-page #campaign h2 {
    margin-bottom: 4vw;
  }
}
/*-- campaign-tab --*/
#special-page #campaign ul.campaign-tab {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1060px;
  width: 90vw;
  padding: 0;
  margin: 56px auto 0;
}
#special-page #campaign ul.campaign-tab > li {
  display: block;
  width: 50%;
  color: #aaa;
  font-size: clamp(18px, calc(18px + 0vw), 18px);
  text-align: center;
  padding: 21px 0 20px;
  background: #ebebeb;
  cursor: pointer;
  transition: all 0.4s ease 0s;
}
#special-page #campaign ul.campaign-tab > li:hover {
  color: #fff;
  background: #000;
}
#special-page #campaign ul.campaign-tab > li.act {
  color: #fff;
  background: #656565;
  cursor: default;
}
@media screen and (max-width: 767px) {
  #special-page #campaign ul.campaign-tab {
    max-width: initial;
    width: 100%;
    margin: 6vw auto 0;
  }
  #special-page #campaign ul.campaign-tab > li {
    font-size: clamp(16px, calc(15.254901960784313px + 0.19607843137254902vw), 18px);
    padding: 1vw 0 1.2vw;
  }
}
/*-- campaign-tab-wapper --*/
#special-page #campaign .campaign-tab-wapper {
  max-width: 1060px;
  width: 75.714vw;
  padding-top: 60px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #special-page #campaign .campaign-tab-wapper {
    max-width: initial;
    width: 100%;
    padding-top: 5vw;
  }
}
/*-- campaign-tab-cont --*/
#special-page #campaign .campaign-tab-cont {
  display: none;
}
#special-page #campaign .campaign-tab-cont.act {
  display: block;
  animation: tabShow 0.9s ease-in-out forwards;
}
@keyframes tabShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#special-page #campaign dl {
  font-size: clamp(18px, calc(18px + 0vw), 18px);
}
#special-page #campaign .campaign-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 765px;
  width: 90.643vw;
  margin: 0 auto;
}
#special-page #campaign .campaign-entry .campaign-title {
  margin-bottom: 53px;
}
#special-page #campaign .campaign-title > div {
  max-width: 255px;
  width: 25.214vw;
  font-size: clamp(18px, calc(18px + 0vw), 18px);
  text-align: center;
  padding: 21px 0 20px;
  margin-right: 32px;
  border: #585858 1px solid;
}
#special-page #campaign .campaign-details {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-size: clamp(16px, calc(15.254901960784313px + 0.19607843137254902vw), 18px);
  margin: 50px auto 45px;
}
#special-page #campaign .campaign-details dt {
  max-width: 150px;
  width: 10.714vw;
  text-align: center;
  padding: 14px 0 15px;
  margin: 0 0 18px;
  background: #ebebeb;
}
#special-page #campaign .campaign-details dd {
  width: 80%;
  padding: 14px 0 0 37px;
  margin: 0 0 18px;
}
#special-page #campaign .campaign-bonuses {
  display: flex;
  margin: 0 auto 56px;
  background: #f4f5f7;
}
#special-page #campaign .campaign-bonuses dt {
  max-width: 400px;
  width: 28.571vw;
  margin: 0;
}
#special-page #campaign .campaign-bonuses dd {
  padding: 30px 0 0 74px;
  margin: 0;
}
#special-page #campaign .campaign-bonuses .campaign-bonuses-ttl {
  max-width: 300px;
  width: 21.429vw;
  color: #fff;
  text-align: center;
  padding: 16px 0 15px;
  margin: 0 auto 28px;
  background: #585858;
}
#special-page #campaign .campaign-notes {
  padding: 29px 35px;
  margin: 75px auto 0;
  border: #585858 1px solid;
}
#special-page #campaign .campaign-notes ul > li {
  font-size: clamp(16px, calc(16px + 0vw), 16px);
}
#special-page #campaign .campaign-notes ul > li strong {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  #special-page #campaign .campaign-title {
    display: block;
    max-width: initial;
    text-align: center;
    width: 100%;
  }
  #special-page #campaign .campaign-entry .campaign-title {
    margin-bottom: 5.5vw;
  }
  #special-page #campaign .campaign-title > div {
    max-width: initial;
    width: 55vw;
    padding: 3vw 0 2.5vw;
    margin: 0 auto 5vw;
  }
  #special-page #campaign .campaign-details {
    margin: 5vw auto 7.5vw;
  }
  #special-page #campaign .campaign-details dt {
    max-width: initial;
    width: 25vw;
    padding: 2vw 0 2vw;
    margin: 0 0 0;
  }
  #special-page #campaign .campaign-details dd {
    width: 68%;
    padding: 0 0 0 3vw;
    margin: 0 0 5vw;
  }
  #special-page #campaign .campaign-details dd .sp {
    display: inline-block !important;
  }
  #special-page #campaign .campaign-bonuses {
    display: block;
    margin: 0 auto 7.5vw;
  }
  #special-page #campaign .campaign-bonuses dt {
    max-width: initial;
    width: 100%;
  }
  #special-page #campaign .campaign-bonuses dd {
    padding: 7vw 2vw 5vw;
  }
  #special-page #campaign .campaign-bonuses .campaign-bonuses-ttl {
    max-width: initial;
    width: 55vw;
    color: #fff;
    padding: 3vw 0 2.5vw;
    margin: 0 auto 4vw;
  }
  #special-page #campaign .campaign-notes {
    padding: 5vw 4vw;
    margin: 7vw auto 0;
  }
}
/*----------------------------------------------------------------------*/
