@charset "UTF-8";
/** -----------------------------------------------
  共通
------------------------------------------------**/
body {
	/*下記のCSSはご自身のデザインに合わせて書き換えてください。*/
	
	font-size: 16px;
	line-height: 1.6;
	color: #000;
	background-color:#ffffff;
	font-family: "Source Han Serif", "MS Mincho","Noto sans jp";
	font-weight: 500;   
	}

 

/** -----------------------------------------------
  PC :  画面の横幅が641px以上
------------------------------------------------**/


.about,.service,.plan,.member,.job,.explanation.entry{
 padding: 40px 50px 40px 50px;
}

  
.section-inner{
 max-width: 1220px;  
 background-size: cover;
 margin:  auto;
}

.section-inner-white{
  max-width: 1000px;  
  margin: 0 auto;
  background-color: #ffffff;
  padding: 50px 20px 50px 20px;
 }


.section-inner-pastelwhite{
  max-width: 1000px;  
  height: 420px;
  margin: 0 auto;
  background-color: #ffffff;
  padding: 50px 20px 50px 20px;
  background: rgba(255, 255, 255, 0.5);
}

.pc-only {
  /* PCの時は（横幅769px以上の時は）表示する */
  display: block;
}

.sp-only {
  /* SPの時は（横幅768px以下の時は）表示しない */
  display: none;
}



/* <スマホ用> */
@media screen and (max-width:640px){

  .section-inner{
    padding: 0 24px;
    max-width: 550px;
   }
  
   .section-inner-white{
    padding: 15px 24px;
    max-width: 550px;
  }
  
  .section-inner-pastelwhite{
    margin: -20px 20px 10px 20px;
    padding: -50px 10px 10px 10px;
    max-width: 550px;
    max-height: 450px;
  }

  
  
  .pc-only {
    /* PCの時は（横幅769px以上の時は）表示しない */
    display: none;
  }
  .sp-only {
    /* SPの時は（横幅768px以下の時は）表示する */
    display: block;
  }
  #about, #system, #plan, #member, #job {
    padding: 40px 0 30px 0;
    text-decoration: none;
  }
 
  
  }
  
 /*テキスト */
h2.large{
  font-weight: bold; 
  font-size: 30px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  
}

.ul-blue{
  text-decoration: underline;
  text-underline-offset: -0.2em;
  text-decoration-thickness:0.5em;
  text-decoration-color: #c0e5f0;
  text-decoration-skip-ink: none;
}


h3.small{
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.03em;
 
}

p.large{
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.03em; 
}

p.medium{
  font-size : 14px;
  line-height: 2;
  letter-spacing: 0.03em;
}
p.small{
  font-size : 12px;
  line-height: 2;
  letter-spacing: 0.03em;
}

/* レイアウト */
.col-2{
 display: flex;
 justify-content: space-between;
}
.col-2 .item{
  width: calc((100% - 24px)/2);
  margin-top:  -15px; ;
}

.col-3{
  display: flex;
  justify-content: space-between;
 }
.col-3 .item{
  width: calc((100% - 48px)/3); 
  margin-top: 50px;
  margin-left:90px ;
}


/* ヘッダー */
.header{
background-color: #ffffff;
height: 150px;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;

}

.nav_list{
  display: none;
  
}
.drawer_hidden {
  display: none;
}
.header_logo{
  display: flex;
  align-items: left;
  width: 50px;
  margin-left:10px ;
}


.gnav-pc-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Noto sans jp";
    margin-left: 270px;
}


ul.gnav-pc li{
  margin-right:40px ;
  display: inline;
  

}
ul.gnav-pc li a{
  text-decoration: none;
  color: #000000;
  transition: .3s;
}
ul.gnav-pc li a:hover{
  color: #f5ab3c;
  transition: .3s;
}
.button-small{
  display: block;
  width: 150px;
  height: 50px;
  background-color: #006f9d;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.03em;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
  border-radius: 20px;
  text-decoration: none;
  transition: .3s;
  margin-left:10px ;
}
.button-small:hover{
  color: #3cbdf5;
  transition: .3s;
}

.button-explanation-header{
  display: block;
  width:150px;
  height: 50px;
  border:2px solid #006f9d;
  color: #006f9d;
  font-size: 20px;
  letter-spacing: 0.06em;
  font-weight: medium;
  font-family: "noto sans jp";
  line-height:  50px;
  text-align: center;
  border-radius: 20px;
  text-decoration: none;
  transition: .3s;
  margin-left:20px ;
}

.button-explanation-header:hover{
  color: #f5ab3c;
  transition: .3s;
}


/* ＜SP用＞ */
@media screen and (max-width:640px){
  
  .header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background: #fff;
   }
 
   .header h1{
    padding-left: 10px;
   }
   .header h1 a{
    display: flex;
   }

   .header img{
    width: 150px;
    height: 43px;
   }
  
  

  /* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0%;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background-color: #fff;
  transition: .5s;
  text-align: center;
  padding-top: 20px;
  text-decoration: none;

}

/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
 
}


.nav_item {
  color: #000;
  font-family:"noto sans jp";
  transition: .3s;
  margin:auto ;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0;/* メニューを画面に入れる */
}
#drawer_input:checked ~ .nav_content .nav_list { display: block; }


  }
  

/* メインビジュアル */

.mainvisual{
	width: 100vw;
    height: calc(100vh - 100px);
    background-image: url(../images/花を包み込む2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
    
}
	
.mainvisual  img{
 width: 400px;
 height: 220px;
 position: absolute;
 margin:250px 400px -1000px 500px; 
}

       /* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
.mainvisual img{
    width: 250px;
    height: 150px;
    position: absolute;
    margin: 300px 0 100px 70px; 
    padding: top 0; 
 
   }
  }



/* 私たちについて */

.about{
 background-color: #ffffff;
 height:1100px;
 width: 100vw;
}


.circle{
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: #c4c9b3;
  box-sizing:border-box;
  opacity:0.5;
  margin: 20px 40px 20px 40px;
}

.col-2{
  display: flex;
  justify-content: space-between;
}
.col-2 .item{
  width: calc((100% - 30px)/2);
}


.about h2.large{
  font-weight: bold; 
  text-align: center;
  margin-bottom: 40px;
  margin-top: 40px;

}
.about p.large{
  font-weight: bold; 
  font-size: 22px;
  margin: 70px 50px 40px 50px;
}
.about img{
  width: 300px;
  height: 300px;
  border-radius: 100%;
  object-fit: cover;
  opacity:0.5;
  margin: 0 100px 0 100px;
} 

.button-ss {
  display: block;
  color: #f5ab3c;
  letter-spacing: 0.03em;
  font-size: 20px;
  font-family:"Noto sans jp" ;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
  border-radius: 20px;
  text-decoration: none;
  transition: .3s;
  margin-top: 30px;
}
.button-ss:hover{
  color: #006f9d;
  transition: .3s;
}

.circle-about-left{
  width: 200px;
  height:200px;
  border-radius: 50%;
  background-color: #c4c9b3;
  opacity:0.5;
  margin:-100px 20px -50px 20px;
}

.circle-about-right{
  width: 200px;
  height:200px;
  border-radius: 50%;
  background-color: #c4c9b3;
  opacity:0.5;
  margin:-100px 1000px 0px 500px;
}


        /* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
  .about{
    height:3000px;
    width: 100vw;
   }

  .col-2{
    display: block;
 
  }
  .col-2 .item{
    width: 100%;
  }
  .about img{
    width: 300px;
    height: 300px;
    border-radius: 100%;
    object-fit: cover;
    opacity:0.5;
    margin: 50px -20px;
    
    
  } 

  .about h2.large{
    font-weight: bold; 
    text-align: center;
    margin-bottom: 60px;
    margin-top: 40px;
  }

  .button-ss {
    font-size: 50px;
    
  }


    }




/* 事業について */
.service{
 background-color: #c0e5f0;
 height: 1000px;
 width: 100vw;
}


.service h2.large{
 text-align: center;
 margin-bottom: 20px;

}

.service h3.small{
  margin-top: 30px;
  margin-left:180px ;
 }
 .service p.large{
  text-align: center;

 }

.service p.medium{
  margin-top: 5px;
  margin-right: 130px;
  font-weight: bold;
  font-size: 17px;

}
.service img{
  margin-top: 15px;
  margin-left: 150px;
} 


/* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
  .service{
    height:1500px;
    width: 100vw;
   }

  .col-2{
    display: block;
 
  }
  .col-2 .item{
    width: 100%;
    
  }

  .service img{
    height:auto;
    width: 60vw;    
    margin:  10px 10px -20px;

  }

  
  .service h2.large{
  text-align: center;
  margin: 3px 4px 2px 20px;
 }
  .service h3.small{
    text-align: center;
    margin: 30px 20px 0px 30px;
   }
  
   .service p.medium{
    margin: 40px 20px 20px 20px;
    font-weight: bold;
    font-size: 12px;
  
  }
  
 

  .button-ss {
  font-size: 11px;
  margin: auto;
  }
    }

/* 働く環境 */

.plan{
 background-color: #c0e5f0;
 height:1000px;
 width: 100vw;
}
.plan h2.large{
 text-align: center;
 margin-bottom: 20px;

}

.plan h3.small{
  text-align: center;
  margin-top: 50px;
}
.plan p.large{
 text-align: center;

}
   
.plan p.medium{
 margin-top: 5px;
 font-weight: bold;
}   

.card .card-item {
  text-align: center;

 }
.card .card-text {
text-align: center; 
margin-right: 80px;
}
.plan .col-2{
  text-align: center; 
  
}

.plan .col-2 img{
  text-align: center; 
  margin: 30px -30px;
  
}
.plan .col-2 .card-text{
  width: 150px;
  height: 150px;
  margin: 20px -30px;

}

/* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
  .plan{
    height:2200px;
    width: 100vw;
   }

  .col-3{
    display: block;
 
  }
  .col-3 .item{
    width: 100%;
  }
  .col-2{
    display: block;
  }
  .col-2 .item{
    width: 100%;
  }
  
  .plan  h2.large{
  text-align: center;
  padding: 30px 50px 20px 60px;
 }

  
  .plan h3.small{
    font-size:30px;
    text-align: center;
    margin-top: 50px;
  }
  .plan p.large{
   text-align: center;
   font-weight: bold;
   margin: 10px 0 10px;
  }
     
  .plan p.medium{
  padding: 20px 160px 20px 0px;
  margin: 0 auto;
   text-align: center;
   font-weight: bold;
   font-size: 13px;
  }   
  
  .card img {
    width: 150px;
    height: 150px;
    margin: 0 -30px;
   }
  .card .card-text {
  text-align: center; 
  margin: 0 -50px;

  }
  .plan .col-2 {
    text-align: center;  
    margin: 0 -50px ;
    padding:  0;
  }
  .plan.col-2 img{
    width: 160px;
    height: 200px;
    margin: 50px 200px 100px 170px;

  }
 

  .plan.button-ss{
    padding-bottom: 30px;
  }

    }



/* メンバー紹介 */
.member{
 background-color: #ffffff;
 height: 800px;
 width: 100vw;
 overflow: hidden;
}
.member h2.large{ 
 text-align: center;
 margin: 30px auto;
}
.member h3.small{ 
  text-align: center;
  margin: 30px auto;
 }


.autoplay img{
  max-width: 800px;
  margin:0  auto;
  padding-right: 30px;
  object-fit: contain;
}

/* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
.member{
    height:1000px;
    width: 100vw;
   }
.autoplay img{
 object-fit: contain;
 

}

    }



/* 募集職種 */
.job{
 background-color: #c0e5f0;
 height: 900px;
 width: 100vw;
}
.job h2.large{ 
 text-align: center;
}
.job h3.small{ 
 text-align: center;
 margin-top: 20px;
}

.job p.medium{
  text-align: center;
  margin-top: 20px;
  font-weight: bold;
 }  
 .job .col-2{
  text-align: center; 
  margin-top: 50px;
}

/* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
  .job{
    height:4000px;
    width: 100vw;
   }

  
  .job  h2.large{
    text-align: center;
    padding: 30px 50px 20px 60px;
 }

  
  .job h3.small{
    font-size:20px;
    text-align: center;
    margin-top: 50px;
  }
  .job p.large{
   text-align: center;
  
  }
     
  .job p.medium{
   margin: 10px ;
   text-align: center;
   font-weight: bold;
   margin: 20px 160px 20px 0px;
  }   
  

  .job .card img {
    width: 150px;
    height: 150px;
    margin: 20px -50px;
   }
   .job .card-text {
    text-align: center; 
    margin: 20px -200px;

  }
  .job .col-2 img{
    width: 150px;
    height: 150px;
    margin: 30px -30px;

  }
  .job .col-2 .card-text{
    width: 150px;
    height: 150px;
    margin: 20px -30px;

  }

  .job .button-ss{
    padding-bottom: 100px;
  }

    }









/* 会社説明会はこちら */
.explanation{
 background-color: #ffffff;
 height: 300px;
 width: 100vw;
}
.explanation h2.large{ 
  text-align: center;
  margin-top: -30px;
  padding: auto; 
 }

 .button-explanation{
  display: block;
  width: 400px;
  height: 80px;
  border:2px solid #006f9d;
  color: #006f9d;
  font-size: 30px;
  letter-spacing: 0.06em;
  font-weight: medium;
  font-family: "noto sans jp";
  line-height: 70px;
  text-align: center;
  border-radius: 30px;
  text-decoration: none;
  transition: .3s;
  margin: 70px auto;

}

.button-explanation:hover{
  color: #f5ab3c;
  transition: .3s;
}

.circle-explanation-left{
  width: 100px;
  height:100px;
  border-radius: 50%;
  background-color: #c4c9b3;
  opacity:0.5;
  margin:20px 20px -50px 20px;
  
}


.circle-explanation-right{
  width: 100px;
  height:100px;
  border-radius: 50%;
  background-color: #c4c9b3;
  opacity:0.5;
  margin:-150px 1000px 1000px 1000px;
}

/* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
  .explanation{
    height:400px;
    width: 100vw;
   }

   .button-explanation{
  
    width: 300px;
    height: 80px;
    font-size: 20px;
  }
    }

/* エントリーはこちら */
.entry{
	width: 100vw;
    height: calc(100vh - 90px);
    background-image: url(../images/両親と赤ちゃん後ろ姿.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; 
    padding: 70px;

}
	
.entry h2.large{
  color: #000;
  font-size: 30px;
  font-weight: bold; 
  text-align: center;
  position: absolute;
  margin-left:150px;
}


.button-large{
  display: block;
  width: 500px;
  height: 150px;
  background-color: #006f9d;
  color: #fff;
  font-size: 48px;
  font-family: "noto sanz jp";
  letter-spacing: 0.03em;
  font-weight: bold;
  line-height: 130px;
  text-align: center;
  border-radius: 20px;
  text-decoration: none;
  transition: .3s;
  margin:150px auto;

}
.button-large:hover{
  color: #3cbdf5;
  transition: .3s;
}



/* ＜ＳＰ用＞ */
@media screen and (max-width:640px){
  .entry{
    height:500px;
    width: 100vw;
   }
   .entry h2.large{
    font-size: 15px;
    font-weight: bold; 
    text-align: center;
    position: absolute;
    margin:10px 10px 10px -100px;
    padding: 10px 10px 10px;
  
    width: 100vw;
  }
  
.button-large{
  
  width: 180px;
  height:130px;
  margin:20px -60x 0 -20px;
  font-size: 16px;
}

    }

/* フッター */
.footer{
 background-color: #006F9d;
 height: 250px;
 width: 100vw;
 padding: 50px;
 text-align: center;
 text-decoration: none;
}

.footer a {
  color: #ffffff;
  text-decoration: none;
}


.footer-link.copyright {
  font-size: 25px;
}


.footer-link {
  margin-bottom: 20px;
}



.footer-link li {
  display: inline;
  margin-right: 20px;
  font-family: "noto sans jp";
}


.button-footer {
  margin-top: 50px;
  
}
.copyright {
  color: #ffffff;
  font-family: "Noto sans jp";
  
}


/*ここからメディアクエリで各デバイスサイズに書き分けます。
今回の課題で考慮するのはPCとスマホのみでOKですが、タブレットサイズでのスタイルを書いてもOK！
また、CSSは上から下に継承されるので、変化させたいところだけ書けばOKです*/


/** -----------------------------------------------
  Smartphone :  画面の横幅が640pxまで
------------------------------------------------**/
@media screen and (max-width:640px){



.header{
  height: 60px;
  padding: 0;  
 }
 .gnav-pc-wrap{
  display: none;
 }

 .menu-button-inner span{
  height: 2px;
  width: 100%;
  background-color: #333333;
 }






  
}


