@charset "UTF-8";
/*---------------------------------
  Basic
---------------------------------*/
body {
	color: #504434;
  font-family: "Kosugi Maru", 游ゴシック, YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Verdana, sans-serif;
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 500;
	line-height: 1.8em;
  letter-spacing: 0.05em;
	margin: 0;
	padding: 0;
  position: relative;
}

h1,h2,h3,h4,h5 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  letter-spacing: 0.1em;
	margin: 0;
	padding: 0;
}

img {
	width: 100%;
	border: 0;
	vertical-align: bottom;
  display: block;
}

p,ul,li,dl,dt,dd,th,td {
	margin: 0;
	padding: 0;
}

ol,ul,li {
	list-style: none;
}

i {
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

::selection {
	background: #edf6f9;
}

::-moz-selection {
	background: #edf6f9;
}

@media screen and (max-width: 896px) {	
	body {
		min-width: 300px;
	}
}

/*---------------------------------
  Link
---------------------------------*/
a:link, a:visited, a:hover, a:active {
	color: #504434;
	text-decoration: none;
}

.btn {
	max-width: 300px;
	color: #fff !important;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
	border-radius: 5em;
	padding: 1em 2em;
	display: block;
	position: relative;
}

.btn_forward:after {
	content: "\f105";
	font-family: 'Font Awesome 5 Free';
	position: absolute;
	right: 1.5em;
}

.btn_forward:hover:after {
	right: 1.3em;
	opacity: 0.8;
	transition: 0.3s;
}

.btn_back:after {
	content: "\f104";
	font-family: 'Font Awesome 5 Free';
	position: absolute;
	left: 1.5em;
}

.btn_back:hover:after {
	left: 1.3em;
	opacity: 0.8;
	transition: 0.3s;
}

/*---------------------------------
  Common
---------------------------------*/
.contents_wrap {
  margin-top: 7em;
}

.wrapper {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 1em;
}

.title_wrap {
  width: 100%;
  height: 350px;
  position: relative;
  margin-bottom: 1.5em;
}

.introduction_title {
  background: url("images/introduction/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.kaetsukan_title {
  background: url("images/kaetsukan/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.homecare_title {
  background: url("images/homecare/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.daycare_title {
  background: url("images/daycare/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.home-visit-nursing_title {
  background: url("images/home-visit-nursing/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.about_title {
  background: url("images/about/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.contact_title {
  background: url("images/contact/title.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.title_content {
  text-align: center;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

.title_content h2 {
  min-width: 30%;
  color: #0054a7;
  font-size: clamp(18px, 2vw, 28px);
  border-radius: 1em 1em 0 0;
  background: #fff;
  padding: 1em 5% 0.5em 5%;
  display: inline-block;
}

.title_content h2 span {
  font-size: clamp(14px, 1.5vw, 16px);
  display: block;
  margin-top: 0.5em;
}

.contents_title {
  font-size: clamp(21px, 3vw, 32px);
  margin-bottom: 2em;
  padding: 0.5em 0 0 0.8em;
  position: relative;
  z-index: 2;
}

.contents_title:before {
  content: '\f219';
  font-family: 'Font Awesome 5 Free';
  font-size: clamp(18px, 3vw, 42px);
  color: #deedf4;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.contents_title span {
  color: #dd6b74;
  font-size: clamp(12px, 2vw, 16px);
  margin-top: 1em;
  display: block;
}

.text_box p:nth-child(n+2) {
  margin-top: 1em;
}

.curtain::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #88b04b;
  transition: 1.3s;
  transform: translateX(0%);
  z-index: 2;
}

.curtain.show::before {
  transform: translateX(101%);
}

.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

@media print, screen and (max-width: 896px) {
  .contents_wrap {
    margin-top: 5em;
  }
  
  .wrapper {
    padding: 0 4%;
  }
  
  .title_wrap {
    height: 250px;
  }
  
  .title_content h2 {
    min-width: 50%;
  }
  
  .title_content h2 span {
    margin-top: 0.3em;
  }
}

@media print, screen and (max-width: 480px) {
  .contents_title span {
    margin-top: 0.5em;
  }
}

/*---------------------------------
  Pan
---------------------------------*/
.pan_box {
  font-size: 12px;
  border-radius: 5em;
  background: #f9f8f4;
  margin-left: 4%;
  padding: 0 1.5em;
  display: inline-block;
}

.pan_box li {
  color: #666;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  display: inline-block;
}

.pan_box li:nth-of-type(n+2):before {
  content: '\f105';
  font-family: 'Font Awesome 5 Free';
  padding-right: 1em;
}

.pan_box li a {
  color: #0054a7;
  padding: 0 0.5em;
}

.pan_box li a:hover {
  text-decoration: underline;
}

/*---------------------------------
  Header
---------------------------------*/
header {
  font-family: "Zen Maru Gothic", serif;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 1em 180px 1em 4%;
  position: relative;
}

h1 {
  font-size: clamp(21px, 2.5vw, 28px);
  font-weight: 800;
}

h1 span {
  font-size: clamp(14px, 3vw, 16px);
  font-weight: 700;
  display: block;
}

h1 a {
  color: #0054a7 !important;
}

header nav {
  width: 80%;
  max-width: 800px;
  border-radius: 2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  position: relative;
  padding: 0 1.5em;
}

.megamenu {
  height: 60px;
  line-height: 60px;
  font-size: clamp(14px, 1.5vw, 17px);
  font-weight: 700;
}

.megamenu:hover {
  border-radius: 0.5em 0.5em 0 0;
  background: #0054a7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.megamenu:hover a {
  color: #fff;
}

.megamenu > a {
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  padding: 0 1.5em;
}

.megamenu_content {
  width: 100%;
  line-height: 1.8em;
  border-radius: 1em;
  background: #f9f8f4;
  padding: 3em 2.5em;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 60px;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.5s ease;
  z-index: 3;
}

.megamenu:hover .megamenu_content {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.megamenu:hover .megamenu_content a {
  color: #504434;
}

.megamenu_content {
  display: flex;
  flex-wrap: wrap;
}

.megamenu_thumb {
  width: 40%;
}

.megamenu_thumb img {
  border-radius: 1em;
}

.megamenu_box {
  width: 60%;
  padding: 0.5em 0 0.5em 2em;
}

.megamenu_box h4 {
  width: 100%;
  font-size: clamp(14px, 1.5vw, 21px);
  margin-bottom: 0.5em;
  display: block;
  position: relative;
}

.megamenu_box h4 a {
  color: #0054a7 !important;
}

.megamenu_box h4 a:after {
	content: "\f35a";
	font-family: 'Font Awesome 5 Free';
  font-weight: 500;
  font-size: 120%;
  vertical-align: middle;
  padding-left: 0.5em;
}

.megamenu_box h4 a:hover:after {
  padding-left: 0.7em;
  transition: 0.3s;
}

.megamenu_box ul li {
  font-size: clamp(12px, 2vw, 16px);
  border-bottom: solid 1px #dfe1e5;
}

.megamenu_box ul li a {
  padding: 5px;
  position: relative;
  display: block;
}

.megamenu_box ul li a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.megamenu_box ul li a:after {
	content: "\f105";
	font-family: 'Font Awesome 5 Free';
  font-size: clamp(12px, 1.5vw, 14px);
  position: absolute;
  right: 5px;
}

.megamenu_box ul li a:hover:after {
  right: 2px;
  transition: 0.3s;
}

.megamenu_contact_box p:first-of-type {
  font-size: clamp(14px, 2vw, 24px);
  font-weight: 900;
  letter-spacing: 0.1em;
}

.megamenu_contact_box p:first-of-type:before {
	content: "\f095";
	font-family: 'Font Awesome 5 Free';
  font-size: clamp(14px, 2vw, 21px);
  margin-right: 0.5em;
}

.megamenu_contact_box p:last-of-type {
  color: #999;
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 500;
}

.nav_contact {
  width: 165px;
  color: #fff !important;
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 600;
  text-align: center;
  border-radius: 0 0 0 1em;
  background: #dd6b74;
  padding: 2em 0.5em;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.nav_contact:before {
	content: "\f0e0";
	font-family: 'Font Awesome 5 Free';
  font-size: clamp(14px, 2vw, 28px);
  font-weight: 500;
  display: block;
  margin-bottom: 0.3em;
}

.nav_contact:hover {
  background: #d33d49;
  transition: 0.3s;
}

@media print, screen and (max-width: 930px) {
  header nav,
  .nav_contact {
    display: none;
  }
}

/*---------------------------------
  Burger
---------------------------------*/
.burger_area {
	position: absolute;
	top: 10px;
	right: 0;
}

.btn_burger {
	display: flex;
	justify-content: flex-end;
}

.btn_burger a {
  z-index: 20;
  position: relative;
  width: 30px;
  height: 26px;
	display: block;
  cursor: pointer;
	margin: 15px;
}

.btn_burger a,
.btn_burger a span {
	display: inline-block;
  transition: all 0.3s;
  box-sizing: border-box;
}

.btn_burger a span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background: #0054a7;
  border-radius: 4px;
}

.btn_burger a span:nth-of-type(1) {
  top: 0;
}

.btn_burger a span:nth-of-type(2) {
  top: 11px;
}

.btn_burger a span:nth-of-type(3) {
  bottom: 0;
}

.btn_burger a.active span:nth-of-type(1) {
  -webkit-transform: translateY(11px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}

.btn_burger a.active span:nth-of-type(2) {
  opacity: 0;
}

.btn_burger a.active span:nth-of-type(3) {
  -webkit-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
}

.burger_content {
  width: 100%;
  height: 100%;
  background: #f9f8f4;
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  z-index: 10;
}

.burger_content.open {
	display: block;
}

.burger_content.close {
	display: none;
}

.burger_box {
	height: 100%;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 5em 1.5em;
}

.burger_box .about_name {
  border-bottom: solid 1px #dfe1e5;
  padding: 1em 0.5em;
}

.burger_box .about_name .about_logo {
  width: 55px;
}

.burger_box .about_name .about_logo img {
  height: 55px;
  object-fit: cover;
}

.burger_box .about_name h4 {
  color: #0054a7;
  font-size: 14px;
  line-height: 1.5em;
  padding-right: 1em;
}

.burger_box .about_name h4 span {
  color: #504434;
}

.burger_box .about_name:after {
	content: "\f35a";
	font-family: "Font Awesome 5 Free";
  color: #0054a7;
  font-size: 14px;
  font-weight: 600;
  position: absolute;
  right: 4%;
}

@media print, screen and (min-width: 931px) {
	.burger_area {
		display: none;
	}
}

/*---------------------------------

  Contents

---------------------------------*/
/*---------------------------------
  Contents Common
---------------------------------*/
/* とは */
.whats_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.whats_box {
  width: 50%;
}

.whats_box .text_box p {
  line-height: 2.5em;
}

.whats_thumb {
  width: 40%;
  position: relative;
  margin-top: 3em;
  overflow: hidden;
}

.whats_thumb:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: 1.3s;
  transform: translateX(0%);
  z-index: 2;
}

.whats_thumb.show:before {
  transform: translateX(101%);
}

.whats_thumb img {
  border-radius: 1.5em;
}

.whats_thumb div {
  position: relative;
  padding: 3em 3em 2em 2em;
}

.whats_thumb div:before {
  content: '';
  width: 80px;
  height: 80px;
  border-radius: 1em;
  background: #88b04b;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.whats_thumb div:after {
  content: '';
  width: 200px;
  height: 200px;
  border-radius: 1.5em;
  background: #e6ae5b;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}

@media print, screen and (max-width: 896px) {
  .whats_content {
    flex-direction: column-reverse;
  }
  
  .whats_box,
  .whats_thumb {
    width: 100%;
  }
  
  .whats_box {
    margin-top: 4em;
  }
  
  .whats_thumb {
    max-width: 500px;
    margin: 0 auto;
  }
  
  .whats_thumb div {
    padding: 2em 2em 1em 1em;
  }
  
  .whats_thumb div:before {
    width: 80px;
    height: 80px;
  }
  
  .whats_thumb div:after {
    width: 150px;
    height: 150px;
  }
}

@media print, screen and (max-width: 480px) {
  .whats_thumb div:before {
    width: 60px;
    height: 60px;
  }
  
  .whats_thumb div:after {
    width: 120px;
    height: 120px;
  }
}

/* サービスリスト */
.service_list_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.service_list_inner {
  width: 46.5%;
  border-radius: 0.8em;
  background: #fff;
  overflow: hidden;
}

.service_list_thumb img {
  height: 250px;
  object-fit: cover;
}

.service_list_text {
  padding: 2.5em 1.5em 2em 1.5em;
  position: relative;
}

.service_list_text i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  background: #88b04b;
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.service_list_text h4 {
  font-size: clamp(16px, 2.5vw, 24px);
  text-align: center;
  line-height: 1.8em;
  margin-bottom: 0.5em;
}

@media print, screen and (max-width: 896px) {
  .service_list_box {
    flex-direction: column;
  }
  
  .service_list_inner {
    width: 100%;
  }
  
  .service_list_thumb img {
    height: 180px;
  }
}

/* ご案内 */
.guide_box dl {
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #dfe1e5;
}

.guide_box dl dt,
.guide_box dl dd {
  border-bottom: solid 1px #dfe1e5;
  padding: 1em 1.5em;
}

.guide_box dl dt {
  width: 20%;
  max-width: 230px;
  font-weight: 600;
  background: #fcf5e7;
}

.guide_box dl dd {
  width: calc(100% - 20%);
}

.guide_box dl dd span {
  display: inline-block;
  padding-right: 10px;
}

@media print, screen and (max-width: 896px) {
  .guide_box dl {
    flex-direction: column;
  }
  
  .guide_box dl dt,
  .guide_box dl dd {
    width: 100%;
    max-width: none;
    text-align: center;
  }
  
  .guide_box dl dt {
    padding: 0.5em 0;
  }
  
  .guide_box dl dd {
    padding: 1.5em 1em;
  }
}

/*---------------------------------

  Index

---------------------------------*/
/*---------------------------------
  Hero
---------------------------------*/
.hero_wrap {
  position: relative;
}

.hero_contents {
  height: 90vh;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.hero_contents:after {
  content: '';
  width: 100%;
  height: 60%;
  background: #fcf5e7;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.hero_box {
  width: 50%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  position: absolute;
  left: 10%;
  top: 0;
}

.hero_box h2 {
  font-size: clamp(21px, 2vw, 42px);
  writing-mode: vertical-rl;
  line-height: 2em;
  margin-bottom: 2em;
  position: relative;
}

.hero_box h2:before,
.hero_box h2:after {
  content: '\f219';
  font-family: 'Font Awesome 5 Free';
  mix-blend-mode: multiply;
  position: absolute;
  z-index: -1;
}

.hero_box h2:before {
  font-size: clamp(21px, 2.5vw, 42px);
  color: #deedf4;
  top: -1em;
  right: -60px;
}

.hero_box h2:after {
  font-size: clamp(16px, 2.2vw, 32px);
  color: #f5e1c4;
  top: -0.5em;
  right: -53px;
}

.hero_text_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}

.hero_text_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

.hero_box h3 {
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 2em;
}

.hero_box h3 span {
  display: block;
}

.hero_thumb {
  width: 70%;
  height: 100%;
  margin-left: auto;
}

.hero_thumb img {
  height: 100%;
  border-radius: 3em 0 0 3em;
  object-fit: cover;
  overflow: hidden;
}

@media print, screen and (max-width: 896px) {
  .hero_contents {
    height: 80vh;
  }
  
  .hero_box {
    left: 5%;
  }
  
  .hero_box h2:before {
    top: -2em;
    right: -10px;
  }
  
  .hero_box h2:after {
    top: -1.7em;
    right: -7px;
  }
  
  .hero_box h3 span:nth-of-type(n+2) {
    display: inline;
  }
}

@media print, screen and (max-width: 480px) {
  .hero_thumb {
    width: 65%;
  }
}

/*---------------------------------
  フリーデンについて
---------------------------------*/
.index_about_wrap {
  background: #fcf5e7;
  padding: 5em 0 4em 0;
  position: relative;
}

.index_about_wrap:after {
  content: '';
  position: absolute;
  height: 100px;
  width: 100%;
  clip-path: polygon(0 0,50% 100%,100% 0);
  background-color: #fcf5e7;
  left: 0;
  bottom: -100px;
}

.index_about_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.index_about_box {
  width: 50%;
}

.index_about_box h2 {
  font-size: clamp(21px, 3vw, 36px);
  line-height: 1.8em;
  margin-bottom: 1em;
}

.index_about_box h2 span {
  display: block;
}

.index_about_box .text_box p {
  line-height: 2.2em;
}

.index_about_box .btn {
  background: #dd6b74;
  margin-top: 3em;
}

.index_about_box .btn:hover {
  background: #d33d49;
  transition: 0.3s;
}

.index_about_thumb {
  width: 40%;
}

@media print, screen and (max-width: 896px) {
  .index_about_wrap:after {
    height: 50px;
    bottom: -50px;
  }
  
  .index_about_contents {
    flex-direction: column-reverse;
  }
  
  .index_about_box,
  .index_about_thumb {
    width: 100%;
  }
  
  .index_about_box h2 {
    text-align: center;
  }
  
  .index_about_box h2 span {
    display: inline-block;
  }
  
  .index_about_box .btn {
    margin: 3em auto 0 auto;
  }
  
  .index_about_thumb {
    width: 90%;
    max-width: 400px;
    margin: 0 auto 3em auto;
  }
}

/*---------------------------------
  フリーデンの5つの事業
---------------------------------*/
.service_wrap {
  overflow: hidden;
  margin-top: 12em;
}

.service_wrap h2 {
  font-size: clamp(21px, 3.5vw, 42px);
  text-align: center;
  margin-bottom: 2em;
}

.service_wrap h2 span {
  width: 70px;
  height: 70px;
  line-height: 65px;
  color: #fff;
  text-align: center;
  letter-spacing: normal;
  border-radius: 50%;
  background: #0054a7;
  display: inline-block;
  margin: 0 10px;
}

.service_content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.service_content:nth-of-type(n+2) {
  margin-top: 6em;
}

.service_thumb {
	width: 55%;
  padding: 4em 0;
  position: relative;
}

.service_thumb:after {
  content: '';
  width: 0;
  height: 100%;
  border-radius: 2em 0 0 2em;
  background: #fcf5e7;
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  transition: width 1s ease-in-out;
}

.service_thumb.animate:after {
  width: 75%;
}

.service_thumb img {
  height: 100%;
  max-height: 500px;
	object-fit: cover;
  object-position: top center;
}

.service_thumb_right {
	flex: 1;
	margin-right: calc(50% - 50vw);
	margin-left: 10%;
}

.service_thumb_right:after {
  right: 0;
}

.service_thumb_left {
	flex: 1;
	margin-left: calc(50% - 50vw);
	margin-right: 10%;
}

.service_thumb_left:after {
  border-radius: 0 2em 2em 0;
}

.service_box {
	width: 35%;
  padding: 5em 1em;
}

.service_box h3 {
  font-size: clamp(21px, 3vw, 42px);
  line-height: 1.5em;
  position: relative;
}

.service_box h3 span {
  color: #deedf4;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(36px, 5vw, 80px);
  font-weight: 900;
  position: absolute;
  top: -0.5em;
  left: -15px;
  z-index: -1;
}

.service_box h4 {
  color: #0054a7;
  font-size: clamp(12px, 3vw, 18px);
  margin: 0.5em 0 2em 0;
}

.service_box h4:before {
  content: '';
  width: 25px;
  height: 3px;
  background: #0054a7;
  vertical-align: middle;
  display: inline-block;
  margin-right: 0.5em;
}

.service_box h5 {
  font-size: clamp(16px, 3vw, 21px);
  line-height: 2.5em;
  display: inline;
  padding-bottom: 10px;
  background:
    linear-gradient(to right,
      rgba(228,172,91) 0%,
      rgba(228,172,91) 50%,
      rgba(255,0,0,0) 51%,
      rgba(255,0,0,0) 100%)
    repeat-x left bottom/10px 3px;
}

.service_box .text_box {
  margin-top: 2em;
}

.service_box .btn {
  background: #dd6b74;
  margin-top: 4em;
}

.service_box .btn:hover {
  background: #d33d49;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .service_wrap {
    margin-top: 8em;
  }
  
  .service_wrap h2 span {
    width: 50px;
    height: 50px;
    line-height: 45px;
    margin: 0 5px;
  }
  
  .service_content {
    flex-direction: column-reverse;
  }
  
  .service_content:nth-of-type(even) {
    flex-direction: column;
  }
  
  .service_thumb,
  .service_box {
    width: 100%;
  }
  
  .service_thumb {
    padding: 3em 0;
  }
  
  .service_box {
    padding: 3em 1em 0 1em;
  }
  
  .service_box h3 br {
    display: none;
  }
  
  .service_box h4:before {
    width: 20px;
    height: 2px;
  }
  
  .service_box .btn {
    margin: 3em auto 0 auto;
  }
}

/*---------------------------------
  Common Contact
---------------------------------*/
.common_contact_wrap {
  background: linear-gradient(180deg, #fff 0%, #fff 50%, #fcf5e7 50%, #fcf5e7 100%);
}

.common_contact_content {
  border-radius: 2em 2em 0 0;
  background: #f6e0b5;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 5em 6% 3em 6%;
  position: relative;
}

.common_contact_content:before,
.common_contact_content:after {
  content: "\f111";
  font-family: 'Font Awesome 5 Free';
  color: #fff;
  font-size: clamp(16px, 2vw, 24px);
  font-weight: 600;
  position: absolute;
  top: 1em;
}

.common_contact_content:before {
  left: 3%;
}

.common_contact_content:after {
  right: 3%;
}

.common_contact_content h2 {
  width: 25%;
  font-size: clamp(21px, 2vw, 32px);
}

.common_contact_content h2 span {
  color: #dd6b74;
  font-size: clamp(12px, 2vw, 16px);
  margin-top: 0.5em;
  display: block;
}

.common_contact_box {
  width: 70%;
}

.common_contact_box h3 {
  font-size: clamp(16px, 2vw, 21px);
  margin-bottom: 1em;
}

.common_contact_inner {
  margin-top: 2em;
}

.common_contact_inner ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 600;
}

.common_contact_inner ul li {
  width: calc(100% / 2 - 1em);
  height: 65px;
  text-align: center;
  letter-spacing: 0.1em;
  border-radius: 5em;
  margin: 0.5em;
  padding: 0.8em 0.5em;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.common_contact_inner ul li:first-of-type {
  font-size: clamp(18px, 2vw, 24px);
  background: #fff;
}

.common_contact_inner ul li:first-of-type a {
  color: #504434 !important;
}

.common_contact_inner ul li:first-of-type:before,
.common_contact_inner ul li:last-of-type:before {
  font-family: "Font Awesome 5 Free";
	width: 40px;
	height: 40px;
  color: #fff;
	font-size: 14px;
	text-align: center;
	line-height: 40px;
	border-radius: 50%;
	display: inline-block;
	vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 1em;
}

.common_contact_inner ul li:first-of-type:before {
  content: "\f095";
  background: #dd6b74;
}

.common_contact_inner ul li:last-of-type:before {
  content: "\f0e0";
  color: #dd6b74;
  background: #fff;
}

.common_contact_inner ul li:last-of-type {
  background: #dd6b74;
  cursor: pointer;
}

.common_contact_inner ul li:last-of-type:hover {
  background: #d33d49;
  transition: 0.3s;
}

.common_contact_inner ul li:last-of-type a {
  color: #fff;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

@media print, screen and (max-width: 896px) {
  .common_contact_content {
    flex-direction: column;
    padding: 3em 6%;
  }
  
  .common_contact_content:before {
    left: 5%;
  }
  
  .common_contact_content:after {
    right: 5%;
  }
  
  .common_contact_content h2,
  .common_contact_box {
    width: 100%;
  }
  
  .common_contact_content h2 {
    text-align: center;
    margin-bottom: 1.5em;
  }
  
  .common_contact_inner ul {
    flex-direction: column;
  }
  
  .common_contact_inner ul li {
    width: 100%;
    margin: 0.5em 0;
  }
}

/*---------------------------------

  職業紹介

---------------------------------*/
/*---------------------------------
  職業紹介の流れ
---------------------------------*/
.introduction_flow_wrap {
  background: #fcf5e7;
  padding: 7em 0;
}

.introduction_flow_first {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.introduction_flow_first .introduction_flow_box {
  width: 47%;
  margin-top: 0;
}

.introduction_flow_first .introduction_flow_inner {
  padding: 2em;
}

.introduction_flow_first .introduction_flow_thumb {
  width: 21%;
  right: 8%;
}

.introduction_flow_box {
  display: flex;
  flex-wrap: wrap;
  border-radius: 1em;
  background: #fff;
  position: relative;
  margin-top: 60px;
}

.introduction_flow_box:after {
  content: "\f0dd";
  font-family: 'Font Awesome 5 Free';
  color: #dd6b74;
  font-size: clamp(28px, 5vw, 60px);
  font-weight: 600;
  text-align: center;
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  z-index: 1;
}

.introduction_flow_number {
  width: 80px;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(12px, 2vw, 16px);
  text-align: center;
  border-radius: 1em 0 0 1em;
  background: #dd6b74;
  padding: 2em 1em;
}

.introduction_flow_number p span {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 900;
  line-height: 1.3em;
  display: block;
}

.introduction_flow_inner {
  width: calc(100% - 80px);
  padding: 2em 15% 2em 2em;
}

.introduction_flow_inner h4 {
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(16px, 2vw, 24px);
  font-weight: 600;
  margin-bottom: 0.5em;
}

.introduction_flow_inner ul li {
  list-style: disc inside;
  text-indent: -1em;
  padding-left: 1em;
}

.introduction_flow_thumb {
  width: 10%;
  min-width: 70px;
  position: absolute;
  bottom: 0;
  right: 4%;
}

.introduction_flow_last:after {
  display: none;
}

@media print, screen and (max-width: 896px) {
  .introduction_flow_wrap {
    padding: 5em 0;
  }
  
  .introduction_flow_first {
    flex-direction: column;
  }
  
  .introduction_flow_first .introduction_flow_box {
    width: 100%;
  }
  
  .introduction_flow_first .introduction_flow_box:first-of-type {
    border-radius: 1em 1em 0 0;
  }
  
  .introduction_flow_first .introduction_flow_box:first-of-type:after {
    display: none;
  }
  
  .introduction_flow_first .introduction_flow_box:first-of-type .introduction_flow_number {
    border-radius: 1em 0 0 0;
  }
  
  .introduction_flow_first .introduction_flow_box:nth-of-type(2) {
    position: inherit;
    border-radius: 0 0 1em 1em;
  }
  
  .introduction_flow_first .introduction_flow_box:nth-of-type(2) .introduction_flow_number {
    border-radius: 0 0 0 1em;
  }
  
  .introduction_flow_first .introduction_flow_box:nth-of-type(2) .introduction_flow_number p {
    display: none;
  }
  
  .introduction_flow_first .introduction_flow_box:nth-of-type(2) .introduction_flow_inner {
    padding-top: 0;
  }
  
  .introduction_flow_first .introduction_flow_thumb {
    width: 10%;
    min-width: 70px;
    right: 4%;
  }
  
  .introduction_flow_number {
    width: 70px;
  }
  
  .introduction_flow_thumb {
    bottom: inherit;
    top: -1.5em;
  }
  
  .introduction_flow_inner {
    width: calc(100% - 70px);
  }
}

/*---------------------------------
  介護士・看護師紹介
---------------------------------*/
.introduction_caregiver_wrap {
  position: relative;
  padding-bottom: 5em;
}

.introduction_caregiver_wrap:after {
  content: '';
  width: 65%;
  height: 60%;
  border-radius: 10em 0 0 10em;
  background: #eff5e7;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}

.introduction_caregiver_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.introduction_caregiver_box {
  width: 40%;
}

.introduction_caregiver_box .text_box p {
  line-height: 2.5em;
}

.introduction_caregiver_thumb {
  width: 50%;
  border-radius: 1.5em;
  position: relative;
  overflow: hidden;
}

.introduction_caregiver_thumb img {
  height: 100%;
  object-fit: cover;
}

@media print, screen and (max-width: 896px) {
  .introduction_caregiver_wrap:after {
    height: 80%;
    border-radius: 3em 0 0 3em;
  }
  
  .introduction_caregiver_content {
    flex-direction: column-reverse;
  }
  
  .introduction_caregiver_box {
    width: 100%;
  }
  
  .introduction_caregiver_thumb {
    width: 85%;
    margin-left: auto;
    margin-bottom: 4em;
  }
}

/*---------------------------------
  家政婦(夫)紹介
---------------------------------*/
.introduction_trouble_wrap {
  background: linear-gradient(180deg, #fff 0%, #fff 50%, #fcf5e7 50%, #fcf5e7 100%);
}

.trouble_content {
  border-radius: 1em;
  background: #deedf4;
  padding: 4em 4%;
  position: relative;
}

.trouble_content:after {
  content: '';
	position: absolute;
  bottom: -40px;
  left: 50%;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 40px 40px 0 40px;
	border-color: #deedf4 transparent transparent transparent;
	margin-left: -40px;
	display: block;
}

.trouble_content h4 {
  font-size: clamp(16px, 2vw, 24px);
  text-align: center;
  margin-bottom: 2em;
}

.trouble_content h4 span {
  color: #dd6b74;
  font-size: clamp(12px, 2vw, 18px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 1em;
}

.trouble_content h4 span:before, .trouble_content h4 span:after {
  content: '';
  width: 2px;
  height: 30px;
  background-color: #dd6b74;
  display: block;
}

.trouble_content h4 span:before {
  margin-right: 1.5em;
  transform: rotate(-15deg);
}

.trouble_content h4 span:after {
  margin-left: 1.5em;
  transform: rotate(15deg);
}

.trouble_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}

.trouble_thumb {
  width: 10%;
  min-width: 70px;
  position: absolute;
  top: 75px;
}

.trouble_thumb_left {
  left: 12%;
}

.trouble_thumb_right {
  right: 12%;
}

.trouble_inner {
  width: calc(100% / 3 - 2em);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  margin: 0.5em 1em;
}

.trouble_inner:nth-of-type(n+4) {
  margin-top: 3em;
}

.trouble_inner h5 {
  width: 100%;
  color: #0054a7;
  font-size: clamp(14px, 2vw, 16px);
  text-align: center;
  line-height: 1.8em;
  border-radius: 5em;
  background: #fff;
  margin: 0 auto 1.5em auto;
  padding: 1em 1.5em;
  position: relative;
}

.trouble_inner h5:before,
.trouble_inner h5:after {
	content: "\f111";
	font-family: 'Font Awesome 5 Free';
  color: #fff;
  font-weight: 600;
  position: absolute;
}

.trouble_inner h5:before {
  font-size: clamp(10px, 2vw, 12px);
  bottom: -3.5em;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.trouble_inner h5:after {
  font-size: clamp(14px, 2vw, 16px);
  bottom: -1.8em;
  left: 53%;
}

@media print, screen and (max-width: 1000px) {
  .trouble_inner {
    width: calc(100% / 2 - 2em);
  }
  
  .trouble_inner:nth-of-type(n+3) {
    margin-top: 3em;
  }
}

@media print, screen and (max-width: 680px) {
  .trouble_box {
    flex-direction: column;
  }
  
  .trouble_content:after {
    bottom: -20px;
    border-width: 20px 20px 0 20px;
    margin-left: -20px;
  }
  
  .trouble_content h4 span:before, .trouble_content h4 span:after {
    height: 20px;
  }
  
  .trouble_thumb {
    top: -1em;
  }
  
  .trouble_thumb_left {
    left: 6%;
  }
  
  .trouble_thumb_right {
    right: 6%;
  }
  
  .trouble_inner {
    width: 100%;
    margin: 0;
  }
  
  .trouble_inner:nth-of-type(n+2) {
    margin-top: 2em;
  }
  
  .trouble_inner h5 br {
    display: none;
  }
  
  .trouble_box .trouble_inner:first-of-type br,
  .trouble_box .trouble_inner:nth-of-type(3) br {
    display: block;
  }
}

/*---------------------------------
  サービス内容
---------------------------------*/
.introduction_housekeeper_wrap {
  background: #fcf5e7;
  padding: 3em 0 7em 0;
}

.introduction_housekeeper_catch {
  margin: 2em 0 5em 0;
  padding-top: 3em;
  position: relative;
}

.introduction_housekeeper_catch h4 {
  font-size: clamp(16px, 2vw, 24px);
  text-align: center;
  line-height: 2.5em;
}

.introduction_housekeeper_catch h4 span {
  color: #fff;
  border-radius: 0.2em;
  background: #dd6b74;
  margin: 0 0.5em;
  padding: 0.3em 0.5em;
}

.housekeeper_catch_thumb {
  width: 13%;
  min-width: 90px;
  position: absolute;
  top: 0;
}

.housekeeper_catch_thumb_left {
  left: 4%;
}

.housekeeper_catch_thumb_right {
  right: 4%;
}

.introduction_housekeeper_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  border-radius: 1em;
  background: #fff;
  margin-top: 4em;
  padding: 4em 4%;
}

.introduction_housekeeper_thumb {
  width: 30%;
  border-radius: 0.8em;
  overflow: hidden;
  position: relative;
}

.introduction_housekeeper_column {
  width: 65%;
}

.introduction_housekeeper_box h5 {
  font-size: clamp(16px, 2vw, 24px);
  margin-bottom: 1em;
  position: relative;
}

.introduction_housekeeper_box h5 i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  font-size: clamp(14px, 1.5vw, 16px);
  text-align: center;
  letter-spacing: normal;
  border-radius: 50%;
  background: #88b04b;
  display: inline-block;
  margin-right: 1em;
}

.introduction_housekeeper_inner {
  border-top: dashed 1px #dfe1e5;
  margin-top: 2em;
}

.introduction_housekeeper_inner dl:nth-of-type(n+2) {
  border-top: dashed 1px #dfe1e5;
  margin-top: 1em;
}

.introduction_housekeeper_inner dl {
  display: flex;
  flex-wrap: wrap;
  padding: 1em 0.5em 0 0.5em;
}

.introduction_housekeeper_inner dl dt {
  width: 150px;
  color: #666;
  font-weight: 600;
  padding-top: 8px;
}

.introduction_housekeeper_inner dl dd {
  width: calc(100% - 150px);
}

.introduction_housekeeper_box:nth-of-type(n+3) ul {
  padding: 1em 0.5em 0 0.5em;
}

.introduction_housekeeper_inner ul li {
  color: #88b04b;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 600;
  line-height: 1.8em;
  border-radius: 3px;
  background: #f9f8f4;
  margin: 5px 0;
  padding: 5px 0.7em;
  display: inline-block;
}

.introduction_housekeeper_box:last-of-type h5 i {
  background: #dd6b74;
}

.introduction_housekeeper_box:last-of-type .introduction_housekeeper_inner ul li {
  color: #dd6b74;
}

@media print, screen and (max-width: 896px) {
  .introduction_housekeeper_wrap {
    padding: 3em 0 5em 0;
  }
  
  .introduction_housekeeper_catch {
    margin-top: 0;
    margin-bottom: 0;
  }
  
  .introduction_housekeeper_catch h4 br {
    display: none;
  }
  
  .housekeeper_catch_thumb {
    top: -5em;
  }
  
  .introduction_housekeeper_box {
    flex-direction: column;
    padding: 0;
  }
  
  .introduction_housekeeper_thumb,
  .introduction_housekeeper_column {
    width: 100%;
  }
  
  .introduction_housekeeper_thumb {
    border-radius: 0.8em 0.8em 0 0;
  }
  
  .introduction_housekeeper_thumb img {
    height: 300px;
    object-fit: cover;
  }
  
  .introduction_housekeeper_column {
    padding: 2em 4%;
  }
  
  .introduction_housekeeper_box h5 i {
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
  
  .introduction_housekeeper_inner dl dt {
    width: 120px;
  }
  
  .introduction_housekeeper_inner dl dd {
    width: calc(100% - 120px);
  }
}

@media print, screen and (max-width: 480px) {
  .introduction_housekeeper_thumb img {
    height: 200px;
  }
}

/*---------------------------------

  嘉悦館

---------------------------------*/
/*---------------------------------
  動画
---------------------------------*/
.kaetsukan_facility_wrap {
  background: #fcf5e7;
  padding: 7em 0;
  overflow: hidden;
}

/*
.kaetsukan_movie_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.kaetsukan_movie_inner {
  width: 40%;
}
*/

.kaetsukan_movie_inner .text_box p:last-of-type,
.kaetsukan_floor_inner .text_box p:last-of-type {
  font-size: clamp(12px, 2vw, 14px);
  text-indent: -1em;
  padding-left: 1em;
}

.kaetsukan_movie_iframe {
  width: 50%;
  aspect-ratio: 16 / 9;
  border-radius: 1em;
  overflow: hidden;
}

.kaetsukan_movie_iframe iframe {
  width: 100%;
  height: 100%;
}

.kaetsukan_movie_box h4,
.kaetsukan_floor_content h4 {
  color: #88b04b;
  font-size: clamp(16px, 2.2vw, 24px);
  line-height: 1.8em;
  margin-bottom: 1.5em;
}

.kaetsukan_movie_box h4 span,
.kaetsukan_floor_content h4 span {
  display: inline-block;
}

@media print, screen and (max-width: 896px) {
  .kaetsukan_facility_wrap {
    padding: 5em 0;
  }
  
  .kaetsukan_movie_box {
    flex-direction: column;
  }
  
  .kaetsukan_movie_inner,
  .kaetsukan_movie_iframe {
    width: 100%;
  }
  
  .kaetsukan_movie_iframe {
    margin-top: 3em;
  }
}

/*---------------------------------
  平面図
---------------------------------*/
.kaetsukan_floor_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.kaetsukan_floor_inner {
  width: 40%;
}

.kaetsukan_floor_thumb {
  width: 50%;
}

.kaetsukan_floor_thumb img:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.kaetsukan_floor_thumb h5 {
  font-size: clamp(14px, 2vw, 18px);
  margin-bottom: 1em;
}

.kaetsukan_floor_thumb h5:nth-of-type(n+2) {
  margin-top: 3em;
}

.kaetsukan_floor_point {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

.kaetsukan_floor_point li {
  width: calc(100% / 3 - 1em);
  color: #fff;
  font-weight: 600;
  border-radius: 8em;
  background: #88b04b;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin: 0.5em;
  padding: 2.8em 0.5em;
}

.kaetsukan_floor_point li span {
  font-size: clamp(16px, 1.5vw, 21px);
  display: block;
}

@media print, screen and (max-width: 896px) {
  .kaetsukan_floor_box {
    flex-direction: column-reverse;
  }
  
  .kaetsukan_floor_inner,
  .kaetsukan_floor_thumb {
    width: 100%;
  }
  
  .kaetsukan_floor_thumb {
    margin-top: 3em;
  }
}

/*---------------------------------
  居室・浴室
---------------------------------*/
.kaetsukan_pickup_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.kaetsukan_pickup_inner {
  width: 47%;
  border-radius: 1em;
  background: #fff;
  padding: 3em 4% 2em 4%;
  position: relative;
}

.kaetsukan_pickup_inner h4 {
  width: 35%;
  color: #fff;
  font-size: clamp(16px, 2.5vw, 24px);
  text-align: center;
  line-height: 1.8em;
  border-radius: 0.3em;
  background: #e6ae5b;
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 0 1.5em;
  display: inline-block;
}

.kaetsukan_pickup_thumb img {
  max-width: 400px;
  margin: 0 auto;
}

.kaetsukan_pickup_thumb img:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.kaetsukan_pickup_text {
  margin-top: 2em;
}

.kaetsukan_pickup_text h5 {
  width: fit-content;
  font-size: clamp(16px, 2vw, 21px);
  margin: 0 auto 1em auto;
  padding: 0 0.5em 10px 0.5em;
  background:
    linear-gradient(to right,
      rgba(228,172,91) 0%,
      rgba(228,172,91) 50%,
      rgba(255,0,0,0) 51%,
      rgba(255,0,0,0) 100%)
    repeat-x left bottom/10px 3px;
}

@media print, screen and (max-width: 680px) {
  .kaetsukan_pickup_box {
    flex-direction: column;
  }
  
  .kaetsukan_pickup_inner {
    width: 100%;
  }
  
  .kaetsukan_pickup_inner:nth-of-type(n+2) {
    margin-top: 4em;
  }
}

/*---------------------------------
  スライド画像
---------------------------------*/
.kaetsukan_slide_content .slick-slide {
  margin: 0.5em;
}

.kaetsukan_slide_box {
  height: 250px;
  border-radius: 0.5em;
  overflow: hidden;
}

.kaetsukan_slide_box img {
  height: 250px;
  object-fit: cover;
}

.kaetsukan_slide_box img:hover {
	transform: scale(1.1);
	opacity: 0.7;
	transition: 0.3s;
}

/*---------------------------------
  嘉悦館の理念
---------------------------------*/
.kaetsukan_policy_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}

.kaetsukan_policy_sidebar {
  width: 18%;
  min-width: 90px;
  position: sticky;
  top: 2em;
}

.kaetsukan_policy_sidebar div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  float: left;
}

.kaetsukan_policy_sidebar div:after {
  content: '';
  clear: both;
  display: block;
}

.kaetsukan_policy_content h4 {
  font-size: clamp(16px, 3vw, 36px);
  line-height: 1.8em;
  writing-mode: vertical-rl;
}

.kaetsukan_policy_content h4 span {
  color: #fff;
  border-radius: 0.2em;
  background: #dd6b74;
  padding: 0.5em 0.1em;
}

.kaetsukan_policy_content h4 span {
  margin: 0.3em 0;
}

.kaetsukan_policy_content h4 span:first-of-type {
  margin-top: 0;
}

.kaetsukan_policy_box {
  width: 82%;
  max-width: calc(100% - 90px);
}

.kaetsukan_policy_inner {
  background: #fcf5e7;
  border-radius: 1em;
  margin-top: 4em;
  padding: 3em 4%;
  position: relative;
}

.kaetsukan_policy_inner h5 {
  color: #dd6b74;
  font-size: clamp(16px, 2vw, 28px);
  margin-bottom: 1em;
}

.kaetsukan_policy_inner ul li {
  font-weight: 600;
  list-style: disc inside;
  text-indent: -1em;
  padding-left: 1em;
}

.kaetsukan_policy_inner ul li:nth-of-type(n+2) {
  padding-top: 0.5em;
}

.policy_thumb {
  width: 16%;
  min-width: 90px;
  position: absolute;
  top: -2em;
  right: 2em;
}

@media print, screen and (max-width: 896px) {
  .kaetsukan_policy_inner {
    padding: 2em 1.5em;
  }
  
  .kaetsukan_policy_inner:first-of-type {
    margin-top: 0;
  }
  
  .policy_thumb {
    top: -1em;
    right: 0;
  }
}

/*---------------------------------
  よくあるご質問
---------------------------------*/
.kaetsukan_faq_wrap {
  background: #fcf5e7;
  padding: 7em 0;
}

.kaetsukan_faq_content {
  position: relative;
}

.kaetsukan_faq_thumb {
  width: 9%;
  min-width: 80px;
  position: absolute;
  top: -2em;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.kaetsukan_faq_inner:nth-of-type(n+2) {
  margin-top: 2em;
}

.kaetsukan_faq_inner:hover dt {
  color: #fff;
  background: #64abcb;
  transition: 0.3s;
}

.kaetsukan_faq_inner:hover dt:before {
  color: #64abcb;
  background: #fff;
  transition: 0.3s;
}

.kaetsukan_faq_inner:hover dt:after {
  color: #fff;
  transition: 0.3s;
}

.kaetsukan_faq_inner dt {
  width: 100%;
	font-weight: 600;
	border-radius: 0.5em;
  background: #fff;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  padding: 1em 2.5em 1em 25px;
}

.kaetsukan_faq_inner dt:before {
  content: 'Ｑ';
  width: 30px;
  height: 30px;
  line-height: 30px;
  color: #fff;
  font-weight: 500;
  text-align: center;
  border-radius: 50%;
  background: #64abcb;
  display: inline-block;
  margin-right: 10px;
}

.kaetsukan_faq_inner dt:after {
  content: "\2b";
  color: #64abcb;
  font-family: 'Font Awesome 5 Free';
  font-size: clamp(16px, 2vw, 18px);
  position: absolute;
  right: 2em;
}

.kaetsukan_faq_inner dt.active {
  border-radius: 5px 5px 0 0;
}

.kaetsukan_faq_inner dt.active:after {
  content: "\f068";
	font-family: 'Font Awesome 5 Free';
}

.kaetsukan_faq_inner dt p {
  width: calc(100% - 1em - 40px);
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(16px, 1.5vw, 18px);
}

.kaetsukan_faq_inner dd {
  border-top: dashed 1px #dfe1e5;
  border-radius: 0 0 5px 5px;
	background: #fff;
  display: flex;
  flex-wrap: wrap;
	padding: 2em 3em;
}

.kaetsukan_faq_inner dd:before {
  content: 'Ａ';
  width: 30px;
  height: 30px;
  line-height: 30px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  background: #dd6b74;
  display: inline-block;
  margin-right: 10px;
}

.kaetsukan_faq_inner dd p {
  width: calc(100% - 40px);
}

@media print, screen and (max-width: 896px) {
  .kaetsukan_faq_wrap {
    padding: 5em 0;
  }
  
  .kaetsukan_faq_inner dt:after {
    right: 1em;
  }
  
  .kaetsukan_faq_inner dd {
    padding: 2em 25px;
  }
}

/*---------------------------------

  訪問介護

---------------------------------*/
.homecare_wrap {
  background: #fcf5e7;
  padding: 7em 0;
}

.homecare_wrap .service_list_inner:nth-of-type(n+3),
.assistance_wrap .service_list_inner:nth-of-type(n+3) {
  margin-top: 4em;
}

.assistance_wrap .service_list_inner {
  background: #fcf5e7;
}

.homecare_wrap .service_list_content,
.assistance_wrap .service_list_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.service_list_sidebar {
  width: 18%;
  min-width: 90px;
  position: sticky;
  top: 2em;
}

.service_list_sidebar div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  float: left;
}

.service_list_sidebar div:after {
  content: '';
  clear: both;
  display: block;
}

.service_list_sidebar div h3 {
  padding: 0;
}

.service_list_sidebar div h3:before {
  display: none;
}

.service_list_sidebar div p {
  width: 70px;
  height: 70px;
  line-height: 65px;
  color: #fff;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(21px, 3vw, 36px);
  font-weight: 900;
  text-align: center;
  border-radius: 50%;
  background: #dd6b74;
  margin-bottom: 1em;
}

.homecare_wrap .contents_title,
.assistance_wrap .contents_title {
  writing-mode: vertical-rl;
  margin-bottom: 0;
  padding-top: 0;
}

.homecare_wrap .contents_title span,
.assistance_wrap .contents_title span {
  margin-top: 0;
  margin-right: 0.5em;
}

.homecare_wrap .service_list_box,
.assistance_wrap .service_list_box {
  width: 82%;
  max-width: calc(100% - 90px);
}

@media print, screen and (max-width: 896px) {
  .homecare_wrap {
    padding: 5em 0;
  }
  
  .homecare_wrap .service_list_inner:nth-of-type(n+2),
  .assistance_wrap .service_list_inner:nth-of-type(n+2) {
    margin-top: 4em;
  }

  .service_list_sidebar div p {
    width: 50px;
    height: 50px;
    line-height: 45px;
  }
  
  .homecare_wrap .contents_title span,
  .assistance_wrap .contents_title span {
    margin-right: 0;
  }
}

/*---------------------------------

  通所介護

---------------------------------*/
/*---------------------------------
  デイサービスの1日
---------------------------------*/
.daycare_schedule_wrap {
  background: #fcf5e7;
  padding: 7em 0;
}

.daycare_schedule_content {
  position: relative;
}

.daycare_schedule_content h4 {
  font-size: clamp(16px, 1.5vw, 24px);
  margin-bottom: 0.5em;
}

.daycare_schedule_content h4+.text_box p {
  font-size: clamp(12px, 1.5vw, 14px);
}

.daycare_schedule_box {
  margin-top: 3em;
}

.daycare_schedule_thumb {
  width: 12%;
  min-width: 75px;
  position: absolute;
  top: 2em;
  right: 4%;
}

.daycare_schedule_inner {
  position: relative;
  margin-top: 5em;
}

.daycare_schedule_inner:before {
  content: '';
  width: 100px;
  height: 50px;
  border-radius: 50% / 100% 100% 0 0;
  background: #fff;
  display: block;
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.daycare_schedule_inner:after {
	content: "\f017";
	font-family: 'Font Awesome 5 Free';
  color: #64abcb;
  font-size: clamp(18px, 2vw, 28px);
  text-align: center;
  display: block;
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}

.daycare_schedule_inner ul {
  font-family: "Zen Maru Gothic", serif;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-radius: 1em;
  background: #fff;
  padding: 3em 2em;
}

.daycare_schedule_inner ul li:nth-of-type(odd) {
  position: relative;
}

.daycare_schedule_inner ul li:nth-of-type(odd) p {
  color: #fff;
  border-radius: 5em;
  background: #64abcb;
  padding: 0 0.5em;
  position: relative;
  display: inline-block;
  z-index: 2;
}

.daycare_schedule_inner ul li:nth-of-type(odd):before {
  content: '';
  width: 1px;
  height: 100%;
  background: #dfe1e5;
  display: block;
  position: absolute;
  top: 0;
  left: 1.9em;
  z-index: 1;
}

.daycare_schedule_inner ul li:nth-of-type(even) {
  font-size: clamp(14px, 1.5vw, 18px);
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-rl;
  padding-top: 3em;
  position: relative;
}

.daycare_schedule_inner ul li span {
  color: #666;
  font-size: clamp(12px, 1.5vw, 14px);font-weight: 500;
  display: block;
}

.daycare_schedule_box .text_box {
  margin-top: 3em;
}

@media print, screen and (max-width: 896px) {
  .daycare_schedule_wrap {
    padding: 5em 0;
  }
  
  .daycare_schedule_thumb {
    top: 0;
  }
  
  .daycare_schedule_inner ul {
    flex-direction: column;
  }
  
  .daycare_schedule_inner ul li:nth-of-type(odd):before {
    display: none;
  }
  
  .daycare_schedule_inner ul li:nth-of-type(even) {
    writing-mode: horizontal-tb;
  }
  
  .daycare_schedule_inner ul li:nth-of-type(even) {
    padding: 1em 0 2em 4em;
  }
  
  .daycare_schedule_inner ul li:nth-of-type(even):before {
    content: '';
    width: 1px;
    height: 100%;
    background: #dfe1e5;
    position: absolute;
    top: 0;
    left: 23px;
    display: block;
  }
  
  .daycare_schedule_inner ul li span {
    display: inline-block;
  }
}

/*---------------------------------

  訪問看護

---------------------------------*/
/*---------------------------------
  サービス内容
---------------------------------*/
.nursing_service_wrap {
  background: #fcf5e7;
  padding: 7em 0;
}

.nursing_service_wrap .service_list_inner {
  width: 30%;
}

.nursing_service_wrap .service_list_inner:nth-of-type(n+4) {
  margin-top: 4em;
}

.service_special_box {
  display: flex;
  flex-wrap: wrap;
  border-radius: 0.8em;
  margin-top: 4em;
  overflow: hidden;
}

.service_special_thumb {
  width: 31%;
}

.service_special_thumb img {
  height: 100%;
  object-fit: cover;
}

.service_special_inner {
  width: calc(100% - 31%);
  background: #fff;
  padding: 2em 2em 2em 3em;
  position: relative;
}

.service_special_inner i {
  width: 50px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  background: #88b04b;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -25px;
  margin: auto 0;
}

.nursing_service_wrap h4 {
  font-size: clamp(16px, 1.7vw, 24px);
}

.service_special_inner h4 {
  line-height: 1.8em;
  margin-bottom: 0.5em;
}

.service_special_inner h4 span {
  display: inline-block;
}

.service_special_inner ul li {
  color: #88b04b;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 600;
  line-height: 1.8em;
  border-radius: 3px;
  background: #f9f8f4;
  margin: 5px 0;
  padding: 5px 0.7em;
  display: inline-block;
}

@media print, screen and (max-width: 1000px) {
  .nursing_service_wrap .service_list_box {
    flex-direction: row !important;
  }
  
  .nursing_service_wrap .service_list_inner {
    width: 47%;
  }
  
  .nursing_service_wrap .service_list_inner:nth-of-type(n+3) {
    margin-top: 4em;
  }
}

@media print, screen and (max-width: 896px) {
  .nursing_service_wrap {
    padding: 5em 0;
  }
}

@media print, screen and (max-width: 680px) {
  .nursing_service_wrap .service_list_box {
    flex-direction: column;
  }
  
  .nursing_service_wrap .service_list_inner {
    width: 100%;
  }
  
  .nursing_service_wrap .service_list_inner:nth-of-type(n+2) {
    margin-top: 4em;
  }
  
  .service_special_box {
    flex-direction: column;
  }
  
  .service_special_thumb {
    width: 100%;
  }
  
  .service_special_inner {
    width: 100%;
    padding: 2.5em 1.5em 2em 1.5em;
  }
  
  .service_special_inner i {
    top: -25px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  
  .service_special_thumb img {
    height: 180px;
  }
  
  .service_special_inner h4 {
    text-align: center;
  }
}

/*---------------------------------
  重要事項説明書
---------------------------------*/
.nursing_pdf_content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.nursing_pdf_content h3 {
  margin-right: 3em;
  margin-bottom: 0;
}

.btn_download {
  min-width: 355px;
  height: 65px;
  line-height: 65px;
	color: #fff !important;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
	border-radius: 5em;
  background: #dd6b74;
	display: block;
	position: relative;
}

.btn_download:before {
  content: "\f019";
  font-family: "Font Awesome 5 Free";
  width: 40px;
  height: 40px;
  color: #dd6b74;
  font-size: 14px;
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: 1em;
}

.btn_download:hover {
  background: #d33d49;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .nursing_pdf_content {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .nursing_pdf_content h3 {
    margin-right: 0;
    margin-bottom: 2em;
  }
  
  .btn_download {
    width: 90%;
    min-width: inherit;
    margin: 0 auto;
  }
}

/*---------------------------------

  会社情報

---------------------------------*/
/*---------------------------------
  会社概要
---------------------------------*/
.about_box > dl {
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #dfe1e5;
}

.about_box > dl > dt,
.about_box > dl > dd {
  border-bottom: solid 1px #dfe1e5;
}

.about_box > dl > dt {
  width: 180px;
  font-weight: 600;
  text-align-last: justify;
  background: #f9f8f4;
  padding: 1.5em 3em;
}

.about_box > dl > dd {
  width: calc(100% - 180px);
  padding: 1.5em 1em 1.5em 2em;
}

.btn_map {
  color: #dd6b74 !important;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(12px, 1.5vw, 14px);
  line-height: 2em;
  border: solid 1px #dd6b74;
  border-radius: 5em;
  margin-left: 0.5em;
  padding: 0 1em;
  display: inline-block;
}

.btn_map:before {
	content: "\f3c5";
	font-family: 'Font Awesome 5 Free';
  font-weight: 600;
  margin-right: 5px;
}

.btn_map:hover {
  color: #fff !important;
  background: #dd6b74;
  transition: 0.3s;
}

.about_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 1.5em 0;
}

.about_inner:first-of-type {
  padding-top: 0.5em;
}

.about_inner:last-of-type {
  padding-bottom: 1em;
}

.about_inner:not(:last-of-type) {
  border-bottom: dashed 1px #dfe1e5;
}

.about_name {
  width: 45%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0.5em;
  position: relative;
  cursor: pointer;
}

.about_name:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.about_logo {
  width: 90px;
  border: solid 1px #dfe1e5;
  border-radius: 5px;
  overflow: hidden;
  margin-right: 1em;
}

.about_name h4 {
  font-size: clamp(16px, 1.5vw, 18px);
}

.about_name h4 span {
  color: #0054a7;
  font-size: clamp(12px, 1.5vw, 16px);
  display: block;
}

.about_inner dl {
  width: 55%;
  font-size: clamp(14px, 1vw, 16px);
  display: flex;
  flex-wrap: wrap;
  padding: 0.5em;
}

.about_inner dl dt {
  width: 90px;
  text-align-last: justify;
}

.about_inner dl dd:before {
  content: '：';
  float: left;
}

.about_inner dl dd {
  width: calc(100% - 90px);
}

.about_inner dl dd span:first-of-type {
  display: block;
}

.about_inner dl dd span:nth-of-type(2) {
  padding-left: 1em;
}

.about_inner dl dd span:nth-of-type(n+2) {
  display: inline-block;
}

.about_qualification span:first-of-type {
  display: inline-block !important;
}

@media print, screen and (max-width: 1170px) {
  .about_box > dl {
    flex-direction: column;
  }
  
  .about_box > dl > dt,
  .about_box > dl > dd {
    width: 100%;
    text-align: center;
  }
  
  .about_box > dl > dt {
    text-align-last: inherit;
    padding: 0.5em 0;
  }
  
  .about_box > dl > dd {
    padding: 1.5em 0.5em;
  }
  
  .about_inner {
    text-align: left;
  }
  
  .about_logo {
    width: 70px;
  }
}

@media print, screen and (max-width: 896px) {
  .about_inner {
    flex-direction: column;
  }
  
  .about_name,
  .about_inner dl {
    width: 100%;
  }
}

@media print, screen and (max-width: 480px) {
  .about_box > dl > dd .btn_map {
    margin-top: 5px;
  }
  
  .about_logo {
    width: 60px;
  }
  
  .about_name h4 {
    width: calc(100% - 60px - 1em);
  }
  
  .about_inner dl dt {
    width: 75px;
  }
  
  .about_inner dl dd {
    width: calc(100% - 75px);
  }
  
  .about_inner .btn_map {
    margin: 5px 0 5px 1em;
  }
}

/*---------------------------------
  Thanks
---------------------------------*/
.thanks_content .btn {
  background: #dd6b74;
  margin: 3em auto 0 auto;
}

/*---------------------------------
  Footer
---------------------------------*/
footer {
  color: #fff;
  background: #88b04b;
  padding: 7em 0;
}

.footer_content {
  display: flex;
  flex-wrap: wrap;
}

.footer_box {
  width: 20%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: column;
  padding-right: 4%;
}

.footer_box h1 a {
  color: #fff !important;
}

.sitemap_box {
  width: 80%;
  display: flex;
  flex-wrap: wrap;
}

.sitemap_box a {
  color: #fff;
}

.sitemap_box a:hover {
  text-decoration: underline;
}

.sitemap_box dl {
  width: calc(100% / 3);
  font-size: clamp(12px, 1.5vw, 14px);
  padding: 1em;
}

.sitemap_box dl dt {
  font-size: clamp(14px, 1.5vw, 16px);
}

.sitemap_box dl dt:before {
	content: "\f138";
	font-family: "Font Awesome 5 Free";
  font-weight: 600;
  margin-right: 0.5em;
}

.sitemap_box dl dd {
  padding-left: 2em;
}

.sitemap_box dl dd ul li {
  line-height: 1.8em;
  text-indent: -1.1em;
  margin-top: 0.3em;
  padding-left: 1.1em;
}

.sitemap_box dl dd ul li:before {
  content: '';
  width: 10px;
  height: 1px;
  background: #fff;
  vertical-align: middle;
  display: inline-block;
  margin-right: 5px;
}

.sitemap_box dl dt:nth-of-type(n+2) {
  margin-top: 0.8em;
}

address {
	color: #fff;
  font-family: "Zen Maru Gothic", serif;
	font-size: 0.7em;
	font-style: normal;
	padding: 0.5em 0;
}

@media print, screen and (max-width: 896px) {
  footer {
    padding: 5em 0;
  }
  
  .footer_content {
    flex-direction: column-reverse;
  }
  
  .footer_box,
  .sitemap_box {
    width: 100%;
  }
  
  .footer_box {
    text-align: center;
    margin-top: 3em;
  }
  
  .sitemap_box dl {
    width: calc(100% / 2);
    padding: 1em 0.5em;
  }
}

@media print, screen and (max-width: 480px) {
  .sitemap_box dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  
  .sitemap_box dl:not(:last-of-type) dt {
    width: 90px;
  }
  
  .sitemap_box dl dd {
    width: calc(100% - 90px);
  }
  
  .sitemap_box dl dt:nth-of-type(n+2) {
    margin-top: 0;
  }
  
  .sitemap_box dl:last-of-type dt {
    width: 50%;
  }
  
  .sitemap_box dl:last-of-type dt:nth-of-type(n+3) {
    margin-top: 0.5em;
  }
}

/*---------------------------------
  PageTop
---------------------------------*/
.pagetop {
	width: 60px;
	height: 60px;
	line-height: 55px;
	border-radius: 50%;
	color: #fff !important;
	font-size: 18px;
	text-align: center;
	background: rgba(0, 84, 167, 0.9);
	display: block;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 1000;
}

.pagetop:hover {
	opacity: 0.8;
	transition: 0.3s;
}

@media screen and (max-width: 896px) {
	.pagetop {
		width: 50px;
		height: 50px;
		line-height: 45px;
		font-size: 14px;
		right: 10px;
		bottom: 10px;
	}
}

@media screen and (max-width: 480px) {
  .pagetop {
    display: none !important;
  }
}