@charset "UTF-8";

/* 1000px以下 */
@media screen and (max-width: 1000px) {
  /* #header */
  #header {
    height: 60px;
  }
  #header .logo a {
    margin-top: 0;
    top: 4px;
  }
  #header.fix #nav .menu-trigger.active span {
    background-color: #fff;
  }
  #header.fix .logo a.active{
    background: url(../img/logo_w.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
  }


  /* #nav */
  #nav {
    font-size: 14px;
    font-weight: bold;
  }
  .menu-trigger {
    display: inline-block;
  }
  #nav ul.active {
    right: 0;
    opacity: 1;
  }
  #nav ul {
    background: #03b6ff;
    width: 100%;
    height: 100%;
    transition: all 0.4s;
    position: fixed;
    top: 0;
    bottom: 0;
    right: -100%;
    overflow: hidden;
    padding: 12px;
    z-index: -1;
    box-sizing: border-box;
    overflow-y: auto;
    opacity: 0;
    padding-top: 15%;
  }
  #nav ul li {
    display: block;
    text-align: center;
    width: 100%;
  }
  #nav li a {
    color: #fff;
    margin: 0;
    padding: 30px 20px;
    box-sizing: border-box;
    height: auto;
    font-size: 25px;
    transform: translate(0, -5%);
    opacity: 0;
    transition: all 0.35s ease;
    display: inline-block;
  }
  #nav ul.active li a {
    transform: translate(0, 0);
    opacity: 1;
  }
  #nav ul.active li a.link01 {
    transition-delay: 0.3s;
  }
  #nav ul.active li a.link02 {
    transition-delay: 0.45s;
  }
  #nav ul.active li a.link03 {
    transition-delay: 0.6s;
  }
  #nav ul.active li a.link04 {
    transition-delay: 0.75s;
  }
  #header.fix #nav li a{
    color: #fff;
    padding-top: 30px;
  }

  .link::before{
    top: auto;
    bottom: 15px;
    border-bottom: solid 2px #fff;
    width: 100%;
 opacity: 0;
 transform: scale(0, 1);
}
  .link:hover::before {
    opacity: 1;
    transform: scale(1, 1);
  }

  #service_area h2, #contact_area h2,#news_area h2{
display: block;
text-align: center;
  }
  #service_area h2 span.main_txt,
	#contact_area h2 span.main_txt,
	#news_area h2 span.main_txt{
padding: 0 20px;
position: relative;
transition-delay: .15s;
}
  #service_area h2 span.sub_txt,
	#contact_area h2 span.sub_txt,
	#news_area h2 span.sub_txt{
    left: 0;
    margin: auto;
    padding-right: 0;
    transition-delay: .3s;
}
  #service_area h2::before,
	#contact_area h2::before,
	#news_area h2::before{
    width: 40%;
left: 0;
margin: auto;
    transform: scale(0, 1);
}
#service_area h2.active::before,
#contact_area h2.active::before,
#news_area h2.active::before{
  transform: scale(1, 1);
  opacity: 1;
}

#news_area .inner{
	display: block;
}
#news_area .box{
	padding-left: 0;
	padding: 0 50px;
}
#news_area h2{
	margin-bottom: 80px;
}





  /* #footer */
  #footer .flex{
    justify-content: start;
  }
  .footer_left_contents{
    margin-right: 6%;
  }
  #footer dl{
    margin-right: 80px;
  }
}
/* 800px以下 */
@media screen and (max-width: 800px) {
  /* 共通 */
  img {
    max-width: 100%;
  }
  dl.table dt, dl.table dd{
    width: 100%;
    padding: 5px 16px 30px;
  }
  dl.table dt{
  border-bottom:none;
  padding: 30px 16px 5px;
}
  /* #footer */
  #footer .flex{
    flex-direction: column-reverse;
    flex-wrap: wrap;
  }
  #footer dl a{
    margin-bottom: 0;
  }
  #footer dd{
  display: none;
  }
  .footer_left_contents{
    width: auto;
  }
  .footer_left_contents{
    margin-right: 0;
  }
  .footer_left_contents a.contact_btn{
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
  #footer .address{
    display: none;
  }
  #footer .copylight{
    text-align: center;
  
  }
  }

/* 500px以下 */
@media screen and (max-width: 500px) {
  /* 共通 */
  .pc {
    display: none;
  }
  .sp {
    display: inline;
  }

  .menu-trigger{
    top: 0;
    right: 15px;
  }

  .section_wrapper{
    width: 100%;
    box-sizing: border-box;
    top: 0;
  }

  .page_head{
    padding-top: 60px;
    height: 190px;

  }
  .page_head h2{
    font-size: 45px;
    display: block;
    text-align: center;

  }

  .page_head h2::before{
width: 70%;
left: 0;
margin: auto;
bottom: 0;
transform: scale(0, 1);
transition-delay: 0s;

  }
  .page_head h2.active::before{
    transform: scale(1, 1);
  }
  .page_head h2 span.main_txt{
    transition-delay: .15s;
  }
  .page_head h2 span.sub_txt{
    font-size: 14px;
    padding-left: 0;
    left: 0;
    text-align: center;
    background: transparent;
    bottom: -25px;
    transition-delay: .3s;
    transform: translate(0, -30%);
  }
  
  .section_wrapper{
    padding: 45px 10px;
  }
  .inner{
    padding: 0 10px;
  }
  .section h3{
    font-size: 20px;
  }
  #footer h2{
    text-align: center;
    margin-bottom: 10px;
  }
  .footer_right_contents{
    flex-direction: column;
    flex-wrap: wrap;
  }
  #footer dl{
background-repeat: 0;
text-align: center;
width: 100%;
margin-bottom: 10px;
  }
  dl.table dt, dl.table dd{
    font-size: 16px;
    padding: 10px 16px 2px;
  }
  dl.table dd{
    font-size: 14px;
    padding: 2px 16px 10px;
  }
	#news_area .box{
		padding: 0 20px;
	}
	.main_img .news_box{
		flex-direction: column;
		padding: 10px 20px;
	}
	.main_img .news_box .news_title{
		display: none;
	}
	.main_img .news_box .news_detail{
    flex-direction: row;
		align-items: center;
		padding-left: 0;
	}
	.main_img .news_box .news_detail .date{
		position: relative;
		padding-right: 10px;
	}
	.main_img .news_box .news_detail .date::after{
		content: "";
		position: absolute;
		background-color: #fff;
		width: 2px;
    height: 100%;
		top: 0;
		right: 0;
	}
	.main_img .news_box .news_detail .ttl{
		padding-left: 10px;
	}
	
}
