@charset "UTF-8";
@font-face{
    font-family: "851letrogo";
    src: url("../fonts/851letrogo.ttf") format("truetype");
}

body {
    font-family: sans-serif;
    height: 2500px;
    margin-top: 50px;
    background: #F8F8F8;
}

/* サイドオープン時にメインコンテンツを覆う部分 */
.overlay {
  content: '';
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  z-index: 2;
}

.side-open .overlay {
  visibility: visible;
  cursor: pointer;
  background: rgba(0,0,0,.7);
}


/* 開閉用ボタン */
.side-menu-btn {
  position: fixed;
  top: 100px;
  left: 30px;
  width: 40px;
  height: 40px;
  padding: 0px;
  background: transparent;
  cursor: pointer;
  z-index: 4;
}

.side-menu-btn img {
  width: 40px;
  height: 40px;
}

/* サイドメニュー  */
.side-menu {
  position: fixed;
  top: 0px;
  left: -540px;
  width: 600px;
  height: 100%;
  padding-top: 180px;
  padding-left: 40px;
  text-align: left;
  font-size: 20px;
  background: #F8F8F8;
  z-index: 3;
  font-family: "851letrogo";
  font-style: oblique;
  color: gray;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side-menu summary{
  height: 80px;
  font-size: 50px;
}

.side-menu div div{
    height: 70px;
  }

.side-menu a{
  font-size: 40px;
  margin-left: 40px;
  text-decoration: none;
  color: black;
}

/* 全体のコンテンツ */
.page {
  position: absolute;
  width: 100%;
  height: 4000px;
  background: #F8F8F8;
  z-index: 1;
}

/* サイドメニューオープン */
.side-open .side-menu,
.side-open .overlay {
  transform: translate3d(540px, 0, 0);
}

.page-title {
    font-size: 30px;
    margin-top: 40px;
    margin-left: 10%;
    margin-bottom: 40px;
}

/* fontエラー回避 */
.page-title-sub {
    font-size: 30px;
    margin-top: 40px;
    margin-left: 10%;
    margin-bottom: 40px;
}

header {
    padding-top: 20px;
}

/* ロード用 */
.mainpage {
    display: none;
    position: absolute;
    width: 100%;
}

.loading{
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
}
  
.loading>p{
    display: none;
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    height: 50%; 
    font-size: 30px;
    color: black;
}
/* ロード用終了 */


header {
    padding-top: 20px;
}

.logo {
    height: 140px;
    text-align: center;
}

.logo img {
    height: 120px;
}

.page-title {
    font-family: "851letrogo";
}

/* fontエラー回避 */
.page-title-sub {
    font-family: "sans-serif";
    font-weight: bold;
}

.search{
    margin-left:10%;
    margin-right:10%;
    display: flex;
    height: 30px;
}

#search-input{
    width:100%;
    background-color: #f2f2f2;
    border-radius: 20px 0px 0px 20px;
    border: 0px;
    padding: 0px 0px 0px 15px;
}

#search-input:focus {
    outline: 0px;
}

#submit{
    cursor: pointer;
    width: 45px;
    text-align: left;
    font-size: 15px;
    background-color: #f2f2f2;
    border-radius: 0px 20px 20px 0px;
    object-fit: cover;
    border: 0px;
    padding: 0px 15px 0px 0px;
}

#submit img{
    width: 30px;
    height: 30px;
}

#search-results {
    text-align: center;
    display: block;
    margin-left:10%;
    margin-right:10%;
    background-color: #f2f2f2;
    border-radius: 20px 20px 20px 20px;
}

#search-results>li {
    list-style: none;
    display: flex;
    margin-left:30px;
    margin-right:30px;
}

#search-results>li>p{
    margin: 0px;
    font-size: 15px;
}

.checkboxes{
    display: flex;
    justify-content: right;
}

.stockcheck{
    height: 20px;
    margin-top: 20px;
    margin-right: 10%;
    display: flex;
    justify-content: right;
}

.stockcheck input{
    height: 20px;
}

.stockcheck label{
    height: 20px;
    margin: 0px;
    font-size: 12px;
    margin-top: 2px;
}

.likedcheck{
    height: 20px;
    margin-top: 20px;
    margin-right:10%;
    display: flex;
    justify-content: right;
}

.likedcheck input{
    height: 20px;
    margin: 0px;
}

.likedcheck label{
    height: 20px;
    margin: 0px;
    font-size: 12px;
    margin-top: 2px;
}

.list {
    margin-top: 0px;
    margin-left:10%;
    margin-right:10%;
}

.list>div {
    margin-bottom: 15px;
}

.list>div div:nth-child(odd){
	background: #E6FFE9;
}

.list>div div:nth-child(even){
	background: white;
}

.list h3 {
    margin: 0px;
    font-size: 20px;
    background: #beeccd; /*背景色*/
    border-left: solid 15px #48dd7c; /*左線（実線 太さ 色）*/
    border-radius: 0px 20px 20px 0px;
}

.item {
    display: flex;
    padding-left:30px;
    padding-right:30px;
}

.item + .soldout {
    color: gray;
}

.item>p{
    margin: 0px;
    font-size: 15px;
}

.serial {
    width: 10%;
    text-align: left;
}

.morph {
    width: 50%;
    text-align: left;
}

.sex {
    width: 5%;
    text-align: left;
}

.♂ {
  color: blue;
}

.♀ {
  color: red;
}

.item + .soldout .♂ {
    color: gray;
}

.item + .soldout .♀ {
    color: gray;
}

.price {
    width: 12.5%;
    text-align: left;
}

.tax {
    width: 12.5%;
    text-align: left;
}

.item .tax{
    font-size: 10px;
    bottom: 0;
    /* margin:auto; */
}

.stock {
    width: 25%;
    text-align: right;
    color: gray;
    text-align: left;
}


/* モルフが改行した時の、例外的margin
.item .serial {
    margin:auto;
}

.item .morph {
    margin:auto;
}

.item .sex {
    margin:auto;
}

.item .price {
    margin:auto;
}

.item .stock {
    margin:auto;
}
     */

/* リクエスト */
.requestlabel {
    /* チェックボックスとテキストの上下を中央に */
    align-items: center;
    display: flex;   
}

.request{
    align-items: center;
    display: flex;  
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    width: 70px;
    height: 20px;
    border: 0px solid #FF0000;
    border-radius: 10px;
    background-color: #04722b;
    color: white;
    font-size: 10px;
    text-align-last: center;
}

.request:disabled{
    cursor: default;
    background-color: #757d78;
    color: white;
}

.request option{
    cursor: pointer;
    background-color: white;
    color: black;
    font-size: 15px;
}

.request option:disabled{
    cursor: pointer;
    background-color: white;
    color: gray;
    font-size: 15px;
}



/* いいね */
.likelabel {
    /* チェックボックスとテキストの上下を中央に */
    align-items: center;
    display: flex;   
}

.likelabel input {
    display: none; /* デフォルトのチェックボックスを非表示 */
}

.likelabel input + .like{
    cursor: pointer;
    background-image: url("../image/like.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 17px;

}


.likelabel input:checked + .like{
    background-image: url("../image/liked.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 17px;
}

.likecount{
    color: lightgray;
}