@charset "UTF-8";
/* ---------------------------- PC ---------------------------- */
.menu ul {
 display: flex;
 justify-content: center;
 align-items: center;
 list-style: none;
 padding-left: 0 !important;
 margin: 3.5em 0 4em 0;
 gap: 0.5em;
 flex-wrap: wrap;
}
.menu ul li {
 width: 18%;
}
.menu ul li a {
 display: block;
 text-align: center;
 background-color: buttonface;
 border-radius: 2em;
 padding: 1em 0;
 text-decoration: none;
 font-size: 1.2em;
 color: #333;
 font-weight: bold;
}
.menu ul li a:hover {
 transition: all .2s ease-out;
 background: #8dbc5b;
 color: #fff;
 border-radius: 2em;
}
.section{
 margin-bottom: 10%;
}
.flexbox {
 display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
 margin-top: 3%;
}
h3 {
  padding: 1em;
  background: -webkit-repeating-linear-gradient(-45deg, #fff5df, #fff5df 4px,#ffe4b1 3px, #ffe4b1 8px);
  background: repeating-linear-gradient(-45deg, #fff5df, #fff5df 4px,#ffe4b1 3px, #ffe4b1 8px);
 font-size: 1.5em;
}
.wrapbox{
 margin-bottom: 10%;
}
.text_frame{
 background: #e5eddd;
 padding: 2%;
 font-size: 1.1em;
 margin-bottom: 3%;
}
.scorebox{
 width: 25%;
 margin-bottom: 5%;
}
.cover {
 width: 250px;
 text-align: center;
 margin-bottom: 5%;
}
.ttl {
 font-size: 1.2em;
 font-weight: bold;
 margin: 5% auto;
 width: 90%;
}
.ttl span{
 display: block;
 font-size: 0.9em;
 font-weight: 200;
}
.notice {
 font-weight: bold;
 color: #333333;
 font-size: 1.1em;
 background: #e5eddd;
 border-radius: 10px;
 padding: 2%;
 display: block;
 text-align: center;
 margin: 2% auto;
 width: 70%;
}
.number {
 font-size: 0.9em;
 color: #555555;
 width: 90%;
 margin: 2% auto;
}
.price {
 font-size: 0.9em;
 color: #555555;
 width: 90%;
 margin: 2% auto;
 font-weight: bold;
}
.price span {
 font-size: 1.3em;
 color: #e83878;
 width: 90%;
}
.page a {
 font-size: 1.1em;
 font-weight: bold;
 display: block;
 margin: 2% auto;
}
.page a:hover{
 text-decoration: underline;
}

/* ---------------------------- SP ---------------------------- */
.sp .menu ul {
    justify-content: flex-start;
 margin: 3% 0;
}
.sp .menu ul li {
  width: 48%;
 }
.sp .menu ul li a {
    font-size: 1em;
}
.sp h3 {
 font-size: 1.2em;
}
.sp .text_frame {
    padding: 1%;
    font-size: 1em;
    margin-bottom: 3%;
}
.sp .flexbox{
 justify-content: space-between;
}
.sp .scorebox {
    width: 47%;
 background: #fffafa;
 padding: 3% 1%;
    margin: 2% 0;
}
.sp .cover {
    width: 100%;
 display: block;
 margin: 0 auto 5%;
}
.sp .cover img{
 width: 90%;
}
.sp .ttl {
    font-size: 1.1em;
    margin: 5% auto;
}
.sp .notice{
 width: 90%;
 font-size: 1.0em;
}
.sp .number,.sp .price,.sp .page a {
    margin: 0 auto 1%;
 text-align: center;
}

/* ------ SNS Btn ------ */
#social_btn {
 margin: 0 10px 15px 0;
 min-height: 30px;
}
#social_btn ul {
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 float: right;
 width: 200px;
}
/* ------ page-top ------ */
#page-top {
    display: block;
    position: fixed;
    z-index: 9999;
    bottom: 20px;
    right: 20px;
    width: 40px;
    padding: 10px 10px;
    background: #98bf5c;
    opacity: 0.9;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
}