section{
  margin-bottom:50px;
}

section.info{
  margin-bottom:80px;
}

:root{
  --gray:#444;
  --dark:#353535;
}

#logoMark{
  width:100%;
  max-width:200px;
  margin:0 auto;
}

#logoMark img{
  width:100%;
  height:auto;
}

#overview{
  width:100%;
  max-width: 880px;
  margin:0 auto;
  font-size:18px;
  line-height:1.8em;
}

#overview span{
    font-size:0.8em;
}

h3{
  text-align: center;
  letter-spacing: .05em;
  line-height: 1.8em;
}

/*table*/

.pricing-table {
    display: flex;
    max-width:100%;
    flex-wrap: wrap;
    justify-content: center;
    gap:20px 1px;
}

.plan {
    width:calc(100% / 3 - 5px);
    min-width:300px;
    padding:0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-radius:10px 10px 0 0;
    background:var(--gray);
}

.plan-standard{
    background:var(--dark);
}

.space{
  width:100%;
  margin-top:-30px;
}

.plan-basic .title,
.plan-basic .signup p,
.plan-basic .signup button{
  background-color: #0073e6;
  color:#FFF;
  border-radius:10px 10px 0 0;
}

.plan-standard .title,
.plan-standard .signup p,
.plan-standard .signup button{
  background-color: #4CAF50;
  color:#FFF;
  border-radius:10px 10px 0 0;
}


.plan-premium .title,
.plan-premium .signup p,
.plan-premium .signup button{
  background-color: #FFD700;
  color: #333;
  border-radius:10px 10px 0 0;
}


.plan-premium .title{
  padding:27px 0;
  font-size:1.5em;
  text-shadow: 1px 1px 0 #FFF;
}

.plan-premium .space{
  position:relative;
}

.plan-premium .space span{
  position:absolute;
  top:-5px;
  right:-5px;
  background:#DC143C;
  width: fit-content;
  color:#FFF;
  display: inline-block;
  padding:1em 1.5em;
  border-radius:50%;
  font-weight: bold;
  font-size:12px;
  transform: rotate(-5deg);
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3); /* 影をつけてオシャレに */
}

.plan-premium .space span i{
  color:#FFF;
  font-size:14px;
}

.title {
    padding:15px 0;
    font-size: 1.2em;
    margin-bottom: 10px;
    width:100%;
    font-weight:700;
}

main .price {
    padding:10px 0;
    font-size: 2em;
    width:100%;
    padding-bottom:20px;
    font-weight: 700;
    letter-spacing: .1em;
    color:#FFF;
}

main .price span{
  margin-top:10px;
  display: block;
  text-align: center;
  font-size:16px;
  font-weight: 400;
    color:#FFF;
}

.signup{
  width:100%;
}

.plan .signup p,
.plan .signup button{
  display:flex;
  justify-content: center;
  align-items: center;
  height:40px;
  text-decoration: none;
  width:calc(100% - 60px);
  margin:0 auto;
  border-radius: 7px 7px 7px 7px;
  font-weight: 700;
}

.plan .signup button:hover{
  cursor: pointer;
}

.description{
  padding:20px;
    color:#FFF;

}

.plan-features {
    list-style: none;
    padding: 0;
    margin: 20px 0;
/*    text-align: left;*/
    width:calc(100% - 60px);
/*    background:var(--gray);*/
}

.plan-features li {
    font-size:14px;
    padding: 20px 0;
    border-top: 1px solid #FFF2;
    font-weight: 500;
    color:#FFF;
}

.plan-features li:last-child {
    border-bottom: 1px solid  #FFF2;
}

.plan-features .feature-icon {
    font-size: 1.2em;
    margin-top:10px;
    display: block;
    text-align: center;
    font-weight: 500;
}

.plan-features .feature-icon big{
    font-size: 1.7em;
    color:#FFF;
}

.check { color: #fff; }

.cross { color: #ffcccc; }

.plan-footer {
    margin-top: auto;
    padding: 20px 0 0;
    border-radius:0;
}


#menu_table .plan{
  position:relative;
}

#menu_table.pid1 .plan-basic:after{
  content:"ご利用中";
  position: absolute;
  top:-20px;
  right:20px;
  display:block;
  padding:10px 10px;
  border-radius:100%;
  background:red;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 2px 2px 5px #0005;
  border:3px solid #FFF;
}

#menu_table.pid2 .plan-standard:after{
  content:"ご利用中";
  position: absolute;
  top:-20px;
  right:20px;
  display:block;
  padding:10px 10px;
  border-radius:100%;
  background:red;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 2px 2px 5px #0005;
  border:3px solid #FFF;
}

#menu_table.pid3 .plan-premium:after{
  content:"ご利用中";
  position: absolute;
  top:-20px;
  right:20px;
  display:block;
  padding:10px 10px;
  border-radius:100%;
  background:red;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 2px 2px 5px #0005;
  border:3px solid #FFF;
}


#menu_table.pid1 .plan-basic button,
#menu_table.pid2 .plan-basic button,
#menu_table.pid2 .plan-standard button,
#menu_table.pid3 .plan-basic button,
#menu_table.pid3 .plan-standard button,
#menu_table.pid3 .plan-premium button{
    background:#ccc;
    pointer-events: none;
    border-color:#FFF;
}

#menu_table.pid1 .plan-basic,
#menu_table.pid1 .plan-basic *,
#menu_table.pid2 .plan-basic,
#menu_table.pid2 .plan-basic *,
#menu_table.pid2 .plan-standard,
#menu_table.pid2 .plan-standard *,
#menu_table.pid3 .plan-basic,
#menu_table.pid3 .plan-basic *,
#menu_table.pid3 .plan-standard,
#menu_table.pid3 .plan-standard *,
#menu_table.pid3 .plan-premium,
#menu_table.pid3 .plan-premium *{
  background:#999;
}


{
    background:#ccc;
    pointer-events: none;
}


#menu_table .plan:after{
  opacity:1.0;
}
