@media screen and (max-width: 820px) {

body{
    position:relative;
}

.hero {
  background-size: cover;
}

.container {
  padding: 0 0;
}

.footer .container {
  padding: 0 15px;
}

.row {
  padding: 0 15px;
}

/*.block1 {
  background:#fff;
}

.block1{
	background:none;
   clip-path: inset(0);
}

.block1::before{
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    width:100vw;
    height:100vh;
    background-image: url('../images/block2-bg.jpg');
    -webkit-background-size:cover;
    background-size:cover;
    content:"";
}*/

  a {
    word-break: break-all;
  }

  h2 {
    text-align: center;
    font-weight: bold;
    font-size: 1.75em;
  }

  h3 {
    text-align: center;
    font-weight: bold;
    font-size: 1.6em;
  }

  img {
    /*width: 90%;*/
    margin-left: auto !important;
    margin-right: auto !important;
    height: auto !important;
    display: block !important;
    /*margin-bottom: 15px !important;*/
    float: none !important;
  }

  img.prof.align-l {
    margin-left: initial !important;
    margin-right: initial !important;
    margin-bottom: 0 !important;
  }

  img.prof{
  	width: auto;
    margin-left: initial !important;
    margin-right: initial !important;
  }

  img.u-max-full-width {
    width: auto;
    max-width: 100% !important;
  }

  img.img-float-r {
    max-width: 50%;
  }

  img.nores {
    width: auto !important;
  }

  .nopc {
    display: block;
  }

  .nosp {
    display: none !important;
  }

  img.mb0 {
    margin-bottom: 0px !important;
  }

	.btn_end {
		position: fixed;
	    bottom: 10px;
		/*right: 10px;*/
		right: initial;
	    width: 100%;
	    margin: 0 auto;
		padding: 0 10px 0;
	}
  .ttl-wrap{
    padding: 1.5em 0;
  }
  .ttl-wrap img{
    margin-bottom: 0!important;
  }
  .container.ttl_arrow {
    background: url(../images/ttl_btm.png) no-repeat center top;
    padding-top: 2.5em;
    background-size: 50%;
}
.tq-box h4{
  font-size: 30px;
}
.block-form input[type="mail"] {
  width: 100%;
  border-radius: 10px;
  background-image: none;
  background-color: #fff;
  border: 1px solid #ccc;
}
.f30{
  font-size: 1.5em;
}
.program-wrap{
  padding: 1em 1em 3em;
}
.voice-wrap{
  width: 100%;
  margin: 0 auto;
}

.photo{
	margin-right: auto;
}

.photo01 img {
	max-width: 85%;
}
.photo02 img{
	max-width: 85%;
}

}

@media screen and (max-width: 640px) {
}

@media screen and (max-width: 480px) {

  p{
    font-size: 1.5rem;
  }

.hero {
  background-size: cover;
  padding: 10px 0 10px;
}

.black-trbg{
	padding: 1em;
}

.voice-box{
	padding: 1em;
}

.black-trbg2{
	padding: 1em;
}
.block2 table.table tr th:first-child{
  padding: 3px;
}
.block2 table.table td,.block2 table.table th{
  padding: 5px;
  font-size: 0.85em;
}
.section.block6,
.section.block9{
  padding-top: 0;
}

  body {
    font-size: 1.5rem;
  }

	h2 {
	  font-size: 2.1rem;
	}

	h2.ttl {
		padding: 3rem 1rem;
		/*border-top: 4px solid;
	  border-bottom: 4px solid;
	  border-image: linear-gradient(to right, #d6af57, #fbf8cf, #d6af57, #e8ddcb) 1;*/
	}


  h3 {
    font-size: 1.2em;
  }

  img {
    /*width: 90%;*/
    margin-left: auto !important;
    margin-right: auto !important;
    height: auto !important;
    display: block !important;
    /*margin-bottom: 15px !important;*/
    float: none !important;
  }

  img.u-max-full-width {
    width: auto;
    max-width: 100% !important;
  }

  img.u-max-70p-width {
    max-width: 70% !important;
  }
  img.u-max-50p-width {
    max-width: 50% !important;
  }
  img.u-max-30p-width {
    max-width: 30% !important;
  }

  img.mb0 {
    margin-bottom: 0px !important;
  }

  .mincho30 {
    font-size: 125% !important;
  }

  .mincho24 {
    font-size: 115% !important;
  }

  .f20 {
    font-size: 110% !important;
  }

  .f24,.fb24,.prof-wrap .name,.voice-box .midashi,.voice-box .name {
    font-size: 115% !important;
  }

  .fb30,.tq-box h4,.f30 {
    font-size: 110% !important;
  }

  h4 {
    font-size: 1.2em;
  }


  ul#ico li {
    font-size: 1.7rem;
    background-size: 1.7em;
    padding-left: 30px;
    background-position: left top 5px;
  }

	.check2{
		padding: 1em;
	}

  ul#ico2 li {
    font-size: 1.7rem;
  }

  .midashi {
    font-size: 150%;
  }

  img.prof{
  	width: 100%;
    margin-left: initial !important;
    margin-right: initial !important;
  }

  .detail table.tb01 td, .detail table.tb01 th,
  .detail table.tb02 td, .detail table.tb02 th {
    font-size: 0.85em;
    padding: 1rem;
  }
.detail table.tb02 th{
  white-space: nowrap;
}

	.section.footer{
		padding-bottom: 120px !important;
	}
  .block-form input[type="mail"]{
    font-size: 18px;
    height: auto;
  }

}
