@media screen and (max-width: 767px) {
  .content {
    width: 100%
  }
  
  .flex {
    display: block;
  }

  .flex-between {
    display: block;
  }

  .pc {
    display: none !important;
  }
  
  .sp {
    display: inline !important;
  }

/* FRONT PAGE
 * ----------------------------------------------- */

/*ヘッダー*/
  .header img {
    height: 50px;
    padding: 20px 0 0 40px;
    float: none;
    display:inline-block;
  }
  
/*グロナビ*/
/*ボタン*/

  .openbtn{
    float: right;
    position: relative;
    display: block;
    cursor: pointer;
    width: 30px;
    height: 30px;
    margin: 20px 10px 0 0;
    z-index: 9999;
  }

  .openbtn span{
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 2px;
    height: 2px;
    border-radius: 5px;
    background: #333;
    width: 25px;
  }

  .openbtn span:nth-of-type(1) {
    top:4px; 
  }

  .openbtn span:nth-of-type(2) {
    top:13px;
  }

  .openbtn span:nth-of-type(3) {
    top:22px;
  }

  /*activeクラスが付与されると線が回転して×に*/
  .openbtn.active span:nth-of-type(1) {
      top: 7px;
      left: 0;
      transform: translateY(6px) rotate(-315deg);
      width: 30px;
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3){
      top: 19px;
      left: 0;
      transform: translateY(-6px) rotate(315deg);
      width: 30px;
  }

/* アニメーション前のメニューの状態 */
  .menu{
    position: fixed;
    z-index: 999;
    top: -120%;
    width: 100%;
    height: auto;
    background: #C0C0C0;
    transition: all 0.6s;
  }

  .menu li {
    width: 100%; 
    height: auto;
    font-size: 120%;
  }
  
  .menu li a {
    width: 96%; 
    display: block;
    margin: 0 auto;
    padding: 15px 0 5px;
    border-bottom: dotted 2px #FFF;
  }
  
/* アニメーション後のメニューの状態 */
  .menu.is-active{
      top: 70px;
  }
  
  
/*MV*/
  .mv {
    height: auto;
    margin-bottom: 50px;
  }
  
  .mv h1{
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
    font-size: 150%;
    width: 65%;/*タイトルの長さによって変更*/
  }
  
/*スライド*/
/*  .slide {
    margin-bottom: 50px;
  }
  
  .slider img {
    width:60vw;
  }
  
 /*TOP NEWS*/
/*  .news_list {
    width: 96%;
  }

  .news_list li {
    width: 48.5%;
  }

  .news_list li .news_thumbnail img {
    height: 120px;
  }*/

/*TOP ITEM*/

  .top_item {
    height: auto;
    position: static;
    margin: 0 auto 80px;
  }

  .top_item h2 {
    font-size: 250%;
    position: static;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding: 10px;
  }

  .top_item .top_item_img {
    width: 100%;
    position: static;
    top: 0;
    left: 0;
    right: 0;
    margin-bottom: 20px;
  }

  .top_item .top_item_img img {
    height: 220px;
  }

  .top_item .top_item_text {
    width: 90%;
    position: static;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  .top_item .top_item_text p {
    font-size: 100%;
    line-height: 1.8em;
    margin-bottom: 20px;
  }
  
  .top_item .top_item_text p:last-of-type {
    margin-bottom: 0;
  }

	 .viewmore{
		 width: 100%;
		 font-size: 120%;
		 text-align: center;
		}
  
  .img_design:before {
    border-top: 20px solid #FFF;
    border-right: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #FFF;
  }

  .img_design:after {
    border-top: 20px solid transparent;
    border-right: 20px solid #FFF;
    border-bottom: 20px solid #FFF;
    border-left: 20px solid transparent;
  }

/* フッター
* ----------------------------------------------- */

  footer{
    height: 130px;
    text-align: center;
  }
  
  footer .copyright{
    width: 100%;
    float: none;
    display:inline-block;
    padding: 20px 0 0;
  }
  
  footer .sns-button{
    float: none;
    display:inline-block;
    margin: 20px 0 0 0; 
  }
  
  #page_top {
    right: 10px;
    bottom: 10px;
  }

/* NEWS ITEM
 * ----------------------------------------------- */

/*.news_item .news_mv {
  width: 90%;
  margin: 30px auto;
}*/


/* PAGES
 * ----------------------------------------------- */
  
  /*PAGE*/
    
  .title {
    padding-top: 500px;
  }

  .title h1 {
    top: 70%;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    margin: auto;
  }
  
  /*PAGE ITEM*/
  .lead {
    margin: 50px 0;
  }

  .lead p {
    font-size: 100%;
  }
  
  .cv_bottun {
    width: 90%;
    font-size: 120%;
    margin: 0 auto 50px;
  }

  .cv_bottun a {
    padding: 30px 20px;
  } 

  .access .access_box {
    width: 100%;
    display: block;
  }
  
  .access .access_box .address {
    width: 100%;
    padding: 20px;
  }
  
  .access .access_box .address h2 {
    font-size: 150%;
  }
	
	.access .access_box .address h2 span{
		font-size: 60%;
	}

  .access .access_box .map {
	  width: 100%;
    height: 500px;
  }

	.access .access_box iframe {
		height: 500px;
	}

  .item1, .item2 {
    width: 96%;
    height: auto;
    position: static;
    margin: 0 auto 50px;
    padding-bottom: 30px;
  }

  .item1 h2, .item2 h2 {
    font-size: 150%;
    position: static;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding: 20px;
  }

  .item1 .item_img, .item2 .item_img {
    width: 100%;
    position: static;
    top: 0;
    left: 0;
    right: 0;
    margin-bottom: 20px;
  }

  .item1 .item_img img, .item2 .item_img img {
    height: 220px;
  }

  .item1 .item_text, .item2 .item_text {
    width: 90%;
    position: static;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

  .item1 .item_text p, .item2 .item_text p {
    font-size: 100%;
    line-height: 1.8em;
    margin-bottom: 20px;
  }
  
  .item1 .item_text p:last-of-type, .item2 .item_text p:last-of-type {
    margin-bottom: 0;
  }
  
 
/*PAGE ITEM LIST*/
  
  .item_list {
    width: 100%;
    text-align: center;
    margin: 0 auto 50px;
  }

  .item_list li {
    width: 90%;
    margin-bottom: 30px;
  }

  .item_list li .item_thumbnail img {
    height: 250px;
  }
  
  .item_list li .item_info p {
    margin: 5px 15px 15px 15px;
  }
  
/*Profile*/
  .profile .profimage {
    width: 90%;
    margin: 50px auto;
  }
  
  .profile .proftxt {
    width: 96%;
    margin: 0 auto 50px;
  }
  
  .profile .proftxt h2 {
    margin-bottom: 30px;
  }
  
  .profile .profmenu ul {
    width: 96%;
    margin: 0 auto 80px;
    display: block;
  }
  
  .profile .profmenu ul li {
    margin: 0 0 10px;
  }
  
  .profile .profmenu ul li a {
    padding: 50px 30px;
  }
  
  /*Session*/
  .session .about {
    height: auto;
  }

  .session .about .item_img img{
    height: 200px;
  }
  
  .session .question {
    margin: 50px auto;
  }

  .session .question h2 {
    font-size: 150%;
    margin-bottom: 30px;
  }

  .session .question .question_ul {
    display: block;
    width: 90%;
  }

  .session .question .question_ul ul {
    width: 100%;
  }
  
  .session .effect {
    margin: 50px auto;
    width: 96%;
    height: auto;
    padding: 20px;
  }

  .session .effect h2 {
    font-size: 150%;
    margin-bottom: 30px;
  }
  
  .session .effect h3 {
    font-size: 120%;
    text-align: center;
  }
  
  .session .effect_list {
    display: block;
  }

  .session .effect .effect_list ul {
    width: 100%;
  }
  
  .session .effect .effect_list img {
    width: 100%;
  }
  
  .session .flow {
    margin: 0 auto 50px;
    width: 96%;
    padding: 20px 10px 40px;
  }
  
  .session .flow h2 {
    font-size: 150%;
    margin-bottom: 30px;
  }
  
  .session .flow .step .step_number {
    width: 80px;
    padding: 100px 10px 10px;
  }
  
  .session .flow .step div.step_number:before {
  border-width: 20px 35px 0 35px;
}
  
  .session .flow .step .step_guide {
    padding: 20px;
    display: block;
  }
  
  .session .flow .step .step_guide ul {
    width: 100%;
  }
  
  .session .flow .step .step_guide img {
    width: 100%;
  }
  
  .session .course h2 {
    font-size: 150%;
    margin-bottom: 30px;
  }

  .session .course .table {
    width: 90%;
    margin: 0 auto 50px;
    display: block;
  }

  .session .course .table_cell {
    width: 100%;
    display: block;
    margin-bottom: 30px;
  }
  
  .session .course .table_cell:last-child {
    margin-bottom: 0;
  }
  
  .session .course .table_cell h3 {
    font-size: 140%;
  }
  
  .session .course .table_cell p {
    font-size: 130%;
  }
  .session .course .table_cell p span {
    font-size: 90%;
  }
	
/*Stone*/
.stone h2 {
  font-size: 150%;
  margin-bottom: 30px;
}
.stone .flow {
	width: 96%;
	margin: 0 auto 50px;
}

.stone .flow .step {
	width: 100%;
	margin: 30px auto 0;
}

.stone .flow .step .step_number {
	padding: 10px 15px;
}
	
.stone .flow .step .step_guide {
  padding: 20px 15px;
}
  
}