@charset "UTF-8";

/* SP CSS */


/* =======================================
    共通CSS
======================================= */
@media only screen and (max-width:1000px) {
	p,ul li {
		font-weight: 500;
	}

	ul.list.list_a {
    display: none;
	}
	.footer_nav .sns-icons ul li {
		display: none;
	}

	footer .container {
		padding: 30px 0;
		width: 100%;
		margin: 0;
	}
	p.footer-logo {
    text-align: center;
	}
	footer .copyright {
		font-size: 9px;
		padding: 20px 0;
	}
    p.footer-logo span {
        font-size: 21px;
    }

	p.footer-logo a {
		font-size: 21px;
	}
    .section-main {
        width: 100%;
    }
    .top_content-left {
        width: 100%;
        margin: 0;
    }
	span.pc {
		display: unset;
	}
    .index_contact_contents {
        padding-top: 50px;
        margin: -100px auto 80px;
    }
    #layer_header h1 img {
        width: 10%;
    }
	.sns-icons ul li {
		width: 38px;
		height: 38px;
		display: inline-block;
		margin: 0 5px;
	}
	.change-color span.hamburger_menu_line::before {
		color: #FFF !important;
	}
	.index_contact_contents {
		padding-top: 50px;
		margin: -100px auto 80px;
	}
	header#layer_header {
		height: 30px;
		background: #FFF;
		border-bottom: 1px solid #eee;
	}
	header#layer_header #header h1 {
		margin-top: 2px;
	}
	#header .logo-en {
		font-size: 17px;
		top: -5px;
		left: 10px;
	}
    .container {
		margin: 0 20px 70px;
		padding: 0;
    }
	.topbtn {
		right: 20px;
		bottom: 0;
		height: 60px;
		width: 60px;
	}
	
    #outer_header {
      width: 100%;
      height: auto;
      padding: 10px 0;
    }
    #header {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
    }
    #header h1 {
      width: 443px;
    }
    #footer {
        max-width: 1000px;
    }
    p.footer-logo span {
        font-size: 21px;
    }
    header#layer_header h1 img {
    width: 8%;
    position: relative;
    top: -3px;
    }
    header#layer_header .hamburger_menu {
      padding: 21px;
    }
    #privacy {
      margin: 70px auto 0;
    }
    header#layer_header #header h1 {
      margin-top: 9px;
    }
    footer#layer_footer {
      background: #000;
    }
	span.sp {
		display: block;
	}
  }

/* SNS icon */

@media only screen and (min-width:1000px) {
	.sns-icons ul li {
		display: inline;
	}

	.sns-icons ul li img {
		width: 38px;
		height: 38px;
	}
}

  

/* hamburger menu */

	.hamburger_menu_cover {
	  position: fixed;
	  top: 0;
	  right: 0;
	  z-index: 1001;
	  mix-blend-mode: normal;
	}
	.hamburger_menu {
	  display: flex;
	  align-items: center;
	  width: 30px;
	  height: 30px;
	  padding: 18px 15px 15px 15px;
	  cursor: pointer;
	}
	.hamburger_menu__line {
	  display: block;
	  width: 100%;
	  height: 3px;
	  background-color: transparent;
	  position: relative;
	  transition: all 0.5s;
	}
	.hamburger_menu__line::before,
	.hamburger_menu__line::after {
	  content: "";
	  display: block;
	  width: 100%;
	  height: 3px;
	  background-color: #000;
	  position: absolute;
	  transition: all 0.5s;
	}
	.hamburger_menu__line::before {
	  transform: translateY(-10px);
	}
	.hamburger_menu__line::after {
	  transform: translateY(-3px);
	}
	.hamburger_menu.open .hamburger_menu__line::before {
	  transform: rotate(325deg);
	}
	.hamburger_menu.open .hamburger_menu__line::after {
	  transform: rotate(-325deg);
	}
	.hamburger_menu__line span {
	  display: block;
	  position: absolute;
	  top: 6px;
	  left: 50%;
	  transform: translateX(-50%);
	  color: #000;
	  font-weight: 600;
	  font-family: "Montserrat";
	  transition: all 0.5s;
	}
	.hamburger_menu.open .hamburger_menu__line span:nth-child(1) {
	  display: none;
	}
	.hamburger_menu__line span:nth-child(2) {
	  display: none;
	}
	.hamburger_menu.open .hamburger_menu__line span:nth-child(2) {
	  display: block;
	}
	span.allow-right {
		display: inline-block;
		width: 8px;
		height: 8px;
		margin: 0 26px 0 0;
		border-top: 2px solid #d84245;
		border-right: 2px solid #d84245;
		transform: rotate(45deg);
	}
	.nav_sp {
	  box-sizing: border-box;
	  position: fixed;
	  top: 0;
	  right: -100%;
	  width: 100%;
	  height: 100vh;
	  padding: 160px 5% 80px;
	  background: #FFF;
	  text-align: left;
	  transition: right 0.5s;
	  overflow: scroll;
	  z-index: 999;
	}
	.nav_sp_inner li {
		font-size: 16px;
		font-family: "Montserrat";
		font-weight: 400;
		margin-bottom: 50px;
		border-bottom: 1px dotted #b2b2b2;
		padding-bottom: 14px;
	}
	.nav_sp.open {
	  right: 0;
	  z-index: 1000;
	}
	.nav_sp_inner .logo {
	  width: 160px;
	  height: 30px;
	  color: transparent;
	  margin-bottom: 120px;
	  background: url("../images/logo_blu.png") no-repeat center;
	  background-size: contain;
	}
	.nav_sp_inner ul {
	  text-align: left;
	  margin-right: 10px;
	}
	.nav_sp_inner li.contact {
	  font-weight: 600;
	}
	.nav_sp_inner li a {
	  color: #000;
	  text-decoration: none;
	}
	.nav_sp_inner .contact_txt {
	  color: #000;
	  font-size: 18px;
	  text-align: center;
	  margin-bottom: 30px;
	}
	.nav_sp_inner p.contact_button {
	  max-width: 320px;
	  font-size: 16px;
	  font-family: "Montserrat";
	  font-weight: 400;
	  text-align: center;
	  margin: 0 auto;
	}
	.nav_sp_inner p.contact_button a {
	  display: block;
	  color: #000;
	  text-decoration: none;
	  padding: 20px 10px;
	  border: #000 1px solid;
	}
}


@media screen and (min-width: 600px) {
  .nav_sp {
    right: -50%;
    width: 50%;
    padding: 100px 5% 80px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
  }
  .nav_sp_inner .logo {
    display: none;
  }
}




  /* =======================================

   　メインエリア

======================================= */



@media screen and (max-width: 480px) {
	.mv {
		height: 667px;
		margin-top: 60px;
		background: url(../images/sp-main.png) no-repeat center -30%;
		background-size: cover;
	}
	.top_content {
		padding: 50px 0 0;
		position: unset;
	}
	p.main-text {
		font-size: 36px;
		margin-bottom: 11px;
		text-align: center;
	}
	.scroll {
		padding-top: 340px;
	}
	.mv-jp {
		font-size: 13px;
		line-height: 1.7em;
		margin: 8px 0 0 37px;
		text-align: center;
	}
	.main-bg img {
		padding-top: 112px;
	}
}





  /* =======================================

    トップページ

======================================= */

@media screen and (max-width: 768px) {
    .member-white-bg {
		padding: 30px 0 50px;
		margin: 0 20px;
    }
	#member-top .member-contents ul {
		padding: 0;
		width: 100%;
		margin: 0 auto 40px;
	}
	#member-top .member-contents ul:nth-child(3) {
		margin-bottom: 0;
	}
	#member-top .member-contents ul li {
		list-style: none;
		display: block;
		margin-bottom: 0;
	}
	.member-contents {
		display: block;
		margin-bottom: 80px !important;
	}
	.photo img {
		float: none;
		width: 100%;
	}
	p.plane_text {
		text-align: left;
		font-size: 14px;
		line-height: 2.5em;
	}
	p.photo {
		margin-bottom: 40px;
	}
    .member-contents {
      display: block;
      margin-bottom: 50px !important;
    }
	span.small-name {
		top: -2px;
	}
    p.photo img {
    float: none;
    width: 100% !important;
    }
    .right {
      float: none;
      width: 100%;
    }
    p.plane_text {
		text-align: left;
		font-size: 14px;
		line-height: 2.5em;
		letter-spacing: 0.2px;
    }
    p.photo {
      margin-bottom: 40px;
    }

	#member .container {
		margin: 0 13px 120px;
		padding: 0;
	}
	.member-contents ul li {
    font-size: 15px;
    margin: 0 0 15px 0;
    line-height: 2.1em;
    letter-spacing: 0.1px;
	}
	p.about-img img {
		width: 80%;
		margin: 0 auto;
	}
	.section-bg {
    	padding: 49px 30px 120px;
	}
	#aboutus .container {
		margin: 0 auto;
		padding: 35px 0 10px;
		max-width: 1080px;
	}
	p.about-img {
		background: #FFF;
		box-shadow: 10px 5px 19px 0px #e6e6e663;
		width: 84%;
		margin: 0 auto;
		margin-top: -70px;
		margin-bottom: 50px;
	}
	#section_top_blog .thum_blog {
		width: 90px;
		height: auto;
	}
	#section_top_blog .text_box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding-left: 20px;
	}
	.activity-area {
		padding: 20px 20px 50px;
	}
	#activity .container {
		padding: 30px 20px 20px;
	}
	.activity-area .btn_main a {
		padding: 14px 60px;
	}
	.right ul li, .left ul li {
		margin-bottom: 18px;
	}
  }



@media screen and (min-width: 768px) {
	.mv {
		height: 100vh;
		margin-top: 0;
		background: url(../images/main-img.png) no-repeat center -30%;
		background-size: cover;
	}
	.top_content {
		padding: 290px 0 0 80px;
		position: unset;
	}
}



  /* =======================================

    スポンサーのご紹介

======================================= */

@media screen and (max-width: 600px) {
	span.block {
		display: block;
		margin-left: 0;
	}
	#pageArticles .container {
		margin: 50px 20px 0;
		padding: 0;
	}
	.mb80 {
		margin-bottom: 50px;
	}
	.title_main {
		font-size: 18px;
		margin-bottom: 28px;
		font-family: initial;
	}
	li.bold-title {
		font-weight: 500;
		font-size: 13px;
		color: #9a9a9a;
	}
	.text_box ul li {
		line-height: 1.7em;
		margin-bottom: 10px;
	}
	.archives_list li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: contents;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.archives_list .thum_blog {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
	}
	.archives_list .text_box {
		padding-left: 0;
		flex: 1;
	}
	.small-text {
		font-size: 15px;
	}
	
}


  /* =======================================

　メンバー紹介

======================================= */

@media screen and (max-width: 768px) {
	
	.member-contents .siteButton {
		text-align: center;
	}
	.member-list ul li {
		width: 100%;
		padding: 14px 0;
		margin: 8px 7px;
	}
	.btn_main a {
		background: #d5161b;
		padding: 14px 60px;
		font-size: 14px;
		color: #FFF;
		width: 50%;
		display: block;
		font-weight: 500;
		margin: 0 auto;
	}
	
	li.none-list {
		list-style: none !important;
		font-weight: 500;
		margin-bottom: 0 !important;
	}
	p.siteButton {
    width: 90%;
    margin: 0 auto;
	}
	.member-contents img {
		width: 100%;
		height: auto;
	}
	#member-top {
		padding: 25px 0;
		background: #171B38;
	}
	.left {
		margin-bottom: 0px;
	}
	.page_title_warp {
		height: 160px;
		margin: 70px 0;
	}
	.page_title_warp .page_title {
		font-size: 30px;
	}
	.accordion_btn ul li {
		display: inline-block;
		width: 48%;
		background: #d5161b;
		padding: 18px 0;
		text-align: center;
		margin: 0 0 8px;
	}
	.accordion_btn ul li:nth-child(1) {
		margin-right: 2px;
	}
	.accordion_btn ul li:nth-child(3) {
		margin-right: 2px;
	}
}
  /* =======================================

　記事詳細

======================================= */
.activitiy-container {
    margin: 0 20px;
    padding: 60px 0;
}
a.link_back {
    display: block;
    margin-bottom: 28px;
	width: 86%;
}
.navigation_area span {
    background: #fff;
    border: 1px solid #d84245;
    padding: 10px;
    display: block;
    color: #d84245;
}
.navigation_area span {
    background: #FFF;
    border: 1px solid #d84245;
    padding: 14px;
    display: block;
    font-size: 14px;
}

  /* =======================================

　記事一覧

======================================= */
.pagination {
    margin: 50px;
}

@media screen and (max-width: 1000px) {
	.activitiy-container .container {
		padding: 0;
		margin: 0 20px;
	}
	#pageArticles .container {
		margin: 60px 30px 80px;
		padding: 0;
		max-width: 1000px;
	}
}


  /* =======================================

　お問い合わせ

======================================= */
@media screen and (max-width: 1000px) {
	input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
		height: 43px;
	}
	.wpcf7-form-control.wpcf7-textarea {
		width: 88%;
	}
}


/* =======================================

JWT50

======================================= */
@media screen and (max-width: 1000px) {
	#pageJwt50 h3 {
		font-size: 24px;
		font-weight: 600;
		letter-spacing: 1px;
		text-align: left;
	}
}

  /* =======================================

　スポンサー企業

======================================= */
@media screen and (max-width: 1000px) {
	.company-list ul li {
		display: inline-flex;
		width: 46%;
		margin: 0 5px 30px;
	}
	span.company-link {
		font-size: 12px;
		letter-spacing: 0.5px;
	}
	h4.company-h4 {
		font-size: 21px;
	}
	#company-01 {
		padding-top: 50px;
	}
}



  /* =======================================

　指導理念

======================================= */

@media screen and (max-width: 1000px) {
	main#pagePhilosophy img {
		width: 100%;
	}
	#pagePhilosophy h3 {
		letter-spacing: 2px;
		font-family: helvetica;
		font-size: 22px;
		margin-bottom: 20px;
		text-align: left;
	}
	.text-box p {
		line-height: 2.5em;
		letter-spacing: 0.3px;
		text-align: left;
	}
	#pagePhilosophy .container {
    margin: 50px 20px;
    padding: 0;
	}
	#pagePhilosophy h4 {
		font-size: 18px;
	}
	#pagePhilosophy h5:before {
		left: -99px;
		width: 170px;
	}
	#pagePhilosophy h5 {
		font-size: 18px;
		padding: 10px 10px 10px 89px;
	}
	#pagePhilosophy h5 span {
		font-size: 25px;
		padding-top: 14px;
		padding-left: 16px;
		font-family: Arial;
	}
}
	
@media (max-width: 768px)
.contact_warp .bg_contact::after {
    margin-left: 80px;
    margin-top: 80px;
}

/*------- お問い合わせエリア -------*/
	@media (max-width: 768px) {
		.contact_warp .bg_contact{
			height: 230px;
			width: 100%;
		}
		.contact-area-text {
			text-align: center;
			width: 88%;
		}
		.contact_warp {
			margin-bottom: -210px;
			height: 350px;
		}
		.contact_warp .bg_contact::after{
			display: none;
		}
		.contact_warp .container{
			background: url(../images/bg_contact_sp.png) no-repeat;
			background-size: cover;
			background-position: center center;
			margin: 40px 30px 0;
			padding: 50px 0;
			width: 100%;
			position: relative;
		}
		.contact_warp p{
			font-size: 14px;
			line-height: 1.7em;
			text-align: center;
		}
	}
@media (max-width: 320px) {
  .contact_warp a.btn_main{
    width: 250px;
  }
}
