@charset "UTF-8";
/* <style>
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
</style> */

*{
  box-sizing: border-box;
}
html{
  font-size:12px;
}
body{
  color:#0f0f0f;
  font-family:'Noto Sans JP', sans-serif;
}
main{
  overflow: hidden;
}
.wrap{
  margin: 0 auto;
  padding:0 0 8rem 0;
  width: 85%;
  max-width: 1400px;
}
.section{
  margin: 0 auto;
  padding:8rem 0;
  width: 85%;
  max-width: 1160px;
}
.flex-wrap{
  display: flex;
}
.fl-rrev{
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.josefin{
  font-family:'Josefin Sans', sans-serif;
}
h2{
  font-size:3rem;
  margin-top: 10rem;
  margin-bottom:5rem;
  letter-spacing: 0.5rem;
  margin-left: 1rem;
}
h3{
  font-size:2.5rem;
  margin-bottom:5rem;
}
h3 span{
  font-size:1.3rem;
  margin-left: 3rem;
  letter-spacing:0.2rem;
}
h4{
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 3rem;
  line-height: 2.5;
}
h4 span{
  font-size: 3rem;
  margin-right: 2rem;
  letter-spacing: 0.5rem;
}
.h-op08 :hover{
  opacity: 0.7;
  transition: 0.2s;
}
p{
  font-size:1.2rem;
  line-height: 2.5;
}

img {
  width: 100%;
  vertical-align: top;
	height: auto;
    /*高さ自動*/
}

/* ------ここからグリッド始まり */


/* グリッド
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
  margin: 0 auto;
  max-width: 960px;
  padding: 0 2.0rem;
  position: relative;
  width: 90%;
}

.container-1400 {
  margin: 0 auto;
  max-width: 1400px;
  padding: 0 2.0rem;
  position: relative;
  width: 90%;
}

/* ブロックを縦に表示 */
.row {
  display: flex;
  flex-direction: row;
  padding: 0;
  width: 100%;
  flex-wrap: wrap;
}

.col {
  padding-right: 5rem;
   margin-bottom: 5rem;
}
.row .col.span-1 {
  flex: 0 0 8.33333333333%;
  max-width: 8.33333333333%;
}

.row .col.span-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.row .col.span-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.row .col.span-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.row .col.span-5 {
  flex: 0 0 41.7777777777%;
  max-width: 41.7777777777%;
}

.row .col.span-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.row .col.span-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.row .col.span-8 {
  flex: 0 0 66.7777777777%;
  max-width: 66.7777777777%;
}

.row .col.span-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.row .col.span-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.row .col.span-11 {
  flex: 0 0 91.6666666666%;
  max-width: 91.6666666666%;
}

.row .col.span-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* 960px以下の表示 */
@media (max-width : 960px) {

  /* ブロックを縦に表示 */
  .row {
      display: flex;
      flex-direction: row;
      padding: 0;
      width: 100%;
      flex-wrap: wrap;
  }

  .col {
      display: block;
      flex: 1 1 auto;
      margin-left: 0;
      max-width: 100%;
      width: 100%;
      padding-right: 3rem;
      margin-bottom: 3rem;
      
  }

  .row .col.span-3 {
      flex: 0 0 50%;
      max-width: 50%;
  }

}

/* 520px以下の表示 */
@media (max-width : 520px) {

  /* ブロックを縦に表示 */
  .row {
      display: flex;
      flex-direction: row;
      padding: 0;
      width: 100%;
      flex-wrap: wrap;
  }

  .col {
      display: block;
      flex: 1 1 auto;
      margin-left: 0;
      max-width: 100%;
      width: 100%;
      padding-right: 1rem;
      margin-bottom: 1rem;
  }

}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.mb-10rem {
  margin-bottom: 10rem;
}

.mt-10rem {
  margin-top: 10rem;
}

.m-1rem {
/*   margin: 1rem; */
}

.mb-4rem {
  margin-bottom: 0rem;
}

@media ( max-width : 960px ) {
  .mb-10rem {
    margin-bottom: 0rem;
  }

  .mb-4rem {
    margin-bottom: 10rem;
  }
  
  .mt-10rem {
    margin-top: 0rem;
  }
}

/* ------ここまでグリッド終わり */

/* ================================ボタンホバーアニメーション */
.btn{
  background-color: #343434;
  border: 1px solid #343434;
  color: #fff;
  font-size: 2rem;
  padding: 0.5rem;
  letter-spacing: 0.5rem;
  margin:3rem 0;
  width:15rem;
  z-index: 1;
}
.btn-right{
  position: absolute;
  right: 0;
}
.slide-right{
  position: relative;
  display: block;
  overflow: hidden;
  /* transition: .2s; */
  padding-left: 4rem;
}
.slide-right::before{
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #fff;
  transition: .2s;
}
.slide-right:hover{
  color: #343434;
  transition: .2s;
}
.slide-right:hover::before{
  left: 0;
}

/* ================================ポジション関連 */
.p-relative{
  position: relative;
}
.right-side,
.left-side{
  width:50%;
}
.right-side img,
.left-side img{
  width:100%;
}
/* ================================tab */
.tab-label span,.one_tab span{
  font-size:1rem;
  font-family:'Noto Sans JP', sans-serif;
  display: block;
	padding-top: 6px;
}
.tab-wrap ,.tabArea{
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	padding: 0 0 20px;
}

.tab-label ,.one_tab{
  font-size: 2rem;
	color: #343434;
	cursor: pointer;
	flex: 1;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
  	border-bottom: 1px solid #343434;
  	margin:0 3rem;
	display: inline-block;
	font-family: 'Josefin Sans';
}

.tab-label:hover ,.one_tab:hover{
	opacity: 0.8;
}

.tab-switch:checked + .tab-label ,
.one_tab.select{
	border-bottom: 5px solid #343434;
}

.one_tab:checked {
	border-bottom: 5px solid #343434;
}

.one_tab input {
	display: none;
}

.tab-switch:checked ~ .tab-label::after {
	transform: translateX(-100%);
}

.tab-switch:checked + .tab-label::after {
	opacity: 1;
	transform: translateX(0);
}

.tab-content {
	height:0;
	opacity:0;
	/* padding: 0 20px; */
  /* margin-top:2rem; */
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .8s 80ms, opacity .5s 80ms;
	width: 100%;
}

.tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}

.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
}

.tab-wrap::after {
	content: '';
	height: 6rem;
	order: -1;
	width: 100%;
}

.tab-switch {
	display: none;
}

.back-margin {
	margin-bottom: 120px;
}

@media screen and (max-width: 768px) {
	.back-margin {
	margin-bottom: 120px;
	}
}

#works-back {
	position:relative;
}

#schedule-back {
	position:relative;
}

#briefing-back {
	position:relative;
}

#requirements-back {
	position:relative;
}

#works-back .top-100 {
	position:absolute;
 	visibility:hidden;
	top:-120px;
}

#schedule-back .top-100 {
	position:absolute;
 	visibility:hidden;
	top:-120px;
}

#briefing-back .top-100 {
	position:absolute;
 	visibility:hidden;
	top:-120px;
}

#requirements-back .top-100 {
	position:absolute;
 	visibility:hidden;
	top:-120px;
}

.top-100 {
	position:absolute;
 	visibility:hidden;
	top:-120px;
}

/* ----------------実験チェックボックスはじめ */
/*全体*/
.hidden_box {
  margin: 2em 0;/*前後の余白*/
  padding: 0;
}

/*ボタン装飾*/
.hidden_box label {
  font-size: 2rem;
	color: #343434;
	cursor: pointer;
	flex: 1;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
  border-bottom: 1px solid #343434;
  margin:0 5rem;
}

/*ボタンホバー時*/
.hidden_box label:hover {
  opacity: 0.8;
}

/*チェックは見えなくする*/
.hidden_box input {
  display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
  padding: 10px 0;
  height: auto;
  opacity: 1;
}
/* ----------------実験チェックボックス終わり */

/* ================================header */
header{
  background-color: #fff;
  height:70px;
  width: 100%;
  position: fixed;
  display: flex;
  z-index: 10;
}
header .logo{
  flex: auto;
  padding: 20px;
}
header .logo a img{
  width: 260px;
}
header nav{
  max-width:90%;
  height: 100%;
}
header nav ul{
  display: flex;
  height: 100%;
}
header nav ul li{
  text-align: center;
  height:100%;
  font-size: 1.6rem;
}
header nav ul li a{
  display: inline-block;
  width:100%;
  height: 100%;
  padding: 20px;
}
header nav ul li:hover{
  background-color: #555;
  color: #fff;
  transition: 0.2s;
}
header nav ul li a span{
  font-family:'Noto Sans JP',sans-serif;
  font-size: 10px;
  display:block;
  line-height: 2;
}
header nav ul li:last-child,
header nav ul li:nth-last-child(2){
  background-color: #343434;
  color: #fff;
}
header nav ul li:last-child :hover,
header nav ul li:nth-last-child(2) :hover{
  background-color: #555;
  color: #fff;
}
header nav ul li:last-child{
  font-weight: 900;
  font-size: 2rem;
  text-align: left;
  font-family:'Noto Sans JP',sans-serif;
  line-height: 1.5;
}
header nav ul li:last-child span{
  font-weight: normal;
  line-height: 1;
}
.nav_toggle {
  display: block;
  position: relative;
  width: 2.75rem;
  height: 2.5rem;
  top:20px;
  right: 20px;
}
.nav_toggle .active{

}
.nav_toggle i {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #333;
  position: absolute;
  transition: transform .5s, opacity .5s;
}
.nav_toggle i:nth-child(1) {
  top: 0;
}
.nav_toggle i:nth-child(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}
.nav_toggle i:nth-child(3) {
  bottom: 0;
}

.nav_toggle.active i:nth-child(1) {
  transform: translateY(1.15rem) rotate(-45deg);
}
.nav_toggle.active i:nth-child(2) {
  left: 50%;
  opacity: 0;
  animation: active-btn-bar02 .8s forwards;
}
.nav_toggle.active i:nth-child(3) {
    transform: translateY(-1.15rem) rotate(45deg);
  }


/* ================================slider */
.swiper-wrapper{
  padding-top:70px;
  background-color: #fff;
}
.swiper-slide img{
  width: 100%;
}

/* ================================info */
.info{
  background-color: #fff;
  width: 100%;
  padding-bottom: 9rem;
}
.info .flex-wrap{
  flex-wrap: wrap;
}
.info-one{
  width: 25%;
  padding-right: 5rem;
  color: #343434;
  margin-bottom: 5rem;
}
.info-one img{
  width: 100%;
}
.info-one ul{
  margin-top: 1rem;
}
.date, .category{
  
  font-weight: normal;
  line-height: 1.8;
  display: inline-block;
  margin-right: 1rem;
  
}
.category{
  /* color: #fff; */
  /* background-color: #999; */
  /* padding: 0 0.5rem; */
}
.newstitle{
  font-size: 1.6rem;
  line-height: 1.5;
}

.mt-15 {
  margin-top: 15px;
}

/* ================================recruit */
.recruit{
  background-color: #fafafa;
}
.recruit .left-side{
  margin: 2rem 6rem;
  padding-bottom: 5rem;
}

/* ================================about */
.about{
  background-color: #fff;
}
.about .right-side{
  margin: 2rem 6rem;
  padding-bottom: 5rem;
}

/* ================================products */
.products{
  background-color: #fafafa;
}
.products .left-side{
  margin: 2rem 6rem 2rem 0;
  padding-bottom: 5rem;
}
.products .flex-wrap{
  margin:8rem 0 4rem 0
}
.products .btn-right{
  display: flex;
}
.products .btn-right i{
  margin:5rem 0 0 1rem;
}

/* ================================footer */
.logo-footer{
  width: 100%;
  margin-bottom: 4rem;
}
.logo-footer img{
  width: 200px;
}
footer .flex-wrap{
  flex-wrap: wrap;
}
.fl-start{
  align-items: flex-start;
}
footer h4{
  font-size: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #343434;
  width: 100%;
  margin-bottom: 2rem;
}
.footer-contact{
  width: 40%;
}
.footer-tel, .footer-line, .footer-mail{
  padding: 0 0.5rem;
}
.footer-tel{
  width: 100%;
  margin-bottom:2rem;
}
.footer-tel dt{
  display: inline-block;
  font-size: 1.5rem;
  margin-right: 1rem;
}
.footer-tel dd:nth-child(2){
  display: inline-block;
}
.footer-tel dd:nth-child(3){
  font-size: 3rem;
  font-weight: bold;
  margin-top: 0.5rem;
}
.h-op08 {
  font-size: 3rem;
  font-weight: bold;
  margin-top: 0.5rem;
}
.footer-line,.footer-mail{
  width: 50%;
}
.footer-line img,
.footer-mail img{
  width: 5rem;
  margin-right: 1rem;
}
.footer-line a,
.footer-mail a{
  font-size: 1.2rem;
  /* margin-right: 1rem; */
  align-items: center;
  line-height: 1.5;
 font-weight: normal;
}
.footer-line a.flex-wrap,
.footer-mail a.flex-wrap{
  flex-wrap: nowrap;
}
.footer-calender{
  width: 60%;
  padding-left: 3rem;
}
.footer-calender div{
  width: 50%;
}
.biz-calender img{
  width: 100%;
}
.footer-calender p{
  padding-left: 2rem;
  font-size: 1.2rem;
  line-height: 2;
}
small{
  display: block;
  padding: 2rem;
  text-align: center;
  margin-top: 120px;
}

@media(max-width:960px) {
  small{
    margin-top: 30px;
  }
}

/* ================================個別ページ */
.head-title{
  position: relative;
  width: 100%;
  height: 400px;
  margin-top: 70px;
  border-bottom: 2px solid #343434;
}
.head-title *{
  position: absolute;
}
.head-title h2{
  bottom: 0;
  left: 10%;
  margin-bottom: 0;
  font-size: 6rem;
  line-height: 1.5;
  display: flex;
  flex-direction: column-reverse;
}
.head-title h2 span{
  font-size: 1.2rem;
  display: inline-block;
}
.head-title p{
  top: 10%;
  left: 10%;
}
.head-title img{
  right: 0;
  height: 100%;
  z-index: -1;
	max-width: 50%;
}


.contents .tab_main {
  display: none;
  padding: 8rem 0;
  min-height: 280px;
  transition-duration: 0.3s;
}
.tab_main.is_show {
  display: block;
}
.tinnerArea{
  margin-top: 8rem;
}
.pdrl2{
  padding: 0 2rem;
/* 	max-width: 560px; */
}

@media screen and (max-width: 768px) {
  .pdrl2{
    padding: 0 1rem;
/*     width: 340px; */
  }
}

.pdrl-2{
  padding: 0 2rem;
	width: 560px;
}

@media screen and (max-width: 768px) {
  .pdrl-2{
    padding: 0 1rem;
    width: 340px;
  }
}

/* ---------実験はじめ--------------------------------------- */
/*tabの形状*/
.tab{
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
    padding: 0 0 8rem 0;
    max-width: 1160px;
	justify-content: center;
}



/*liにactiveクラスがついた時の形状*/
/* .tab li.active a */
.tab li.active {
	background:#fff;
	border-bottom: 5px solid #343434;
}

/*liにactiveクラスがついた時の形状*/
/* .tab li.active a */
.tab .one_tab.active {
	background:#fff;
	border-bottom: 5px solid #343434;
}

.one_tab.active-is {
	background:#fff;
  border-bottom: 5px solid #343434 !important;
}


/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #fff;
	/* padding:50px 20px; */
}

.tab li {
  font-size: 2rem;
	color: #343434;
	cursor: pointer;
	flex: 1;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
  border-bottom: 1px solid #343434;
  margin:0 3rem;
  display: inline-block;
  font-family: 'Josefin Sans';
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@media(max-width:960px) {

}

/* -------------------------実験終わり----------------------------------- */



/* ================================リクルート */
.merit , .interview , .schedule, .briefing-schedule, .apps, .dept-intro{
  margin: 15rem 0;
}
.merit .flex-wrap{
  margin-top: 6rem;
}
.merit-text{
  padding-top: 2rem;
}
.aoki , .sugawara{
  margin: 0 calc(50% - 50vw);
	width: 100vw;
  position: relative;
  display: flex;
}
.aoki img , .sugawara img{
  width: 100%;
}
.int-text{
  position: absolute;
  background-color: rgba(255,255,255,0.8);
  width: 45%;
  padding: 5rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
}
.aoki .int-text{
  right: 5rem;
}
.sugawara .int-text{
  left: 5rem;
}
.kids-card{
  margin: 3rem 0;
  flex-wrap: wrap;
}
.kidsroom h3 , .thanks-message h3{
  margin-top: 8rem;
}
.kids-card-one{
  width: 48%;
  position: relative;
  margin-bottom: 4rem;
}
.kids-card-one:nth-child(2n+1){
  margin-right: 4%;
}
.kids-card-one img{
  width: 95%;
  margin: 0 auto 0 0;
}
.kids-card-one dl{
  position: absolute;
  right: 0;
  bottom: -1rem;
  font-size: 1.3rem;
  line-height: 1.5;
  background-color:#FAFAFA;
  padding: 1rem;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .15);
}
.message-card{
  margin-top: 3rem;
}
.message-card-one{
  padding: 5rem;
  width: 48%;
  background-color: #FCFAF7;
  box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .15);
}
.message-card-one:nth-child(2n+1){
  margin-right: 4%;
}
.thanks-message .btn-right{
  position: relative;
}
.thanks-message .btn-right a{
  margin: 3rem 0 3rem auto;
}
.recruit-contact h3{
  border-bottom: 2px solid #343434;
  line-height: 2;
  margin-bottom: 1rem;
}
.recruit-contact p{
  margin-bottom: 3rem;
}
.recruit-contact .flex-wrap{
  align-items: center;
}
.recruit-contact .footer-tel a{
  font-size: 4rem;
}
.schedule-one{
  margin-top: 5rem;
  margin-bottom: 8rem;
}
.schedule img.pdrl2{
  width: 50%;
}
.arrow-down{
  border-left: 1px solid #707070;
  padding-left: 2rem;
  position: relative;
}
.arrow-down::before {
  content: '';
  width: 2rem;
  height: 2rem;
  border: 1px solid #707070;
  border-left: 0;
  border-bottom: 0;
  border-top: 0;
  box-sizing: border-box;
  transform: rotate(135deg);
  position: absolute;
  left: -1rem;
  bottom: 3px;
  margin: auto;
}
.briefing-schedule .schedule-one{
  border-left: 3px solid #343434;
  padding-left: 2rem;
}
.briefing-schedule dl{
  font-size: 1.5rem;
  line-height: 3;
  width: 50%;
}
.briefing-schedule img{
  width: 50%;
}
.brief-date{
  font-size: 2rem;
  font-weight: bold;
}
.brief-name{
  line-height: 2;
  font-weight: bold;
}
.brief-place{
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 2rem;
}
.apps-list, .about-list{
  flex-wrap: wrap;
  /* flex-direction: column; */
  font-size: 1.5rem;
  line-height: 2;
}

.apps-list *, .about-list *{
  border-bottom: 1px solid #707070;
  font-size: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.apps-list dt{
  width: 12%;
  padding-right: 3%;
}
.apps-list dd{
  width: 85%;
  flex-shrink: 2;
}
/* ================================会社概要 */
.philosophy{
  font-size: 2rem;
  margin-bottom: 8rem;
}
.about-sec{
  align-items: center;
  margin-bottom: 8rem;
}
.about-list dt{
  width: 20%;
  padding-right: 5%;
}
.about-list dd{
  width: 75%;
  flex-shrink: 2;
}
.links .flex-wrap{
  flex-wrap: wrap;
}
.links li{
  margin-right: 5%;
  margin-bottom: 2rem;
}
.links li img{
  width: 100%;
}
.dept-intro .flex-wrap{
  align-items: center;
  position: relative;
  margin: 5rem 0 8rem 0;
}
.dept-intro .flex-wrap::after{
  content: "";
  position: absolute;
  height: 110%;
  width: 100%;
  border: 1px solid #9B9B9B;
  z-index: -1;
  left: 3rem;
}
.dept-intro img{
  width: 35%;
  margin-right: 5%;
}

.center-one{
  margin-bottom: 15rem;
}
.center-info h3{
  margin-bottom: 2rem;
}
.center-one .flex-wrap{
  align-items: center;
  margin-bottom: 2rem;
}
.center-info{
  font-size: 1.5rem;
  line-height: 2.7;
  width: 50%;
  margin-right: 2rem;
}
.center-tel{
  font-size: 2rem;
  font-weight: bold;
}
.center-add{
  font-weight: bold;
}
.center-one img{
  top: 0;
  right: 0;
  width: 50%;
  height: auto;
}
.center-one iframe{
  width: 100%;
  height: 300px;
}
.social-info,
.social-one img{
  width: 50%;
}
.social-one{
  margin-bottom: 10rem;
}
.social-one .flex-wrap{
  margin-bottom: 5rem;
}
.social-info{
  margin-bottom: 2rem;
}
.social-one img{
  height: min-content;
}
.social-info a img{
  margin-top: 2rem;
  width: auto;
}
.bold, .b-num{
  font-weight: bold;
}
.b-num{
  font-size: 2rem;
}
/* ================================コンタクト*/
.contact-info{
  margin: 5rem 0;
}
.contact-info .footer-tel{
  width: 50%;
}
.contact-info .footer-tel dd:nth-child(3){
  font-size: 4rem;
  margin-bottom: 1rem;
}
.contact-info .footer-tel dd:nth-child(4){
  font-size: 1.2rem;
  line-height: 2;
}
.footer-line dt{
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.footer-line dd{
  display: inline-block;
}
.footer-line dd:nth-child(3){
  width: 70%;
  line-height: 2;
  font-size: 1.2rem;
}
.line-chat{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.line-chat dt{
  width: 100%;
}
.note{
  color: #E86446;
}
form{
  margin: 5rem 0;
}
.form dt{
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 0.8rem;
  width: 100%;
}
.form-check{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.form-check dd{
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  margin-right: 3rem;
}
.form-text dd{
  border: 1px solid #707070;
  font-size: 1.8rem;
  width: 100%;
  margin-bottom: 2rem;
  padding: 0.5rem;
}
.sub-button{
  background-color: #343434;
  color: #fff;
  padding: 1.2rem 3rem;
  letter-spacing: 0.2rem;
  font-size: 2rem;
  margin: 5rem auto;
  display: block;
}

.policy{
  margin: 8rem 0;
  font-size: 1.5rem;
}
.policy h4{
  margin-top: 3rem;
}
.policy dl{
  line-height: 2;
}
.policy dl dt{
  margin-top: 2rem;
}
/* ================================ニュース一覧、個別*/

.pagination{
  font-size: 2rem;
  justify-content:space-between;
  align-items: center;
}
.pagination ul li{
  /* margin: 0 2rem; */
  color: #707070;
}
.page-back,
.page-next{
  background-color: #343434;
  color: #fff;
  padding: 1rem 2rem;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.5rem;
}
.page-back{
  padding-right: 4rem;
}
.page-next{
  padding-left: 4rem;
}
.page-none{
  opacity: 0.5;
}
.pagination ul li.page-now{
  color: #343434;
  border-bottom: 1px solid #343434;
}
.pagination *{
  margin: 1rem;
}
.cate-list .flex-wrap{
  flex-wrap: wrap;
}
.cate-list li{
  /* width: 20%; */
  margin: 2% 1%;
}
.cate-list li p{
  line-height: 1.5;
  text-align: center;
  margin-top: 1rem;
}
.cate-list li span{
  display: block;
  font-size: 1rem;
}
.cate-list li a img{
  width: 100%;
}

.one-title {
  font-size: 3rem;
  margin-top: 10rem;
  margin-bottom: 0;
  letter-spacing: 0.5rem;
}

.date-time {
  font-size: 18px;
  color: #343434;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: lighter;
  line-height: 1.3;
  display: inline-block;
  /* margin-right: 1rem; */
}

.one-product-text {
  font-size: 18px;
  color: #343434;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: lighter;
  line-height: 1.3;
  display: inline-block;
  /* margin-right: 1rem; */
}

.one-text-area {
  margin: 100px 0 150px 0;
}

/* ================================レスポンシブ */
@media (min-width: 1126px) {
  .sp{
    display: none;
  }
}
@media (max-width: 1125px) {
  .sp{
    display: contens;
  }
  .pc{
    display: none;
  }
  header nav{
    position: fixed;
    top:70px;
    right: -100%;
    max-width: 100%;
    width: 100%;
    background-color: rgba(255,255,255,0.8);
    transition:400ms;
  }
  header nav.active{
    right:0px;
  }
  header nav ul{
    flex-direction: column;
    flex-wrap: wrap;
  }
  header nav ul li{
    height: 9rem;
  }
  header nav ul li a{
    line-height: 2;
  }
  header nav ul li:last-child {
    text-align: center;
  }
  .merit img,
  .intro img{
    width: 50%;
    height: min-content;
  }
  .aoki, .sugawara{
    display: block;
  }
  .int-text{
    position: relative;
    transform: translateY(0);
    -webkit- transform: translateY(0);
    width: 85%;
    margin: 0 auto;
  }
  .aoki .int-text,
  .sugawara .int-text{
    right: 0;
    left: 0;
  }
  .briefing-schedule dl,
  .briefing-schedule img{
    width: 100%;
  }

}

@media(max-width:960px){
  .wrap{
    padding: 0;
  }
  .info .flex-wrap{
    flex-wrap: wrap;
  }
  .info-one{
    width: 50%;
    padding: 3rem;
    margin-bottom: 0;
  }
  .recruit , .products, footer{
    padding: 3rem 0;
  }
  .tab-content.flex-wrap, .products .flex-wrap,.fl-start{
    flex-direction: column;
  }
  .recruit .right-side,.about .left-side , .products .right-side{
    width: 80%;
    margin: 0 auto;
  }
  .recruit .left-side,.about .right-side,.products .left-side{
    margin: 0 0 5rem 0;
    padding: 2rem 2rem 6rem 2rem;
  }
  .left-side, .right-side,.footer-contact ,.footer-calender{
    width: 100%;
  }
  .head-title{
    height: 200px;
  }
  .tab-content{
    padding: 0 5rem;
  }
  .merit img,
  .intro img,
  .schedule img.pdrl2,
  .kids-card-one,
  .message-card-one,
  .center-info,
  .center-one img,
  .social-info,
  .social-one img,
  .contact-info .footer-tel,
  .contact-info .footer-line
  {
    width: 100%;
  }
  img.pdrl2{
    padding-right: 0;
    padding-left: 0;
  }
  .kids-card-one:nth-child(2n+1),
  .message-card-one:nth-child(2n+1){
    margin-right: 0;
  }
  .message-card-one{
    margin-bottom: 3rem;
  }
  .recruit-contact{
    margin-bottom: 5rem;
  }
  .recruit-contact .footer-tel{
    width: 100%;
  }
  .recruit-contact .flex-wrap{
    flex-wrap: wrap;
  }
  .recruit-contact p{
    line-height: 1.8;
  }
  .dept-intro .flex-wrap{
    align-items: flex-start;
  }
  .dept-intro .flex-wrap::after{
    height: 100%;
    top: 2rem;
  }
  .dept-intro .flex-wrap img{
    width: 50%;
  }
  .dept-intro .pdrl2{
    margin: 3rem 0 0 5rem;
  }
  .center-info{
    margin-right: 0;
    margin-bottom: 2rem;
  }
  .sp-col{
    flex-direction: column;
  }
  .footer-contact{
    margin-bottom: 3rem;
  }
  .footer-calender{
    padding-left: 0;
  }

}
@media (max-width:520px) {
  header{
    height: 50px;
  }
  header .logo{
    padding: 5px;
  }
  header .logo a img{
    width: 230px;
  }
  .nav_toggle{
    top: 14px;
  }
  .swiper-wrapper{
    padding-top: 50px;
  }
  h2{
    font-size: 2.5rem;
    margin-top: 5rem;
    margin-bottom: 0;
  }
  .info .mv-bottom{
    padding-bottom: 5rem;
  }
  .info-one{
    padding: 1rem;
  }
  .head-title{
    margin-top: 50px;
  }
  .tab-wrap::after{
    height: 2rem;
  }
  .tab-content{
    padding: 0;
  }
  .products .flex-wrap{
    margin: 4rem 0;
  }
  .pdrl2{
    padding: 0;
  }
  .int-text{
    width: 100%;
  }
  .message-card-one{
    padding: 3rem;
  }
  .dept-intro .flex-wrap img{
    width: 70%;
  }
  .footer-calender div{
    width: 100%;
  }
  .footer-calender p{
    padding-left: 0;
  }
  .biz-calender{
    margin-bottom: 1rem;
  }
  .cate-list li{
    width: 30%;
  }
	  .head-title h2{
    bottom: 0;
    left: 10%;
    margin-bottom: 0;
    font-size: 4rem;
    line-height: 1.5;
    display: flex;
    flex-direction: column-reverse;
  }
   .head-title img{
    right: 0;
    height: 100%;
    z-index: -1;
    max-width: 100%;
  }
 .r-hop08 a {
  font-size: 3rem !important;
  font-weight: bold;
  margin-top: 0.5rem;
}
  .r-c-h-op08 {
    font-size: 3rem !important;
    font-weight: normal;
    margin-top: 0.5rem;
  }
	
}
