html {
  height: 100%;
  width: 100%;
}
body {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  min-width: 960px;
  color: #3f3b3b;
  background: url(../img/bg.png);
  background: #fff6e7;
  position: relative;
  font-size: 1.125em;
  line-height: 2;
  letter-spacing: 0.05em;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

a:link {
  color: #3f3b3b;
  outline-style: none;
}
a:visited {
  color: #3f3b3b;
  text-decoration: underline;
}
a:hover {
  color: #839b5c;
  text-decoration: underline;
}

.white {
  color: #fff;
}
.blue,
.blue a {
  color: #007bbb;
}
.green,
.green a {
  color: #839b5c;
}
.orange,
.amber,
.orange a,
.amber a {
  color: #bf783a;
}
.purple,
.purple a {
  color: #9d5b8b;
}
.red,
.red a {
  color: #b7282e;
}
.black {
  color: #3f3b3b;
}

.f_l {
  font-size: 1.4em;
}
.f_s {
  font-size: 0.8em;
}

.tr {
  text-align: right;
}
.tc {
  text-align: center;
}
.tl {
  text-align: left;
}

.pc_no {
  display: none;
}
.sp_no {
  display: block;
}
span.sp_no {
  display: inline;
}
br.sp_no {
  display: inline;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
p:empty {
  display: none;
}

/*20230620 校正追加*/
body div.test,
body a.test,
body span.test,
body.test .test_no {
  display: none;
}
body.test div.test,
body.test a.test {
  display: block;
}
body.test span.test,
body.test .LR_box.test {
  display: inline-block;
}

/*
body.test .main_img { display:none;}
body.test .main_img.test { display:inline-block;}
*/

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

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

/*-- ARTICLE/ --*/
.article {
  width: 100vw;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 3em;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
.full {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.full_bg {
  padding-left: calc(50vw - 55%);
  padding-right: calc(50vw - 55%);
}
.contents {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
}
p {
  /*position:relative;*/
}
.contents::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/*-- LOADING/ --*/
#loader-bg {
  height: 100%;
  width: 100%;
  position: fixed;
  top: 50%;
  left: 50%;
  background: url(../img/bg.png);
  background: #fff6e7;
  transition: 0.5s;
  z-index: 1000;
  transform: translate(-50%, -50%);
}
.spinner {
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% - 35px);
  width: 70px;
  text-align: center;
  opacity: 0.5;
}
.spinner > div {
  width: 1em;
  height: 1em;
  margin: 0 0.1em;
  background: #007bbb;
  border-radius: 100%;
  display: inline-block;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}
.spinner div:nth-of-type(1) {
  animation-delay: -0.32s;
}
.spinner div:nth-of-type(2) {
  animation-delay: -0.16s;
}
@keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

/*-- HEADER/ --*/
.header {
  position: relative;
  width: 100%;
  display: flex;
  margin: auto;
  padding: 0;
}
.header .title {
  display: block;
  width: 100%;
  max-width: 22rem;
  padding: 1rem 0;
  box-sizing: border-box;
}

.header .logo {
  width: 22em;
  font-family: "M PLUS Rounded 1c", sans-serif;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.5em;
  padding: 1em 0 1em 6em;
  background: url(../img/logo.svg) 0 1em /5.5em no-repeat;
  box-sizing: border-box;
}
.header .logo strong {
  display: block;
  font-size: 2.6em;
  font-weight: normal;
  line-height: 1em;
}
.header .logo:hover {
  color: #007bbb;
}

.ulink {
  display: flex;
  align-items: center;
  padding: 0;
  margin-left: auto;
  font-size: 0.9em;
  white-space: nowrap;
}

.ulink .tel_box,
.tel_box {
  width: auto;
  margin-left: auto;
  padding: 1em 1em 1em 0;
  line-height: 1.25;
  letter-spacing: normal;
}
.tel_box {
  padding: 0;
}
.ulink .tel_box dl,
.tel_box dl {
  display: flex;
  align-items: flex-end;
}
.ulink .tel_box dt,
.tel_box dt {
  width: 6em;
  padding-bottom: 0.15em;
  text-align: right;
  white-space: nowrap;
}
.ulink .tel_box dd,
.tel_box dd {
  margin-left: 0.5em;
  color: #007bbb;
  letter-spacing: 0.1em;
}
.ulink .tel_box strong,
.tel_box strong {
  font-size: 1.75em;
  font-weight: 700;
}
.ulink .tel_box dd a {
  color: #007bbb;
}

.ulink ul {
  border-left: 2px dashed #bbb;
  list-style: none;
  margin: 0;
  padding: 0 0 0 1em;
}
.ulink ul li {
}
.ulink ul li a {
  text-decoration: none;
}
.ulink ul li a:hover {
  color: #007bbb;
}
.ulink ul li a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -0.25em 0.15em 0 0;
  vertical-align: middle;
  background: url(../img/i_blue.svg) center center / 14px no-repeat;
  opacity: 0.3;
}
.ulink ul li.active a {
  color: #007bbb;
}
.ulink ul li.active a::before,
.ulink ul li a:hover::before {
  background-size: 16px;
  opacity: 1;
}

/*-- MENU/ --*/
.hm {
  position: absolute;
  left: 0;
  top: 100px;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  z-index: 100;
}
.hm ul {
  padding: 3rem;
  margin: 0;
  list-style: none;
  letter-spacing: -0.4em;
  box-sizing: border-box;
  text-align: left;
}
.hm ul li {
  padding: 0;
  margin: 0;
  letter-spacing: 0.02em;
  box-sizing: border-box;
  position: relative;
}
.hm ul li a {
  display: block;
  margin: 0; /*padding:1.5em 0.5em 0.5em 0.5em;*/
  padding: 1.5rem 0.4rem 0.5rem 0.4rem;
  font-size: 1.1em;
  line-height: 1.5;
  text-decoration: none;
  position: relative;
  background: top center / 3em no-repeat;
}
.hm ul li a::before {
  content: "";
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  position: absolute;
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background: url(../img/i_blue.svg) center center / 20px no-repeat;
  opacity: 0.3;
}
.hm ul li a:hover::before,
.hm ul li a.active::before {
  opacity: 1;
}
.hm ul li a:hover,
.hm ul li a.active {
  color: #007bbb;
}

/*-- MAIN/ --*/
.main {
  position: relative;
  margin-bottom: 3em;
}
.main_img {
  position: relative;
  margin-left: 11em;
}
.main_img svg {
  position: absolute;
  width: 96vw;
  height: 48vw;
  left: 0;
  top: 0;
}
.main_img .svg_mask {
  height: 0;
}
.main_img .svg_img,
.main_img .svg_img_test {
  position: relative;
}
.main .t_copy {
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  font-size: 5.5vw;
  line-height: 1.3;
  position: absolute;
  top: 5.5em;
  bottom: auto;
  left: 0;
  color: #3f3b3b;
  letter-spacing: 0;
  text-shadow: 2px 2px 5px rgba(255, 255, 255, 0.8);
  text-shadow: 1px 1px 0 rgba(242, 237, 231, 0.8),
    -1px -1px 0 rgba(242, 237, 231, 0.2), -1px 1px 0 rgba(242, 237, 231, 0.2),
    1px -1px 0 rgba(242, 237, 231, 0.2), 0 1px 0 rgba(242, 237, 231, 0.8),
    0 -1px 0 rgba(242, 237, 231, 0.2), -1px 0 0 rgba(242, 237, 231, 0.2),
    1px 0 0 rgba(242, 237, 231, 0.8);
}

@media screen and (max-width: 1080px) {
  .main .t_copy {
    top: auto;
    bottom: 0;
  }
}

.slideshow {
  position: relative;
  width: 95vw;
  height: calc(100vh - 110px);
  min-height: 50vw;
  overflow: hidden;
}
.slideshow .item {
  width: 95vw;
  height: calc(100vh - 110px);
  min-height: 50vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(
    -50%,
    -50%
  ); /*left:50%; transform:translate(-50%,-50%); */
  display: none;
  background-size: cover;
  background-position: center center;
}
.in {
  transform: scale(1.2);
  z-index: 1;
}
.out {
  transform: scale(1);
  transition: 4s;
  z-index: 0;
}

.more {
  position: relative;
  display: block;
  width: 10em;
  margin: 1em auto;
  padding: 0.5em 2.5em 0.5em 1em;
  background: #fff;
  color: #007bbb !important;
  line-height: 30px; /*transition:.15s;*/
  text-decoration: none;
  box-sizing: border-box;
  border-radius: 40px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
}
.more::after {
  content: "";
  position: absolute;
  right: 1em;
  top: calc(50% - 6px);
  display: inline-block;
  width: 24px;
  height: 8px;
  background: url(../img/i_arrow01.svg) center right / cover no-repeat;
}
.more:hover {
  margin: 1.1em auto 0.9em auto;
  text-decoration: none;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}

.hr {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 100px;
  margin-bottom: 100px;
  position: relative;
}

/*-- important --*/
.important_box {
  background: #fff;
  color: #fff; /*display:flex;*/
  display: none;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 1em 2em;
  margin-bottom: 2em;
  border-radius: 1.5em;
  border: 6px double #b7282e;
}
.important_box h4 {
  width: 12em;
  letter-spacing: 0.1em;
  padding: 0.25em 0 0.25em 2.5em;
  color: #b7282e;
  background: url(../img/i_notice.svg) left center / 2em no-repeat;
  box-sizing: border-box;
}
.important_box ul {
  margin: 0;
  padding: 0.25em 0;
}
.important_box ul li {
  list-style: none;
  padding: 0.25em 0;
}
.important_box ul li a {
  color: #b7282e;
  display: block;
  position: relative;
  font-size: 1.2em;
  line-height: 1.5;
}

.important_box02 {
  background: #fff;
  color: #fff;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: 640px;
  padding: 1em;
  margin: 0 auto 2em auto;
  border-radius: 1.5em;
  border: 6px double #b7282e;
  text-decoration: none;
  text-align: center;
}
.important_box02 h4 {
  font-size: 2rem;
  letter-spacing: 0.1rem;
  padding: 0.25rem 2.5rem;
  margin: 0;
  color: #b7282e;
  background: url(../img/i_notice.svg) left center / 2rem no-repeat;
  box-sizing: border-box;
  text-align: center;
}
.important_box02 ul {
  margin: 0;
  padding: 0.25rem 0;
}
.important_box02 ul li {
  list-style: none;
  padding: 0.25rem 0;
}
.important_box02 ul li a {
  color: #b7282e;
  display: block;
  position: relative;
  font-size: 1.2em;
  line-height: 1.5;
}
.important_box02:hover {
  color: #b7282e;
}

@media screen and (max-width: 480px) {
  .important_box02 h4 {
    padding: 0.25rem 0.25rem 0.25rem 2.5rem;
    text-align: left;
  }
}

/*-- concept --*/
.concept_box {
  /*display:flex; align-items:center; justify-content:center;*/
  min-height: 38vw;
  position: relative;
  text-align: center;
  padding-top: 8vw;
  padding-bottom: 0;
}
.concept_box::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: -15vw;
  bottom: 0;
  right: 5vw;
  background: url(../img/bg_concept.svg) right top / cover no-repeat;
  z-index: -1;
}
.concept_box .words {
}
.concept_box .words p {
  margin-bottom: 4vw;
}
.concept_box .b_want {
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  display: inline-block;
  text-align: left;
  width: auto;
  background: rgba(131, 155, 92, 1);
  color: #fff;
  text-shadow: 2px 2px 0 rgba(120, 143, 84, 1);
  text-decoration: none;
  line-height: 1.5em;
  margin: 0.5em auto;
  padding: 0.75em 1em 0.75em 6em;
  font-size: 1.6em; /*transition:.15s;*/
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  border-radius: 120px;
}
.concept_box .b_want span {
  white-space: nowrap;
}
.concept_box .b_want::after {
  content: "";
  position: absolute; /*right:1em; top:calc(50% - 6px);*/
  right: 2em;
  top: calc(100% - 1.7em);
  display: inline-block;
  width: 32px;
  height: 8px;
  background: url(../img/i_arrow02.svg) center center / cover no-repeat;
}
.concept_box .b_want:hover {
  margin: 0.6em auto 0.4em auto;
  background: rgba(131, 155, 92, 1);
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}
.concept_box .b_want::before {
  content: "";
  width: 5em;
  height: 5em;
  position: absolute;
  left: 0.5em;
  top: calc(50% - 2.5em);
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/06/p_s002b.jpg)
    center center / cover no-repeat;
  border-radius: 50%;
}

/*-- Instagram --*/
.ig_box {
}
.ig_box h4 {
  margin-bottom: 0 !important;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .ig_box h4 {
    text-align: left;
  }
}

/*-- INFO/ --*/
.info_box {
  padding-top: 5em;
  padding-bottom: 6em;
  position: relative;
  z-index: 0;
}
.info_box dl {
  padding: 0.5em 0;
  max-width: 600px;
  margin: auto;
  text-align: left;
}
.info_box dt {
  margin: 0 0 0.25em 0;
  width: 14em;
  width: 100%; /*float:left;*/
}
.info_box dt .cat {
  padding: 0.15em 1em;
  border-radius: 1em;
  font-size: 0.8em;
  color: #fff;
  margin: 0 0.5em 0 0;
}
.info_box dt .cat.i_info,
.index_box .cat.i_info,
.date_box .cat.i_info {
  background: #007bbb;
}
.info_box dt .cat.i_event,
.index_box .cat.i_event,
.date_box .cat.i_event {
  background: #bf783a;
}
.info_box dt .cat.i_recruit,
.index_box .cat.i_recruit,
.date_box .cat.i_recruit {
  background: #9d5b8b;
}
.info_box dt .cat.i_expansion,
.index_box .cat.i_expansion,
.date_box .cat.i_expansion {
  background: #9d5b8b;
}
.info_box dd {
  /*white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-left:12em;*/
}
.info_box .new {
  left: -1em;
  top: -0.5em;
  font-size: 0.6em;
}

/*-- SERVICE_BOX--*/
.service_box {
  background: url(../img/bg_service.svg) center center / contain no-repeat;
  text-align: center;
  overflow: visible;
}
.service_box .service {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #3f3b3b;
  position: relative;
}
.service_box .service.s01,
.service_box .service.s03,
.service_box .service.s02 {
  flex-flow: row;
}
.service_box .service.s04,
.service_box .service.s05,
.service_box .service.s06 {
  flex-flow: row-reverse;
}

.service_box .service .photo {
  flex-grow: 1.2;
  max-width: 60%;
  overflow: hidden;
  margin: 0;
  padding: 0;
  align-self: center;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
}
.service_box .service.s01 .photo {
  animation: service01 30s linear infinite;
  margin-left: -2%;
}
.service_box .service.s02 .photo {
  animation: service02 30s linear infinite;
  margin-left: -2%;
}
.service_box .service.s03 .photo {
  animation: service03 30s linear infinite;
  margin-left: -2%;
}
.service_box .service.s04 .photo {
  animation: service04 30s linear infinite;
  margin-right: -2%;
}
.service_box .service.s05 .photo {
  animation: service05 30s linear infinite;
  margin-right: -2%;
}
.service_box .service.s06 .photo {
  animation: service06 30s linear infinite;
  margin-right: -2%;
}

.service_box .service .photo img {
  width: 100%;
}
.service_box .service .txt {
  flex-grow: 1;
  max-width: 50%;
  text-align: left;
  padding: 1em 1.5em 1em 2em;
  align-self: center;
}

.service_box .service::before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 20vw;
  height: 20vw;
  max-width: 180px;
  max-height: 100px;
  background: center center / contain no-repeat;
}
.service_box .service.s01::before {
  background-image: url(../img/i_moon.svg);
  top: -2em;
  left: -5vw;
}
.service_box .service.s02::before {
  background-image: url(../img/i_wave.svg);
  top: -2em;
  left: -5vw;
}
.service_box .service.s03::before {
  background-image: url(../img/i_pine.svg);
  top: -2em;
  left: -5vw;
}
.service_box .service.s04::before {
  background-image: url(../img/i_sun.svg);
  top: -0em;
  right: -5vw;
}
.service_box .service.s05::before {
  background-image: url(../img/i_moon.svg);
  top: -2em;
  right: -5vw;
}
.service_box .service.s06::before {
  background-image: url(../img/i_wave.svg);
  top: -2em;
  right: -5vw;
}

/*マウスホバーでアニメーション停止*/
/*.service_box .box_l:hover .photo, .service_box .box_r:hover .photo { animation-play-state: paused; }*/

.service_box .more {
  margin-right: 1em;
  color: #fff !important;
}
.service_box .more::after {
  background: url(../img/i_arrow02.svg) center right / cover no-repeat;
}
/*.service_box .service:hover .more { margin:1.1em 1em 0.9em auto; box-shadow:5px 5px 5px rgba(0,0,0,0.1); }*/

.service_box h4 {
  font-size: 1.8em;
}
.service_box h4 .sub {
  display: block;
  font-size: 0.6em;
  margin: 0 0 0 -0.5em;
}

.service_box .s01 h4,
.service_box .s05 h4 {
  color: #9d5b8b;
}
.service_box .s01 .more,
.service_box .s05 .more {
  background-color: #9d5b8b;
}
.service_box .s02 h4,
.service_box .s06 h4 {
  color: #007bbb;
}
.service_box .s02 .more,
.service_box .s06 .more {
  background-color: #007bbb;
}
.service_box .s03 h4 {
  color: #839b5c;
}
.service_box .s03 .more {
  background-color: #839b5c;
}
.service_box .s04 h4 {
  color: #bf783a;
}
.service_box .s04 .more {
  background-color: #bf783a;
}
.service_box h4 .sub {
  color: #3f3b3b;
  padding-top: 0.5em;
  font-size: 0.75em;
}

/*border-radiusで要素を様々な形状に変形させるアニメーション*/

@keyframes service01 {
  /*
 0%, 100% { border-radius:30% 70% 70% 30% / 30% 30% 70% 75%; }
 25% { border-radius:60% 40% 75% 25% / 55% 25% 75% 45%; }
 50% { border-radius:50% 50% 35% 65% / 75% 45% 55% 25%; }
 75% { border-radius:35% 65% 60% 40% / 45% 70% 30% 55%; }
*/
  0%,
  100% {
    border-radius: 32% 68% 32% 68%/ 68% 32% 68% 32%;
  }
  25% {
    border-radius: 40% 60%;
  }
  50% {
    border-radius: 68% 32% 68% 32% / 32% 68% 32% 68%;
  }
  75% {
    border-radius: 60% 40%;
  }
}
@keyframes service02 {
  0%,
  100% {
    border-radius: 68% 32% 68% 32% / 32% 68% 32% 68%;
  }
  25% {
    border-radius: 60% 40%;
  }
  50% {
    border-radius: 32% 68% 32% 68%/ 68% 32% 68% 32%;
  }
  75% {
    border-radius: 40% 60%;
  }
}
@keyframes service03 {
  /*
 0%, 100% { border-radius:50% 50% 35% 65% / 55% 25% 75% 45%; }
 25% { border-radius:40% 60% 60% 40% / 65% 70% 30% 35%; }
 50% { border-radius:30% 70% 70% 30% / 30% 30% 70% 70%; }
 75% { border-radius:60% 40% 75% 25% / 75% 45% 55% 25%; }
*/
  0%,
  100% {
    border-radius: 40% 60%;
  }
  25% {
    border-radius: 68% 32% 68% 32% / 32% 68% 32% 68%;
  }
  50% {
    border-radius: 60% 40%;
  }
  75% {
    border-radius: 32% 68% 32% 68%/ 68% 32% 68% 32%;
  }
}
@keyframes service04 {
  /*
 0%, 100% { border-radius:35% 65% 60% 40% / 65% 70% 30% 35%; }
 25% { border-radius:30% 70% 70% 30% / 30% 30% 70% 70%; }
 50% { border-radius:60% 40% 75% 25% / 75% 45% 55% 25%; }
 75% { border-radius:50% 50% 35% 65% / 30% 30% 70% 70%; }
*/
  0%,
  100% {
    border-radius: 60% 40%;
  }
  25% {
    border-radius: 32% 68% 32% 68%/ 68% 32% 68% 32%;
  }
  50% {
    border-radius: 40% 60%;
  }
  75% {
    border-radius: 68% 32% 68% 32% / 32% 68% 32% 68%;
  }
}
@keyframes service05 {
  0%,
  100% {
    border-radius: 32% 68% 32% 68%/ 68% 32% 68% 32%;
  }
  25% {
    border-radius: 40% 60%;
  }
  50% {
    border-radius: 68% 32% 68% 32% / 32% 68% 32% 68%;
  }
  75% {
    border-radius: 60% 40%;
  }
}
@keyframes service06 {
  0%,
  100% {
    border-radius: 60% 40%;
  }
  25% {
    border-radius: 32% 68% 32% 68%/ 68% 32% 68% 32%;
  }
  50% {
    border-radius: 40% 60%;
  }
  75% {
    border-radius: 68% 32% 68% 32% / 32% 68% 32% 68%;
  }
}

.service_box .b_fee {
  display: inline-block;
  line-height: 1.5em;
  margin: 1em auto;
  padding: 1em 3em 1em 1.5em;
  font-size: 1.33em;
  text-decoration: none;
  color: #fff;
  background: #007bbb;
  border-radius: 50px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  position: relative; /*transition:.15s;*/
}
.service_box .b_fee::after {
  content: "";
  position: absolute;
  right: 1em;
  top: calc(50% - 6px);
  display: inline-block;
  width: 32px;
  height: 8px;
  background: url(../img/i_arrow02.svg) center center / cover no-repeat;
}
.service_box .b_fee:hover {
  margin: 1.1em auto 0.9em auto;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}

/*-- BANNER/ --*/
.b_box {
  text-align: center;
  padding: 3em 0;
  max-width: 900px;
  margin: 0 auto 3rem auto;
}
.b_box a {
  display: inline-block;
  vertical-align: top;
  position: relative;
  text-align: left;
  width: 80%;
  max-width: 236px;
  line-height: 1.5em;
  font-size: 1.2em;
  margin: 0.5em !important;
  padding: 1em 1.5em;
  text-decoration: none;
  border-radius: 20px;
  background: #fff;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  box-sizing: border-box; /*transition:.15s;*/
}
.b_box a::after {
  content: "";
  position: absolute;
  right: 1em;
  top: calc(50% - 6px);
  display: inline-block;
  width: 32px;
  height: 8px;
  background: url(../img/i_arrow01.svg) center center / cover no-repeat;
}
.b_box a:hover {
  margin: 0.6em 0.5em 0.4em 0.5em !important;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}

.b_box a.banner {
  padding: 0;
}
.b_box a.banner::after,
.b_box a.no_banner::after {
  display: none !important;
}
.b_box a.no_banner {
  padding: 0;
  height: 0;
}

/*-- MAP/ --*/
.map_wrapper {
  width: 100%;
}
.map_wrapper iframe {
  width: 100%;
  height: 280px;
  border: none;
  margin: 0 0 -8px 0;
  padding: 0;
  position: relative;
}
#map {
  position: relative;
  z-index: 100;
}

.access_box {
  padding: 40px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

/*-- FOOT/ --*/
.footer {
  position: relative;
  z-index: 10;
  padding-top: 4em;
  line-height: 1.8em;
  background: #fff;
  border-radius: 50% 50% 0 0 /2em 2em 0 0;
  text-align: center;
}

.footer .title {
  display: block;
  width: 100%;
  max-width: 13rem;
  margin: auto;
  box-sizing: border-box;
}

.footer .logo {
  display: inline-block;
  text-align: left;
  width: auto;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #3f3b3b;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.5em;
  padding: 0 0 0 78px;
  margin-bottom: 2em;
  position: relative;
}
.footer .logo strong {
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1em;
}
.footer .logo::before {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  width: 70px;
  height: 50px;
  background: url(../img/logo.svg) left 0 /70px no-repeat;
}
.footer .logo::after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 98%;
  height: 40px;
  background: url(../img/l_01.png) center center / 144px repeat-x;
}

.footer .LR_box {
  padding-bottom: 2em;
}

.footer .tel,
.footer .fax {
  color: #007bbb;
  letter-spacing: 0.1em;
  padding: 0 0.5em;
}
.footer .tel strong,
.footer .fax strong {
  font-size: 1.6em;
  color: #007bbb;
}
.footer .tel strong a {
  color: #007bbb;
}
.footer .fax {
  margin-bottom: 1em;
}

.footer .fm {
  list-style: none;
  font-size: 0.9em;
  margin: 0;
  padding: 0;
}
.footer .fm li {
  display: inline-block;
}
.footer .fm li:nth-of-type(1)::after {
  content: "／";
  margin: 0 0.5em;
}
.footer .fm li.active a {
  color: #007bbb;
}
.copyright {
  display: flex;
  align-items: center;
  padding: 1em 0;
  margin: 0;
  line-height: 1.5;
  text-align: center;
  font-weight: normal;
  color: #aaa;
}
.copyright::before,
.copyright::after {
  border-top: 1px solid;
  content: "";
  flex-grow: 1;
  display: inline-block;
  vertical-align: middle;
}
.copyright::before {
  margin: 0 25px 0 calc(50% - 50vw + 30px);
}
.copyright::after {
  margin: 0 calc(50% - 50vw + 30px) 0 25px;
}

.f_ulink {
  display: none;
}

.pagetop {
  background: #fff;
  position: absolute; /*left:50%; top:-0.5em;*/
  right: -1em;
  bottom: 1.2em;
  transform: translate(-50%, 0);
  display: block;
  white-space: nowrap;
  width: auto;
  height: 3em;
  padding: 1.2em 0.5em 0.5em 0.5em;
  font-size: 0.9em;
  text-align: center;
  color: #007bbb !important;
  z-index: 10000 !important;
  text-decoration: none;
  box-sizing: border-box;
}
.pagetop::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 30px;
  height: 30px;
  border-top: 2px solid #007bbb;
  border-right: 2px solid #007bbb;
  transform: rotate(-45deg) translate(-50%, -25%);
  box-sizing: border-box;
}
.pagetop:hover {
  color: #839b5c !important;
  opacity: 0.8;
  cursor: pointer;
}
.pagetop:hover::after {
  border-color: #839b5c;
}

/*-- TEMPLARE CONTENTS --*/

/*-- HEAD/ --*/
.hero {
  position: relative;
}
.hero_img {
  position: relative;
  margin-left: calc(15em);
  margin-right: -5vw;
}
.hero_img svg {
  position: absolute;
  height: calc((100% - 15em) * (3 / 8));
  min-height: 19em;
  left: 0;
  top: 0;
}
.hero_img .svg_mask {
  height: 0;
}
.hero_img .svg_img {
  position: relative;
}
.hero_img h1 {
  position: absolute;
  top: 50%;
  left: 1em;
  right: 1em;
  transform: translate(0, -50%); /*font-size:2.2em;*/
  color: #fff;
  line-height: 1.25;
  padding: 0 0 0.8em 0;
  background: url(../img/l_02.png) left bottom / 144px no-repeat;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2), -1px -1px 1px rgba(0, 0, 0, 0.2),
    -1px 1px 1px rgba(0, 0, 0, 0.2), 1px -1px 1px rgba(0, 0, 0, 0.2),
    0 1px 3px rgba(0, 0, 0, 0.2), 0 -1px 1px rgba(0, 0, 0, 0.2),
    -1px 0 1px rgba(0, 0, 0, 0.2), 1px 0 5px rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.hero_img h1 .comment {
  padding: 0.5em 0 0 0;
}
.hero_img .svg_img::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
}

/*-- SIDE --*/
.side {
  display: inline-block;
  vertical-align: top;
  width: 17em;
  margin: 0;
  padding: 0 2em 0 0;
  position: relative;
  box-sizing: border-box;
}
.side::after {
  clear: both;
  content: "";
  display: block;
}
.side ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.side ul li {
  padding: 0;
  line-height: 1.5;
  display: block;
}
.side ul li a {
  display: block;
  padding: 0.5em 0 0.5em 24px;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
}
.side ul li a::before {
  content: "";
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  margin: -0.25em 0.25em 0 -24px;
  background: url(../img/i_blue.svg) center center / 14px no-repeat;
  opacity: 0.3;
}
.side ul li a:hover {
  text-decoration: underline;
}
.side ul li a:hover,
.side ul li a.active,
.side ul li a.on {
  color: #007bbb;
  transition: all 0.2s ease-out;
}
.side ul li a:hover::before,
.side ul li a.active::before,
.side ul li a.on::before {
  background-size: 18px;
  opacity: 1;
}
.side ul li h4 {
  line-height: 1.5;
  background: none;
  border: 0;
  font-size: 1.2em;
  margin-top: 1rem;
  padding: 0;
}
.side ul li:first-child h4 {
  margin-top: 0;
}
.side .year {
  margin-bottom: 2em;
}

/*--INFO_LIST DETAIL お知らせ一覧・詳細--*/
.contents {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 17em);
  box-sizing: border-box;
}
.contents .full {
  margin-left: calc(50% - 50vw - 5em);
  margin-right: calc(50% - 50vw + 6.5em);
}
.contents .full_bg {
  padding-left: calc(50vw - 50% + 5em);
  padding-right: calc(50vw - 50% - 9em);
}

.text_area {
}
/*本文画像*/
.text_area img {
  border-radius: 1em;
}
img.radius {
  border-radius: 50%;
}
.text_area img.no_radius,
img.no_radius,
.no_radius {
  border-radius: 0 !important;
}

body.no_menu .contents {
  display: inline-block;
  width: calc(100%);
}
body.no_menu .side {
  display: none;
}

img.full {
  width: calc(100% + 50vw);
  max-width: 100vw;
}
img.full + h3 {
  margin-top: -1em;
}

.navibar {
  display: flex;
  color: #3f3b3b;
  position: relative;
  z-index: 0;
}
.navibar .l_side {
  width: 15em;
  background: url(../img/l_03.png) left 6px /144px repeat-x;
  box-sizing: border-box;
}
.navibar ul {
  /*text-align:right;*/
  width: calc(100% - 20em);
  margin: 0 0 0 auto;
  padding: 6px 1em 6px 2.5em;
  font-size: 0.75em;
  line-height: 25px;
}
.navibar ul li {
  list-style-type: none;
  display: inline;
  padding: 0;
}
.navibar ul li em {
  font-weight: bold;
  font-style: normal;
}
.navibar ul li::before {
  content: "/";
  margin: 0 10px;
}
.navibar ul li:first-child::before {
  display: none;
}
.navibar a,
.navibar span {
  border: none !important;
  color: #3f3b3b !important;
}
.navibar br {
  display: none;
}

.l_01 {
  height: 1em;
  display: block;
  background: url(../img/l_01.png) center center / 144px repeat-x;
} /*4色線*/
.l_02 {
  height: 1em;
  display: block;
  background: url(../img/l_02.png) center center / 144px repeat-x;
} /*白線*/
.l_03 {
  height: 1em;
  display: block;
  background: url(../img/l_03.png) center center / 144px repeat-x;
} /*灰色線*/

/*-- INDEX --*/
.index_box {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 49%;
  padding: 1% 1% 1% 1%;
  box-sizing: border-box;
}
body.no_menu .index_box,
.index_box.triple {
  width: 32.6%;
}
body.magazine .index_box {
  width: 32.6%;
}
/*.index_box::after { content:"."; display:block; clear:both; height:0; visibility:hidden; }*/
.index_box > a {
  display: block;
  text-decoration: none; /*padding-top:2em; background:url(../img/l_03.png) left top /144px repeat-x;*/
  padding: 1em;
  text-align: left;
  border-radius: 1em;
  transition: 0.25s;
  opacity: 1;
  background: rgba(255, 255, 255, 1);
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
.index_box .icon {
  width: 100%;
  max-width: 100vw;
  max-height: 300px;
  margin: 0 0 0.5em 0;
  position: relative;
  border-radius: 0.5em;
  overflow: hidden;
}
.index_box .icon img {
  width: 100%;
  max-width: 100vw;
  max-height: 300px;
  object-fit: contain;
  font-family: "object-fit: contain;"; /*border-radius:10px;*/
  transition: 0.25s;
  border-radius: 0.5em;
}
.index_box .txt {
  width: 100%;
  position: relative;
  left: 0%;
  line-height: 1.5;
  color: #3f3b3b;
  text-decoration: none;
}
.index_box .title {
  font-family: "Noto Serif JP", serif;
  display: block;
  width: auto;
  padding: 0 0 0 24px;
  margin: 0 0 0.25em 0;
  font-size: 1.2em;
  line-height: 1.5;
  position: relative;
}
.index_box .title::before {
  content: "";
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  margin: -0.25em 0.25em 0 -24px;
  background: url(../img/i_blue.svg) center center / 14px no-repeat;
  opacity: 0.3;
}
.index_box a p {
  margin-bottom: 0;
  padding-left: 24px;
}
.index_box .txt .comment,
.side ul li a .comment {
  font-size: 0.85em;
}

.index_box:hover {
}
.index_box a:hover .title {
  color: #007bbb;
  opacity: 1;
}
.index_box a:hover .title::before {
  background-size: 18px;
  opacity: 1;
}
.index_box:hover .icon img {
  width: 112%;
  margin: -4% -6%;
}

.index_box .date {
  font-size: 0.9em;
  margin: 0 0.5em 0.5em 0;
  color: #007bbb;
  display: none;
}
.index_box .cat,
.date_box .cat {
  display: inline-block;
  font-size: 0.8em;
  width: auto;
  line-height: 1.5;
  background: #007bbb;
  color: #fff;
  padding: 0 1em;
  margin: 0 0.5em 0.5em 0;
  text-align: center;
  border-radius: 25px;
}

.date_box {
  position: relative;
  margin: -1.5em 0 1em 0;
  text-align: right;
}
.date_box .date {
  font-size: 0.9em;
  margin: 0 0.5em 0.5em 0;
}

.index_box ul {
  list-style: none;
  letter-spacing: -0.4em;
  margin: 0;
  padding: 0.25em 0;
}
.index_box ul li {
  letter-spacing: 0.05em;
  padding: 0;
  margin: 0;
  position: relative;
}
.index_box ul li a {
  text-decoration: none;
  display: block;
  padding: 0.35em 0.5em 0.35em 1.5em;
  line-height: 1.5;
  transition: all 0.2s ease-out;
}
.index_box ul li a:hover {
  color: #007bbb;
}
.index_box ul li a::before {
  content: "● ";
  color: #007bbb;
  margin: 0 0 0 -1.2em;
}
.index_box ul li a:hover::before {
  color: #007bbb;
}

.index_box:nth-of-type(3n + 1) {
  /*border-left:1px dashed #ddd;*/
}

body.info .index_box,
.info_box .index_box {
  width: 100%; /*border-bottom:1px solid #ddd; padding:1em;*/
}
body.info .index_box a,
.info_box .index_box a {
  display: block;
  display: flex; /*padding:0;*/
}
body.info .index_box .icon,
.info_box .index_box .icon {
  vertical-align: top;
  width: calc(100px + 1em);
  height: auto;
  margin: 0 1em 0 0;
}
body.info .index_box .icon img,
.info_box .index_box .icon img {
  width: 100%;
  object-fit: contain;
  font-family: " object-fit: contain;";
}
body.info .index_box .date,
.info_area .index_box .date {
  display: inline-block;
  color: #3f3b3b !important;
}
body.info .index_box .txt {
  flex-grow: 1;
  vertical-align: top;
  padding: 0;
}
body.info .index_box .title {
  border: none;
}
body.info .index_box a:hover .title {
  background: none;
}
body.info .index_box:hover .icon img,
body.magazine .index_box:hover .icon img {
  width: 100%;
  margin: 0;
}

.info_box .index_box {
  width: 100%; /*border-top:1px dotted #007bbb; border-bottom:none;*/
  padding: 0;
  margin: 0;
}
.info_box .index_box:last-of-type {
  /*border-bottom:1px dotted #007bbb;*/
  margin-bottom: 2vw;
}
.info_box .index_box a {
  display: block;
  display: flex;
  padding: 1em 0 0.5em 0;
}
.info_box .index_box .date {
  display: inline-block;
}
.info_box .index_box .title {
  border: none;
  padding-left: 0;
  font-size: 1em;
}
.info_box .index_box a:hover {
  background: rgba(145, 192, 50, 0.15);
}
.info_box .index_box a:hover .title {
  background: none;
}

body.recruit .index_box .date,
body.recruit .date {
  display: none;
}

body.recruit.test .index_box {
  width: 100%;
}
body.recruit.ar .index_box {
  width: 100%;
}

ul.enyu01,
ul.enyu02,
ul.nagisa01,
ul.nagisa02,
ul.service {
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.enyu01 li,
ul.enyu02 li,
ul.nagisa01 li,
ul.nagisa02 li,
ul.service li {
  padding: 0 0 0.5em 0;
  line-height: 1.5;
  display: block;
}

.text_area ul,
body.enyu01 .text_area ul,
body.enyu02 .text_area ul,
body.nagisa01 .text_area ul,
body.nagisa02 .text_area ul {
  margin: 0 0 1.8em 0;
  padding: 0 0 0 1.5em;
  list-style: none;
}
.text_area ul li ul {
  margin: 0;
}
.text_area ul li::before,
body.enyu01 .text_area ul li::before,
body.enyu02 .text_area ul li::before,
body.nagisa01 .text_area ul li::before,
body.nagisa02 .text_area ul li::before,
ul.enyu01 li::before,
ul.enyu02 li::before,
ul.nagisa01 li::before,
ul.nagisa02 li::before,
ul.service li::before {
  content: "";
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  margin: -0.25em 0.25em 0 -24px;
  background: url(../img/i_blue.svg) center center / 14px no-repeat;
  opacity: 0.3;
}

h4.enyu01,
h4.enyu02,
h4.nagisa01,
h4.nagisa02 {
  padding: 0.5em 0 0.5em 1.2em;
  background: none;
}
h4.enyu01:before,
h4.enyu02:before,
h4.nagisa01::before,
h4.nagisa02::before {
  content: "";
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  margin: -0.25em 0.25em 0 -1.2em;
  background: url(../img/i_blue.svg) center center / cover no-repeat;
  opacity: 0.3;
}

body.enyu01 .side ul li a::before,
body.enyu01 .text_area ul li::before,
body.enyu01 .index_box .title::before,
body.canarydaimon .side ul li a::before,
body.canarydaimon .text_area ul li::before,
body.canarydaimon .index_box .title::before,
.side ul li#post-190 a::before,
ul li#post-190::before,
.index_box#post-190 .title::before,
.side ul li#post-107 a::before,
ul li#post-107::before,
.index_box#post-107 .title::before,
.side ul li#post-4188 a::before,
ul li#post-4188::before,
.index_box#post-4188 .title::before,
.index_box#post-4214 .title::before,
ul.enyu01 li::before,
h4.enyu01::before,
ul.canarydaimon li::before,
h4.canarydaimon::before {
  background-image: url(../img/i_purple.svg);
}
body.enyu01 .side ul li a:hover,
ul li#post-190 a:hover,
ul li#post-107 a:hover,
body.canarydaimon .side ul li a:hover,
ul li#post-4188 a:hover,
body.enyu01 .side ul li a.active,
body.enyu01 .side ul li a.on,
body.canarydaimon .side ul li a.active,
body.canarydaimon .side ul li a.on,
body.enyu01 .index_box a:hover .title,
ul.enyu01 li a:hover,
body.canarydaimon .index_box a:hover .title,
ul.canarydaimon li a:hover,
.index_box#post-190 a:hover .title,
.index_box#post-107 a:hover .title,
.index_box#post-4188 a:hover .title,
body.enyu01 h2 .comment,
h4.enyu01 a:hover,
body.canarydaimon h2 .comment,
h4.canarydaimon a:hover {
  color: #9d5b8b;
}

body.nagisa01 .side ul li a::before,
body.nagisa01 .text_area ul li::before,
body.nagisa01 .index_box .title::before,
body.canaryshimonogou .side ul li a::before,
body.canaryshimonogou .text_area ul li::before,
body.canaryshimonogou .index_box .title::before,
ul li#post-191 a::before,
ul li#post-231 a::before,
ul li#post-694 a::before,
ul li#post-4208 a::before,
ul li#post-191::before,
ul li#post-231::before,
ul li#post-694::before,
ul li#post-4208::before,
.index_box#post-191 .title::before,
.index_box#post-231 .title::before,
.index_box#post-694 .title::before,
.index_box#post-4208 .title::before,
ul.nagisa01 li::before,
h4.nagisa01::before,
ul.canaryshimonogou li::before,
h4.canaryshimonogou::before {
  background-image: url(../img/i_blue.svg);
}
body.nagisa01 ul li a:hover,
ul li#post-191 a:hover,
ul li#post-231 a:hover,
ul li#post-694 a:hover,
ul li#post-4208 a:hover,
body.nagisa01 .side ul li a.active,
body.nagisa01 .side ul li a.on,
body.nagisa01 .index_box a:hover .title,
body.canaryshimonogou .side ul li a.active,
body.canaryshimonogou .side ul li a.on,
body.canaryshimonogou .index_box a:hover .title,
ul.nagisa01 li a:hover,
.index_box#post-191 a:hover,
.index_box#post-694 a:hover .title,
.index_box#post-4208 a:hover .title,
body.nagisa01 h2 .comment,
h4.nagisa01 a:hover,
body.canaryshimonogou h2 .comment,
h4.canaryshimonogou a:hover {
  color: #007bbb;
}

body.enyu02 .side ul li a::before,
body.enyu02 .text_area ul li::before,
body.enyu02 .index_box .title::before,
ul li#post-192 a::before,
ul li#post-192::before,
.index_box#post-192 .title::before,
ul li#post-108 a::before,
ul li#post-108::before,
.index_box#post-108 .title::before,
ul.enyu02 li::before,
h4.enyu02::before {
  background-image: url(../img/i_green.svg);
}
body.enyu02 ul li a:hover,
ul li#post-192 a:hover,
ul li#post-108 a:hover,
body.enyu02 .side ul li a.active,
body.enyu02 .side ul li a.on,
body.enyu02 .index_box a:hover .title,
ul.enyu02 li a:hover,
.index_box#post-192 a:hover .title,
.index_box#post-108 a:hover .title,
body.enyu02 h2 .comment,
h4.enyu02 a:hover {
  color: #839b5c;
}

body.nagisa02 .side ul li a::before,
body.nagisa02 .text_area ul li::before,
body.nagisa02 .index_box .title::before,
ul li#post-193 a::before,
ul li#post-193::before,
.index_box#post-193 .title::before,
ul li#post-109 a::before,
ul li#post-109::before,
.index_box#post-109 .title::before,
ul.nagisa02 li::before,
h4.nagisa02::before {
  background-image: url(../img/i_amber.svg);
}
body.nagisa02 ul li a:hover,
ul li#post-193 a:hover,
ul li#post-109 a:hover,
body.nagisa02 .side ul li a.active,
body.nagisa02 .side ul li a.on,
body.nagisa02 .index_box a:hover .title,
ul.nagisa02 li a:hover,
.index_box#post-193 a:hover .title,
.index_box#post-109 a:hover .title,
body.nagisa02 h2 .comment,
h4.nagisa02 a:hover {
  color: #bf783a;
}

img.right,
img[align="right"] {
  float: right;
  margin: 0 0 10px 20px;
}
img.left,
img[align="left"] {
  float: left;
  margin: 0 20px 10px 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Serif JP", serif;
  word-break: break-all; /*letter-spacing:0.1em;*/
}
h1 {
  font-size: 2.8em;
}
h2 {
  font-size: 2.4em;
  margin: 0 0 0.5em 0;
  padding: 0 0 0.8em 0;
  line-height: 1.5;
  box-sizing: border-box;
  background: url(../img/l_01.png) bottom left / 144px no-repeat;
}
h3 {
  font-size: 2em;
  margin: 0 0 0.5em 0;
  padding: 0.8em 0;
  line-height: 1.5;
  position: relative;
  background: url(../img/l_01.png) bottom left / 144px no-repeat;
}
body.top h3 {
  text-align: center;
  background: url(../img/l_01.png) bottom center / 144px no-repeat;
}
h3.copy {
  background: none;
  background: #fff;
  border-radius: 48% 52% 52% 48% / 35% 32% 68% 65%;
  border-radius: 50%;
}

h4 {
  font-size: 1.6em;
  margin: 0.5em 0;
  padding: 0.25em 0;
  line-height: 1.5;
  position: relative;
}
h4::after {
  content: "";
  position: absolute;
  left: -1.5em;
  top: -1em;
  width: 4em;
  height: 4em;
  background: url(../img/bg_h4.png) center center / cover no-repeat;
  z-index: -1;
}
body.top h4::after {
  display: none;
}
.side ul li h4::after {
  top: -1.65rem;
}
h5 {
  font-size: 1.4em;
  margin: 0 0 0.5em 0;
  padding: 0.25em 0;
  line-height: 1.5;
  position: relative;
}
h6 {
  font-size: 1.2em;
  margin: 0 0 0.5em 0;
  padding: 0;
  line-height: 1.5;
  position: relative;
}

h1 .comment {
  display: block;
  font-size: 0.5em;
}
h2 .comment {
  display: block;
  font-size: 0.5em;
  font-weight: normal;
  margin: 0;
}
h2 span.inner .comment {
  font-size: 0.5em;
  color: #3f3b3b;
}
h3 .comment {
  display: block;
  font-size: 0.6em;
  font-weight: normal;
  line-height: 1.5;
}
h4 .comment {
  display: block;
  font-size: 0.75em;
  font-weight: normal;
}
h5 .comment {
  display: block;
  font-size: 0.85em;
  font-weight: normal;
  line-height: 1.5;
}

/*-- 画像回り込みセット/ --*/
.box_l {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
.box_l .photo {
  float: left;
  width: 100%;
  max-width: 50%;
  margin: 0;
  padding: 0 2% 2em 2%;
  display: inline-block;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}
.box_l .photo img {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.box_l .txt {
  float: none;
  overflow: hidden;
  padding: 0 2% 4vw 2%;
  position: relative;
  box-sizing: border-box;
}

.box_r {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
.box_r .photo {
  float: right;
  width: 100%;
  max-width: 50%;
  margin: 0;
  padding: 0 2% 2em 2%;
  display: inline-block;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}
.box_r .photo img {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.box_r .txt {
  float: none;
  overflow: hidden;
  padding: 0 2% 4vw 2%;
  position: relative;
  box-sizing: border-box;
}

.box_l::after,
.box_r::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.box_l.full .photo {
  margin-left: calc(-50vw + 50%);
  width: 50vw;
  max-width: 50vw;
  position: relative;
  padding-left: 0;
}
.box_r.full .photo {
  margin-right: calc(-50vw + 50%);
  width: 50vw;
  max-width: 50vw;
  position: relative;
  padding-right: 0;
}
.box_l + hr {
  opacity: 0;
  display: none;
}
.box_l.full .photo img,
.box_r.full .photo img {
  /*width:50vw; height:25vw; */
}

body.plan .box_l .photo img,
body.booking .box_l .photo img {
  /*height:50vw; max-height:432px; */
}

p.wide {
  margin: 0 -20px 1em -20px;
  position: relative;
}
p.wide img {
  width: calc(100% + 40px);
  max-height: 100%;
}
p.wide::before {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  width: 16vw;
  height: 16vw;
  transform: translate(-3vw, -3vw);
  background: rgba(136, 153, 51, 0.07);
  z-index: -1;
  overflow: hidden;
}
p.wide::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 16vw;
  height: 16vw;
  transform: translate(6vw, 3vw);
  background: rgba(136, 153, 51, 0.07);
  z-index: -1;
  overflow: hidden;
}

/*-- 2列ボックス/ --*/
.LR_box {
  display: inline-block;
  vertical-align: top;
  width: 49.5%;
  margin: 0;
  padding: 0 2% 1em 2%;
  box-sizing: border-box;
}
.LR_box .LR_box {
  width: 48% !important;
}
.LR_box .LCR_box {
  width: 31% !important;
}

/*-- 3列ボックス/ --*/
.LCR_box {
  display: inline-block;
  vertical-align: top;
  width: 32.8%;
  margin: 0;
  padding: 0 2% 1em 2%;
  box-sizing: border-box;
  letter-spacing: 0.02em;
}
.LCR_box2 {
  display: inline-block;
  vertical-align: top;
  width: 66%;
  margin: 0;
  padding: 0 2% 1em 2%;
  box-sizing: border-box;
  letter-spacing: 0.02em;
}
.LR_box img,
.LCR_box img {
  width: 100%;
  object-fit: cover;
  font-family: "object-fit:cover; ";
  margin-bottom: 1em;
}
.LR_box h3,
.LR_box h4,
.LR_box h5,
.LCR_box h3,
.LCR_box h4,
.LCR_box h5,
.LCR_box2 h3,
.LCR_box2 h4,
.LCR_box2 h5 {
  margin-bottom: 0.5em;
  white-space: normal;
  word-break: break-all;
}

.box_r .LCR_box,
.box_l .LCR_box {
  width: 32% !important;
}

td .LR_box,
td .LCR_box,
td .LCR_box2 {
  padding: 0 1% 0.5em 1%;
}
td .LR_box img,
td .LCR_box img,
td .LCR_box2 img {
  margin-bottom: 0.5em;
}

/*--キャプション --*/
.photo {
  position: relative;
}
.photo span.caption {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  padding: 2px 10px;
  color: #fff;
  background: rgba(0, 0, 0, 0.35);
  background: rgba(0, 0, 0, 0.6);
  border-radius: 0 1em;
}

.in_box {
  border: 1px solid #ddd;
  padding: 1em 1.5em;
}

a.link {
  padding: 0.5em 0.15em 0.5em 1em;
  margin: 0;
  text-decoration: underline;
  box-sizing: border-box;
  position: relative;
}
a.link::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: calc(50% - 0.2em);
  width: 0.5em;
  height: 0.5em;
  margin: 0;
  border-top: 2px solid #007bbb;
  border-right: 2px solid #007bbb;
  transform: rotate(45deg);
  box-sizing: border-box;
}
a.link.active::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
a.link {
  overflow: hidden;
  margin: 0;
}
a.link.red {
  color: #b7282e;
}

.index_box a[target="_blank"] .title::after,
.LCR_box a[target="_blank"]::after,
body.link .article li a[target="_blank"]::after,
body.link .article a:link[target="_blank"]::after,
.article a:link[target="_blank"]::after {
  content: "";
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.25em;
  background: url(../img/i_blank.svg) center bottom / 100% no-repeat;
}
.index_box a[target="_blank"]::after {
  display: none !important;
}

.index_box a[href$=".pdf"] .title::after,
a[href$=".pdf"]::after,
.index_box ul li a[href$=".pdf"]::after {
  content: "PDF" !important;
  position: relative;
  display: inline-block !important;
  font-size: 0.75em;
  line-height: 1;
  width: auto !important;
  height: auto !important;
  padding: 0.2em 0.5em;
  letter-spacing: normal;
  color: #b7282e;
  font-weight: bold;
  background: #fff !important;
  margin: 0 0.25em; /*border:1px solid #ccc;*/
  transform: translate(0, -2px);
  border-radius: 1em;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.index_box a[href$=".pdf"]::after {
  display: none !important;
}

.index_box a[href$=".xls"] .title::after,
.index_box a[href$=".xlsx"] .title::after,
a[href$=".xls"]::after,
a[href$=".xlsx"]::after,
.index_box ul li a[href$=".xls"]::after,
.index_box ul li a[href$=".xlsx"]::after {
  content: "Excel" !important;
  position: relative;
  display: inline-block !important;
  font-size: 0.75em;
  line-height: 1;
  width: auto !important;
  height: auto !important;
  padding: 0.2em 0.5em;
  letter-spacing: normal;
  color: #839b5c;
  font-weight: bold;
  background: #fff !important;
  margin: 0 0.25em; /*border:1px solid #ccc;*/
  transform: translate(0, -2px);
  border-radius: 1em;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.index_box a[href$=".xls"]::after,
.index_box a[href$=".xlsx"]::after {
  display: none !important;
}

.index_box a[href$=".doc"] .title::after,
.index_box a[href$=".docx"] .title::after,
a[href$=".doc"]::after,
a[href$=".docx"]::after,
.index_box ul li a[href$=".doc"]::after,
.index_box ul li a[href$=".docx"]::after {
  content: "Word" !important;
  position: relative;
  display: inline-block !important;
  font-size: 0.75em;
  line-height: 1;
  width: auto !important;
  height: auto !important;
  padding: 0.2em 0.5em;
  letter-spacing: normal;
  color: #007bbb;
  font-weight: bold;
  background: #fff !important;
  margin: 0 0.5em; /*border:1px solid #ccc;*/
  transform: translate(0, -2px);
  border-radius: 1em;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

.index_box a[href$=".doc"]::after,
.index_box a[href$=".docx"]::after {
  display: none !important;
}

div.index_box .title,
div.index_box:hover .title {
  /*color:#839b5c !important;*/
}

/*-- TABLE/ --*/
caption {
  text-align: left;
  margin-bottom: 10px;
  font-size: 95%;
}

.table01 {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 1.5em 0;
  border-bottom: 1px dashed #bbb;
}
.table01 th,
.table01 td {
  border-top: 1px dashed #bbb;
  padding: 10px;
  vertical-align: top;
  letter-spacing: 0.02em;
}
.table01 thead th {
}
.table01 th {
  font-weight: bold;
  text-align: left;
}
.table01 td {
}

.table02 {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 1.5em 0;
  border-bottom: 1px solid #bbb;
}
.table02 th,
.table02 td {
  border-top: 1px solid #bbb;
  padding: 10px;
  vertical-align: top;
  letter-spacing: 0.02em;
}
.table02 thead th,
.table02 thead td {
  background: #fff;
}
.table02 th {
  font-weight: bold;
  text-align: left;
  white-space: nowrap;
}
.table02 td {
}

.table03 {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 1.5em 0;
  border: 1px solid #bbb;
  box-sizing: border-box;
}
.table03 th,
.table03 td {
  border: 1px solid #bbb; /*border-left:1px dashed #ddd; border-right:1px dashed #ddd;*/
  padding: 10px;
  vertical-align: top;
  letter-spacing: 0.02em;
}
.table03 thead th,
.table03 thead td {
  background: #fff;
}
.table03 th {
  font-weight: bold;
  text-align: left;
}
.table03 td {
}

.l_double {
  border-top: 3px double #bbb;
}
th p,
td p {
  margin: 0;
}

/*-- 幅の広いテーブルにスクロール表示 --*/
.scroll,
#calcResult {
  overflow: auto;
}
.scroll::-webkit-scrollbar,
#calcResult::-webkit-scrollbar {
  height: 15px; /*tableにスクロールバーを追加*/
}
.scroll::-webkit-scrollbar-track,
#calcResult::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1); /*tableにスクロールバーを追加*/
}
.scroll::-webkit-scrollbar-thumb,
#calcResult::-webkit-scrollbar-thumb {
  background: #bc6; /*tableにスクロールバーを追加*/
}
.scroll table,
#calcResult table {
  margin-bottom: 20px !important;
}

table.fee {
}
table.fee th,
table.fee td {
  vertical-align: middle;
  white-space: nowrap;
}

/*-- FORM/ --*/
form {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: middle;
  background: transparent;
}
form label {
  vertical-align: middle;
}

select,
input,
textarea,
button {
  width: 100%;
  max-width: 100%;
  -webkit-appearance: none;
  vertical-align: middle;
  position: relative;
  line-height: 30px;
  font-size: 1.2em;
  margin: 5px 0;
  padding: 3px 10px; /*top:-1px; */
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: none;
  z-index: 0;
  box-sizing: border-box;
}
input[type="text"] {
  width: auto;
  margin: 5px 5px 5px 0;
}
input:focus,
textarea:focus {
  outline: 2px solid #f90;
}
input.long {
  width: 100%;
  margin: 5px 0;
  position: relative;
}
button,
.button,
input[type="button"],
input[type="submit"] {
  border: none;
  position: relative;
  display: block;
  width: auto;
  margin: 1em auto;
  padding: 0.5em 2.5em 0.5em 1em;
  background: #007bbb;
  color: #fff !important;
  line-height: 30px; /*transition:.15s;*/
  text-decoration: none;
  box-sizing: border-box;
  border-radius: 40px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
}
button::after,
.button::after,
input[type="button"]::after,
input[type="submit"]::after {
  content: "";
  position: absolute;
  right: 1em;
  top: calc(50% - 6px);
  display: inline-block;
  width: 24px;
  height: 8px;
  background: url(../img/i_arrow02.svg) center right / cover no-repeat;
}
button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  margin: 1.1em auto 0.9em auto;
  text-decoration: none;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}

.b_back {
  display: inline-block;
  -webkit-appearance: none;
  overflow: visible;
  width: auto;
  background: #f7f5f3;
  position: relative;
  padding: 10px 20px 10px 40px;
  height: 50px;
  line-height: 30px;
  font-size: 1.2em;
  letter-spacing: 0;
  margin: 10px;
  border: none;
  color: #3f3b3b !important;
  border-radius: 3px;
  box-sizing: border-box;
}
.b_back::after {
  content: "";
  position: absolute;
  display: inline-block;
  left: 10px;
  top: 18px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #3f3b3b;
  border-right: 2px solid #3f3b3b;
  transform: rotate(45deg);
  box-sizing: border-box;
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  cursor: pointer;
  text-decoration: none;
  background: #007bbb;
  color: #fff;
}
option {
  padding: 5px;
  font-size: 1.2em;
  line-height: 1.5;
}

button[disabled],
a.button[disabled],
.button[disabled],
input[type="button"][disabled],
input[type="submit"][disabled],
button[disabled]:hover,
a.button[disabled]:hover,
.button[disabled]:hover,
input[type="button"][disabled]:hover,
input[type="submit"][disabled]:hover {
  background: #eee;
  border: none;
  color: #fff;
  opacity: 1;
  cursor: default;
  position: relative;
}

button.mini,
.button.mini {
  min-width: 0;
}

.button.en {
  font-family: "Roboto Condensed", sans-serif;
}

/*-- Radio and Checkbox/ --*/
input[type="radio"],
input[type="checkbox"] {
  margin: 0 3px 0 0;
  width: 1.25em;
  height: 1.25em;
  display: none;
}
input[type="radio"] + span,
input[type="checkbox"] + span {
  padding-left: 1.7rem;
  position: relative;
  margin-right: 1em;
  display: inline-block;
}
input[type="radio"] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.7rem);
  left: 0;
  width: 1.4rem;
  height: 1.4rem;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  z-index: 5;
  margin-right: 3px;
  box-sizing: border-box;
}
input[type="radio"]:checked + span,
input[type="checkbox"]:checked + span {
  color: #007bbb;
}
input[type="radio"]:checked + span::before {
  border: 2px solid #007bbb;
}
input[type="radio"]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.3rem);
  left: 0.4rem;
  width: 0.6rem;
  height: 0.6rem;
  background: #007bbb;
  border-radius: 50%;
  z-index: 10;
}
input[type="checkbox"] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 1.2em;
  height: 1.2em;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-right: 3px;
  box-sizing: border-box;
}
input[type="checkbox"]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 12px);
  top: 0.2em;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #007bbb;
  border-right: 3px solid #007bbb;
  box-sizing: border-box;
}

button.i_delete {
  min-width: 0 !important;
}
button.i_delete::before {
  display: none;
}

/*-- SELECT/ --*/
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  z-index: auto !important;
  border-radius: 0;
  font-size: inherit;
  text-align: left;
  background: #fff url(../img/i_pulldown.png) right center / 24px no-repeat;
  border: 1px solid #ccc;
  height: 30px;
  padding: 3px 5px;
  margin: 0 2px 0 0;
  box-sizing: border-box;
  display: none;
  display: block;
}
select:disabled,
select.disabled {
  border: 1px solid #ccc;
  color: #ccc;
  color: silver;
  background: none;
  z-index: auto;
}

/* FORM SELECT Core CSS. Do not edit unless your sure */
.easy-select-box {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
}
.select {
  z-index: 10;
  position: relative;
}
.easy-select-box .esb-dropdown {
  position: absolute !important;
  top: 100%;
  left: -1px;
  display: none;
  width: 100% !important;
}

/* FORM SELECT Default Presentation CSS. You can edit appearance here or create a custom class below */
.easy-select-box {
  text-align: left;
  background: #fff;
  border: 1px solid #ccc;
  vertical-align: middle;
  border-radius: 3px;
}
.easy-select-box .esb-displayer {
  min-width: 3em;
  background: url(../img/i_pulldown.png) right center / 24px no-repeat;
  padding: 3px 24px 3px 8px;
  line-height: 30px;
  font-size: 1.2em;
  white-space: nowrap;
  box-sizing: border-box;
}
.easy-select-box:hover,
.easy-select-box:focus {
  /*border:1px solid #356; */
  z-index: 10000 !important;
  cursor: pointer;
}
.easy-select-box:hover .esb-displayer {
  text-decoration: none;
}
.easy-select-box.disabled {
  background: none;
  border: 1px solid #ccc;
  color: silver;
  z-index: 0 !important;
}
.easy-select-box.disabled .esb-displayer,
.easy-select-box:hover.disabled .esb-displayer {
  background: #f9f3ec;
  color: #ccc;
  color: silver;
  font-weight: normal;
  cursor: not-allowed;
}
.easy-select-box .esb-dropdown {
  top: 95%;
  border: 1px solid #ccc; /*border:1px solid #356; */
  border-top: none;
  max-height: 200px;
  overflow: auto !important;
  background: #fff;
  padding: 0;
  z-index: 200;
  border-radius: 0 0 5px 5px;
  box-sizing: content-box;
}
.easy-select-box .esb-dropdown .esb-item {
  padding: 4px 10px;
  background: #fff;
  cursor: default;
}
.easy-select-box .esb-dropdown .esb-item.esb-item-selected {
  background: rgba(136, 153, 51, 0.2);
  text-decoration: none;
  font-weight: bold;
}
.easy-select-box .esb-dropdown .esb-item:hover {
  background: #b7282e;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}
.easy-select-box .esb-dropdown .esb-item-disabled,
.easy-select-box .esb-dropdown .esb-item-disabled:hover {
  color: #ccc;
  background: #fff;
  cursor: not-allowed;
}

.error,
.required {
  color: #b7282e;
}
div.error {
  border: 5px solid #b7282e;
  padding: 5px 15px;
  margin: 0 0 0.5em 0;
}
span.error {
  background: #b7282e;
  color: #fff;
  padding: 2px 5px;
  display: block;
}
.example {
  color: #777;
  white-space: nowrap;
}
.price {
  color: #b7282e;
  font-size: 1.2em;
}
body.contact p {
  margin: 0;
}

/*-- リスト/ --*/
ol {
  counter-reset: step;
  list-style: none;
  margin: 0 0 2em 0;
  padding: 0;
}
ol li {
  padding: 0;
  margin: 0 0 1em 1.6em;
}
ol > li::before {
  counter-increment: step;
  content: counter(step);
  background: #007bbb;
  vertical-align: middle;
  display: inline-block;
  width: 1.6em;
  line-height: 1.6em;
  letter-spacing: normal;
  font-size: 0.8em;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin: -0.3em 0.4em 0 -2em;
  position: relative;
}
ol ol {
  margin: 0.5em 0 1em 0;
}
ol li li {
  padding: 0 0 0 1.6em;
  margin: 0 0 0.25em 0;
}
ol li li::before {
  counter-increment: step;
  content: counter(step);
  background: #baa;
  vertical-align: middle;
  display: inline-block;
  width: 1.4em;
  line-height: 1.4em;
  letter-spacing: normal;
  font-size: 0.8em;
  font-weight: normal;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin: -0.3em 0.4em 0 -2em;
}
ol > li h4,
ol > li h5,
ol > li h6 {
  vertical-align: top;
  display: inline-block;
  margin: 0;
  line-height: 1.5;
}
ol li ul {
  padding: 0 0 0 1.2em;
}
ol li ul li {
  padding: 0;
  margin: 0;
}
ol li ul li::before {
  counter-increment: none;
  content: none;
  margin: 0;
}
ol li strong {
  /*color:#f77;*/
  font-size: 1.4em;
}
.value {
  background: #f77;
  vertical-align: middle;
  display: inline-block;
  width: 1.6em;
  line-height: 1.6em;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin: -0.3em 0.4em 0 0;
}

body.enyu01 ol > li::before {
  background: #9d5b8b;
}
body.enyu02 ol > li::before {
  background: #839b5c;
}
body.nagisa01 ol > li::before {
  background: #007bbb;
}
body.nagisa02 ol > li::before {
  background: #bf783a;
}

ol.faq {
  counter-reset: q;
  list-style: none;
  margin: 0;
  padding: 0;
}
ol.faq > li::before {
  counter-increment: q;
  content: "Q" counter(q);
  content: "Q" attr(value);
  background: #f77;
  vertical-align: middle;
  display: inline-block;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.2em;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin: 0 0.4em 0 -2.4em;
}
ol.faq > li {
  margin-bottom: 1em;
}
ol.faq .a {
  padding: 0.5em 0 0.5em 0.4em;
}
ol.faq .a h4 {
  background: #090;
  display: inline-block;
  width: 2.4em;
  height: 2.4em;
  line-height: 2.2em;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  font-size: 1em;
  margin: 0 0.4em 0 -2.8em;
}
ol.faq li ol {
  display: inline-block;
  vertical-align: top;
}
ol.faq > li h6.i_close {
  color: #b7282e;
}

.q {
  padding-right: 2em;
  position: relative;
}
.q::before {
  content: "Q. ";
  display: inline-block;
  margin-right: 0.25em;
  transition: 0.25s;
  color: #007bbb;
}
.q::after {
  content: "＋";
  position: absolute;
  right: 0;
  display: inline-block;
  transition: 0.25s;
  color: #007bbb;
}
.q.i_close::after {
  transform: rotate(-45deg);
}
.a::before {
  content: "A. ";
  display: inline-block;
  font-weight: bold;
  margin-right: 0.25em;
  transition: 0.25s;
  color: #839b5c;
  font-size: 1.4em;
}

/*-- アコーディオン/ --*/
.m:hover,
.q:hover {
  cursor: pointer;
}

/*-- WordPress/ --*/
.aligncenter {
  display: block;
  margin: 0 auto;
}
.alignright {
  float: right;
  margin: 0 0 1.5em 2em;
  position: relative;
  z-index: 1;
}
.alignleft {
  float: left;
  margin: 0 2em 1.5em 0;
  position: relative;
  z-index: 1;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
  max-width: 100%;
  height: auto;
}
img.alignright,
img.alignleft {
  max-width: 45%;
}

.col1 {
  padding: 0 2%;
}
.col2 {
  column-count: 2;
  column-gap: 2em;
  padding: 0 2%;
}
.col3 {
  column-count: 3;
  column-gap: 2em;
  padding: 0 2%;
}
.break {
  -webkit-column-break-before: always;
  break-before: column;
}

.col2 ul {
  margin: 0;
  padding: 0 0 0 1em;
}

.post {
  color: #b7282e;
}
.name {
  font-size: 1.4em;
}
.license {
  margin-top: 0;
  padding: 0 0 0 2em;
  font-size: 0.9em;
}

.sub_menu {
  position: absolute;
  right: 0;
  top: -8em;
  background: #007bbb;
  width: 12em;
  padding: 0.75em;
  z-index: 100;
  line-height: 1.25;
}
.sub_menu h5 {
  color: #fff;
  border-bottom: 3px double #fff;
  font-size: 1.2em;
}
.sub_menu a {
  display: block;
  padding: 0.5em 1em 0.5em 1.5em;
  margin: 0;
  color: #fff;
  text-decoration: none;
  position: relative;
}
.sub_menu a::after {
  /*content:""; position:absolute; display:block; left:10px; top:calc(50% - 5px); width:7px; height:7px; margin:0; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(45deg);*/
}
.sub_menu a::before {
  content: "●";
  color: #007bbb;
  color: #fff;
  margin: 0 3px 0 -1.25em;
}
.sub_menu a:hover,
.sub_menu a.active {
  color: #3f3b3b;
  background: #fff;
  font-weight: bold;
}
.sub_menu a:hover::before,
.sub_menu a.active::before {
  color: #007bbb;
}

.titleDL {
  background: #f0f6f9;
  background: #007bbb;
  padding: 0.5em;
  margin: 0 0 1em 0;
  line-height: 1.25;
}
.titleDL dt {
  font-size: 1.2em;
  font-weight: bold;
  color: #fff;
  padding: 0;
  margin: 0 0 0.25em 0;
  border-bottom: 3px double #fff;
}
.titleDL dd {
  padding: 0;
}
.titleDL dd a {
  display: inline-block;
  padding: 0.5em 1em 0.5em 1.25em;
  margin: 1%;
  color: #fff;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 5px;
  transition: 0.25s;
}
.titleDL dd a:hover,
.titleDL dd a.active {
  color: #007bbb;
  background: #f0f6f9;
  background: rgba(255, 255, 255, 0.9);
}
.titleDL dd a:hover::before,
.titleDL dd a.active::before {
  color: #007bbb;
}

.i_arrow_r,
.i_arrow_l {
}
.i_arrow_r::after {
  content: "";
  position: absolute;
  display: block;
  left: calc(50% - 6px);
  top: calc(50% - 4.5px);
  width: 7px;
  height: 7px;
  margin: 0;
  border-top: 2px solid #007bbb;
  border-right: 2px solid #007bbb;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.i_arrow_l::after {
  content: "";
  position: absolute;
  display: block;
  left: calc(50% - 3px);
  top: calc(50% - 4.5px);
  width: 7px;
  height: 7px;
  margin: 0;
  border-bottom: 2px solid #007bbb;
  border-left: 2px solid #007bbb;
  transform: rotate(45deg);
  box-sizing: border-box;
}

.pagenavi {
  text-align: center;
  margin: 1em 0;
}
.pagenavi .page,
.pagenavi .prev,
.pagenavi .next,
.pagenavi .current,
.pagenavi .last,
.pagenavi .page.s,
.pagenavi .page.s:hover {
  display: inline-block;
  margin: 0 5px;
  width: 40px;
  height: 40px;
  line-height: 38px;
  background: #fff;
  color: #3f3b3b;
  border: 1px solid #3f3b3b;
  letter-spacing: 1px;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px; /*box-shadow:0 3px 0 rgba(0, 0, 0, 0.1); transition-delay:0s;*/
  transition-duration: 0.5s;
  transition-property: background-color, color;
  transition-timing-function: ease, ease;
  box-sizing: border-box;
  text-decoration: none;
  position: relative;
}
.pagenavi .page.s {
  display: inline-block;
  margin: 0 5px;
  width: 40px;
  height: 40px;
  line-height: 38px;
  border: 1px solid #3f3b3b;
  letter-spacing: 1px;
  text-align: center;
  vertical-align: middle;
  border-radius: 5px;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  transition-delay: 0s;
  transition-duration: 0.25s;
  transition-property: background-color, color;
  transition-timing-function: ease, ease;
  box-sizing: border-box;
}
.pagenavi .prev.disable,
.pagenavi .next.disable,
.pagenavi .prev.disable:hover,
.pagenavi .next.disable:hover {
  border: 1px solid #eee;
  background: #eee;
  box-shadow: none;
  cursor: default;
}

.pagenavi .current,
.pagenavi .page:hover,
.pagenavi .prev:hover,
.pagenavi .next:hover,
.pagenavi .current:hover,
.pagenavi .last:hover {
  border: 1px solid #007bbb;
  background: #007bbb;
  color: #fff;
  transition-property: background-color, color;
  transition-timing-function: ease, ease;
}
.pagenavi .next:hover .i_arrow_r::after,
.pagenavi .next.disable .i_arrow_r::after {
  border-color: #fff;
}
.pagenavi .prev:hover .i_arrow_l::after,
.pagenavi .prev.disable .i_arrow_l::after {
  border-color: #fff;
}

/*--Youtube--*/
.youtube {
  position: relative;
  width: 80%;
  padding-top: 45%;
  margin: auto;
  text-align: center;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*WP管理バー 検索ボタン*/
#wpadminbar .adminbar-button {
  display: none !important;
}

/*沿革*/
.table02.history th {
  color: #007bbb;
}
.table02.history td + td {
  width: 100%;
}

/*利用料金*/
.tab {
  position: relative;
  margin: 0 0 1em 0;
}
.tab ul {
  display: flex;
  flex-flow: row wrap;
  list-style: none;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
.tab ul li {
  padding: 1em 1em 1em 2em;
  border-bottom: 2px solid #bbb;
  width: 25%;
  box-sizing: border-box;
  text-decoration: underline;
  vertical-align: middle;
  position: relative;
}
.tab ul li::before {
  content: "";
  background: none;
  position: absolute;
  display: block;
  left: 0.75em;
  top: calc(50% - 0.2em);
  width: 0.5em;
  height: 0.5em;
  margin: 0;
  border-top: 2px solid #007bbb;
  border-right: 2px solid #007bbb;
  transform: rotate(45deg);
  box-sizing: border-box;
}
.tab ul li.select {
  font-weight: bold;
  border: 2px solid #bbb;
  border-bottom: none;
  text-decoration: none;
  border-radius: 1em 1em 0 0;
}
.tab ul li.select::before {
  transform: rotate(135deg);
  transition: 0.5s;
  opacity: 1 !important;
}
.tab ul li:hover {
  cursor: pointer;
}
.tab ul li:hover div {
  cursor: pointer;
}

.tab_content {
  padding: 0 !important;
  margin: 0 auto;
  list-style: none !important;
}
.tab_content li::before {
  display: none !important;
}
.tab_content .hide {
  display: none;
}

/*関連施設*/
.coop_box {
  display: block;
  width: 100%;
  padding: 66.67% 0 0 0;
  position: relative;
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/05/p_hospital01.jpg)
    center 60% /60% no-repeat;
  box-sizing: border-box;
}
.coop_box a {
  display: block;
  position: absolute;
  width: 25%;
  height: 0;
  padding: 25% 0 0 0;
  box-sizing: border-box;
}
.coop_box a.s01 {
  top: 15%;
  left: 0;
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/06/coop_s01.png)
    center center / cover no-repeat;
}
.coop_box a.s02 {
  left: 10%;
  bottom: 0;
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/06/coop_s02.png)
    center center / cover no-repeat;
}
.coop_box a.s03 {
  top: 0;
  left: 37.5%;
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/06/coop_s03.png)
    center center / cover no-repeat;
}
.coop_box a.s04 {
  top: 15%;
  right: 0;
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/06/coop_s04.png)
    center center / cover no-repeat;
}
.coop_box a.s05 {
  right: 10%;
  bottom: 0;
  background: url(https://xb821908.xbiz.jp/kaigo-nagisa/wp-content/uploads/2019/06/coop_s05.png)
    center center / cover no-repeat;
}

.anchor {
  height: 90px;
  margin-top: -90px;
  position: relative;
  z-index: -1;
}

/*フロア図*/
.enyu_floor01,
.enyu_floor02 {
  position: relative;
  padding-top: 32%;
  margin-bottom: 1em;
}
.enyu_floor01 .floor,
.enyu_floor02 .floor {
  position: absolute;
  top: 0;
  left: 0;
}
.point {
  position: absolute;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  padding: 0;
  line-height: 1.2;
  letter-spacing: normal;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(183, 40, 46, 0.9);
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 50%;
  box-shadow: 1px 1px 1px rgba(255, 255, 255, 1);
}
.point:hover {
  cursor: pointer;
}
/*えんゆうの郷 1F*/
.point.e_unit01 {
  top: calc(26% - 0.6em);
  left: calc(16% - 0.6em);
}
.point.e_kitc01 {
  top: calc(26% - 0.6em);
  left: calc(27% - 0.6em);
}
.point.e_bath01 {
  top: calc(46% - 0.6em);
  left: calc(50.4% - 0.6em);
}
.point.e_corr01 {
  top: calc(35% - 0.6em);
  left: calc(67% - 0.6em);
}
.point.e_door01 {
  top: calc(33% - 0.6em);
  left: calc(92% - 0.6em);
}
.point.e_entr01 {
  top: calc(33% - 0.6em);
  left: calc(98% - 0.6em);
}
.point.e_lexs01 {
  top: calc(75% - 0.6em);
  left: calc(90% - 0.6em);
}
.point.e_kitc02 {
  top: calc(17% - 0.6em);
  left: calc(52.5% - 0.6em);
}
.point.e_offi01 {
  top: calc(17% - 0.6em);
  left: calc(90.5% - 0.6em);
}
/*えんゆうの郷 2F*/
.point.e_bath02 {
  top: calc(22% - 0.6em);
  left: calc(37% - 0.6em);
}
.point.e_wc01 {
  top: calc(34.5% - 0.6em);
  left: calc(32.5% - 0.6em);
}
.point.e_chan01 {
  top: calc(34% - 0.6em);
  left: calc(37% - 0.6em);
}
.point.e_corr02 {
  top: calc(50% - 0.6em);
  left: calc(48% - 0.6em);
}
.point.e_room01 {
  top: calc(13.5% - 0.6em);
  left: calc(59.3% - 0.6em);
}
.point.e_ev01 {
  top: calc(50% - 0.6em);
  left: calc(40% - 0.6em);
}
.point.e_unit02 {
  top: calc(75% - 0.6em);
  left: calc(28% - 0.6em);
}

ol.floor_point {
  margin: 0 0 1em 0;
  padding: 0;
  list-style: none;
  letter-spacing: -0.4em;
}
ol.floor_point li {
  display: inline-block;
  vertical-align: top;
  width: 49%;
  line-height: 1.5;
  letter-spacing: normal;
  margin: 0 0 0.5em 0;
  padding: 0 1em 0 1.6em;
  box-sizing: border-box;
}
ol.floor_point > li::before {
  position: absolute;
  content: attr(value);
  border: 1px solid rgba(255, 255, 255, 0.9);
  background: rgba(183, 40, 46, 0.9);
  vertical-align: middle;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  padding: 0;
  line-height: 1.2;
  font-size: 1em;
  font-weight: 300;
  letter-spacing: normal;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin: 0.1em 0.4em 0 -1.6em;
  box-sizing: border-box;
}
ol.floor_point li a {
  display: block;
}

@media print {
  html {
    background: none;
    height: auto;
    min-height: 0;
  }
  body {
    background: none;
    margin: 0;
    padding: 0;
  }

  .covervid-wrapper,
  .covervid-video,
  .header,
  .booking_box {
    display: none;
  }

  .contents {
    display: block;
    width: 100%;
    max-width: 100%;
    background: none;
    padding: 0;
    margin: 0;
    line-height: 1.8;
  }

  .head {
    background: none;
    height: 0;
    padding: 0;
    margin: 0;
    display: none;
  }

  .article {
    width: 100%;
    padding: 0;
  }
  .full {
    margin-left: 0;
    margin-right: 0;
    padding: 20px 0;
    width: 100%;
  }
  body.top .full {
    padding: 20px 0;
  }
  body.top .full_bg {
    padding-left: 0;
    padding-right: 0;
  }
  .box_l.full .photo {
    margin-left: 0;
    width: 50vw;
    max-width: 50vw;
  }
  .box_r.full .photo {
    margin-right: 0;
    width: 50vw;
    max-width: 50vw;
  }

  .hero_img {
    margin: 0;
  }
  .hero_img svg {
    width: 100% !important;
  }
  .hm {
    display: none !important;
  }
  .side {
    display: none !important;
  }

  .navibar {
    width: 100%;
    padding: 0;
    display: none;
  }
  .navibar ul {
    padding: 0;
    margin: 0;
  }

  h1 {
    background: none;
    color: #3f3b3b;
    font-weight: normal;
  }
  h2 {
    font-weight: normal;
  }
  h3,
  h4,
  h5,
  h6 {
    font-weight: normal;
  }
  .text_box {
    padding: 0;
    box-shadow: none;
  }

  .index_title {
    padding: 5px 0 5px 0;
    background: none;
  }

  body.top .foot,
  .foot {
    margin: 0;
    border-top: 1px solid #ccc;
  }
  .f_sub,
  .foot .booking,
  .copyright {
    display: none;
  }

  .table01 {
    border: 2px solid #ccc;
    border-collapse: collapse;
    margin-bottom: 20px;
  }
  .table01 th,
  .table01 td {
    font-weight: normal;
    border: 2px solid #ccc;
  }
  .table02 th,
  .table02 td {
    font-weight: normal;
  }
  .table03 th,
  .table03 td {
    font-weight: normal;
  }

  .sns {
    display: none;
  }

  .b_box,
  .fm {
    display: none;
  }

  .footer {
    display: block;
  }
}
/*サービス利用料金*/
.flexbtn {
  display: flex;
  margin-top: 3rem;
  flex-wrap: wrap;
}
.original-button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  text-decoration: none;
  color: #ffffff !important;
  font-size: 18px;
  border-radius: 50px;
  min-width: 360px;
  padding: 10px;
  transition: 0.3s;
  background-color: #9d5b8b;
  margin-right: 20px;
  margin-bottom: 20px;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.1) 10px 10px 10px;
}
.original-button:hover {
  opacity: 0.7;
}
.bluebtn {
  background-color: rgb(0, 123, 187) !important;
}
