@charset "UTF-8";
/*--------------------- .mv_slider ---------------------*/
.slider_area {
  display: flex;
  margin-top: 85px;
}
.slider_box_01, .slider_box_02, .slider_box_03, .slider_box_04 {	
  background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
	display: flex;
	align-items: center;
	justify-content: center;
  padding-top: 55.5%;
  width: 100%;
}
.mv_slider { margin-top: 73px; }
.pc_slider_area {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
.pc_slider_box { width: 25%; }
.slider_list img { width: 100%; }

.sp_slider { display: none; }

/*--------------------- .entry_btn_none ---------------------*/
.entry_btn_none .header_btn, .entry_btn_none .entry_btn_sp { display: none; }
.entry_btn_none .header_inr { padding: 5px 15px 5px 5px; }
.entry_btn_none #page_top { bottom: 20px; }


/*--------------------- .inr ---------------------*/
.top_inr_01 { padding: 80px 0 65px; }
.top_inr_02 { padding: 100px 0 65px; width: 100%; }
.top_inr_03 { margin: 0 auto; padding: 67px 0 60px; width: 790px; }

/*--------------------- point_box ---------------------*/
.point_box { margin-bottom: 25px; }
.point_box .clm4 { padding: 20px !important; }
.point_list {
  background-color: #fff;
  border-radius: 3px 3px 0 0;
  padding: 10px 0 20px;
}
.point_list_shadow { box-shadow: 0 0 15px 5px rgba(133,133,133,0.25); }
.point_icon { line-height: 0; text-align: center; }
.point_icon img { height: 100px; width: auto; }
.point_ttl { line-height: 1.4; text-align: center; }
.point_ttl .txt {
  border-bottom: 1px solid #377c48;
  color: #377c48;
  display: inline;
  letter-spacing: 0.1em;
  padding-bottom: 8px;
  text-align: center;
}
.point_ttl .txt::after {
  content: "";
  display: block;
  padding-bottom: 25px;
}
.point_ttl .point {
  border-bottom: none;
  color: #377c48;
  font-weight: 100;
  font-size: 12px;
  font-style: italic;
  text-align: center;
}
.point_txt {
  background-color: #f2ffe9;
  border-radius: 0 0 3px 3px;
  font-size: 10px;
  padding: 15px 5px 20px;
  text-align: center;
}
.point_txt img { margin-bottom: 10px; width: 80%; }
.point_txt.img_m_t img { margin-top: 18px; }


/*--------------------- about ---------------------*/
.about .about_read_box { position: relative; }
.about .about_read_box::before {
  background: url(/img/kaigo/fresh/img/about_ttl_bg.png) top center no-repeat;
  content: "";
  display: block;
  height: 216px;
  position: absolute;
  top: 35px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 508px;
}
.about .about_txt {
  color: #377c48;
  font-weight: 200;
  margin: 30px 0;
  text-align: center;
}
.about_bg { line-height: 0; }
.about_bg img { height: auto; width: 100%; }


/*--------------------- story ---------------------*/
.story .story_read_box { position: relative; }
.story .story_read_box::before {
  background: url("/img/kaigo/fresh/img/story_ttl_bg.png") top center no-repeat;
  content: "";
  display: block;
  height: 220px;
  position: absolute;
  top: 30px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 471px;
}
/*--------------------- .story_box ---------------------*/
.story_box { margin-top: 180px; position: relative; }
.story_box .layout_01, .story_box .layout_02 {
  margin-bottom: 120px;
  min-height: 490px;
  position: relative;
}
.story_box .layout_01.last { margin-bottom: 50px; }
.story_img { position: relative; }
.story_img::before {
  content: "";
  display: block;
  height: 28rem;
  position: absolute;
  top: -65px;
  left: 40px;
  width: 28rem;
}
.story_img.story01::before { background: url("/img/kaigo/fresh/img/story_01.png") no-repeat; background-size: contain; }
.story_img.story02::before { background: url("/img/kaigo/fresh/img/story_02.png") no-repeat;  background-size: contain; }
.story_img.story03::before { background: url("/img/kaigo/fresh/img/story_03.png") no-repeat; background-size: contain; }
/*--------------------- .layout_01 ---------------------*/
.layout_01 .story_txt {
  background-color: #f2ffe9;
  padding-left: 55%;
  width: 100%;
}
.layout_01 .story_txt .txt_box { padding: 50px 55px; position: relative; }
.layout_01 .story_txt .txt_box > div { padding: 25px 30px; }
.layout_01 .story_txt .txt_box::before, .layout_01 .story_txt .txt_box::after {
  content: "";
  display: inline-block;
  height: 2rem;
  width: 2rem;
}
.layout_01 .story_txt .txt_box::before {
  background: url("/img/kaigo/fresh/img/story_box_r.png") top right no-repeat;
  background-size: contain;
  position: absolute;
  right: 55px;
}
.layout_01 .story_txt .txt_box::after {
  background: url("/img/kaigo/fresh/img/story_box_l.png") no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 50px;
  left: 55px;
}
.layout_01 .story_txt .story_ttl { margin-bottom: 15px; text-align: center; }
.layout_01 .story_txt .read_txt { margin-bottom: 20px; text-align: center;}
.layout_01 .txtbox._left { padding: 54px 0 80px 0; width: 58%; }
.layout_01 .story_img {
  background: url(/img/kaigo/fresh/img/story_mem_01.jpg) center center no-repeat;
  background-size: cover;
  height: 100%;
  max-width: 55%;
  position: absolute;
  top: -8%;
  left: 0;
  bottom: -8%;
  width: 100%;
}
.layout_01 .story_img._mem01 { background: url(/img/kaigo/fresh/img/story_mem_01.jpg) top center no-repeat; background-size: cover; }
.layout_01 .story_img._mem03 { background: url(/img/kaigo/fresh/img/story_mem_03.jpg) top center no-repeat; background-size: cover; }
.layout_01 .story_txt .story_ttl img { width: 80%; }

/*--------------------- .layout_02 ---------------------*/
.layout_02 .story_txt {
  background-color: #f2ffe9;
  padding-right: 55%;
  width: 100%;
}
.layout_02 .story_txt .txt_box { padding: 50px 55px; position: relative; }
.layout_02 .story_txt .txt_box > div { padding: 25px 30px; }
.layout_02 .story_txt .txt_box::before, .layout_02 .story_txt .txt_box::after {
  content: "";
  display: inline-block;
  height: 2rem;
  width: 2rem;
}
.layout_02 .story_txt .txt_box::before {
  background: url("/img/kaigo/fresh/img/story_box_r.png") no-repeat;
  background-size: contain;
  position: absolute;
  right: 55px;
}
.layout_02 .story_txt .txt_box::after {
  background: url("/img/kaigo/fresh/img/story_box_l.png") no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 50px;
  left: 55px;
}
.layout_02 .story_txt .story_ttl { margin-bottom: 10px; text-align: center; }
.layout_02 .story_txt .read_txt { margin-bottom: 20px; text-align: center;}
.layout_02 .txtbox._left { padding: 54px 0 80px 0; width: 58%; }
.layout_02 .story_img._mem02 {
  background: url(/img/kaigo/fresh/img/story_mem_02.jpg) top center no-repeat;
  background-size: cover;
  height: 100%;
  max-width: 55%;
  position: absolute;
  top: -8%;
  right: 0;
  bottom: -8%;
  width: 100%;
}
.layout_02 .story_txt .story_ttl img { width:  70%; }


/*--------------------- entry ---------------------*/
.entry {
  background: url("/img/kaigo/fresh/img/bg_02.png") no-repeat;
  background-size: cover;
  position: relative;
}
.entry::before {
  background: url("/img/kaigo/fresh/img/entry_ttl_bg.png") no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 218px;
  position: absolute;
  top: 20px;
  left: -5px;
  width: 447px;
}
.entry::after {
  background: url("/img/kaigo/fresh/img/entry_mem.png") no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 383px;
  position: absolute;
  bottom: -1px;
  left: 30px;
  width: 400px;
}
.entry .read_txt {
  color: #fff;
  font-size: 18px;
  font-weight: 100;
  line-height: 1.5;
  margin-bottom: 35px;
}

/*--------------------- .contents_box ---------------------*/
.contents_box {
  display: flex;
  margin: 0 -10px;
  padding: 0 10px;
}
.contents_list {
  padding: 10px 5px;
  width: 100%;
}
/*--------------------- .pre_entry_btn ---------------------*/
.pre_entry_btn a {
  background-color: #377c48;
  border: 3px solid #377c48;
  color: #fff;
  display: block;
  padding: 25px;
  text-align: center;
}
.pre_entry_btn a:hover {
  background-color: #fff;
  border: 3px solid #377c48;
  color: #377c48;
}
/*--------------------- .rec_box ---------------------*/
.rec_box { border-radius: 3px; box-shadow: 0 0 15px 5px rgba(133,133,133,0.25); }
.rec_box a { display: block; }
.rec_img {
  border-radius: 3px 3px 0 0;
  height: 100%;
  overflow: hidden;
  padding-top: 68%;
  position: relative;
}
.rec_img img {
  height: 100%;
  position: absolute;
  top: 0;
  left: -25%;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear;
  width: auto;
}
.rec_img img:hover {
  transform: scale(1.1);
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
.rec_txt {
  background-color: #0168b7;
  border-radius: 0 0 3px 3px;
  color: #fff;
  font-size: 18px;
  position: relative;
  text-align: center;
}
.rec_txt::after {
  content: "\f138";
  display: inline-block;
  font-family: FontAwesome;
  font-size: 20px;
  margin-top: -17px;
  position: absolute;
  top: 50%;
  right: 15px;
}
.rec_txt p {
  font-weight: bold;
  line-height: 1;
  padding: 20px 30px;
}
.rec_txt p span {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-style: italic;
  font-weight: 100;
  letter-spacing: 0.15em;
}
/*--------------------- .pre_box ---------------------*/
.pre_box {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 15px 5px rgba(133,133,133,0.25);
  padding: 30px 20px 20px;
}
.pre_box .bnr_list { margin: 0 -5px; overflow: hidden; }
.pre_box .bnr_list li {
  float: left;
  line-height: 0;
  padding: 0 5px;
  width: 50%;
}
.pre_box.bnr_none .bnr_list { margin: 0; }
.pre_box.bnr_none .bnr_list li {
  float: none;
  line-height: 0;
  padding: 10px 0;
  width: 50%;
  margin: 0 auto;
}
.pre_box .bnr_list li img { width: 100%; }
.pre_ttl {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 25px;
  text-align: center;
}
.pre_ttl span {
  color: #377c48;
  background: linear-gradient(0deg, #28bf81, #95d247);
  background: -moz-linear-gradient(0deg, #28bf81, #95d247);
  background: -webkit-linear-gradient(0deg, #28bf81, #95d247);
  background: -ms-linear-gradient(0deg, #28bf81, #95d247);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-style: italic;
  letter-spacing: 0.25em;
}



@media only screen and (max-width: 1700px) and (min-width: 1301px) {
  .top_inr_03 { margin: 0 0 0 450px; }
}
@media only screen and (max-width: 1300px) and (min-width: 767px) {
  .top_inr_01 { padding: 80px 50px 65px; }
  .top_inr_03 {
    margin: 0 0 0 45%;
    padding: 67px 0 60px;
    width: 50%;
  }
  .layout_01 .story_txt .story_ttl img { width: 100%; }
  .layout_02 .story_txt .story_ttl img { width: 70%; }
  .layout_03 .story_txt .story_ttl img { width: 100%; }
  .story_img::before { height: 17rem; width: 17rem; }
  .entry::after {
    bottom: 0;
    height: 28rem;
    width: 30rem;
  }
  .footer_inr { width: 60%; }
  .footer_gnav .footer_gnav_list { width: 100%; }
  .footer_gnav .footer_gnav_list li { margin-bottom: 10px; }
  .footer_logo { float: none; }
  .footer_about .about { float: none; margin: 13px 0 0 0; }
}


@media only screen and (max-width: 1300px) and (min-width: 1050px) {
  .pre_box { padding: 15px; }
  
  /*--------------------- .pre_entry_btn ---------------------*/
  .pre_entry_btn a {
    padding: 18px;
  }
}

@media only screen and (max-width: 1049px) and (min-width: 960px) {
  .pre_box { padding: 15px; }
  .pre_ttl { font-size: 14px; margin-bottom: 10px; }
  .pre_box.bnr_none .bnr_list li { padding: 5px 0; width: 80%; }
}

@media only screen and (max-width: 959px) and (min-width: 769px) {
  .rec_img { padding-top: 70%; }
  .rec_txt p { padding: 25px 30px; }
  .pre_box { padding: 25px 15px 15px; }
  .pre_ttl { font-size: 14px; margin-bottom: 15px; }
  .pre_box.bnr_none .bnr_list li { padding: 5px 0; width: 80%; }
  .pre_entry_btn a { padding: 18px; }
}

@media only screen and (max-width: 768px) and (min-width: 601px) {
  .pre_box.bnr_none .bnr_list li {
    float: none;
    line-height: 0;
    padding: 5px 0;
    width: 65%;
    margin: 0 auto;
  }
  .pre_box { padding: 20px; }
  .pre_ttl { font-size: 16px; margin-bottom: 15px; }
}


@media only screen and (max-width: 1300px) and (min-width: 320px) {
  .point_box { padding-bottom: 20px; }
  .point_box .clm4 { padding: 0 5px 10px !important; }
  .point_list { padding: 10px 5px 20px; }
  .point_ttl .point { font-size: 10px; }
  .point_ttl .txt { font-size: 14px; padding-bottom: 4px; }
}


@media only screen and (max-width: 768px) {
  /*--------------------- .mv_slider ---------------------*/
  .pc_slider_area { display: none !important; }
  .sp_slider { display: block; }
  
  /*--------------------- .inr ---------------------*/
  .top_inr_01 { padding: 50px 10px; }
  .top_inr_02 { padding: 50px 10px; }
  .top_inr_03 { margin: 0; padding: 50px 10px; width: 100%; }
  
  /*--------------------- about ---------------------*/
  .about .about_txt { font-size: 14px; text-align: left; }
  .about .about_read_box::before {
    background-size: contain;
    top: 5%;
    left: 50%;
    height: 108px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 254px;
  }
  /*.point_box { padding-bottom: 20px; }
  .point_box .clm4 { padding: 0 5px 10px !important; }
  .point_list { padding: 10px 5px 20px; }
  .point_ttl .point { font-size: 10px; }
  .point_ttl .txt { font-size: 14px; padding-bottom: 4px; }*/
  
  .about_bg {
    background: url("../img/kaigo/fresh/img/bg_01_sp.jpg") no-repeat;
    background-size: contain;
    padding-top: 100%;
  }
  .about_bg img { display: none; }
  
  /*--------------------- .story ---------------------*/
  .story .story_read_box::before {
    background-size: contain;
    top: 40%;
    left: 50%;
    height: 110px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 236px;
  }
  .story_box { margin-top: 100px; }
  .story_box .layout_01, .story_box .layout_02 {
    margin-bottom: 200px;
    min-height: 490px;
    position: relative;
  }
  .story_box .layout_01.btn_none, .story_box .layout_02.btn_none { min-height: 350px; }
  .layout_01 .story_img, .layout_02 .story_img {
    max-width: 100%;
    min-height: 50%;
    padding-top: 55%;
    position: static;
    top: 0;
    bottom: 0;
    width: 100%;
  }
  .story_img::before {
    height: 14rem;
    top: -40px;
    left: 10px;
    width: 14rem;
  }
  /*--------------------- layout ---------------------*/
  .story_box .layout_01, .story_box .layout_02 { margin-bottom: 80px; }
  .story_box .layout_01.last { margin-bottom: 0; }
  .layout_01 .story_txt { padding-left: 0; }
  .layout_02 .story_txt { padding-right: 0; }
  .layout_01 .story_txt .txt_box, .layout_02 .story_txt .txt_box { padding: 20px; }
  .layout_01 .story_txt .txt_box::before, .layout_02 .story_txt .txt_box::before { right: 20px; }
  .layout_01 .story_txt .txt_box::after, .layout_02 .story_txt .txt_box::after { bottom: 20px; left: 20px; }
  .layout_01 .story_txt .txt_box > div, .layout_02 .story_txt .txt_box > div { padding: 20px 10px; }
  .layout_01 .story_txt .story_ttl, .layout_02 .story_txt .story_ttl { margin-bottom: 5px; }
  .layout_01 .story_txt .story_ttl img,.layout_03 .story_txt .story_ttl img{ width: 100%; }
  .layout_02 .story_txt .story_ttl img { width: 80%; }
  .layout_01 .story_txt .read_txt, .layout_02 .story_txt .read_txt { font-size: 14px; }
  .layout_02 .story_img._mem02 {
    max-width: 100%;
    position: static;
    top: 0;
    bottom: 0;
    width: 100%;
  }
  
  /*--------------------- entry ---------------------*/
  .entry::before {
    opacity: 0.5;
    top: 10px;
    left: 0;
    overflow: hidden;
    width: 100%;
  }
  .entry::after { display: none; }
  .entry .read_txt { font-size: 14px; }
  /*--------------------- .rec_box ---------------------*/
  .rec_box { width: 100%; }
}
@media only screen and (max-width: 600px) {
  .contents_box { flex-wrap: wrap; margin: -10px; }
  .contents_list {
    padding: 10px 0;
    width: 100%;
  }
  .rec_img { padding-top: 40%; }
  .rec_img img {
    height: auto;
    right: 0;
    width: 130%;
  }
  /*--------------------- .pre_box ---------------------*/
  .pre_box { padding: 20px; }
  .pre_box .bnr_list { margin: 0 -5px; overflow: hidden; }
  .pre_box.bnr_none .bnr_list li {
    float: left;
    line-height: 0;
    padding: 0 5px;
    width: 50%;
    margin: 0 auto;
  }
  .pre_entry_btn { margin-bottom: 10px !important; width: 100% !important; }
}