@charset "UTF-8";
@font-face {
  font-family: "gen";
  src: url("font/wf-1.eot"), url("font/wf-1.woff"); }
*,
*::before,
*::after {
  box-sizing: border-box; }

header, section, footer, aside, nav, article, figure {
  display: block;
  position: relative; }

html {
  height: 100%;
  -webkit-print-color-adjust: exact; }

html, body {
  margin: 0;
  padding: 0;
  font-style: normal;
  vertical-align: baseline;
  text-indent: 0;
  line-height: 1;
  color: #302E2E; }

html, body, small, h1, h2, h3, h4, h5 {
  font-size: 1em; }

div, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, figcaption, figure, picture,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  font-family: dnp-shuei-mgothic-std, sans-serif;
  font-style: normal;
  text-indent: 0;
  list-style: none;
  font-weight: 300; }

table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  font-family: dnp-shuei-mgothic-std, sans-serif;
  font-style: normal;
  text-indent: 0;
  list-style: none;
  font-weight: 300; }

iframe {
  display: block;
  width: 100%;
  height: auto;
  border: none; }

img, picture {
  display: block;
  width: 100%;
  height: auto; }

.fixImg {
  width: auto;
  height: auto; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

#container a,
footer a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #4AA392;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  #container a:hover, #container a:active,
  footer a:hover,
  footer a:active {
    color: rgba(74, 163, 146, 0.7); }
  #container a:hover,
  footer a:hover {
    opacity: 0.7; }

del {
  text-decoration: line-through; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

th {
  font-weight: normal; }

td, th {
  line-height: 1.3em; }

input,
select {
  vertical-align: middle; }

ul, ol, dl, li {
  padding: 0;
  margin: 0;
  list-style: none; }

area {
  cursor: pointer !important; }

section p,
.section p {
  margin-bottom: 1em;
  line-height: 1.8em; }

#contents ul,
#contents ol,
#contents dl {
  margin-bottom: 1em;
  margin-top: 1em; }

#contents li,
#contents dd {
  line-height: 1.8em; }

#contents ul li {
  margin-left: 0em;
  padding-left: normal; }

.low #contents section ol:not(.flow) li,
.low #contents .section ol:not(.flow) li {
  margin-left: 1.5em;
  list-style: decimal;
  padding-left: normal; }

/* clearfix -------------*/
.cf {
  zoom: 1; }

.cf:before,
.cf:after,
#hdUpper:after,
header:after,
header nav:after,
#container:after,
footer:after,
#contents:after,
#contents .section:after,
#sidebar section:after,
#sidebar .section:after,
#bread:after,
footer:after,
#bottomInfo:after,
.innerL:after,
.innerM:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.cf,
.float_block {
  overflow: hidden; }

/* Layout Document */
/* Layout Basic block   //////////////////////////////////////*/
body {
  line-height: 1.6;
  color: #302E2E; }

header nav ul {
  margin: 0 auto; }

/*.home #container {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding:0;
	@include media(sp) {
		width: 100%;
      padding-top: 0 !important;
	}
}*/
.low #contents {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 3% 0 3%; }
  @media only screen and (max-width: 560px) {
    .low #contents {
      width: 100%;
      padding-top: 0 !important; } }

.innerL {
  max-width: 1600px;
  margin: 0 auto; }

.innerM {
  max-width: 1200px;
  margin: 0 auto; }

@media only screen and (max-width: 560px) {
  #contents > section,
  #contents > .section {
    margin-bottom: 40px; } }

.low #contents > section,
.low #contents > .section {
  margin-bottom: 70px; }
  @media only screen and (max-width: 560px) {
    .low #contents > section,
    .low #contents > .section {
      margin-left: 0; } }

#contents > section section,
#contents > section .section,
#contents > .section section,
#contents > .section .section {
  margin-bottom: 50px; }

h1, h2, h3, h4 {
  font-weight: bold; }

.low h1 {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding: 20px 20px;
  font-size: 1.6rem;
  font-weight: normal;
  color: #302E2E;
  background: rgba(74, 163, 146, 0.2);
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px; }
  .low h1 img {
    max-width: 60px;
    margin: 0 auto; }
  .low h1 span {
    color: #006934;
    display: block;
    font-size: 0.5em; }

h2 {
  font-size: 1.8rem; }

h3 {
  font-size: 1.5rem; }

h4 {
  font-size: 1.3rem; }

h5 {
  font-size: 1.2rem; }

@media only screen and (max-width: 560px) {
  .low h1 {
    font-size: 5vw;
    padding: 10px 20px; }
    .low h1 img {
      max-width: 40px; }

  h2 {
    font-size: 6.5vw; }

  h3 {
    font-size: 5.5vw; }

  h4 {
    font-size: 5vw; } }
body {
  background: #fff; }

.home #innner_wrapper {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 959px) {
    .home #innner_wrapper {
      display: block; } }
.home header {
  z-index: 10;
  flex: 0 1 15%;
  background: #fff; }
  @media only screen and (max-width: 560px) {
    .home header #logo {
      padding: 20px; } }
  .home header #logo .logo_SP {
    display: none !important; }
    @media only screen and (max-width: 560px) {
      .home header #logo .logo_SP {
        display: block !important;
        width: 80%; } }
    .home header #logo .logo_SP img {
      width: 100%;
      max-width: 500px; }
  .home header #logo #s_logo {
    width: 85%;
    margin: 20px auto 20px; }
    @media only screen and (max-width: 959px) {
      .home header #logo #s_logo {
        display: none !important; } }
    .home header #logo #s_logo img {
      max-width: 200px;
      margin: 0 auto; }
  .home header #header_add {
    width: 70%;
    margin: 0 auto 20px; }
    .home header #header_add img {
      max-width: 300px; }
    @media only screen and (max-width: 560px) {
      .home header #header_add {
        display: none !important; } }
.home #hdImage {
  flex: 0 1 90%;
  overflow: hidden; }

.low header {
  z-index: 10; }
  .low header #logo {
    padding: 20px; }
    .low header #logo #s_logo {
      display: none !important; }
    .low header #logo .logo_SP {
      width: 55%; }
      @media only screen and (max-width: 560px) {
        .low header #logo .logo_SP {
          width: 80%;
          margin: 0 auto 20px; } }
      .low header #logo .logo_SP img {
        width: 100%;
        max-width: 500px; }
    .low header #logo #header_add {
      position: absolute;
      right: 20px;
      top: 20px;
      max-width: 30%; }
      .low header #logo #header_add img {
        max-width: 300px; }
      @media only screen and (max-width: 560px) {
        .low header #logo #header_add {
          position: static;
          max-width: 100%; }
          .low header #logo #header_add img {
            margin: 0 auto; } }
  .low header #globalNav {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 959px) {
      .low header #globalNav {
        display: block; } }

@media only screen and (min-width: 561px) and (max-width: 959px) {
  .home header #logo, .low header #logo {
    padding: 0 0 20px;
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .home header #logo .logo_SP, .low header #logo .logo_SP {
      width: 55%;
      display: block !important;
      flex: 0 0 50%; }
    .home header #logo #header_add, .low header #logo #header_add {
      width: 70%;
      max-width: 30%;
      margin: 0 auto 20px;
      position: static;
      flex: 0 0 30%;
      margin-bottom: 0; } }
@media only screen and (min-width: 561px) and (max-width: 959px) {
  header {
    margin-top: 0px !important; } }
@media only screen and (max-width: 959px) {
  header {
    position: relative;
    padding: 0; } }
header.fixed {
  background: #fff;
  z-index: 2000; }
  @media only screen and (max-width: 959px) {
    header.fixed {
      background: none; } }
header nav {
  background: #fff;
  margin: 0 auto;
  z-index: 30; }
  @media only screen and (max-width: 959px) {
    header nav {
      background: #FCFFFD; } }
  header nav #globalNav {
    text-align: center;
    margin: 0 auto;
    background: #fff; }
    @media only screen and (max-width: 959px) {
      header nav #globalNav {
        background: none; } }
    header nav #globalNav > li {
      padding: 0 20px;
      margin-bottom: 10px; }
      header nav #globalNav > li img {
        max-width: 50px;
        margin: 0 auto; }
      header nav #globalNav > li > a {
        position: relative;
        display: block;
        width: 100%;
        padding: 10px 1px;
        text-align: center;
        color: #302E2E;
        font-family: dnp-shuei-mgothic-std, sans-serif;
        font-style: normal;
        font-size: 1.1rem;
        line-height: 1.5;
        text-decoration: none;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        header nav #globalNav > li > a > p > span {
          font-size: 0.8em;
          display: block;
          color: #4AA392; }
        header nav #globalNav > li > a:hover {
          color: #4AA392; }
        @media only screen and (min-width: 561px) and (max-width: 1650px) {
          header nav #globalNav > li > a {
            font-size: 1.2vw; } }
        @media all and (-ms-high-contrast: none) {
          header nav #globalNav > li > a {
            padding-bottom: 5px; } }
        @media only screen and (min-width: 561px) and (max-width: 959px) {
          header nav #globalNav > li > a {
            font-size: 1.8vw; } }
        @media only screen and (max-width: 959px) {
          header nav #globalNav > li > a {
            margin: 0 1% 10px;
            background: #fff;
            align-items: center;
            padding: 5px 10px;
            border-radius: 6px; }
            header nav #globalNav > li > a img {
              flex: 0 0 33%; }
            header nav #globalNav > li > a p {
              flex: 0 0 60%; } }
        @media only screen and (max-width: 560px) {
          header nav #globalNav > li > a {
            font-size: 4vw; } }
      .home header nav #globalNav > li:nth-child(1) > a, .home header nav #globalNav > li:nth-child(1) > p {
        color: #4AA392; }
      .homecare header nav #globalNav > li:nth-child(2) > a, .homecare header nav #globalNav > li:nth-child(2) > p {
        color: #4AA392; }
      .app header nav #globalNav > li:nth-child(3) > a, .app header nav #globalNav > li:nth-child(3) > p {
        color: #4AA392; }
      .about header nav #globalNav > li:nth-child(4) > a, .about header nav #globalNav > li:nth-child(4) > p {
        color: #4AA392; }
      .medicine header nav #globalNav > li:nth-child(5) > a, .medicine header nav #globalNav > li:nth-child(5) > p {
        color: #4AA392; }
      @media only screen and (max-width: 959px) {
        header nav #globalNav > li {
          text-shadow: none;
          text-shadow: none;
          text-shadow: none;
          text-shadow: none;
          text-shadow: none; }
          .home header nav #globalNav > li:nth-child(1) a {
            -webkit-animation: trme 0.4s ease-out 0.3s 1 forwards;
            animation: trme 0.4s ease-out 0.3s 1 forwards;
            color: #4AA392; }
          .homecare header nav #globalNav > li:nth-child(2) a {
            -webkit-animation: trme 0.4s ease-out 0.3s 1 forwards;
            animation: trme 0.4s ease-out 0.3s 1 forwards;
            color: #4AA392; }
          .app header nav #globalNav > li:nth-child(3) a {
            -webkit-animation: trme 0.4s ease-out 0.3s 1 forwards;
            animation: trme 0.4s ease-out 0.3s 1 forwards;
            color: #4AA392; }
          .about header nav #globalNav > li:nth-child(4) a {
            -webkit-animation: trme 0.4s ease-out 0.3s 1 forwards;
            animation: trme 0.4s ease-out 0.3s 1 forwards;
            color: #4AA392; }
          .medicine header nav #globalNav > li:nth-child(5) a {
            -webkit-animation: trme 0.4s ease-out 0.3s 1 forwards;
            animation: trme 0.4s ease-out 0.3s 1 forwards;
            color: #4AA392; } }
    header nav #globalNav .sub {
      position: absolute;
      top: 0;
      right: -90%;
      font-size: 0.9em;
      border-radius: 5px; }
      @media only screen and (min-width: 960px) {
        header nav #globalNav .sub {
          opacity: 0;
          z-index: -10; } }
@keyframes slideIn {
  0% {
    transform: translateX(-180px);
    opacity: 0; }
  100% {
    transform: translateX(0); }
  60%,100% {
    opacity: 1; } }
      @media only screen and (min-width: 960px) {
        header nav #globalNav .sub {
          left: 10vw;
          display: block;
          width: 100%;
          min-width: 180px; } }
      @media only screen and (min-width: 561px) and (max-width: 959px) {
        header nav #globalNav .sub {
          display: block;
          width: 100%; } }
      @media only screen and (max-width: 959px) {
        header nav #globalNav .sub {
          display: block;
          position: static; } }
      header nav #globalNav .sub.show {
        opacity: 1; }
        @media only screen and (min-width: 960px) {
          header nav #globalNav .sub.show {
            animation: slideIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards; } }
      header nav #globalNav .sub li {
        text-align: left;
        background: #fff; }
        @media only screen and (max-width: 959px) {
          header nav #globalNav .sub li {
            margin: 0; } }
        header nav #globalNav .sub li a, header nav #globalNav .sub li p {
          display: block;
          width: 100%;
          padding: 15px 0.5em 15px 30px;
          color: #006934;
          border-bottom: 1px dotted #006934;
          text-decoration: none;
          font-style: normal; }
          header nav #globalNav .sub li a:before, header nav #globalNav .sub li p:before {
            content: url("../img/menu_dot.svg");
            margin-right: 0.5em;
            margin-left: -10px; }
          header nav #globalNav .sub li a span, header nav #globalNav .sub li p span {
            display: inline-block; }
          @media only screen and (max-width: 959px) {
            header nav #globalNav .sub li a, header nav #globalNav .sub li p {
              padding: 12px 10px 12px 33%;
              text-decoration: none; } }
          @media only screen and (min-width: 561px) and (max-width: 959px) {
            header nav #globalNav .sub li a, header nav #globalNav .sub li p {
              font-size: 1.5vw; } }
          @media only screen and (max-width: 560px) {
            header nav #globalNav .sub li a, header nav #globalNav .sub li p {
              font-size: 3.5vw; } }
          header nav #globalNav .sub li a:hover, header nav #globalNav .sub li p:hover {
            color: #006934 !important; }
          @media only screen and (max-width: 959px) {
            header nav #globalNav .sub li a:hover, header nav #globalNav .sub li p:hover {
              color: #006934 !important; } }
        header nav #globalNav .sub li:last-child a {
          border-bottom: none; }
        @media only screen and (max-width: 959px) {
          header nav #globalNav .sub li.select {
            background: #00cf67 !important; } }
header #subNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #008341; }
  @media only screen and (max-width: 959px) {
    header #subNav {
      flex-wrap: wrap; } }
  header #subNav li {
    -webkit-box-flex: 1 1;
    -ms-flex: 1 1;
    flex: 1 1;
    border: 1px solid #fff; }
    @media only screen and (max-width: 959px) {
      header #subNav li {
        flex-basis: 33%; } }
  header #subNav a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 8px;
    color: #000;
    font-size: calc(0.8rem + ((1vw - 0.64rem) * 0.5143));
    font-weight: 500;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    @media only screen and (max-width: 959px) {
      header #subNav a {
        font-size: 3.5vw; } }
    header #subNav a::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 5%;
      width: 8px;
      height: 8px;
      margin-top: -4px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(45deg); }
    header #subNav a:hover {
      background: #005a2c; }
  .guiInd header #subNav li:nth-of-type(1) a, .guiGre header #subNav li:nth-of-type(2) a, .guiEnk header #subNav li:nth-of-type(3) a, .guiJis header #subNav li:nth-of-type(4) a, .guiEmp header #subNav li:nth-of-type(5) a, .proInd header #subNav li:nth-of-type(1) a, .proShi header #subNav li:nth-of-type(2) a, .infInd header #subNav li:nth-of-type(1) a, .infStu header #subNav li:nth-of-type(2) a, .infGra header #subNav li:nth-of-type(3) a {
    background: #005027; }

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  box-shadow: 1px 1px 20px #00361b;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all  0.3s ease-in-out; }
  @media only screen and (max-width: 959px) {
    .fixed {
      box-shadow: none; } }

nav.fixed {
  margin-top: 0px; }

/* //////////////////////////////////////////////////////////////////////// 
コンテンツ 
///////////////////////////////////////////////////////////////*/
#subNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 959px) {
    #subNav ul {
      flex-wrap: wrap; } }
#subNav li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1 1;
  -ms-flex: 1 1;
  flex: 1 1;
  margin: 0;
  border: 1px solid #c0c0c0;
  /*@include media (tab) {
  	border-bottom: none;
  	margin: 0;
  	&:not(:last-child){margin-right: 1%;}
  }*/ }
  @media only screen and (min-width: 960px) {
    #subNav li:not(:last-child) {
      border-right: none; } }
  @media only screen and (max-width: 959px) {
    #subNav li {
      flex: 33.3333%;
      align-content: stretch;
      margin: 0;
      border-bottom: 1px solid #fff;
      text-align: center; }
      #subNav li:not(:nth-child(3n)) {
        border-right: 1px solid #fff; } }

#bread {
  max-width: 1600px;
  position: relative;
  margin: 0 auto 15px auto !important;
  padding: 20px 0.3em 0.4em 0.8em;
  font-size: 0.875rem;
  line-height: 1.4em; }
  .home #bread {
    display: none; }
  #bread * {
    color: #5e5e5e; }
  #bread li {
    float: left;
    list-style: none !important; }
    #bread li:not(:last-of-type):after {
      display: inline-block;
      margin: 0 0.5em 0 0;
      display: inline-block;
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      color: #c0c0c0;
      font-size: 0.9em; }
      @media only screen and (max-width: 560px) {
        #bread li:not(:last-of-type):after {
          content: '/';
          font-family: dnp-shuei-mgothic-std, sans-serif; } }
    @media only screen and (max-width: 560px) {
      #bread li:first-of-type span {
        display: none; } }
  #bread a {
    margin-right: 0.5em; }
    @media only screen and (min-width: 960px) {
      #bread a {
        text-decoration: underline !important; } }

#contents {
  min-height: 400px; }
  #contents h2 span,
  #contents h3 span,
  #contents h4 span,
  #contents h5 span,
  #contents .inline span {
    display: inline-block; }

@media only screen and (max-width: 560px) {
  .inlineSp span {
    display: inline-block; } }
.low #contents {
  padding: 30px 5% 30px 5% !important; }
  .low #contents h2 {
    color: #4AA392;
    margin-bottom: 30px;
    border-bottom: 2px dotted #4AA392; }
    .low #contents h2:before {
      display: inline-block;
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      margin-right: 5px; }
    .low #contents h2 span {
      display: inline-block; }
  .low #contents h3 {
    margin-bottom: 20px;
    padding-left: 10px;
    border-left: 7px solid #66baaa;
    color: #302E2E; }
    .low #contents h3:after {
      content: "";
      display: block;
      height: 0;
      visibility: hidden;
      clear: both; }
    .low #contents h3 span {
      display: inline-block; }

/* //////////////////////////////////////////////////////////////////////// 
コンテンツフッター
///////////////////////////////////////////////////////////////*/
footer {
  background: #FCFFFD;
  padding-top: 10px;
  padding-bottom: 50px !important; }
  @media only screen and (max-width: 560px) {
    footer {
      padding-bottom: 50px; } }
  footer #footer_nav {
    max-width: 1200px;
    margin: 40px auto;
    display: flex;
    justify-content: space-around; }
    @media only screen and (min-width: 561px) and (max-width: 959px) {
      footer #footer_nav li {
        font-size: 2.5vw; } }
    @media only screen and (max-width: 560px) {
      footer #footer_nav {
        flex-wrap: wrap;
        justify-content: flex-start;
        width: 90%; }
        footer #footer_nav li {
          flex: 0 0 50%;
          margin-bottom: 1em; } }
    footer #footer_nav a {
      color: #4AA392; }
  footer .footer_inner {
    max-width: 1800px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #4AA392; }
    @media only screen and (max-width: 959px) {
      footer .footer_inner {
        display: block;
        width: 90%; } }
    footer .footer_inner .footer_logo img {
      max-width: 500px; }
      @media only screen and (max-width: 959px) {
        footer .footer_inner .footer_logo img {
          max-width: 300px;
          margin-bottom: 20px; } }
    footer .footer_inner a {
      color: #4AA392; }
    footer .footer_inner .footer_phone {
      font-size: 1.5rem; }
  footer #copy {
    text-align: center; }
    footer #copy a {
      margin-top: 1em;
      margin-bottom: 1em;
      line-height: 1;
      font-size: 0.75rem;
      color: #4AA392 !important; }
      @media only screen and (max-width: 560px) {
        footer #copy a {
          font-size: 2.1vw;
          color: #4AA392 !important; } }
  footer #ddBtn {
    margin-top: 1em; }
    footer #ddBtn img {
      max-width: 280px;
      margin: 0 auto; }

#ptBtn {
  position: fixed;
  bottom: 10px;
  right: 20px; }
  @media only screen and (max-width: 560px) {
    #ptBtn {
      bottom: 5px;
      right: 5px; } }
  #ptBtn a {
    display: block;
    padding: 6px;
    background: rgba(0, 105, 52, 0.8);
    box-sizing: border-box;
    border-radius: 50%;
    color: #fff;
    text-align: center; }
    #ptBtn a:hover {
      background: rgba(0, 105, 52, 0.8); }
    #ptBtn a span {
      display: block;
      font-size: 0.85rem; }
  #ptBtn img {
    margin: 0 auto; }

table {
  margin: 1em 0 1.5em 0;
  background: #ffffff; }

caption {
  margin-bottom: 0.7em;
  text-align: left;
  font-weight: bold; }

tbody th {
  text-align: left; }

th,
td {
  font-weight: normal;
  vertical-align: middle;
  border: 1px solid #998788; }

.timetable table {
  width: 100%;
  max-width: 600px;
  margin-top: 0;
  margin-bottom: 10px;
  border: none;
  border-collapse: separate !important;
  border-spacing: 5px !important;
  text-align: center;
  background: none; }
  @media only screen and (min-width: 561px) and (max-width: 1650px) {
    .timetable table {
      width: 90%; } }
  @media only screen and (min-width: 561px) and (max-width: 959px) {
    .timetable table {
      max-width: 900px;
      width: 100%; } }
  @media only screen and (max-width: 560px) {
    .timetable table {
      border-spacing: 2px !important; } }
  .timetable table th, .timetable table td {
    vertical-align: middle;
    border: none;
    font-weight: bold !important; }
    .timetable table th:last-child, .timetable table td:last-child {
      border-right: none; }
    @media only screen and (max-width: 560px) {
      .timetable table th, .timetable table td {
        font-size: 4vw !important; } }
  .timetable table td {
    background: #fff; }
  .timetable table thead th {
    padding: 10px 5px;
    background: #006934;
    color: #fff; }
    @media only screen and (max-width: 560px) {
      .timetable table thead th {
        padding: 5px 3px; } }
  .timetable table tbody th,
  .timetable table tbody td {
    padding: 10px 5px;
    text-align: center; }
    @media only screen and (max-width: 560px) {
      .timetable table tbody th,
      .timetable table tbody td {
        padding: 5px 3px; } }
  .timetable table tbody th {
    background: #fff; }
    .timetable table tbody th span {
      display: inline-block; }
  .timetable table tbody td {
    color: #006934; }
.timetable p {
  margin-bottom: 1em !important; }
  .timetable p span {
    color: #006934; }
  @media only screen and (min-width: 561px) and (max-width: 959px) {
    .timetable p {
      font-size: 2vw !important; }
      .timetable p a {
        font-size: 2.5vw; } }
  @media only screen and (max-width: 560px) {
    .timetable p {
      font-size: 4vw !important; } }

strong {
  font-weight: bold; }

#bread strong {
  font-weight: normal; }

.red {
  color: #ff0039; }

.blue {
  color: #477fb4; }

.bold {
  font-weight: bold; }

.cc1 {
  color: #730524; }

.size-ss {
  font-size: 80% !important; }

.size-s {
  font-size: 88% !important; }

.size-l {
  font-size: 120% !important; }

.size-ll {
  font-size: 150% !important; }

.anno {
  color: #FF0000; }

.anno-s {
  color: #FF0000;
  font-size: 88%; }

.anno-l {
  color: #FF0000;
  font-size: 120%;
  font-weight: bold; }

.anno-ll {
  color: #FF0000;
  font-size: 150%;
  font-weight: bold; }

.anno2 {
  margin: 1em 0em; }
  .anno2 li {
    margin-bottom: 0em;
    color: #44494c;
    font-size: 90%; }
    .anno2 li .red {
      color: #ce0a4c; }
    .anno2 li:before {
      content: "※ "; }

.point1 {
  display: inline;
  font-weight: bold;
  background: rgba(255, 255, 255, 0) linear-gradient(transparent 60%, #cce5ff 0%) repeat scroll 0 0;
  color: #302E2E; }

.point2 {
  display: inline;
  font-weight: bold;
  background: rgba(255, 255, 255, 0) linear-gradient(transparent 60%, #E891C5 0%) repeat scroll 0 0;
  color: #302E2E; }

.box1 {
  background: #fff;
  padding: 10px 30px;
  border-radius: 15px;
  max-width: 900px;
  margin-bottom: 20px;
  border: 3px solid #006934;
  color: #003567;
  font-weight: bold; }
  .box1 dt {
    float: left; }
  .box1 dd {
    margin-left: 80px; }

.fix img {
  width: auto !important; }

.edge img,
.addImgCap img {
  border: 5px solid #ffffff;
  box-shadow: 1px 1px 7px #000; }

.addImgCap li img {
  margin: 0 auto; }

.photo figcaption {
  margin-top: 10px;
  font-size: 0.9em;
  text-align: center; }
  .photo figcaption:before {
    display: inline-block;
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 0.5em; }

.w10 {
  width: 10%;
  height: auto; }

.w15 {
  width: 15%;
  height: auto; }

.w20 {
  width: 20%;
  height: auto; }

.w25 {
  width: 25%;
  height: auto; }

.w30 {
  width: 30%;
  height: auto; }

.w35 {
  width: 35%;
  height: auto; }

.w40 {
  width: 40%;
  height: auto; }

.w45 {
  width: 45%;
  height: auto; }

.w50 {
  width: 50%;
  height: auto; }

.w55 {
  width: 55%;
  height: auto; }

.w60 {
  width: 60%;
  height: auto; }

.w65 {
  width: 65%;
  height: auto; }

.w70 {
  width: 70%;
  height: auto; }

.w75 {
  width: 75%;
  height: auto; }

.w80 {
  width: 80%;
  height: auto; }

.w85 {
  width: 85%;
  height: auto; }

.w90 {
  width: 90%;
  height: auto; }

.w100 {
  width: 100%;
  height: auto; }

.w31 img {
  max-width: 30px; }

.w51 img {
  max-width: 50px; }

.w81 img {
  max-width: 80px; }

.w101 img {
  max-width: 100px; }

.w110 img {
  max-width: 110px; }

.w120 img {
  max-width: 120px; }

.w130 img {
  max-width: 130px; }

.w140 img {
  max-width: 140px; }

.w150 img {
  max-width: 150px; }

.w160 img {
  max-width: 160px; }

.w180 img {
  max-width: 180px; }

.w200 img {
  max-width: 200px; }

.w220 img {
  max-width: 220px; }

.w230 img {
  max-width: 230px; }

.w240 img {
  max-width: 230px; }

.w250 img {
  max-width: 250px; }

.w260 img {
  max-width: 260px; }

.w275 img {
  max-width: 275px; }

.w280 img {
  max-width: 280px; }

.w300 img {
  max-width: 300px; }

.w320 img {
  max-width: 320px; }

.w330 img {
  max-width: 330px; }

.w350 img {
  max-width: 350px; }

.w360 img {
  max-width: 360px; }

.w370 img {
  max-width: 370px; }

.w375 img {
  max-width: 375px; }

.w380 img {
  max-width: 380px; }

.w400 img {
  max-width: 400px; }

.w410 img {
  max-width: 410px; }

.w420 img {
  max-width: 420px; }

.w430 img {
  max-width: 430px; }

.w440 img {
  max-width: 440px; }

.w450 img {
  max-width: 450px; }

.w470 img {
  max-width: 470px; }

.w480 img {
  max-width: 480px; }

.w500 img {
  max-width: 500px; }

.w530 img {
  max-width: 530px; }

.w550 img {
  max-width: 550px; }

.w560 img {
  max-width: 560px; }

.w570 img {
  max-width: 570px; }

.w580 img {
  max-width: 580px; }

.w600 img {
  max-width: 600px; }

.w620 img {
  max-width: 620px; }

.w630 img {
  max-width: 630px; }

.w640 img {
  max-width: 640px; }

.w650 img {
  max-width: 650px; }

.w680 img {
  max-width: 680px; }

.w700 img {
  max-width: 700px; }

.w720 img {
  max-width: 720px; }

.w750 img {
  max-width: 750px; }

.w780 img {
  max-width: 780px; }

.w800 img {
  max-width: 800px; }

.w840 img {
  max-width: 840px; }

.w860 img {
  max-width: 860px; }

.w960 img {
  max-width: 960px; }

.w1000 img {
  max-width: 1000px; }

.w1200 img {
  max-width: 1200px; }

.h250 {
  max-height: 250px;
  width: auto; }

.block {
  display: block; }

.ind1 {
  text-indent: -1em;
  margin-left: 1em; }

.center {
  text-align: center; }

.right {
  text-align: right; }

.left {
  text-align: left; }

.posR {
  float: right; }

.posL {
  float: left; }

.posC {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.imgR {
  float: right;
  margin: 0 0 15px 5%; }

.imgL {
  float: left;
  margin: 0 5% 15px 0; }

.imgC img {
  display: block;
  margin: 0 auto; }

.posR img,
.imgR img {
  margin-right: 0;
  margin-left: auto; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb2e {
  margin-bottom: 2em !important; }

.mb1e {
  margin-bottom: 1em !important; }

.mb15e {
  margin-bottom: 1.5em !important; }

.mb2e {
  margin-bottom: 2em !important; }

.mb3e {
  margin-bottom: 3em !important; }

.ml20 {
  margin-left: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mr5 {
  margin-right: 5% !important; }

.mr30 {
  margin-right: 30px !important; }

.mr1e {
  margin-right: 1em !important; }

.mt1e {
  margin-top: 1em !important; }

.mt05e {
  margin-top: 0.5em !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.sep2 > p,
.sep2 > li,
.sep2 > figure {
  width: 46%;
  margin: 0 1.5% 1em 1.5%;
  float: left; }

.sep3 > p,
.sep3 > li,
.sep3 > figure {
  width: 31%;
  margin: 0 1% 1em 1%;
  float: left; }

#contents section p,
#contents .section p {
  margin-bottom: 1em; }
  #contents section p a,
  #contents .section p a {
    text-decoration: underline !important;
    font-weight: bold; }

h2 span,
h3 span,
h4 span,
h5 span,
.inline span {
  display: inline-block; }

h2 span.w31 img {
  display: inline !important;
  margin-left: 5px; }

.inline-li li {
  display: inline-block;
  margin-right: 0.5em; }
  .inline-li li:before {
    content: "・";
    color: #666;
    font-weight: bold; }

.sameHeight {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-self: stretch; }
  .sameHeight li {
    align-self: stretch;
    -webkit-flex-grow: 1;
    flex-grow: 1; }

#contents ul.list-nor li {
  margin-left: 1.5em;
  margin-bottom: 0.7em;
  padding-left: 0.2em;
  list-style: disc; }

#contents section ol li,
#contents .section ol li {
  margin-bottom: 0.7em; }

.list01 {
  margin-left: 1.5em; }
  .list01 li {
    margin-bottom: 0.7em;
    line-height: 1.4em;
    list-style: disc;
    font-weight: bold; }

.list02 li {
  margin-bottom: 0.7em;
  line-height: 1.4em;
  font-weight: bold; }

.listArrow {
  margin-left: 1.2em; }
  .listArrow li {
    margin-bottom: 0.7em;
    line-height: 1.4em; }
    .listArrow li a {
      color: #1a8c44 !important; }
    .listArrow li:before {
      margin-right: 5px;
      content: "\f35a";
      font-family: "Font Awesome 5 Free";
      font-weight: bold;
      color: #006934;
      margin-left: -1.2em; }

.listCheck {
  margin-left: 1.2em; }
  .listCheck li {
    margin-bottom: 0.7em;
    line-height: 1.4em; }
    .listCheck li:before {
      margin-right: 5px;
      content: "\f14a";
      font-family: "Font Awesome 5 Free";
      font-weight: 500;
      color: #4AA392;
      margin-left: -1.2em; }

.listCheck02 {
  margin-left: 1.2em;
  margin-bottom: 2em; }
  .listCheck02 li {
    margin-bottom: 0.7em;
    line-height: 1.4em;
    font-weight: bold; }
    .listCheck02 li:before {
      margin-right: 5px;
      content: "\f00c";
      font-family: "Font Awesome 5 Free";
      font-weight: bold;
      color: #4AA392;
      margin-left: -1.2em; }

.list-cel li {
  padding: 0.4em 1em !important;
  border: 1px solid #d1d1d1; }

.list_nmbr {
  counter-reset: list_nmbr;
  margin-left: 2em; }
  .list_nmbr li {
    margin-bottom: 1em; }
  .list_nmbr li:before {
    counter-increment: list_nmbr;
    content: "【" counter(list_nmbr) "】";
    margin-left: -2.7em; }

.dl-tp1 dt {
  margin-top: 0.8em;
  padding: 0.3em 0 0.1em 1.4%;
  line-height: 1.3em;
  font-weight: bold;
  border-left: 4px solid #4eb2a5; }
.dl-tp1 dd {
  padding: 0.5em 0 0.3em 2%;
  border-bottom: 1px dotted #666;
  line-height: 1.3em; }
.dl-tp1 dd:last-child {
  border-bottom: none; }

.dl-tp2 dt {
  margin-top: 0.8em;
  line-height: 1.3em;
  font-weight: bold; }
.dl-tp2 dd {
  padding: 0.2em 0 0.3em 1em;
  line-height: 1.3em; }

.dl-table {
  display: table;
  line-height: 1.3em; }
  .dl-table dt {
    margin-top: 0.6em;
    padding: 0.3em 0 0.1em 10px;
    font-weight: normal;
    border-left: none; }
  .dl-table dd {
    margin: -1.4em 0 0.6em 0;
    padding: 0 10px 0.3em 8em;
    border-bottom: 1px dotted #CCC; }

.dl-table02 {
  display: table;
  width: 100%;
  max-width: 600px;
  line-height: 1.3em;
  background: #f4e8ed;
  background: -moz-linear-gradient(top, #f4e8ed 0%, #f9dade 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4e8ed), color-stop(100%, #f9dade));
  background: -webkit-linear-gradient(top, #f4e8ed 0%, #f9dade 100%);
  background: -o-linear-gradient(top, #f4e8ed 0%, #f9dade 100%);
  background: -ms-linear-gradient(top, #f4e8ed 0%, #f9dade 100%);
  background: linear-gradient(to bottom, #f4e8ed 0%, #f9dade 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$start-color', endColorstr='$end-color',GradientType=0 );
  border-radius: 10px;
  padding: 10px; }
  .dl-table02 dt {
    margin-top: 0.6em;
    padding: 0.3em 0 0.1em 10px;
    font-weight: bold;
    font-size: 1.3em;
    border-left: none;
    z-index: 5;
    color: #ef8291;
    text-align: right;
    width: 3.8em; }
  .dl-table02 dd {
    margin: -2em 0 0.6em 0;
    padding: 10px 10px 0.3em 7em;
    background: #fff; }

.dl-op dt {
  margin-top: 0.8em;
  padding: 0.3em 0 0.1em 1.4%;
  line-height: 1.3em;
  font-weight: normal;
  font-weight: bold;
  border-left: none; }
.dl-op dd {
  margin: -1.6em 0 0.6em 0;
  padding: 0 0 0.2em 8em;
  border-bottom: 1px dotted #CCC; }

.icon_exp ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
.icon_exp li {
  margin: 0 0.5% 10px 0.5%;
  padding: 0;
  border: 1px solid #c4adaf; }
  .icon_exp li img {
    max-width: 50px; }
.icon_exp dl {
  margin: 0;
  margin-top: 5px; }
.icon_exp dt {
  width: 18%;
  margin-left: 5px; }
.icon_exp dd {
  width: 80%;
  margin-left: 22%;
  margin-top: -30px;
  font-size: 0.9em;
  padding: 0; }

ul.flow {
  display: grid; }
  @media only screen and (min-width: 960px) {
    ul.flow {
      line-height: 1.4em;
      grid-template-columns: 1fr 1fr 1fr; } }
  @media only screen and (max-width: 959px) {
    ul.flow {
      display: block; } }
  ul.flow li {
    padding-right: 40px;
    background: url("../img/arrow_03.svg") no-repeat right 10px center;
    background-size: 20px;
    padding-bottom: 0 !important; }
    @media only screen and (min-width: 960px) {
      ul.flow li {
        display: grid;
        grid-row: span 4;
        grid-template-rows: subgrid;
        row-gap: 0px; } }
    @media only screen and (max-width: 959px) {
      ul.flow li {
        display: block;
        background: url("../img/arrow_04.svg") no-repeat center bottom 15px;
        background-size: auto;
        padding-right: 0;
        padding-bottom: 20px !important; } }
    ul.flow li:last-child {
      background: none;
      padding-right: 0; }
    ul.flow li > div {
      background: #FFFFEC;
      border-radius: 10px;
      padding: 20px;
      margin-bottom: 0 !important; }
      @media only screen and (max-width: 959px) {
        ul.flow li > div {
          margin-bottom: 40px !important; } }
    ul.flow li p {
      font-weight: bold;
      text-align: center;
      padding: 20px 10px 0;
      margin-bottom: 0 !important; }
      ul.flow li p span {
        display: inline-block; }
      @media only screen and (min-width: 561px) and (max-width: 959px) {
        ul.flow li p span {
          display: block; } }
      @media only screen and (max-width: 560px) {
        ul.flow li p {
          color: #000 !important;
          border-radius: 5px;
          padding: 10px; } }

.dl_flow dt {
  background: rgba(74, 163, 146, 0.5);
  display: inline-block;
  padding: 3px 10px;
  border-radius: 50vh; }
.dl_flow dd {
  padding-top: 0.5em;
  padding-left: 50px;
  padding-bottom: 1em;
  background: url("../img/arrow_02.svg") no-repeat left 20px bottom; }
  .dl_flow dd:last-child {
    background: none;
    padding-bottom: 0; }

.list_type li {
  margin-bottom: 1em; }
  .list_type li span {
    font-weight: bold;
    color: #006934; }

.dl_type dt {
  font-weight: bold;
  color: #006934; }
.dl_type dd {
  margin-bottom: 1em; }

.btn-this {
  display: inline-table;
  margin: 1em auto; }
  .btn-this a {
    display: block;
    padding: 0.3em 1.5em;
    color: #fff !important;
    font-size: 0.95em;
    text-decoration: none !important;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
    background: linear-gradient(to right, #4aa392 47%, rgba(74, 163, 146, 0.5) 94%); }
    .btn-this a::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 5%;
      width: 6px;
      height: 6px;
      margin-top: -3px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(45deg); }
    .btn-this a:hover {
      background: linear-gradient(to right, rgba(74, 163, 146, 0.8) 47%, rgba(74, 163, 146, 0.4) 94%); }

.btn-ask {
  display: inline-table;
  margin: 1em auto;
  border: 1px solid #d3d3d3;
  border-radius: 4px;
  background: #ffa220 url(../img/marker-nav-wh.png) no-repeat 95% center; }
  .btn-ask a {
    display: block;
    padding: 0.6em 2em 0.4em 1.8em !important;
    color: #fff !important;
    font-size: 1rem;
    text-shadow: 1px 1px 1px #919191;
    text-decoration: none !important;
    -webkit-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out; }
    .btn-ask a:hover {
      background: url(../img/marker-nav-wh.png) no-repeat 95% center, rgba(74, 163, 146, 0.8); }

.btn-gmap {
  max-width: 14em;
  margin: 1em auto;
  text-align: center; }
  .btn-gmap a {
    display: block;
    padding: 0.3em 2.5em !important;
    color: #fff !important;
    font-size: 0.95em;
    text-decoration: none !important;
    border: 1px solid #8DC21F;
    border-radius: 4px;
    background: linear-gradient(to right, #8dc21f 47%, rgba(141, 194, 31, 0.8) 94%) !important;
    -webkit-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out; }
    .btn-gmap a::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 5%;
      width: 6px;
      height: 6px;
      margin-top: -3px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(45deg); }
    .btn-gmap a:hover {
      background: linear-gradient(to right, rgba(141, 194, 31, 0.8) 47%, rgba(141, 194, 31, 0.6) 94%); }

.btn-access {
  display: inline-block;
  margin: 1em auto; }
  .btn-access a {
    display: block;
    padding: 0.3em 2.5em !important;
    color: #fff !important;
    font-size: 0.95em;
    text-decoration: none !important;
    border: 1px solid #FCFFFD;
    border-radius: 4px;
    background: linear-gradient(to right, #fcfffd 47%, rgba(252, 255, 253, 0.8) 94%) !important;
    -webkit-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out; }
    .btn-access a::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 5%;
      width: 6px;
      height: 6px;
      margin-top: -3px;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(45deg); }
    .btn-access a:hover {
      background: linear-gradient(to right, rgba(252, 255, 253, 0.8) 47%, rgba(252, 255, 253, 0.6) 94%); }

.tel-link {
  font-weight: bold;
  font-size: 1.2em;
  color: #63adf2; }

p.stickarrow {
  font-weight: bold; }
  p.stickarrow a {
    color: #7a7a7a !important; }
    p.stickarrow a span {
      position: absolute;
      bottom: 15px;
      display: inline-block;
      width: 80px;
      height: 10px;
      border-bottom: 2px solid #7a7a7a;
      border-right: 2px solid #7a7a7a;
      transform: skew(45deg);
      transition-property: width;
      transition-duration: 0.3s;
      transition-timing-function: ease-in-out; }
    p.stickarrow a:hover span {
      width: 120px; }

#contents p.button {
  display: inline-block;
  text-align: center;
  left: 50%;
  transform: translateX(-50%); }
  #contents p.button a {
    display: inline-block;
    padding: 3px 20px !important;
    background: #4AA392;
    border: 2px solid #4AA392;
    color: #fff !important;
    text-decoration: none !important; }
    #contents p.button a:hover {
      background: #FCFFFD;
      color: #4AA392 !important; }

@media only screen and (max-width: 560px) {
  .hideSp,
  .dispTab,
  .dispPc {
    display: none !important; }

  .sameHeightPc {
    display: block !important; }

  .w10,
  .w15,
  .w20,
  .w25,
  .w30 {
    width: 45%;
    height: auto; }

  .w35,
  .w40,
  .w45,
  .w50,
  .w55,
  .w60,
  .w65,
  .w70,
  .w75,
  .w80,
  .w85,
  .w90,
  .w100 {
    width: 100%;
    height: auto; }

  .telLink a {
    display: inline-block;
    padding: 6px;
    font-weight: bold;
    line-height: 1;
    color: #fff !important;
    background: #4AA392;
    border-radius: 4px; }

  footer {
    position: relative !important; }

  #footerAsk ul {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 30;
    justify-content: space-between; }
    #footerAsk ul li {
      text-align: center;
      background: #4AA392;
      border-radius: 8px;
      border: 1px solid #fff;
      padding: 10px 0 7px; }
      #footerAsk ul li:first-child {
        flex: 0 0 27%; }
      #footerAsk ul li:nth-child(2) {
        flex: 0 0 42%; }
      #footerAsk ul li:nth-child(3) {
        flex: 0 0 30%;
        letter-spacing: -2px; }
      #footerAsk ul li a {
        color: #fff !important;
        display: block;
        width: 100%; }
      #footerAsk ul li i {
        display: block; }

  .scroll {
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; }
    .scroll table {
      width: auto;
      margin-top: 0 !important; }
    .scroll::-webkit-scrollbar {
      height: 5px; }
    .scroll::-webkit-scrollbar-track {
      border-radius: 5px;
      background: #eee; }
    .scroll::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background: #666; } }
  @media only screen and (max-width: 560px) and (max-width: 560px) {
    .scroll th, .scroll td {
      -webkit-text-size-adjust: 100%; } }

@media only screen and (max-width: 560px) {
  .remarks {
    font-size: 0.75rem; }

  .youkou {
    display: block; }
    .youkou th {
      padding: 0.6em 0em 0.4em 1em; }
    .youkou td {
      padding: 1em 0em 1.5em 1em; }

  .form th,
  .form td {
    display: block;
    padding: 0.8em 1em 0.5em 1em;
    border: none;
    text-align: left;
    font-size: 95%; }
  .form th {
    padding: 0.6em 0em 0.4em 1em; }
  .form td {
    padding: 1em 0em 1.5em 1em; } }
/* タブレット向けのレイアウトの指定  ------------*/
@media only screen and (min-width: 561px) and (max-width: 959px) {
  .dispSp,
  .dispPri,
  .dispPc,
  .hideTab {
    display: none !important; }

  .sameHeightPc {
    display: block !important; } }
/* PC向けのレイアウトの指定  ------------*/
@media only screen and (min-width: 960px) {
  .hidePc,
  .dispTab,
  .dispSp,
  .dispPri {
    display: none !important; }

  .sameHeightPc {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; } }
.home #contents > section,
.home #contents > .section {
  padding: 60px 0;
  margin: 0; }
  @media only screen and (max-width: 560px) {
    .home #contents > section,
    .home #contents > .section {
      padding-bottom: 40px; } }
  .home #contents > section > div,
  .home #contents > .section > div {
    max-width: 1600px !important;
    margin: 0 auto !important;
    padding: 0 3%; }
.home #hdImage .slider4-wrap {
  height: 45vw;
  overflow: hidden;
  margin: 30px 30px 60px 0;
  border-radius: 30px; }
  @media only screen and (min-width: 561px) and (max-width: 1650px) {
    .home #hdImage .slider4-wrap {
      height: 70vw; } }
  @media only screen and (min-width: 561px) and (max-width: 959px) {
    .home #hdImage .slider4-wrap {
      height: 50vw;
      margin: 0 30px 40px !important; } }
  @media only screen and (max-width: 560px) {
    .home #hdImage .slider4-wrap {
      height: 100vw;
      margin: 0 30px 40px !important; } }
  .home #hdImage .slider4-wrap li {
    position: absolute;
    border-radius: 30px; }
  .home #hdImage .slider4-wrap img {
    width: 100%;
    max-width: 2300px;
    border-radius: 30px; }
    @media only screen and (min-width: 561px) and (max-width: 1650px) {
      .home #hdImage .slider4-wrap img {
        width: 150%; } }
    @media only screen and (max-width: 959px) {
      .home #hdImage .slider4-wrap img {
        width: 100%; } }
.home #header_add_sp {
  display: none; }
  @media only screen and (max-width: 560px) {
    .home #header_add_sp {
      display: block;
      position: absolute;
      bottom: 50px;
      right: 0;
      left: 0;
      margin: 0 auto;
      width: 80%;
      max-width: 250px; } }
.home .dots-4 {
  display: none; }
.home #app_banner {
  max-width: 600px;
  margin: 0 auto 40px;
  background: #FCFFFD;
  border: 5px solid #4AA392;
  border-radius: 13px;
  padding: 20px 30px; }
  @media only screen and (min-width: 561px) and (max-width: 959px) {
    .home #app_banner {
      max-width: 600px;
      width: 90%; } }
  @media only screen and (max-width: 560px) {
    .home #app_banner {
      width: 90%;
      padding: 10px 15px 20px; } }
  .home #app_banner > div {
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0px 0px;
    grid-template-areas: "figure h2 h2" "figure text01 text01" "figure text02 text02";
    place-items: center; }
    @media only screen and (min-width: 561px) and (max-width: 959px) {
      .home #app_banner > div {
        grid-template-areas: "figure h2 h2" "text01 text01 text01"; } }
    @media only screen and (max-width: 560px) {
      .home #app_banner > div {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-areas: "figure h2 h2 h2 " "text01 text01 text01 text01";
        margin-bottom: 10px; } }
    .home #app_banner > div figure {
      grid-area: figure; }
      @media only screen and (min-width: 561px) and (max-width: 959px) {
        .home #app_banner > div figure {
          width: 27%; } }
      @media only screen and (max-width: 560px) {
        .home #app_banner > div figure {
          width: 45%; } }
    .home #app_banner > div h2 {
      grid-area: h2;
      justify-self: stretch;
      color: #4AA392; }
      @media only screen and (max-width: 560px) {
        .home #app_banner > div h2 {
          font-size: 6.35vw; } }
    .home #app_banner > div .text01 {
      grid-area: text01;
      justify-self: stretch;
      color: #8DC21F;
      font-weight: bold; }
      @media only screen and (max-width: 560px) {
        .home #app_banner > div .text01 {
          font-size: 4vw; } }
      .home #app_banner > div .text01 span {
        color: #302E2E;
        font-size: 1.3rem; }
      @media only screen and (max-width: 959px) {
        .home #app_banner > div .text01 {
          justify-self: center; } }
.home #contents #home_intro > div {
  max-width: 1200px !important;
  display: flex; }
  @media only screen and (max-width: 959px) {
    .home #contents #home_intro > div {
      flex-direction: column-reverse;
      width: 90%;
      margin: 0 auto 40px; } }
  .home #contents #home_intro > div figure {
    flex: 0 0 40%;
    margin-right: 40px; }
    .home #contents #home_intro > div figure img {
      max-width: 600px;
      border-radius: 20px; }
    @media only screen and (max-width: 959px) {
      .home #contents #home_intro > div figure {
        margin-right: 0; } }
.home h1 {
  font-size: 1.8rem;
  margin-bottom: 20px; }
  .home h1 span {
    display: inline-block; }
  @media only screen and (max-width: 560px) {
    .home h1 {
      font-size: 5vw; } }
.home #news_blog {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media only screen and (max-width: 959px) {
    .home #news_blog {
      display: block; } }
  .home #news_blog > section {
    flex: 0 0 50%;
    padding: 60px; }
    @media only screen and (min-width: 561px) and (max-width: 1650px) {
      .home #news_blog > section {
        padding: 60px 20px; } }
    @media only screen and (max-width: 560px) {
      .home #news_blog > section {
        padding: 40px 20px; } }
  .home #news_blog h2 {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px; }
    .home #news_blog h2 img {
      max-width: 60px;
      display: inline;
      margin-right: 20px; }
  .home #news_blog dl {
    background: #fff;
    border-radius: 18px;
    height: 300px;
    overflow-y: scroll;
    padding: 20px 20px;
    max-width: 800px;
    margin: 0 auto; }
    .home #news_blog dl::-webkit-scrollbar {
      height: 3px; }
    .home #news_blog dl::-webkit-scrollbar-track {
      margin-top: 2px;
      margin-bottom: 2px;
      border-radius: 0 20px 20px 0; }
    .home #news_blog dl::-webkit-scrollbar-thumb {
      border-radius: 2px 18px 18px 2px; }
    .home #news_blog dl dt {
      font-weight: bold;
      margin-bottom: 0.5em; }
    .home #news_blog dl dd {
      margin-top: -2.2em;
      margin-bottom: 20px;
      padding-bottom: 20px;
      padding-left: 7em;
      border-bottom: 2px dotted #006934; }
      @media only screen and (min-width: 561px) and (max-width: 1650px) {
        .home #news_blog dl dd {
          margin-top: 0;
          padding-left: 0; } }
      @media only screen and (max-width: 560px) {
        .home #news_blog dl dd {
          margin-top: 0;
          padding-left: 0; } }
  .home #news_blog #home_news {
    background: #FCFFFD; }
    .home #news_blog #home_news h2 {
      color: #4AA392; }
    .home #news_blog #home_news dl {
      border: 1px solid #4AA392; }
      .home #news_blog #home_news dl::-webkit-scrollbar-track {
        background: #FCFFFD; }
      .home #news_blog #home_news dl::-webkit-scrollbar-thumb {
        background: #4AA392; }
      .home #news_blog #home_news dl dt {
        color: #4AA392; }
      .home #news_blog #home_news dl dd {
        border-bottom: 2px dotted #4AA392; }
  .home #news_blog #home_blog {
    background: #FFFFEC;
    position: relative; }
    @media only screen and (max-width: 560px) {
      .home #news_blog #home_blog {
        padding-bottom: 60px; } }
    .home #news_blog #home_blog h2 {
      color: #8DC21F; }
    .home #news_blog #home_blog dl {
      border: 1px solid #8DC21F; }
      .home #news_blog #home_blog dl::-webkit-scrollbar-track {
        background: #FFFFEC; }
      .home #news_blog #home_blog dl::-webkit-scrollbar-thumb {
        background: #8DC21F; }
      .home #news_blog #home_blog dl dt {
        color: #8DC21F; }
      .home #news_blog #home_blog dl dd {
        border-bottom: 2px dotted #8DC21F; }
    .home #news_blog #home_blog .blog_link {
      position: absolute;
      bottom: 10px;
      text-align: center;
      left: 50%;
      transform: translateX(-50%); }
.home #home_link h2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #4AA392;
  margin-bottom: 60px; }
  .home #home_link h2 img {
    max-width: 60px; }
.home #home_link .link_banner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  column-gap: 70px;
  grid-row-gap: 60px; }
  @media only screen and (min-width: 561px) and (max-width: 1650px) {
    .home #home_link .link_banner {
      column-gap: 50px;
      grid-row-gap: 40px; } }
  @media only screen and (max-width: 959px) {
    .home #home_link .link_banner {
      width: 90%;
      margin: 0 auto 40px;
      grid-row-gap: 60px; } }
  .home #home_link .link_banner li {
    display: grid;
    grid-row: span 4;
    grid-template-rows: subgrid;
    row-gap: 0px;
    background: #FFFFEC;
    border-radius: 15px;
    padding-bottom: 30px; }
    .home #home_link .link_banner li figure {
      margin-bottom: 30px; }
      .home #home_link .link_banner li figure img {
        border-radius: 15px 15px 0 0; }
    .home #home_link .link_banner li h3 {
      text-align: center;
      color: #4AA392;
      margin-bottom: 30px; }
    .home #home_link .link_banner li p {
      padding-left: 30px;
      padding-right: 30px; }
    .home #home_link .link_banner li > div {
      display: inline-block;
      text-align: center;
      left: 50%;
      transform: translateX(-50%); }
      .home #home_link .link_banner li > div a {
        display: inline-block;
        padding: 3px 20px !important;
        background: #E891C5;
        border: 2px solid #E891C5;
        color: #fff !important;
        text-decoration: none !important; }
        .home #home_link .link_banner li > div a:hover {
          background: #FCFFFD;
          color: #E891C5 !important; }
.home #bottom_info {
  background: #c7e8e3; }
  .home #bottom_info > div {
    background: #fff;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    border-radius: 30px; }
    @media only screen and (max-width: 959px) {
      .home #bottom_info > div {
        width: 90%;
        margin: 0 auto 40px !important;
        padding: 40px 30px !important; } }
    .home #bottom_info > div > div {
      display: flex;
      margin-bottom: 40px !important; }
      @media only screen and (max-width: 959px) {
        .home #bottom_info > div > div {
          display: block; } }
      .home #bottom_info > div > div > div {
        flex: 0 0 50%; }
  .home #bottom_info h2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #4AA392;
    margin-bottom: 60px; }
    .home #bottom_info h2 img {
      max-width: 90px; }
  .home #bottom_info h3 {
    color: #8DC21F;
    margin-bottom: 20px; }
    .home #bottom_info h3 span {
      display: inline-block; }
    @media only screen and (max-width: 959px) {
      .home #bottom_info h3 {
        font-size: 1.2rem; } }
  .home #bottom_info dl.time {
    margin-top: 0; }
    .home #bottom_info dl.time dd {
      padding-left: 4em;
      margin-top: -1.8em; }
      @media only screen and (max-width: 560px) {
        .home #bottom_info dl.time dd {
          margin-top: -1.5em; } }
  .home #bottom_info p.tel_no {
    font-size: 1.5rem; }
    .home #bottom_info p.tel_no a {
      text-decoration: none !important;
      color: #302E2E; }
  .home #bottom_info .map_waku .embed-container {
    position: relative;
    padding-bottom: 80%;
    height: 0;
    overflow: hidden;
    max-width: 100%; }
  .home #bottom_info .map_waku .embed-container iframe, .home #bottom_info .map_waku .embed-container object, .home #bottom_info .map_waku .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .home #bottom_info #sample {
    width: 100%;
    height: calc(100vw * 400 / 900);
    margin-bottom: 20px; }
    @media only screen and (min-width: 561px) and (max-width: 959px) {
      .home #bottom_info #sample {
        height: calc(100vw * 600 / 900); } }
    @media only screen and (max-width: 560px) {
      .home #bottom_info #sample {
        height: calc(100vw * 700 / 900); } }
  .home #bottom_info #sample div {
    position: static; }
  .home #bottom_info .list_renkei li {
    display: inline-block;
    margin-right: 2em;
    margin-bottom: 1em;
    font-size: 1.1rem;
    color: #000; }
    .home #bottom_info .list_renkei li a {
      font-size: 1.1rem;
      color: #000;
      text-decoration: underline; }
    @media only screen and (max-width: 560px) {
      .home #bottom_info .list_renkei li {
        display: block;
        font-size: 0.7rem;
        margin-right: 0; } }
    .home #bottom_info .list_renkei li span {
      color: #ea68c5;
      text-shadow: #fff 2px 0px,  #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px , #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px,  #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px,  #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
      font-weight: bold;
      font-size: 1.4rem;
      margin-right: 3px; }

/* Scss Document */
.low #hdImage > div {
  height: 30vw;
  overflow: hidden; }
  @media only screen and (max-width: 560px) {
    .low #hdImage > div {
      height: 60vw; } }

.medicine #contents .medicine_type dt {
  font-weight: bold;
  font-size: 1.1rem;
  color: #fff;
  background: #4AA392;
  border-radius: 50vh;
  padding: 10px 20px 2px;
  display: inline-block;
  margin-bottom: 15px; }
  @media only screen and (max-width: 560px) {
    .medicine #contents .medicine_type dt {
      display: block; } }
.medicine #contents .medicine_type dd {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px; }
  @media only screen and (max-width: 560px) {
    .medicine #contents .medicine_type dd {
      display: block;
      margin-bottom: 40px; } }
  .medicine #contents .medicine_type dd figure {
    flex: 0 0 30%; }
    .medicine #contents .medicine_type dd figure img {
      max-width: 500px; }
.medicine #contents .medicine_type2 dt {
  font-weight: bold;
  font-size: 1.1rem;
  color: #4AA392;
  border: 2px solid #4AA392;
  border-radius: 50vh;
  padding: 5px 10px;
  display: inline-block;
  margin-bottom: 15px;
  min-width: 12em;
  text-align: center; }
  @media only screen and (max-width: 560px) {
    .medicine #contents .medicine_type2 dt {
      display: block;
      text-align: left; } }
.medicine #contents .medicine_type2 dd {
  margin-bottom: 30px; }
.medicine #contents .timing dt {
  font-weight: bold;
  font-size: 1.1rem;
  color: #fff;
  background: #4AA392;
  border-radius: 50vh;
  padding: 5px 10px;
  display: inline-block;
  margin-bottom: 15px;
  min-width: 6em;
  text-align: center; }
.medicine #contents .timing dd {
  margin-bottom: 30px;
  margin-top: -3.5em;
  padding-left: 8em; }

/* Scss Document */
.homecare #contents .service01 dt {
  font-weight: bold;
  margin-bottom: 0.7em;
  font-size: 1.3rem;
  border-bottom: 3px double #4AA392; }
.homecare #contents .service01 dd {
  margin-bottom: 1.5em; }
.homecare #contents .flex {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 560px) {
    .homecare #contents .flex {
      display: block; } }
  .homecare #contents .flex figure {
    flex: 0 0 30%;
    margin-left: 40px; }
    .homecare #contents .flex figure img {
      margin: 0 auto; }
    @media only screen and (max-width: 560px) {
      .homecare #contents .flex figure {
        margin-left: 0; } }
.homecare #contents .area_map img {
  max-width: 600px; }
.homecare #contents table.table_price {
  max-width: 500px;
  width: 100%; }
  .homecare #contents table.table_price th, .homecare #contents table.table_price td {
    padding: 5px;
    text-align: center; }
    @media only screen and (max-width: 560px) {
      .homecare #contents table.table_price th, .homecare #contents table.table_price td {
        font-size: 4vw !important;
        padding: 5px 3px; } }
  .homecare #contents table.table_price thead th {
    background: rgba(74, 163, 146, 0.3); }
  .homecare #contents table.table_price tbody th {
    background: rgba(74, 163, 146, 0.2); }
  .homecare #contents table.table_price th.price {
    max-width: 25px; }
  .homecare #contents table.table_price td.price {
    text-align: right;
    max-width: 25px;
    white-space: nowrap; }
    @media only screen and (max-width: 560px) {
      .homecare #contents table.table_price td.price {
        max-width: 30px; } }

/* Scss Document */
@media only screen and (max-width: 560px) {
  .app #contents h2 {
    font-size: 5.5vw; } }
.app #contents .app_intro {
  display: flex;
  margin-bottom: 60px; }
  @media only screen and (max-width: 560px) {
    .app #contents .app_intro {
      flex-direction: column; } }
  .app #contents .app_intro figure {
    flex: 0 0 40%; }
    .app #contents .app_intro figure img {
      max-width: 600px; }
.app #contents .list {
  margin-left: 15px;
  margin-right: 15px; }
  .app #contents .list li {
    padding-left: 30px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #cccccc;
    margin-bottom: 1em;
    line-height: 1.8; }
    .app #contents .list li:before {
      font-family: "Font Awesome 5 Free";
      content: "\f0a4";
      margin-left: -25px;
      padding-right: 0.5em;
      color: #4AA392;
      font-size: 1.3rem; }
.app #contents #app_banner {
  display: flex; }
  @media only screen and (max-width: 560px) {
    .app #contents #app_banner {
      display: block; } }
  .app #contents #app_banner li {
    margin-right: 20px; }
    @media only screen and (max-width: 560px) {
      .app #contents #app_banner li {
        margin-bottom: 30px;
        margin-right: 0; } }
    .app #contents #app_banner li a {
      display: block;
      max-width: 300px;
      background: rgba(232, 145, 197, 0.3);
      padding-right: 7px; }
.app #contents .youtube {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 959px) {
    .app #contents .youtube {
      display: block; } }
  @media only screen and (min-width: 960px) {
    .app #contents .youtube dl {
      flex: 0 0 48%;
      margin-right: 2%; }
      .app #contents .youtube dl:last-child {
        margin-right: 0;
        margin-left: 2%; } }
.app #contents .movie {
  margin-bottom: 20px; }
  .app #contents .movie dt {
    margin-bottom: 10px; }
  .app #contents .movie dd {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%; }
    .app #contents .movie dd iframe, .app #contents .movie dd object, .app #contents .movie dd embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
.app #contents .download_button {
  display: inline-block;
  margin-top: 20px; }
  .app #contents .download_button a {
    display: inline-block;
    padding: 3px 20px !important;
    background: #E891C5;
    border: 2px solid #E891C5;
    color: #fff !important;
    text-decoration: none !important; }
    .app #contents .download_button a:hover {
      background: #FCFFFD;
      color: #E891C5 !important; }

/* Scss Document */
.about #contents .list_service {
  margin-left: 1.5em;
  line-height: 1.8; }
  .about #contents .list_service dt {
    margin-bottom: 0.3em;
    font-weight: bold;
    font-size: 1.3rem; }
    .about #contents .list_service dt:before {
      margin-right: 5px;
      content: "\f14a";
      font-family: "Font Awesome 5 Free";
      font-weight: 500;
      color: #4AA392;
      margin-left: -1.2em; }
  .about #contents .list_service dd {
    margin-bottom: 1em; }
.about #contents .flex {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 560px) {
    .about #contents .flex {
      display: block; } }
  .about #contents .flex figure {
    flex: 0 0 30%;
    margin-left: 40px; }
    .about #contents .flex figure img {
      margin: 0 auto;
      border-radius: 10px; }
    @media only screen and (max-width: 560px) {
      .about #contents .flex figure {
        margin-left: 0; } }
.about #contents .photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (max-width: 560px) {
    .about #contents .photo {
      display: block; } }
  .about #contents .photo li {
    flex: 0 0 30%;
    margin-bottom: 50px; }
    @media only screen and (min-width: 561px) and (max-width: 959px) {
      .about #contents .photo li {
        flex: 0 0 48%; } }
    .about #contents .photo li figure {
      margin-bottom: 15px !important; }
      .about #contents .photo li figure img {
        border-radius: 10px; }
.about #contents .gaiyou {
  width: 100%;
  max-width: 800px; }
  .about #contents .gaiyou th, .about #contents .gaiyou td {
    padding: 20px 5px;
    border: none; }
    @media only screen and (max-width: 560px) {
      .about #contents .gaiyou th, .about #contents .gaiyou td {
        font-size: 3.5vw !important;
        padding: 10px 3px; } }
  .about #contents .gaiyou th {
    border-bottom: 2px solid #4AA392;
    color: #006934;
    font-weight: bold; }
    .about #contents .gaiyou th span {
      display: inline-block; }
    @media only screen and (max-width: 560px) {
      .about #contents .gaiyou th {
        white-space: nowrap; } }
  .about #contents .gaiyou td {
    border-bottom: 2px solid #ccc; }
    .about #contents .gaiyou td ul {
      padding: 0 !important;
      margin: 0 !important; }

.line #line01, .line #line02, .line #line02_sp {
  display: flex;
  flex-direction: column;
  align-items: center; }
.line #line01 .line_header figure img, .line #line02 .line_header figure img, .line #line02_sp .line_header figure img {
  max-width: 600px; }
.line #line01 ul.flow, .line #line02 ul.flow, .line #line02_sp ul.flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  counter-reset: flow;
  background-size: 12px 12px;
  background-image: radial-gradient(#06c75570 20%, #fff 10%);
  padding: 20px !important;
  margin-bottom: 40px !important; }
  .line #line01 ul.flow li, .line #line02 ul.flow li, .line #line02_sp ul.flow li {
    flex: 1 1 18%;
    margin: 0 1% 10px;
    background: #fff;
    padding: 15px 1em 10px 3em;
    border-radius: 10px; }
    @media only screen and (min-width: 561px) and (max-width: 959px) {
      .line #line01 ul.flow li, .line #line02 ul.flow li, .line #line02_sp ul.flow li {
        flex: 1 1 48%; } }
    @media only screen and (max-width: 560px) {
      .line #line01 ul.flow li, .line #line02 ul.flow li, .line #line02_sp ul.flow li {
        flex: 1 1 98%;
        margin: 0 1% 35px; } }
    .line #line01 ul.flow li img, .line #line02 ul.flow li img, .line #line02_sp ul.flow li img {
      width: 80%;
      max-width: 400px;
      margin: auto 0;
      padding-bottom: 20px; }
    .line #line01 ul.flow li p, .line #line02 ul.flow li p, .line #line02_sp ul.flow li p {
      line-height: 1.5em !important;
      padding: 20px 0; }
    .line #line01 ul.flow li p:before, .line #line02 ul.flow li p:before, .line #line02_sp ul.flow li p:before {
      counter-increment: flow;
      content: counter(flow) ". ";
      font-size: 1.5em;
      font-weight: bold;
      color: #06c755;
      margin-left: -1.2em; }
@media only screen and (min-width: 561px) and (max-width: 959px) {
  .line #line02 {
    display: none; } }
@media only screen and (max-width: 560px) {
  .line #line02 {
    display: none; } }
@media only screen and (min-width: 960px) {
  .line #line02_sp {
    display: none; } }
.line #line03 .flow01 {
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px; }
  @media only screen and (max-width: 560px) {
    .line #line03 .flow01 {
      gap: 20px; } }
  .line #line03 .flow01 img {
    border: 1px solid #d8dce1; }
  .line #line03 .flow01 > li {
    list-style-type: none;
    width: 100%;
    max-width: 350px;
    display: flex; }
    @media only screen and (max-width: 560px) {
      .line #line03 .flow01 > li {
        max-width: unset;
        display: block; } }
    .line #line03 .flow01 > li .icon01 {
      line-height: 2;
      width: 2em;
      height: 2em;
      text-align: center;
      color: #fff;
      background: #06c755;
      margin: 0 auto 10px;
      display: block;
      border-radius: 100vh;
      position: relative; }
      .line #line03 .flow01 > li .icon01:before {
        content: "";
        border: solid transparent;
        border-width: 7px;
        border-top-color: #06c755;
        position: absolute;
        top: calc(100% - 2px);
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%); }
    .line #line03 .flow01 > li dl {
      padding: 30px 20px;
      margin: 0;
      position: relative; }
    .line #line03 .flow01 > li dd p {
      height: 60px; }
  .line #line03 .flow01 > li:not(:first-child) dl::before {
    content: "";
    width: 14px;
    height: 14px;
    margin-right: 10px;
    display: inline-block;
    border-top: 4px solid #ccc;
    border-right: 4px solid #ccc;
    position: absolute;
    top: calc(50% - 14px);
    left: -45px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media only screen and (min-width: 561px) and (max-width: 959px) {
      .line #line03 .flow01 > li:not(:first-child) dl::before {
        display: none; } }
    @media only screen and (max-width: 560px) {
      .line #line03 .flow01 > li:not(:first-child) dl::before {
        display: none; } }
  .line #line03 .flow01 > li dl dt {
    font-size: 1.3em;
    font-weight: 600;
    color: #E26B5D;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    margin-bottom: 10px;
    text-align: center; }
  .line #line03 .flow01 > li dl dd {
    margin-left: 0; }
.line #line03 picture01 {
  display: block;
  width: 100%;
  height: auto;
  max-width: 1100px;
  margin: auto; }
  @media only screen and (min-width: 561px) and (max-width: 959px) {
    .line #line03 picture01 {
      display: none; } }
  @media only screen and (max-width: 560px) {
    .line #line03 picture01 {
      display: none; } }
.line .waku {
  border: solid 1px #d8dce1;
  /* 色：グレー */ }

/* slidenav Scss */
/*############################################################################################33*/
/* スライドメニュー指定 */
/*############################################################################################*/
@media only screen and (max-width: 959px) {
  #slide-menu {
    position: fixed;
    z-index: 2000 !important;
    top: 0;
    right: -100%;
    bottom: 0;
    width: 100%;
    max-width: 320px;
    height: 100%;
    padding-top: 60px;
    padding-bottom: 200px;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    opacity: 0.1; }
    .menu-active #slide-menu {
      right: 0px;
      opacity: 1;
      box-shadow: -2px 2px 2px 1px rgba(115, 201, 215, 0.2); }
    #slide-menu #hdNav {
      width: 100%;
      margin: 0;
      margin-bottom: 100px !important;
      z-index: 1000 !important; }
    #slide-menu #globalNav {
      width: 100%;
      margin: 0;
      margin-top: 0 !important;
      z-index: 1000 !important; }

  #wrapper {
    right: 0;
    -webkit-transition: all 300ms;
    transition: all 300ms; }
    #wrapper.menu-active {
      right: 320px; }

  .menu-trigger {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    background: #4AA392;
    cursor: pointer;
    border-radius: 50%;
    border: 2px solid #4AA392;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    z-index: 2000 !important;
    cursor: pointer; }
    .menu-trigger:before {
      display: inline-block;
      content: '\f0c9';
      width: 36px;
      height: 36px;
      color: #FFF;
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      font-size: 1.2em;
      text-align: center;
      line-height: 36px; }
    .menu-active .menu-trigger:before {
      content: '×';
      font-family: Arial, Helvetica, "sans-serif"; } }
@media only screen and (max-width: 560px) {
  .menu-trigger {
    top: 15px; }
    .menu-active .menu-trigger {
      top: 10px !important; } }
@media (max-width: 280px) {
  .menu-trigger {
    top: 5px;
    right: 5px; } }
/* print Scss */
/*############################################################################################33*/
/* 印刷向けレイアウトの指定 */
/*############################################################################################*/
@media only print {
  html, body, div, span, object, iframe,
  h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  abbr, address, cite, code,
  del, dfn, em, img, ins, kbd, q, samp,
  small, strong, sub, sup, var,
  b, i,
  dl, dt, dd, ol, ul, li,
  fieldset, form, label, legend,
  table, caption, tbody, tfoot, thead, tr, th, td,
  article, aside, canvas, details, figcaption, figure,
  footer, header, hgroup, menu, nav, section, summary,
  time, mark, audio, video {
    font-size: 97%; }

  .dispPrint {
    display: block !important; }

  .hidePrint {
    display: none !important; }

  .fixed {
    position: relative;
    top: auto;
    z-index: auto; }

  .sameHeightPc {
    display: block; }

  .dispSp,
  .slider,
  #ptBtn,
  .low footer {
    display: none !important;
    float: none !important; }

  header:after {
    content: "";
    display: block;
    height: 0;
    visibility: hidden;
    clear: both; }

  #bread {
    font-size: 10px;
    margin: 15px 0; }

  .top_banner img {
    max-width: 150px;
    margin: 0 auto; }

  .pBreak,
  .home footer {
    page-break-before: always; }

  .pBreakAf {
    page-break-after: always !important; }

  header {
    z-index: 10;
    flex: 0 1 6%; }

  .top_sns_link {
    display: none; }

  .sns_link {
    right: 10px; }

  .low h1 img {
    max-width: 100px; }
  .low h2 {
    font-size: 1.3rem !important; }

  .home header {
    flex: 0 0 15%; }
  .home #hdImage .slider4-wrap {
    height: 80vw; }
    .home #hdImage .slider4-wrap p img {
      width: 100%; }
  .home #globalNav > li img {
    max-width: 30px; }
  .home #globalNav > li a {
    font-size: 1vw; }
  .home #home_intro h1 {
    font-size: 1.2rem !important; }
  .home #home_intro p.intro_text {
    font-size: 0.9rem; }
  .home #news_blog {
    display: block; }
  .home #home_link .link_banner {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    column-gap: 20px;
    grid-row-gap: 20px; }
    .home #home_link .link_banner li h3 {
      margin-bottom: 10px; }

  .low #globalNav > li img {
    max-width: 30px; }
  .low #globalNav > li a {
    font-size: 1.2vw; }
  .low h1 {
    font-size: 1.3rem; }
    .low h1 img {
      max-width: 40px; }

  p.button a {
    font-size: 0.9rem; }

  .app ul.flow {
    display: block; }
    .app ul.flow li {
      display: block;
      background: url("../img/arrow_04.svg") no-repeat center bottom 15px;
      background-size: auto;
      padding-right: 0;
      padding-bottom: 20px !important; }
      .app ul.flow li:last-child {
        background: none;
        padding-right: 0; }
      .app ul.flow li > div {
        margin-bottom: 40px !important; }
        .app ul.flow li > div img {
          max-width: 200px; }

  .medicine #contents .timing dt {
    min-width: 5em; } }
