/*デザイン*/
table , th , td{
  font-size : 100%;
  font-family : inherit;
  line-height : inherit;
}

img{
  vertical-align: bottom;
}

.border{
  border: 1px #000000 solid;
}

.title-banner{
 width: 100%;
 margin: 1.0rem 0;
}
<!--
/*看板画像*/
#signboard{
 width: 100%;
 max-width: 948px;
 height: auto;
}
/*看板下メニュー*/
#grand-menu{
 display: flex;
 max-width: 948px;
 list-style: none;
 margin:0 auto;
 padding:0;
 line-height:1;
}
#grand-menu li > a > img{
 width: 100%;
 max-width:105px;
 height: auto;   
}
/*モバイル用検索ボックス*/
#search-box-mob{
 display: none; /*PCブラウザでは非表示*/
}
/*カテゴリメニューボックス*/
#category-menu{
 display:flex;
 flex-wrap: nowrap;
 width: 100%;
 max-width: 948px;
 margin: 1.0em auto 0.5em; auto;
 align-items: center;
 overflow-x: hidden;
}
#category-menu > form{
 appearance: none;
 width: 75%;
 max-width: 320px;
 min-width: 200px;
 height: auto;
}
#category-menu > form > div{
 position: relative;
 width: 100%;
}
#category-menu > form > div::before{
 position: absolute;
 top: 0.5em;
 right: 1.0em;
 content: '';
 width: 10px;
 height: 10px;
 border-top: 2px solid #0a51a1;
 border-left: 2px solid #0a51a1;
 transform: rotate(-135deg);
 pointer-events: none;
}
#category-menu > form > div > select{
 appearance: none;
 width: 100%;
 max-width: 320px;
 line-height: 3.2rem;
 padding: 0 0.5em;
 border: 1px solid #0a51a1;
 border-radius: 3px;
 background-color: #fff;
}
#category-menu > form > div > select:focus{
 outline: none;
}
#category-menu > form > div > select > option{
 width: 100%;
}
/*モバイル用カートを見るボタン*/
.view-cart{
 display: none; /*PCブラウザでは非表示*/
}
-->

/*お知らせの青い枠*/
.blue-flame{
  width: 96%;
  max-width: 912px;
  margin: 0.5em auto;
  padding: 1.0em;
  border: 8px solid #0a51a1;
  border-radius: 10px;
  text-align: left;
}
<!--
/*カレンダー表示*/
table.calendar{
  width: 100%;
  border-collapse: collapse;
  background-color: #999999;
  margin:0 auto;
}
table.calendar th ,
table.calendar td.eigyou-bi ,
table.calendar td.kyugyou-bi ,
table.calendar td.eigyou ,
table.calendar td.kyugyou{
 text-align: center;
 padding: 1px;
 font-weight: bold;
 background-color: #ffffff;
 font-size: 1.4rem;
}
table.calendar th{
  border: none;
  color: #ff0033;
  font-size: 1.8rem;
}
table.calendar td{
  width: calc( 100% / 7 );
  border: 1px #000000 solid;
}
table.calendar td.kyugyou-bi{
  background-color: #ffa6d2;
}
table.calendar td.kyugyou ,
table.calendar td.kyugyou-bi span{
  color: #ff0000;
}
.rest-coment{
  width: 100%;
  margin: 0.5em auto 0 auto;
  text-align: left;
}
-->
<!--
/*パンくずリスト設定*/
.breadcrumb {
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 0.3rem;
  background: #ffffff;
  padding: 0;
  font-size: 1.3rem;
  line-height: 1.0;
}
.breadcrumb li {
  display: inline-block;
  list-style: none;
  font-size: 1.3rem;
  font-weight: bold;/*太字*/
  margin-bottom: 0.3rem;
}
.breadcrumb li:after {	
  content: '＞＞';  /* ＞＞ を表示*/
  padding: 0 3px;
  color: #000000;
}
.breadcrumb li:last-child:after {
  content: '';
}
-->
<!--
/*見出し装飾*/
.headline{
 border-bottom: 2px #000000 solid;
 color: #000000;
 margin: 0.5em 0;
}
h4.headline > span:first-child{
 display: inline-block;
 width: 25px;
 text-align: center;
 vertical-align: middle;
 line-height: 1.3;
 background-color: #000000;
 color: #ffffff;
 font-size: 1.8rem;
 padding-top: 0.2rem;
}
h4.headline > span:nth-of-type(2){
 font-size: 1.6rem;
 line-height: 1.0;
 vertical-align: -3px;
 margin-left: 0.3rem;
}

/*装飾線*/
.decoline{
 display: block;
 width: 100%;
 margin-bottom: 0.5rem;
}

/*商品名バナー*/
picture.itembanner > img{
width: 100%;
max-width: 758px;
margin-bottom:0.3em;
}
-->

<!--
/*商品領域*/
.itemfield{
 display: flex;
 flex-wrap: wrap;
 width: 100%;
 padding: 0;
}
.itemfield > div:first-child{
 width: 50%;
 line-height: 0;
}
.itemfield > div:first-child img{
 width: calc(100% - 0.5em);
 height: auto;
 border: 1px solid #000000;
 margin: 0 0.25em 0.5em 0.25em;
}
.itemfield > div:first-child img:last-child{
 margin-bottom: 0;
}
.itemfield > div:nth-of-type(2){
 width: 50%;
 text-align: left;
 padding: 0 1.0rem;
}
.itemfield > div:nth-of-type(n+3){
 width: 100%;
 text-align: left;
 padding: 0;
 margin: 0.5rem 0;
}

/*カートに入れるボタン*/
.itemfield form{
 width: 60%;
 max-width: 172px; 
 margin: 0 0 0.5rem auto;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: flex-end;
 line-height: 0;
}
.itemfield form > img{
 margin:0 1.0rem 0 0;
}
.itemfield form > div{
 position: relative;
 width: 5.6rem;
 margin: 0 0.2rem 0.3rem 0;
}
.itemfield form > div::before{
 position: absolute;
 top: 0.9em;
 right: 0.9em;
 content: '';
 width: 8px;
 height: 8px;
 border-top: 2px solid #000000;
 border-left: 2px solid #000000;
 transform: rotate(-135deg);
 pointer-events: none;
}
.itemfield form > div > select{
 appearance : none;
 width: 5.6rem;
 height: 3.6rem;
 font-size: 1.6rem;
 color: #000000;
 padding-left: 0.5rem;
 border: 1px solid #000000;
 border-radius: 3px;
}

/*購入フォームパーツ*/

-->


<!--
/*画像とテキスト*/
.img-text{
 display: flex;
 flex-wrap: wrap;
 align-items:center;
}
.img-text > img{
 width: calc(50% - 0.5em);
 height: auto;
 margin: 0 0.25em 0.5em 0.25em;
}
.img-text > div{
 width: 50%;
 padding: 0.8em;
}

/*スペック表*/
<!--
.spec-table{
  background-color: #9999ff;
  width: 100%;
}
.spec-table tbody > tr > th ,
.spec-table tbody > tr > td:first-child{
  text-align: center;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
.spec-table tbody > tr > td:nth-of-type(n+2){
  padding: 0.2em 1.0em;
}
-->

/*画像拡大表示*/
<!--
.img-sizechange input{
  display: none;
}
.img-sizechange input + img{
  transition-duration: 0s;
  cursor: pointer;
}
.img-sizechange input:checked + img{
  transform-origin: 0 0;
  transform: scale(2.0,2.0);
  backface-visibillity: hidden;
}
-->

/*商品一覧*/
<!--
.category-banner{
  width: 100%;
  display: block;
  max-width: 940px;
  margin: 1.0em auto;
}
.category-box{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.item-box{
  width: 24.4%; /*４列表示*/
  height: auto;
  margin: 1.0rem 0.3%;
}
.item-box > a{
  width: 100%;
  display: inline-block;
  text-align: center;
  position: relative;
}
.item-box > a > img{
  width: 100%;
  height: auto;
  border: 1px solid;
  vertical-align: middle;
}
.item-box > a > div{
  width: 100%;
  margin: 0 auto;
  text-align: left;
  font-weight: bold;
  background-color: inherit;
  overflow-wrap: break-word;
}
.item-box > a > span[class*="nekopos-icon-s"]{
  position: absolute;
  top: 2px;
  left: 2px;
}
.item-box > a > span[class*="new-icon"]{
  position: absolute;
  top: 4px;
  left: 4px;
}
-->

<!--
/*ボタン横並び*/
.button-sbs{
  display: flex; /*横並び*/
  flex-wrap: wrap; /*折り返す*/
  justify-content: center; /*真ん中寄せ*/
  margin:3rem auto; /* ボタン領域外側余白 */
}
/*リンクボタン*/
.button-sbs a{
  display: inline-block;
  text-align: center;      /* 文字位置   */
  padding: 0.3rem 0.8rem;  /* 余白       */
  background: #F0F0F0;     /* 背景色     */
  color: #000000;           /* 文字色     */
  transition: .2s;         /* なめらか変化 */
  box-shadow: 2px 2px 1px #666666;  /* 影の設定 */
  border: 1px solid #000000; /* 枠の指定 */
  margin: 0.5rem 1.5rem;          /* 外側の余白(隣のボタンとの間隔) */
}
.button-sbs a:hover {
  box-shadow : none;        /* カーソル時の影消去 */
}
.button-sbs a:link, 
.button-sbs a:visited {
  font-size: 90%;          /* 文字サイズ */
  color: #000000;          /* 文字色     */
}
-->

<!--
/*フッターメニュー*/
ul#footer-menu {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
ul#footer-menu-mob {
  display: none;
}
#bottom-banner {
  display: inline;
  width: 100%;
}
-->

<!--
/*ページトップに戻るボタン*/
#page-top-btn {
  display: block;
  position: fixed;
  bottom: 32px;
  right: 32px;
  opacity: 0.3;
  width: 60px;
  height: 60px;
  background: #0a51a1;
  text-decoration: none;
  border-radius: 10px;
  z-index: 99;
}
#page-top-btn:before {
  content: "▲";
  margin: 12px;
  font: bold 36px/60px Meiryo;
  color: #fff;
}
@media (hover: hover) {
  #page-top-btn:hover{
   opacity: 1;
  }
}
@media (hover: none) {
  #page-top-btn:active{
   opacity: 1;
  }
}
-->
<!--
/*コピーライト表記部*/
#copyright{
  width: 100%;
  text-align: center;
}
-->

/*モバイル対応*/
@media screen and (max-width: 599px){
 /*看板下メニュー*/ 
 #grand-menu{
   display: none;  /*モバイルでは非表示*/
 }
 /*モバイル用検索ボックス*/
 #search-box-mob{
   display: block;
 }
 #search-box-mob input[type="text"]{
   appearance: none;
   display: inline-block;
   width: 80%;
   height: 3.0rem;
   margin-right: 0;
   padding: 0 1.0rem;
   border: 1px solid #ccc;
   border-radius: 5px 0 0 5px;
   border-right: none;
   font-size: 16px;
 }
 #search-box-mob input[type="submit"]{
   appearance: none;
   display: inline-block;
   width: 20%;
   height: 3.0rem;
   color: #fff;
   text-align: center;
   vertical-align: top;
   border: none;
   border-radius: 0 5px 5px 0;
   background: #1f76e2;
   font-size: 16px;
 }
 #search-box-mob > form > input:focus{
   outline: none;
 }
 #category-menu > form > div > select,
 #category-menu > form > div > select > option{
   font-size: 16px;
 }
 /*モバイル用カートを見るボタン*/ 
 .view-cart{
   display: block;
   width: 20%;
   min-width: 60px;
   margin:0 0 0 5.0%;
 }
 .view-cart > img{
   width: 100%;
   height: auto;
   border-radius: 5px 5px 5px 5px;
 }
 
 .category-banner{
  display: none;
 }

 .item-box{
   width: 49.4%; /*商品一覧２列表示*/
   height: auto;
   margin: 1.0rem 0.3%;
 }


 /*商品領域*/
 .itemfield > div:first-child ,
 .itemfield > div:nth-of-type(2) ,
 .itemfield > div:nth-of-type(3){
  width: 100%;
 }
 .itemfield > div:nth-of-type(2) ,
 .itemfield > div:nth-of-type(3){
  padding: 0;
 }
 .itemfield > div:nth-of-type(2){
  margin-top: 0.3em;
 }

 /*画像とテキスト*/
 .img-text{
  justify-content: center;
 }
 .img-text > img{
   width: 100%;
   margin-bottom: 0;
   margin: 0.25em 0 0 0;
 }
 .img-text > div{
   width: 100%;
   padding: 0.5rem;
 }

 /*フッターメニュー*/
 ul#footer-menu {
   display: none; /*モバイルでは非表示*/
 }
 /*フッターバナー*/
 #bottom-banner {
   display: none;
 }
 /*モバイル用フッターメニュー*/
 ul#footer-menu-mob {
   display: flex;
   width: 100%;
   list-style: none;
   overflow: hidden;    
 }
 ul#footer-menu-mob li{
   width: 25%;
   line-height: 3.0em;
   text-align: center;
   font-weight: bold;
   background-color: #0a51a1;
   border-right: solid 1px #ffffff;
 }
 ul#footer-menu-mob li:last-child{
   border-right: none;
 }
 ul#footer-menu-mob li a{
   display: block;
   color: #ffffff;
 }

 /*コピーライト表記部*/
 #copyright{
   text-align: left;
 }
}
