/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.main_page {
  height: 35vh;
  background-color: #fafaf2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .main_page {
    height: 30vh
  }
}

@media(max-width: 767px) {
  .main_page {
    height: 25vh
  }
}

.main_page .pagettl {
  font-size: 4rem;
  color: #0b8d77;
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  z-index: 1
}

@media(min-width: 768px)and (max-width: 1199px) {
  .main_page .pagettl {
    font-size: 2.25rem
  }
}

@media(max-width: 767px) {
  .main_page .pagettl {
    font-size: 1.5rem
  }
}

.main_page .pagettl span {
  display: block;
  font-size: 1.5rem;
  font-weight: 500
}

@media(min-width: 768px)and (max-width: 1199px) {
  .main_page .pagettl span {
    font-size: 1.25rem
  }
}

@media(max-width: 767px) {
  .main_page .pagettl span {
    font-size: 1rem
  }
}

body:is(.voice, .access, .reserve, .thanks) .loopslider_cmn,
body:is(.voice, .access, .reserve, .thanks) .home_access {
  display: none
}

.about_first {
  padding-top: 10rem;
  /*margin-bottom: -4.5rem;*/
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .about_first {
    padding-top: 6rem;
    /*margin-bottom: -3rem*/
  }
}

@media(max-width: 767px) {
  .about_first {
    padding-top: 4rem;
    /*margin-bottom: -2rem*/
  }
}

.about_first .shift_unit .img01 img {
  position: relative;
  right: calc((50% - 50vw)/2);
  width: 100%;
  height: auto;
}

.about_first .shift_unit .txt {
  width: 463px;
  background-color: #fff;
  border-radius: 0 100px 0 0;
  padding: 6rem 5rem 6rem 0;
  margin-top: -400px;
  position: relative;
  z-index: 1
}

@media(min-width: 768px)and (max-width: 1199px) {
  .about_first .shift_unit .txt {
    width: 60vw;
    border-radius: 0 2rem 0 0;
    padding: 2rem 5vw 2rem 0;
    margin-top: -5rem
  }
}

@media(max-width: 767px) {
  .about_first .shift_unit .txt {
    width: 85vw;
    border-radius: 0 2rem 0 0;
    padding: 2rem 5vw 2rem 0;
    margin-top: -3rem
  }
}

.about_first .shift_unit .txt::before {
  content: "";
  width: 30vw;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 1
}

.about_first .bgtxtwrap {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  transform: translateY(40%);
  z-index: -1
}

.about_philo {
  /*height: 100vh;*/
  /*background: url(./images/about/bg_about01.jpg) center center/cover no-repeat*/
}

@media(min-width: 1200px) {
  .about_philo {
    /*min-height: 700px*/
  }
}

.about_philo .inner {
  height: 100%
}

.about_philo .shift_unit2 .img01 {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

.about_philo .shift_unit2 .img01 img {
	width: 100%;
}

.about_philo .txt {
  /*width: 463px;*/
  width: 60%;
  background-color: #fff;
  border-radius: 100px 0 0 0;
  padding: 6rem 0rem 6rem 5rem;
  position: absolute;
  right: 0;
  bottom: -4.5rem;
  z-index: 1;
}

@media(min-width: 1399px)and (max-width: 1599px) {
	.about_philo .txt {
		width: 80%;
	}
}

@media(min-width: 1199px)and (max-width: 1399px) {
	.about_philo .txt {
		width: 80%;
		padding: 4rem 0rem 3rem 3rem;
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
  .about_philo .txt {
    position: relative;
    width: 100%;
    /*border-radius: 2rem 0 0 0;*/
    /*padding: 2rem 0vw 2rem 5vw;*/
   /* bottom: -3rem*/
    bottom: 0;
    padding: 3rem 0;
  }
}

@media(max-width: 767px) {
  /*.about_philo .txt {
    width: 80vw;
    border-radius: 2rem 0 0 0;
    padding: 2rem 0vw 2rem 5vw;
    bottom: -2rem
  }*/
  .about_philo .txt {
    position: relative;
    width: 100%;
    bottom: 0;
    padding: 2rem 0;
  }
}

.about_philo .txt::before {
  content: "";
  width: 30vw;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1
}

.about_company {
  background-color: #fafaf2
}

.about_company .dl_cmn {
  margin-bottom: 3.5rem
}

@media(max-width: 767px) {
  .about_company .dl_cmn {
    margin-bottom: 2rem
  }
}

.about_company .dl_cmn dd a {
  color: #0b8d77;
  margin-left: 2em
}

@media(max-width: 767px) {
  .about_company .dl_cmn dd a {
    margin-left: 1.2em
  }
}

.about_company .map {
  position: relative;
  width: 100%;
  padding-top: 550px;
  margin-bottom: 1rem;
  overflow: hidden
}

@media(max-width: 767px) {
  .about_company .map {
    padding-top: 100%
  }
}

.about_company .map iframe {
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: calc(100% + 200px + 200px);
  pointer-events: none
}

@media(max-width: 767px) {
  .about_company .map iframe {
    top: -30vw;
    height: calc(100% + 30vw + 30vw)
  }
}

.about_company .ttl01 {
  margin-bottom: .2em
}

.service_first .shift_unit .img01 img {
  position: relative;
  right: calc((50% - 50vw)/2)
}

.service_first .shift_unit .txt {
  width: 466px;
  padding: 6rem 5rem 6rem 0;
  margin-top: -400px;
  position: relative;
  z-index: 1
}

@media(min-width: 768px)and (max-width: 1199px) {
  .service_first .shift_unit .txt {
    width: 60vw;
    border-radius: 0 2rem 0 0;
    padding: 2rem 5vw 2rem 0;
    margin-top: -3rem
  }
}

@media(max-width: 767px) {
  .service_first .shift_unit .txt {
    width: 70vw;
    border-radius: 0 2rem 0 0;
    padding: 2rem 5vw 2rem 0;
    margin-top: -2rem
  }
}

.service_first .shift_unit .txt::before {
  content: "";
  width: calc(100% + 5rem);
  height: 100%;
  background-color: #fff;
  border: 1px solid #0b8d77;
  border-radius: 10px;
  position: absolute;
  top: 0;
  right: 0%;
  z-index: 1
}

.service_first .shift_unit .txt>* {
  position: relative;
  z-index: 2
}

.service_second {
  background-color: #fafaf2
}

@media(min-width: 768px)and (max-width: 1199px) {
  .service_second .txt {
    padding-bottom: 2rem
  }
}

@media(max-width: 767px) {
  .service_second .txt {
    padding-bottom: 2.5rem
  }
}

.service_second p.txt01 {
  margin-bottom: 2.5em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .service_second p.txt01 {
    margin-bottom: 1.5em
  }
}

@media(max-width: 767px) {
  .service_second p.txt01 {
    margin-bottom: 1.5em
  }
}

.a2care_first {
  margin-top: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .a2care_first {
    margin-top: 4rem
  }
}

@media(max-width: 767px) {
  .a2care_first {
    margin-top: 3rem
  }
}

.a2care_first h2.ttl_cmn2 {
  margin-bottom: .4em
}

.a2care_first h3.ttl_cmn2 {
  margin-bottom: 2em
}

.a2care_first h4.ttl_cmn2 {
  margin-bottom: .5em
}

.a2care_first p.txt01 {
  margin-bottom: 2.5em
}

@media(max-width: 767px) {
  .a2care_first p.txt01 {
    margin-bottom: 1.5em
  }
}

.a2care_first .movie {
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  margin-bottom: 5rem;
  position: relative
}

@media(max-width: 767px) {
  .a2care_first .movie {
    margin-bottom: 2.5rem
  }
}

.a2care_first .movie::before {
  content: "";
  display: block;
  padding-top: 56.25%
}

.a2care_first .movie video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0
}

.a2care_first .btn01 {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto
}

.a2care_first .btn01 a {
  width: 640px;
  height: 172px;
  max-width: 100%;
  border: 1px solid #fff;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 5%
}

@media(max-width: 767px) {
  .a2care_first .btn01 a {
    width: 90vw;
    height: 4.5rem
  }
}

.a2care_first .btn01 a p {
  font-weight: 600
}

.a2care_first .btn01 a p b {
  display: block;
  font-size: 1.25rem
}

@media(max-width: 767px) {
  .a2care_first .btn01 a p b {
    font-size: 0.875rem
  }
}

@media(max-width: 767px) {
  .a2care_first .btn01 a>i {
    width: 10vw
  }
}

.a2care_second {
  position: relative
}

.a2care_second::after {
  content: "";
  width: 91.875vw;
  height: 100%;
  background-color: #3f6f6a;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1
}

@media(min-width: 1200px)and (max-width: 1399px) {
  .a2care_second::after {
    width: 95vw
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .a2care_second::after {
    width: 97.5vw
  }
}

@media(max-width: 767px) {
  .a2care_second::after {
    width: 97.5vw
  }
}

.a2care_second .lump:not(:last-child) {
  padding-bottom: 4.5rem;
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 4.5rem
}

@media(max-width: 767px) {
  .a2care_second .lump:not(:last-child) {
    padding-bottom: 2rem;
    margin-bottom: 2rem
  }
}

.a2care_second .lump .ttl01 {
  font-size: 3.75rem;
  color: #0b8d77;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .05em;
  margin-bottom: .3em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .a2care_second .lump .ttl01 {
    font-size: 2.5rem
  }
}

@media(max-width: 767px) {
  .a2care_second .lump .ttl01 {
    font-size: 2.25rem
  }
}

.a2care_third figure {
  margin-bottom: 2.5rem
}

@media(max-width: 767px) {
  .a2care_third figure {
    margin-bottom: 1.2rem
  }
}

.a2care_third figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.a2care_third .btn01 {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto
}

.a2care_third .btn01 a {
  width: 690px;
  height: 110px;
  max-width: 100%;
  border: 1px solid #0b8d77;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 5%
}

@media(max-width: 767px) {
  .a2care_third .btn01 a {
    width: 80vw;
    height: 3.2rem
  }
}

.a2care_third .btn01 a p {
  font-size: 1.5rem;
  color: #0b8d77;
  font-weight: 500;
  line-height: 1.5
}

@media(min-width: 768px)and (max-width: 1199px) {
  .a2care_third .btn01 a p {
    font-size: 1.125rem
  }
}

@media(max-width: 767px) {
  .a2care_third .btn01 a p {
    font-size: 1rem
  }
}

.contact_form {
  background-color: #fafaf2;
  margin-top: 5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .contact_form {
    margin-top: 3rem
  }
}

@media(max-width: 767px) {
  .contact_form {
    margin-top: 2rem
  }
}

.tbl_contact {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 3rem;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 2.5rem
}

@media(max-width: 767px) {
  .tbl_contact {
    border-spacing: 0 1.5rem;
    margin-bottom: 1rem
  }
}

.tbl_contact .col_th {
  width: 35%
}

@media(max-width: 767px) {
  .tbl_contact .col_th {
    display: none
  }
}

.tbl_contact .col_td {
  width: 65%
}

@media(max-width: 767px) {
  .tbl_contact .col_td {
    display: none
  }
}

.tbl_contact th,
.tbl_contact td {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5
}

@media(max-width: 767px) {

  .tbl_contact th,
  .tbl_contact td {
    display: block;
    font-size: 0.8125rem
  }
}

.tbl_contact th {
  text-align: left;
  position: relative
}

@media(max-width: 767px) {
  .tbl_contact th {
    padding-bottom: .4rem
  }
}

.tbl_contact .required::before,
.tbl_contact .any::before {
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  padding: .3rem 1.4rem .1rem;
  margin-right: .5rem;
  position: relative
}

@media(max-width: 767px) {

  .tbl_contact .required::before,
  .tbl_contact .any::before {
    padding: .1rem .5rem;
    margin-right: .3rem
  }
}

.tbl_contact .required::before {
  content: "必須";
  background-color: #f47272;
  color: #fff
}

.tbl_contact .any::before {
  content: "任意";
  background-color: #b2b2b2;
  color: #fff
}

.tbl_contact td input[type=text],
.tbl_contact td input[type=tel],
.tbl_contact td input[type=email],
.tbl_contact td input[type=date],
.tbl_contact td select {
  background: #fff;
  border: 1px solid #0b8d77;
  border-radius: 5px;
  padding: 6px 5px
}

.tbl_contact td input[type=text],
.tbl_contact td input[type=email] {
  width: 100%
}

.tbl_contact td input[type=tel] {
  width: 100%
}

.tbl_contact td input[type=date] {
  width: 30%
}

.tbl_contact td select {
  width: 40%
}

.tbl_contact td textarea {
  width: 100%;
  height: 240px;
  background-color: #fff;
  border: 1px solid #0b8d77;
  border-radius: 5px;
  padding: 5px
}

.tbl_contact td span.wpcf7-list-item {
  margin: 0 2em 0 0
}

.th_textarea {
  vertical-align: top
}

.th_textarea.required::before,
.th_textarea.any::before {
  top: .5rem
}

@media(max-width: 767px) {

  .th_textarea.required::before,
  .th_textarea.any::before {
    top: .3rem
  }
}

.btn_submit {
  display: table;
  margin: 0 auto;
  font-size: 1rem;
  color: #0b8d77;
  font-weight: 500;
  line-height: 1.5;
  position: relative
}

@media(max-width: 767px) {
  .btn_submit {
    font-size: 0.8125rem
  }
}

.btn_submit input[type=submit] {
  width: 278px;
  height: 64px;
  border: 1px solid #0b8d77;
  background-color: #fff;
  border-radius: 100vmax;
  text-align: center
}

@media(max-width: 767px) {
  .btn_submit input[type=submit] {
    width: 80vw;
    height: 4rem
  }
}

.btn_submit input[type=submit]:hover {
  transition: .3s ease
}

.btn_submit>i {
  display: grid;
  place-content: center;
  width: 48px;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  font-size: 0.75rem;
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  background-color: #0b8d77;
  color: #fff
}

.btn_submit input[type=submit][disabled] {
  opacity: .3
}

.btn_submit input[type=submit]:not([disabled]):hover {
  cursor: pointer;
  opacity: .8
}

.ajax-loader {
  display: none !important
}

.wpcf7-spinner {
  display: none !important
}

.thanks_first {
  background-color: #fafaf2;
  margin-top: 5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .thanks_first {
    margin-top: 3rem
  }
}

@media(max-width: 767px) {
  .thanks_first {
    margin-top: 2rem
  }
}

.thanks_first p.txt01 {
  margin-bottom: 3.5em
}

@media(max-width: 767px) {
  .thanks_first p.txt01 {
    margin-bottom: 2.5em
  }
}

.news_list ul {
  border-top: 1px solid rgba(55, 146, 183, .3);
  margin-bottom: 4.5rem
}

@media(max-width: 767px) {
  .news_list ul {
    margin-bottom: 2.5rem
  }
}

.news_list ul li {
  padding: 2.6rem 1rem;
  border-bottom: 1px solid rgba(55, 146, 183, .3)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .news_list ul li {
    padding: 1.5rem .6rem
  }
}

@media(max-width: 767px) {
  .news_list ul li {
    padding: .8rem 0rem
  }
}

.news_list ul li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding-right: 4rem;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .news_list ul li a {
    padding-right: 3rem
  }
}

@media(max-width: 767px) {
  .news_list ul li a {
    padding-right: 2rem
  }
}

.news_list ul li a time.date {
  display: inline-block;
  line-height: 1.5rem;
  margin-right: 3em
}

@media(max-width: 767px) {
  .news_list ul li a time.date {
    margin-right: 1em
  }
}

.news_list ul li a .ttl01 {
  line-height: 1.5rem
}

.news_list ul li a::after {
  content: "";
  display: grid;
  place-content: center;
  width: 48px;
  aspect-ratio: 1/1;
  border: 1px solid currentColor;
  border-radius: 100vmax;
  font-size: 0.875rem;
  color: #0b8d77;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .news_list ul li a::after {
    width: 2.5rem;
    right: 0
  }
}

@media(max-width: 767px) {
  .news_list ul li a::after {
    width: 2rem;
    right: 0
  }
}

.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  text-align: center
}

.wp-pagenavi a,
.wp-pagenavi span {
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  margin: 0 10px
}

@media(max-width: 767px) {

  .wp-pagenavi a,
  .wp-pagenavi span {
    font-size: 0.875rem;
    margin: 0 5px
  }
}

.wp-pagenavi a:hover {
  opacity: .7
}

.wp-pagenavi span.current {
  color: #0b8d77
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  font-size: 0.625rem;
  color: #0b8d77;
  line-height: 1;
  text-align: center
}

@media(max-width: 767px) {

  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    font-size: 0.5rem
  }
}

.blog_single:not(:last-child) {
  margin-bottom: 5rem
}

@media(max-width: 767px) {
  .blog_single:not(:last-child) {
    margin-bottom: 2.5rem
  }
}

.blog_single .top {
  margin-bottom: 4rem
}

@media(max-width: 767px) {
  .blog_single .top {
    margin-bottom: 2.5rem
  }
}

.blog_single .top .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: .8rem
}

.blog_single .top .wrap .cate {
  display: inline-block;
  background-color: #0b8d77;
  border-radius: 3px;
  padding: 0em 1em;
  line-height: 1.5rem;
  margin-right: 1em
}

.blog_single article>p:not(:last-child) {
  margin-bottom: 2.5rem
}

@media(max-width: 767px) {
  .blog_single article>p:not(:last-child) {
    margin-bottom: 1.5rem
  }
}

.blog_single h2,
.blog_single h3,
.blog_single h4,
.blog_single p,
.blog_single figcaption {
  font-family: "IBM Plex Sans JP", sans-serif
}

.blog_single article>:is(.side_cmn, .area):not(:last-child) {
  margin-bottom: 2rem
}

@media(max-width: 767px) {
  .blog_single article>:is(.side_cmn, .area):not(:last-child) {
    margin-bottom: 1.5rem
  }
}

.blog_single h2:not(.ttl_post) {
  font-size: 1.875rem;
  color: #0b8d77;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
  margin-bottom: .9em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .blog_single h2:not(.ttl_post) {
    font-size: 1.375rem
  }
}

@media(max-width: 767px) {
  .blog_single h2:not(.ttl_post) {
    font-size: 1.25rem
  }
}

.blog_single h3:not(.ttl01) {
  font-size: 1.25rem;
  color: #0b8d77;
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: .3em;
  border-bottom: 1px solid #707070;
  margin-bottom: .7em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .blog_single h3:not(.ttl01) {
    font-size: 1.125rem
  }
}

@media(max-width: 767px) {
  .blog_single h3:not(.ttl01) {
    font-size: 1.0625rem
  }
}

.blog_single p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.2
}

@media(max-width: 767px) {
  .blog_single p {
    font-size: 0.8125rem
  }
}

.blog_single article>figure {
  text-align: center
}

.blog_single article>figure:not(:last-child) {
  margin-bottom: 1.8rem
}

@media(max-width: 767px) {
  .blog_single article>figure:not(:last-child) {
    margin-bottom: 1rem
  }
}

.blog_single .btn_cmn {
  margin-top: 3.5rem
}

@media(max-width: 767px) {
  .blog_single .btn_cmn {
    margin-top: 2rem
  }
}

/*# sourceMappingURL=lower-style.css.map */