@media screen and (max-width: 840px) {
  .fix_btn {
    bottom: 80px;   /* 好きな位置に調整 */
  }
.for_pc{
	display: none;		
}
  .for_tab{
	display: inherit;		
}
  .for_sp{
	display: none;		
}
body {
  margin: 50px 0px 0px;
  min-width: 100%;
  background-image: none;
  }
    .wrapper{
    overflow: hidden;
  }
  
/* header
-------------------------------------------------------------- */
header {
	height: 50px;
  top: 0;
  z-index: 10;
  box-shadow: 0px 0px 20px #00000022;
}
header .inner {
}
.header_top{
  height: 50px;
  margin: 0px;
  padding: 0px;
  position: relative;
  display: flex;
  align-items: center;
}
.nswlogo {
  text-align: left;
  margin-left: 10px;
  width: 50px;
	float: left;
}
.nswlogo img{
	margin-top: 0px;
  display: flex;
  align-items: center;
}
.logo {
  font-size: 1.8vw;
	float: left;
  line-height: 1.2em;
  margin-top: 0px;
  letter-spacing: 1px;
  text-align: left;
  margin-left: 15px;
}  

.h_buttons{
  right: 60px;
}
.h_button{
  height: 50px;
  line-height: 50px;
  padding: 0px 15px;
}
.btn_c i.fa {
  margin-right: 0.5rem;
}
  
#global_nav {
	position: absolute;
	/* */
	top: -500px;
  right: 0px;
	background: #ffffffcc;
	width: 240px;
	text-align: center;
	padding: 0px 0;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	padding: 20px;
}
#global_nav ul {
}
#global_nav ul a {
	width: 100%;
	padding: 6px 0;
}
  
/* Toggle Button */
#nav_toggle {
	position: absolute;
	right: 16px;
	top: 15px;
	width: 26px;
	height: 30px;
	cursor: pointer;
	z-index: 101;
}
#nav_toggle div {
	position: relative;
}
#nav_toggle span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: #000;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav_toggle span:nth-child(1) {
	top: 0;
}
#nav_toggle span:nth-child(2) {
	top: 8px;
}
#nav_toggle span:nth-child(3) {
	top: 16px;
}

.open #nav_toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}
.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav_toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
/* #global_nav */
.open #global_nav {
	/* #global_nav top + #mobile-head height */
	-moz-transform: translateY(550px);
	-webkit-transform: translateY(550px);
	transform: translateY(550px);
  z-index: 1000;
}
  .mv{
    height: 70vw;
  }
  .mv_inner{
    background-size: 120%;
}
	

/* TOP
-------------------------------------------------------------- */
  #page_button{
}
  .page_button{
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3,1fr);
}
  
  /* 課題パーツ
-------------------------------------------------------------- */
  #kadai{
    padding-top: 50px;
  }
.kadai_box{
  display: grid;
  gap: 60px;
}
.kadai_box_in{
  width: 100%;
  max-width: 500px;
  gap: 20px;
}
  
  /* gaiyo
-------------------------------------------------------------- */
.gaiyo_box{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -40vw;
}
.gaiyo_image{
  position: inherit;
  margin-bottom: 40px;
}
.gaiyo_box_r{
  width: 100%;
  float: none;
}
.gaiyo_box_r ul{
  text-align: center;
}
  .gaiyo_box_r p{
    text-align: center;
  }
  
  /* tokucho
-------------------------------------------------------------- */
.tokucho_base::before{
  display: none;
}
.tokucho_base::after{
  display: none;
}
.tokucho_box{
  height: auto;
}
  
  /* CTAパーツ
-------------------------------------------------------------- */
#cta{
}
  .contact{
  padding: 100px 0px 0px;
}
  .cta_button{
  min-width: 280px;
}
  .cta_l{
  justify-content: center;
    flex-wrap: wrap;
}
  
/* footer
-------------------------------------------------------------- */
footer{
  z-index: 10000;
}
footer .inner{
}
.copyright {
	margin-top: 20px;
}

}

@media screen and (max-width: 768px) {
/*.for_sp{
	display:block;		
}*/
  .inner {
	width: 100%;
	padding: 0;
	margin: 0 auto;
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}

    section p{
  font-size: 14px;
}
  section {
	margin: -50px auto 0px;
  padding: 50px 0 0px;
}
section .inner{
  padding: 50px 20px 50px;
}
  
  body{
    font-size: 14px;
  }

.text_18{
  font-size: 16px;
}
.text_16{
  font-size: 14px;
}
  
  .logo {
  font-size: 12px;
  line-height: 16px;
    height: 50px;
    display: flex;
    align-items: center;
}  

.h_button{
  line-height: 50px;
  padding: 0px 10px;
  width: 58px;
  overflow: hidden;
}
.h_buttons .btn_c i.fa {
  font-size: 22px;
  line-height: 22px;
  margin: 15px 8px;
}

.mv_text{
  min-width: 90%;
  padding: 20px;
}
.mv_text img{
  width: 95%;
}
.mv_copy{
  font-size: 1.9em;
  line-height: 2.2em;
  margin-top: 0.3em;
}
.mv_cta{
  max-width: 80%;
}
  
  #page_button{
	padding: 40px 20px 0px;
}

.page_button{
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2,1fr);
}

.cta_button{
  padding: 5px 20px;
  font-size: 16px;
  line-height: 50px;
}
  .c-button._shiny {
    padding: 0px 20px;
  font-size: 18px;
  line-height: 50px;
}
  .bango{
  font-size: 3em;
  font-weight: 700;
}
.bango .fa{
  font-size: 1em;
  margin-right: 20px;
}
  
.banner{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  gap: 30px;
}
  
  footer .nswlogo_f{
  width: 150px;
  height: 100px;
}
  .table-scroll{
  overflow-x: scroll;
}
  .detail_box5_title{
  padding: 15px 20px;
}
  .detail_box5_detail{
  padding: 20px;
}
  .detail_box5_detail2{
  margin-top: 20px;
  flex-wrap: wrap;
}
  .detail_box5_title_sub{
  flex-wrap: wrap;
}

}

@media screen and (max-width: 425px) {
  .for_sp{
	display: inherit;		
}
.text_18{
  font-size: 14px;
}
.text_16{
  font-size: 14px;
}
body {
	width: 100%;
}
    section {
  margin: -30px auto 0px;
}
  section .inner{
  padding: 30px 15px 30px;
}
  
  .mv{
    height: 75vw;
  }
  .mv_inner{
    background-size: 120%;
    background-position: center top -80%;
}
.mv_text{
  padding: 20px;
  width: 100%;
}
.mv_copy{
  font-size: 1.5em;
  line-height: 2.2em;
  margin-top: 0.3em;
}

  #page_button{
	padding: 30px 15px 0;
}
  .gaiyo_image{
  margin-bottom: 20px;
}
  .gaiyo_box_r li{
  padding: 10px 10px;
}
  .gaiyo_box_r ul{
  margin-bottom: 60px;
}

.tokucho_box{
}
  .tokucho_base{
    padding: 0 20px;
    }
  
    .inner_b{
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
    flex-direction: column;
  gap: 20px;
}
  .banner{
    max-width: 100%;
  }
  #cta{
  margin-top: 40px;
    padding-top: 0px;
}
#cta .inner{
  padding: 50px 15px 50px;
}
    .contact{
  padding: 80px 0px 30px;
      .cta_r{
  min-width: 250px;
        text-align: left;
}
}
  
    .detail_box5_title{
    letter-spacing: 0em;
  }

}