@charset "UTF-8";
/* sp_layout //////////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width: 450px){

/* common setting /////////////////////*/
body {
  font-size: 14px;
}
section {
  padding: 50px 0;
}
section.heading {
  position: relative;
}
section.heading::before {
  content: '';
  top: -8px;
  font-size: 65px;
  color: rgba(0, 0, 0, .6);
  line-height: 1;
  white-space: pre;
}
.white_card {
  box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
  padding: 25px 5% 30px;
}
.white_card:first-of-type {
  margin: 0 0 40px;
}
.white_card::before,
.white_card::after {
  width: 20px;
}
.white_card h3 {
  margin: 0 0 25px;
  font-size: 1.3rem;
}
br.pc_not { display: block; }
br.sp_not { display: none; }

/* heading /////////////////////*/
h2 {
  font-size: 24px;
  margin: 0 0 40px;
}
h2 .small {
  display: block;
  margin: 0 0 .5em;
  font-size: .7em;
}

/* header /////////////////////*/
header .logo {
  width: 35%;
}
header a{
  width: 60%;
  padding: 10px;
  border: 1px solid #fff;
  border-radius: 3px;
}
header img:not(.logo){
  width: auto;
}
/* main_visual /////////////////////*/
#main_visual{
  background: url('../image/sp_kv_bg.png') no-repeat center top /cover, #222;
  padding: 15px 0 45px;
}
#main_visual .kv_copy_top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 70px 0 20px;
}
#main_visual .kv_copy_top img{
  width: calc(50% - 5px);
  margin: 0;
}
#main_visual .kv_copy_top p{
  width: 100%;
  margin: 0;
}
#main_visual .kv_copy_main{
  font-size: 27px;
}
#main_visual .kv_copy_point{
  justify-content: space-between;
}
#main_visual .kv_copy_point img{
  width: calc(100% / 3 - 8px);
  margin: 50px 0 0;
}

/* CTA /////////////////////*/
#cta {
  padding: 25px 0 0;
}
#cta h2 span {
  display: block;
  width: fit-content;
  margin:  0 auto .5em;
}
#cta h2+small {
  font-size: 1.24rem;
}
#cta .cta_action{
  padding: 30px 5%;
  flex-direction: column;
}
#cta .cta_action::before{
  width: 100px;
  left: -35px; top: -40px;
}
#cta .cta_action::after{
  width: 66px;
  right: -19px; top: -83px;
}
#cta .cta_action div{
  width: 100%;
}
#cta .cta_action div:first-of-type{
  margin: 0 0 30px;
}
#cta .cta_action div h3{
  margin: 10px 0;
  font-size: 1.4em;
  line-height: 1.5;
}

/* sec-01 /////////////////////*/
#sec-01::before {
  content: "OUTSTAND\AING\ASERVICE";
  top: -9px;
}
#sec-01{
  padding: 60px 0 0;
}
#sec-01 h2{
  margin: 0 0 80px;
  font-size: 1.25rem;
}
#sec-01 h2 .small{
  font-size: 1.15rem;
}
#sec-01 h2 .gold_mark{
  padding: 0 1.5em;
  font-size: 1em;
}
#sec-01 .sec01_cards{
  flex-direction: column;
  align-items: center;
}
#sec-01 .sec01_cards .card{
  width: 90%;
  margin: 0 0 70px;
}
#sec-01 .sec01_cards .card::before,
#sec-01 .sec01_cards .card::after {
  width: 20px;
}
#sec-01 .sec01_cards .num{
  width: 80px;
  top: -45px;
  left: calc(50% - 40px);
}
#sec-01 .sec01_cards .card .photo{
  width: 100%;
}
#sec-01 .sec01_cards h3::after{
  margin: 14px auto 20px;
}

/* sec-02 /////////////////////*/
#sec-02::before {
  content: 'RIGOROUS\A EDUCATION';
}
#sec-02::after{
  width: 50px;
  left: calc(50% - 25px);
}
#sec-02{
  padding: 50px 0;
}
#sec-02 h2{
  margin: 0 0 80px;
}
#sec-02 h2 .gold_mark{
  font-size: .78em;
}
#sec-02 h2 .gold_mark b{
  font-size: 1.3em;
}
#sec-02 h2 p{
  margin: 0 0 .3em;
  font-size: .7em;
}

#sec-02 .sec02_program{
  padding: 70px 5% 40px;
  grid-template-columns: 1fr;
  row-gap: 20px;
  background: url('../image/sp_sec02_bg01.png') no-repeat left top /contain, rgba(0, 0, 0, .5);
}
#sec-02 .sec02_program:nth-of-type(2) {
  background: url('../image/sp_sec02_bg02.png') no-repeat left top /contain, rgba(0, 0, 0, .5);
}
#sec-02 .sec02_program:nth-of-type(3) {
  background: url('../image/sp_sec02_bg03.png') no-repeat left top /contain, rgba(0, 0, 0, .5);
}

#sec-02 .sec02_program::before{
  width: 300px; height: 122px;
  right: calc(50% - 155px);
  top: -30px;
  background: url('../image/sp_sec02_text01.png') no-repeat right top /contain;
}
#sec-02 .sec02_program:nth-of-type(2):before{
  background: url('../image/sp_sec02_text02.png') no-repeat right top /contain;
}
#sec-02 .sec02_program:nth-of-type(3):before{
  background: url('../image/sp_sec02_text03.png') no-repeat right top /contain;
}
#sec-02 .sec02_program:last-of-type{
  margin: 0;
}

#sec-02 .sec02_program::after{
  width: 30px;
  left: 0; bottom: 0;
}
#sec-02 .sec02_program figure{
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
#sec-02 .sec02_program h3{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  padding: 0;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: center;
}
#sec-02 .sec02_program p{
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

/* sec-03 /////////////////////*/
#sec-03::before {
  content: 'HIGH\A SATISFACTION';
}
#sec-03 h2 {
  margin: 0 0 40px;
}
#sec-03 .sec03_content p {
  font-size: 1.1rem;
  margin: 30px 0;
}
#sec-03 .sec03_content picture:last-of-type{
  margin: 0 0 25px;
}
#sec-03 .sec03_content .bottom{
  font-size: 1.2rem;
}

/* sec-04 /////////////////////*/
#sec-04::before {
  content: 'WORKING\A STYLE';
  top: -10px;
}
#sec-04 h2 .small{
  font-size: .66em;
}
#sec-04 h2 .but{
  padding: 90px 0 0;
  text-align: center;
}
#sec-04 h2 .but .balloon{
  width: 70px;
  left: calc(50% - 35px);
}
#sec-04 h2 .but .balloon::after{
  transform: scale(.5) rotate(0deg);
  right: 18px; bottom: -32px;
}
#sec-04 .prof {
  grid-template-columns: 1fr;
  row-gap: 25px;
  padding: 0 5%;
}
#sec-04 .prof img {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
#sec-04 .prof h4{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
#sec-04 .prof dl{
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
#sec-04 .prof dl dt {
  width: 33%;
  margin: 0;
}
#sec-04 .prof dl dd {
  width: 67%;
}
#sec-04 .pay {
  margin: 25px auto 20px;
}
#sec-04 .bottom{
  font-size: 1.15rem;
  margin: 0 0 40px;
}
#sec-04 .pay+.bottom span{
  font-size: 1.2em;
}
#sec-04 .worker {
  margin: 0 0 40px;
  grid-template-columns: 1fr;
  gap: 30px;
}
#sec-04 .worker h4:first-of-type{
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
#sec-04 .worker .age{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
#sec-04 .worker h4:last-of-type{
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
#sec-04 .worker .graph{
  grid-column: 1 / 2;
  grid-row: 4 / 5;
}
#sec-04 .ss{
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#sec-04 .ss img{
  width: 200px;
  margin: 0 0 15px;
}
#sec-04 .ss p{
  text-align: center;
}

/* sec-05 /////////////////////*/
#sec-05::before {
  top: 10px;
}
#sec-05 {
  padding: 50px 0 35px;
}
#sec-05 .wrap{
  width: 80%;
}
#sec-05 .ceo{
  grid-template-columns: 1fr;
  gap: 20px;
}
#sec-05 .ceo .photo{
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
#sec-05 .ceo p:first-of-type{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
#sec-05 .ceo ul{
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}
#sec-05 .ceo ul li{
  width: 100%;
  padding: 0 0 0 15%;
}
#sec-05 .ceo p:last-of-type{
  grid-column: 1 / 2;
  grid-row: 4 / 5;
}
#sec-05 .ceo small{
  grid-column: 1 / 2;
  grid-row: 5 / 6;
  display: block;
  width: 100%;
  font-size: 1em;
  text-align: center;
}
#sec-05 .white_card{
  padding: 30px 8%;
}
#sec-05 .white_card h3{
  margin: 0 0 16px;
}
#sec-05 .white_card dl{
  width: 100%;
}
#sec-05 .white_card dl dt,
#sec-05 .white_card dl dd{
  margin: 1em 0 0;
}
#sec-05 .white_card dl dt:nth-of-type(n+3),
#sec-05 .white_card dl dd:nth-of-type(n+3){
  width: 100%;
}
#sec-05 .white_card dl dd:nth-of-type(n+3){
  margin: 0;
}
#sec-05 .client h3{
  margin: 50px 0 25px;
  font-size: 1.4rem;
}
#sec-05 .client ul li {
  width: 100%;
  height: 40px;
  margin: 0 0 15px;
  padding: 8px 0 0 4em;
}
#sec-05 .client ul li::before {
  content: '';
  width: calc(100% - 15px);
}
#sec-05 .client ul li:nth-of-type(n+3){
  width: calc(50% - 10px);
  padding: 8px 0 0 .8em;
}
#sec-05 .client ul li::after {
  content: '';
  width: 20px;
  aspect-ratio: 1 / 2;
  background: url('../image/sec05_tail.png') no-repeat right top /100% 100%;
}

/* sec-06 /////////////////////*/
#sec-06::before {
  content: 'JOB\A DESCRIPTION';
}
#sec-06 dl{
  padding: 0;
}
#sec-06 dl dt{
  width: 100%;
  padding: 1rem 0 0;
  border-bottom: none;
  text-align: left;
}
#sec-06 dl dt:first-of-type{
  padding: 0;
}
#sec-06 dl dd{
  width: 100%;
  padding: 0 0 1rem;
}

/* sec-07_form /////////////////////*/
#sec-07 h2{
  margin: 0 0 20px;
}
#sec-07 h2+small {
  margin: 0 0 30px;
}
#sec-07 .sec07_form_list{
  flex-direction: column;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  margin: 0 0 20px;
  padding: 0 0 20px;
}
#sec-07 .sec07_form_list label{
  width: auto;
  padding: 0 0 10px;
  flex-shrink: 1;
  background: transparent;
}
#sec-07 .sec07_form_list input,
#sec-07 .sec07_form_list textarea {
  width: 100%;
  padding: 0.7em 1em;
  background: #696969;
}
#sec-07 .sec07_form_list textarea{
  height: 150px;
}
#sec-07 .sec07_form_pp {
  padding: 5px 5px 14px;
}
#sec-07 .sec07_form_pp p {
  width: 95%;
  font-size: 12px;
  height: 16.5em;
}
#sec-07 .sec07_check {
  margin-bottom: 12px;
  padding: 5px;
  border: none;
  background: #222;
  text-align: left;
}
#sec-07 .sec07_check .check {
  margin-left: 0.5em;
}
#sec-07 button{
  margin: 30px auto 0;
}

/* sec-08 /////////////////////*/
#sec-08 .wrap{
  width: 80%;
}
#sec-08 h2{
  margin: 0 0 25px;
}
#sec-08 ul{
  width: 100%;
}

/* footer /////////////////////*/
footer {
  padding: 20px 0 10px;
}
footer .wrap {
  display: flex;
  flex-direction: column;
}
footer .logo {
  width: 140px;
  margin: 0 0 20px;
}
footer small {
  text-align: center;
}

/* thanks /////////////////////*/
header.thanks img {
  width: 150px;
}
#thanks{
  padding: 120px 0 80px;
}
#thanks .wrap{
  width: 80%;
}
#thanks img{
  width: 90%;
}
#thanks h1{
  font-size: 1.6rem;
  margin: 0 0 1rem;
}
#thanks p{
  text-align: left;
}
#thanks .tel img {
  width: 240px;
}
#thanks .return {
  margin: 3rem auto 0;
}
}