@charset "UTF-8";
/*
Template: swell
Theme Name: SWELL CHILD box-page
Description: BOX一覧・紹介・詳細ページの子テーマ
*/

/* BOXカテゴリー一覧 */
h2.boxCate_list_ttl {
background: none;
color: #000;
margin: 2em 0 1em;
padding: 0;
}

h2.boxCate_list_ttl:before {
display: none;
}

ul.boxCate_list_area {
padding: 0!important;
}

li.boxCate_list_item {
list-style: none !important;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 1em;
padding: 15px;
border: 2px solid #ddd;
border-radius: 10px;
}

.boxCate_list_thumb {
width: 50%;
margin: 0 auto;
}

.boxCate_list_body h3 {
border-left: 4px solid #000;
margin-bottom: 1em;
padding: 0 0 0 10px;
}

.boxCate_list_body h3:before {
display: none;
}

.boxCate_list_link {
margin-top: 1.2em;
}

.boxCate_list_link a {
display: block;
width: 100%;
text-align: center;
background: #000;
color: #fff;
padding: .75em;
border-radius: 6px;
font-size: 14px;
position: relative;
transition: all .25s;
}

.boxCate_list_link a:after {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f105";
position: absolute;
right: 20px;
}

.boxCate_list_body .keyword-list {
margin-top: 1.5em;
justify-content: normal;
}

/*[PC]BOXのカテゴリーページ*/
@media (min-width: 600px) {
	
li.boxCate_list_item {
padding: 20px;
}

.boxCate_list_thumb {
width: 26%;
margin: 0;
}

.boxCate_list_body {
width: 68%;
}
	
.boxCate_list_link a:hover {
background: #666;
}

}

/* カテゴリー別のBOX一覧ページ */
ul.cardBox_list_area {
padding: 0;
}

li.cardBox_list_item {
list-style: none;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 1em;
padding: 15px;
border: 2px solid #ddd;
border-radius: 8px;
position: relative;
}

.cardBox_list_thumb {
width: 50%;
margin: 12px auto 15px;
}

.cardBox_list_body {
width: 100%;
}

.cardBox_list_body h3 {
font-family: "Oswald", "Noto Sans JP", YuGothic, -apple-system, sans-serif;
border-left: 4px solid #000;
margin: 0 0 .60em;
padding: 0 0 0 10px;
}

.cardBox_list_body h3:before {
display: none;
}

ul.cardBox_list_badge {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: .8em !important;
padding: 0;
position: absolute;
top: 0;
}

.cardBox_list_badge li {
list-style: none;
display: block;
margin: 0;
}

.cardBox_list_badge li span {
display: block;
padding: 3px 13px;
color: #fff;
font-size: 12px;
}

.badge-new {
background: #f19301;
}

.badge-series {
background: #314b97;
}

.badge-rate {
background: #e10e0e;
}

table.cardBox_list_info {
font-family: "Oswald", "Noto Sans JP", YuGothic, -apple-system, sans-serif;
font-size: 14px;
}

table.cardBox_list_info tr:nth-child(2) td:nth-child(2) {
font-size: 20px;
font-weight: bold;
}

table.cardBox_list_info tr:nth-child(2) td:nth-child(2) span {
color: #ff0230;
}

table.cardBox_list_info th {
width: 20%;
font-size: 12px;
}

table.cardBox_list_info th, table.cardBox_list_info td {
border: none;
padding: 0;
}

.cardBox_list_text {
margin-top: 1em;
}

.cardBox_list_text p {
font-size: 15px;
}

.cardBox_list_link {
margin-top: 1.2em;
}

.cardBox_list_link a {
display: block;
width: 100%;
text-align: center;
background: #000;
color: #fff;
padding: .75em;
border-radius: 6px;
font-size: 14px;
position: relative;
transition: all .25s;
}

.cardBox_list_link a:after {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f105";
position: absolute;
right: 20px;
}

.cardBox_list_body .keyword-list {
margin-top: 1.5em;
justify-content: normal;
}

/*[PC]カテゴリー別のBOX一覧*/
@media (min-width: 600px) {
	
li.cardBox_list_item {
padding: 20px;
}

.cardBox_list_thumb {
width: 26%;
margin: 0;
}

.cardBox_list_body {
width: 68%;
}
	
ul.cardBox_list_badge {
position: static;
}

.cardBox_list_link a:hover {
background: #666;
}

}

/* フェードインアニメーションの定義 */
@keyframes yugiohFadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px); /* 下から上に */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 親要素に is-loaded が付いていない場合のみ隠す */
#yugioh-ajax-results:not(.is-loaded) .cardBox_list_item {
    opacity: 0;
}

/* スマホで万が一JSが遅延しても見えるように、少しだけ transition を入れる */
.cardBox_list_item {
    transition: opacity 0.3s ease-out; 
}

/* Ajax完了後にこのクラスを親に付与して発火させる */
.is-loaded .cardBox_list_item {
    animation: yugiohFadeInUp 0.5s ease forwards;
}

/* 1つずつズラして表示（20個分くらい設定しておくと安心） */
.is-loaded .cardBox_list_item:nth-child(1)  { animation-delay: 0.05s; }
.is-loaded .cardBox_list_item:nth-child(2)  { animation-delay: 0.1s; }
.is-loaded .cardBox_list_item:nth-child(3)  { animation-delay: 0.15s; }
.is-loaded .cardBox_list_item:nth-child(4)  { animation-delay: 0.2s; }
.is-loaded .cardBox_list_item:nth-child(5)  { animation-delay: 0.25s; }
.is-loaded .cardBox_list_item:nth-child(6)  { animation-delay: 0.3s; }
.is-loaded .cardBox_list_item:nth-child(7)  { animation-delay: 0.35s; }
.is-loaded .cardBox_list_item:nth-child(8)  { animation-delay: 0.4s; }
.is-loaded .cardBox_list_item:nth-child(9)  { animation-delay: 0.45s; }
.is-loaded .cardBox_list_item:nth-child(10) { animation-delay: 0.5s; }
.is-loaded .cardBox_list_item:nth-child(11) { animation-delay: 0.55s; }
.is-loaded .cardBox_list_item:nth-child(12) { animation-delay: 0.6s; }
.is-loaded .cardBox_list_item:nth-child(13) { animation-delay: 0.65s; }
.is-loaded .cardBox_list_item:nth-child(14) { animation-delay: 0.7s; }
.is-loaded .cardBox_list_item:nth-child(15) { animation-delay: 0.75s; }
.is-loaded .cardBox_list_item:nth-child(16) { animation-delay: 0.8s; }
.is-loaded .cardBox_list_item:nth-child(17) { animation-delay: 0.85s; }
.is-loaded .cardBox_list_item:nth-child(18) { animation-delay: 0.9s; }
.is-loaded .cardBox_list_item:nth-child(19) { animation-delay: 0.95s; }
.is-loaded .cardBox_list_item:nth-child(20) { animation-delay: 1.0s; }
/* 必要に応じて増やしてください */

/*---BOX詳細ページ---*/
#main_content.yugioh-box .post_content {
margin-top: 1em;
}

.yugioh-box .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
border: none;
}

/* [PC]BOX詳細ページ */
@media (min-width: 600px) {
#main_content.yugioh-box .post_content {
margin-top: 3em;
}
}

/* 高額・当たりTOP3 */
.card-ranking-list {
display: grid;
gap: 1rem;
list-style: none;
padding: 0 !important;
}

li.card-ranking-item {
margin: 0;
padding: 10px;
border: 1px solid #ddd;
border-radius: 8px;
position: relative;
}

.card-ranking-item[data-rank="1"]:before {
content: "";
display: block;
width: 42px;
height: 66px;
background-image: url(//nsirc.com/wp-content/uploads/2026/05/rank-icon1.png);
background-repeat: no-repeat;
background-size: cover;
position: absolute;
top: -10px;
left: -2px;
z-index: 1;
}

.card-ranking-item[data-rank="2"]:before {
content: "";
display: block;
width: 38px;
height: 60px;
background-image: url(//nsirc.com/wp-content/uploads/2026/05/rank-icon2.png);
background-repeat: no-repeat;
background-size: cover;
position: absolute;
top: -10px;
left: -2px;
z-index: 1;
}

.card-ranking-item[data-rank="3"]:before {
content: "";
display: block;
width: 38px;
height: 60px;
background-image: url(//nsirc.com/wp-content/uploads/2026/05/rank-icon3.png);
background-repeat: no-repeat;
background-size: cover;
position: absolute;
top: -10px;
left: -2px;
z-index: 1;
}

.card-ranking-item a {
display: flex;
justify-content: space-between;
text-decoration: none;
color: inherit;
height: 100%;
}

.card-ranking-item .card-img {
text-align: center;
width: 34%;
max-height: 300px;
padding: 0 10px;
position: relative;
overflow: hidden;
line-height: 0;
}

.card-ranking-item .card-img:after {
content: "";
position: absolute;
top: 0;
left: -150%;
width: 50%;
height: 100%;
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
transform: skewX(-25deg);
animation: shiny 3s infinite;
}

.card-ranking-item[data-rank="1"] .card-img {
width: 40%;
padding: 0 10px;
}

.card-ranking-item .card-info {
display: flex;
width: 66%;
flex-direction: column;
justify-content: center;
font-family: "Oswald", "Noto Sans JP", YuGothic, -apple-system, sans-serif;
text-align: center;
}

.card-ranking-item[data-rank="1"] .card-info {
width: 60%;
}

.card-ranking-item .card-meta {
font-size: 12px;
}

.card-ranking-item .card-title {
font-size: 0.90em;
font-weight: bold;
}

.card-ranking-item .card-price {
font-size: 13px;
margin-top: 0.3em;
}

.card-ranking-item .card-price span {
font-size: 2em;
font-weight: bold;
margin-left: 10px;
}

.card-ranking-item .card-diff {
font-size: 13px;
margin-top: 3px;
padding: 2px 0;
background: #ecdfff;
}

.card-ranking-item .card-diff span {
font-size: 1.2em;
font-weight: bold;
margin-left: 10px;
}

.card-ranking-item .card-diff.is-up span {
color: #ff0230;
position: relative;
padding-left: 16px;
}

.card-ranking-item .card-diff.is-up span:before {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f0d8";
font-size: 20px;
position: absolute;
top: 0;
left: 0;
}

.card-ranking-item .card-diff.is-down span {
color: #1402ff;
position: relative;
padding-left: 16px;
}

.card-ranking-item .card-diff.is-down span:before {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f0d7";
font-size: 20px;
position: absolute;
top: -2px;
left: 0;
}

.card-ranking-btn {
margin-top: 1.8em;
}

.card-ranking-btn a {
display: block;
width: 90%;
max-width: 460px;
margin: auto;
padding: .80em 10px;
text-align: center;
color: #000;
background: #fff;
border: 2px solid #000;
border-radius: 100px;
position: relative;
font-size: 0.90em;
transition: background 0.3s;
}

.card-ranking-btn a:after {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f105";
position: absolute;
right: 20px;
top: 50%;
    -webkit-transform: translateY(-50%);
transform: translateY(-50%);
transition: -webkit-transform .25s;
transition: transform .25s;
transition: transform .25s, -webkit-transform .25s;
}

/* [PC]高額・当たりTOP3 */
@media (min-width: 600px) {
	
.card-ranking-list {
grid-template-columns: repeat(3, 1fr);
}
	
.card-ranking-item[data-rank="2"]:before, .card-ranking-item[data-rank="3"]:before {
width: 42px;
height: 66px;
}
	
.card-ranking-item a {
flex-wrap: wrap;
flex-flow: column;
justify-content: normal;
}
	
.card-ranking-item .card-img {
width: auto;
margin-bottom: 6px;
}
	
.card-ranking-item[data-rank="1"] .card-img {
width: auto;
}
	
.card-ranking-item .card-img img {
width: auto;
max-height: 240px;
}
	
.card-ranking-item .card-info, .card-ranking-item[data-rank="1"] .card-info {
width: 100%;
}

.card-ranking-item a:hover {
opacity: 0.7;
transition: opacity 0.3s ease;
}

.card-ranking-item .card-price span {
font-size: 1.7em;
}
	
.card-ranking-btn a:hover {
background: #dfdfdf;
}
	
.card-ranking-btn a:hover:after {
-webkit-transform: translateX(4px) translateY(-50%);
transform: translateX(4px) translateY(-50%);
	}
}

/* 収録カード一覧 */
.card-count-area {
margin-bottom: 1em;
font-size: 14px;
}

.card-count-area span {
font-family: "Oswald", "Noto Sans JP", YuGothic, -apple-system, sans-serif;
font-weight: bold;
font-size: 20px;
margin: 0 2px;
color: #000;
}

h3.rarity-display-heading {
border-left: 5px solid #a33dff;
}

.cardBox-included-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: .75rem;
list-style: none;
padding: 0 !important;
}

li.cardBox-included-item {
margin: 0;
}

.cardBox-included-item a {
display: flex;
flex-flow: column;
height: 100%;
padding: 10px;
color: #000;
border: 1px solid #ddd;
border-radius: 8px;
}

.cardBox-included-item {
text-align: center;
}

.cardBox-included-item img {
max-height: 200px;
}

.cardBox-included-item .card-info {
font-family: "Oswald", "Noto Sans JP", YuGothic, -apple-system, sans-serif;
margin-top: .40em;
}

.cardBox-included-item .card-meta {
font-size: 12px;
}

.cardBox-included-item .card-title {
font-size: 0.90rem;
font-weight: bold;
line-height: 1.2;
}

.cardBox-included-item .card-price {
font-size: 12px;
margin-top: 0.3em;
}

.cardBox-included-item .card-price span {
font-size: 1.6em;
font-weight: bold;
margin-left: 10px;
}

.cardBox-included-item .card-diff {
font-size: 12px;
margin-top: 3px;
padding: 2px 0;
background: #ecdfff;
}

.cardBox-included-item .card-diff span {
font-size: 1.2em;
font-weight: bold;
margin-left: 10px;
position: relative;
}

.cardBox-included-item .card-diff.is-up span {
color: #ff0230;
padding-left: 14px;
}

.cardBox-included-item .card-diff.is-up span:before {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f0d8";
font-size: 18px;
position: absolute;
top: -1px;
left: 0;
}

.cardBox-included-item .card-diff.is-down span {
color: #1402ff;
padding-left: 14px;
}

.cardBox-included-item .card-diff.is-down span:before {
font-family: "Font Awesome 6 Free";
font-weight: 900;
content: "\f0d7";
font-size: 18px;
position: absolute;
top: -3px;
left: 0;
}

/* カード一覧用：フェードインアニメーション */
#card-list-container:not(.is-loaded) .cardBox-included-item {
    opacity: 0;
}

.cardBox-included-item {
    transition: opacity 0.3s ease-out;
}

/* アニメーション発火 */
.is-loaded .cardBox-included-item {
    animation: yugiohFadeInUp 0.5s ease forwards;
}

/* 1つずつズラして表示（カード一覧は数が多いので30個〜程度あると綺麗です） */
.is-loaded .cardBox-included-item:nth-child(1)  { animation-delay: 0.05s; }
.is-loaded .cardBox-included-item:nth-child(2)  { animation-delay: 0.08s; }
.is-loaded .cardBox-included-item:nth-child(3)  { animation-delay: 0.11s; }
.is-loaded .cardBox-included-item:nth-child(4)  { animation-delay: 0.14s; }
.is-loaded .cardBox-included-item:nth-child(5)  { animation-delay: 0.17s; }
.is-loaded .cardBox-included-item:nth-child(6)  { animation-delay: 0.20s; }
.is-loaded .cardBox-included-item:nth-child(7)  { animation-delay: 0.23s; }
.is-loaded .cardBox-included-item:nth-child(8)  { animation-delay: 0.26s; }
.is-loaded .cardBox-included-item:nth-child(9)  { animation-delay: 0.29s; }
.is-loaded .cardBox-included-item:nth-child(10) { animation-delay: 0.32s; }
/* ...必要に応じて nth-child を増やしてください。30番目くらいまであるとスクロール時に綺麗に見えます */

/* [PC]収録カード一覧 */
@media (min-width: 600px) {

.cardBox-included-list {
grid-template-columns: repeat(3, 1fr);
}
	
.cardBox-included-item a:hover {
opacity: 0.7;
transition: opacity 0.3s ease;
}
	
}

@media (min-width: 1280px) {
	
.cardBox-included-list {
grid-template-columns: repeat(4, 1fr);
}
	
.cardBox-included-item img {
max-height: 190px;
}
	
}