@charset "UTF-8";
/* CSS Document */

 * {
	 margin: 0;
     padding: 0;
     box-sizing: border-box;
}
:root {
	--primary-color: #FFC107;
	--secondary-color: #53b2a7;
	--tertiary-color:#e9e4d9;
	--fourth-color: #4CAF50;
	--btn-color:#ff8020;
	--body-color:#f1eee7;
	--text-color:#684d3c;/*7c6351*/
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: #c84434;
  }
}
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: "Zen Maru Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    color: var(--text-color);
    line-height: 1.7;
	background-color: var(--body-color);
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.07em;
	font-size:1.15rem;
}
body.home {
	background: url("../images/common/bg-object-01.png") no-repeat 100% 0/20% auto,url("../images/common/bg-object-02.png") no-repeat 0 20%/12% auto;
	background-color: var(--body-color);
}

        /* Header */
        header {
            padding: 30px 5%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: sticky;
            top: 0;
            z-index: 1000;
        }

main {
	padding:0 0 300px 0;
}

article {
	padding: 80px 5%;
	scroll-margin-top: 80px;
}

section {
	max-width: 1100px;
	margin: 0 auto 100px;
}
section:last-of-type{
	margin-bottom: 0;
}

img {
	width: 100%;
	height: auto;
	vertical-align:top;
	display: block;
}


ul {
	list-style: none;
}
        .site-logo {
			background: url("../images/common/logo.png") no-repeat 0 0/contain;
			text-indent: 100%;
			white-space: nowrap;
			overflow: hidden;
			width: 140px;
			height: 80px;
			display: block;
}

a {
	color: var(--text-color);
	transition: all 0.3s
}

rt {
	color: var(--primary-color);
	margin-bottom: 6px
}

/* h2：セクション見出し */

h2 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

/* h3：小見出し */
.font-large,
h3 {
  font-size: clamp(1.4rem, 2.2vw, 1.75rem); /* 22.4px〜28px */
  line-height: 1.4;
  font-weight: 700;
}

/* h4：補助見出し */
.font-middle,
h4 {
  font-size: clamp(1.15rem, 1.6vw, 1.4rem); /* 18.4px〜22.4px */
  line-height: 1.5;
  font-weight: 600;
}

h5 {
  font-size: clamp(1rem, 1.2vw, 1.15rem); /* 16px〜18.4px */
  line-height: 1.6;
  font-weight: 600;
}

.headline {
	border-bottom: dotted 2px var(--secondary-color);
	color: var(--secondary-color);
	display: inline-block;
	margin-bottom: 1em;
	padding-bottom: 5px
}

.align-center {
	text-align: center;
}

.btn-return {
	position: fixed;
	bottom: 30px;
	right: 20px;
	height: 80px;
	width: 80px;
	display: block;
	text-decoration: none;
	color: #fff;
	background: url("../images/common/arrow-up.png") no-repeat 0 100%/100% auto;
	z-index: 10;
}

.btn-line {
	display: inline-block;
	border: solid 1px #333;
	border-radius: 50px;
	text-align: center;
	padding: 5px 10px;
	text-decoration: none
}
.btn-line:hover {
	background: #fff;
}

.column {
	width: 80%;
	margin: 0 auto
}

.column-wide {
	width: 100%;
	margin-bottom: 100px;
}
.column-wide-inner {
	padding: 5%;
	background: #f8f6ef;
}

#round-top,
#round-bottom{
	fill: #f8f6ef;
	margin: 0!important;
}
#round-top{
	vertical-align: bottom!important
}
#round-bottom {
	transform: rotate(180deg);
	vertical-align: top!important
}
.block {
	background: #fff;
	border-radius: 20px;
	padding: 60px;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

.spot-color-1 {
	color: #f00
}
.spot-color-2 {
	color: var(--secondary-color)
}
.spot-color-3 {
	color: var(--primary-color)
}

.list-disc {
	list-style-type: disc;
	list-style-position: inside;
	text-indent: -1.2em;
	padding-left: 1em;
}
.list-type-1 li {
	background: #fff;
	padding: 10px 14px;
	font-size: 1.1rem;
	border-radius: 50px;
	margin-bottom: 12px;
	list-style-position: inside;
}

.avatar {
	width: 120px;
    height: 120px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 35px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	background: #ede5b1;
	overflow: hidden;
}

.list-type-01 {
	padding-left: 30px;
}
.list-type-01 li {
	position: relative;
	margin-bottom: 12px;
}
.list-type-01 li:last-of-type{
	margin: 0
}
.list-type-01 li::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	position: absolute;
	top: 6px;
	left: -30px;
	background: var(--primary-color)
}

/*
吹き出し
*/
.balloon-right {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 22px;
	margin:0 auto 50px;
	max-width: 800px;
}

.balloon-right p {
    position: relative;
	flex: 1;
    margin: 3px 0 0;
    padding: 1.4em 1.2em;
    border-radius: 5px;
    background-color: #fff;
    color: #333;
}

.balloon-right p::before {
    position: absolute;
    left: -15px;
	top: 50%;
	transform: translateY(-50%);
    width: 15px;
    height: 20px;
    background-color: #fff;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    content: '';
}

.balloon-left {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 22px;
	margin:0 auto 50px;
	max-width: 800px;
}

.balloon-left p {
    position: relative;
	flex: 1;
    margin: 3px 0 0;
    padding: 1.4em 1.2em;
    border-radius: 5px;
    background-color: #fff;
    color: #333;
}

.balloon-left p::before {
    position: absolute;
    right: -15px;
	top: 50%;
	transform: translateY(-50%);
    width: 15px;
    height: 20px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    content: '';
}

.fukidashi-01 {
      position: relative;
      width: fit-content;
      padding: 1em 2em;
      border: 2px solid #333;
      border-radius: 4px;
	font-size: clamp(1.15rem, 1.6vw, 1.4rem); /* 18.4px〜22.4px */
  font-weight: 600;
	margin:0 auto 30px;
}
.fukidashi-01::before {
        content: "";
        position: absolute;
        bottom: -5px;
        left: 50%;
        width: 15px;
        height: 15px;
        box-sizing: border-box;
        background-color: var(--body-color); /* 背景色と同じ色を指定 */
        rotate: 135deg;
        translate: -50% 0;
      }

      .fukidashi-01::after {
        content: "";
        position: absolute;
        bottom: -8px;
        left: 50%;
        width: 15px;
        height: 15px;
        box-sizing: border-box;
        border: 2px solid;
        border-color: #333333 #333333 transparent transparent;
        rotate: 135deg;
        translate: -50% 0;
      }

.midashi-1 {
	margin-top: 50px;
	background: url("../images/common/waku-1l.svg") no-repeat 5% 50%/60px auto,url("../images/common/waku-1r.svg") no-repeat 95% 50%/60px auto;
}


.sp {
	display: none!important
}

@media (max-width: 768px){
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	.midashi-1 {
		background: url("../images/common/waku-1l.svg") no-repeat 0 50%/40px auto,url("../images/common/waku-1r.svg") no-repeat 100% 50%/40px auto;
		padding: 0 60px;
		margin-bottom: 0;
	}
}


/*
グローバルメニュー
*/

header {
	padding: 48px 5% 0 5%;
}
.home header {
	margin-bottom: 50px;
}
.header-container {
	display: flex;
    align-items: center;
    justify-content: space-between;
	width: 100%;
	column-gap: 30px;
}
    .logo {
		z-index: 1000;
    }

   nav {
	   display: flex;
	   justify-content: flex-end;
	   column-gap: 30px;
    }

    .nav-list {
      display: flex;
      list-style: none;
      gap: 0;
      background: #fff;
      border-radius: 50px;
      align-items: center;
		justify-content: space-around;
    }

    .nav-item {
      position: relative;
    }

    .nav-item > a {
      display: block;
      padding: 10px 25px;
      text-decoration: none;
      color: var(--text-color);
      white-space: nowrap;
      transition: color 0.3s;
    }

    .nav-item > a:hover {
      color: var(--btn-color);
    }

    .dropdown {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      min-width: 160px;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s, visibility 0.3s;
      margin-top: 10px;
      z-index: 100;
    }

    .nav-item:hover .dropdown {
      opacity: 1;
      visibility: visible;
    }

    .dropdown li {
      list-style: none;
    }

    .dropdown a {
      display: block;
      padding: 12px 20px;
      text-decoration: none;
      font-size: 14px;
      transition: background 0.3s;
    }

    .dropdown a:hover {
      background: #f5f5f5;
      color: var(--btn-color);
    }

    .dropdown li:first-child a {
      border-radius: 10px 10px 0 0;
    }

    .dropdown li:last-child a {
      border-radius: 0 0 10px 10px;
    }

.dropdown a{
	white-space: nowrap
}

    .header-actions {
      display: flex;
      column-gap: 14px;
      align-items: center;
		position: absolute;
		top: 0;
		right: 5%;
    }

    .action-btn {
      display: flex;
      align-items: center;
      gap: 8px;
      text-decoration: none;
      color: #333;
      transition: color 0.3s;
    }

    .action-btn:hover {
      color: var(--primary-color);
    }

    .hamburger {
      display: none;
		border: none;
		background: none;
		  width: 60px;
		  height: 60px;
		  position: absolute;
		  right: 0;
		  top: 0;
		  z-index: 20;
    }

    .hamburger span {
      position: absolute;
    left: 15px;
    background: #333;
    display: inline-block;
    width: 30px;
    height: 2px;
      transition: all 0.3s;
    }

    .hamburger span:nth-child(1) {
      top: 20px; }
    .hamburger span:nth-child(2) {
      top: 30px; }
    .hamburger span:nth-child(3) {
      top: 40px; }
    .hamburger.active span:nth-child(1) {
    rotate: -45deg;
    top: 30px; }
    .hamburger.active span:nth-child(2) {
    opacity: 0; }
    .hamburger.active span:nth-child(3) {
    rotate: 45deg;
    top: 30px; }

 .btn-faq {
            color: #333;
            padding: 7px 20px 10px 50px!important;
            border-radius: 0 0 25px 25px;
			background: #fff url("../images/common/icon-faq.png") no-repeat 20px 50%/20px auto;
        }
.btn-contact {
            color: #333;
            padding: 7px 20px 10px 55px!important;
            border-radius: 0 0 25px 25px;
	background: #fff url("../images/common/icon-mail.svg") no-repeat 15px 50%/30px auto;
        }

@media (max-width: 768px) {
	header {
		padding: 20px 5% 0;
	}
	.home header {
		margin-bottom: 0px;
	}
		
		.site-logo {
			width: 100px;
		}
      .header-container {
        flex-wrap: wrap;
      }

      .hamburger {
        display: flex;
        order: 2;
      }

      nav {
        order: 3;
        width: 100%;
        overflow: hidden;
          position: absolute;
		  top: 0;
		  left: 0;
		  right: 0;
		  height: 100vh;
		   display: flex;
           flex-direction: column;
		  background: #fff;
		  justify-content: flex-start;
		  padding-top: 140px;
		  transition: all 0.5s;
	opacity: 0;
	visibility: hidden;
      }

      nav.active {
		  opacity: 1;
	visibility: visible;
      }

      .nav-list {
        flex-direction: column;
        padding: 0 10px;
        gap: 0;
      }

      .nav-item {
        width: 100%;
      }

      .nav-item > a {
        padding: 15px 20px;
        border-bottom: 1px solid #eee;
      }

      .dropdown {
        position: static;
        transform: none;
        box-shadow: none;
        margin-top: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s;
        background: #f5f5f5;
        border-radius: 0;
      }

      .nav-item.active .dropdown {
        max-height: 500px;
        opacity: 1;
        visibility: visible;
      }

      .dropdown a {
        padding: 10px 30px;
		  font-size: 1rem;
      }
		.header-actions {
			display: block;
			position: static
		}
		 .btn-faq,
		.btn-contact {
			border-radius: 0;
			background: none;
			padding: 15px 20px!important;
		}
    }/*  スマホここまで*/

.page-about .nav-about > a,
.page-features .nav-features > a,
.page-situation .nav-situation > a,
.page-medical .nav-medical > a,
.page-faq .nav-faq > a,
.page-contact .nav-contact > a {
	color: var(--btn-color);
}

.page-title {
	padding: 50px 5% 40px;
	text-align: center;
	position: relative;
	width: 90%;
	max-width: 1000px;
	margin: 50px auto 50px;
}
/*
.page-title::before{
	content: "・・・・・";
	font-size: 2rem;
	position: absolute;
	bottom: -22px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--primary-color);
}
*/

.section-title {
	padding-bottom: 60px;
	margin: 0 auto 50px;
	text-align: center;
	position: relative;
}
/*
.section-title::before{
	content: "・・・・・";
	font-size: 2rem;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	color: var(--primary-color);
}
*/
.section-inner {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}


/* Hero Section */
.hero {
	padding: 0 5%;
	position: relative;
}
.sticky {
	width: 55%;
	position: absolute;
	bottom: -35px;
	left: 4%;
}
.sticky .news-item {
	background: #fff url("../images/common/icon-light.png") no-repeat 15px 40%/40px auto;
	padding: 20px 10px 20px 70px;
}
.sticky .news-badge {
	white-space: nowrap
}
.hero-content {
            background: url("../images/home/mv.jpg") no-repeat 50% 50%/cover;
            padding: 60px 5%;
			position: relative;
			height: 60vh;
			border-radius: 20px;
        }
.hero-content {
            position: relative;
        }
.hero-text {
			position: absolute;
			writing-mode: vertical-rl;
            text-orientation: upright;
            line-height: 2;
        }
.hero-text p {
	display: inline-block;
	background: #fff;
	padding: 20px 10px;
	line-height: 1;
	margin: 10px;
	border-radius: 10px;
	font-weight: bold;
	font-size: 2rem
}
.hero-text p .ex {
	text-indent: -10px;
	display: inline-block
}
@media (min-width: 769px) {
	.hero-text {
			right: 20%;
			top: 20%;
        }
}
@media (max-width: 768px) {
	.page-title {
		margin: 50px auto 0;
	}
	.hero-text {
		right: 10%;
		top: 5%;
	}
	.hero-text p {
		font-size: 1.6rem;
	}
	.sticky {
		width: 90%;
		bottom: -35px;
		left: 5%;
	}
	.section-title{
		padding-bottom: 0;
	}
}



/* About Section */
#about {
	text-align: center;
    position: relative;
    overflow: hidden;
}
#about h2 {
	font-size: 2rem;
}
.about-content {
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
    position: relative;
    z-index: 1;
}
.about-logo {
	text-align: center;
}
.about-logo img {
	max-width: 240px;
	height: auto;
	margin: 0 auto 30px;
}
.about-illust-01{
	max-width: 1000px;
	margin: 60px auto 30px;
}
#about p {
	font-size: 1.25rem;
	line-height: 2;
}
.about-image {
	margin: 30px auto 60px;
	max-width: 600px;
}

/* Services Grid */
.services-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	max-width: 1200px;
	margin: 0 auto;
}
.service-card {
	background: #fff;
	padding: 60px;
	border-radius: 25px;
	position: relative;
	margin-bottom: 80px;
	width: 80%;
}
.service-card::after {
	content: "";
	position: absolute;
}
.service-card-01::after {
	background: url("../images/about/illust-07.webp") no-repeat 0 0/contain;
	width:50px;
	height: 130px;
}
.service-card-02::after {
	background: url("../images/features/illust-07.webp") no-repeat 0 0/contain;
	width: 100px;
	height: 140px;
}
.service-card-03::after {
	background: url("../images/features/illust-03.webp") no-repeat 0 0/contain;
	width: 100px;
	height: 150px;
}
.service-card-04::after {
	background: url("../images/medical/illust-04.webp") no-repeat 0 0/contain;
	width: 140px;
	height: 160px;
}
.service-card-05::after {
	background: url("../images/features/illust-02.webp") no-repeat 0 0/contain;
	width: 240px;
	height: 130px;
}
.arrow-btn {
	position: absolute;
	bottom: 0px;
    right: 20px;
    width: 60px;
    height: 60px;
}
.arrow-btn:hover {
	transform: translateX(4px);
}

@media (min-width: 769px) {
	.service-card:nth-child(even){
		transform: translateY(100px)
	}
	.service-card-01::after {
		top: -10%;
		right: 50px;
	}
	.service-card-02::after {
		top: -15%;
		right: 3%;
	}
	.service-card-03 {
		margin-left: 10%;
		padding-left: 120px;
	}
	.service-card-03::after {
		top: -10%;
		left: -4%;
	}
	.service-card-04 {
		padding-left: 120px;
	}
	.service-card-04::after {
		bottom: -34%;
		left: 30px;
	}
	.service-card-05 {
		padding: 50px 60px 70px;
	}
	.service-card-05::after {
		bottom: -30%;
		left: -5%;
	}
	.service-card-04 {
		margin-left: 10%
	}
	.service-card-05 {
		margin-left: 20%;
	}	
}
 @media (max-width: 768px) {
	 #services {
		padding-bottom: 0;
	}
	 .services-grid {
		 grid-template-columns: 1fr;
	 }
	 .service-card {
		 width: 100%;
		 padding: 60px 30px 70px;
	 }
	 .service-card-01::after {
		height: 120px;
		top: -8%;
		right: 50px;
	}
	 .service-card-02::after {
		 width: 90px;
		 height: 120px;
		 top: -10%;
		 right: 5%;
	 }
	 .service-card-03::after {
		 width: 100px;
		 height: 120px;
		 top: -10%;
		 right: 2%;
	 }
	.service-card-04::after {
		height: 130px;
		top: -10%;
		right: 2%;
	}
	.service-card-05::after {
		width: 180px;
		height: 110px;
		top: -10%;
		right: 2%;
	}
}

        /* Photos Section */

#photos {
	padding: 80px 0;
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
	padding-bottom: 50px;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
	gap:60px;
	padding-left: 60px;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 6);
	border-radius: 20px;
	overflow: hidden;
}
.scroll-infinity__item>img {
  width: 100%;
}

.scroll-infinity__item:nth-child(even){
	transform: translateY(50px)
}
@media (max-width: 768px) {
	#photos {
	padding: 40px 0;
}
	.scroll-infinity__list {
	gap:30px;
}
	.scroll-infinity__item {
  width: calc(100vw / 2);
}
}


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

News Section 

--------------------------------------------- */
#news h2 {
	font-size: 2rem;
}
#news .news-title {
	width: 20%;
	position: relative;
	text-decoration: none;
	/*
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	*/
}
#news .news-title p {
	position: absolute;
	left: 0;
	bottom: 0;
}
#news .btn {
	font-size: 0.9rem
}
.news-content {
	display: flex;
	position: relative;
}
.news-lists {
	flex: 1;
}
#news h2 {
	margin-bottom: 30px;
}
.news-item {
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	display: flex;
	gap: 20px;
	align-items: center;
}
.news-item:not(:last-of-type) {
	margin-bottom: 15px
}
.news-date {
	color: #666;
}
.news-badge {
	background: #FFC107;
	padding: 5px 15px;
	border-radius: 25px;
	color: #fff;
}
.news-badge.cat-event {
	background: var(--fourth-color);
}
#news .btn-newslists {
	position: absolute;
		left: 0;
		bottom: 0;
}
.post-title {
	text-decoration: none;
}
@media (max-width: 768px) {
	#news {
		padding-bottom: 0;
	}
	.news-content {
	display: block;
}
	.news-item {
		flex-wrap: wrap;
	}
	#news .news-title {
	width: 100%;
		display: block
}
	#news .btn-newslists {
	position: absolute;
		right: 0;
		bottom: -4em;
		text-align: right
}
	#news .post-title {
		display: block;
		width: 100%;
	}
}


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

Footer

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

footer {
	background: #5ebaaf;
	color: #fff;
	padding: 60px 5%;
	position: relative;
}
.map-link {
	text-align: right;
}
.map-link a {
	color: #fff;
	text-decoration: none;
	padding-left: 30px;
	background: url("../images/common/icon-pin.png") no-repeat 0 80%/18px auto;
}
.footer-image {
	position: absolute;
	left: 0;
	right: 0;
	top: 1px;
	transform: translateY(-100%);
}
.footer-content {
	display: flex;
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
}
.footer-logo {
	text-align: center;
	width: 20%;
}
 .footer-logo h3 {
	 width: 180px;
}
.footer-body {
	flex: 1
}
.footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.footer-links a {
	color: #fff;
	text-decoration: none;
}
.footer-add {
	font-size: 1.3rem;
}
.footer-tel {
	font-size: 1.6rem;
	border-bottom: solid 1px #fff;
	padding-bottom: 14px;
	margin-bottom: 14px;
}
.footer-tel a {
	font-weight: bold;
	color: #fff;
	text-decoration: none
}

        .footer-map {
            width: 100%;
            height: 300px;
            border-radius: 10px;
            margin: 20px 0;
			overflow: hidden
        }
.footer-map iframe {
	width: 100%;
	height: 100%;
	border: none
}


.page-access .map-link a{
	color: var(--text-color);
}
.access-map {
            width: 100%;
            height: 600px;
            border-radius: 10px;
            margin: 20px 0;
			overflow: hidden
        }
.access-map iframe {
	width: 100%;
	height: 100%;
	border: none
}

        .copyright {
            text-align: center;
            margin-top: 40px;
            opacity: 0.8;
        }

        /* Responsive */
        @media (max-width: 768px) {
			.footer-logo {
				width: 100%;
			}
			 .footer-logo h3 {
				margin: 0 auto 30px
			}
			
			.footer-content{
				display: block
			}
			.footer-tel {
				font-size: 2rem;
			}
            .hamburger {
                display: flex;
            }

            .photos-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .footer-content {
                grid-template-columns: 1fr;
            }
        }






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

カンタキとは

--------------------------------------------- */
.page-about .page-title {
	background: url("../images/about/illust-06.webp") no-repeat 10% 0/auto 100%,url("../images/about/illust-07.webp") no-repeat 90% 0/auto 100%;
}
.page-about ruby {
	color: var(--secondary-color);
}
.page-about rt {
	font-size: 1.5rem;
	color: var(--secondary-color);
	margin-bottom: 0px
}
.page-about  .kantaki-imi {
	letter-spacing: 1px
}
.page-about .btn {
	margin-top: 1em;
}
.page-about .section-title {
	background: url("../images/about/illust-08.webp") no-repeat 30% 0/auto 100%;
	padding: 60px 0;
	margin-bottom: 0;
}
.service-box {
	padding: 60px;
	border-radius: 25px;
	position: relative;
	margin:0 auto 80px;
	width: 80%;
}
.service-box-01 {
	padding-right: 360px;
	background: #fff url("../images/about/illust-01.webp") no-repeat 90% 50%/auto 80%;
}
.service-box-02 {
	padding-right: 360px;
	background: #fff url("../images/about/illust-02.webp") no-repeat 90% 50%/auto 80%;
}
.service-box-03 {
	padding-right: 360px;
	background: #fff url("../images/about/illust-03.webp") no-repeat 95% 50%/auto 80%;
}
.service-box-04 {
	padding-right: 360px;
	background: #fff url("../images/features/illust-01.webp") no-repeat 92% 50%/auto 80%;
}
.service-box-05 {
	padding-right: 360px;
	background: #fff url("../images/about/illust-05.webp") no-repeat 95% 50%/auto 80%;
}

.page-about .column {
	text-align: center;
}
.page-about .column p {
	margin: 20px auto
}
.page-about .about-images {
	width: 90%;
	max-width: 900px!important;
	margin: 0 auto 5%;
}
.page-about .about-images figure {
	position: relative;
}
.page-about .about-images .wp-block-column:first-of-type {
	padding-top: 10%;
}
.page-about .about-images .wp-block-column:first-of-type figure:last-of-type {
	width: 80%;
	margin: 50px 0 0 auto;
}
.page-about .about-images .wp-block-column:first-of-type figure:first-of-type::before{
	content: "";
	position: absolute;
	top: -100px;
	left: -20px;
	width: 100px;
	height: 200px;
	background: url("../images/features/illust-03.webp") no-repeat 0 0/contain;
}
.page-about .about-images .wp-block-column:first-of-type figure:last-of-type::before{
	content: "";
	position: absolute;
	bottom: -40px;
	left: -30px;
	width: 80px;
	height: 120px;
	background: url("../images/medical/illust-05.webp") no-repeat 0 0/contain;
}
.page-about .about-images .wp-block-column:last-of-type figure:first-of-type {
	width: 80%;
	margin: 0 auto 50px 0;
}
.page-about .about-images .wp-block-column:last-of-type figure:last-of-type::before {
	content: "";
	position: absolute;
	bottom: -80px;
	right: -30px;
	width: 140px;
	height: 140px;
	background: url("../images/medical/illust-04.webp") no-repeat 0 0/contain;
}


.tel-box {
	padding: 20px 20px 0 20px;
	border-radius: 10px;
	text-align: center;
}
.tel-box a {
	text-decoration: none;
	font-size: 3rem;
	font-weight: 700;
	display: block
}
.tel-box .fig {
	max-width: 160px!important;
	margin: 0 auto;
}
.tel-box p {
	margin-bottom: 0;
}

.flow-step {
	display: flex;
    align-items: center;
    margin:0 auto 10px;
    position: relative;
	width: 90%;
	max-width: 800px
}

.step-number {
      width: 80px;
      height: 80px;
      background: var(--secondary-color);/*--primary-color*/
      display: flex;
      align-items: center;
      justify-content: center;
		border-radius: 50%;
      font-size: 38px;
		line-height: 1;
		padding-bottom: 4px;
      font-weight: bold;
      color: #fff;
      flex-shrink: 0;
		position: relative;
    }
.step-number::before {
	content: "STEP";
	display: inline-block;
	position: absolute;
	top: -26px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.1rem;
	color: var(--secondary-color);
}
.step-content {
      flex: 1;
      background: white;
      padding: 20px 25px;
      border-radius: 10px;
      margin-left: 20px;
    }
.step-description ul {
	list-style-type:disc;
	padding-left: 2em;
}

.step-title {
      font-weight: bold;
      margin-bottom: 5px;
		font-size: 1.2rem;
    }

.arrow {
      text-align: center;
      margin: 10px 0;
      color: var(--secondary-color);
      font-size: 30px;
    }

    .schedule-section {
      margin-top: 60px;
    }

    .accordion {
      margin-bottom: 20px;
    }

    .accordion-header {
      background: var(--btn-color);/*linear-gradient(135deg, #ff9f4a, #ff8020)*/
      color: #fff;
      padding: 20px 25px;
      border-radius: 50px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
		font-size: 1.2rem;
      font-weight: bold;
      transition: all 0.3s;
      box-shadow: 0 3px 8px rgba(255, 140, 32, 0.3);
    }

    .accordion-header:hover {
      box-shadow: 0 5px 12px rgba(255, 140, 32, 0.4);
    }

    .accordion-icon {
      font-size: 20px;
      transition: transform 0.3s;
    }

    .accordion.active .accordion-icon {
      transform: rotate(180deg);
    }

    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, opacity 0.4s ease;
      opacity: 0;
      background: #fff;
      border-radius: 20px;
		width: 90%;
      margin: 20px auto 0;
    }

    .accordion.active .accordion-content {
      max-height: 2000px;
      opacity: 1;
    }

    .accordion-inner {
      padding: 30px;
    }
.accordion-inner .arrow {
	transform: translateY(-10px);
}

.info-wrap {
	display: flex;
	column-gap: 5%;
	align-items: flex-start;
	margin-bottom: 20px;
}
.info-box-wrap {
	flex: 1
}

.user-info {
	display: flex;
	align-items: center;
	padding: 20px 5%;
	gap: 40px;
	margin-bottom: 30px;
	flex-direction: column;
}
.user-icon {
      width: 100px;
      height: 100px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 30px;
    }

    .user-details {
      font-weight: bold;
    }

    .user-details div {
      margin-bottom: 2px;
    }

    .info-box {
      background: #fff5e6;
      border: 2px solid #ff9f4a;
      border-radius: 15px;
      padding: 20px;
      margin-bottom: 20px;
    }

    .info-box-title {
      font-weight: bold;
      color: #ff8020;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .support-box {
      background: #e6f7f7;
      border: 2px solid #4db8b8;
      border-radius: 15px;
      padding: 20px;
      margin-bottom: 20px;
    }

    .support-box-title {
      font-weight: bold;
      color: #4db8b8;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .schedule-table-wrapper {
      margin-bottom: 30px;
    }

    .schedule-title {
      font-weight: bold;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .schedule-table {
      width: 100%;
      border-collapse: collapse;
      border-radius: 10px;
      overflow: hidden;
    }

    .schedule-table th {
      background: var(--secondary-color);
      padding: 10px 5px;
      text-align: center;
      font-weight: bold;
		color: #fff;
		border-right: 1px solid #fff;
    }
.schedule-table th:last-of-type {
	border: none
}

    .schedule-table td {
      padding: 12px 8px;
      text-align: center;
      border: 1px solid #fff;
    }

    .schedule-table tr:nth-child(odd) td {
      background: #e9e9e9;
    }

    .schedule-table tr:nth-child(even) td {
      background: #eee;
    }

    .schedule-table td:first-child {
      background: #b8dce8;
      font-weight: bold;
      text-align: left;
      padding-left: 15px;
    }

    .check-mark {
      color: #4db8b8;
      font-weight: bold;
    }

    .home-icon {
      background: #ff9f4a;
      color: #fff;
      padding: 2px 8px;
      border-radius: 5px;
      font-weight: bold;
    }

    .arrow-down {
      text-align: center;
      margin: 20px 0;
      font-size: 40px;
      color: #ffd966;
    }

    .case-section {
      margin-top: 60px;
    }

    .case-item {
      background: #fff;
      padding: 20px 25px;
      border-radius: 50px;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      transition: all 0.3s;
      cursor: pointer;
    }

    .case-item:hover {
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }

    .case-arrow {
      width: 40px;
      height: 40px;
      background: var(--btn-color);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 16px;
      font-weight: bold;
    }

@media (max-width: 768px) {
	.page-about .page-title {
		background: /*url("../images/about/illust-06.webp") no-repeat 4% 50%/auto 70%,*/
			url("../images/about/illust-07.webp") no-repeat 50% 0/auto 60%;
		margin-top: 0;
		padding: 100px 5% 0px;
	}
	.page-about .about-images .wp-block-column:first-of-type figure:first-of-type::before{
		top: -80px;
		left: -10px;
		width: 70px;
		height: 180px;
	}
	.page-about .about-images .wp-block-column:first-of-type figure:last-of-type::before{
		bottom: -20px;
		left: -30px;
		width: 50px;
		height: 100px;
	}
	.page-about .about-images .wp-block-column:last-of-type figure:last-of-type::before {
		top: -80px;
		bottom: inherit;
		right: -5px;
		width: 100px;
		height: 100px;
	}
	.schedule-table {
		font-size: 11px;
	}
	.schedule-table th,
    .schedule-table td {
		padding: 8px 4px;
	}
	.accordion-inner {
        padding: 20px 15px;
	}
	.service-box {
		padding: 20px!important;
		width: 100%;
		background-size: 50px auto;
		background-position: 20px 5%;
		margin-bottom: 30px;
	}
	.service-box h3 {
		margin-left: 72px;
	}
	.service-box-03 {
		background-position: 17px 10%;
	}
	.service-box-05 {
		background-size: 62px auto;
		background-position: 17px 8%;
	}
	.page-about .section-title {
		background: url("../images/about/illust-08.webp") no-repeat 10% 0/auto 100%;
		padding: 30px 0;
		margin-bottom: 0;
	}
	.flow-step {
		width: 100%;
		display: block;
	}
	.step-number {
		width: 50px;
		height: 50px;
		font-size: 34px;
		padding-bottom: 4px;
		margin: 0 auto;
		transform: translateY(30px);
    }
	.page-about .arrow {
		transform: translateY(-10px);
    }
	.step-content{
		padding-top: 50px;
	}
	.page-about #flow {
		paddgin-bottom: 0;
	}
	.page-about #schedule{
		padding-top: 0;
	}
	.page-about #fee{
		padding-top: 0;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	.page-about #main {
		padding-bottom: 100px;
	}
	.info-wrap {
		display: block;
		margin-bottom: 20px;
	}
	.user-info {
		display: flex;
		width: 100%;
		justify-content: center!important;
		flex-direction: row!important
	}
	.user-details {
		flex: 1;
	}
}


#fee .summary {
	max-width: 900px;
	margin: 0 auto 20px;
	background: #fff;
	border-radius: 20px;
	padding: 30px;
}

.fee-1 {
	display: flex;
	margin: 20px auto;
	width: 100%;
	max-width: 500px;
	font-size: 1.2rem;
	justify-content: space-between;
	border: solid 1px #ccc;
	border-radius: 20px;
	overflow: hidden;
}
.fee-1 dt {
	width: 40%;
	background: #eee;
	display: flex;
	align-items: center;
	padding: 20px;
	font-weight: bold
}
.fee-1 dd {
	flex: 1;
	padding: 20px;
}
.fee-1 ul {
	width: 100%
}
.fee-1 li {
	padding:0 10px 7px;
	margin-bottom: 8px;
	border-bottom: dashed 2px #ddd;
}
.fee-1 li:last-of-type {
	margin-bottom:0;
}
.fee-2 {
	margin: 20px auto;
	width: 100%;
	max-width: 500px;
	border: solid 1px #ccc;
	border-radius: 20px;
	overflow: hidden;
	padding: 20px;
}
.fee-2 th,
.fee-2 td {
	padding: 7px 20px 8px;
	border-bottom: dashed 2px #ccc;
	font-size: 1.2rem;
}
.fee-2 tr:last-of-type th,
.fee-2 tr:last-of-type td{
	border: none
}

.fee-2 td {
	text-align: right;
}
.fee-label {
	background: var(--secondary-color);
	display: inline-block;
	border-radius: 50px;
	padding: 5px 10px;
	line-height: 1;
	margin-right: 30px;
	color: #fff;
}
.fee-2 .fee-label {
	display: block;
	padding: 7px 10px;
	font-weight: normal;
}

.home #about{
	padding-top: 200px;
}


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

HOCカンタキの特徴

--------------------------------------------- */
.page-features .page-title {
	background: url("../images/features/illust-07.webp") no-repeat 10% 0/auto 100%,url("../images/about/illust-11.webp") no-repeat 80% 0/auto 100%;
}
.features-h {
	position: relative;
	display: inline-block
}
.features-h::before {
	content: "";
	position: absolute;
	top: -50px;
	left: -140px;
	width: 100px;
	height: 90px;
}
.features-h-1::before {
	background: url("../images/features/bubble1.svg") no-repeat 0 0/contain;
}
.features-h-2::before {
	background: url("../images/features/bubble2.svg") no-repeat 0 0/contain;
}
.features-h-3::before {
	background: url("../images/features/bubble3.svg") no-repeat 0 0/contain;
}
    .section {
      margin-bottom: 60px;
    }


@media (max-width: 768px){
	.page-features .page-title {
		background: url("../images/features/illust-07.webp") no-repeat 50% 0/auto 60%/*,url("../images/about/illust-11.webp") no-repeat 96% 50%/auto 70%*/;
		margin-top: 0;
		margin-bottom: 60px;
		padding: 100px 5% 0px;
	}
	.features-h::before {
		top: -100px;
		left: 50%;
		transform: translateX(-50%)
	}
}

    .day-label {
      background: linear-gradient(135deg, #ffd966, #ffcc00);
      color: #333;
      font-weight: bold;
      padding: 8px 20px;
      border-radius: 5px;
      display: inline-block;
      margin-bottom: 20px;
      font-size: 16px;
    }

    .cards-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      margin-bottom: 40px;
    }

    .card {
      background: #fff;
      border-radius: 15px;
      padding: 25px;
		position: relative;
		display: flex;
		flex-direction: column;
    }

.card-h {
      background: #fff;
      border-radius: 15px;
      padding: 25px 25px 15px 25px;
		position: relative;
		display: flex;
	column-gap: 30px;
    }
.card-h .card-icon {
	width: 30%;
}
.card-h .card-description {
	flex: 1
}


.card-badge {
	position: absolute;
	top:20px;
	left:20px;
	line-height:60px;
	font-size: 2rem;
	font-weight: bold;
	padding-bottom: 6px;
	border-bottom: dotted 2px var(--text-color);
}
.card-badge img {
	display: inline-block;
	margin-right: 20px;
	width: 60px;
	height: auto;
}
    .card-icon {
      width: 100%;
      min-height: 160px;
      border-radius: 10px;
      margin-bottom: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 60px;
    }
.card-icon img {
	border-radius: 10px;
}


.page-features .card-icon img {
	border-radius: 0;
	max-height: 160px;
	width: auto;
}
.page-features .card-h:last-of-type .card-icon img {
	border-radius: 0;
	height: auto;
	width: 100%;
}

    .card-title {
		font-size: 1.2rem;
      font-weight: bold;
      margin-bottom: 10px;
    }

    .card-description {
      margin-bottom: 15px;
    }

    .note-box {
      background: #fff9e6;
      padding: 12px 15px 12px 80px;
      border-radius: 5px;
      margin: auto 0 0 0;
		position: relative;
    }

    .note-box::before {
		content: "";
		display: block;
		position: absolute;
		top: 16px;
		left: 20px;
		width: 40px;
		height: 40px;
		background: url("../images/common/icon-exmark2.png") no-repeat 0 0/contain;
    }

    .info-section {
      background: #fff;
      border-radius: 15px;
      padding: 30px;
      margin-bottom: 30px;
      /*box-shadow: 0 3px 10px rgba(0,0,0,0.1);*/
		display: flex;
    }

    .info-title {
      font-weight: bold;
      font-size: 1.4rem;
      margin-bottom: 15px;
      padding-right: 30px;
		width: 20%;
    }

    .info-content {
      line-height: 2;
		border: solid #f0f0f0;
		border-width: 0 0 0 2px;
		padding-left: 30px;
		flex: 1;
    }

    .info-list {
      margin-top: 10px;
      padding-left: 20px;
    }

    .info-list li {
      margin-bottom: 8px;
    }

    .cta-button {
      background: var(--btn-color);/*ffd966  ffd966*/
      color: #fff;
      font-weight: bold;
      padding: 18px 70px 18px 40px;
      border-radius: 50px;
      text-align: center;
      display: inline-block;
      text-decoration: none;
      box-shadow: 0 4px 8px rgba(1, 1, 1, 0.2);
      transition: all 0.3s;
      margin-top: 20px;
		position: relative;
    }
.cta-button::before{
	content: "▶";
	width: 30px;
      height: 30px;
      color: var(--btn-color);
      border-radius: 50%;
      background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 18px;
	font-size: 13px;
	transform: translateY(-50%);
}

    .cta-button:hover {
      box-shadow: 0 6px 12px rgba(1, 1, 1, 0.2);
      transform: translateY(-2px);
		color: #fff;
    }

  .cta-button-small {
      background: var(--btn-color);/*ffd966  ffd966*/
      color: #fff;
      font-weight: bold;
      padding: 13px 50px 13px 20px;
      border-radius: 50px;
      text-align: center;
      display: inline-block;
      text-decoration: none;
      box-shadow: 0 2px 6px rgba(1, 1, 1, 0.2);
      transition: all 0.3s;
      margin-top: 20px;
		position: relative;
    }
.cta-button-small::before{
	content: "▶";
	width: 24px;
      height: 24px;
      color: var(--btn-color);
      border-radius: 50%;
      background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 13px;
	font-size: 11px;
	transform: translateY(-50%);
}

    .cta-button-small:hover {
      box-shadow: 0 4px 10px rgba(1, 1, 1, 0.2);
      transform: translateY(-2px);
		color: #fff;
    }

    .training-section {
      padding: 0px;
      margin-bottom: 30px;
    }

    .training-wrapper {
      display: flex;
      gap: 20px;
      align-items: flex-start;
    }

    .training-text {
      flex: 1;
      line-height: 2;
    }
.training-img {
	width: 40%;
	border-radius: 20px;
	overflow: hidden
}
    .image-placeholder {
      width: 300px;
      height: 200px;
      background: #f5f5f5;
      border-radius: 10px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      color: #999;
    }

    .st-section {
      border: 2px dotted #aaa;
      border-radius: 15px;
      padding: 30px;
      margin-bottom: 30px;
    }

    .st-title {
      margin-bottom: 20px;
    }

    .meal-images {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      margin-top: 20px;
    }

    .meal-item {
      text-align: center;
    }

    .meal-image {
      width: 100%;
      border-radius: 10px;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
		overflow: hidden;
    }

    .meal-caption {
      font-size: 13px;
      color: #666;
    }

    .activity-images {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 15px;
      margin-top: 20px;
    }

    .activity-item {
      text-align: center;
		background: #fff;
		border-radius: 20px;
		padding: 60px;
    }

    .activity-image {
      width: 100%;
      background: #f5f5f5;
      border-radius: 10px;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
		overflow: hidden;
    }

#ex--use .summary .cards-grid {
	margin-bottom: 0
}
#ex--use .summary {
	border-radius: 30px;
	padding: 30px;
}
#ex--use .use-label {
	color: #fff;
	font-weight: bold;
	padding: 10px 20px;
	border-radius: 20px;
	margin-bottom: 20px;
	font-size: 1.2rem;
}
#ex--use .use-1 {
	background: #d1e8d9;
	margin-bottom: 40px
}
#ex--use .use-1 .use-label {
	background: #6eb1a8;
}
#ex--use .use-2 {
	background: #e7e8d1
}
#ex--use .use-2 .use-label {
	background: #a8b16e;
}


@media (max-width: 768px) {
		.home #about{
			padding-top: 100px;
			padding-bottom: 0;
		}
		.activity-item{
			padding: 30px;
		}
      .cards-grid {
        grid-template-columns: 1fr;
      }

      .training-wrapper {
        flex-direction: column;
      }
		.training-img {
			width: 100%;
		}

      .image-placeholder {
        width: 100%;
      }

      .meal-images {
        grid-template-columns: 1fr;
      }

      .activity-images {
        grid-template-columns: 1fr;
      }
		
		 .info-section {
		display: block;
    }

    .info-title {
		width: 100%;
    }

    .info-content {
		border-width: 2px 0 0 0;
      padding: 10px 0 0 0;
    }
	  .cta-button {
      padding: 13px 45px 13px 15px;
    }	
.cta-button::before{
	width: 24px;
      height: 24px;
	right: 13px;
	font-size: 11px;
}
    }







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

利用者さんの過ごし方

--------------------------------------------- */
.page-situation .page-title {
	background: url("../images/medical/illust-03.png") no-repeat 10% 0/auto 100%,url("../images/medical/illust-04.webp") no-repeat 100% 0/auto 100%;
}

    .activity-section {
      margin-bottom: 60px;
    }

    .activity-item {
      display: flex;
      gap: 6%;
      margin-bottom: 60px;
		position: relative;
    }

    .activity-item.reverse {
      flex-direction: row-reverse;
    }

    .activity-pic {
      width: 35%;
    }
.activity-pic img {
	border-radius: 15px;
	margin-bottom: 20px;
}

    .activity-content {
		flex: 1;
		text-align: left
    }

    .activity-title {
      margin-bottom: 15px;
    }

.page-situation .activity-01::before {
	content: "";
	display: block;
	width: 120px;
	height: 100px;
	background: url("../images/situation/illust01.svg") no-repeat 0 0/contain;
	position: absolute;
	right: -20px;
	top: -20px;
	z-index: 10;
}
.page-situation .activity-02::before {
	content: "";
	display: block;
	width: 120px;
	height: 100px;
	background: url("../images/situation/illust02.svg") no-repeat 0 0/contain;
	position: absolute;
	left: 50%;
	top: -10px;
	z-index: 10;
}
.page-situation .activity-03::before {
	content: "";
	display: block;
	width: 120px;
	height: 110px;
	background: url("../images/situation/illust07.svg") no-repeat 0 0/contain;
	position: absolute;
	right: -20px;
	top: -20px;
	z-index: 10;
}
.page-situation .activity-04::before {
	content: "";
	display: block;
	width: 120px;
	height: 100px;
	background: url("../images/situation/illust03.svg") no-repeat 0 0/contain;
	position: absolute;
	left: 20%;
	top: -10px;
	z-index: 10;
}
.page-situation .activity-05::before {
	content: "";
	display: block;
	width: 160px;
	height: 100px;
	background: url("../images/situation/illust06.svg") no-repeat 0 0/contain;
	position: absolute;
	right: -20px;
	top: -10px;
	z-index: 10;
}
    .daily-section {
      margin-top: 80px;
		background: #fff;
		border-radius: 20px;
		padding: 60px;
    }

    .daily-title {
      font-size: 24px;
      font-weight: bold;
      margin-bottom: 40px;
    }

    .daily-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 25px;
    }

    .daily-image {
      margin-bottom: 15px;
     }
.daily-image img {
	border-radius: 15px;
}

/*------------------------
フロアマップ
------------------------*/
.floor-container{
  max-width:1200px;
  margin:auto;
}

.floor-svg{
  width:100%;
  height:auto;
}

/* クリックポイント */

.map-point{
  cursor:pointer;
}

.map-point circle{
  fill:transparent;
}

.map-point text{
  font-size:22px;
  text-anchor:middle;
  fill:#fff;
  pointer-events:none;
}

/* モーダル */

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;

  background: rgba(0,0,0,0.6);

  opacity: 0;
  visibility: hidden;

  transition: 
    opacity .35s ease,
    transform .35s ease,
    visibility .35s;
	
	z-index: 1000
}

.modal.active {
  opacity: 1;
  visibility: visible;
}


.modal-content{
  background:#fff;
	border-radius: 20px;
  padding:0 20px 20px;
  max-width:600px;
  width:90%;
}

.modal img{
  width:100%;
}

.close{
  cursor:pointer;
  float:right;
  font-size:28px;
}



    .testimonial-item {
      display: flex;
      gap: 45px;
      margin-bottom: 35px;
      background: white;
      padding: 40px;
      border-radius: 15px;
      /*box-shadow: 0 3px 10px rgba(0,0,0,0.08);*/
    } 
    .testimonial-text {
      flex: 1;
    }

@media (max-width: 768px) {
	.page-situation .page-title {
		background: /*url("../images/medical/illust-03.png") no-repeat 10% 0/auto 100%,*/
			url("../images/medical/illust-04.webp") no-repeat 50% 0/auto 60%;
		margin-top: 0;
		padding: 100px 5% 0px;
	}
	.page-situation #main {
		padding-bottom: 0;
	}
	.page-situation #voice,
	.page-situation #situation {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.page-situation #facilities section {
		margin-bottom: 0;
	}
	.page-situation .activity-01::before {
		width: 100px;
		height: 80px;
		right: 10px;
		top: -20px;
	}
	.page-situation .activity-02::before {
		width: 100px;
		height: 100px;
		left: inherit;
		right: 20px;
		top: -50px;
	}
	.page-situation .activity-03::before {
		width: 80px;
		height: 110px;
		right: 0;
		top: -20px;
	}
	.page-situation .activity-04::before {
		width: 100px;
		height: 80px;
		left: inherit;
		right: 10px;
		top: -30px;
	}
	.page-situation .activity-05::before {
		width: 120px;
		height: 90px;
		right: 0;
		top: -20px;
	}
	.activity-pic {
		width: 100%;
		margin-bottom: 16px
	}
      .activity-item,
      .activity-item.reverse {
        flex-direction: column;
      }
      .activity-image {
        width: 100%;
      }

	 .daily-section {
    	padding: 30px;
    }
	.daily-grid {
        grid-template-columns: 1fr;
      }
	.testimonial-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
	.testimonial-text {
		text-align: left;
    }
	.testimonial-text h4 {
		text-align: center;
		margin-bottom: 8px;
	}
	.floor-container {
		display: none;
	}
}



.case-name {
	font-size: 1.4rem;
	border-bottom: dashed 1px #ccc;
	margin-bottom: 16px;
	font-weight: bold;
	padding-bottom: 12px;
}
.case-table {
	margin-top: 16px;
}
.case-table th,
.case-table td,
.table-type2 th,
.table-type2 td {
	padding: 6px 10px;
}
.case-table th {
	white-space: nowrap;
	text-align: left;
	background: #eee
}
.table-type2 th {
	white-space: nowrap;
	text-align: left;
	background: var(--secondary-color);
	color: #fff;
}
.case-table td,
.table-type2 td{
	background: #f8f8f8
}

.table-type2{
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	overflow: hidden;
}
.table-type2 tr:first-of-type th{
	border-radius: 20px 0 0 0;
}
.table-type2 tr:first-of-type td{
	border-radius: 0 20px 0 0;
}
.table-type2 tr:last-of-type th{
	border-radius: 0 0 0 20px;
}
.table-type2 tr:last-of-type td{
	border-radius: 0 0 20px 0;
}
@media (max-width: 768px){
	.table-type2 th,
	.table-type2 td{
		display: block;
		width: 100%;
	}
	.table-type2 tr:first-of-type th{
		border-radius: 20px 20px 0 0;
	}
	.table-type2 tr:first-of-type td{
		border-radius: 0;
	}
	.table-type2 tr:last-of-type th{
		border-radius: 0;
	}
	.table-type2 tr:last-of-type td{
		border-radius: 0 0 20px 20px;
	}
	.case-table th,
	.case-table td,
	.table-type2 th,
	.table-type2 td {
		padding: 6px 10px;
		width: 100%;
		display: block;
		white-space: normal
	}
}


    .faq-item {
      margin-bottom: 35px;
      background: #fff;
      border-radius: 15px;
      /*box-shadow: 0 3px 10px rgba(0,0,0,0.08);*/
    }
.faq-item .faq-head{
	position: relative;
	padding: 30px 30px 30px 80px;
	color: var(--btn-color);
}
.faq-item .faq-body{
	position: relative;
	padding: 0 30px 30px 80px;
}
.faq-item .faq-head .icon-q {
        display: block;
        position: absolute;
        left: 40px;
        top: 28px;
        font-size: 1.7rem;
        color: var(--btn-color);
        font-weight: 500; 
}
.faq-item .faq-body .icon-a {
        display: block;
        position: absolute;
        left: 40px;
        top: -10px;
        font-size: 1.7rem;
        color: var(--secondary-color);
        font-weight: 500; 
}


.note {
	background: var(--tertiary-color);
	padding: 60px;
	margin-top: 100px;
	text-align: center;
	/*border: dotted 2px #aaa;*/
	border-radius: 20px;
}
.note-title {
	margin-bottom: 30px;
}
.note-inner {
	background: #fff;
	border-radius: 20px;
	padding: 30px;
}
.note p {
	display: inline-block;
	text-align: left;
	font-weight: bold
}

.pagenav {
	display: flex;
	justify-content: center;
	column-gap: 5%;
	margin-top: 100px;
}
.pagenav a{
	text-decoration: none;
	display: block;
	text-align: center;
	border-radius: 50px;
	border: solid 1px #333;
	padding: 16px 30px;
	min-width: 200px;
	background: var(--body-color);
}
.pagenav a:hover {
	background: #333;
	color: #fff;
}

.form-section {
	padding: 60px;
	background: #fff;
	border-radius: 20px;
}
.form-section p {
	margin-bottom: 2em;
}
form table {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
form th{
	padding: 15px 10px 10px 10px;
	width: 20%;
}
form td {
	padding: 10px;
}
form th {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
form textarea,
form input {
	border: solid 1px #ccc;
	padding: 5px;
	font-size: 1.2rem;
	border-radius: 5px;
	width: 100%;
}
form textarea {
	height: 7em;
}
@media (max-width: 768px) {
	.pagenav {
		margin-top: 50px;
	}
	.pagenav a{
		padding: 13px 20px;
		min-width: 140px;
	}
	form th,
	form td {
		display: block;
		width: 100%;
	}
	.form-section{
		padding: 30px;
	}
	.faq-item .faq-head{
		padding: 20px 20px 20px 60px;
	}
	.faq-item .faq-body{
	padding: 0 20px 20px 60px;
	}
	.faq-item .faq-head .icon-q{
		left: 30px;top: 13px;
	}
	.faq-item .faq-body .icon-a {
        left: 30px;
        top: -10px;
	}
	.note {
		padding: 30px;
	}
}

.cooperation-grid {
      display: flex;
      column-gap: 30px;
      margin-bottom: 30px;
	 justify-content: center;
}
.cooperation-card {
      background: #fff;
      border-radius: 15px;
      padding: 30px 20px;
      text-align: center;
    }
 .cooperation-icon {
      width: 100%;
      height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 60px;
      margin-bottom: 20px;
}
.cooperation-title {
	margin-bottom: 15px;
	color: var(--secondary-color)
}
.cooperation-description {
	text-align: left
}
.cooperation-grid-2col .cooperation-card{
	width: 33%
}
.dialysis-content {
	display: flex;
	column-gap: 8%;
	align-items: center
}
.dialysis-fig img {
	max-width: 600px;
	margin: 0 auto
}
.dialysis-text {
	margin: 50px auto 0;
	text-align: center;
}
.dialysis-text-title {
	margin-bottom: 1em;
	font-display: 2rem;
}
.dialysis-text ul {
	max-width: 800px;
	margin: 0 auto;
}
.dialysis-text li {
	padding: 20px 30px;
	font-size: 1.4rem;
	border-radius: 50px;
	background: var(--secondary-color);
	color: #fff;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: left
}
@media (max-width: 768px) {
	.cooperation-grid {
		display: block;
		column-gap: 30px;
		margin-bottom: 40px;
		justify-content: center;
	}
    .cooperation-card {
		margin-bottom: 30px;
    }
	.cooperation-grid-2col .cooperation-card{
		width: 100%
	}
	.dialysis-content {
		display: block
	}
	.dialysis-fig {
		width: 100%;
		margin-bottom: 30px;
		padding: 0 10%;
	}
	.dialysis-text li {
		padding: 10px 15px;
		font-size: 1.2rem;
	}
}


/*リセット*/
.wp-block-button__link {
  all: unset!important;
  display: inline-block;
  cursor: pointer;
}

.post {
	max-width: 800px;
	margin: 0 auto;
}
.post h2 {
	margin-bottom: 1em;
}
.post .news-date {
	margin-right: 20px;
}
.post figure {
	margin-top: 20px;
}



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

医療・訪問ケア

--------------------------------------------- */
.page-medical .page-title {
	background: url("../images/medical/illust-01.webp") no-repeat 10% 0/auto 100%,url("../images/features/illust-04.webp") no-repeat 100% 0/auto 100%;
}
.page-medical #rehabilitation {
	padding-top: 0
}
.page-medical #rehabilitation .section-title {
	background: url("../images/medical/illust-03.png") no-repeat 80% 0/auto 100%;
	padding: 50px 30px;
	margin-bottom: 30px;
}
.page-medical #rehabilitation .info-title {
	width: 25%;
}
.page-medical #visit .section-inner {
	text-align: center;
}

.page-medical .fig {
	max-width: 800px;
	margin: 0 auto;
}

.daily-item h4 {
	margin-bottom: 1em;
}

.swiper-button-prev,
.swiper-button-next {
	font-size: 1.2rem;
	background: var(--btn-color);
	color: #fff!important;
	border-radius: 50px;
	padding: 5px 10px!important;
	width: auto!important;
	white-space: nowrap;
	letter-spacing: 0.01em;
	top: 90%!important;
	transform: scale(0.7)
}
.swiper-button-prev svg,
.swiper-button-next svg{
	display: none!important;
}
.swiper-button-prev {
	transform: translateX(20px)
}
.swiper-button-next {
	transform: translateX(-20px)
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	cursor: auto;
    opacity: 1!important;
    pointer-events:none;
	background: #fff;
	color: var(--text-color)!important;
}
.swiper-button-prev.swiper-button-disabled {
	transform: translateX(20px) scale(1.2)
}
.swiper-button-next.swiper-button-disabled {
	transform: translateX(-20px) scale(1.2)
}

.page-contact .page-title {
	background: url("../images/about/illust-09.webp") no-repeat 20% 0/auto 100%;
}
.page-faq .page-title {
	background: url("../images/about/illust-10.webp") no-repeat 80% 0/auto 100%;
}


@media (max-width: 768px){
	.page-medical #main,
	.page-faq #main,
	.page-contact #main {
		padding-bottom: 50px;
	}
	.page-medical .page-title {
		background: url("../images/medical/illust-01.webp") no-repeat 50% 0/auto 60%;
		margin-top: 0;
		padding: 100px 5% 0px;
	}
	.page-medical #visit {
		margin-bottom: 30px;
	}
	.page-medical #rehabilitation .section-title {
		background: url("../images/medical/illust-03.png") no-repeat 50% 0/auto 60%;
		padding: 100px 30px 0;
		margin-bottom: 30px;
	}
	.page-medical #rehabilitation .info-title {
		width: 100%;
	}
	.page-contact .page-title {
		background: url("../images/about/illust-09.webp") no-repeat 50% 0/auto 60%;
		margin-top: 0;
		padding: 100px 5% 0px;
	}
	.page-faq .page-title {
		background: url("../images/about/illust-10.webp") no-repeat 50% 0/auto 60%;
		margin-top: 0;
		padding: 100px 5% 0px;
	}
}
