@charset "UTF-8";
/*------------------------------------------------------------------------------ 
  Base
------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
  line-height: 1.8; }

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

body {
  background: #fff;
  color: #1a1917;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(15px, 2vw, 17px);
  letter-spacing: .05em; }

a {
  color: #1a1917;
  text-decoration: none;
  transition: .3s; }
  a:hover {
    opacity: .8; }

h1 {
  font-size: clamp(22px, 3vw, 28px); }

h2 {
  font-size: clamp(23px, 3vw, 25px); }

h3 {
  font-size: clamp(20px, 2vw, 22px); }

h4 {
  font-size: clamp(18px, 2vw, 20px); }

h5 {
  font-size: clamp(17px, 2vw, 19px); }

h6 {
  font-size: clamp(16px, 2vw, 18px); }

.en {
  font-family: "Ubuntu", sans-serif; }

.uppercase {
  text-transform: uppercase; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.in-bl {
  display: inline-block; }

img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom; }

.container {
  padding: 0 30px; }
  @media (min-width: 768px) {
    .container {
      margin: 0 auto;
      padding: 0;
      width: min(85%, 1300px); } }

@media (min-width: 1025px) {
  .sp {
    display: none !important; } }

@media (max-width: 1024px) {
  .pc {
    display: none !important; } }

.grecaptcha-badge {
  visibility: hidden; }

/*------------------------------------------------------------------------------ 
  Common
------------------------------------------------------------------------------*/
/* Flex
-----------------------------------------------------------*/
.flex {
  align-items: center;
  display: flex;
  flex-wrap: wrap; }

.between {
  justify-content: space-between; }

/* Pc Flex
-----------------------------------------------------------*/
@media screen and (min-width: 1025px) {
  .pc-flex {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    row-gap: clamp(20px, 3vw, 40px); } }

@media screen and (min-width: 1025px) {
  .pc-between {
    justify-content: space-between; } }

/* Button
-----------------------------------------------------------*/
.btn a {
  background: #fff;
  border: 2px solid #f39800;
  border-radius: 3px;
  color: #f39800;
  display: block;
  margin: auto;
  max-width: 360px;
  padding: 20px 15px;
  text-align: center; }
  .btn a:hover {
    background: #f39800;
    color: #fff;
    opacity: 1; }

.bg-btn {
  max-width: 350px;
  position: relative; }
  .bg-btn:after {
    background: #f5f2e9;
    border-radius: 5px;
    content: '';
    height: 100%;
    left: 6px;
    position: absolute;
    top: 6px;
    width: 100%;
    z-index: -1; }
  .bg-btn a {
    background: #fff;
    border: 2px solid #f39800;
    border-radius: 5px;
    color: #f39800;
    display: block;
    font-size: clamp(17px, 2vw, 18px);
    font-weight: 500;
    padding: clamp(18px, 2vw, 20px) clamp(20px, 3vw, 40px);
    position: relative; }
    .bg-btn a:hover {
      opacity: 1;
      transform: translate(6px, 6px); }
    .bg-btn a:after {
      background: url(img/common/arrow.svg) no-repeat center/cover;
      content: '';
      height: clamp(20px, 2vw, 25px);
      position: absolute;
      right: clamp(20px, 3vw, 40px);
      top: 50%;
      transform: translateY(-50%);
      width: clamp(20px, 2vw, 25px); }

.facility_bg-btn {
  margin: clamp(65px, 8vw, 100px) 0 0 auto;
  position: relative;
  width: fit-content; }
  .facility_bg-btn:after {
    background: #f5f2e9;
    border-radius: 5px;
    content: '';
    height: 100%;
    left: 6px;
    position: absolute;
    top: 6px;
    width: 100%;
    z-index: -1; }
  .facility_bg-btn a {
    background: #fff;
    border: 2px solid #f39800;
    border-radius: 5px;
    color: #f39800;
    display: block;
    font-size: clamp(17px, 2vw, 18px);
    font-weight: 500;
    padding: clamp(18px, 2vw, 20px) clamp(20px, 3vw, 40px);
    padding-right: clamp(50px, 6vw, 75px);
    position: relative; }
    .facility_bg-btn a:hover {
      opacity: 1;
      transform: translate(6px, 6px); }
    .facility_bg-btn a:after {
      background: url(img/common/arrow.svg) no-repeat center/cover;
      content: '';
      height: clamp(20px, 2vw, 25px);
      position: absolute;
      right: clamp(15px, 2vw, 25px);
      top: 50%;
      transform: translateY(-50%);
      width: clamp(20px, 2vw, 25px); }

/* Cta Button Area
-----------------------------------------------------------*/
.cta-btn_area {
  display: grid;
  gap: 20px; }
  .cta-btn_area .btn {
    height: 80px; }
    .cta-btn_area .btn a {
      height: 100%; }
      .cta-btn_area .btn a span {
        display: inline-block;
        width: 170px; }
  .cta-btn_area .mail a {
    align-items: center;
    display: flex;
    justify-content: center;
    font-size: 17px; }
    .cta-btn_area .mail a span {
      letter-spacing: 3px; }

.tel a span,
.mail a span {
  padding-left: 35px;
  position: relative; }
  .tel a span:after,
  .mail a span:after {
    content: '';
    left: 0;
    position: absolute;
    top: 50%;
    transition: .3s;
    transform: translateY(-50%); }

.tel a {
  font-family: "Ubuntu", sans-serif;
  font-size: 20px; }
  .tel a:hover span:after {
    background: #fff; }
  .tel a span:after {
    background: #f39800;
    height: 25px;
    width: 25px;
    mask-image: url(img/common/tel.svg) no-repeat center/cover;
    -webkit-mask: url(img/common/tel.svg) no-repeat center/cover; }
  .tel a .fill-icon:after {
    mask-image: url(img/common/tel-fill.svg) no-repeat center/cover;
    -webkit-mask: url(img/common/tel-fill.svg) no-repeat center/cover; }

.mail a {
  background: #f39800;
  color: #fff;
  font-size: 16px; }
  .mail a:hover {
    background: #fff;
    color: #f39800; }
    .mail a:hover span:after {
      background: #f39800; }
  .mail a span:after {
    background: #fff;
    height: 25px;
    width: 25px;
    mask-image: url(img/common/mail.svg) no-repeat center/cover;
    -webkit-mask: url(img/common/mail.svg) no-repeat center/cover; }

/*------------------------------------------------------------------------------ 
  Header
------------------------------------------------------------------------------*/
@media (min-width: 1025px) {
  header {
    background: rgba(255, 255, 255, 0.8);
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100; } }
@media (min-width: 1025px) {
  header #head-in {
    gap: 35px;
    padding: 12px 20px;
    width: calc(100% - 140px); } }
header #head-in .logo {
  font-size: 2em;
  margin: 10px;
  width: 180px; }
  @media (min-width: 1025px) {
    header #head-in .logo {
      margin: 0; } }
  @media screen and (min-width: 1280px) {
    header #head-in .logo {
      width: 210px; } }
@media (min-width: 1025px) {
  header #head-in #head-nav {
    margin: 0 auto;
    width: min(73%, 770px); } }
@media (min-width: 1280px) {
  header #head-in #head-nav {
    margin: 0 20px 0 auto; } }
header #head-in #head-nav input[type="checkbox"] {
  display: none; }
  header #head-in #head-nav input[type="checkbox"]:checked ~ .toggle .line {
    top: 35%;
    width: 25px; }
    header #head-in #head-nav input[type="checkbox"]:checked ~ .toggle .line:first-of-type {
      transform: translateX(-50%) rotate(135deg); }
    header #head-in #head-nav input[type="checkbox"]:checked ~ .toggle .line:nth-of-type(2) {
      transform: translateX(-50%) rotate(-135deg); }
  header #head-in #head-nav input[type="checkbox"]:checked ~ .head-nav_in {
    opacity: 1;
    visibility: visible; }
header #head-in #head-nav .toggle {
  background: #f39800;
  border-radius: 2px;
  height: 55px;
  position: fixed;
  right: 10px;
  top: 10px;
  width: 55px;
  z-index: 100; }
  header #head-in #head-nav .toggle span {
    left: 50%;
    position: absolute;
    transform: translateX(-50%); }
  header #head-in #head-nav .toggle .line {
    background: #fff;
    display: block;
    height: 1px;
    transition: .3s;
    width: 30px; }
    header #head-in #head-nav .toggle .line:first-of-type {
      top: 28%; }
    header #head-in #head-nav .toggle .line:nth-of-type(2) {
      top: 43%; }
  header #head-in #head-nav .toggle .en {
    bottom: 3px;
    color: #fff;
    font-size: 12px;
    font-weight: 300; }
@media (max-width: 1024px) {
  header #head-in #head-nav .head-nav_in {
    background: rgba(243, 152, 0, 0.2);
    background: #f7efd2;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: .3s;
    visibility: hidden;
    width: 100%;
    z-index: 99; } }
header #head-in #head-nav .head-nav_in .logo {
  margin: 10px; }
@media (max-width: 1024px) {
  header #head-in #head-nav .head-nav_in .nav-area {
    background: #fff;
    border-radius: 5px;
    height: clamp(200px, 85svh, calc(100svh - 100px));
    margin: 20px auto 0;
    overflow: hidden scroll;
    padding: 15px 20px 35px;
    width: min(85%, 800px); } }
@media (min-width: 1025px) {
  header #head-in #head-nav .head-nav_in .nav-area .nav-li {
    font-size: 15px; } }
@media (max-width: 1024px) {
  header #head-in #head-nav .head-nav_in .nav-area .nav-li li a {
    border-bottom: 1px solid #f7f6f2;
    display: block;
    padding: 20px 10px; } }
header #head-in #head-nav .head-nav_in .nav-area .nav-li li a:hover {
  color: #f39800;
  opacity: 1; }
header #head-in #head-nav .head-nav_in .nav-area .nav-li .current a {
  color: #f39800;
  transition: color 0s; }
header #head-in #head-nav .head-nav_in .nav-area .cta-btn_area {
  margin-top: 50px; }
header #head-in #head-nav .head-nav_in .nav-area .head-cta {
  background: #f39800;
  border-radius: 0 0 0 5px;
  font-size: 15px;
  height: 160px;
  position: absolute;
  right: 0;
  top: 0;
  width: 140px; }
  header #head-in #head-nav .head-nav_in .nav-area .head-cta a {
    align-items: center;
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center; }
    header #head-in #head-nav .head-nav_in .nav-area .head-cta a:hover {
      opacity: 1; }
      header #head-in #head-nav .head-nav_in .nav-area .head-cta a:hover .icon span {
        transform: translateY(-3px); }
    header #head-in #head-nav .head-nav_in .nav-area .head-cta a .icon {
      border-bottom: 1px solid #fff;
      margin-bottom: 20px;
      padding-bottom: 20px;
      width: 60%; }
      header #head-in #head-nav .head-nav_in .nav-area .head-cta a .icon span {
        background: #fff;
        display: block;
        height: 20px;
        margin: auto;
        transition: transform .3s;
        width: 30px;
        mask-image: url(img/common/mail.svg) no-repeat center/cover;
        -webkit-mask: url(img/common/mail.svg) no-repeat center/cover; }
    header #head-in #head-nav .head-nav_in .nav-area .head-cta a .en {
      font-size: 13px; }

/*------------------------------------------------------------------------------ 
  Animation
------------------------------------------------------------------------------*/
@keyframes fadeSlide {
  0% {
    opacity: 0;
    transform: scale(1); }
  8% {
    opacity: 1;
    transform: scale(1.015); }
  25% {
    opacity: 1;
    transform: scale(1.05); }
  50% {
    opacity: 0;
    transform: scale(1.06); }
  100% {
    opacity: 0;
    transform: scale(1.07); } }
/*------------------------------------------------------------------------------ 
  Hero
------------------------------------------------------------------------------*/
#hero {
  min-height: 70vh;
  position: relative; }
  #hero p {
    bottom: 80px;
    color: #fff;
    font-size: clamp(20px, 3vw, 35px);
    font-weight: 500;
    left: clamp(20px, 3vw, 30px);
    position: absolute;
    text-shadow: 1px 1px 1px #1a1917;
    z-index: 90; }
    @media (min-width: 768px) {
      #hero p {
        bottom: 20px;
        text-shadow: 2px 2px 1px #1a1917; } }
  #hero .slide {
    inset: 0;
    overflow: hidden;
    position: absolute; }
    @media (min-width: 1025px) {
      #hero .slide {
        margin-top: 85px; } }
    @media (min-width: 1280px) {
      #hero .slide {
        margin-top: 87px; } }
    #hero .slide span {
      animation: fadeSlide 15s linear infinite both;
      height: 100%;
      left: 0;
      opacity: 0;
      position: absolute;
      top: 0;
      width: 100%;
      will-change: opacity, transform; }
      #hero .slide span:first-of-type {
        background: url(img/header/slide/slide-1.jpg) no-repeat 60% 50%/cover; }
        @media (min-width: 1280px) {
          #hero .slide span:first-of-type {
            background: url(img/header/slide/slide-1.jpg) no-repeat center/cover; } }
      #hero .slide span:nth-of-type(2) {
        background: url(img/header/slide/slide-2.jpg) no-repeat center/cover;
        animation-delay: 5s; }
      #hero .slide span:nth-of-type(3) {
        background: url(img/header/slide/slide-3.jpg) no-repeat 58% 50%/cover;
        animation-delay: 10s; }
        @media (min-width: 1025px) {
          #hero .slide span:nth-of-type(3) {
            background: url(img/header/slide/slide-3.jpg) no-repeat 60% 50%/cover; } }

/*------------------------------------------------------------------------------ 
  Contents Common
------------------------------------------------------------------------------*/
#front-page,
#sub {
  /* Facility List
  -----------------------------------------------------------*/
  /* News
  -----------------------------------------------------------*/ }
  #front-page .cont,
  #sub .cont {
    /* Background Color
    -----------------------------------------------------------*/
    /* Columns
    -----------------------------------------------------------*/
    /* Image Txt
    -----------------------------------------------------------*/
    /* Image
    -----------------------------------------------------------*/ }
    #front-page .cont .bg-area,
    #sub .cont .bg-area {
      position: relative; }
      #front-page .cont .bg-area:after,
      #sub .cont .bg-area:after {
        background: #f7f6f2;
        content: '';
        height: 100%;
        left: calc(50% - 50vw);
        position: absolute;
        top: 0;
        width: 100vw;
        z-index: -1; }
    #front-page .cont .wp-block-columns,
    #sub .cont .wp-block-columns {
      margin: 0; }
    #front-page .cont .two-cols,
    #front-page .cont .two-cols_reverse,
    #sub .cont .two-cols,
    #sub .cont .two-cols_reverse {
      display: grid;
      gap: 20px clamp(50px, 6vw, 90px); }
      #front-page .cont .two-cols .wp-block-column .wp-block-image,
      #front-page .cont .two-cols_reverse .wp-block-column .wp-block-image,
      #sub .cont .two-cols .wp-block-column .wp-block-image,
      #sub .cont .two-cols_reverse .wp-block-column .wp-block-image {
        height: 100%; }
        #front-page .cont .two-cols .wp-block-column .wp-block-image img,
        #front-page .cont .two-cols_reverse .wp-block-column .wp-block-image img,
        #sub .cont .two-cols .wp-block-column .wp-block-image img,
        #sub .cont .two-cols_reverse .wp-block-column .wp-block-image img {
          object-fit: cover; }
          @media (min-width: 768px) and (max-width: 1024px) {
            #front-page .cont .two-cols .wp-block-column .wp-block-image img,
            #front-page .cont .two-cols_reverse .wp-block-column .wp-block-image img,
            #sub .cont .two-cols .wp-block-column .wp-block-image img,
            #sub .cont .two-cols_reverse .wp-block-column .wp-block-image img {
              height: 70%; } }
          @media (min-width: 1025px) and (max-width: 1279px) {
            #front-page .cont .two-cols .wp-block-column .wp-block-image img,
            #front-page .cont .two-cols_reverse .wp-block-column .wp-block-image img,
            #sub .cont .two-cols .wp-block-column .wp-block-image img,
            #sub .cont .two-cols_reverse .wp-block-column .wp-block-image img {
              height: 80%; } }
    @media (min-width: 768px) {
      #front-page .cont .two-cols,
      #sub .cont .two-cols {
        grid-template-columns: 1fr 1.5fr; } }
    @media (min-width: 768px) {
      #front-page .cont .two-cols_reverse,
      #sub .cont .two-cols_reverse {
        grid-template-columns: 1.5fr 1fr; } }
    #front-page .cont .three-cols,
    #sub .cont .three-cols {
      display: grid;
      gap: 30px clamp(20px, 2vw, 40px); }
      @media (min-width: 1025px) {
        #front-page .cont .three-cols,
        #sub .cont .three-cols {
          grid-template-columns: repeat(3, 1fr); } }
      @media (max-width: 1024px) {
        #front-page .cont .three-cols .wp-block-column,
        #sub .cont .three-cols .wp-block-column {
          width: min(90%, 500px); }
          #front-page .cont .three-cols .wp-block-column:nth-of-type(2),
          #sub .cont .three-cols .wp-block-column:nth-of-type(2) {
            margin-left: auto; } }
    #front-page .cont .img-txt,
    #sub .cont .img-txt {
      display: block; }
      @media (min-width: 768px) {
        #front-page .cont .img-txt:not(:last-of-type),
        #sub .cont .img-txt:not(:last-of-type) {
          margin-bottom: clamp(80px, 10vw, 120px); } }
      @media (min-width: 768px) {
        #front-page .cont .img-txt,
        #sub .cont .img-txt {
          display: block;
          position: relative;
          padding: clamp(30px, 5vw, 60px) 0; } }
      #front-page .cont .img-txt .img,
      #sub .cont .img-txt .img {
        position: relative; }
        @media (min-width: 768px) {
          #front-page .cont .img-txt .img,
          #sub .cont .img-txt .img {
            height: 100%;
            max-width: 650px;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 70%; } }
        #front-page .cont .img-txt .img .wp-block-image,
        #sub .cont .img-txt .img .wp-block-image {
          height: 100%; }
          #front-page .cont .img-txt .img .wp-block-image img,
          #sub .cont .img-txt .img .wp-block-image img {
            height: 100%;
            object-fit: cover; }
            @media (min-width: 1280px) {
              #front-page .cont .img-txt .img .wp-block-image img,
              #sub .cont .img-txt .img .wp-block-image img {
                border-radius: 5px; } }
      #front-page .cont .img-txt .txt,
      #sub .cont .img-txt .txt {
        background: #fff;
        padding: 20px clamp(30px, 4vw, 40px) 55px;
        position: relative;
        z-index: 2; }
        @media (min-width: 768px) {
          #front-page .cont .img-txt .txt,
          #sub .cont .img-txt .txt {
            border-radius: 5px;
            width: 55%; } }
        #front-page .cont .img-txt .txt h2,
        #sub .cont .img-txt .txt h2 {
          font-size: clamp(20px, 2vw, 22px);
          font-weight: 500; }
      #front-page .cont .img-txt:nth-of-type(odd) .img,
      #sub .cont .img-txt:nth-of-type(odd) .img {
        left: -30px; }
        @media (min-width: 768px) {
          #front-page .cont .img-txt:nth-of-type(odd) .img,
          #sub .cont .img-txt:nth-of-type(odd) .img {
            left: -8vw; } }
        @media (min-width: 1280px) {
          #front-page .cont .img-txt:nth-of-type(odd) .img,
          #sub .cont .img-txt:nth-of-type(odd) .img {
            left: 0; } }
        @media (max-width: 1279px) {
          #front-page .cont .img-txt:nth-of-type(odd) .img img,
          #sub .cont .img-txt:nth-of-type(odd) .img img {
            border-radius: 0 5px 5px 0; } }
      #front-page .cont .img-txt:nth-of-type(odd) .txt,
      #sub .cont .img-txt:nth-of-type(odd) .txt {
        border-radius: 5px 0 0 5px; }
        @media (max-width: 767px) {
          #front-page .cont .img-txt:nth-of-type(odd) .txt,
          #sub .cont .img-txt:nth-of-type(odd) .txt {
            transform: translate(30px, -35px); } }
        @media (min-width: 768px) {
          #front-page .cont .img-txt:nth-of-type(odd) .txt,
          #sub .cont .img-txt:nth-of-type(odd) .txt {
            margin: 0 -35px 0 auto; } }
        @media (min-width: 1280px) {
          #front-page .cont .img-txt:nth-of-type(odd) .txt,
          #sub .cont .img-txt:nth-of-type(odd) .txt {
            margin: 0 0 0 auto; } }
      #front-page .cont .img-txt:nth-of-type(even) .txt,
      #sub .cont .img-txt:nth-of-type(even) .txt {
        border-radius: 0 5px 5px 0; }
        @media (max-width: 767px) {
          #front-page .cont .img-txt:nth-of-type(even) .txt,
          #sub .cont .img-txt:nth-of-type(even) .txt {
            transform: translate(-30px, 35px); } }
        @media (min-width: 768px) {
          #front-page .cont .img-txt:nth-of-type(even) .txt,
          #sub .cont .img-txt:nth-of-type(even) .txt {
            margin: 0 auto 0 -35px; } }
        @media (min-width: 1280px) {
          #front-page .cont .img-txt:nth-of-type(even) .txt,
          #sub .cont .img-txt:nth-of-type(even) .txt {
            margin: 0 auto 0 0; } }
      #front-page .cont .img-txt:nth-of-type(even) .img,
      #sub .cont .img-txt:nth-of-type(even) .img {
        right: -30px; }
        @media (min-width: 768px) {
          #front-page .cont .img-txt:nth-of-type(even) .img,
          #sub .cont .img-txt:nth-of-type(even) .img {
            right: -8vw; } }
        @media (min-width: 1280px) {
          #front-page .cont .img-txt:nth-of-type(even) .img,
          #sub .cont .img-txt:nth-of-type(even) .img {
            right: 0; } }
        @media (max-width: 1279px) {
          #front-page .cont .img-txt:nth-of-type(even) .img img,
          #sub .cont .img-txt:nth-of-type(even) .img img {
            border-radius: 5px 0 0 5px; } }
    #front-page .cont .wp-block-image,
    #sub .cont .wp-block-image {
      margin: 0; }
      #front-page .cont .wp-block-image img,
      #sub .cont .wp-block-image img {
        border-radius: 5px; }
  #front-page .facility-li,
  #sub .facility-li {
    display: grid;
    gap: clamp(60px, 7vw, 70px) clamp(45px, 5vw, 60px); }
    @media (min-width: 600px) {
      #front-page .facility-li,
      #sub .facility-li {
        grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1025px) {
      #front-page .facility-li,
      #sub .facility-li {
        grid-template-columns: repeat(3, 1fr); } }
    #front-page .facility-li li a:hover,
    #sub .facility-li li a:hover {
      opacity: 1; }
      #front-page .facility-li li a:hover .thumb img,
      #sub .facility-li li a:hover .thumb img {
        transform: translate(4px, 4px); }
      #front-page .facility-li li a:hover .ttl,
      #sub .facility-li li a:hover .ttl {
        color: #f39800; }
        #front-page .facility-li li a:hover .ttl:before, #front-page .facility-li li a:hover .ttl:after,
        #sub .facility-li li a:hover .ttl:before,
        #sub .facility-li li a:hover .ttl:after {
          transform: translate(3px, -50%); }
    #front-page .facility-li li a .thumb,
    #sub .facility-li li a .thumb {
      position: relative;
      z-index: 1; }
      #front-page .facility-li li a .thumb:after,
      #sub .facility-li li a .thumb:after {
        background: #f5f2e9;
        border-radius: 5px;
        content: '';
        height: 100%;
        left: 8px;
        position: absolute;
        top: 8px;
        width: 100%;
        z-index: -1; }
      #front-page .facility-li li a .thumb img,
      #sub .facility-li li a .thumb img {
        aspect-ratio: 3 / 2;
        border-radius: 5px;
        object-fit: cover;
        transition: transform .3s; }
    #front-page .facility-li li a .ttl,
    #sub .facility-li li a .ttl {
      font-size: clamp(16px, 2vw, 18px);
      font-weight: 500;
      margin: 30px 0 10px;
      position: relative;
      transition: color .3s; }
      #front-page .facility-li li a .ttl:before, #front-page .facility-li li a .ttl:after,
      #sub .facility-li li a .ttl:before,
      #sub .facility-li li a .ttl:after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: .3s; }
      #front-page .facility-li li a .ttl:before,
      #sub .facility-li li a .ttl:before {
        background: #fff;
        border: 1px solid #f39800;
        border-radius: 50%;
        height: 35px;
        right: 0;
        width: 35px; }
      #front-page .facility-li li a .ttl:after,
      #sub .facility-li li a .ttl:after {
        background: url(img/common/arrow.svg) no-repeat center/cover;
        height: 17px;
        right: 10px;
        width: 17px; }
    #front-page .facility-li li a .type,
    #sub .facility-li li a .type {
      border-top: 1px solid #f39800;
      font-size: 16px;
      margin: 0;
      padding-top: 13px; }
  #front-page #news .cat-tab,
  #front-page #facility-news .cat-tab,
  #sub #news .cat-tab,
  #sub #facility-news .cat-tab {
    background: #fff;
    border: 1px solid #f39800;
    border-radius: 5px;
    display: grid;
    font-size: clamp(14px, 2vw, 16px);
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
    list-style: none;
    margin: 0 0 clamp(70px, 8vw, 100px) auto;
    padding: 7px clamp(10px, 2vw, 20px); }
    @media (min-width: 768px) {
      #front-page #news .cat-tab,
      #front-page #facility-news .cat-tab,
      #sub #news .cat-tab,
      #sub #facility-news .cat-tab {
        max-width: 600px;
        width: 70%; } }
    #front-page #news .cat-tab li,
    #front-page #facility-news .cat-tab li,
    #sub #news .cat-tab li,
    #sub #facility-news .cat-tab li {
      margin: 0 !important;
      text-align: center; }
      #front-page #news .cat-tab li a,
      #front-page #facility-news .cat-tab li a,
      #sub #news .cat-tab li a,
      #sub #facility-news .cat-tab li a {
        border-radius: 3px;
        color: #807f7d;
        display: block;
        padding: 6px; }
      #front-page #news .cat-tab li .is-active,
      #front-page #facility-news .cat-tab li .is-active,
      #sub #news .cat-tab li .is-active,
      #sub #facility-news .cat-tab li .is-active {
        background: #f39800;
        color: #fff;
        font-weight: 500; }
  #front-page #news .news-li,
  #front-page #facility-news .news-li,
  #sub #news .news-li,
  #sub #facility-news .news-li {
    list-style: none;
    padding: 0; }
    @media (min-width: 768px) {
      #front-page #news .news-li,
      #front-page #facility-news .news-li,
      #sub #news .news-li,
      #sub #facility-news .news-li {
        margin: auto;
        max-width: 1100px;
        width: 95%; } }
    #front-page #news .news-li li a,
    #front-page #facility-news .news-li li a,
    #sub #news .news-li li a,
    #sub #facility-news .news-li li a {
      align-items: center;
      border-bottom: 1px solid #cccbc8;
      display: flex;
      flex-wrap: wrap;
      gap: 20px 40px;
      padding: 20px 0; }
      @media (min-width: 768px) {
        #front-page #news .news-li li a,
        #front-page #facility-news .news-li li a,
        #sub #news .news-li li a,
        #sub #facility-news .news-li li a {
          padding: clamp(20px, 2vw, 28px) 20px; } }
      #front-page #news .news-li li a:hover h3,
      #front-page #facility-news .news-li li a:hover h3,
      #sub #news .news-li li a:hover h3,
      #sub #facility-news .news-li li a:hover h3 {
        color: #ce592a; }
      #front-page #news .news-li li a .news-meta,
      #front-page #facility-news .news-li li a .news-meta,
      #sub #news .news-li li a .news-meta,
      #sub #facility-news .news-li li a .news-meta {
        align-items: center;
        display: flex;
        gap: 20px; }
        #front-page #news .news-li li a .news-meta time,
        #front-page #facility-news .news-li li a .news-meta time,
        #sub #news .news-li li a .news-meta time,
        #sub #facility-news .news-li li a .news-meta time {
          color: #807f7d; }
        #front-page #news .news-li li a .news-meta .cat,
        #front-page #facility-news .news-li li a .news-meta .cat,
        #sub #news .news-li li a .news-meta .cat,
        #sub #facility-news .news-li li a .news-meta .cat {
          background: #fff;
          border: 2px solid #f39800;
          border-radius: 3px;
          color: #403f3e;
          font-size: clamp(14px, 1.5vw, 16px);
          padding: 2px 8px; }
      #front-page #news .news-li li a .ttl,
      #front-page #facility-news .news-li li a .ttl,
      #sub #news .news-li li a .ttl,
      #sub #facility-news .news-li li a .ttl {
        font-size: clamp(17px, 2vw, 18px);
        font-weight: 400;
        margin: 0;
        transition: color .3s;
        width: 100%; }
        @media (min-width: 768px) {
          #front-page #news .news-li li a .ttl,
          #front-page #facility-news .news-li li a .ttl,
          #sub #news .news-li li a .ttl,
          #sub #facility-news .news-li li a .ttl {
            width: calc(100% - clamp(215px, 27vw, 230px)); } }

/*------------------------------------------------------------------------------ 
  Front Page
------------------------------------------------------------------------------*/
#front-page .sec {
  padding: clamp(40px, 6vw, 60px) 0 clamp(80px, 10vw, 120px);
  position: relative; }
  #front-page .sec:after {
    content: '';
    height: 100%;
    left: calc(50% - 50vw);
    position: absolute;
    top: 0;
    width: 100vw;
    z-index: -2; }
  #front-page .sec:first-of-type {
    padding-top: clamp(80px, 18vw, 200px); }
  #front-page .sec:nth-of-type(odd):after {
    background: #f5f2e9; }
  #front-page .sec:nth-of-type(even):after {
    background: #f7f6f2; }
  #front-page .sec .en-ttl {
    color: #f39800;
    font-family: "Ubuntu", sans-serif;
    font-size: clamp(18px, 2vw, 20px);
    padding-left: 32px;
    position: relative; }
    #front-page .sec .en-ttl:before {
      background: url(img/common/sun.svg) no-repeat center/cover;
      content: '';
      height: 28px;
      left: 0;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 28px; }
  #front-page .sec h2 {
    font-size: clamp(23px, 2.3vw, 28px);
    margin-bottom: clamp(35px, 4vw, 50px); }
  #front-page .sec .bg-btn {
    margin: clamp(65px, 8vw, 120px) 0 0 auto;
    width: 90%; }
@media (min-width: 1280px) {
  #front-page .two-cols .wp-block-image img,
  #front-page .two-cols_reverse .wp-block-image img {
    aspect-ratio: 3 / 4; } }
#front-page #about .bg-btn:after,
#front-page #home-care .bg-btn:after,
#front-page #facility .bg-btn:after {
  background: rgba(255, 255, 255, 0.7); }
@media (min-width: 1280px) {
  #front-page #about {
    grid-template-columns: 1fr 1.6fr; } }
#front-page #features .lead {
  margin-bottom: clamp(75px, 10vw, 120px); }
#front-page #features .three-cols {
  counter-reset: counter;
  row-gap: 60px; }
  #front-page #features .three-cols .box {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    position: relative; }
    @media (min-width: 1025px) {
      #front-page #features .three-cols .box {
        padding: 20px clamp(17px, 1.5vw, 20px); } }
    #front-page #features .three-cols .box:before, #front-page #features .three-cols .box:after {
      color: #f39800;
      font-family: "Ubuntu", sans-serif;
      font-weight: 400;
      position: absolute; }
    #front-page #features .three-cols .box:before {
      content: 'Features';
      font-size: 25px;
      right: 60px;
      top: -27px; }
      @media (min-width: 1025px) {
        #front-page #features .three-cols .box:before {
          font-size: 27px;
          top: -30px; } }
      @media (min-width: 1280px) {
        #front-page #features .three-cols .box:before {
          right: 75px; } }
    #front-page #features .three-cols .box:after {
      content: counter(counter,decimal-leading-zero);
      counter-increment: counter;
      font-size: 45px;
      line-height: 1;
      right: 0;
      top: -32px; }
      @media (min-width: 1280px) {
        #front-page #features .three-cols .box:after {
          font-size: 55px;
          top: -42px; } }
    #front-page #features .three-cols .box h3 {
      color: #f39800;
      font-size: clamp(17px, 1.8vw, 20px);
      font-weight: 500;
      text-align: center; }
    #front-page #features .three-cols .box p {
      font-size: clamp(15px, 1.6vw, 17px);
      text-align: center; }
#front-page #guide {
  padding-top: clamp(80px, 10vw, 120px); }
  #front-page #guide:after {
    background: #f5f2e9; }
  #front-page #guide .txt .bg-btn {
    margin-top: clamp(35px, 4vw, 50px); }
    #front-page #guide .txt .bg-btn a {
      padding: clamp(16px, 2vw, 18px) clamp(20px, 3vw, 30px); }
      #front-page #guide .txt .bg-btn a:after {
        right: clamp(20px, 3vw, 30px); }
#front-page #home-care {
  padding-top: clamp(80px, 10vw, 120px);
  row-gap: 65px; }
  @media (min-width: 1280px) {
    #front-page #home-care {
      grid-template-columns: 1.6fr 1fr; } }
#front-page #facility .facility-li li .thumb:after {
  background: rgba(255, 255, 255, 0.6); }
#front-page #news {
  position: static; }

/*------------------------------------------------------------------------------ 
  Sub Hero
------------------------------------------------------------------------------*/
@media (min-width: 1025px) {
  #sub-hero {
    margin-top: 85px; } }
@media (min-width: 1280px) {
  #sub-hero {
    margin-top: 87px; } }
#sub-hero .head-ttl {
  background: #f7f6f2;
  text-align: center;
  padding: clamp(50px, 7vw, 90px) clamp(40px, 8vw, 90px); }
#sub-hero .bg-img {
  padding-top: clamp(320px, 35vw, 500px);
  position: relative; }
  #sub-hero .bg-img:after {
    border-radius: 10px 0 0 10px;
    content: '';
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 95%;
    z-index: -2; }
  #sub-hero .bg-img h1 {
    margin: 0 0 0 auto;
    padding: clamp(15px, 2vw, 30px) 20px 0 clamp(15px, 2vw, 30px);
    position: relative;
    width: 95%; }
    #sub-hero .bg-img h1:after {
      background: #fff;
      border-radius: 0 10px 0 0;
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 75%;
      z-index: -1; }
      @media (min-width: 768px) {
        #sub-hero .bg-img h1:after {
          max-width: 450px;
          width: 45%; } }
#sub-hero .facility:after {
  background: url(img/header/sub/facility.jpg) no-repeat 75% 40%/cover; }
#sub-hero .child-img:after {
  background: var(--thumb) no-repeat center/cover; }
#sub-hero .olioli-izumiotsu:after {
  background: var(--thumb) no-repeat 25% 40%/cover; }
#sub-hero .flow:after {
  background: url(img/header/sub/flow.jpg) no-repeat center/cover; }
#sub-hero .home-care:after {
  background: url(img/header/sub/home-care.jpg) no-repeat 50% 15%/cover; }
#sub-hero .about:after {
  background: url(img/header/sub/about.jpg) no-repeat center/cover;
  background: url(img/header/sub/about.jpg) no-repeat 90% 75%/cover; }
#sub-hero .faq:after {
  background: url(img/header/sub/faq.jpg) no-repeat 65% 35%/cover; }
  @media (min-width: 1280px) {
    #sub-hero .faq:after {
      background-position: 50% 15%; } }
#sub-hero .contact:after {
  background: url(img/header/sub/contact.jpg) no-repeat 20% 85%/cover; }
#sub-hero h1,
#sub-hero .head-ttl {
  font-weight: 500; }
  #sub-hero h1 .jp,
  #sub-hero .head-ttl .jp {
    font-size: clamp(22px, 3vw, 28px); }
  #sub-hero h1 .en,
  #sub-hero .head-ttl .en {
    color: #f39800;
    display: block;
    font-size: clamp(18px, 2vw, 22px); }

/*------------------------------------------------------------------------------ 
  Sub Page
------------------------------------------------------------------------------*/
#sub {
  padding: clamp(80px, 10vw, 140px) 0;
  /* Sub Common ------------------------------------------------
  -----------------------------------------------------------*/
  /* Contact Form
  -----------------------------------------------------------*/
  /* Pagination
  -----------------------------------------------------------*/
  /* Sub Common Last--------------------------------------------
  -----------------------------------------------------------*/
  /* Page ------------------------------------------------------
  -----------------------------------------------------------*/
  /* News -----------------------------------------------------
  -----------------------------------------------------------*/
  /* Single ----------------------------------------------------
  -----------------------------------------------------------*/
  /* 404 ------------------------------------------------------
  -----------------------------------------------------------*/ }
  #sub #page ul,
  #sub #page ol,
  #sub #single ul,
  #sub #single ol {
    margin: clamp(30px, 3vw, 35px) 0;
    padding-left: clamp(25px, 3vw, 30px); }
    #sub #page ul li:not(:last-of-type),
    #sub #page ol li:not(:last-of-type),
    #sub #single ul li:not(:last-of-type),
    #sub #single ol li:not(:last-of-type) {
      margin-bottom: clamp(10px, 1vw, 15px); }
  #sub #page ul,
  #sub #single ul {
    list-style: disc; }
  #sub #page .no-style_li,
  #sub #single .no-style_li {
    list-style: none;
    margin: 0;
    padding: 0; }
  #sub #page .em,
  #sub #single .em {
    color: #bf2400;
    font-size: clamp(17px, 2vw, 18px);
    font-weight: 500; }
  @media (min-width: 768px) {
    #sub .wpcf7 {
      margin: auto;
      max-width: 820px;
      width: 95%; } }
  #sub .wpcf7 .form-txt {
    font-size: clamp(16px, 2vw, 18px);
    font-weight: 500; }
    #sub .wpcf7 .form-txt .required {
      color: #bf2400;
      font-weight: bold;
      padding: 5px; }
  #sub .wpcf7 .facility-name {
    margin-top: clamp(45px, 6vw, 60px); }
  #sub .wpcf7 .wpcf7-checkbox,
  #sub .wpcf7 .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 15px clamp(25px, 3vw, 35px); }
    #sub .wpcf7 .wpcf7-checkbox .wpcf7-list-item,
    #sub .wpcf7 .wpcf7-radio .wpcf7-list-item {
      margin: 0; }
      #sub .wpcf7 .wpcf7-checkbox .wpcf7-list-item label,
      #sub .wpcf7 .wpcf7-radio .wpcf7-list-item label {
        margin: 0; }
  #sub .wpcf7 label {
    display: block;
    margin-bottom: clamp(30px, 5vw, 50px); }
    @media (min-width: 768px) {
      #sub .wpcf7 label {
        align-items: center;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; } }
    @media (max-width: 767px) {
      #sub .wpcf7 label .form-txt {
        display: block;
        margin-bottom: 8px; } }
    @media (min-width: 768px) {
      #sub .wpcf7 label .form-txt {
        width: 160px; } }
    #sub .wpcf7 label .wpcf7-form-control-wrap {
      display: block;
      text-align: center; }
      @media screen and (min-width: 768px) {
        #sub .wpcf7 label .wpcf7-form-control-wrap {
          width: calc(100% - clamp(180px, 20vw, 230px)); } }
      #sub .wpcf7 label .wpcf7-form-control-wrap input.wpcf7-form-control.wpcf7-text,
      #sub .wpcf7 label .wpcf7-form-control-wrap textarea.wpcf7-form-control.wpcf7-textarea {
        background: #fff;
        border: 1px solid #807f7d;
        border-radius: 5px;
        padding: 10px 15px;
        width: 100%; }
  @media (min-width: 768px) {
    #sub .wpcf7 .msg .form-txt {
      margin-bottom: auto; } }
  #sub .wpcf7 input[type="checkbox"],
  #sub .wpcf7 input[type="radio"] {
    display: none; }
  #sub .wpcf7 .wpcf7-radio .wpcf7-list-item-label {
    cursor: pointer;
    padding-left: 25px;
    position: relative; }
    #sub .wpcf7 .wpcf7-radio .wpcf7-list-item-label:before {
      background: #fff;
      border: 1px solid #403f3e;
      border-radius: 100%;
      content: "";
      height: 18px;
      left: 0;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 18px; }
  #sub .wpcf7 .wpcf7-radio input[type="radio"]:checked ~ .wpcf7-list-item-label:before {
    background: #197efa;
    box-shadow: inset 0 0 0 3px #fff; }
  #sub .wpcf7 .wpcf7-checkbox .wpcf7-list-item-label,
  #sub .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label {
    cursor: pointer;
    position: relative;
    padding-left: 25px; }
    #sub .wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:before,
    #sub .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label:before {
      background: #fff;
      border: 1px solid #403f3e;
      border-radius: 2px;
      content: "";
      display: block;
      height: 18px;
      left: 0;
      position: absolute;
      width: 18px; }
  #sub .wpcf7 .wpcf7-checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label:before,
  #sub .wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label:before {
    background: #197efa; }
  #sub .wpcf7 .wpcf7-checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label:after,
  #sub .wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    display: block;
    height: 5px;
    left: 4px;
    position: absolute;
    transform: rotate(135deg);
    width: 10px; }
  #sub .wpcf7 .wpcf7-checkbox {
    margin-bottom: clamp(50px, 8vw, 90px); }
    #sub .wpcf7 .wpcf7-checkbox .wpcf7-list-item-label:before {
      top: 50%;
      transform: translateY(-50%); }
    #sub .wpcf7 .wpcf7-checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label:after {
      top: 37%; }
  #sub .wpcf7 .wpcf7-acceptance {
    display: block;
    font-weight: 500;
    margin: clamp(45px, 6vw, 65px) auto 15px; }
    #sub .wpcf7 .wpcf7-acceptance .wpcf7-list-item {
      display: block;
      margin: 0; }
      #sub .wpcf7 .wpcf7-acceptance .wpcf7-list-item label {
        margin: 0; }
    #sub .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label:before {
      top: 2px; }
      @media (min-width: 768px) {
        #sub .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label:before {
          top: 20%; } }
    #sub .wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label:after {
      top: 8px; }
      @media (min-width: 768px) {
        #sub .wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label:after {
          top: 40%; } }
  #sub .wpcf7 .policy a {
    display: block;
    font-size: clamp(15px, 1vw, 16px);
    text-decoration: underline;
    text-decoration-color: #f39800;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px; }
  #sub .wpcf7 .check {
    margin: 0 0 clamp(50px, 6vw, 70px); }
  #sub .wpcf7 input.wpcf7-submit {
    background: #fff;
    border: 2px solid #f39800;
    border-radius: 5px;
    color: #403f3e;
    display: block;
    font-size: clamp(17px, 2vw, 19px);
    font-weight: 500;
    letter-spacing: 8px;
    margin: clamp(20px, 3vw, 30px) auto;
    padding: clamp(25px, 2vw, 30px) 0;
    transition: .2s;
    width: 100%; }
    @media screen and (min-width: 768px) {
      #sub .wpcf7 input.wpcf7-submit {
        width: min(90%, 650px);
        width: clamp(500px, 50vw, 650px); } }
    #sub .wpcf7 input.wpcf7-submit:hover {
      background: #f39800;
      color: #fff;
      cursor: pointer; }
    #sub .wpcf7 input.wpcf7-submit:disabled {
      cursor: not-allowed !important; }
  #sub .wpcf7 .recaptcha {
    font-size: clamp(14px, 2vw, 15px); }
    #sub .wpcf7 .recaptcha a {
      font-weight: 500; }
  #sub .wpcf7 .wpcf7-response-output {
    background: #fff; }
  #sub .pagination {
    font-size: clamp(18px, 2vw, 20px);
    margin-top: clamp(70px, 10vw, 150px); }
    #sub .pagination .screen-reader-text {
      display: none; }
    #sub .pagination .nav-links {
      display: flex;
      font-family: "Ubuntu", sans-serif;
      font-weight: 300;
      flex-wrap: wrap;
      justify-content: center;
      gap: 5px 10px; }
      #sub .pagination .nav-links .page-numbers {
        align-items: center;
        background: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        height: clamp(50px, 5vw, 60px);
        padding: 0;
        width: clamp(50px, 5vw, 60px); }
        #sub .pagination .nav-links .page-numbers:hover {
          background: #f7efd2;
          opacity: 1; }
      #sub .pagination .nav-links .current {
        background: #f39800;
        color: #fff;
        font-weight: 400; }
        #sub .pagination .nav-links .current:hover {
          background: #f39800; }
      #sub .pagination .nav-links .dots:hover {
        background: #fff;
        color: #1a1917; }
  #sub #page {
    /* Heading
    -----------------------------------------------------------*/
    /* List
    -----------------------------------------------------------*/
    /* Group
    -----------------------------------------------------------*/
    /* Table
    -----------------------------------------------------------*/
    /* Facility --------------------------------------------------
    -----------------------------------------------------------*/
    /* Facility News
    -----------------------------------------------------------*/
    /* Olioli Izumiotsu
    -----------------------------------------------------------*/
    /* Flow -----------------------------------------------------
    -----------------------------------------------------------*/
    /* Home Care ------------------------------------------------
    -----------------------------------------------------------*/
    /* About -----------------------------------------------------
    -----------------------------------------------------------*/
    /* Faq -------------------------------------------------------
    -----------------------------------------------------------*/
    /* Contact ---------------------------------------------------
    -----------------------------------------------------------*/
    /* Policy ---------------------------------------------------
    -----------------------------------------------------------*/ }
    #sub #page .en-ttl {
      color: #f39800;
      font-family: "Ubuntu", sans-serif;
      font-size: clamp(40px, 4vw, 50px);
      font-weight: 300;
      margin: 0;
      text-transform: capitalize; }
    #sub #page h2 {
      font-weight: 500;
      margin: 0 0 clamp(45px, 6vw, 70px); }
    #sub #page h3 {
      font-weight: 500;
      margin-bottom: clamp(25px, 3vw, 35px);
      padding-left: clamp(33px, 3vw, 37px);
      position: relative; }
      #sub #page h3:before {
        background: url(img/common/sun.svg) no-repeat center/cover;
        content: '';
        height: 28px;
        left: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 28px; }
    #sub #page .circle-li {
      list-style: none;
      padding-left: clamp(10px, 1vw, 15px); }
      #sub #page .circle-li li {
        padding-left: clamp(25px, 3vw, 30px);
        position: relative; }
        #sub #page .circle-li li:not(:last-of-type) {
          margin-bottom: clamp(25px, 3vw, 35px); }
        #sub #page .circle-li li:before {
          background: #fff;
          border: 4px solid #f39800;
          border-radius: 50%;
          content: '';
          height: clamp(15px, 2vw, 20px);
          left: 0;
          position: absolute;
          top: 7px;
          width: clamp(15px, 2vw, 20px); }
    #sub #page .wp-block-group {
      padding: clamp(35px, 5vw, 55px) 0; }
      #sub #page .wp-block-group:last-of-type {
        padding-bottom: 0; }
      #sub #page .wp-block-group .inner {
        margin-top: clamp(60px, 8vw, 90px);
        padding: 0; }
    #sub #page .bg {
      background: #f7f6f2;
      border-radius: 8px;
      padding: clamp(25px, 4vw, 55px) !important; }
      #sub #page .bg h3 {
        margin: 10px 0 clamp(10px, 1vw, 15px); }
    #sub #page .border-table table {
      border-collapse: separate;
      border-spacing: 12px 0; }
      #sub #page .border-table table tr:first-of-type td {
        border-top: 1px solid #cccbc8; }
        @media (max-width: 767px) {
          #sub #page .border-table table tr:first-of-type td:last-of-type {
            border-top: none; } }
      #sub #page .border-table table tr td {
        border: none;
        border-bottom: 1px solid #cccbc8;
        padding: 30px 10px; }
        @media (max-width: 767px) {
          #sub #page .border-table table tr td {
            display: block; } }
        @media (min-width: 768px) {
          #sub #page .border-table table tr td {
            padding: 25px 20px; } }
        #sub #page .border-table table tr td:first-of-type {
          color: #f39800;
          font-weight: 500; }
          @media (max-width: 767px) {
            #sub #page .border-table table tr td:first-of-type {
              border-bottom: none;
              padding-bottom: 0; } }
          @media (min-width: 768px) {
            #sub #page .border-table table tr td:first-of-type {
              width: 30%; } }
        @media (max-width: 767px) {
          #sub #page .border-table table tr td:last-of-type {
            font-size: 16px;
            padding-top: 12px; } }
    #sub #page .parent-facility #eligibility .circle-li {
      width: fit-content; }
      @media (max-width: 599px) {
        #sub #page .parent-facility #eligibility .circle-li {
          padding: 0; } }
      #sub #page .parent-facility #eligibility .circle-li li {
        font-size: clamp(18px, 2vw, 22px); }
        #sub #page .parent-facility #eligibility .circle-li li:before {
          top: 11px; }
        #sub #page .parent-facility #eligibility .circle-li li:after {
          border-bottom: 2px solid #f39800;
          bottom: -5px;
          content: '';
          left: clamp(25px, 3vw, 28px);
          position: absolute;
          width: calc(100% - clamp(25px, 3vw, 28px)); }
    #sub #page .parent-facility #guide .three-cols {
      margin: clamp(50px, 6vw, 60px) 0 40px; }
      #sub #page .parent-facility #guide .three-cols .wp-block-column {
        background: #f5f2e9;
        border-radius: 5px;
        padding: clamp(20px, 2vw, 30px) 20px; }
        #sub #page .parent-facility #guide .three-cols .wp-block-column p {
          font-size: 15px;
          margin: 0 0 clamp(20px, 2vw, 30px); }
          @media (min-width: 600px) {
            #sub #page .parent-facility #guide .three-cols .wp-block-column p {
              text-align: center; } }
          @media (min-width: 1025px) {
            #sub #page .parent-facility #guide .three-cols .wp-block-column p {
              font-size: clamp(14px, 1.4vw, 17px); } }
          @media (max-width: 599px) {
            #sub #page .parent-facility #guide .three-cols .wp-block-column p br {
              display: none; } }
    #sub #page .parent-facility #guide .room .room-cols {
      align-items: center !important;
      display: grid;
      gap: 30px; }
      @media (min-width: 1025px) {
        #sub #page .parent-facility #guide .room .room-cols {
          grid-template-columns: repeat(2, 1fr); } }
      #sub #page .parent-facility #guide .room .room-cols .txt {
        background: #f7f6f2;
        border-radius: 8px;
        padding: clamp(20px, 2vw, 30px) clamp(30px, 3vw, 40px); }
        @media (min-width: 1280px) {
          #sub #page .parent-facility #guide .room .room-cols .txt {
            align-items: center;
            display: flex;
            justify-content: center; } }
        #sub #page .parent-facility #guide .room .room-cols .txt .circle-li {
          padding: 0; }
      #sub #page .parent-facility #guide .room .room-cols .room-img {
        gap: 15px; }
        #sub #page .parent-facility #guide .room .room-cols .room-img .wp-block-column:nth-of-type(2) {
          display: grid;
          gap: 10px; }
          #sub #page .parent-facility #guide .room .room-cols .room-img .wp-block-column:nth-of-type(2) .wp-block-image img {
            height: 100%;
            object-fit: cover; }
    @media (max-width: 767px) {
      #sub #page .parent-facility #fee .fee-table {
        overflow-x: scroll; } }
    @media (max-width: 767px) {
      #sub #page .parent-facility #fee .fee-table table {
        white-space: nowrap;
        width: 100%; } }
    #sub #page .parent-facility #fee .fee-table table th,
    #sub #page .parent-facility #fee .fee-table table td {
      border: 1px solid #807f7d;
      padding: 12px; }
    #sub #page .parent-facility #fee .fee-table table thead {
      border-bottom: 2px solid #f39800; }
      #sub #page .parent-facility #fee .fee-table table thead th {
        background: #f7efd2;
        border: 1px solid #f39800;
        font-weight: 500; }
    #sub #page .parent-facility #fee .fee-table table tbody tr:nth-of-type(5) td {
      border-color: #1a1917;
      color: #f39800; }
      #sub #page .parent-facility #fee .fee-table table tbody tr:nth-of-type(5) td:first-of-type {
        font-size: clamp(18px, 2vw, 20px); }
      #sub #page .parent-facility #fee .fee-table table tbody tr:nth-of-type(5) td:nth-of-type(2) span {
        font-size: clamp(22px, 2vw, 25px);
        font-weight: 400; }
    #sub #page .parent-facility #fee .fee-table table tbody tr td:first-of-type {
      font-weight: 500;
      text-align: center; }
      @media (min-width: 768px) {
        #sub #page .parent-facility #fee .fee-table table tbody tr td:first-of-type {
          width: 26%; } }
      @media (min-width: 1025px) {
        #sub #page .parent-facility #fee .fee-table table tbody tr td:first-of-type {
          width: 23%; } }
    #sub #page .parent-facility #fee .fee-table table tbody tr td:nth-of-type(2) {
      text-align: center; }
      @media (min-width: 768px) {
        #sub #page .parent-facility #fee .fee-table table tbody tr td:nth-of-type(2) {
          width: 24%; } }
      @media (min-width: 1025px) {
        #sub #page .parent-facility #fee .fee-table table tbody tr td:nth-of-type(2) {
          width: 20%; } }
      #sub #page .parent-facility #fee .fee-table table tbody tr td:nth-of-type(2) span {
        font-family: "Ubuntu", sans-serif;
        font-size: clamp(18px, 2vw, 20px);
        font-weight: 300; }
    @media (min-width: 768px) {
      #sub #page .parent-facility #fee .fee-table table tbody tr td:last-of-type {
        width: 50%; } }
    @media (min-width: 1025px) {
      #sub #page .parent-facility #fee .fee-table table tbody tr td:last-of-type {
        width: 60%; } }
    #sub #page .parent-facility #fee .bg {
      margin-top: clamp(50px, 7vw, 70px); }
    #sub #page .parent-facility #overview .map {
      height: 0;
      padding-top: 70%;
      position: relative; }
      @media screen and (min-width: 600px) {
        #sub #page .parent-facility #overview .map {
          padding-top: 40%; } }
      @media screen and (min-width: 1025px) {
        #sub #page .parent-facility #overview .map {
          height: 350px;
          padding-top: 0; } }
      #sub #page .parent-facility #overview .map iframe {
        height: 100%;
        position: absolute;
        top: 0;
        width: 100%; }
    #sub #page #facility-news {
      padding: clamp(35px, 5vw, 55px) 0 clamp(55px, 5vw, 65px); }
    #sub #page .olioli-izumiotsu #brochure p:not(:first-of-type) {
      margin: clamp(25px, 3vw, 40px) auto;
      position: relative; }
      @media (min-width: 1025px) {
        #sub #page .olioli-izumiotsu #brochure p:not(:first-of-type) {
          width: 90%; } }
      #sub #page .olioli-izumiotsu #brochure p:not(:first-of-type):after {
        background: #f5f2e9;
        border-radius: 5px;
        content: '';
        height: 100%;
        left: 6px;
        position: absolute;
        top: 6px;
        width: 100%;
        z-index: -1; }
      #sub #page .olioli-izumiotsu #brochure p:not(:first-of-type) a {
        background: #fff;
        border: 2px solid #f39800;
        border-radius: 3px;
        color: #403f3e;
        display: flex;
        font-weight: 500;
        justify-content: center;
        margin: auto;
        padding: 20px clamp(55px, 7vw, 85px) 20px 15px;
        position: relative; }
        #sub #page .olioli-izumiotsu #brochure p:not(:first-of-type) a:hover {
          opacity: 1;
          transform: translate(6px, 6px); }
        #sub #page .olioli-izumiotsu #brochure p:not(:first-of-type) a:after {
          background: url(img/common/arrow.svg) no-repeat center/cover;
          content: '';
          height: clamp(20px, 2vw, 25px);
          position: absolute;
          right: clamp(17px, 3vw, 40px);
          top: 50%;
          transform: translateY(-50%);
          width: clamp(20px, 2vw, 25px); }
    #sub #page .flow {
      counter-reset: counter; }
      @media (max-width: 767px) {
        #sub #page .flow .img-txt:nth-of-type(odd) .txt {
          transform: translate(-3px, -35px); } }
      @media (max-width: 767px) {
        #sub #page .flow .img-txt:nth-of-type(even) {
          margin-bottom: 80px; }
          #sub #page .flow .img-txt:nth-of-type(even) .txt {
            transform: translate(-30px, 35px); } }
      @media (min-width: 1280px) {
        #sub #page .flow .img-txt:nth-of-type(3) {
          overflow: hidden; } }
      @media (min-width: 768px) {
        #sub #page .flow .img-txt:nth-of-type(3) .img {
          left: -40vw;
          width: 100%; } }
      @media (min-width: 1025px) {
        #sub #page .flow .img-txt:nth-of-type(3) .img {
          left: -380px;
          max-width: 950px; } }
      @media (min-width: 1280px) {
        #sub #page .flow .img-txt:nth-of-type(3) .img {
          left: -200px;
          max-width: 840px; } }
      @media (min-width: 768px) and (max-width: 1279px) {
        #sub #page .flow .img-txt .img {
          max-width: 900px; } }
      #sub #page .flow .img-txt .txt {
        border: 2px solid #f39800;
        padding: clamp(85px, 9vw, 95px) clamp(20px, 3vw, 40px) clamp(25px, 3vw, 40px); }
        @media (max-width: 767px) {
          #sub #page .flow .img-txt .txt {
            width: calc(100% + 33px); } }
        @media (min-width: 768px) and (max-width: 1279px) {
          #sub #page .flow .img-txt .txt {
            border-radius: 5px;
            max-width: 650px;
            width: 65%; } }
        #sub #page .flow .img-txt .txt:before, #sub #page .flow .img-txt .txt:after {
          color: #f39800;
          font-family: "Ubuntu", sans-serif;
          font-weight: 400;
          position: absolute; }
        #sub #page .flow .img-txt .txt:before {
          content: 'Step';
          font-size: 22px;
          left: 25px;
          text-transform: uppercase;
          top: clamp(20px, 2vw, 25px); }
        #sub #page .flow .img-txt .txt:after {
          content: counter(counter,decimal-leading-zero);
          counter-increment: counter;
          font-size: 40px;
          line-height: 1;
          left: clamp(85px, 9vw, 90px);
          top: 15px; }
          @media (min-width: 1280px) {
            #sub #page .flow .img-txt .txt:after {
              font-size: 50px;
              top: clamp(10px, 1vw, 15px); } }
        #sub #page .flow .img-txt .txt h2 {
          margin-bottom: clamp(25px, 3vw, 40px); }
        #sub #page .flow .img-txt .txt .cta-btn_area {
          display: grid;
          margin: clamp(30px, 4vw, 45px) 0 15px; }
          @media (min-width: 1440px) {
            #sub #page .flow .img-txt .txt .cta-btn_area {
              grid-template-columns: repeat(2, 1fr); } }
          #sub #page .flow .img-txt .txt .cta-btn_area .btn {
            margin: 0; }
            @media (max-width: 1439px) {
              #sub #page .flow .img-txt .txt .cta-btn_area .btn a {
                width: 90%; } }
    #sub #page .home-care #service-guide .two-cols {
      row-gap: 40px; }
      @media (min-width: 768px) {
        #sub #page .home-care #service-guide .two-cols {
          grid-template-columns: 1fr; } }
      @media (min-width: 1025px) {
        #sub #page .home-care #service-guide .two-cols {
          grid-template-columns: 1.5fr 1fr; } }
      @media (min-width: 1280px) {
        #sub #page .home-care #service-guide .two-cols {
          grid-template-columns: 1.3fr 1fr; } }
      #sub #page .home-care #service-guide .two-cols .wp-block-group {
        padding: 0; }
        #sub #page .home-care #service-guide .two-cols .wp-block-group:not(:last-of-type) {
          margin-bottom: clamp(50px, 6vw, 75px); }
      @media (min-width: 600px) and (max-width: 1024px) {
        #sub #page .home-care #service-guide .two-cols .wp-block-image img {
          display: block;
          margin-left: auto;
          width: min(80%, 600px); } }
      @media (min-width: 768px) {
        #sub #page .home-care #service-guide .two-cols .wp-block-image img {
          height: 100%; } }
      @media (min-width: 1025px) {
        #sub #page .home-care #service-guide .two-cols .wp-block-image img {
          height: 60%; } }
      @media (min-width: 1280px) {
        #sub #page .home-care #service-guide .two-cols .wp-block-image img {
          height: min(80%, 600px); } }
    #sub #page .home-care #service-guide .em {
      font-size: inherit; }
    @media (min-width: 600px) {
      #sub #page .home-care #services .inner:first-of-type .circle-li {
        grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1025px) {
      #sub #page .home-care #services .inner:first-of-type .circle-li {
        grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 1440px) {
      #sub #page .home-care #services .inner:first-of-type .circle-li {
        grid-template-columns: repeat(4, 1fr); } }
    @media (min-width: 600px) {
      #sub #page .home-care #services .inner:last-of-type .circle-li {
        grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 1025px) {
      #sub #page .home-care #services .inner:last-of-type .circle-li {
        grid-template-columns: repeat(4, 1fr); } }
    @media (min-width: 1280px) {
      #sub #page .home-care #services .inner:last-of-type .circle-li {
        grid-template-columns: repeat(5, 1fr); } }
    @media (min-width: 1440px) {
      #sub #page .home-care #services .inner:last-of-type .circle-li {
        grid-template-columns: repeat(6, 1fr); } }
    #sub #page .home-care #services .inner .circle-li {
      display: grid;
      gap: clamp(15px, 2vw, 23px) 0;
      margin-top: 40px; }
      #sub #page .home-care #services .inner .circle-li li {
        margin: 0; }
    #sub #page .home-care #fee {
    /* 料金変換表の場合
    --------------------------------------------
    .care-fee-table-wrap {
        overflow-x: auto;

        .care-fee-table {
            border-collapse: collapse;
            font-size: 14px;
            min-width: 760px;
            text-align: center;
            width: 100%;

            th,
            td {
                background: #fff;
                border: 1px solid $d_gry;
                line-height: 1.4;
                padding: 4px 6px;
            }

            thead {
                th {
                    background: #e8eff1;
                    font-weight: 700;
                }

                .th-section,
                .th-time,
                .th-unit {
                    min-width: 100px;
                }

                .th-main {
                    min-width: 115px;

                    @media (min-width: 1280px) {
                        min-width: 110px;
                    }

                    .note {
                        display: inline-block;
                        font-size: 11px;
                    }
                }

                .blue {
                    color: #173363;
                }

                .red {
                    color: $red;
                }
            }

            tbody {
                tr {
                    &:nth-child(3n+1) {
                        td {
                            background: $yellow;
                        }

                        .row-title {
                            background: #fff;
                        }
                    }

                    .row-title {
                        background: #fff;
                        font-weight: 700;
                        white-space: nowrap;

                        .small {
                            display: block;
                            font-size: 13px;
                        }
                    }

                    .col-bold {
                        font-weight: 700;
                    }
                }
            }
        }

        .addition-fee {
            tbody {
                tr {
                    &:nth-child(3n+1) {

                        td,
                        .row-title {
                            background: #fff;
                        }
                    }

                    &:nth-of-type(odd) {

                        td,
                        .row-title {
                            background: $yellow;
                        }
                    }
                }
            }
        }
    }
    
    .percent-table {
        margin-top: clamp(40px, 5vw, 60px);

        thead {
            border: none;

            td {
                background: #e8eff1;
                font-weight: 500;
                text-align: center;
            }
        }

        tbody {
            tr {

                &:nth-of-type(2),
                &:nth-of-type(8) {
                    background: $yellow;
                }

                td {
                    border: 1px solid $d_gry;
                }
            }
        }
    }
    -------------------------------------------*/ }
      #sub #page .home-care #fee .bg-btn {
        margin-bottom: clamp(50px, 6vw, 75px); }
      @media (min-width: 768px) {
        #sub #page .home-care #fee .em br {
          display: none; } }
      #sub #page .home-care #fee .em span {
        display: inline-block; }
      #sub #page .home-care #fee .fee-table-wrap {
        overflow-x: auto; }
        @media (min-width: 1280px) {
          #sub #page .home-care #fee .fee-table-wrap {
            margin: auto;
            width: 95%; } }
        #sub #page .home-care #fee .fee-table-wrap .fee-table {
          border-collapse: collapse;
          border-spacing: 0;
          color: #1a1917;
          font-size: clamp(15px, 1.5vw, 16px);
          line-height: 1.6;
          min-width: 750px;
          table-layout: fixed;
          width: 100%; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table thead th {
            background: #e8eff1;
            border: 1px solid #403f3e;
            font-weight: 700;
            padding: 14px 12px;
            text-align: center; }
            #sub #page .home-care #fee .fee-table-wrap .fee-table thead th:nth-of-type(2) {
              white-space: nowrap;
              width: 220px; }
            #sub #page .home-care #fee .fee-table-wrap .fee-table thead th span {
              display: block;
              font-size: 12px;
              font-weight: 400;
              margin-top: 2px;
              opacity: .9; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr:nth-of-type(4), #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr:nth-of-type(6) {
            border-bottom: 1.5px solid #807f7d; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr:nth-of-type(7) td {
            text-align: right; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr:nth-of-type(n+7) th,
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr:nth-of-type(n+7) td:last-of-type {
            background: #f7efd2; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr:nth-of-type(n+8) td:first-of-type {
            text-align: center; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr th,
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr td {
            background: #fff;
            border: 1px solid #807f7d;
            padding: 14px 12px;
            vertical-align: middle; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr th {
            background: #f7ede4;
            font-weight: 500;
            text-align: center;
            width: 16%;
            word-break: keep-all; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr td:first-of-type {
            white-space: nowrap; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr td:nth-of-type(n+2) {
            text-align: right; }
          #sub #page .home-care #fee .fee-table-wrap .fee-table tbody tr td:last-of-type {
            background: #f7ede4;
            font-weight: 500; }
    @media (max-width: 499px) {
      #sub #page .home-care #office .en-ttl {
        line-height: 1.2;
        margin-bottom: 20px; } }
    #sub #page .home-care #office .inner:first-of-type {
      margin: 0; }
    #sub #page .home-care #office .inner:not(:first-of-type) {
      margin-top: clamp(80px, 9vw, 110px); }
    #sub #page .home-care #office .wp-block-table {
      max-width: 100%;
      width: 600px; }
      #sub #page .home-care #office .wp-block-table table tr {
        border-bottom: 1px solid #807f7d; }
        #sub #page .home-care #office .wp-block-table table tr td {
          border: none;
          padding: 15px; }
          @media (max-width: 599px) {
            #sub #page .home-care #office .wp-block-table table tr td {
              display: block; }
              #sub #page .home-care #office .wp-block-table table tr td:first-of-type {
                padding-bottom: 0; } }
          #sub #page .home-care #office .wp-block-table table tr td:first-of-type {
            font-weight: 500; }
            @media (min-width: 600px) {
              #sub #page .home-care #office .wp-block-table table tr td:first-of-type {
                width: 30%; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      #sub #page .about .border-table table tr td:first-of-type {
        width: 35%; } }
    @media screen and (min-width: 1025px) {
      #sub #page .faq dl {
        margin: auto;
        max-width: 1000px;
        width: 90%; } }
    #sub #page .faq dl .faq-li:not(:last-of-type) {
      margin-bottom: clamp(15px, 2vw, 20px); }
    #sub #page .faq dl .faq-li input[type="checkbox"] {
      display: none; }
    #sub #page .faq dl .faq-li input[type="checkbox"]:checked ~ dt:before {
      transform: rotate(135deg); }
    #sub #page .faq dl .faq-li input[type="checkbox"]:checked ~ dt:after {
      transform: rotate(45deg); }
    #sub #page .faq dl .faq-li input[type="checkbox"]:checked ~ dd {
      height: auto;
      opacity: 1;
      padding-top: 25px !important;
      padding-bottom: 25px !important;
      visibility: visible; }
    #sub #page .faq dl .faq-li dt label,
    #sub #page .faq dl .faq-li dd {
      display: block; }
      #sub #page .faq dl .faq-li dt label:before,
      #sub #page .faq dl .faq-li dd:before {
        align-items: center;
        display: flex;
        font-family: "Ubuntu", sans-serif;
        font-size: clamp(23px, 3vw, 30px);
        justify-content: center;
        left: 0;
        position: absolute;
        width: clamp(30px, 6vw, 80px); }
    #sub #page .faq dl .faq-li dt {
      border-bottom: 1px solid #cccbc8;
      cursor: pointer;
      position: relative; }
      #sub #page .faq dl .faq-li dt:before, #sub #page .faq dl .faq-li dt:after {
        background: #403f3e;
        content: '';
        height: 1.5px;
        position: absolute;
        right: clamp(18px, 4vw, 50px);
        top: 50%;
        transition: transform .2s;
        width: clamp(13px, 2vw, 15px); }
      #sub #page .faq dl .faq-li dt:before {
        transform: rotate(90deg); }
      #sub #page .faq dl .faq-li dt label {
        cursor: pointer; }
        #sub #page .faq dl .faq-li dt label:before {
          color: #ce592a;
          content: 'Q';
          top: 8px; }
        #sub #page .faq dl .faq-li dt label span {
          display: block;
          padding: clamp(15px, 2vw, 25px) 0 clamp(15px, 2vw, 25px) clamp(40px, 6vw, 80px);
          width: calc(100% - clamp(50px, 8vw, 100px)); }
    #sub #page .faq dl .faq-li dd {
      height: 0;
      margin: 0;
      opacity: 0;
      padding: 0 clamp(15px, 2vw, 25px) 0 clamp(45px, 6.5vw, 85px);
      position: relative;
      transition: .3s;
      visibility: hidden; }
      #sub #page .faq dl .faq-li dd:before {
        color: #f39800;
        content: 'A';
        line-height: 1;
        top: 28px; }
    @media (min-width: 600px) {
      #sub #page .contact .txt {
        text-align: center; } }
    #sub #page .contact .wp-block-group {
      padding: 0; }
    #sub #page .contact .faq {
      margin-bottom: clamp(65px, 8vw, 90px); }
      #sub #page .contact .faq .bg-btn {
        margin: clamp(35px, 4vw, 50px) auto 0; }
    #sub #page .contact .tel-area {
      margin-bottom: clamp(80px, 10vw, 120px); }
      #sub #page .contact .tel-area .txt {
        margin-bottom: clamp(20px, 3vw, 30px); }
      #sub #page .contact .tel-area .tel a {
        color: #f39800;
        display: block;
        font-size: clamp(30px, 3vw, 40px);
        margin: auto;
        padding-left: clamp(60px, 7vw, 75px);
        position: relative;
        width: fit-content; }
        #sub #page .contact .tel-area .tel a:before, #sub #page .contact .tel-area .tel a:after {
          content: '';
          position: absolute;
          top: 50%;
          transform: translateY(-50%); }
        #sub #page .contact .tel-area .tel a:before {
          background: rgba(243, 152, 0, 0.8);
          border-radius: 50%;
          left: 0;
          height: clamp(50px, 5vw, 60px);
          width: clamp(50px, 5vw, 60px); }
        #sub #page .contact .tel-area .tel a:after {
          background: #fff;
          height: clamp(24px, 2.4vw, 27px);
          left: clamp(14px, 1.4vw, 16px);
          width: clamp(22px, 2.3vw, 27px);
          mask-image: url(img/common/tel-fil.svg) no-repeat center/cover;
          -webkit-mask: url(img/common/tel-fill.svg) no-repeat center/cover; }
    @media (min-width: 768px) {
      #sub #page .contact .form {
        margin: auto;
        width: min(95%, 1000px); } }
    #sub #page .contact .form h2 {
      font-size: clamp(23px, 3vw, 27px);
      font-weight: 500; }
    #sub #page .contact .form .wpcf7 {
      max-width: 100%;
      padding: clamp(40px, 6vw, 60px) 0;
      position: relative;
      width: 100%; }
      @media (min-width: 1025px) {
        #sub #page .contact .form .wpcf7 {
          padding: clamp(45px, 5vw, 60px) clamp(70px, 7vw, 90px); } }
      #sub #page .contact .form .wpcf7:after {
        background: #f7f6f2;
        content: '';
        height: 100%;
        left: calc(50% - 50vw);
        opacity: .7;
        position: absolute;
        top: 0;
        width: 100vw;
        z-index: -1; }
        @media (min-width: 1025px) {
          #sub #page .contact .form .wpcf7:after {
            border-radius: 7px;
            left: 0;
            width: 100%; } }
      #sub #page .contact .form .wpcf7 .request {
        font-size: clamp(16px, 2vw, 18px);
        font-weight: 500;
        margin-bottom: clamp(40px, 5vw, 50px); }
        #sub #page .contact .form .wpcf7 .request span {
          color: #bf2400; }
    #sub #page .policy h2 {
      border-bottom: 1px solid #807f7d;
      font-size: clamp(20px, 2vw, 23px);
      margin: 0 0 clamp(35px, 4vw, 45px);
      padding-bottom: 10px; }
    #sub #page .policy ol li:not(:last-of-type) {
      margin-bottom: 35px; }
    #sub #page .policy .parent-li li::marker {
      font-size: clamp(18px, 2vw, 20px); }
    #sub #page .policy .parent-li li:not(:last-of-type) {
      margin-bottom: 50px; }
    #sub #page .policy .parent-li li ul {
      counter-reset: counter;
      list-style: none;
      padding-left: 0; }
      #sub #page .policy .parent-li li ul li {
        padding-left: clamp(32px, 3vw, 40px);
        position: relative; }
        #sub #page .policy .parent-li li ul li:not(:last-of-type) {
          margin-bottom: 25px; }
        #sub #page .policy .parent-li li ul li:before {
          color: #1a1917;
          content: counter(counter) " ) ";
          counter-increment: counter;
          left: 0;
          line-height: 1.5;
          position: absolute;
          top: 0;
          font-size: clamp(18px, 1.8vw, 20px); }
        #sub #page .policy .parent-li li ul li .disc {
          list-style: disc;
          margin-top: 20px; }
          #sub #page .policy .parent-li li ul li .disc li {
            padding: 0; }
            #sub #page .policy .parent-li li ul li .disc li:before {
              display: none; }
            #sub #page .policy .parent-li li ul li .disc li:not(:last-of-type) {
              margin-bottom: 12px; }
    #sub #page .policy .cta-add {
      background: #f7f6f2;
      border-radius: 5px;
      margin-top: clamp(30px, 4vw, 40px);
      padding: clamp(15px, 2vw, 20px) clamp(30px, 4vw, 40px); }
      #sub #page .policy .cta-add .tel span,
      #sub #page .policy .cta-add .mail span {
        font-size: clamp(17px, 2vw, 19px); }
        @media (max-width: 499px) {
          #sub #page .policy .cta-add .tel span,
          #sub #page .policy .cta-add .mail span {
            display: block; } }
      #sub #page .policy .cta-add .tel {
        margin: 30px 0 5px; }
        @media (max-width: 499px) {
          #sub #page .policy .cta-add .tel {
            margin-bottom: 15px; } }
      #sub #page .policy .cta-add .mail {
        margin-top: 0; }
    #sub #page .policy .btn {
      margin-top: clamp(40px, 5vw, 50px); }
      #sub #page .policy .btn a {
        font-weight: 500; }
  #sub #single {
    max-width: 1100px;
    /* Heading
    -----------------------------------------------------------*/
    /* Block
    -----------------------------------------------------------*/
    /* Group
    -----------------------------------------------------------*/
    /* Columns
    -----------------------------------------------------------*/
    /* Media Text
    -----------------------------------------------------------*/
    /* Image
    -----------------------------------------------------------*/
    /* Button
    -----------------------------------------------------------*/
    /* Table
    -----------------------------------------------------------*/ }
    #sub #single article {
      border-bottom: 1px solid #cccbc8;
      padding-bottom: clamp(40px, 6vw, 70px); }
      #sub #single article .news-meta {
        text-align: right; }
        #sub #single article .news-meta time {
          color: #807f7d;
          display: block;
          margin-bottom: 10px; }
        #sub #single article .news-meta .cat {
          border-bottom: 1px solid #f39800;
          display: inline-block;
          padding: 2px 5px; }
      #sub #single article .article-ttl {
        border-bottom: 1px solid #cccbc8;
        font-weight: 500;
        margin: clamp(50px, 8vw, 90px) 0;
        padding-bottom: clamp(40px, 6vw, 70px); }
      @media (min-width: 768px) {
        #sub #single article .cont {
          margin: auto;
          width: 95%; } }
    #sub #single .bg-btn {
      margin: clamp(65px, 8vw, 120px) 0 0 auto; }
    #sub #single h2 {
      margin: clamp(65px, 7vw, 80px) 0 25px; }
    #sub #single h3,
    #sub #single h4,
    #sub #single h5,
    #sub #single h6 {
      font-weight: 500; }
    #sub #single h3 {
      border-bottom: 3px solid #ce592a;
      color: #403f3e;
      display: inline-block;
      margin: clamp(35px, 4vw, 55px) 0 12px; }
    #sub #single h4 {
      color: #403f3e;
      margin: clamp(45px, 5vw, 60px) 0 25px; }
    #sub #single h5,
    #sub #single h6 {
      margin: 45px 0 20px; }
    #sub #single .has-background {
      padding: clamp(20px, 2vw, 25px); }
    #sub #single p.has-background {
      margin: 40px 0; }
    #sub #single p a {
      font-weight: 500;
      text-decoration-line: underline;
      text-decoration-color: #bf2400;
      text-decoration-thickness: 2px;
      text-underline-offset: 3px; }
    #sub #single ul.has-background,
    #sub #single ol.has-background {
      padding: clamp(20px, 2vw, 25px) clamp(40px, 5vw, 55px); }
    #sub #single .wp-block-group {
      margin: clamp(65px, 7vw, 80px) 0; }
      #sub #single .wp-block-group .wp-block-gallery,
      #sub #single .wp-block-group .wp-block-columns {
        margin: clamp(20px, 4vw, 40px) 0; }
    #sub #single .wp-block-columns {
      margin: clamp(40px, 6vw, 60px) 0; }
      #sub #single .wp-block-columns .wp-block-image {
        margin: 0; }
    #sub #single .wp-block-media-text {
      margin: clamp(15px, 3vw, 30px) 0; }
      @media screen and (max-width: 600px) {
        #sub #single .wp-block-media-text .wp-block-media-text__content {
          padding: 0 20px; }
          #sub #single .wp-block-media-text .wp-block-media-text__content p {
            margin-top: 12px; } }
      #sub #single .wp-block-media-text .wp-block-media-text__media img {
        border-radius: 5px; }
      #sub #single .wp-block-media-text .has-normal-font-size {
        font-size: clamp(15px, 2vw, 17px); }
    #sub #single .wp-block-image {
      margin: clamp(25px, 4vw, 45px) 0; }
      #sub #single .wp-block-image figure {
        margin: 0; }
      #sub #single .wp-block-image figcaption {
        font-size: clamp(17px, 2vw, 18px); }
    #sub #single .wp-block-gallery {
      margin: clamp(60px, 7vw, 75px) 0; }
      #sub #single .wp-block-gallery .wp-block-image {
        margin: 0; }
        #sub #single .wp-block-gallery .wp-block-image figcaption {
          font-size: clamp(15px, 2vw, 17px) !important;
          font-weight: 500;
          padding: clamp(10px, 1vw, 15px) !important;
          text-shadow: 1px 1px 2px #1a1917; }
    #sub #single .wp-block-buttons {
      gap: 25px;
      justify-content: center;
      margin: clamp(40px, 5vw, 60px) 0; }
      #sub #single .wp-block-buttons .wp-block-button {
        width: min(90%, 350px); }
        #sub #single .wp-block-buttons .wp-block-button .wp-block-button__link {
          background: #fff;
          border: 2px solid #f39800;
          border-radius: 3px !important;
          color: #1a1917;
          display: block;
          font-size: clamp(16px, 2vw, 17px);
          margin: auto;
          padding: clamp(15px, 2vw, 18px); }
          #sub #single .wp-block-buttons .wp-block-button .wp-block-button__link:hover {
            background: #f39800;
            color: #fff !important;
            opacity: 1; }
        #sub #single .wp-block-buttons .wp-block-button .has-background {
          border: none;
          padding: clamp(16px, 2vw, 20px); }
        #sub #single .wp-block-buttons .wp-block-button .wp-block-button.has-custom-font-size .wp-block-button__link {
          font-size: inherit; }
    #sub #single .wp-block-table {
      margin: clamp(40px, 5vw, 65px) 0; }
      #sub #single .wp-block-table table {
        border-collapse: collapse; }
        #sub #single .wp-block-table table td {
          padding: 15px;
          word-break: break-word; }
    #sub #single .is-style-regular table td {
      border: 1px solid #807f7d; }
    #sub #single .is-style-stripes table tr:nth-of-type(odd) {
      background: #f7f6f2; }
  #sub .not-found h1 {
    margin-bottom: 60px;
    text-align: center; }
  #sub .not-found .btn a {
    font-weight: 500; }

/*------------------------------------------------------------------------------ 
  Breadcrumbs
------------------------------------------------------------------------------*/
.breadcrumbs {
  padding: 10px 15px; }
  .breadcrumbs li {
    display: inline-block;
    font-size: 14px; }
    .breadcrumbs li:not(:last-of-type) {
      padding-right: 20px;
      position: relative; }
      .breadcrumbs li:not(:last-of-type):after {
        color: #807f7d;
        content: ' - ';
        position: absolute;
        right: 6px;
        top: 50%;
        transform: translateY(-50%); }
    .breadcrumbs li:last-of-type {
      color: #f39800; }

/*------------------------------------------------------------------------------ 
  Footer
------------------------------------------------------------------------------*/
#foot-cta_area {
  background: url(img/footer/foot-cta.jpg) no-repeat 50% 70%/cover;
  padding: clamp(45px, 6vw, 90px) 0 clamp(90px, 10vw, 120px);
  position: relative;
  z-index: 1; }
  #foot-cta_area:before {
    background: rgba(26, 25, 23, 0.5);
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1; }
  @media (min-width: 768px) {
    #foot-cta_area .container {
      max-width: 850px; } }
  #foot-cta_area .container .cta-txt {
    align-items: flex-end;
    margin-bottom: clamp(25px, 3vw, 40px); }
    #foot-cta_area .container .cta-txt h2,
    #foot-cta_area .container .cta-txt p {
      color: #fff; }
    @media (max-width: 400px) {
      #foot-cta_area .container .cta-txt p .br {
        display: none; } }
    #foot-cta_area .container .cta-txt h2 {
      font-weight: 500; }
  #foot-cta_area .container .cta-btn_area {
    gap: 20px clamp(20px, 3vw, 40px); }
    @media (min-width: 768px) {
      #foot-cta_area .container .cta-btn_area {
        grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 768px) {
      #foot-cta_area .container .cta-btn_area .btn a {
        max-width: 100%; } }

footer {
  background: #f7f6f2; }
  @media (max-width: 767px) {
    footer {
      padding-bottom: 51px; } }
  footer .foot-cta .tel a span,
  footer .foot-cta .mail a span {
    padding-left: 50px; }
    footer .foot-cta .tel a span:before,
    footer .foot-cta .mail a span:before {
      border: 1px solid #1a1917;
      border-radius: 50%;
      content: '';
      left: -8px;
      left: 0;
      height: 40px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 40px; }
    footer .foot-cta .tel a span:after,
    footer .foot-cta .mail a span:after {
      background: #403f3e;
      left: 10px; }
  footer .foot-cta .tel a span:after {
    height: 20px;
    width: 20px; }
  footer .foot-cta .mail a {
    background: none;
    color: #1a1917;
    font-weight: 500; }
    footer .foot-cta .mail a span:after {
      height: 20px;
      width: 20px; }
  footer #foot-top {
    border-bottom: 1px solid #cccbc8;
    margin-bottom: clamp(20px, 3vw, 40px);
    padding: clamp(35px, 5vw, 55px) 0 35px;
    position: relative; }
    footer #foot-top .logo img {
      width: clamp(180px, 22vw, 250px); }
    footer #foot-top #goTop a {
      background: #f39800;
      border-radius: 50%;
      bottom: 15px;
      display: block;
      height: 60px;
      overflow: hidden;
      position: absolute;
      right: 0;
      width: 60px; }
      @media (min-width: 768px) {
        footer #foot-top #goTop a {
          height: 70px;
          width: 70px; } }
      footer #foot-top #goTop a:hover {
        opacity: 1;
        transform: translateY(-3px); }
      footer #foot-top #goTop a span {
        bottom: 14px;
        color: #fff;
        font-size: 11px;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        width: max-content;
        z-index: 1; }
        @media (min-width: 768px) {
          footer #foot-top #goTop a span {
            font-size: 13px; } }
        footer #foot-top #goTop a span:before {
          background: #fff;
          content: '';
          left: 50%;
          height: 16px;
          position: absolute;
          top: -16px;
          transform: translateX(-50%) rotate(-90deg);
          width: 16px;
          mask-image: url(img/common/arrow.svg) no-repeat center/cover;
          -webkit-mask: url(img/common/arrow.svg) no-repeat center/cover; }
          @media (min-width: 768px) {
            footer #foot-top #goTop a span:before {
              height: 19px;
              top: -21px;
              width: 19px; } }
  footer #foot-cont {
    display: grid;
    gap: 30px clamp(100px, 10vw, 120px); }
    @media (min-width: 768px) {
      footer #foot-cont {
        grid-template-columns: 1fr 2fr;
        margin-bottom: clamp(30px, 4.5vw, 60px); } }
    @media (min-width: 1025px) {
      footer #foot-cont {
        grid-template-columns: 1fr 1.7fr; } }
    footer #foot-cont .left .address {
      margin-bottom: 25px; }
    footer #foot-cont .left .foot-cta .tel a,
    footer #foot-cont .left .foot-cta .mail a {
      color: #403f3e; }
      footer #foot-cont .left .foot-cta .tel a span:before,
      footer #foot-cont .left .foot-cta .mail a span:before {
        background: #fff; }
    footer #foot-cont .left .foot-cta .tel {
      margin-bottom: 20px; }
    footer #foot-cont .left .foot-cta .mail a {
      font-size: 17px; }
    footer #foot-cont .right .foot-nav {
      display: grid;
      gap: 15px 20px;
      grid-template-columns: repeat(3, 1fr); }
      @media (min-width: 1440px) {
        footer #foot-cont .right .foot-nav {
          grid-template-columns: repeat(4, 1fr); } }
      footer #foot-cont .right .foot-nav li a {
        display: block;
        font-size: 16px;
        padding: 5px 10px 5px 18px;
        position: relative; }
        footer #foot-cont .right .foot-nav li a:hover {
          color: #f39800;
          opacity: 1; }
        footer #foot-cont .right .foot-nav li a:before {
          background: #f39800;
          border-radius: 50%;
          left: 0;
          content: '';
          height: 10px;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          transition: .3s;
          width: 10px; }
  footer #foot-bottom {
    font-size: clamp(14px, 2vw, 15px); }
    @media (min-width: 1025px) {
      footer #foot-bottom {
        flex-direction: row-reverse;
        padding: 30px 0; } }
    @media (max-width: 1024px) {
      footer #foot-bottom .policy {
        padding: 10px 20px;
        text-align: right; } }
    @media (max-width: 1024px) {
      footer #foot-bottom .copyright {
        border-top: 1px solid #cccbc8;
        padding: 10px 0;
        text-align: center; } }
  footer #sp-foot {
    background: rgba(243, 152, 0, 0.6);
    bottom: 0;
    left: 0;
    position: fixed;
    width: 100%;
    z-index: 100; }
    @media (min-width: 768px) {
      footer #sp-foot {
        display: none; } }
    footer #sp-foot .foot-cta {
      align-items: center;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      padding: 10px 0;
      position: relative; }
      footer #sp-foot .foot-cta:after {
        background: #fff;
        content: '';
        height: 70%;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 1px; }
      footer #sp-foot .foot-cta .tel,
      footer #sp-foot .foot-cta .mail {
        text-align: center; }
        footer #sp-foot .foot-cta .tel a,
        footer #sp-foot .foot-cta .mail a {
          color: #fff; }
          footer #sp-foot .foot-cta .tel a span,
          footer #sp-foot .foot-cta .mail a span {
            padding-left: 43px; }
            footer #sp-foot .foot-cta .tel a span:before,
            footer #sp-foot .foot-cta .mail a span:before {
              background: #fff;
              border: none;
              height: 35px;
              width: 35px; }
            footer #sp-foot .foot-cta .tel a span:after,
            footer #sp-foot .foot-cta .mail a span:after {
              background: #f39800;
              left: 8px;
              height: 19px;
              width: 19px; }
      footer #sp-foot .foot-cta .tel a {
        font-size: 17px; }
      footer #sp-foot .foot-cta .mail a {
        font-size: 14px; }

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