@charset "shift_jis";

/*==============================================
共通カラー
============================================= */
:root {
--color-primary: #0678ff; /* プライマリ カラー */
--color-secondary: #ff5a27; /* セカンダリー カラー */
--text-color: #ffec1f; /* テキスト カラー */
}

/*==============================================
common
============================================= */

#header {
border-bottom: #ededed solid 1px;
}
.copyRight { border-top: 1px solid #ededed; }
.pageTop {
width: 40px;
height: 40px;
right: 10px;
background-size: 40px;
border-radius: 50%;
}

img {
width: 100%;
height: auto;
}

.pc {display: none;}

/*==============================================
.noto
============================================= */
/* regular */
@font-face {
font-family: 'noto';
src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Light.woff);
font-weight: 200;
}

/* regular */
@font-face {
font-family: 'noto';
src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Regular.woff);
font-weight: 400;
}

/* b */
@font-face {
font-family: 'noto';
src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Medium.woff);
font-weight: 600;
}

/* bold */
@font-face {
font-family: 'noto';
src: url(https://img1.kakaku.k-img.com/images/fonts/noto-sans/NotoSansJP-Bold.woff);
font-weight: 700;
}



/*==============================================
看板
============================================= */
.mainTitleIn {
position: relative; }

/*----　タイトルOFFアイコン　----*/
.mainTitleIn .icon {
position: absolute;
 top:15.2%;
left: 3.2%;
font-size: 1.15rem;
 line-height: 1.1 !important;
text-align: center;
font-weight: bold;
color: var(--text-color);}

.mainTitleIn .icon span { 
font-size: 2.1rem;
}

h1 {
padding-top: 64.77%;
margin: 0 auto;
background: url(https://img1.kakaku.k-img.com/images/article/sp/summersale/sp_title.jpg) no-repeat center top;
background-size: 100%;
text-indent: -999em;
font-size: 0;
}

.lead{
padding: 20px 20px 10px;}

.lead p{
font-size: 1.1rem;
line-height: 1.6;}

/*----　アンカーリンク　----*/
#index {
margin: 20px;
background-color: #f3f3f3;
padding: 18px 15px 15px;
box-sizing: border-box;
}

#index p {
font-size: 1.5rem;
font-weight: bold;
text-align: center;
}

#index dl {
margin-top: 10px;
}

#index dl dt {
font-size: 1.25rem;
line-height: 1.5;
font-weight: bold;
padding: 10px 0 10px 15px;
background: url(https://img1.kakaku.k-img.com/images/article/sp/summersale/arrow.svg) left 17px no-repeat;
background-size: 10px;
}

#index dl dt + dt {
border-top: #9f9f9f 1px dashed;
}

#index dl dd {
font-size: 1.18rem;
line-height: 1.6;
padding: 5px 0 5px 32px;
background: url(https://img1.kakaku.k-img.com/images/article/sp/summersale/dot.svg) 20px 15px no-repeat; 
background-size: 5px;}

#index a {
display: block;
transition: 0.1s ease-in-out;}

#index a:hover {
color: var(--color-primary);}

/*==============================================
#mainContents
============================================= */
/*----- 文字 -----*/
#mainContents .paragraph,
#mainContents .mainTitleIn,
#index,
.mainItemWrap .itemIn .item .info .price span{
font-family: "noto", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", "Arial", sans-serif;
font-feature-settings: "palt" 1;
letter-spacing: 0.03em;}

.paragraph p {
font-size: 1.2rem;
line-height: 1.7;
}

.paragraph p + p,
.lead p + p{
margin-top: 20px;   
}

.paragraphIn > p:first-child {
margin-top: 10px;
}


/*----　paragraph　----*/
#article01.paragraph,
#article02.paragraph{
border-top: 1px solid #c5c5c5;
transition: background-color .2s, border-top-color .2s;
}
#article02.paragraph {
border-bottom: 1px solid #c5c5c5;
}
.spAccordion {
display: none;
}

.paragraphIn{
padding: 0 20px 30px;
}

#article03 .paragraphIn{
padding: 0 0 30px;
}

#article01.paragraph h2,
#article02.paragraph h2{
position: relative;
padding: 18px 15px 18px 25px;
color: #000;
font-weight: bold;
}
#article01.paragraph h2:active,
#article02.paragraph h2:active{
background-color: rgba(255,255,255,0.10);
}
#article01.paragraph.active h2,
#article02.paragraph.active h2{
color: #292929;
}
#article01.paragraph h2 span,
#article02.paragraph h2 span{
display: block;
padding-left: 24px;
font-size: 1.4rem;
line-height: 1.6;
-webkit-tap-highlight-color:rgba(0,0,0,0);
}

.paragraph h2 span span{
padding-left: 0;	
}

#article02.paragraph h2 br {
display: none;
}

#article01.paragraph h2:after,
#article02.paragraph h2:after {
content: "+"; /* 常に「+」を表示 */
display: inline-block;
position: absolute;
top: 0;
bottom: 0;
left: 13px; /*---- 左からの位置 ----*/
width: 1em; 
height: -webkit-fit-content;
height: -moz-fit-content;
height: fit-content;
margin: auto;
color: #ff5a27; /*---- 「+」「x」の色 ----*/
font-size: 2.6rem; /*---- アイコンの大きさ ----*/
line-height: 0.8; 
text-align: center;
-webkit-transition: -webkit-transform .2s ease;
transition: -webkit-transform .2s ease;
transition: transform .2s ease;
transition: transform .2s ease, -webkit-transform .2s ease;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}

#article01.paragraph.active h2:after,
#article02.paragraph.active h2:after{
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#article03 {
padding: 20px;
}

#article03 h2 {
text-align: center;
font-size: 1.8rem;
font-weight: bold;
color: var(--text-color);
background-image: linear-gradient(0deg, #1f81f6, #04c7fd);}

#article03 h2 .bg {
display: block;
padding: 18px 0;
background: url(https://img1.kakaku.k-img.com/images/article/sp/summersale/h2_bg.png) center top no-repeat;
background-size: cover;
box-sizing: border-box;
}

#article03 h2 .icon {
display: flex;
align-items: center;       /* 縦方向の中央揃え */
justify-content: center;    /* 横方向の中央揃え */
gap: 10px;                 /* 文字と画像の間の余白（必要に応じて調整） */
font-size: 1.4rem;
padding-bottom: 9px;
}

#article03 h2 .icon::before,
#article03 h2 .icon::after {
content: "";
display: inline-block;
width: 18px;               /* 画像の表示幅 */
height: 18px;              /* 画像の表示高さ */
background-size: contain;
background-repeat: no-repeat;
background-position: center;
flex-shrink: 0;            /* 画面が狭くなっても画像が潰れないように固定 */
}

#article03 h2 .icon::before {
background-image: url('https://img1.kakaku.k-img.com/images/article/sp/summersale/h2_icon_befor.png'); 
}

#article03 h2 .icon::after {
background-image: url('https://img1.kakaku.k-img.com/images/article/sp/summersale/h2_icon_after.png');
}


/*----　キャンペーン概要　----*/
.campaignData {
border: var(--color-primary) 1px solid;
box-sizing: border-box;
padding: 20px;
margin-top: 20px;
}

.campaignData p{
margin-top: 0 !important;
font-size: 1.5rem !important;
font-weight: bold;
color: var(--color-primary);
text-align: center;
}

.campaignData table {
margin-top: 5px;
}

.campaignData table th,
.campaignData table td {
display: inline-block;
width: 100%;
line-height: 1.5;
}

.campaignData table th {
font-size: 1.3rem;
 padding: 10px 0 0;   
}

.campaignData table td {
font-size: 1.1rem;
padding:  2px 0 0;   
}

.campaignData table td .cap {
display: block;
margin-top: 1px !important; 
}

.campaignData table td a:link,
.campaignData table td a:visited {
color: #0054ee;
text-decoration: underline;
}
.campaignData table td a:hover,
.campaignData table td a:active {
color: #699dfc;
}

.campaignData img {
width: 100%;
margin-top: 20px;
}

/*----　プロフィール　----*/
.profile {
background-color: #f2f2f2;
padding: 20px;
box-sizing: border-box;
margin-bottom: 30px;}

.profile .face {
float: left;
width: 115px;
padding: 0 15px 5px 0;}

.profile .face img {
width: 100%;}

.profile .txt p.name {
font-size: 1.4rem !important;}

.profile .txt p.name strong{
display: block;}

.profile .txt p {
font-size: 1.2rem !important;}

.profile .txt p + p {
margin-top: 10px !important;}

.balloon {
position: relative;
display: inline-block;
margin-bottom: 25px;
padding: 16px;
border-radius: 8px;
border: 2px solid #dedede;
background-color: #ffffff;
text-align: left;
}

.balloon::before {
content: "";
position: absolute;
bottom: 0;
left: 10%;
border-style: solid;
border-width: 20px 10px 0 10px;
border-color: #dedede transparent transparent;
translate: -50% 100%;
}

.balloon::after {
content: "";
position: absolute;
bottom: 0;
left: 10%;
border-style: solid;
border-width: 15.5px 7.8px 0 7.8px;
border-color: #ffffff transparent transparent;
translate: -50% 100%;
}

/*----　ステップ　----*/
.stepBox {
margin-top: 40px;
overflow: hidden;}

.stepBox img {
float: left;
width: 70px;
margin: 5px 15px 10px 0;}

.stepBox .stepTit {
font-size: 1.4rem;
font-weight: bold;
margin-bottom: 15px;
}

.stepBox .dotlist {
margin: 20px 0;
padding: 15px;
display: inline-block;
border: #bfbfbf 1px solid;}

.stepBox .dotlist li{
font-size: 1.2rem;
line-height: 1.5;
padding-left:1em;
text-indent:-1em;
}

.stepBox .dotlist li strong {
font-size: 1.4rem;
display: inline;
background: linear-gradient(transparent 76%, #d2e6fd 0%);  
}

.stepBox .dotlist li::before{
content: "・ ";
}

.stepBox .dotlist li + li {
margin-top: 10px;
}

.bigText {
width: 100%;
text-align: center;
margin-top: 30px;
}

.bigText p{ 
font-size: 1.5rem !important;
line-height: 1.6 !important;
font-weight: bold;
color: var(--color-secondary );  }


/*----　カテゴリ　----*/
.categoryBox .category {
width: 100%; 
box-sizing: border-box;
border: 2px solid #e1e1e1; 
border-radius: 10px;
padding: 15px 20px;
margin-top: 15px;
}

.categoryBox .category .title {
text-align: center;
font-size: 1.3rem;
}

.categoryBox .category .title span {
display: block;
color: var(--color-secondary );  
font-size: 1.6rem;
font-weight: bold;
}

.categoryBox .category a {
font-size: 1.3rem;
line-height: 31px;
font-weight: bold;
color: #fff;
position: relative;
display: block;
width: 210px;
height: 32px;
border-radius: 30px;
margin: 8px auto 0;
text-align: center;
background-color: var(--color-secondary ); 
transition: 0.1s ease-in-out;}

.categoryBox .category a:after {
content: "";
display: inline-block;
position: absolute;
top: -5px;
bottom: 0;
left: 20px;/*----　左からの矢印の位置　----*/
width: 8px;
height: 8px;
margin: auto;
-webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
transition: opacity .2s ease, -webkit-transform .2s ease;
transition: transform .2s ease, opacity .2s ease;
transition: transform .2s ease, opacity .2s ease, -webkit-transform .2s ease;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
vertical-align: middle;
border-bottom: 3px solid #fff;/*----　矢印の色　----*/
border-right: 3px solid #fff;/*----　矢印の色　----*/
}

.categoryBox .category a:hover {
opacity: 0.6;
filter: alpha(opacity=60);}


.categoryBox .category a + p {
margin-top: 15px;
}

/*==============================================
メインアイテム
============================================= */
.mainItemWrap h3 {
margin-top: 70px;
background-color: #eee;
padding: 40px 10px 15px;
box-sizing: border-box;
position: relative;
text-align: center;
}

.mainItemWrap h3 .icon {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
display: inline-block;
font-size: 1.5rem;
line-height: 1;
font-weight: bold;
color: var(--text-color);
background-color: var(--color-secondary);
padding: 8px 15px 9px;
box-sizing: border-box;
}

.mainItemWrap h3 .icon span{
font-size: 2rem;
}

.mainItemWrap h3 .icon br {
display: none;}

.mainItemWrap h3 .text {
box-sizing: border-box;
font-size: 1.6rem;
line-height: 1.4;
font-weight: bold;
}

.mainItemWrap h3 .text small {
font-size: 1.3rem;
margin-bottom: 2px;
display: block;
font-weight: normal;
}

.mainItemWrap h3 .text strong {
padding: 0 5px;
color: var(--color-secondary );
}

.mainItemWrap .itemIn {
padding: 30px 10px;
box-sizing: border-box;
}

.mainItemWrap .itemIn + .itemIn {
border-top: #d7d7d7 1px solid;
}

.mainItemWrap .itemIn .item {
margin-bottom: 15px;
}

.mainItemWrap .itemIn .item .img{
text-align: center;
position: relative;
padding: 8px 0 0 20px;
box-sizing: border-box;
}

.mainItemWrap .itemIn .item .img img {
width: 70%;
}

.mainItemWrap .itemIn .item .img .icon{
padding: 25px 0 0 7px;
font-size: 2rem;
line-height: 1.1;
font-weight: bold;
text-align: center;
position: absolute;
top:-10px;
left: -10px;
width: 118px;
height: 118px;
color: var(--text-color );
background: url(https://img1.kakaku.k-img.com/images/article/sp/summersale/icon_off.png) top center no-repeat;
background-size: cover;
box-sizing: border-box;
}

.mainItemWrap .itemIn .item .img .icon span{
font-size: 3rem;
}

.mainItemWrap .itemIn .item .img .icon.small{
padding: 30px 0 0 0;
font-size: 1.25rem;
line-height: 1.2;
letter-spacing: 0.01em;}

.mainItemWrap .itemIn .item .img .icon.small span{
  font-size: 2.2rem;
/*display: block;*/
}

.mainItemWrap .itemIn .item .info{
margin-top: 20px;
}

.mainItemWrap .itemIn .item .info .catch {
font-size: 1.3rem;
margin-bottom: 8px;
}

.mainItemWrap .itemIn .item .info .name span:nth-of-type(1){
background-color: #3c3c3c;
font-size: 1.3rem;
line-height: 1;
color: #fff;
padding: 5px 10px 6px;
display: inline-block;
}

.mainItemWrap .itemIn .item .info .name  span:nth-of-type(2) {
display: block;
margin-top: 5px;
font-size: 1.48rem;
line-height: 1.4;
font-weight: bold;
}

.mainItemWrap .itemIn .item .info .price {
font-size: 2.5rem;
font-weight: bold;
color: var(--color-secondary ) !important;
font-family: Arial, Helvetica, "sans-serif";
margin-top: 8px;
letter-spacing: 0.002em;
}

.mainItemWrap .itemIn .item .info .price span {
font-size: 1.5rem;}

.mainItemWrap .itemIn .item .info .btn a{
display: block;
margin-top: 15px;
font-size: 1.25rem;
line-height: 48px;
font-weight: bold;
text-align: center;
background-color: #ff9900; 
height: 48px;
border-radius: 4px;
transition: 0.1s ease-in-out;
position: relative;
}

.mainItemWrap .itemIn .item .info .btn a:after {
content: '';
width: 8px;
height: 8px;
border: 0px;
border-top: solid 2px #333;
border-right: solid 2px #333;
/*　↑トップバナー矢印の色を変更する場合はこちら　*/
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 0;
bottom: 0;
right: 10px;
margin: auto;
}

.mainItemWrap .itemIn .item .info .btn a:hover {
opacity: 0.6;
filter: alpha(opacity=60);   
}



/*==============================================
PR枠
============================================= */
.previewWrap {
border: #bbb 1px solid;
margin-top: 20px;
position: relative;
padding: 30px 20px 0;
}

.previewWrap .prIcon {
position: absolute;
top:0;
left: 0;
background-color: #bbb;
color: #fff;
padding: 1px 4px;
}

.previewWrap .title {
padding: 0 0 20px;
text-align: center;
font-weight: bold;
font-size: 1.4rem;
}

.previewWrap .title .icon {
position: relative;
display: inline-block;
margin-bottom: 15px;
padding: 8px 40px;
border-radius: 60px;
background-color: var(--color-secondary ) ;
text-align: left;
font-size: 1.6rem;
line-height: 1.5;
color: #fff;
}

.previewWrap .title .icon::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
border-style: solid;
border-width: 12px 6px 0 6px;
border-color: var(--color-secondary ) transparent transparent;
translate: -50% 100%;
}

.previewWrap .title .text {
display: block;
}


.previewBox {
margin: 0 auto;
box-sizing: border-box;
}

.previewBox .itemIn {
padding: 30px 0;
border-top: 1px dashed #a1a1a1; 
}

.previewBox .itemIn .cap {
font-size: 0.9rem !important;
display: block;
margin-top: 3px;
}


.previewBox .itemIn .item {
margin-bottom: 15px;
}


.previewBox .itemIn .item .info {
margin-top: 15px;
box-sizing: border-box;
}

.previewBox .itemIn .item .info .catch {
font-size: 1.1rem;
margin-bottom: 5px;
}

.previewBox .itemIn .item .img{
position: relative;
padding: 8px 0 0 25px;
box-sizing: border-box;
text-align: center;
}

.previewBox .itemIn .item .img img {
width: 80%;
}

.previewBox .itemIn .item .img .icon{
padding: 24px 0 0 2px;
font-size: 1.5rem;
line-height: 1.1;
font-weight: bold;
text-align: center;
position: absolute;
top:0;
left: 0;
width: 96px;
height: 96px;
color: var(--text-color );
background: url(https://img1.kakaku.k-img.com/images/article/sp/summersale/icon_off.png) top center no-repeat;
background-size: cover;
box-sizing: border-box;
}

.previewBox .itemIn .item .img .icon span {
font-size: 2rem;
}

.previewBox .itemIn .item .img .icon.small{
padding: 24px 0 0 2px !important;
font-size: 16px;
line-height: 1.4;
white-space: nowrap;
display: block;}

.previewBox .itemIn .item .img .icon.small02{
font-size: 15px;
line-height: 1.2;
display: block;}

.previewBox .itemIn .item .img .icon.small02 span {
   font-size: 11px;
    line-height: 1.3;
    display: block;
}



.previewBox .itemIn .item .info .name span:nth-of-type(1){
font-size: 1.2rem;
display: inline-block;
}

.previewBox .itemIn .item .info .name  span:nth-of-type(2) {
display: block;
margin-top: 1px;
font-size: 1.45rem;
line-height: 1.5;
font-weight: bold;
}

.previewBox .itemIn .item .info .price {
font-size: 2rem;
font-weight: bold;
color: var(--color-secondary ) !important;
font-family: Arial, Helvetica, "sans-serif";
margin-top: 10px;
letter-spacing: 0.02em;
}

.previewBox .itemIn .item .info dd:nth-of-type(2) a,
.previewBox .itemIn .item .info dd:nth-of-type(3) a{
display: block;
font-size: 1.1rem;
line-height: 40px;
font-weight: bold;
text-align: center;
height: 40px;
border-radius: 4px;
transition: 0.1s ease-in-out;
position: relative;
}

.previewBox .itemIn .item .info dd:nth-of-type(2) a{
margin-top: 15px;
background-color: #ff9900; 
}

.previewBox .itemIn .item .info dd:nth-of-type(3) a{
margin-top: 12px;
color: #fff;
background-color: #3a3a3a; 
}

.previewBox .itemIn .item .info dd:nth-of-type(2) a:after,
.previewBox .itemIn .item .info dd:nth-of-type(3) a:after {
content: '';
width: 6px;
height: 6px;
border: 0px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 0;
bottom: 0;
right: 10px;
margin: auto;
}

.previewBox .itemIn .item .info dd:nth-of-type(2) a:after {
border-top: solid 2px #333;
border-right: solid 2px #333;
}

.previewBox .itemIn .item .info dd:nth-of-type(3) a:after {
border-top: solid 2px #fff;
border-right: solid 2px #fff;
}

.previewBox .itemIn .item .info dd a:hover {
opacity: 0.6;
filter: alpha(opacity=60);   
}

.previewBox .itemIn .commentBox {
margin-top: 20px;
}

.previewBox .itemIn .commentBox .title{
font-size: 1rem;
color: #fff;
background-color: var(--color-secondary ) ; 
padding: 5px 10px;
display: inline-block;
}

.previewBox .itemIn .commentBox p {
font-size: 1.1rem !important;
border: #bfbfbf 1px solid;
padding: 8px 10px;
box-sizing: border-box;
}

/* 元のデータ用マスターボックスは初期状態で非表示にしておく */
.itemBox {
display: none;
}


/*==============================================
.note
============================================= */
.note {
margin: 10px 0 0;
}
.note li {
display: block;
line-height: 1.8;
font-size: .9rem;
}
.note li span {
margin-right: .5em;
}

/*==============================================
.releasedate
============================================= */
.releasedate {
font-size: 0.85rem; 
padding: 0 25px 30px;
color: #333;}

#footer {
padding-top: 30px;}

