/* フッターナビ表示位置 */
footer {text-align: center;}

/* お知らせタイトル：パディング設定 */
.__block.__block--news {padding:1em;}

/* お知らせ内容：パディング設定 */
.main.main--home section.__block.__block--news .__body ul {padding: 1em;}

/* ランキングタイトル：パディング設定 */
.__block.__block--pro-ranking {padding:1em;}

/* 画像枠：高さをリキッドで揃える */
.p-product-block ul.__product li.__item a .__photo {
  position: relative;
  margin-bottom: 0.5em;
  text-align: center;

  aspect-ratio: 1 / 1; /* ← 好きな比率に変更可能（例：4/3, 3/4, 16/9） */
  background: #fff;     /* ← 余白の色（任意） */
  overflow: hidden;     /* ← 念のため */
}

/* 画像：枠に収まるように縮小（トリミングなし） */
.p-product-block ul.__product li.__item a .__photo img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* ← これが上下余白を作る */
  display: block;
}

/* 画像：枠に収まるように縮小（トリミングなし） */
.wrapper.wrapper--column-2 .__inner .main .__heading {
　padding:0.5em;
　border-bottom:1px solid #00ff7f;
}

  /* iframe風の枠 */
  .sample-frame {
    width: 500px;
    height: 120px;
    border: 1px solid #333;
    padding: 10px;
    margin-bottom: 15px;
  }

/* ページタイトル用*/
.c-h1 {
margin-top:1em;
border-bottom: 1px solid #66cdaa;
}
.main.main--howto .__step h3.__title{
border-bottom: 1px solid #b0c4de;
}
section.__content p{
margin-bottom:2em;
}
section.__content h4{
margin-top:1em;
margin-bottom:0.5em;
font-weight: bold;
}

/* カート枠用*/
.aside section.__block.__block--cart .__body {
border: 1px solid #66cdaa;
margin:0 1em;
}

section.__block.__block--free. __is-html {
margin-bottom: 0;
}

/* サイド：カテゴリー親調整用*/
.aside section.__block.__block--category .__body ul.__tree {
    margin: 0 1.3em;
    font-size: 0.9em;
}
.aside section.__block.__block--category .__body ul.__tree > li.__item:first-child > a {
padding-left:0.3em;
 font-weight: bold;
}
.aside section.__block.__block--category .__body ul.__tree li.__item.__item--26.__item--has-children > a {
padding-left:0.3em;
 font-weight: bold;
}
.aside section.__block.__block--category .__body ul.__tree li.__item.__item--25.__item--has-children > a {
padding-left:0.3em;
 font-weight: bold;
}
.aside section.__block.__block--category .__body ul.__tree li.__item.__item--20.__item--has-children > a {
padding-left:0.3em;
 font-weight: bold;
}

/* サイド：フリーエリア１ margin-bottom調整用*/
.aside section.__block.__block--free.__is-html {margin-bottom: 0;}


.aside h3 {
margin-block-start: 0.7em;
margin-block-end: 0.7em;
}

.main.main--home section.__block.__block--news .__body ul li {
        display: table-row-group;
        font-size:1em;
}

/* サイド：カレンダー最初の月の margin調整用*/
.aside section.__block.__block--calendar ul li:first-child{margin-top: 0;}

/* サイド：カレンダー曜日の margin調整用*/
.aside section.__block.__block--calendar ul li table.cal tbody th {
 padding: 0.3em 0;
}

/* サイド：カレンダー日付の調整用*/
.aside section.__block.__block--calendar ul li table.cal tbody td {
  border: 2px solid #fff;
}

.aside section.__block.__block--calendar ul li table.cal tbody td span {
    padding: 0.3em 0;
}

/* howto：ステップ4*/
h3.common-h-sub{
    font-size: 1em;
}
/* howto：h4*/
.main.main--howto h4{
    font-size: 0.95em;
}

/* asteriskリスト左パディング調整*/
ul.asterisk{
font-size:0.95em;
padding-left: 1em;
margin-bottom: 1.5em;
}
ul.shironuki{
font-size:0.95em;
padding-left: 1em;
margin-bottom: 1.5em;
}
/* リストマーク：※　ulクラスを.asterisk*/
ul.asterisk li::marker{
content: "※";
}
.shironuki ul.asterisk li::marker{
content: "※";
}

/* リストマーク：※　ulクラスを.shironuki*/
ul.shironuki li::marker{
content: "◦";
}

/* サイトマップ用設定：.sitemapbox*/
@media screen and (max-width: 959px) {
.sitemapbox  .__h1,
.sitemapbox  .__wrap .__block {
    padding: 0 1em;
    padding: 0 1rem;
  }
}

@media screen and (max-width: 767px) {
.sitemapbox .__wrap {
    flex-direction: column; 
  }
.sitemapbox .__wrap .__block {
    width: 100%;
  }
}

.sitemapbox section.__wrap{
display: flex;
flex-direction: row; 
align-items: start;
justify-content: space-evenly;
}

.sitemapbox .__wrap .__block{

}
.sitemapbox .__wrap .__block .__body ul { 
list-style-type: none;
padding: 0;
}

.sitemapbox .__wrap .__block .__body ul li a:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  padding-right: 0.5em;
  color: #ccc;
}
section.__to-home{
text-align: end;
}
.auto {
  flex: auto;
}

/* dlに連番をふる */
.main.main--privacy .__content dl {
counter-reset: counter;
}
.main.main--privacy .__content dl dt {
counter-increment: dt-counter; 
display: list-item; 
list-style-type: none;
font-weight: bold;
}

.main.main--privacy .__content dl dt:before {
content: counter(dt-counter) ". ";
font-weight: bold;
}

.main.main--privacy .__content dl dd {
margin-left: 1.4em;
margin-bottom: 1.5em;
font-size: 0.9em;
}