body{
    max-width: 1100px;
    margin: 0 auto;
}

h1{
    font-size: 1.6em;
    text-align: center;
}

h1 span{
    display: block;
    font-size: 16px;
    color: red;
    text-align: center;
}

h4{
    margin: 0 0.5em 0 0.5em;
}

h4.new:before{
  content: "NEW!";
  font-size: .75em;
  background: #FF9F80;
  color: #fff;
  padding: 3px 3px;
  margin-right: 5px;
  border-radius: 3px;
}

h4.ninki:before{
  content: "人気！";
  font-size: .75em;
  background: #FF9F80;
  color: #fff;
  padding: 3px 1px 3px 5px;
  margin-right: 5px;
  border-radius: 3px;
}

h4.osusume:before{
  content: "オススメ！";
  font-size: .75em;
  background: #FF9F80;
  color: #fff;
  padding: 3px 1px 3px 5px;
  margin-right: 5px;
  border-radius: 3px;
}

h4.kouhyou:before{
  content: "好評！";
  font-size: .75em;
  background: #FF9F80;
  color: #fff;
  padding: 3px 1px 3px 5px;
  margin-right: 5px;
  border-radius: 3px;
}

.osusume span{
    margin-left: 0.5rem;
    }

.apple_title{
    position: relative;
}

.apple_title img{
    width: 100%;
    }

.apple_title p {
    position: absolute;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 1.2em;
    top: 50%;
    left:50%;
    transform: translate(-50%,-50%);
    text-align: center;
    width: calc(1.2em * 12);
    border-radius: 30px;
}


.subnav{
	display: flex;
    justify-content: center;
	padding: 10px;
	font-size: 0.8em;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background: rgba(255,255,255,0.95);
    z-index: 999;
/*    margin: 10px 20px 10px 20px;*/
}

.subnav li:nth-child(-n + 3){
    margin-right: 20px;
}

.subnav a{
    color: #0026ac;
}

.news{
    margin: 30px 0 30px 0;
    border-radius: 10px;
    background: rgba(255,250,228,1);
    text-align: justify;
    font-feature-settings : "palt";
}

.news2{
    margin: 30px 0 30px 0;
    border-radius: 0px;
    background: linear-gradient(#080F20, #182645);
    text-align: justify;
    font-feature-settings : "palt";
}

.news h3{
    padding-top: 10px;
    text-align: center;
    color: red;
    font-size: 1.2rem;
}

.news2 h3{
    padding-top: 10px;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
}

.news h3 span, .news2 h3 span{
    display: block;
}

.news p{
    margin: 1.5rem 3rem;
    text-indent: 1em;
    line-height: 1.5rem;
    font-feature-settings : "pkna";
}

.news p:last-child{
    margin-bottom: 0rem;
}

.news2 p{
    margin: 1.5rem 3rem;
    text-indent: 1em;
    line-height: 1.5rem;
    color: #EBEBEB;
    font-feature-settings : "pkna";
}

.news2 p:last-child{
    margin-bottom: 0rem;
}

.news2 a{
    color: beige;
}

.news2 a:hover{
    color: skyblue;
}

#lesson{
    margin-top: -40px;
    padding-top: 40px;
}

#support{
    margin-top: -40px;
    padding-top: 40px;
}

#premium{
    margin-top: -40px;
    padding-top: 40px;
}

#contact{
    margin-top: -40px;
    padding-top: 40px;
}

.category p{
/*    font-size: 0.8em;*/
    margin: 10px 10px 10px 10px;
    text-align: justify;
    text-indent: 1rem;
    flex-shrink: 7;
}

.apple_list{
    display: flex;
    flex-flow: column;
    margin: 10px;
    font-size: 0.9em;
    } 

.apple_list li{
    list-style: disc;
    margin-left: 20px;
    font-size: 0.9em;
    text-align: justify;
    font-feature-settings : "palt";
    }

.apple_list li:last-child{
    display: none;
    }
    
.lead_text{
    font-size: 0.8em;
    margin: 20px 20px 0px 20px;
    padding-bottom: 10px;
    text-align: justify;
    font-feature-settings : "palt";

    }

.lead_text2{
    font-size: 0.8em;
    margin: 0px 20px 0px 20px;
    text-indent: 1em;
    text-align: justify;
    font-feature-settings : "palt";

    }

.lead a{
    color: deepskyblue;
}

.lead a:hover{
    color: #0026ac;
}

.hide-text{
    display: none;
}

.hide-text4{
    display: none;
}

.hide-text5{
    display: none;
}


button.readmore, button.readmore4, button.readmore5{
    position: relative;
    width: 90px;
    margin: 10px auto 0 auto;
    display: block;
    background-color: transparent;
    color: #666;
    padding-bottom: 40px;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
}

button.readmore5{
    color: #EBEBEB;
}
 
button.readmore::after, button.readmore4::after, button.readmore5::after{
    content: " ";
    position: absolute;
    width: 30px;
    height: 30px;
    border-top: solid 3px #666;
    border-right: solid 3px #666;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    right: 30px;
    top: 22px;
    transition: .5s;
    -erbkit-transition: .5s;
}

button.readmore5::after{
    border-top: solid 3px #EBEBEB;
    border-right: solid 3px #EBEBEB;
}
 
button.readmore:hover::after, button.readmore4:hover::after, button.readmore5:hover::after{
    top: 28px;
}

.readmore span, .readmore4 span, .readmore5 span{
    display: block;
}
 
.on-click {
    color: transparent!important;
}
 
.on-click {
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
}

.hide-text2 {
    display: none;
}

button.readmore2 {
    position: relative;
    width: 93px;
    margin: 10px auto 0 auto;
    display: block;
    background-color: transparent;
    color: #666;
    padding-bottom: 40px;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
}
 
button.readmore2::after {
    content: " ";
    position: absolute;
    width: 30px;
    height: 30px;
    border-top: solid 3px #666;
    border-right: solid 3px #666;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    right: 28px;
    top: 10px;
    transition: .5s;
    -erbkit-transition: .5s;
}
 
button.readmore2:hover::after {
    top: 20px;
}

.hide-text3 {
    display: none;
}

button.readmore3 {
    position: relative;
    width: 93px;
    margin: 10px auto 0 auto;
    display: block;
    background-color: transparent;
    color: #666;
    padding-bottom: 40px;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
}
 
button.readmore3::after {
    content: " ";
    position: absolute;
    width: 30px;
    height: 30px;
    border-top: solid 3px #666;
    border-right: solid 3px #666;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    right: 28px;
    top: 10px;
    transition: .5s;
    -erbkit-transition: .5s;
}
 
button.readmore3:hover::after {
    top: 20px;
}




.apple_lead{
    padding-top: 20px;
    color: gray;
    background-color: rgba(255,255,239,.8);
}

.apple_lead h1{
font-size: 1em;
}

.apple_lead head1{
    display: block;
    color: gray;
}

.sidebar_a{
/*    background-image: url('../images/apple.png');*/
/*    background-size: cover;*/
    padding: 20px;
    background-color: rgba(122,166,244,.8);
}

.lesson_title{
    color: #fff;
    background: #FFC0D0;
    padding-left: 0.5em;
    box-shadow: 0 0 3px #aaa;
}

 .category {
  display: flex;
  flex-flow: column;
  text-align: justify;
  font-feature-settings : "palt";
}

.category img{
    width: 100%;
}

.apple-item h1 a:hover {
transform: rotate(-5deg);
color: #7fffd4;
}
    
.apple-item p {
font-size: 0.9rem;
 padding: 10px;
text-align: justify;
}

.apple-item img {
width:100%;
max-width: 100%;
height: auto;
}

.monthly_reco h4{
  margin-top: 20px;
  padding-bottom: .5em;
  position: relative;
  padding: .25em 0 .5em .75em;
  border-left: 6px solid red;
}

.monthly_reco h4::after{
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #ccc;  
}

.monthly_reco span{
    display: block;
    font-size: 0.7rem;
    text-indent: -0.5rem;
}

.monthly_reco .lead{
    font-size: 0.8em;
    margin: 8px;
    text-indent: 1rem;
    text-align: justify;
}

.lesson_menu h4{
  margin-top: 20px;
  padding-bottom: .5em;
  position: relative;
  padding: .25em 0 .5em .75em;
  border-left: 6px solid pink; 
}

.lesson_menu h4::after{
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #ccc;  
}

.lesson_menu .lead{
    font-size: 0.8em;
    margin: 1em;
    text-align: justify;
    font-feature-settings: "palt";
}

.support_menu h4{
      margin-top: 20px;
  padding-bottom: .5em;
  position: relative;
  padding: .25em 0 .5em .75em;
  border-left: 6px solid limegreen; 
}

.support_menu h4::after{
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #ccc;  
}

.support_menu .lead{
    margin: 1em;
    text-indent: 1rem;
    text-align: justify;
}

.support_menu h5{
    font-size: 1.1em;
    margin: 0px 0px 0 10px;
}

.lesson_items{
    margin: 1em;
    text-align: justify;
    font-feature-settings : "palt";
}

.lesson_items h3{
    font-size: 1em;
}

.lessons li{
    font-size: 0.9em;
    list-style: disc;
    margin-left: 1.5em;
    text-align: justify;
    font-feature-settings : "palt";
}

.price{
display: flex;
position: relative;
background: #dfefff;
box-shadow: 0px 0px 0px 5px #dfefff;
border: dashed 2px white;
padding: 0.2em 0.5em;
color: #454545;
padding-left: 1em;
font-weight: bold;
font-size: 0.8em;
font-feature-settings : "palt";
margin-bottom: 0.5rem;
}

.price:after{
position: absolute;
content: '';
left: -7px;
top: -7px;
border-width: 0 0 15px 15px;
border-style: solid;
border-color: #fff #fff #a8d4ff;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.price_wrap{
    display: flex;
    justify-content: flex-end;
    margin: 1.5rem 0rem 0 0;
    }

.price li:first-child{
    margin-right: 10px;
}

.pm_price_wrap{
     display: flex;
     justify-content: flex-end;
    margin: 1rem 0.8rem;
    }


hr{
    border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    width: 90%;
    margin: 10px auto 10px auto;
}

.lesson_items p{
    margin-top: 10px;
    text-align: justify;
}



.caution{
    font-size: 0.8em;
    margin: 0px 0px 10px 0px;
    color: red;
    text-align: justify;
    font-feature-settings : "palt";
    padding-left: 0.6em;
    text-indent: -0.6em;
}

.support_title{
    color: #fff;
    background: #D4FCA9;
    padding-left: 0.5em;
    box-shadow: 0 0 3px #aaa;
}

.support_title h2{
    background-color: #D4FCA9;
/*    color: #00aced;*/
}

.menu_list {
 display: flex;
 flex-wrap: wrap;
 margin: 0px 10px 30px 10px;
}
.menu_list > li {
 width: 50%;
 font-size: 0.8em;
 background: #e6ff67;
 border: 0.1px solid white;
 box-sizing: border-box;
padding: 0.5rem 0 0.5rem 0.5rem;
}


.pricing p{
    border: solid 1px #ccc;
    padding: 10px;
    margin: 0px 10px 20px 10px;
    box-sizing: border-box;
    text-align: center;
    font-size: 0.8em;
    color: #777;
    
}

.price_sample{
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0px 10px 10px 10px;
    color: #777;
}

.price_sample h3{
    font-size: 1em;
    font-weight: 500;
    padding-bottom: 15px;
}

.price_sample .sample{
     border: 0.1px solid #ccc;
     box-sizing: border-box;
     flex: 1;
    margin-bottom: 20px;
}

.price_sample .sample:last-child{
    margin-bottom: 0;
}

.price_sample .sample li{
    display: flex;
    justify-content: space-between;
}

.price_sample .sample li:last-child{
    border-top: solid 1px #666;
}

.disclaimer li:before { content:"※" }

.remark{
    font-size: 0.8em;
    margin: 10px 0 10px 0;
    padding-left: 3.2em;
    text-indent: -3.2em;
    text-align: justify;
    font-feature-settings : "palt";
}

.remark:before {
    content:"■";
}

.remark a{
    color: deepskyblue;
}

.remark a:hover{
    color: #0026ac;
}

.bring{
    margin-top: 10px;
    font-size: 0.8em;
    padding-left: 7.3em;
    text-indent: -7.3em;
    text-align: justify;
    font-feature-settings : "palt";
}

.bring:before{
    content:"■";
}

.check{
    margin-top: 10px;
    font-size:0.8em;
    padding-left: 6.7em;
    text-indent: -6.7em;
    text-align: justify;
    font-feature-settings : "palt";

}

.check:before{
    content:"■";
}

.disclaimer li{
    font-size: 0.8em;
    margin: 10px;
    padding-left: 1.75em;
    text-indent: -1.75em;
    text-align: justify;
    font-feature-settings : "palt";

}

.disclaimer {
  counter-reset: number 0;           /* number のカウンタを 0 にセット */
  margin-bottom: 10px;
}

.disclaimer li:before {
  counter-increment: number 1;      /* number カウンタを増加 */
  content: "※" counter(number) ". ";      /* 表示形式を指定 */
}


.caution2{
    color: red;
    font-size:1em;
    margin: 10px 0 10px 0;
}

.premium_title{
    color: #fff;
    background: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
    padding-left: 0.5em;
    box-shadow: 0 0 3px #aaa;
}

.contact{
    display: flex;
    flex-flow: column;
    margin: 20px 0.5em 0px 0.5em;
}

h2.contact{
font-size: 1.2rem;
position: relative;
padding: 5px 0px 5px 10px;
border-left: 6px solid red;
}

h2.contact::after{
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #ccc;  
}


.contact_info{
    padding: 1em;
    text-align: justify;
    color: #666;
    background-color: lightyellow;
    text-indent: 1rem;
    text-align: justify;
    font-feature-settings : "palt";
/*    border: 5px solid #E7FBDB;*/
}

.contact_info li{
    font-size: 0.8em;
}

.contact_info a:link{
    color: deeppink;
}

.contact_info span{
    display: block;
}

.ads_multi{
    text-align: center;
}

.sq_display{
	margin: 2em 0 0.5em 0;
    text-align: center;
}

@media screen and (min-width : 768px) { /* デスクトップ用CSS */
    h1{
    font-size: 2.7em;
}

.apple_title p {
    font-size: 2em;
    }
    
.subnav{
    font-size: 1.5em;
    }
    
.subnav li:nth-child(-n + 3){
    margin-right: 50px;
}

#lesson{
    margin-top: -60px;
    padding-top: 60px;
}

#support{
    margin-top: -60px;
    padding-top: 60px;
}

#premium{
    margin-top: -60px;
    padding-top: 60px;
}

#contact{
    margin-top: -60px;
    padding-top: 60px;
}
    
#osupdate{
    margin-top: -60px;
    padding-top: 60px;  
}
    
    
.apple_list{
    flex-flow: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px auto 20px 5rem;
    } 

.apple_list li{
    width: 480px;
    font-size: 1.0em;
    }
    
.apple_list li:last-child{
    display: inline;
    }
    
 .category {
  flex-flow: row;
  box-shadow: 0 0 3px #aaa;
  align-items: center;
  position: relative;
     margin: 10px;
     
}   
     
    
.category img{
    width: 400px;    
    }
    
.monthly_reco span{
    display: inline;
        font-size: 1rem;
}

.monthly_reco .lead{
    font-size: 1em;
    margin: 1em;
    text-align: justify;
    font-feature-settings : "pkna";
}
    
.lead_text{
    font-size: 1.0em;
    margin: 0px 40px 0px 40px;
    }
    
.lead_text2{
    font-size: 1.0em;
    margin: 10px 40px 10px 40px;
    }
    
.lessons {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
    margin: 10px 1em 0 1em;
    }
    
.lessons li{
    width: calc(100%/3 - 70px);
    font-size: 1em;
    }

.lesson_menu .lead{
    font-size: 1em;
    text-indent: 1rem;
    text-align: justify;
    }
    
.bring{
    font-size:0.9em;
    text-align: justify;
    font-feature-settings : "palt";
}
.check{
    font-size:0.9em;
    margin-top: 0px;
    text-align: justify;
    font-feature-settings : "palt";
}
.caution{
    font-size:0.9em;
    text-align: justify;
    font-feature-settings : "palt";
    } 
.remark{
    font-size: 0.8em;
    }
    
.price{
    font-size:1em;
}
    
.menu_list > li {
 width: 25%;
}
    
    .pricing p{
        font-size: 1.4em;
        font-weight: 800;
    }    
    
.price_sample{
    flex-flow: row;
    }


    
.price_sample .sample{
    margin-right: 20px;
}
    
.price_sample .sample:last-child{
    margin-right: 0;
}

    .contact_info{
        font-size: 1.2em;
    }

.contact_info li span{
      display: inline;
}        
}

@media screen and (max-width : 768px) { /* スマホ用CSS */
    
    .lesson_menu span{
        display: block;
        font-size: 0.75em;
        margin-top: 0.2em;
    }
    .monthly_reco span{
        margin-top: 0.2rem;
    }
    
    .category p{
    font-size: 0.8em;
    }
    
    .apple_lead h1{
    margin: 0 1rem;
        
}
    .news h3, .news2 h3{
        font-size: 1rem;
        margin: 0 1rem;
    }
    
    .news p, .news2 p{
    margin: 1.5rem 1rem;
        font-size: 0.9rem;
    }

    button.readmore::after, button.readmore4::after, button.readmore5::after{
        top: 15px;
    }

    button.readmore2::after {
        top: 5px;
    }

    button.readmore3::after {
        top: 5px;
    }
    

}