
/*
Theme Name: Ranking
*/

/*reset*/
html,body,dl,dt,dd,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
    padding: 0;
    margin: 0;
    line-height: 1;
}
ul,ol {
    margin: 0;
    padding: 0;
    list-style:none;
}
small {
    font-size:100%;
}

html {
    font-size: 10px;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #000000;
    font-size: 1.5rem;
    font-weight: bold;
    /*background-color: #F3F8FC;*/
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

section {
    overflow: hidden;
}

select, input, textarea {
    font-family: 'Noto Sans JP', sans-serif;
}

a {
    -webkit-transition: opacity  .3s ease;
    -moz-transition: opacity  .3s ease;
    -ms-transition: opacity  .3s ease;
    -o-transition: opacity  .3s ease;
    transition: opacity  .3s ease;
    display: block;
}

a:link {
    text-decoration:none;
    color: #000000;
}

a:visited {
    text-decoration:none;
    color: #000000;
}

a:hover{
    text-decoration:none;
    opacity: 0.7;
    color: #000000;
}

a:active {
    text-decoration:none;
    color: #000000;
}

img {
    border:none;
    max-width: 100%;
}


@media screen and (max-device-width: 480px){
  body{
    -webkit-text-size-adjust: none;
  }
}

.sp-collapse.spcollapsing {
    transition-duration: 0.15s !important;
}

.inner {
    padding: 0 20px;
    background: #fff;
}

.innerBtnTop1 {
    overflow: initial;
}

.wrapper {
    width: 750px;
    max-width: 100%;
    margin: 0 auto;
}

.showSp {
    display: none;
}

.mtb-40 {
    margin: 40px 0 46px 0;
}

/*Header*/
.mainLogo {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.headerContainer {
    width: 100%;
    background-color: #FFFFFF;
    padding: 5px 0 20px 0;
    box-sizing: border-box;
}
/*End header*/


.wrapperContainer {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.mainContent {
    width: 100%;
}



/*Footer*/
footer {
    background: linear-gradient(to right, #f8b5c6 0%, #ffc1a0 46.35%, #fcb35e 100%);
    color: #FFF;
    width: 750px;
    max-width: 100%;
    margin: 0 auto;
}

.mainFooter {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.footerContainer {
    width: 100%;
    max-width: 100%;
    padding: 50px 0 50px 80px;
    display: flex;
    box-sizing: border-box;
}

.footerContainer .colLeft {
    display: inline-block;
    margin-right: 54px;
}
.footerContainer .colRight {
    display: inline-block;
}

.footerCopyR {
    background: #6D7486;
}

.footerCopyR p {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    padding: 24px 0;
}

.footerCopyR p span {
    color: #FFF;
}

.footerMenuTitle {
    position: relative;
}

.footerContainer .colRight .footerMenuTitle:first-child{
    margin-bottom: 15px;
}


.footerMenuTitle p {
    color: #FFF;
    font-size: 24px;
    line-height: 1.5;
    font-weight: bold;
}

.footerContainer ul {
    padding-top: 15px;
}

.footerContainer ul li a {
    color: #FFF;
    font-size: 20px;
    line-height: 1.75;
    font-weight: bold;
}
/*End footer*/


/* start top banner */
.topBanner {
    position: relative;
    padding: 20px 22px 34px 22px;
    background: url(images/fv.jpg);
    background-size: cover;
    background-position-x: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    width: 750px;
    height: 609px;
    box-sizing: border-box;
}

.topBannerImg {
    width: 100%;
}

.fvText1 img {
    width: 100%;
}

.fvText2 {
    text-align: right;
}

.fvText2 img {
    width: 405px;
}

.tagDate {
    font-size: 24px;
    color: #000;
    position: absolute;
    top: 322px;
    right: 107px;
}

.tagDate span {
    font-size: 20px;
}

.dropdownSearch {
    height: 52px;
    width: 100%;
    background: #707070;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.dropdownSearch img {
    width: 472px;
}

.topSearch {
    width: 100%;
    display: none;
}


p.topNumber {
    position: absolute;
    bottom: 23px;
    right: 20px;
    letter-spacing: 3px;
    font-size: 5.1rem;
    font-weight: 900;
    color: #FFF;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
    line-height: 1;
    display: flex;
    align-items: center;
}

p.topNumber strong {
    font-size: 7.8rem;
}


.searchBox {
    padding: 26px 30px 20px 46px;
    background: #FFFFFF;
    border: 4px solid #f4a2a7;
}

.searchBox .groupSelect {
    display: inline-flex;
    justify-content: flex-start;
}

.customSelect {
    cursor: pointer;
    height: 58px;
}

.customSelectWrapper {
    border: 1.5px solid #838383;
    border-radius: 9px;
}

.customSelect select {
    width: 100%;
    height: 56px;
    position: relative;
    border: none;
    overflow: hidden;
    outline: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    color: #4d4d4d;
    background: none;
    z-index: 2;
    font-size: 20px;
    font-weight: normal;
    text-align-last:center;
    padding-right: 40px;
    cursor: pointer;
}

.customSelect::after {
    content: "";
    color: #fff;
    position: absolute;
    right: 13px;
    top: 20px;
    border-top: 13px dashed;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    z-index: 1;
}

.customSelect::before {
    content: "";
    position: absolute;
    right: 0px;
    top: 0px;
    width: 41px;
    height: 57px;
    border-radius: 7.42px;
    background: linear-gradient(#f8b5c6 0%, #ffc1a0 46.35%, #fcb35e 100%);
    box-shadow: 1px 1px 0px rgba(31, 86, 128, 0.42);
    z-index: 1;
}

.searchBox .customSelect {
    width: 236px;
    display: inline-block;
    position: relative;
    margin-right: 110px;
}

.searchBox .groupCheckbox {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 18px;
}

.searchBox .customCheckbox {
    width: 45%;
    /*min-width: 137px;*/
    display: inline-block;
    position: relative;
    margin-top: 16px;
    box-sizing: border-box;
}

.searchBox .customCheckbox:nth-child(1),
.searchBox .customCheckbox:nth-child(3),
.searchBox .customCheckbox:nth-child(5) {
    width: 52%;
}

.customCheckbox input[type="checkbox"] {
    display: none;
}

.customCheckbox label{
    cursor: pointer;
    display: flex;
    align-items: center;
}


.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.customCheckbox label input:checked ~ .checkmark:after {
    display: block;
    content: "";
    background: #a3a3a3;
    height: 22px;
    width: 22px;
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: none;
}

.customCheckbox .virContent{
    vertical-align: middle;
    font-size: 18px;
    margin-left: 16px;
    font-weight: normal;
    color: #333333;
    line-height: 1;
    white-space: nowrap;
}


.customCheckbox .checkmark{
    width: 32px;
    height: 32px;
    border: 1.5px solid #838383;
    background: #ffffff;
    vertical-align: middle;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
}



.btnSearch button {
    color: #fff;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
    border-radius: 19px;
    outline: none;
    border: none;
    width: 100%;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 32px auto 0 auto;
    background: #27cfce;
    box-shadow: 2px 2px 0px rgba(31, 86, 128, 0.39);
    cursor: pointer;
}

.btnSearch button:hover {
    opacity: 0.6;
}

.btnSearch button span {
    margin-left: 52px;
}
/* end top banner */


.topDesc {
    padding: 24px 0 42px 0;
    text-align: center;
    background: url(images/desc_bg.svg);
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
}

.topDesc1 {
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    text-shadow: 0px 3px 10px #d94444;
}

.topDesc2 {
    font-size: 36px;
    font-weight: bold;
    color: #fff;
    margin-top: 12px;
    text-shadow: 0px 3px 10px #d94444;
}

.topDate {
    font-size: 20px;
    font-weight: 500;
    text-align: right;
    line-height: 1.3;
    padding: 0 20px;
    margin-top: 26px;
    margin-bottom: 20px;
}

.blockRanking {
    background: #FFF7F7;
    padding: 0 20px;
    box-sizing: border-box;
    overflow: hidden;
    margin-top: -18px;
}


.topRanking li {
    border-radius: 18px;
    border: 2px solid #ffd445;
    margin-bottom: 44px;
}

.topRanking li:first-child {
    border: 5px solid #ffd445;
}

.topRankingInfo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.topRankingInfo .colLeft{
    display: flex;
    align-items: center;
    margin-left: 6px;
}

.topRankingNumber img {
    width: 117px;
    margin-top: -26px;
}

.topRankingName a {
    font-weight: bold;
    font-size: 32px;
    color: #2767d3;
    margin-left: 12px;
    position: relative;
}

.topRankingName a:after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #2767d3;
}

.topRankingInfo .colRight{
    display: flex;
    align-items: center;
    margin-right: 28px;
    margin-top: 6px;
}

.topRankingStar {
    width: 146.16px;
    margin-right: 12px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.topRankingPoint {
    font-family: 'Montserrat', sans-serif;
    font-size: 40px;
    font-weight: bold;
    color: #F06464;
}


.starRating {
  width: 25.84px;
  height: 24.72px;
  position: relative;
}
.starRating:before {
  background-image: url(images/empty_star.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 25.84px;
  height: 24.72px;
}
.starRating > span {
  display: block;
  text-indent: -10000px;
  width: 25.84px;
  height: 24.72px;
  position: absolute;
  overflow: hidden;
}


.starRating > span:before {
  background-image: url(images/full_star.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: 0;
  content: "";
  display: block;
  height: 24.72px;
  width: 25.84px;
  left: 0;
  position: absolute;
  right: 0;
  text-indent: 10000px;
  top: 0;
}

.topRankingContent {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-bottom: 30px;
    margin-top: 15px;
}

.topRankingContent .colLeft {
    margin-left: 20px;
    display: inline-block;
    width: 156px;
}

.topRankingContent .colLeft img {
    width: 100%;
}

.topRankingContent .colRight {
    margin-left: 20px;
    display: inline-block;
}

.topRankingContent .colRight p {
    position: relative;
    padding-left: 45px;
    font-size: 20px;
    font-weight: bold;
    color: #000000;
    line-height: 1.23;
    margin-top: 15px;
}

.topRankingContent .colRight p:first-child {
    margin-top: 0;
}

.topRankingContent .colRight p b, .topRankingContent .colRight p strong {
    font-size: 28px;
    font-weight: bold;
    color: #F06464;
}

.topRankingContent .colRight p:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0,-50%);
    width: 35.7px;
    height: 28px;
    background: url(images/diamond.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.topRanking li:first-child .topRankingContent .colRight p {
    font-size: 24px;
}

.topRanking li:first-child .topRankingContent .colRight p b, .topRanking li:first-child .topRankingContent .colRight p strong{
    font-size: 32px;
    color: #D94444;
}

.notice {
    padding: 18px 35px 40px 35px;
    box-sizing: border-box;
    background: #f5ffff;
    margin-top: -8px;
}

.notice img {
    width: 100%;
}

.notice .noticeTitle {
    font-size: 32px;
    color: #3054B1;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 12px;
    text-align: center;
}

.notice .noticeContent p {
    font-size: 24px;
    color: #6D7486;
    font-weight: bold;
    line-height: 2;
    margin-top: 26px;
    text-align: center;
}

.notice hr {
    margin: 0;
    border: none;
    border-bottom: 2px solid #707070;
    margin-top: 26px;
}

.compare {
    padding: 32px 22px 42px 22px;
    background: #FFFFF4;
    box-sizing: border-box;
}

.compareHeader {
    height: 68px;
    background: linear-gradient(#f4a2a7 0%, #f4a2a7 100%);
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    border-left: 2px solid #BABABA;
    border-right: 2px solid #BABABA;
    box-sizing: border-box;
    margin-top: 10px;
}

.ch1, .ch2, .ch3, .ch4 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
}

.ch1 {
    width: 150px;
    border-right: 2px solid #fff;
}

.ch2 {
    width: 184px;
    border-right: 2px solid #fff;
}

.ch3 {
    width: 184px;
    border-right: 2px solid #fff;
}

.ch4 {
    width: 186px;
}

.compareContent li {
    display: flex;
    flex-wrap: nowrap;
    background: #FFFFF4;
    border: 2px solid #BABABA;
    border-top: none;
}

.compareContent li:first-child {
    background: #FFEFF0;
}

.compareContent .colLeft {
    width: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    align-content: center;
    border-right: 2px solid #BABABA;
}

.compareContent .rankingNumber {
    width: 100%;
    text-align: center;
}

.compareContent .rankingNumber img {
    width: 104px;
}

.compareContent .rankingName a {
    font-weight: bold;
    text-decoration: underline;
    font-size: 20px;
    color: #2767d3;
    margin-top: 18px;
}
.compareContent .rankingNameCompare {
    font-weight: bold;
    text-decoration: underline;
    font-size: 20px;
    color: #2767d3;
    margin-top: 18px;
}
.compareContent .rankingNameCompare a {
    color: #2767d3;
}

.compareContent .colRight {
    width: 552px;
}

.compareContent .comparePrice {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    border-bottom: 2px solid #BABABA;
    text-align: center;
}

.comparePrice .cp1 {
    width: 184px;
    border-right: 2px solid #BABABA;
}

.comparePrice .cp2 {
    width: 184px;
    border-right: 2px solid #BABABA;
}

.comparePrice .cp3 {
    width: 186px;
}

.compare .compareBtn {
    margin: 10px auto 16px 0;
}


.compare .orangeBtn span {
    min-height: 99px !important;
    height: 99px;
    width: 526px;
}

.compare .orangeBtn span p {
    width: 100%;
    line-height: 1.5;
    font-size: 24px !important;
}

.compare .orangeBtn span {
    flex-wrap: wrap;
    align-content: center;
}

.compare .orangeBtn span p:first-child {
    font-size: 20px !important;
}



.compare .maxbutton.maxbutton-orangebtn.orangeBtn {
    width: 526px !important;
}

.compareContent li:first-child .maxbutton.maxbutton-orangebtn.orangeBtn {
    background: linear-gradient(#2cd1d1 0%, #00886d 100%) !important;
    box-shadow: 0 6px 0 0 #005050 !important;
}

.cp1, .cp2, .cp3 {
    padding: 20px 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    align-content: center;
    min-height: 135px;
    height: 95px;
    box-sizing: border-box;
}

.cp1 .row1, .cp1 .row2 {
    width: 100%;
}

.cp2 .row1, .cp2 .row2 {
    width: 100%;
}

.cp3 .row1, .cp3 .row2 {
    width: 100%;
}

.cp1 .row1 p {
    font-size: 20px;
    font-weight: bold;
}

.cp1 .row1 p strong, .cp1 .row1 p b{
    font-size: 28px;
    font-weight: bold;
}

.cp1 .row2 {
    font-size: 16px;
    line-height: 1.25;
    margin-top: 8px;
}

.cp2 .row1 p {
    font-size: 20px;
    font-weight: bold;
}

.cp2 .row1 p strong, .cp2 .row1 p b{
    font-size: 28px;
    font-weight: bold;
}

.cp2 .row2 {
    font-size: 16px;
    line-height: 1.25;
    margin-top: 8px;
}

.cp3 .row1 {
    font-size: 16px;
    line-height: 1.25;
}

.cp3 .row2 {
    font-size: 20px;
    line-height: 1.25;
    margin-top: 8px;
}

.cp3 .row2 p strong, .cp3 .row2 p b{
    font-size: 28px;
}

.compareContent li:first-child .cp1 .row1 {
    color: #D94444;
}

.compareContent li:first-child .cp2 .row1 {
    color: #D94444;
}

.compareContent li:first-child .cp3 .row2 {
    color: #D94444;
}


.recommendBlock {
    margin-bottom: 25px;
}

.check {
    margin-top: 40px;
}

.checkTitle {
    position: relative;
}

.checkTitle img {
    width: 100%;
}

.checkTitle span {
    font-weight: bold;
    font-size: 36px;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
}

.checkList li {
    border-radius: 5.66px;
    background: #fff7ef;
    border: 2px solid #f4a2a7;
    background: #FFF7EF;
    margin-top: 20px;
}

.checkBlock {
    background: url(images/check_bg.png);
    background-size: cover;
    padding: 20px 26px 30px 26px;
    position: relative;
}

.checkTag {
    position: absolute;
    top: -4px;
    left: 8px;
    width: 53px;
    height: 72px;
    background-image: url(images/check_tag.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;

}

.checkTag span {
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    font-size: 42px;
    color: #fff;
    -webkit-text-stroke: 2px #000;
    position: relative;
    top: -8px;
}

.checkList .title {
    font-weight: bold;
    font-size: 32px;
    line-height: 1.2;
    text-align: center;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    border-radius: 8px;
    background: #f06464;
    padding: 33px 0;
}

.checkList .title p {
    line-height: 1.3;
}

.checkList .desc {
    text-align: center;
    font-size: 24px;
    color: #000000;
    line-height: 1.75;
}

.checkList .desc p {
    line-height: 2;
    margin-top: 15px;
}

.checkList .desc em {
    font-style: normal;
    font-weight: bold;
    font-size: 32px;
    line-height: 1.75;
    color: #d76f78;
    background-image: linear-gradient(to bottom, #FFFF86 0%, #FFFF86 100%);
    background-repeat: no-repeat;
    background-position-y: 80%;
    background-size: 100% 16px;
}

.checkList .desc strong {
    font-weight: bold;
    font-size: 40px;
    line-height: 1.75;
    color: #d76f78;
}

.checkList .title b, .checkList .title strong {
    font-size: 40px;
    color: #ffff86;
}

.review {
    margin-top: 40px;
}

.reviewTitle {
    padding: 0 12px;
    box-sizing: border-box;
    position: relative;
}

.reviewTitle span {
    font-weight: bold;
    font-size: 36px;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
}

.reviewTitle img {
    width: 100%;
}

.reviewBlock {
    margin: 20px 0 40px 0;
}

.reviewItem {
    padding: 32px 38px 28px 38px;
    margin-bottom: 20px;
    border-radius: 12px;
    background: #fff;
    border: 2px solid #ff9872;
}

.reviewBlock .reviewItem:last-child {
    margin-bottom: 0;
}

.userReviews {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.userReviews .userImg{
    width: 99px;
}

.userReviews .userInfo {
    margin-left: 15px;
}

.reviewsTitle {
    margin-left: 18px;
}

.reviewItem .reviewsTitle :is(p, h5) {
    font-size: 32px;
    line-height: 1.2;
    color: #000;
}

.reviewItem .reviewsTitle :is(p, h5) strong {
    font-size: 40px;
    color: #EA527B;
}

.reviewItem .reviewsDes {
    margin-top: 14px;
}

.reviewItem .reviewsDes p {
    font-size: 24px;
    color: #000000;
    line-height: 2;
    margin: 0;
}

.reviewItem .reviewsDes p strong {
    font-size: 28px;
    background-image: linear-gradient(to bottom, #FFFF86 0%, #FFFF86 100%);
    background-repeat: no-repeat;
    background-position-y: 15%;
    background-size: 100% 36px;
}



/* start list ranking */
.listRanking {
    position: relative;
}

.listRanking > li, .storeDetail {
    border: 2px solid #FFD445;
    background: #FFFFF4;
    margin-bottom: 25px;
    filter: drop-shadow(0px 5px 10px rgba(45, 53, 145, 0.25));
    border-radius: 12px;
}

.listRanking > li {
    margin-bottom: 90px;
}

.hikakuPost .listRanking > li {
    background: rgba(255, 248, 221, 0.67);
}

.listRanking > li:last-child {
    margin-bottom: 0;
}

.rankingInfo {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-left: 40px;
}

.rankingNumber {
    width: 143px;
    margin-top: -25px;
    position: relative;
}

.rankingNumber img {
    width: 100%;
}

.rankingName a {
    font-weight: bold;
    position: relative;
    font-size: 48px;
    color: #2767d3;
    margin-left: 26px;
}

.rankingName a:after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #2767d3;
}

.storeContent {
    margin-top: 40px;
    padding: 0 18px 35px 18px;
}


.storeMainImg img {
    width: 100%;
}


.priceBox {
    margin: 8px 0 40px 0;
    border: 2px solid #F4B5A2;
}

.priceBox .priceBoxHeader {
    display: flex;
}

.priceBoxTitle {
    width: 33.33%;
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    padding: 25px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F4A2A7;
    border: 2px solid #F4B5A2;
    border-bottom: none;
    border-top: none;
}

.priceBoxHeader .priceBoxTitle {
    border-right: 1px solid #F4B5A2;
}

.priceBoxHeader .priceBoxTitle:last-child {
    border-right: none;
}

.priceBoxHeader .priceBoxTitle:first-child {
    border-left: none;
}

.priceBoxBody {
    display: flex;
}


.priceBoxContent {
    padding: 12px 0 15px 0;
    background: #fff;
    border: 2px solid #F4B5A2;
    border-top: none;
    border-bottom: none;
    width: 33.33%;
}

.priceBoxBody .priceBoxContent {
    border-right: 1px solid #F4B5A2;
}

.priceBoxBody .priceBoxContent:last-child {
    border-right: none;
}

.priceBoxBody .priceBoxContent:first-child {
    border-left: none;
}

.priceBoxValue {
    text-align: center;
    color: #000000;
    font-weight: bold;
}

.priceBoxValue span {
    font-size: 32px;
}

.priceBoxValue small {
    font-size: 20px;
    position: relative;
}

.priceBoxValue small .tag {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    font-size: 10px;
    color: #000;
}

.priceBoxNote {
    font-size: 14px;
    text-align: center;
    margin-top: 10px;
}

.campaign {
    padding: 66px 0 60px 0;
    box-sizing: border-box;
    border: 4px solid #64baf0;
    filter: drop-shadow(0px 5px 10px rgba(22, 38, 90, 0.25));
    background: #fff;
    border-radius: 12px;
    width: 100%;
    position: relative;
    text-align: center;
    margin-top: 140px;
}

.campaign .campaignDesc {
    font-size: 36px;
    text-align: center;
    color: #000;
    line-height: 1.5;
}

.campaign .campaignPrice {
    text-align: center;
}

.campaign .campaignPrice p {
    /* font-size: 60px; */
    color: #EA527B;
    line-height: 1.5;
    font-weight: bold;
    background-image: linear-gradient(to bottom, #FFFF86 0%, #FFFF86 100%);
    background-repeat: no-repeat;
    background-position-y: 87%;
    background-size: 100% 20px;
    display: inline-block;
}

.campaign .campaignPrice p b, .campaign .campaignPrice p strong {
    font-size: 80px;
}

.campaign .campaignTitle {
    width: 645px;
}

.campaign .campaignTitle span {
    position: absolute;
    top: -38px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    color: #fff;
    width: 100%;
}

.campaign .campaignTitle img {
    width: 100%;
    position: absolute;
    top: -94px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.campaignBtn {
    padding: 0 15px;
    box-sizing: border-box;
    margin-top: -55px;
}

.productRecommend {
    margin-top: 48px;
    padding: 14px 0 46px 0;
    background: #FFF7F7;
    text-align: center;
    border-radius: 5.66px;
    border: 2px dashed #d94444;
}

.productRecommend .productTitle img {
    width: 512px;
    margin-bottom: 24px;
}

.productRecommendContent {
    overflow: hidden;
    display: inline-block;
    text-align: left;
}

.productRecommendContent p {
    font-size: 28px;
    line-height: 1.09;
    margin-top: 14px;
    padding-left: 54px;
    position: relative;
}

.productRecommendContent p:after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0,-50%);
    width: 42.88px;
    height: 34px;
    background: url(images/checkIcon.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.listRanking .rankingStoreInfo .orangeBtn span {
    font-size: 2.475rem !important;
}

.listRanking .top1BtnStoreInfo .orangeBtn span {
    font-size: 2.475rem !important;
}


.listRanking .greenBtn {
    margin: 10px 0 30px 0 !important;
}

.recTop1 {
    /*margin-top: 25px;*/
}

.recTop1 .listRanking > li {
    border: none;
    filter: none;
    background: linear-gradient(#f8b5c6 0%, #ffc1a0 46.35%, #fcb35e 100%);
    border-radius: 0;
}

.recTop1 .storeContent {
    padding: 0 40px 48px 40px;
    margin-top: 28px;
}

.recTop1 .recTop1Img {
    padding: 0 40px 3px 40px;
    width: calc(100% + 15px);
    margin-left: -15px;
    box-sizing: border-box;
}

.recTop1 .recTop1Img img {
    width: 100%;
    margin-top: 56px;
}

.recTop1 .storeMainImg img {
    box-shadow: 0px 5px 10px rgba(77, 15, 55, 0.25);
}

.recTop1 .priceBox {
    margin: 40px 0;
}

.recTop1 .top1BtnStoreInfo .maxbutton.maxbutton-orangebtn.orangeBtn {
    margin-top: 15px !important;
}

.reasonHeader {
    position: relative;
    margin-top: 45px;
}

.reasonHeader img {
    width: 100%;
}

.reasonHeader span {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    font-size: 36px;
    color: #fff;
    width: 100%;
    text-align: center;
}

.reasonTitle p {
    font-weight: bold;
    font-size: 34px;
    line-height: 1.6;
    text-align: center;
    color: #f4a2a7;
    margin-bottom: 25px;
}

.reasonTitle strong {
    font-size: 40px;
    text-align: center;
    color: #f4a2a7;
    background-image: linear-gradient(to bottom, #FFFF86 0%, #FFFF86 100%);
    background-repeat: no-repeat;
    background-position-y: 100%;
    background-size: 100% 28px;
}

.reasonContent p {
    font-weight: 500;
    font-size: 24px;
    line-height: 2;
    color: #000000;
}

.reasonContent strong {
    font-weight: bold;
    font-size: 28px;
    background-image: linear-gradient(to bottom, #D94444 0%, #D94444 100%);
    background-repeat: no-repeat;
    background-position-y: 100%;
    background-size: 100% 4px;
}

.ulReason {
    margin-top: -58px;
}

.ulReason li {
    border-radius: 5.66px;
    background: #fffff4;
    border: 2px solid #f4a2a7;
    padding: 40px 38px 25px 38px;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.ulReason li:first-child  {
    padding: 40px 38px 40px 38px;
}

.ulReason li:first-child .reasonTitle {
    margin-top: 20px;
}

.reasonContent img {
    width: 100%;
}


.wp-video, video.wp-video-shortcode, .mejs-container, .mejs-overlay.load {
    width: 100% !important;
    height: 100% !important;
}
.mejs-container {
    padding-top: 56.25%;
}
.wp-video, video.wp-video-shortcode {
    max-width: 100% !important;
}
video.wp-video-shortcode {
    position: relative;
}
.mejs-mediaelement {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.mejs-controls {
    display: none;
}
.mejs-overlay-play {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto !important;
    height: auto !important;
}

.reasonButton {
    margin-top: 24px;
}

.pointBlock {
    background: #FCDDDF;
    padding: 50px 0 60px 0;
    position: relative;
}

.pointBlock:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 375px 0 375px;
    border-color: #fcdddf transparent transparent transparent;
    position: absolute;
    bottom: -40px;
    left: 0;
}

.pointImg {
    padding: 0 40px 0 22px;
    box-sizing: border-box;
}

.pointImg img {
    width: 100%;
}

.listPoint {
    padding: 0 40px;
    box-sizing: border-box;
}



.listPoint li {
    background: #fff;
    border: 2px solid #ff9872;
    filter: drop-shadow(0px 3px 6px rgba(77, 15, 55, 0.25));
    border-radius: 10px;
    padding: 24px 40px 36px 40px;
    margin-top: 20px;
    position: relative;
}

.listPoint .pointTitle {
    font-size: 40px;
    line-height: 1.2;
    text-align: center;
    color: #d76f78;
}

.listPoint .pointLine {
    text-align: center;
    margin-top: 20px;
}
.listPoint .pointLine img {
    width: 397px;
}

.listPoint .pointContent {
    margin-top: 32px;
}

.listPoint .pointContent p {
    font-size: 24px;
    line-height: 2;
    color: #000;
}

.listPoint .pointContent p strong {
    font-size: 28px;
    color: #EA527B;
    background-image: linear-gradient(to bottom, #FFFF86 0%, #FFFF86 100%);
    background-repeat: no-repeat;
    background-position-y: 85%;
    background-size: 100% 12px;
}

.pointTag {
    width: 77.54px;
    height: 78.06px;
    background: url(images/point_tag.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    text-align: center;
    position: absolute;
    top: -4px;
    left: 18px;
}

.pointTagText {
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: #fff;
    position: relative;
    top: -5px;
}

.pointTagNumber {
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    font-weight: bold;
    font-size: 34px;
    letter-spacing: -0.02em;
    color: #fff;
    position: relative;
    top: -5px;
    line-height: 1.15;
}

.no1Store {
    padding: 60px 20px 80px 20px;
    background: #FFF7F7;
    box-sizing: border-box;
}

.no1StoreImg {
    width: 100%;
}

.no1StoreImg img {
    width: 100%;
}

.no1StoreContent {
    padding: 0 20px;
    box-sizing: border-box;
}

.no1StoreContent .storeMainImg {
    margin: 25px 0;
}
/* end list ranking */


/* start column page */
.cardtype {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 5px;
    padding-bottom: 20px;
}

.cardtype__article {
    width: 48%;
    padding: 7px;
    box-sizing: border-box;
    box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    margin-top: 20px;
    margin-bottom: 5px;
    transition: .2s;
}

.cardtype__article:hover {
    box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
    transform: translateY(-4px);
}

.cardtype__article h2 {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 10px;
}

.cardtype time {
    margin: 5px 0 10px 0;
    display: inline-block;
    font-size: 1.3rem;
    color: #b5b5b5;
    font-weight: 700;
}

.cardtype__article::after {
    flex-basis: 48%;
    content: "";
}

.cardtype__img {
    max-height: 180px;
}

.cardtype__img img {
    max-height: 180px;
    width: 100%;
    object-fit: cover;
    max-width: 100%;
}


.pagination,.wp-prev-next{
    margin:1.5em 0;
}
.pagination{
    text-align:left;
    margin-bottom: 50px;
}
.pagination ul{
    display:block;
    clear:both;
    padding: 0;
    border-radius:3px;
    text-align:center;
}
.pagination li{
    display:inline-block;
    overflow:hidden;
    margin:3.5px;
    padding:0;
    text-align:center;
}
.pagination a,.pagination span{
    display:inline-block;
    width:46px;
    height:46px;
    margin:0;
    border-radius:50%;
    background:#fff;
    font-size:17.5px;
    font-weight:700;
    text-decoration:none;
    line-height:46px;
}
.pagination .current{
    color:#fff;
    cursor:default;
}
.page-numbers.dots{
    width:auto;
    padding:0;
    background:0 0;
}
.wp-prev-next .prev-link{
    float:left;
}
.wp-prev-next .next-link{
    float:right;
}
.pagination a,.pagination span {
    color:#ea527a;
}

.pagination .current {
    background-color:#ea527a;
}

.pagination a:hover {
    background:#ea527a;
    color: #fff;
}

.prev.page-numbers, .next.page-numbers {
    width: 15px;
    background: 0 0;
    position: relative;
}

.next.page-numbers:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 11px;
    height: 18px;
    background: url(images/next-arrow.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.prev.page-numbers:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 11px;
    height: 18px;
    background: url(images/prev-arrow.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.prev.page-numbers:hover, .next.page-numbers:hover {
    background: transparent!important;
    opacity: .7;
}
/* end column page */

.collapsible {
    text-align: center;
    color: #888;
    font-size: 1.3rem;
}

.collapsible span {
    position: relative;
}

.collapsible span:after {
    content: '';
    position: absolute;
    right: -15px;
    top: 5px;
    background-image: url('images/down-arrow.svg');
    width: 10px;
    height: 10px;
    background-size: 100%;
    background-repeat: no-repeat;
}

.collapsible.active span:after {
    -webkit-transform:rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.tRanking {
    width: 100%;
    text-align: center;
}

.tRanking td {
    border: 1px solid #000;
}

.tRanking .tHead {
    background: #f4a2a7;
    padding: 10px 0;
    font-size: 2.5rem;
    font-weight: bold;
}

.tRanking .tHead td {
    padding: 10px 0;
    text-align: center;
    color: #fff;
}

.tRanking .rankNumber {
    width: 113px;
    height: 129px;
    position: relative;
    left: -6px;
}

.tRanking .rankNumber span {
    position: absolute;
    top: 50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 4.2rem;
    color: #939393;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}

.tRanking .rankNumber img {
    width: 100%;
}

.tRanking .tRank1 .rankNumber span {
    color: #D9A01E;
}

.tRanking .tRank2 .rankNumber span {
    color: #B2A16A;
}

.tRanking .tRank3 .rankNumber span {
    color: #D76902;
}

.tRankWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tRankContent .i1{
    margin: 7px 0;
}

.tRankContent .t1{
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
}

.tRankContent .t2{
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 10px;
}

.tRankContent .t3 {
    margin-bottom: 8px;
}

.tCol3 p {
    font-size: 2.2rem;
    line-height: 1.1;
    margin-top: 10px;
}

.tCol3 .maxbutton.maxbutton-orangebtn.orangeBtn {
    padding: 0 !important;
    width: 80% !important;
    margin: 10px auto 12px auto !important;
}

.tCol3 .maxbutton.maxbutton-orangebtn.orangeBtn .mb-text {
    font-size: 2rem !important;
    min-height: 45px !important;
}

.tCol3 .orangeBtn::before {
    display: none;
}

.tCol3 .orangeBtn span:after {
    width: 25px;
    height: 25px;
}

.tr1 .tRankContent .t2 {
    color: #FF0245;
}

.tRank1 a, .tRank2 a, .tRank3 a {
    color: #266fd3;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: underline;
}

.rankTr1 {
    background-color: #fffae2;
}





.w595 {
    width: 595px;
    max-width: 100%;
    margin: 0 auto;
}

.w650 {
    width: 650px;
    max-width: 100%;
    margin: 0 auto;
}

/*Main container*/
.storeImgTitle {
    /*background-color: #FFF;*/
    text-align: center;
    border: 1px solid #707070;
}

.storeImgTitle img {
    width: 100%;
    height: auto;
}

.orangePostContent {
    background: rgba(255, 248, 221, 0.67);
    border: 1px solid #B6B6B6;
    padding-bottom: 40px;
    width: calc(100% - 40px);
    margin: 20px auto;
}

.orangePostContent .storeBanner {
    padding: 20px 16px 0 16px;
}

.orangePostMainContent p {
    font-size: 1.8rem;
    color: #040000;
    line-height: 1.6;
    text-align: justify;
    margin: 15px 0 15px 0;
    padding: 0 18px;
}

.orangePostMainContent h3 {
    font-size: 3.6rem;
    line-height: 1.305;
    color: #9C304A;
    margin-bottom: 18px;
    font-weight: normal;
    text-align: center;
    margin-top: 40px;
    width: calc(100% + 150px);
    margin-left: -75px;
}


.btnAnchorBlock {
    display: flex;
    justify-content: space-between;
    margin-bottom: 45px;
    margin-top: 27px;
    padding: 0 18px;
    box-sizing: border-box;
}

.btnAnchorBlock a {
    background-color: #9C304A;
    border-radius: 26px;
    color: #FFF;
    font-size: 1.5rem;
    line-height: 1.733;
    width: 31%;
    font-weight: bold;
    padding: 13px 0;
    text-align: center;
}

.productPlan .productTitle img {
    width: 73.5px;
    height: 73.5px;
}

.productPlan .productTitle {
    width: 550px;
    max-width: 100%;
    margin: 0 auto;
    font-size: 2.4rem;
    font-weight: bold;
    height: 54px;
    margin-bottom: 35px;
}


.maxbutton.maxbutton-orangebtn.orangeBtn {
    color: #fff;
    font-family: initial !important;
    font-size: initial;
    text-align: initial;
    font-style: initial;
    font-weight: initial;
    padding-left: initial;
    line-height: initial;
    box-sizing: initial;
    background-color: unset;
    height: initial !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;/*ボタンの幅*/
    margin: 0 auto !important;
    background: linear-gradient(#51dddd 0%, #1cb194 100%) !important;/*ボタンの色*/
    box-shadow: 0 6px 0 0 #348B7A !important;/*影の色(rgbaの値を変更)*/
    border-radius: 16px !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
    font-family: 'Noto Sans JP', sans-serif !important;
}

.maxbutton.maxbutton-orangebtn.orangeBtn .mb-text {
    font-family: 'Noto Sans JP', sans-serif !important;
    padding-top: 0 !important;
}

.orangeBtn span {
    font-weight: 900 !important;
    font-size: 28px !important;
    color: #FFFFFF !important;
    line-height: 1.43 !important;
    position: relative !important;
    min-height: 126px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-right: 32px;
    box-sizing: border-box;
}

.orangeBtn.oneLineBtn span {
    font-size: 3.3rem !important;
}

.orangeBtn span:after {
    content: "";
    position: absolute;
    width: 38px;
    height: 38px;
    background-image: url('images/btnIcon.svg');
    background-repeat: no-repeat;
    background-size: 100%;
    right: 26px;
    top: 50%;
    transform: translate(0,-50%);
}

.orangeBtn:hover {
    text-decoration: none;
    color: #fff;
    opacity: 0.7;
}

.orangeBtn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: orangeBtn 3s ease-in-out infinite;
}

@-webkit-keyframes orangeBtn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.greenBtn {
    color: #fff;
    font-family: initial !important;
    font-size: initial;
    text-align: initial;
    font-style: initial;
    font-weight: initial;
    padding-left: initial;
    line-height: initial;
    box-sizing: initial;
    background-color: unset;
    height: initial !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;/*ボタンの幅*/
    padding: 16px 0 !important;
    margin: 0 auto !important;
    background-color: #388047 !important;/*ボタンの色*/
    box-shadow: 0 4px 0 0 #19191A !important;/*影の色(rgbaの値を変更)*/
    border-radius: 12px !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
    margin: 18px 0 40px 0 !important;
    font-family: 'Noto Sans JP', sans-serif !important;
}

.greenBtn .mb-text {
    padding-top: 0 !important;
}

.greenBtn span {
    font-weight: bold !important;
    font-size: 2.987rem !important;
    color: #FFFFFF !important;
    line-height: 1.3 !important;
    position: relative !important;
    min-height: 76px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.greenBtn span:after {
    content: "";
    position: absolute;
    width: 33px;
    height: 33px;
    background-image: url('../images/btnIconGreen.svg');
    background-repeat: no-repeat;
    background-size: 100%;
    right: 20px;
    top: 50%;
    transform: translate(0,-50%);
}

.greenBtn:hover {
    text-decoration: none;
    color: #fff;
    opacity: 0.7;
}

.greenBtn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: greenBtn 3s ease-in-out infinite;
}

@-webkit-keyframes greenBtn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


.storeAddress {
    margin: 0;
    padding: 40px 38px 40px 38px;
    background: #fff;
    border: 2px solid #f4a2a7;
    border-top: none;
    margin-bottom: 40px;
}

.storeAddressTitle {
    padding: 27px 0;
    position: relative;
    text-align: center;
    font-weight: bold;
    font-size: 36px;
    text-align: center;
    color: #fff;
    background: #f4a2a7;
    border: 2px solid #f4a2a7;
}


.storeAddress .totalStore span {
    font-size: 4rem;
    font-weight: bold;

}

.storeAddress .totalStore small {
    font-size: 2.4rem;
}

.storeAddressTitle .infoTitle {
    font-size: 3.3rem;
}

.storeAddressImg {
    display: flex;
    justify-content: space-between;
}

.storeAddressImg img {
    width: 48.14%;
    align-self: center;
}

.accordionStore {
    margin-top: 40px;
}

.accordionStore .sp-easy-accordion .sp-ea-single {
    margin-bottom: 0;
    border-radius: 0;
    border: none !important;
}

.accordionStore .sp-easy-accordion .sp-ea-single .ea-header a {
    font-size: 32px;
    font-weight: bold;
    color: #fff !important;
    line-height: 1 !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
    padding: 21px !important;
    position: relative;
}

.accordionStore .sp-ea-single .ea-header a .ea-expand-icon {
    float: none !important;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 5px 0 5px;
    border-color: #ffffff transparent transparent transparent;
    margin-right: 0 !important;
    margin-left: 10px;
    transition: .2s cubic-bezier(.84,.17,.59,.9) !important;
    border: none;
    content: '';
    position: absolute;
    right: 37px;
    top: 50%;
    transform: translate(0,-50%);
    background: url(images/collapse.svg);
    width: 21.1px;
    height: 10.54px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.accordionStore .sp-ea-single .ea-header a[aria-expanded=true] .ea-expand-icon {
    transform: rotate(180deg);
    top: 41%;
}

.accordionStore .ea-card.sp-ea-single:nth-child(odd) {
    background-color: #FCA4B1 !important;
}

.accordionStore .ea-card.sp-ea-single:nth-child(even) {
    background-color: #E58894 !important;
}

.accordionStore .ea-body {
    padding: 0 0 15px 0 !important;
}

.accordionStore .ea-body p {
    line-height: 1.7;
    padding-bottom: 5px !important;
    border-bottom: 2px dashed rgba(0,0,0,.4);
    font-size: 24px;
}

.accordionStore .ea-body p strong {
    margin-top: 10px;
    font-weight: bold;
    border: 1px solid #000;
    font-size: 24px;
    display: inline-block;
    text-align: center;
    width: 100%;
    margin-bottom: 8px;
}

.orangePostMainContent img {
    width: 100%;
    height: auto;
}

.orangePostContent .productReview {
    margin-top: 45px;
}
/*End main container*/



/*hikaku post*/
.hikakuPost {
    padding-top: 20px;
}

.hikakuPost .storeMainImg {
    margin-bottom: 24px;
    padding: 0 45px;
}

.hikakuPost .boxReviews {
    margin-bottom: 15px;
}

.hikakuPost .listRanking {
    top: 0;
}

.hikakuPostTitle {
    background-color: #EA527B;
    width: 100%;
    display: flex;
    box-sizing: border-box;
    align-items: center;
    padding: 0 0 2px 50px;
}

.hikakuPostTitle img {
    width: 65.638px;
    height: 55.234px;
    margin-right: 10px;
}

.hikakuPostTitle p {
    font-size: 3.7rem;
    font-weight: bold;
    color: #FFFFFF;
    line-height: 1.7647;
}

.hikakuPostDes {
    font-size: 2rem;
    line-height: 1.6;
    color: #000000;
    text-align: justify;
}

.hikakuPost .orangeBtn span {
    font-size: 2.475rem !important;
}

.hikakuPost .starRating {
    margin-top: 25px;
    margin-bottom: 33px;
}
/* end hikaku post*/

/*columnDetail*/
.columnDetail .w595 {
    padding: 20px;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
}

.columnDetail .w595 p {
    margin: 0 0 2.4rem;
    font-size: 28px;
    line-height: 1.75;
    color: #252525;
    font-weight: normal;
}

.columnDetail .w595 img {
    max-width: 100%;
    height: auto;
    display: block;
}

.columnDetail .w595 h1 {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.6;
    position: relative;
    margin: 0;
    color: #444;
    padding: 15px 0;
}

.columnDetail .w595 h2 {
    font-weight: bold;
    margin: 5.6rem 0 1.568rem;
    font-size: 2.24rem;
    line-height: 1.6;
    border-top: none;
    border-right: none;
    padding: 0.896rem 1.12rem;
    color: #494949;
    background: #f4f4f4;
    border-left: solid 6px #ea527a;
    border-bottom: solid 3px #d7d7d7;
}

.columnDetail .w595 h3 {
    margin: 4.992rem 0 1.344rem;
    padding: 10px 0 10px 10px;
    border-left-width: 4px;
    border-left-style: solid;
    font-size: 1.92rem;
    line-height: 1.5;
    border-top: none;
    border-left: none;
    border-right: none;
    position: relative;
    padding-bottom: 0.96rem;
    border-bottom: 4px solid #DDD;
    background-color: transparent;
    color: #252525;
}

.columnDetail .w595 h3:after {
    position: absolute;
    content: " ";
    border-bottom: solid 4px #ea527a;
    bottom: -4px;
    width: 10%;
    display: block;
}

.columnDetail .w595 h4 {
    margin: 4.048rem 0 1.232rem;
    font-size: 1.76rem;
    padding: 0.44rem 0 0.88rem 1.32rem;
    border-left: 3px solid #DDD;
    border-bottom: 1px solid #DDD;
    font-weight: bold;
    color: rgb(37, 37, 37);
    line-height: 1.75;
}
/*end columnDetail*/


.orangePostContent pre {white-space: pre-wrap}

.infoPage {
    background: #FFF8DD;
}

.infoPage h2 {
    color: #FFFFFF;
    font-size: 2.8rem;
    font-weight: bold;
    background: #EA527B;
    line-height: 1.465;
    padding: 10px 30px;
    margin-top: 30px;
    margin-bottom: 25px;
}

.infoPage p {
    font-size: 28px;
    color: #040000;
    line-height: 1.5;
    margin-bottom: 30px;
    font-weight: normal;
}

.hikakuPostOsaka {
    padding-top: 0px;
}

.dropdownSearch.collapsible {
    pointer-events:none;
}

.mainContent .topSearch {
    display: block;
}

@media screen and (max-device-width: 480px){
    .dropdownSearch.collapsible {
        pointer-events:initial;
    }

    .mainContent .topSearch {
        /*display: none;*/
    }
}

.bgRedirect {
    background: #FFD9E9;
}

.wrapper1000 {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    padding: 35px 0 35px 0;
}

.rContent {
    width: 100%;
    box-sizing: border-box;
    padding: 33px 95px;
    background: #FFFFFF;
    text-align: center;
}

.loadingTitle {
    font-size: 2.1rem;
    color: #F4A2A7;
    font-weight: 500;
    line-height: 1.48;
    margin-top: 20px;
}

.rShopContent {
    width: 100%;
    border-radius: 15px 15px 10px 10px;
    border: 1px solid #F4A2A7;
    box-sizing: border-box;
    margin-top: 37px;
}

.rShopContentTitle {
    padding: 16px 0;
    background: #F4A2A7;
    color: #fff;
    border-radius: 10px 10px 0px 0px;
    margin-top: -1px;
    width: calc(100% + 2px);
    margin-left: -1px;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rShopContentTitle img {
    margin-right: 15px;
}

.rPointText {
    font-size: 2.3rem;
    font-weight: 500;
    color: #060001;
    line-height: 1.5;
    margin-top: 10px;
}

.rPointText strong, .rPointText b {
    font-weight: 500;
}

.rImg {
    width: 650px;
    margin: 0 auto 15px auto;
}

.rOrder {
    font-weight: bold;
    font-size: 2.3rem;
    color: #e51f19;
    margin: 7px 0;
    line-height: 1.5;
}

.rFooter {
    margin-top: 30px;
}

.rFooter p {
    font-size: 2.3rem;
    line-height: 1.5;
    color: #060001;
    margin-bottom: 5px;
    font-weight: 500;
}

.rFooter p a {
    display: inline-block;
    color: #F4A2A7;
    text-decoration: underline;
}

.rSp {
    display: none;
}

@media (max-width: 768px) {
    .bgRedirect {
        background: #fff;
    }

    .wrapper1000 {
        padding: 40px 0;
    }

    .rContent {
        padding: 0 10px;
    }

    .loadingTitle {
        font-size: 1.4rem;
        margin-top: 14px;
    }

    .rShopContent {
        margin-top: 17px;
        border-radius: 5px;
    }

    .rShopContentTitle {
        font-size: 1.4rem;
        flex-wrap: wrap;
        padding: 6px 0;
        border-radius: 5px 5px 0px 0px;
    }

    .rShopContentTitle img {
        margin-right: 0;
        width: 24.5px;
        margin-bottom: 3px;
    }

    .rPointText {
        font-size: 1.4rem;
    }

    .rOrder {
        font-size: 1.4rem;
    }

    .rFooter {
        margin-top: 10px;
    }

    .rFooter p {
        font-size: 1.4rem;
    }

    .rFooter p.rPLast {
        font-size: 1.15rem;
    }

    .rSp {
        display: block;
    }

    .rImg {
        width: 79.58%;
    }

    .rTextImg {
        width: 100%;
    }
}


.listRanking .rankingItem {
    border: 2px solid #FFD445;
    background: #FFFFF4;
    margin-bottom: 25px;
    filter: drop-shadow(0px 5px 10px rgba(45, 53, 145, 0.25));
    border-radius: 12px;
    margin-bottom: 90px;
}

.listRanking .rankingItem:last-child {
    margin-bottom: 0;
}

.listRanking > div.showMoreShop {
    padding: 10px 0;
    border: 1px solid #F4A2A7;
    text-align: center;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 500;
    color: #014D7A;
    text-decoration: underline;
    width: 90%;
    margin: 0 auto 68px auto;
    background: initial;
    filter: drop-shadow(0px 5px 10px rgba(45, 53, 145, 0.25));
    border-radius: 12px;
}
/*
.showMoreShop.active {
    margin-bottom: 0 !important;
}
*/
.showMoreShopContent {
    display: none;
    /*padding-top: 68px*/
}

.footerContainer {
    padding: 50px 40px;
}

.footerContainer .footerColumn {
    padding-top: 0;
    padding-bottom: 30px;
}

.footerContainer .colLeft {
    width: 40%;
}

.editor {
    background: #fff7f7;
    padding: 20px;
    margin: 100px auto;
}

.editorHeader {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.editorHeader .colLeft {
    width: 21.12%;
}

.editorHeader .colRight {
    width:74.647%;
}

.editorTitle {
    font-size: 2.5rem;
    line-height: 1.8;
    font-weight: 500;
}

.editorName {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.8;
}

.editorDesc {
    font-size: 2.5rem;
    line-height: 1.8;
    font-weight: 500;
    margin-top: 15px;
}

.sortResult {
    text-align: center;
}

.sortResult p {
    font-weight: bold;
    font-size: 30px;
    color: #2767d3;
    display: inline-block;
    margin: 15px auto 45px auto;
    position: relative;
    padding: 0 45px;
}

.sortResultItem {
    margin-bottom: 65px;
    text-align: center;
}

.sortResultItem li {
    display: inline-block;
    padding: 0 48px;
    border-right: 3px solid #2767d3;
}

.sortResultItem li:last-child {
    border-right: none;
}

.sortResultItem li a {
    font-weight: bold;
    text-decoration: underline;
    font-size: 30px;
    color: #2767d3;
    line-height: 1.2;
}

.sortResultItem li a.active {
    color: #333;
    text-decoration: none;
}

.sortResult p:before {
    content: "";
    background-image: url(images/sort_before.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    height: 35px;
    width: 16px;
    position: absolute;
    top: 0;
    left: 0;
}
.sortResult p:after {
    content: "";
    background-image: url(images/sort_after.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    height: 35px;
    width: 16px;
    position: absolute;
    top: 0;
    right: 0;
}
.contact-btn {
    background-color: green;
    color: white;
    border-radius: 5px;
    padding: 10px 20px;
    font-size: 16px;
    border: none;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    width: 30%;
    margin-bottom: 30px;
}
.contact-btn-container {
    text-align: center;
}

/*new search*/
.dropdownSearch {
    position: relative;
    height: 80px;
    background: #f4a2a7;
    padding-left: 155px;
    box-sizing: border-box;
    text-align: left;
}

.dropdownSearch p {
    font-weight: bold;
    font-size: 35px;
    color: #fff;
    text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    text-align: left;
    width: 100%;
}

.dropdownSearch img {
    position: absolute;
    top: 0;
    left: 40px;
    width: 100px;
    height: 117.46px;
}

.searchBox {
    padding: 45px 20px 35px 20px;
}

.searchStepWrap {
    display: none;
}

.searchStepWrap.open {
    display: unset;
}

.searchStepInfo {
    padding: 0 20px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.searchStepText {
    width: 113px;
    height: 50px;
    border-radius: 10px;
    background: #f4a2a7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.searchStepText span {
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    color: #fff;
    position: relative;
    top: -3px;
}

.searchStepQuestion {
    font-weight: bold;
    font-size: 30px;
    padding-left: 38px;
    color: #000;
}

.searchStepCheck {
    display: none;
}

.searchStepGroup {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.searchStepRow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 340px;
    height: 80px;
    margin-top: 20px;
}

.searchStepWrap2 .searchStepRow {
    width: 230px;
}

.searchStepLabelText {
    font-weight: bold;
    font-size: 28px;
    color: #f06464;
}

.searchStepCheckBtn {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: #fffff4;
    border-radius: 10px;
    border: 3px solid #f06464;
    box-sizing: border-box;
}

.searchStepCheck:checked+.searchStepCheckBtn {
    background-color: #ff7e0e;
}

.searchStepCheck:checked+.searchStepCheckBtn span {
    color: #fff;
}

.searchStepCheck:checked+.searchStepCheckBtn:after {
    background: url(images/search_arrow_white.svg);
}

.searchStepCheckBtn:after {
    content: '';
    position: absolute;
    width: 15px;
    height: 25px;
    right: 45px;
    top: 50%;
    transform: translate(0,-50%);
    background: url(images/search_arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.searchStepCheckBtn span {
    position: relative;
    top: -2px;
}

.searchStepWrap2 .searchStepCheckBtn:after {
    right: 9px;
}

.searchStepBtnBack {
    width: 230px;
    height: 80px;
    border-radius: 40px;
    background: transparent;
    border: 2px solid #f06464;
    margin: 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-top: 27px;
}

.searchStepBtnBack span {
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    color: #f06464;

}

.searchStepBtnBack img {
    width: 16px;
    position: relative;
    top: 2px;
    margin-right: 30px;
}

.searchStepWrap3 .searchStepRow {
    width: 230px;
}

.searchStepWrap3 .searchStepCheckBtn:after {
    right: 9px;
}

.searchStepWrap3 .searchStepRow3 {
    width: 340px;
}

.searchStepWrap3 .searchStepRow3 .searchStepCheckBtn:after {
    right: 40px;
}

.searchStepWrap4 .searchStepRow {
    width: 320px;
}

.searchStepWrap4 .searchStepCheckBtn:after {
    display: none;
}

.searchStepWrap4 .searchStepGroup {
    justify-content: space-around;
}

.searchStepBtnSubmit {
    width: 260px;
    height: 80px;
    border-radius: 40px;
    background: #f06464;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.searchStepBtnSubmit span {
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    color: #fff;
}

.searchStepRowBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 27px;
}

.searchStepRowBtn .searchStepBtnBack {
    margin: 0 40px 0 0;
}

.searchStepCenter {
    text-align: center;
}



.tableCompare {
    border: 1px solid #bababa;
    width: 100%;
    max-width: 720px;
    margin: 0 auto 30px auto;
}

.tableCompare tr > td:nth-child(1) {
    background-color: #f4a2a7;
}

.tableCompare tr > td:nth-child(2) {
    background-color: #FFF7F7;
    font-weight: bold;
}

.tableCompare td {
    width: 28.703%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 182px;
    box-sizing: border-box;
/*  font-weight:bold;*/
    flex-wrap: wrap;
}

.tableCompare tr > td:nth-child(1) {
    width: 13.891%;
}

.tableCompare td {
    border-right: 1px solid #bababa;
    border-bottom: 1px solid #bababa;
}

.tableCompare td:last-child {
    border-right: none;
}

.tableCompare p {
    text-align: center;
    width: 100%;
    font-size: 22px;
    line-height: 1.6;
    color: #232323;
}

.tableCompare .fontMedium {
    font-weight: 500;
}

.tableCompare .nmSpace p {
    margin-top: -12%;
}

.tableCompare .textLevel01 p {
    font-size: 18px;
    line-height: 1.389;
}

.tableCompare tr td:nth-child(3),
.tableCompare tr td:nth-child(4) {
    background-color: #FFF;
}

.tableCompareTdTitle {
    font-size: 19px;
    color: #fff;
    line-height: 1.474;
    text-align: center;
    font-weight: bold !important;
}

.tableCompareTr2 td {
    height: 200px;
}

.tableCompareTr2 td > img {
    height: 130px;
}

.tableCompareTr2 p {
    font-size: 19px;
    color: #000000;
    line-height: 1.474;
    font-weight: 500;
    margin-top: -15%;
}

.tableCompareTr2 td:nth-child(2) p {
    color: #ea527a;
    font-weight: bold;
}

.tableCompareTr3 td {
    height: 90px;
}

.tableCompareTr3 td p {
    font-size: 32px;
    color: #000000;
    line-height: 1.49;
    font-weight: 500;
}

.tableCompareTr3 td:nth-child(2) p {
    color: #ea527a;
    font-weight: bold;
}

.tableCompareTr1 td {
    height: 90px;
}

.tableCompareTr1 td > img {
    height: 58%;
}

.tableCompareTr1 td > p {
    font-size: 20px;
    color: #FFF;
    text-align: center;
    width: 100%;
    min-height: 50px;
    line-height: 1.25;
}

.tableCompareTr4 td {
    height: 120px;
    position: relative;
}

.tableCompareTr5 td {
    height: 150px;
    position: relative;
}


.tableCompareTr4 td img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
}

.tableCompareTr5 td img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
}

.tableCompareTr4 td p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.tableCompareTr5 td p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.tableCompare .tableCompareTr7 td a {
    width: 180px;
    height: 50px;
    border-radius: 25px;
    background: linear-gradient(#2cd1d1 0%, #00886d 100%);
    box-shadow: 0px 3px 0px rgba(0, 80, 80, 0.93);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tableCompare td a span {
    font-weight: bold;
    font-size: 19px;
    color: #fff;
    position: relative;
    padding-right: 25px;
    box-sizing: border-box;
}


.tableCompare td a span:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0,-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 0 9px 16px;
    border-color: transparent transparent transparent #ffffff;
}


.tableCompare .tableCompareTr7 td a.btnViewDetail {
    background: linear-gradient(#729ce3 0%, #093b8f 100%);
    box-shadow: 0px 3px 0px rgba(3, 34, 87, 0.93);
    margin-top: -15%;
}

.tableCompare .tableCompareTr7 td a.btnViewDetail span:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 9px 0 9px;
    border-color: #ffffff transparent transparent transparent;
}

.compare {
    padding: 32px 16px 42px 16px;
}

.tagDateCity {
    top: 351px;
}

.tagCity {
    font-size: 26px;
    color: #fff;
    position: absolute;
    top: 151px;
    right: 69px;
    width: 272px;
    text-align: center;
}

.shopData {
    text-align: center;
    padding: 0 10px;
    box-sizing: border-box;
}
.shopData a {
    font-weight: 500;
    font-size: 17px;
    line-height: 1.48;
    color: #2767d3;
}

.tableCompareListShop {
    display: flex;
}

.tableCompareListShop td {
    height: initial;
    padding: 10px 0;
}

.campaignPrice img {
    width: 100%;
    height: auto;
}

.campaign .campaignPrice p {
    background-image: none;
}


/* new modal */
.rankingItemStar {
    display: flex;
    margin-left: 26px;
    margin-top: 15px;
}


.rankingItemStar .showOneReview {
    color: #F06464;
    text-decoration: underline;
    margin-left: 0;
}

.rankingItemStar .showOneReview:after {
    display: none;
}

.rankingName a {
    display: inline-block;
}

.modal {
    position: fixed;
    z-index: 10000; /* 1 */
    top: 0;
    left: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
}

.modal .modal-content {
    padding: 20px;
    background: #FFFFF4;
}

.modal.is-visible {
    visibility: visible;
}

.modal-overlay {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: hsla(0, 0%, 0%, 0.5);
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.3s, opacity 0.3s;
}

.modal.is-visible .modal-overlay {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.modal-container {
    width: 750px;
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    margin: 0 auto;
}

.modal-wrapper {
    position: relative;
    z-index: 9999;
    top: 60px;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 0 1.5em hsla(0, 0%, 0%, 0.35);
}

.modal-transition {
    transition: all 0.3s 0.12s;
    transform: translateY(-10%);
    opacity: 0;
}

.modal.is-visible .modal-transition {
    transform: translateY(0);
    opacity: 1;
}

/*.modal-header,
.modal-content {
    padding: 1em;
}
*/
.modal-header {
    position: relative;
    background-color: #fff;
    box-shadow: 0 1px 2px hsla(0, 0%, 0%, 0.06);
    border-bottom: 1px solid #e8e8e8;
}

.modal-close {
    position: absolute;
    top: -30px;
    right: 0;
    padding: 0;
    color: #fff;
    background: none;
    border: 0;
    cursor: pointer;
}

.modal-close:hover {
    color: #777;
}

.modal-close svg {
    fill: #fff;
}

.modal-heading {
    font-size: 1.125em;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.modal-content > *:first-child {
    margin-top: 0;
}

.modal-content > *:last-child {
    margin-bottom: 0;
}

.reviewBlock .reviewItem:not(:first-child) {
    display: none;
}

.modal-content.first-review .reviewItem:not(:first-child) {
    display: none;
}

.modal-content.first-review .reviewItem {
    margin-bottom: 0;
}

.showMoreReview {
    margin: 0 auto;
    cursor: pointer;
    width: 80%;
    border: 2px solid rgb(240, 171, 10);
    color: rgb(240, 171, 10);
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
    box-sizing: border-box;
    margin-bottom: 30px;
}

.full-review .modal-body {
    max-height: 90vh;
    overflow-y: scroll;
}

.modal .p-lesson__cta-lead.p-cta__lead {
    display: none;
}

.modal .p-cta__button-area {
    margin: 1em auto;
}

.modal-body {
    padding-bottom: 1px;
}

.showOneReview {
    text-decoration: underline;
    cursor: pointer;
}

.full-review .modal-wrapper {
    top: 40px;
}

@media (max-width: 768px) {
    .modal .modal-content {
        padding: 20px 18px;
    }

    .modal-wrapper {
        top: 200px;
    }

    .full-review .modal-wrapper {
        top: 100px;
    }

}

/*STLASSH-970*/
.topBanner {
    height: 511px;
    padding: 34px 25px 0 0;
}

.tagDate {
    top: 216px;
}



.searchStepRow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 340px;
    height: 80px;
    margin-top: 20px;
}

.searchStepWrap1 .searchStepRow {
    width: 230px;
}

.searchStepWrap2 .searchStepRow {
    width: 340px;
}


.searchStepWrap1 .searchStepCheckBtn:after {
    right: 9px;
}

.searchStepWrap2 .searchStepCheckBtn:after {
    right: 45px;
}

.tableCompare tr > td:nth-child(2) {
    border: 2px solid #D94444;
    border-top: none;
    border-bottom: 1px solid #BABABA;
}


.tableCompare .tableCompareTr1 > td:nth-child(2) {
    border-top: 2px solid #D94444;
}


.tableCompareTr3 td {
    height: 118px;
    flex-direction: column;
}

.colCenter .topRankingStar {
    margin-right: 0;
}


.tableCompare p {
    font-size: 19px;
}



.tableCompareTr4 td {
    height: 169px;
}

.tableCompareTr4 td img {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 60px;
    height: 60px;
    margin-top: 20px;
}


.tableCompareTr4 td p {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    margin-top: 10px;
}

.tableCompareTr4 td {
    align-items: center;
    flex-direction: column;
    justify-content: initial;
}


.tableCompare tr > td:nth-child(1) {
    background-color: #f4a2a7;
    justify-content: center;
    flex-direction: column;
    border-right: none;
}


.tableCompareTr5 td {
    height: 239px;
}

.tableCompareTr5 td img {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 60px;
    height: 60px;
    margin-top: 20px;
}


.tableCompareTr5 td p {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    margin-top: 10px;
}

.tableCompareTr5 td {
    align-items: center;
    flex-direction: column;
    justify-content: initial;
}

.tableCompareTr6 td {
    height: 159px;
}

.tableCompareTr6 td img {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 60px;
    height: 60px;
    margin-top: 20px;
}


.tableCompareTr6 td p {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    margin-top: 10px;
}

.tableCompareTr6 td {
    align-items: center;
    flex-direction: column;
    justify-content: initial;
}


.tableCompareTr8 td {
    height: 187px;
}

.tableCompareTr8 td img {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 60px;
    height: 60px;
    margin-top: 20px;
}


.tableCompareTr8 td p {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    margin-top: 10px;
}

.tableCompareTr8 td {
    align-items: center;
    flex-direction: column;
    justify-content: initial;
}


.tableCompareTr9 td {
    height: 203px;
}

.tableCompareTr9 td img {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 60px;
    height: 60px;
    margin-top: 20px;
}


.tableCompareTr9 td p {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    margin-top: 10px;
}

.tableCompareTr9 td {
    align-items: center;
    flex-direction: column;
    justify-content: initial;
}

.tableCompareTr10 td {
    height: 234px;
}

.tableCompareTr10 td img {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    width: 60px;
    height: 60px;
    margin-top: 20px;
}


.tableCompareTr10 td p {
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    margin-top: 10px;
}

.tableCompareTr10 td {
    align-items: center;
    flex-direction: column;
    justify-content: initial;
}


.tableCompare p small {
    font-size: 13px;
    position: relative;
    top: -10px;
}


.tableCompare .fontMedium {
    font-weight: bold;
}


.tableCompare .hLevel03 > td:nth-child(2) {
    border-bottom: 2px solid #D94444;
}


/*new ranking*/

#introduction .c-block-type03 {
    background-image: url(images/c-block-type03-bg.webp);
    width: 100%;
    height: 335px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: grid;
    gap: 24px;
    padding:  42px 40px;
    z-index: 2;
    position: relative;
    background-color: #fcf4f3;
    box-sizing: border-box;
}

.c-block-type03 .pg-top-introduction-lead {
    display: flex;
    font-weight: 700;
    justify-content: center;
    text-align: center;
    font-size: 32px;
    text-shadow: none;
    gap: 12px;
    color: #fff;
}

.pg-top-introduction-heading {
    margin-top: 50px;
    display: block;
    text-align: center;
}

.pg-top-introduction-heading .pg-top-introduction-heading-small {
    font-size: 46px;
    font-weight: 700;
    text-align: center;
}


.pg-top-introduction-heading .pg-top-introduction-heading-pink {
    font-size: 115px;
    color: #e61e6e;
}


#introduction .blockRanking {
    background: #fcf4f3;
    padding: 0 10px;
    box-sizing: border-box;
    overflow: hidden;
    margin-top: 0;
}
#introduction .blockRanking ul {
    display: flex;
    justify-content: space-between;
}

#introduction .topRanking li {
    border-radius: 18px;
    border: 1px solid #cececa;
    margin-bottom: 44px;
    margin-top: 44px;
    width: 33%;
    background-color: #fff;
}

#introduction .topRanking li a {
    text-decoration: none !important;
    color: #fff;
}

#introduction .topRanking li:first-child {
    border: 1px solid #f0aa3e;
}

#introduction .topRanking li:last-child {
    border: 1px solid #c8af89;
}

#introduction .topRankingInfo {
    width: 100%;
    display: block;
}

#introduction .topRankingInfo .colLeft{
    display: block;
    width: 100%;
    text-align: center;
    margin-left: 0;
}

#introduction .topRankingNumber {
    margin-top: -30px;
}

#introduction .topRankingNumber img {
    width: 60px;
    margin-top: 0;
}

#introduction .topRankingName a {
    font-weight: bold;
    font-size: 32px !important;
    text-decoration: none !important;
    color: #2767d3;
    margin-left: 12px;
    position: relative;
}
#introduction .topRankingName a:after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #2767d3;
}

#introduction .topRankingInfo .colRight{
    display: block;
    width: 100%;
    margin-top: 6px;
    text-align: center;
}

#introduction .topRankingStar {
    width: 146.16px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-inline: auto;
}

#introduction .topRankingPoint {
    display: flex;
    justify-content: center;
    font-weight: bold;
    color: #e61e6e;
    align-items: baseline;
    font-size: 28px;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.75;
}
#introduction .topRankingPoint p, #introduction .topRankingContent .colRight p {
    color: #442531;
}
#introduction .topRankingContent .colRight p span.marker {
    background: linear-gradient(transparent 60%, #fff000 40%);
}
#introduction .topRankingPoint p {
    font-size: 15px;
}

#introduction .starRating {
    width: 25.84px;
    height: 24.72px;
    position: relative;
}
#introduction .starRating:before {
    background-image: url(images/empty_star_ct.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 25.84px;
    height: 24.72px;
 }
#introduction .starRating > span {
    display: block;
    text-indent: -10000px;
    width: 25.84px;
    height: 24.72px;
    position: absolute;
    overflow: hidden;
}

#introduction .starRating > span:before {
    background-image: url(images/full_star_ct.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    bottom: 0;
    content: "";
    display: block;
    height: 24.72px;
    width: 25.84px;
    left: 0;
    position: absolute;
    right: 0;
    text-indent: 10000px;
    top: 0;
}

#introduction .topRankingContent {
    display: block;
    margin-bottom: 30px;
    margin-top: 15px;
    text-align: center;
}

#introduction .topRankingContent .colLeft {
    display: inline-block;
    margin-left: 0;
}

#introduction .topRankingContent .colLeft img {
    width: auto;
    height: min(90px);
}

#introduction .topRankingContent .colRight {
    padding: 0 10px;
    height: min(70px);
    margin-left: 0;
}

#introduction .topRankingContent .colRight p {
    position: relative;
    padding-left: 0;
    font-size: 15px;
    font-weight: bold;
    /* color: #000000; */
    line-height: 1.23;
    margin-top: 15px;
}

#introduction .topRankingContent .colRight p:first-child {
    margin-top: 0;
}

#introduction .topRankingContent .colRight p:before {
    display: none;
}

#introduction .topRanking li:first-child .topRankingContent .colRight p strong {
    font-size: 15px;
    color: #e61e6e;
    font-weight: bold;
}


.kira {
    width: 180px;
    height: 50px;
    border-radius: 25px;
    background: linear-gradient(#2de0b4 0%, #1cb8ab 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    margin-inline: auto;
}

.kira span {
    font-weight: bold;
    font-size: 19px;
    color: #fff;
    position: relative;
    padding-right: 25px;
    box-sizing: border-box;
}


.kira span:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    background: url(images/hp_arrow.svg);
    width: 7.25px;
    height: 11.94px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}


.kira::after {
    animation: 2s 0s shine linear infinite;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .4) 100%);
    content: '';
    height: 100%;
    left: -100%;
    position: absolute;
    top: 0;
    transform: skewX(-25deg);
    width: 50%;
}

@keyframes shine {
    20% {
        left: 150%;
    }
    100% {
        left: 150%;
    }
}
