@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/* 初期設定 */

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.line_break {
  display: inline-block;
}

.sp {
  display: none;
}

.grecaptcha-badge {
  display: none;
}

/* ヘッダー */

.header-container-in {
  width: 100%;
  background: #000;
}

.header {
  display: flex;
}

.logo-image a,
.logo-image span,
.logo-image span img {
  display: block;
}

.header-in {
  width: 22%;
}
.site-name-text-link {
  padding: initial;
}

.tagline {
  display: none;
}
.logo-text {
  display: none;
}

.header-nav ul {
  display: flex;
  align-items: center;
  width: 100%;
  height: 6vw;
  max-height: 80px;
  gap: 1em;
  list-style: none;
  padding-left: 0;
  justify-content: right;
  padding-right: 20px;
}
.header-nav ul li a {
  padding: .4em .8em .5em;
  color: #fff;
  font-weight: 600;
  background: #c30d23;
  border-radius: 1.5em;
  text-decoration: initial;
  opacity: 1;
  transition: ease .5s;
  font-size: min(1.17vw,20px); /*12px*/
}
.header-nav ul li a:hover {
  opacity: .5;
}

/* 初期化 */

#post-13,
.post-17,
.post-19,
.post-21,
.post-23,
.post-25,
.post-27,
.sidebar,
.date-tags,
.breadcrumb,
footer {
  display: none;
}

.content {
  margin-top: initial;
}

.content-in {
  width: 100%;
}

.main {
  padding: initial;
  border: initial;
}

main.main {
  margin: initial;
  width: 100%;
  padding: initial;
}


/* -------------------------トップページ------------------------- */
/* FV */

.fv {
  position: relative;
  width: 100%;
  height: auto;
  max-height: 533px;
  aspect-ratio: 10 / 2.78;
}

h1 {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-200%,-200%);
  pointer-events: initial;
  opacity: 0;

}

.fv-slider,
.fv-slider .splide__track,
.fv-slider .splide__list,
.fv-slider .splide__slide {
  width: 100%;
  height: 100%;
}

/* 各スライドを背景画像にする */
.slide-1 {
  background: url(../cocoon-child-master/image/top_01.webp) no-repeat center / cover;
}

.slide-2 {
  background: url(../cocoon-child-master/image/top_02.webp) no-repeat center / cover;
}

.fv h3 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,0%);
  width: 50%;
  max-width: 800px;
  padding-top: 2vw;
}

.gray {
  position: relative;
  display: block;
  width: 100%;
  height: 12vw;
  background: #6d6c6c;
}

.top_flex,
.apdt-pc-only {
  display: none;
}

.top_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);  width: 30%;
  height: auto;
}

.top_under {
  position: relative;
}
.top_under::before {
  position: absolute;
  content: "";
  inset: 0;
  background: url(../cocoon-child-master/image/top_under.webp) no-repeat center / cover;
}

.sp_news,
.sp_under_wrap {
  display: none;
}

.under_wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: calc(100% - 60px);
  max-width: 1860px;
  margin: 0 auto;
  padding: 3vw 0;
  gap: min(2vw,20px);
}

.wrap_side {
  width: 30%;
}

.img_flex {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.img_flex img {
  width: 48.5%;
  height: auto;
}

.facility {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: .2em 0;
  color: #fff;
  font-size: min(1.46vw,27px); /*15px*/
  font-weight: 500;
}

.facility_name {
  font-size: min(1.75vw,35px); /*18px*/
  padding-left: .5em;  
}

.side_img {
  display: block;
  margin: 0 auto;
  width: 47%;
  height: auto;
}

.wrap_center {
  width: calc((100% - min(2vw, 20px)) - 60%);
}

.news_box {
  width: 100%;
  height: 20%;
  text-align: center;
  margin-bottom: 1.5em;
}
.news {
  font-size: min(1.46vw, 27px); /*15px*/
  color: #fff000;
}
.news_link {
    font-size: min(1.46vw, 27px); /*15px*/
    color: #fff;
    font-weight: 600;
    transition: .5s ease;
}
.news_link:hover {
  opacity: .5;
}

.top_text {
  text-align: center;
  font-size: min(1.27vw, 23px); /*13px*/
  color: #fff;
}


/* -------------------------会社概要------------------------- */

.company {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: url(../cocoon-child-master/image/com_back.webp) no-repeat center / cover;
}

.comp_p {
  font-size: min(1.46vw,18px); /*15px*/
  line-height: 1.5;
  text-align: justify;
}
.company p.not_just {
  text-align: initial;
}

.inner_02 {
  width: 90%;
  max-width: 1728px;
  padding: 5vw 0;
  margin: 0 auto;
}

.text_flex {
  display: flex;
  justify-content: space-between;
}
.minutes_flex {
  display: flex;
  gap: 20px;
  font-size: min(1.46vw, 18px); /*15px*/
}

.com_left {
  width: 20%;
}
.com_center {
  width: 33%;
}
.com_right {
  width: 40%;
}

.sub_title {
  padding: .2em .5em;
  color: #fff;
  background: #1eaa39;
  margin-bottom: 1.5em;
}

.com_bottom {
  padding: 0 .5em;
  margin-bottom: 1em;
}
.minutes {
  font-size: min(1.46vw, 18px); /*15px*/
  font-weight: 600;
}

.adress {
  display: block;
  width: 70%;
  min-width: 300px;
  height: auto;
  margin: 2em auto 2em;
}

.map {
  display: block;
  width: 90%;
  margin: 0 auto 2em;
}

.text_purple {
  padding: .1em 1em .2em;
  margin-bottom: .2em;
  background: #7385c1;
  color: #fff;
  border-radius: 1em;
  font-size: min(1.46vw, 18px);
}

.square {
  color: #888888;
}

.anno {
  font-size: min(1.36vw,16px);
}

.maru {
  color: #7385c1;
}

/* -------------------------クレア------------------------- */

.crea {
  position: relative;
  width: 90%;
  max-width: 1500px;
  height: auto;
  margin: 0 auto 2em;
  aspect-ratio: 16 / 7.15;
  background: url(../cocoon-child-master/image/crea_main.webp) no-repeat center / cover;
  z-index: 5;
}

#page03 p {
  font-family: 'Noto Serif JP', serif;
}

.crea h3 {
  width: 70%;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 2vw;
}

.crea_wrap {
  position: relative;
  margin: max(-120px,-5vw) auto 2vw;
  width: 90%;
  max-width: 2000px;
  height: auto;
  aspect-ratio: 16 / 6.4;
  align-content: center;
  background: url(../cocoon-child-master/image/crea_back02.webp) no-repeat center / cover;
}

.crea_bottom {
  margin-bottom: 1.5em;
} 

.crea_img {
  position: relative;
  display: block;
  width: 40%;
  height: auto;
  margin: 0 auto 2vw;
  z-index: 5;
}
.crea_img img {
  width: 100%;
  height: auto;
}
.crea_img::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  transform: translate(100%,-50%);
  width: 9vw;
  height: 6vw;
  z-index: 10;
  background: url(../cocoon-child-master/image/crea_leaf.webp) no-repeat center / contain;
}

.crea_name {
  width: 43%;
}
.size01 {
  font-size: min(2.34vw,40px); /*24px*/
  line-height: 1.5;
  text-align: center;
  font-weight: 800;
}
.size02 {
  font-size: min(1.95vw,30px); /*20px*/
  line-height: 1.2;
  margin-bottom: .5em;
  text-align: center;
  font-weight: 800;
}
.size03 {
  font-size: min(1.46vw,25px); /*15px*/
  line-height: 1.5;
  margin-bottom: .5em;
  text-align: center;
  font-weight: 800;

}

.flow {
  display: block;
  text-align: center;
  max-width: 650px;
  margin: 0 auto;
  background: #0dac67;
  color: #fff;
  padding: .1em 0;
  border-radius: 1em;
  font-size: min(1.46vw,25px); /*15px*/
  font-weight: 600;
  text-decoration: initial;
  opacity: 1;
  transition: ease .5s;
  font-family: 'Noto Serif JP', serif;
}
.flow:hover {
  opacity: .5;
}
a:hover {
  color: #fff;
}

.flex01 {
  display: flex;
  width: 100%;
  max-width: 1650px;
  align-items: center;
  height: auto;
  margin: 0 auto;
  justify-content: space-between;
}

.crea_wrap_side {
  width: 26%;
}

/* -------------------------レオン------------------------- */

#page04 {
  position: relative;
}

.reon_left {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 17vw;
  max-width: 350px;
  height: auto;
  z-index: 1;
}
.reon_right {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 26vw;
  max-width: 550px;
  height: auto;
  z-index: 1;
}

#page04 p {
  font-family: 'Noto Serif JP', serif;
}

.reon {
  position: relative;
  width: 90%;
  max-width: 1500px;
  height: auto;
  margin: 0 auto 3vw;
  aspect-ratio: 16 / 7.15;
  background: url(../cocoon-child-master/image/reon_main.webp) no-repeat center / cover;
  z-index: 5;
}

.reon h3 {
  margin: 0 auto;
  padding-top: 2vw;
  width: 75%;
  max-width: 1100px;
}

.reon_img {
    display: block;
    width: 40%;
    height: auto;
    margin: 0 auto 2vw;
}

.reon_flex01 {
  position: relative;
    display: flex;
    width: 90%;
    max-width: 1650px;
    align-items: center;
    height: auto;
    margin: 0 auto;
    padding-bottom: 5vw;
    justify-content: space-between;
    z-index: 5;
}

.reon_name {
  text-align: center;
  font-weight: 600;
  width: 43%;
}

.reon_wrap_side {
  width: 26%;
}

/* -------------------------ご利用の流れ------------------------- */

.use {
  padding: 5vw;
  width: 100%;
  height: auto;
  background: url(../cocoon-child-master/image/flow_back.webp) repeat center / contain;
}

.h2_wrap {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  font-size: min(3.42vw,40px); /*35px*/
  overflow: hidden;
}
.h2_wrap h2 {
  position: relative;
  display: inline-block;
  font-size: 1em;
}
.h2_wrap h2::after {
  position: absolute;
  content: "";
  top: 50%;
  right: calc(100% + 1em);
  transform: translate(0%,-40%);
  width: 50vw;
  height: .8em;
  background: #0dac67;
}
.h2_wrap h2::before {
  position: absolute;
  content: "";
  top: 50%;
  left: calc(100% + 1em);
  transform: translate(0%,-40%);
  width: 50vw;
  height: .8em;
  background: #0dac67;
}

.inner_01 {
    width: 70%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding: 5vw 0 0;
}

.use_sub {
  position: relative;
  border: solid min(.6vw,8px) #0dac67;
  border-radius: min(3vw,50px);
  background: #fff;
  margin-bottom: min(8vw,140px);
}
.use_sub::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translate(-50%,200%);
  width: 0;
  height: 0;
  border-left: min(3vw,50px) solid transparent;
  border-right: min(3vw,50px) solid transparent;
  border-top: min(3vw,50px) solid #0dac67;
}
.use_sub:nth-child(4)::before {
  display: none;
}
.use_sub:nth-child(4) {
  margin-bottom: min(2vw,35px);
}

.use_sub h3 {
  width: 100%;
  max-width: 100%;
  padding: .2em;
  font-size: min(2.93vw,35px); /*30px*/
  background: #0dac67;
  border-radius:min(1.5vw,30px) min(1.5vw,30px) 0 0 ;
  color: #fff;
}

.use .anno {
  margin-bottom: 10vw;
}

.use_sub p {
  padding: 1.5em;
  font-size: min(2.6vw,20px);
}

.use.anno {
  margin-bottom: 8vw;
}

.use_bottom {
  margin-bottom: 5vw;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .5);
}
.use_bottom01 {
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .5);
}

.use picture {
  display: block;
  margin-bottom: 1em;
}

/*-----------------------------便り-----------------------------*/

.news_back {
  padding: 5vw 0;
  width: 100%;
  height: auto;
  background: url(../cocoon-child-master/image/flow_back.webp) repeat center / cover;
}

.news_wrap {
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
}

.news_wrap img {
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .5);
}

/*-----------------------------求人問い合わせ-----------------------------*/

.recruit {
  position: relative;
  padding: 5vw 0;
}

.inner {
  width: 90%;
  margin: 0 auto;
  max-width: 1920px;

}

.rec_back {
  position: absolute;
  top: 0;
  right: 0;
  width: 15vw;
  height: auto;
  z-index: 1;
}

.recruit_wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8vw;
  z-index: 5;
}

.rec_left {
  width: 50%;
}
.rec_right {
  width: 42%;
}

.rec_h2 {
  font-size: min(2.93vw,40px);
}

.recruit_flex {
  display: flex;
  border: solid 1px #000;
  width: 100%;
}
.recruit_flex .wpcf7-form-control-wrap {
  width: 70%;
}

.item {
  width: 30%;
  text-align: center;
  align-content: center;
  padding: .5em;
  background: #0dac67;
  color: #fff;
  font-weight: 500;
  font-size: min(1.46vw, 18px);
}

.recruit_flex.wpcf7-form-control-wrap {
  display: block;
  width: 70%;
}

.recruit_box .wpcf7-form-control-wrap {
  display: block;
  border: solid;
  width:100%;
  margin-bottom: 1em;
  border: 0;
}
.recruit_box .wpcf7-form-control {
  display: block;
  border-radius: initial;
  border: solid min(.5vw, 1.5px) #000;
  }

.rec_right p {
  font-size: min(1.56vw,22px);
  font-weight: 500;
  text-align: justify;
}

.mail_sent {
  display: block;
  margin: 0 auto 2em;
  width: 20%;
}

.recruit_flex .wpcf7-form-control {
  display: block;
  height: 100%;
}

.quest {
  display: block;
  font-weight: 500;
  font-size: min(1.46vw, 18px);
}

input[type=submit] {
    background: #e60012;
    color: #fff;
    font-size: min(1.56vw,25px);
    font-weight: 600;
    border-radius: 4vw;
    line-height: 1;
    padding: .3em .3em .2em;
    border: solid min(.5vw,4px) #e60012;
}
input[type=submit]:hover {
  background: #fff;
  color: #e60012;
}
input[type=text],
input[type=email],
input[type=tel]{
  border-radius: 0;
}

.wpcf7-spinner {
  display: none;
}

.rec_add {
  display: flex;
  align-items: center;
  margin: 0 auto;
  justify-content: space-between;
  max-width: 1728px;
}

.rec_under_wrap {
  position: relative;
  z-index: 5;
}

.rec_add01 {
  display: block;
  margin: 0 auto 5vw;
  width: 50%;
  max-width: 864px;
}
.rec_add02 {
  width: 40%;
}

.rec_add03 {
  width: 53%;
}


/*-----------------------------入所に関するお問い合わせ-----------------------------*/

.admission {
  position: relative;
  padding: 5vw 0;
}
.adm_back01 {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  max-width: 800px;
  height: auto;
}
.adm_back02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 55%;
  max-width: 1000px;
  height: auto;
}

.adm_flex {
  position: relative;
  display: flex;
  justify-content: space-between;
  z-index: 5;
}

.adm_anno {
  font-size: min(1.36vw,17px);
  line-height: 1.2;
  margin-bottom: 1em;
}

.check_title {
  display: flex;
  font-size: min(1.46vw, 18px);
  border: solid 1.5px #000;
  margin-bottom: 1.5em;
  padding: .5em;
  background: #fff;
  }

.label_bottom {
  border: solid 1.5px #000;
  margin-bottom: 1.5em;
}

.check_item {
  width: 40%;
}
.check_box {
  display: block;
  width: 65%;
}
.item01 {
  width: 40%;
}
.admission_flex .wpcf7-form-control-wrap {
  width: 60%;

}
.admission_box {
  display: block;
  margin-bottom: 1em;
  padding: .5em;
  border: solid 1.5px #000;
}

.admission_box .wpcf7-form-control {
    display: block;
    border: 0;
}

.admission_flex {
  display: flex;
  padding: .5em;
  align-items: center;
  border: 0;
  background: #fff;
  }

.adm_wrap01 {
  width: 45%;
}
.adm_wrap02 {
  position: relative;
  padding-top: 2vw;
  width: 45%;
}
.adm_wrap02::before {
  position: absolute;
  content: "";
  top: 0;
  right: 100%;
  transform: translateX(-150%);
  width: min(2vw,20px);
  height: 100%;
  background: #0dac67;
}

.adm_bottom {
  font-size: min(1.46vw, 18px);
  text-align: justify;
  margin-bottom: 2vw;
}

.number_left {
  padding-left: 2em;
}
.number_left p {
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-bottom: .5em;
}

.qa_title {
  display: flex;
  align-items: center;
  margin-top: 3em;
  margin-bottom: 1em;
}

.qa {
  width: 20%;
  max-width: 100px;
}

.everyone p {
  font-size: min(1.75vw,27px);
  font-weight: 600;
  margin-bottom: 2em;
}
.everyone img {
  display: block;
  width: 70%;
  margin: 0 auto;
}

/*-----------------------------1023px以下-----------------------------*/

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

  .pc {
    display: none;
  }
  
  .sp {
    display: block;
  }

  .mobile-menu-buttons {
    display: none;
  }

  /* ヘッダー */

  .header {
    display: block;
  }

  .header-in {
    width: 40%;
  }

  .logo-image {
    padding: 2vw 0 0;
  }


  .header-nav {
    padding: 2vw 3vw;
  }

  .header-nav ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: auto;
    width: auto;
    justify-content: initial;
    max-height: 110px;
    padding-left: initial;
    padding-right: initial;
    gap: 2vw;
  }

  .header-nav ul li {
    height: 100%;
  }

  .header-nav ul li a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: min(3.12vw,16px); /*10px*/
    align-content: center;
    padding: .5em 0;
    text-align: center;
    border-radius: 2em;
  }

  /* トップ */

  .fv {
    max-height: initial;
    aspect-ratio: 10 / 4.3;
  }

    .slide-1 {
    background: url(../cocoon-child-master/image/sp_top_01.webp) no-repeat center / cover;
  }

  .slide-2 {
    background: url(../cocoon-child-master/image/sp_top_02.webp) no-repeat center / cover;
}

  .fv h3 {
    width: 65%;
    padding-top: 3vw;
  }

  .gray {
    height: 18vw;
  }

  .top_logo {
    width: 50%;
  }

  .sp_inner {
    width: 90%;
    margin: 0 auto;
  }

  .top_under {
    position: relative;
  }
  .top_under::before {
    background: url(../cocoon-child-master/image/sp_top_under.webp) no-repeat center / cover;
  }

  .under_wrap {
    display: none;
  }

  .sp_news,
  .sp_under_wrap {
    display: block;
  }

  .top_flex {
    display: flex;
    padding: 1em;
  }
  .top_flex a {
    font-size: min(4.37vw, 23px);
    color: #000;
    font-weight: 600;
    transition: .5s ease; 
   }
   .top_flex a:hover {
    opacity: .5;
   }

  .sp_news {
    font-size: min(4.37vw, 23px); /*14px*/
    font-weight: 500;
    color: #c30d23;
    padding-right: 1em;
  }

  .sp_under_wrap {
    position: relative;
    padding: 5vw 0;
  }

  .sp_top_text {
    text-align: center;
    color: #fff;
    margin-bottom: 1.5em;
    font-size: min(3.75vw,22px); /*12px*/
  }

  .sp_flex {
    display: flex;
    gap: 1em;
  }

  .sp_flex_wrap {
    width: 50%;
  }

  .sp_flex_img {
    display: flex;
    width: 100%;
    gap: 1em;
    margin-bottom: 1.2em;
  }

  .sp_flex_img img {
    width: calc((100% - 1em) / 2 );
    height: auto;
  }

  .sp_facility {
    text-align: center;
    color: #fff;
    font-size: min(4.37vw,23px); /*14px*/
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 1em;
  }

  .sp_facility_name {
    font-size: min(5.31vw,27px); /*17px*/
  }

  .sp_side_img {
    display: block;
    margin: 0 auto;
    width: 70%;
  }

  /* ---------------会社概要--------------- */

  .company {
    aspect-ratio: 9 / 16;
    background: url(../cocoon-child-master/image/sp_com_back.webp) no-repeat center / cover;
  }


  .comp_p,
  .text_purple,
  .minutes,
  .minutes_flex {
    font-size: min(3.75vw,18px);
  }

  .sp_bottom {
    margin-bottom: 2em;
  }


    .text_flex {
      display: block;
      margin: 0 auto;
    }
    .minutes_flex {
      display: block;
    }

    .com_left {
      width: 40%;
    }

    .com_center,
    .com_right {
      width: 100%;
    }

    .over {
      display: block;
      margin: 0 auto 2em;
      width: 100%;
      height: 20px;
      background: #1eaa39;
    }

    .sp_text_flex {
      display: flex;
      width: 90%;
      margin: 0 auto 2em;
      align-items: center;
      justify-content: space-between;
    }

    .sp_adress01 {
      width: 60%;
    }
    .sp_adress02 {
      width: 35%;
    }

    .sp_time {
      display: flex;
      width: 100%;
      margin: 0 auto;
      justify-content: space-between;
    }

    .map {
      width: 80%;
      margin-bottom: 2em;
    }

    .sp_time_wrap {
      width: 47%;
    }

    .anno {
      font-size: min(3.12vw,16px); /*10px*/
    }

  /* ---------------クレア--------------- */

    #page03 {
      padding-bottom: 5vw;
    }
    
    .crea {
      margin: 0 auto 4vw;
      width: 100%;
      aspect-ratio: 16 / 9.47;
      background: url(../cocoon-child-master/image/sp_crea_main.webp) no-repeat center / cover;
    }

    .crea h3 {
      width: 80%;
      max-width: initial;
    }

    .crea_name {
      width: 100%;
      padding: initial;
    }

    .size01 {
      font-size: min(5.31vw,35px); /*17px*/
    }
    .size02 {
      font-size: min(4.37vw,26px); /*14px*/
    }
    .size03 {
      font-size: min(3.75vw,22px); /*12px*/
      width: 90%;
      margin: 0 auto 2vw;
      text-align: center;
    }

    .crea_img {
      width: 30%;
      margin: 0 auto;
    }
    .crea_img::before  {
      width: 15vw;
      height: 12vw;
    }

    .sp_crea_img {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      gap: 3vw;
      width: 90%;
      margin: 0 auto 3vw;
    }

      .br_320 {
      display: none;
    }

  .sp_crea_wrap {
    position: relative;
    width: 100%;
    max-width: 1920px;
    height: auto;
    aspect-ratio: 16 / 15.88;
    align-content: center;
    background: url(../cocoon-child-master/image/sp_crea_back.webp) no-repeat center / cover;
  }

  .flow {
    width: 90%;
    max-width: initial;
    margin: 0 auto;
    text-align: center;
    font-size: min(3.75vw,22px); /*12px*/
  }

  /* ---------------レオン--------------- */

  .reon {
    margin: 0 auto 4vw;
    width: 100%;
    aspect-ratio: 16 / 9.47;
    background: url(../cocoon-child-master/image/sp_reon_main.webp) no-repeat center / cover;
  }

  .reon_name {
    position: relative;
    width: 100%;
    margin-bottom: 10vw;
    z-index: 5;
  }

  .reon_img {
    width: 30%;
    margin: 0 auto;
  }

  .sp_reon_wrap {
    position: relative;
    padding-bottom: 10vw;
    z-index: 5;
  }

  .sp_reon_img {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 3vw;
    width: 90%;
    margin: 0 auto;
  }

  #page04 .size03 {
    text-shadow: 2px 2px 2px #fff;
  }

  .sp_reon_back {
    position: absolute;
    bottom: 0;    left: 0;
    width: 100%;
    height: auto;
    z-index: 1;
  }

/* ---------------利用の流れ--------------- */

.inner_01 {
  width: 90%;
}

.use {
  padding: 10vw 0;
}

/* ---------------求人--------------- */

.recruit {
  padding: 10vw 0;
}

.rec_back {
  top: 10%;
  width: 75vw;
  max-width: 700px;
}

.recruit_wrap {
  display: block;
  margin-bottom: 10vw;
}

.rec_h2 {
  font-size: min(5.62vw,36px);
}

.quest {
  font-size: min(3.75vw, 18px);
}

.sent {
  margin: 0 auto 10vw;
}

input[type=submit] {
  font-size: min(4.37vw,25px); /*14px*/
}

.green_border {
  display: block;
  width: 100%;
  height: 2vw;
  background: #0dac67;
  margin-bottom: 7vw;
}

.rec_add01 {
  width: 70%;
}

.rec_left,
.rec_right {
  width: 100%;
}

.rec_right p {
  font-size: min(4.68vw,22px);
}

.item {
  font-size: min(3.75vw,18px);
  min-width: 145px;
}

  /* ---------------入所--------------- */

  .admission {
    padding: 10vw 0;
  }

  .adm_flex {
    display: block;
  }

  .adm_anno {
    font-size: min(3.15vw,15px);
  }

  .adm_wrap01 {
    position: relative;
    z-index: 5;
    width: 100%;
  }

  .adm_wrap02 {
    width: 90%;
    margin-left: auto;
    padding: 2vw 0;
  }
  .adm_wrap02::before {
    transform: initial;
    right: 108%;
    width: min(2.5vw, 20px)
  }

  .check_title,
  .adm_bottom {
    font-size: min(3.75vw, 18px);
  }

  .everyone p {
    font-size: min(4.37vw,22px);
    margin-bottom: 2vw;
  }

  .everyone img {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 10vw 0;
  }

}

/*----------------------------768px以下----------------------------*/

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

  /* トップ */

  .sp_flex {
    display: block;
  }

  .sp_flex_wrap {
    width: 100%;
    margin-bottom: 15vw;
  }
  .sp_flex_wrap:nth-child(2) {
    margin-bottom: 0;
  }

  .sp_under_wrap {
    padding: 10vw 0;
  }

  /* 会社概要 */

  .com_left {
    width: 60%;
  }

  /* クレア */

  .reon h3 {
    width: 90%;
  }

  .br_768 {
    display: none;
  }

  .sp_time {
    display: block;
  }
  .sp_time_wrap {
    width: 100%;
  }

  .br_320 {
    display: block;
  }

  .line_break02 {
    display: inline-block;
  }

    .sp_crea_wrap {
      aspect-ratio: 15 / 15.88;
    }

/* ---------------利用の流れ--------------- */

  .h2_wrap {
    font-size: min(5.31vw,30px); /*17px*/
  }

  .use_sub h3 {
    font-size: min(4.37vw,26px);
  }

  .use_sub p {
    padding: .8em;
    font-size: min(3.75vw,20px);
  }

  .anno {
    font-size: min(3.12vw,16px);
    text-align: left;
  }

/* ---------------便り--------------- */
  .news_back {
  padding: 10vw 0;
  }
/* ---------------求人--------------- */

.rec_right p {
  font-size: min(3.75vw,18px);
}

.rec_add {
  flex-direction: column-reverse;
}

.rec_add01 {
  width: 90%;
  margin: 0 auto 7vw;
}

.rec_add03 {
  margin-bottom: 7vw;
}

.rec_add02,
.rec_add03 {
  width: 90%;
}

.sent {
  width: 30%;
}


}

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

  /* トップ */

  .fv h3 {
    width: 80%;
  }

  .gray {
    height: 24vw;
  }

  .top_logo {
    width: 65%;
  }

    /* トップ */

    .recruit_flex {
      display: block;
      border: 0;
    }  

    .wpcf7-form-control-wrap {
      width: 100%;
    }

    .item {
      display: block;
      width: 40%;
      border: solid min(.5vw,1.5px) #000;
      border-bottom: 0;
      padding: .2em;
    }

    .recruit_flex [type=text],
    .recruit_flex input[type=email],
    .recruit_flex input[type=tel]{
      border: solid min(.5vw,1.5px) #000;
    }

    .check_title {
      display: block;
    }

    .check_title,
    .check_item,
    .check_box {
      width: 100%;
    }

    /* 利用の流れ */

    .h2_wrap h2::before {
      left: calc(100% + .5em);
    }
    .h2_wrap h2::after {
      right: calc(100% + .5em);
    }
}
