*{
    box-sizing: border-box;
  }
    
  html{
    scroll-behavior: smooth;
  }
    
  a {
    text-decoration: none;
    color: inherit;
  }
    
  body{
    margin: 0;
  }

  @media(min-width:500px) and (max-width:770px){

    .camp-1-a br{
      display: none;
    }

  }
    
    
  @media(max-width:770px){
  
    header{
      width: 100%;
      height: 80px;
      position: fixed;
      top: 0;
      z-index: 100;
      background-color: rgb(74, 123, 1);
    }
  
  
  
    .header-flex{
      display: flex;
      justify-content: space-between;
    }
  
    .header-left{
      height: 80px;
      
    }
  
    .header-logo{
      height: 80px;
      color: white;
      font-family: 'Kaisei HarunoUmi', serif;
      display: flex;
    }
  
    .header-name{
      display: inline-block;
      line-height: 80px;
      height: 80px;
      font-size: min(6vw,30px);
      margin-left: min(2vw,21px);
      margin-right: 2px;
      white-space: nowrap;
    }
  
    .header-name p{
      display: inline;
      vertical-align: baseline;
    }
  
    .logo-image-sp{
      height: 80px;
      line-height: 75px;
    }
  
    .logo-image-sp img{
      height: min(6vw,30px);
      width: min(6vw,30px);
      vertical-align:middle;
    }
  
    .logo-image{
      display: none;
    }
  
    .header-menu-left{
      display: none;    
    }
  
    .header-right{
      height: 80px;
         
    }
  
    .header-contact{
      display: flex;
      height: 80px;
      line-height: 80px;
      padding-left: 10px;
    }
  
    .header-btn{
      display: none;
    }
  
    .menu-trigger,
    .menu-trigger span {
      display: inline-block;
      transition: all .4s;
      
    }
    .menu-trigger {
      position: relative;
      top:-2px;
      width: min(70vw,40px);
      height:  min(70vw,40px);
      background: none;
      appearance: none;
      cursor: pointer;  
      border:none;
      margin-top: 28px;
    }
    .menu-trigger span {
      position: absolute;
      left: 0;
      width: 70%;
      height: 4px;
      border-radius: 2px;
      background-color: white;
      
    }
    .menu-trigger span:nth-of-type(1) {
      top: 1px;
    }
    .menu-trigger span:nth-of-type(2) {
      top: 11px;
    }
    .menu-trigger span:nth-of-type(3) {
      top: 21px;
    }
    
    .menu-trigger.active span:nth-of-type(1) {
        transform: translateY(10px) rotate(-45deg);
      }
    .menu-trigger.active span:nth-of-type(2) {
      opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
            
      transform: translateY(-10px) rotate(45deg);
    }
    
    #header-sp-modal{
      display: none;
      position:fixed;
      top:0;
      right:0;
      bottom: 0;
      left:0;
      background-color: white;
      z-index: 100;
      margin-top: 80px;
      width:100%;
      height: 560px;
    }
  
    .header-icon-sp img{
      height: min(6vw,30px);
      width: min(6vw,30px);
      vertical-align: middle;
    }
  
    .sp-modal-tr ul{
      margin: 0;
      padding: 0;
    }
    
    .sp-modal-tr li{
      font-size: 20px;
      font-weight: lighter;
      list-style:none;
      font-family: sans-serif;
      line-height: 60px;
      border-bottom:1px solid #dee7ec ;
      margin:0 40px;
      display: block;
      padding-left: 20px;
    }
  
    .sp-modal-tr span{
      position: relative;
    }
  
    .sp-modal-tr span:hover{
      color: rgb(248,179,3);
    }
  
    .sp-modal-tr span::after{
      content: "";
      position: absolute;
      left: 50%;
      bottom: -5px;
      transform: translateX(-50%);
      width: 0%;
      height: 2px;
      background-color: #00a764;
      transition: all 0.5s;
    }  
    
    .sp-modal-tr span:hover::after{
      width: 110%;
    }
    
    #sp-modal-tr-top{
      border-top: 1px solid #dee7ec  ;
      margin-top: 50px;
    }
    
    #header-sp-modal p {
      text-align: center;
      font-size:15px;
    }
  
    .sp-modal-td ul{
      margin: 0;
      padding: 0;
    }
  
    .sp-modal-td{
      margin: 0 auto;
      max-width: 600px;
      width: 90vw;
    }
  
    .sp-modal-td li{
      max-width: 200px;
      width: 30vw;
      font-size: 12px;
      list-style:none;
      font-family: sans-serif;
      line-height: 40px;
      border-left:1px solid #dee7ec ;
      border-right:1px solid #dee7ec ;
      text-align: center;
      margin: 0 auto;
      margin-top: 50px;
      float: left;
      justify-content: center;
    }
  
    .sp-modal-td li:hover{
      color: rgb(248,179,3);
    }
    
    
  
    .select-title-sp{
      font-size: 16px;
      margin-top: 30px;
    }
  
    .select-title-sp span{
      color: #d2dce2;
    }
  
    .select-contents-sp{
      display: flex;
      justify-content: center;
      margin-top: 20px;
    }
  
    .select-sp{
      width: 30%;
      height: 70px;
      border-radius: 10px;
      margin: 0 auto;
      font-size: 15px;
      text-align: center;
      line-height: 70px;
      font-family: 'Kiwi Maru', serif;
      color: black;
    }
  
    .select-sp p{
      display: inline;
      vertical-align: top;
    }
  
    *,
    *:before,
    *:after {
      -webkit-box-sizing: inherit;
      box-sizing: inherit;
    }
    
    html {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
    }
    
    .btn,
    a.btn,
    button.btn {
      
      font-family: 'Kiwi Maru', serif;
      line-height: 1.5;
      position: relative;
      display: inline-block;
      padding: 1rem 0;
      cursor: pointer;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      text-align: center;
      vertical-align: middle;
      text-decoration: none;
      letter-spacing: 0.1em;
      color: black;
      border-radius: 0.5rem;
    }
  
    a.btn--yellow-sp {
      width: 100%;
      height: 100%;
      background-color: lemonchiffon;
      border-bottom: 5px solid rgb(227, 221, 167);
      font-size: 20px;
      padding: 15px 15px;
    }
  
    a.btn--yellow-sp:hover {
      margin-top: 3px;
      background: rgb(254, 250, 211);
      border-bottom: 2px solid rgb(227, 221, 167);
    }
  
    a.btn--green-sp {
      width: 100%;
      height: 100%;
      background-color: rgb(213, 255, 205);
      border-bottom: 5px solid rgb(163, 206, 154);
      font-size: 20px;
      padding: 15px 15px
    }
  
    a.btn--green-sp:hover {
      margin-top: 3px;
      background: rgb(220, 253, 214);
      border-bottom: 2px solid rgb(163, 206, 154);
    }
  
    a.btn--blue-sp {
      width: 100%;
      height: 100%;
      background-color: lightcyan;
      border-bottom: 5px solid rgb(169, 214, 214);
      font-size: 20px;
      padding: 15px 15px
    }
  
    a.btn--blue-sp:hover {
      margin-top: 3px;
      background: rgb(221, 252, 252);
      border-bottom: 2px solid rgb(169, 214, 214);
    }
  
    a.btn--shadow {
      -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
      box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
    }
  
    .header-icon-sp{
      height: min(8vw,40px);
      width: min(8vw,40px);
      line-height: min(8vw,40px);
      margin-right: min(2vw,10px);
      background-color: white;
      border-radius: min(4vw,20px);
      text-align: center;
      display: inline-block;
      vertical-align: middle;
    }
  
    .header-icon-sp:hover{
      background-color: rgb(236, 236, 236);
    }
  
    .header-icon{
      display: none;
    }
  
    .header-menu-right{
      display: none;
    }
  
    .fixed_btn{
        display: none;
    }

    .top-banner-cp{
        display: none;
    }

    .top-banner-cp-mid{
      display: none;
    }

    .top-banner-cp-sp{
      margin-top: 80px;
      width: 100%;
      height: auto;
    }

    .top-banner-cp-sp img{
      width: 100%;
      height: 100%;
    }


    .campeign{
        width: 100%;
        height: auto;
    }

    .camp-content-1{
        max-width: 600px;
        width: 95%;
        margin: 0 auto;
        height: 100px;
        border-top: solid 3px rgb(248, 232, 3);
        border-bottom: solid 3px rgb(248, 232, 3);
        margin-top: 20px;
        
        background-color: rgb(255, 251, 221);
        padding-top: 5px;
        text-align: center;
    }

    .camp-big{
        display: flex;
        max-width: 370px;
        width: 100%;
        min-width: 320px;
        margin: 0 auto;
    }

    .camp-big-1{
      display: flex;
      max-width: 450px;
      width: 100%;
      min-width: 320px;
      margin: 0 auto;
  }
    

    .camp-logo{
        width: 80px;
        height: 80px;
        margin-top: 3px;
    }

    .camp-logo img {
        height: 100%;
        width: 100%;
    }

    .camp-2{
        height: 80px;
        background-color: rgb(255, 251, 221);
        font-size: 21px;
        text-align: center;
        letter-spacing: 7px;
        display: flex;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        margin-left: min(5.5vw,30px);
    }   

    .camp-2-a  {
        margin-top: 10px;
        height: 30px;
        line-height: 30px;
        white-space: nowrap;

    }

    .camp-2-a p{
        display: inline;
        vertical-align: middle;
    }

    .camp-2-b  {
        margin-bottom: 10px;
        height: 30px;
        line-height: 30px;
        letter-spacing: min(0.98vw,4px);
        font-size: clamp(16px,4.44vw,20px);
        white-space: nowrap;
    }

    .camp-2-b p{
        display: inline;
        vertical-align: middle;
    }

    .camp-2-c{
        height: 0;
        width: 0;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left:25px solid rgb(248, 179, 3);
        margin-left: min(4.88vw,20px);
        margin-top: 45px;
        
    }

    .camp-2 img{
        max-width: 90px;
        max-height: 90px;
        width: 22.5vw;
        height: 22.5vw;
        margin-left: 10px;
    }

    .camp-content{
        max-width: 600px;
        width: 95%;
        margin: 0 auto;
        height: 100px;
        border-top: solid 3px rgb(248, 232, 3);
        border-bottom: solid 3px rgb(248, 232, 3);
        margin-top: 20px;
        background-color: rgb(255, 251, 221);
        padding-top: 5px;
        text-align: center;
        display: flex;
    }

    .camp-logo-1{
        width: 80px;
        height: 80px;
        margin-top: 3px;
    }

    .camp-logo-1 img {
        height: 100%;
        width: 100%;
    }

    .camp-1{
        height: 95px;
        
    }

    .camp-1-a{
        font-size: 14px;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        height: 40px;
        line-height: 20px;
        white-space: nowrap;
    }

    .camp-1-a p{
        display: inline;
        vertical-align: middle;
    }

    .camp-1-b{
        max-width: 360px;
        width: 65vw;
        font-size: clamp(24px,7vw,35px);
        text-align: center;
        letter-spacing: 7px;
        font-weight: bold;
        height: 65px;
        line-height: 65px;
    }

    .camp-1-b p{
        display: inline;
        vertical-align: top;
    }

    .camp-lesson{
        width: 100%;
        margin: 0 auto;
        margin-top: 40px;
    }

    .lesson-content{
        max-width: 468px;
        width: 95vw;
        margin: 0 auto;
        height: 150px;
        text-align: center;
        margin-bottom: 40px;
    }

    .camp-z-flex{
        display: flex;
    }

    .price-arrow{
        height: 0;
        width: 0;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left:25px solid rgb(253, 212, 107);
        margin-left: 20px;
        margin-top: 60px;
    }

    .price-color{
        border-radius: 10px;
        border: solid 6px rgb(179, 255, 255);
        position: relative;
    }

    .price-a{
        position: absolute;
        top: 0;
        left: 30px;
        font-size: 24px;
        font-family: 'Kiwi Maru', serif;
        letter-spacing: 4px;
        height: 60px;
        line-height: 60px;
        transform: translateY(-60%);
        background-color: white;
        padding: 0 20px;
    }

    .price-a p{
        display: inline;
        vertical-align: top;
    }

    .price-b{
        margin-left: min(4vw,20px);
        margin-top: 40px;
        font-size: min(4.88vw,21px);
        border-bottom: solid 2px rgb(253, 212, 107);
        height: min(8.14vw,35px);
        padding-left: min(3.49vw,15px) ;
        padding-right: min(3.49vw,15px) ;
        white-space: nowrap;
    }

    .price-c{
        font-size: min(11vw,50px);
        color: rgb(248, 158, 3);
        height: 105px;
        line-height: 105px;
        margin-left: min(4vw,20px);
        margin-top: 20px;
    }

    .price-c p{
        display: inline;
        vertical-align: middle;
    }



    .info{
      margin-top: 30px;
      height: auto;
    }
  
    .info-title{
      width: 100%;
      font-size: 25px;
      font-family: 'Kiwi Maru', serif;
      text-align: center;
    }
  
    .info-title p{
      border-bottom: solid 1px rgb(248, 179, 3);
      display: inline;
      padding: 0 10px;
    }
  
    .info-content table{
      width: 85%;
      margin: 0 auto;
      margin-top: 50px;
    }
    
    .info-content td:first-child{
      font-size: 16px;
      border-bottom: solid 1.5px rgb(74, 114, 14);
      width:100px ;
      padding-left: 0;
      text-align: center;
    }
    
    .info-content tr{
      height:85px;
    }
    
    .info-content td{
      border-bottom: solid 1.5px #a6a7a8;
      padding-left: 40px;
      white-space: nowrap;
    }
    
    .info-content tr:first-child{
      vertical-align: middle;
    }
  
    .info-contact{
      border: solid 1px #00a764;
      width: 300px;
      border-radius: 5px;
      text-align: center;
      margin: 70px auto 40px auto;
      cursor: pointer;
    }
  
    .info-contact:hover{
      background-color:#00a764;
      color: white;
      transition: all .5s ;
    }
  
  
  
    .info-graph{
      display: flex;
      flex-direction: column-reverse;
    }
  
    .info-photo{
      width: 100%;
      height: 280px;
      background-color: rgb(74, 123, 1);
    }
  
    .info-photo-bg{
      width: 100%;
      max-width: 570px;
      height: 280px;
      margin: 0 auto;
    }
  
    .info-photo-bg img{
      width: 100%;
      height: 100%;
    }
  
    .graph-background{
      width: 100%;
      height: 25px;
      background-color: rgb(74, 123, 1);
    }
  
    .info-map{
      width: 100%;
      height: 280px;
      margin-bottom: 50px;
    }
  
    .info-map iframe{
      width: 100%;
      height: 100%;
    }
  
    footer{
      height: 65px;
      width: 100%;
      background-color: rgb(74, 123, 1);
      position: relative;
    }
  
    .foot-first{
      display: flex;
      margin:0 auto;
      justify-content: center;
    }
  
    .foot-title{
      font-size: 23px;
      color: white;
      height: 55px;
      line-height: 50px;
      margin-right: 10px;
    }
  
    .foot-title p{
      display: inline;
      vertical-align: middle;
     
      font-family: 'Kaisei HarunoUmi', serif;
    }
  
    .foot-logo {
      height: 55px;
      width: 25px;
      line-height: 50px;
    }
  
    .foot-logo img{
      width: 100%;
      height: 25px;
      display: inline;
      vertical-align: middle;
      margin-top: 4px;
    }
  
    .foot-last{
      color: white;
      font-size: 12px;
      
      height: 15px;
      position: absolute;
      top: 25px;
      right: 5px;
    }
  
}
    

@media (min-width:771px) and (max-width:999px) {
    
    .top-banner-cp{
        display: none;
    }

    .top-banner-cp-sp{
      display: none;
    }

    .top-banner-cp-mid{
      margin-top: 80px;
      width: 100%;
      height: auto;
    }

    .top-banner-cp-mid img{
      width: 100%;
      height: 100%;
    }

    .campeign{
        width: 100%;
        height: auto;
    }

    .camp-content-1{
        max-width: 600px;
        width: 95%;
        margin: 0 auto;
        height: 100px;
        border-top: solid 3px rgb(248, 232, 3);
        border-bottom: solid 3px rgb(248, 232, 3);
        margin-top: 20px;
        
        background-color: rgb(255, 251, 221);
        padding-top: 5px;
        text-align: center;
    }

    .camp-big{
        display: flex;
        width: 490px;
        margin: 0 auto;
    }

    .camp-big-1{
      display: flex;
      width: 490px;
      margin: 0 auto;
  }

    .camp-logo{
        width: 80px;
        height: 80px;
        margin-left:30px;
        margin-top: 3px;
    }

    .camp-logo img {
        height: 100%;
        width: 100%;
    }

    .camp-2{
        height: 80px;
        background-color: rgb(255, 251, 221);
        font-size: 21px;
        text-align: center;
        letter-spacing: 7px;
        display: flex;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        margin-left: 30px;
    }   

    .camp-2-a  {
        margin-top: 10px;
        height: 30px;
        line-height: 30px;
    }

    .camp-2-a p{
        display: inline;
        vertical-align: middle;
    }

    .camp-2-b  {
        margin-bottom: 10px;
        height: 30px;
        line-height: 30px;
        letter-spacing: 4px;
    }

    .camp-2-b p{
        display: inline;
        vertical-align: middle;
    }

    .camp-2-c{
        height: 0;
        width: 0;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left:25px solid rgb(248, 179, 3);
        margin-left: 20px;
        margin-top: 45px;
        
    }

    .camp-2 img{
        width: 90px;
        height: 90px;
        margin-left: 10px;
    }

    .camp-content{
        max-width: 600px;
        width: 95%;
        margin: 0 auto;
        height: 100px;
        border-top: solid 3px rgb(248, 232, 3);
        border-bottom: solid 3px rgb(248, 232, 3);
        margin-top: 20px;
        background-color: rgb(255, 251, 221);
        padding-top: 5px;
        text-align: center;
        display: flex;
    }

    .camp-logo-1{
        width: 80px;
        height: 80px;
        margin-left:30px;
        margin-top: 3px;
    }

    .camp-logo-1 img {
        height: 100%;
        width: 100%;
    }

    .camp-1{
        height: 95px;
        
    }

    .camp-1-a{
        font-size: 14px;
        font-family: 'Zen Kaku Gothic New', sans-serif;
        height: 25px;
        line-height: 25px;
    }

    .camp-1-a br{
      display: none;
    }

    .camp-1-a p{
        display: inline;
        vertical-align: middle;
    }

    .camp-1-b{
        
        font-size: 35px;
        text-align: center;
        letter-spacing: 7px;
        font-weight: bold;
        height: 65px;
        line-height: 65px;
    }

    .camp-1-b p{
        display: inline;
        vertical-align: top;
    }

    .camp-lesson{
        width: 100%;
        margin: 0 auto;
        margin-top: 40px;
    }

    .lesson-content{
        width: 468px;
        margin: 0 auto;
        height: 150px;
        text-align: center;
        margin-bottom: 40px;
    }

    .camp-z-flex{
        display: flex;
    }

    .price-arrow{
        height: 0;
        width: 0;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left:25px solid rgb(253, 212, 107);
        margin-left: 20px;
        margin-top: 60px;
    }

    .price-color{
        border-radius: 10px;
        border: solid 6px rgb(179, 255, 255);
        position: relative;
    }

    .price-a{
        position: absolute;
        top: 0;
        left: 30px;
        font-size: 24px;
        font-family: 'Kiwi Maru', serif;
        letter-spacing: 4px;
        height: 60px;
        line-height: 60px;
        transform: translateY(-60%);
        background-color: white;
        padding: 0 20px;
    }

    .price-a p{
        display: inline;
        vertical-align: top;
    }

    .price-b{
        margin-left: 20px;
        margin-top: 40px;
        font-size: 21px;
        border-bottom: solid 2px rgb(253, 212, 107);
        height: 35px;
        padding: 0 15px;
    }

    .price-c{
        font-family: 'Rampart One', cursive;
        font-size: 50px;
        color: rgb(248, 158, 3);
        height: 80px;
        line-height: 80px;
        margin-left: 20px;
        margin-top: 20px;
    }

    .price-c p{
        display: inline;
        vertical-align: middle;
    }
}
    
    
    
    
    