 @charset "UTF-8";

 /* CSS Document */
 html {
   font-size: 62.5%;
   /* 16px * 62.5% = 10px */
   width: 100%;
   scroll-behavior: smooth;
 }

 :root {
   --green: #1A5252;
   --blue: #546FA6;
   --blown: #4E4449;
   --black: #010101;
   ;
   --en: "garamond-premier-pro", serif;
   --ja: "ryo-text-plusn", serif;
   --def: "noto-sans-cjk-jp", sans-serif;
   --ten: "ten-mincho", serif;
 }

 body {
   color: #010101;
   /* RGB */
   background-color: #ffffff;
   font-family: "noto-sans-cjk-jp", sans-serif;
   font-weight: 200;
   font-style: normal;
   font-size: clamp(1.4rem, 3.3vw, 1.8rem);
   letter-spacing: 0.1rem;
   line-height: 2;
   text-align: center;
 }

 .ja {
   font-family: "ryo-text-plusn", serif;
   font-weight: 400;
 }

 .en {
   font-family: "garamond-premier-pro", serif;
   font-weight: 300;
   font-style: normal;
   letter-spacing: 0.1em;
 }

 h2,
 h3,
 h4 {
   font-weight: 300
 }

 .vertical {
   position: static;
   display: inline-block;
   -webkit-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   writing-mode: vertical-rl;
   text-align: left;
 }

 .vertical span {
   writing-mode: vertical-rl;
   text-orientation: upright;
   display: inline-block;
 }

 .vertical span.horizontal {
   writing-mode: horizontal-tb;
   line-height: 1;
 }

 a {
   color: var(--black);
 }

 a:hover {
   opacity: 0.7;
 }

 a.clarity:hover {
   opacity: 1;
 }

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

 img {
   width: 100%;
   display: block;
 }

 .pc_none {
   display: block;
 }

 .sp_none {
   display: none;
 }

 .is-hide {
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.3s ease, visibility 0.3s ease;
 }

 .ft_50 {
   font-size: clamp(3.2rem, 8vw, 5.0rem)
 }

 .ft_40 {
   font-size: clamp(2.2rem, 5.4vw, 4.0rem);
 }

 .ft_30 {
   font-size: clamp(2.0rem, 4vw, 3.0rem);
 }

 .ft_24 {
   font-size: clamp(2.0rem, 5.2vw, 2.4rem)
 }

 .ft_20 {
   font-size: clamp(1.6rem, 4.6vw, 2.0rem)
 }

 .ft_16 {
   font-size: clamp(1.2rem, 3.0vw, 1.6rem)
 }

 .ft_14 {
   font-size: clamp(1.2rem, 3.2vw, 1.4rem)
 }

 .green {
   color: var(--green);
 }

 .blue {
   color: var(--blue);
 }

 .black {
   color: var(--black);
 }

 .white {
   color: #ffffff;
 }

 .left {
   text-align: justify;
 }

 .bold {
   font-weight: 700;
 }

 .fadeInUpTrigger,
 .fadeInLeftTrigger,
 .fadeInRightTrigger {
   opacity: 0;
 }

 .flex {
   display: flex;
   flex-direction: column;
   gap: 40px;
 }

 .flex.row {
   display: flex;
   flex-direction: row;
   gap: 20px;
 }

 /* header */
 header {
   height: 60px;
   position: absolute;
   z-index: 100;
   padding: 4px 8px;
 }

 header .logo {
   width: 150px;
 }

 /* ham_menu */
 .ham_btn {
   position: fixed;
   cursor: pointer;
   width: 40px;
   height: 40px;
   z-index: 999;
   margin: 0;
   top: 4px;
   right: 4px;
   background: var(--blown);
 }

 .ham_btn span {
   display: inline-block;
   transition: all .4s;
   position: absolute;
   left: 8px;
   height: 1px;
   background: #ffffff;
   width: 25px;
   top: 20px;
 }

 .ham_btn span:nth-of-type(1) {
   top: 13px;
 }

 .ham_btn span:nth-of-type(2) {
   top: 27px;
 }

 .ham_btn.active span:nth-of-type(1) {
   top: 14px;
   left: 8px;
   transform: translateY(6px) rotate(-45deg);
   width: 26px;
 }

 .ham_btn.active span:nth-of-type(2) {
   opacity: 0;
 }

 .ham_btn.active span:nth-of-type(3) {
   top: 26px;
   left: 8px;
   transform: translateY(-6px) rotate(45deg);
   width: 26px;
 }

 /* bottom_nav */
 #sp-nav {
   position: fixed;
   bottom: -100%;
   display: flex;
   z-index: 100;
   width: calc(100% - 50px);
   height: min(10vw, 60px);
   justify-content: space-around;
   background-color: var(--brown);
   transition: all 0.5s;
 }

 #sp-nav.fixed {
   bottom: 0;
 }

 #sp-nav>div {
   width: calc(100% / 2);
   padding: 0 5%;
   background-color: var(--blown);
   position: relative;
 }

 #sp-nav>div:first-of-type::after {
   content: "";
   width: 1px;
   height: 70%;
   background-color: #ffffff;
   position: absolute;
   top: 15%;
   left: 100%;
   z-index: 1;
 }

 #sp-nav a {
   width: 100%;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   height: min(10vw, 60px);
 }

 #sp-nav .float_tel a {
   background-image: url(../img/float02.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center
 }

 #sp-nav .float_accsess a {
   color: #ffffff;
   font-size: min(3vw, 1.6rem);
   font-family: var(--ja);
 }

 .nav_wrap {
   padding: 60px 0;
   overflow-y: auto;
   overflow-x: hidden;
   background: #F4F0EB;
   position: fixed;
   top: 0;
   right: 0;
   z-index: 900;
   height: 100%;
   visibility: hidden;
   opacity: 0;
   width: 100%;
   transition: opacity .6s ease, visibility .6s ease;
   line-height: 1.45;
 }

 .nav_wrap ul {
   width: 90%;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin-bottom: 40px;
 }

 .nav_wrap li {
   list-style: none;
   text-align: left;
   font-size: 1.6rem;
   line-height: 1;
 }

 .nav_wrap li a {
   color: #010101;
   text-decoration: none;
   padding: 20px 10px;
   display: flex;
   flex-direction: column;
   gap: 10px;
   border-bottom: 1px solid #010101;
 }

 .nav_wrap.show {
   visibility: visible;
   opacity: 1;
 }

 .nav_wrap nav .sp_nav {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
 }

 .nav_wrap nav summary {
   color: #010101;
   padding: 20px 10px;
   position: relative;
   border-bottom: 1px solid #010101;
 }

 .accordion-001[open] summary {
   border: none;
 }

 .nav_wrap nav .inner-ul {
   width: 100%;
   padding: 0 4px;
   margin-bottom: 0;
 }

 .nav_wrap nav .inner-ul li {
   padding: 0 10px;
   margin-bottom: 0;
   transition: height 0.5s ease;
   font-size: 1.4rem;
   border-bottom: none;
   background-color: #E6E6E6;
   position: relative;
 }

 .nav_wrap nav .inner-ul li::before {
   content: "";
   width: 0;
   height: 0;
   border-top: 5px solid transparent;
   border-bottom: 5px solid transparent;
   border-left: 7.5px solid #010101;
   position: absolute;
   top: 50%;
   left: 10px;
   z-index: 1;
   transform: translateY(-50%);
 }

 .nav_wrap nav .inner-ul li a {
   color: #010101;
   padding: 20px 10px;
   border-bottom: 1px dashed #010101;
 }

 .nav_wrap nav .inner-ul li:last-child a {
   border-bottom: none;
 }

 .accordion-open {
   transition: all 0.5s;
 }

 .nav_wrap::-webkit-scrollbar {
   display: none;
 }

 /* MV */
 .MV {
   position: relative;
   background-color: #E5E5E5;
 }

 .MV_slide {
   width: 100%;
 }

 .MV_slide .slide {
   width: auto;
 }

 .MV-text {
   position: absolute;
   width: 35%;
   left: 20%;
   top: 15%;
 }

 .table_wrap {
   width: 90%;
   margin: 0 auto;
   max-width: 580px;
   padding: 20px 0;
 }

 .table_wrap .address {
   padding: 20px 0;
   word-break: keep-all;
 }

 .time-table {
   padding: 2%;
   background: #ffffff;
   margin: 0 auto;
 }

 .biz-hour {
   width: 100%;
   border-collapse: collapse;
 }

 .biz-hour .U_bar {
   border-bottom: 1px solid var(--black);
 }

 .biz-hour td,
 .biz-hour th {
   text-align: center;
   line-height: 2.4;
   color: var(--black);
   padding: 2%;
 }

 .biz-hour th:first-of-type {
   width: 35%;
   max-width: 150px;
 }

 .biz-txt {
   margin: 0 auto;
 }

 /* 共通 */
 section {
   position: relative;
   padding: min(10vw, 80px) 0 min(12vw, 120px);
 }

 .deco {
   position: absolute;
   z-index: 0;
 }

 .opacity {
   opacity: 0.35;
 }

 .inner {
   width: 90%;
   margin: 0 auto;
   position: relative;
   z-index: 2;
   display: flex;
   flex-direction: column;
   gap: min(8vw, 40px);
 }

 .line_deco {
   position: relative;
 }

 .line_deco::after {
   content: "";
   width: 100%;
   height: 100%;
   border: 1px solid #4E4449;
   border-bottom: none;
   border-left: none;
   position: absolute;
   top: max(-1.2vw, -20px);
   left: min(1.2vw, 20px);
 }

 .section_ttl {
   color: #546FA6;
   font-size: clamp(5.4rem, 12vw, 15rem);
   display: flex;
   flex-direction: column;
   line-height: 1.2;
 }

 .section_ttl span.ja {
   color: var(--black);
   font-size: clamp(1.8rem, 4vw, 3.5rem);
 }

 #top_news .section_ttl {
   font-size: clamp(3.4rem, 8vw, 4rem);
   opacity: 1;
   color: var(--black);
 }

 #top_news .section_ttl span {
   font-size: clamp(1.4rem, 4vw, 1.8rem);
 }

 .news_list_wrap {
   max-height: 300px;
   overflow-y: auto;
   border: 1px solid var(--black);
   border-right: none;
   padding: 2%;
 }

 .news_list_wrap li {
   padding: 4% 2%;
   border-bottom: 1px dotted var(--black);
 }

 .news_list_wrap li a {
   text-align: left;
 }

 #top_news {
   overflow: hidden;
 }

 #top_news .deco {
   width: 0;
   height: 0;
   border-left: 0 solid transparent;
   border-bottom: 100vw solid #F4F0EB;
   border-right: 80vw solid transparent;
   left: 0;
   bottom: 0;
 }

 #top_concept {
   background-image: url(../img/bg_concept.png);
   background-size: cover;
   background-position: center;
 }

 #top_concept .deco {
   width: 0;
   height: 0;
   border-left: 0 solid transparent;
   border-top: 150vw solid rgba(255, 255, 255, 0.5);
   border-right: 100vw solid transparent;
   top: 0;
   right: 0;
 }

 #top_concept .inner {
   width: 100%;
 }

 #top_concept .section_lead {
   color: #ffffff;
   font-family: var(--ten);
   font-size: clamp(1.6rem, 4.6vw, 2.8rem);
   word-break: keep-all;
 }

 #top_concept .section_lead span {
   color: var(--blue);
   font-size: clamp(2.0rem, 5.4vw, 4.0rem);
 }

 #top_concept .concept_bg {
   background-color: rgba(255, 255, 255, 0.6);
   padding: min(6%, 50px) 0;
 }

 #top_concept .concept_bg p {
   width: 90%;
   margin: 0 auto;
 }

 #top_feature {
   overflow: hidden;
 }

 .feature-contentWrap {
   padding: min(8vw, 100px) 0 min(12vw, 160px);
   display: flex;
   flex-direction: column;
   gap: min(10vw, 80px);
 }

 .feature-content {
   padding: min(8vw, 80px) 0;
   display: flex;
   flex-direction: column;
   gap: min(4vw, 40px);
   position: relative;
 }

 .feature-content::before {
   content: "";
   width: 100vw;
   height: 100%;
   background-color: rgba(255, 255, 255, 0.5);
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
   position: absolute;
   top: 0;
   left: -3vw;
 }

 .feature-content:nth-of-type(even):before {
   content: "";
   width: 100vw;
   height: 100%;
   background-color: rgba(255, 255, 255, 0.7);
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
   position: absolute;
   top: 0;
   left: auto;
   right: -3vw;
 }

 .content_img {
   position: relative;
   z-index: 2;
 }

 .feature-content_textWrap {
   display: flex;
   flex-direction: column;
   gap: min(2vw, 40px);
   position: relative;
   z-index: 2;
 }

 .feature-content_textWrap h3 {
   font-size: clamp(2.4rem, 8vw, 10rem);
   line-height: 1;
 }

 .feature-content_textWrap h3 span {
   font-size: clamp(1.6rem, 4.8vw, 3.0rem);
 }

 .feature-content_textWrap p {
   word-break: keep-all;
   font-size: clamp(1.6rem, 4.8vw, 3.0rem);
 }

 #top_feature .deco02 {
   width: 0;
   height: 0;
   border-left: 0 solid transparent;
   border-top: 100vw solid rgba(242, 242, 242, 0.5);
   border-right: 100vw solid transparent;
   top: 0;
   right: 0;
   z-index: 2;
 }

 #top_feature .deco01 {
   width: 0;
   height: 0;
   border-left: 100vw solid rgba(244, 240, 235, 1);
   border-top: 120vw solid transparent;
   border-bottom: 120vw solid transparent;
   top: 50%;
   right: 0;
   z-index: -1;
   transform: translateY(-50%);
 }

 #top_feature .deco03 {
   width: 0;
   height: 0;
   border-right: 100vw solid #F2F2F2;
   border-top: 120vw solid transparent;
   border-bottom: 120vw solid transparent;
   bottom: 0;
   right: 0;
   z-index: -1;
   transform: translateY(20%);
 }

 #top_feature .wrap02 {
   width: 90%;
   margin: 0 auto;
   padding-top: 0;
 }

 #top_feature .wrap02 .feature-content:nth-of-type(even)::before {
   top: 0;
   left: -3vw;
   right: auto;
 }

 #top_feature .wrap02 .feature-content:nth-of-type(odd):before {
   right: -3vw;
   left: auto;
 }

 #top_gallery {
   box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
 }

 .top_slide .slide {
   margin-right: 2vw;
   width: 60vw;
 }

 .top_slide .slide:nth-of-type(even) {
   margin-top: min(12vw, 160px);
 }

 .top_slide .slide:nth-of-type(odd) {
   margin-bottom: min(12vw, 160px);
 }

 #top_medical .content_wrap {
   padding: min(8vw, 100px) 0 min(12vw, 160px);
   display: flex;
   flex-direction: column;
   gap: min(10vw, 80px);
 }

 #top_medical .content_img {
   width: 90%;
   position: relative;
   z-index: 2;
 }

 #top_medical .text_wrap {
   width: 95%;
   margin: max(-15vw, -140px) 0 0 auto;
   padding: min(8vw, 90px) 3%;
   display: flex;
   flex-direction: column;
   gap: min(5vw, 30px);
   position: relative;
 }

 #top_medical .text_wrap::before {
   content: "";
   width: 100%;
   height: 100%;
   background-color: #E6E6E6;
   position: absolute;
   top: 0;
   left: 0;
   z-index: -1;
 }

 #top_medical .text_wrap h3 {
   display: flex;
   flex-direction: column;
   font-size: min(10vw, 8.5rem);
   color: var(--green);
   line-height: 1.5;
   position: relative;
   z-index: 10;
 }

 #top_medical .text_wrap h3 span {
   font-size: clamp(1.6rem, 4.8vw, 3.0rem);
   color: var(--black);
 }

 #top_medical .text_wrap p {
   text-align: justify;
 }

 .more {
   width: 60%;
   max-width: 350px;
   margin: 0 auto;
 }

 #top_medical .content02 .text_wrap::before {
   background-color: #F4F0EB;
 }

 #top_medical .content_wrap.wrap_02 {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
   gap: 20px 10px;
 }

 #top_medical .content_wrap.wrap_02 .content {
   aspect-ratio: 360/380;
   padding: 15% 0;
   position: relative;
 }

 #top_medical .content_wrap.wrap_02 .content::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: url(../img/medical01.png);
   background-size: cover;
   background-position: center;
   z-index: 0;
   transition: filter 0.3s;
 }

 #top_medical .content_wrap.wrap_02 .content:hover::before {
   filter: blur(3px);
 }

 #top_medical .content_wrap.wrap_02 .content a {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   width: 100%;
   height: 100%;
   color: #ffffff;
   font-family: var(--ja);
   position: relative;
   z-index: 10;
   transition: all 0.3s;
   font-size: 1.6rem;
 }

 #top_medical .content_wrap.wrap_02 .content a:hover {
   opacity: 1;
   transform: scale(1.02);
 }

 #top_medical .content_wrap.wrap_02 .content a img {
   width: 40px;
   margin: 0 auto;
 }

 #top_medical .content_wrap.wrap_02 .content a .arrow img {
   width: 20px;
 }

 #top_medical .content_wrap.wrap_02 .content:nth-of-type(2):before {
   background-image: url(../img/medical02.png);
 }

 #top_medical .content_wrap.wrap_02 .content:nth-of-type(3):before {
   background-image: url(../img/medical03.png);
 }

 #top_medical .content_wrap.wrap_02 .content:nth-of-type(4):before {
   background-image: url(../img/medical04.png);
 }

 #top_medical .content_wrap.wrap_02 .content:nth-of-type(5):before {
   background-image: url(../img/medical05.png);
 }

 #top_medical .content_wrap.wrap_02 .content:nth-of-type(6):before {
   background-image: url(../img/medical06.png);
 }

 #top_flow {
   background: linear-gradient(180deg, #f8f8f8 10%, #d7d7d7 90%);
   padding-top: 0
 }

 #top_flow .section_lead {
   font-size: clamp(1.6rem, 4vw, 2.8rem);
   word-break: keep-all;
 }

 .flow_Wrap {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 40px;
 }

 .flow_Wrap li {
   width: 100%;
   max-width: 600px;
   margin: 0 auto;
 }

 .flow_Wrap li .text_wrap {
   border: min(1vw, 5px) solid #B5A07A;
   padding: 4%;
   display: flex;
   flex-direction: column;
   gap: 20px;
   position: relative;
   background-color: #ffffff;
 }

 .flow_Wrap li .text_wrap::before {
   content: "";
   width: 0;
   height: 0;
   border-right: 20px solid transparent;
   border-left: 20px solid transparent;
   border-top: 20px solid #B5A07A;
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%);
 }

 .flow_Wrap li:nth-child(even) .text_wrap {
   border: min(1vw, 5px) solid #B6B8B2;
 }

 .flow_Wrap li:nth-child(even) .text_wrap::before {
   border-top: 20px solid #B6B8B2;
 }

 .flow_Wrap li:last-child .text_wrap::before {
   display: none;
 }

 .flow_Wrap li .text_wrap h3 {
   display: flex;
   flex-direction: column;
   color: var(--green);
   line-height: 1.5;
   border-bottom: 1px solid var(--green);
   font-size: clamp(2.2rem, 4.6vw, 4.5rem);
   width: 100%;
   padding-bottom: 10px;
 }

 .flow_Wrap li .text_wrap h3 .ja {
   font-size: clamp(1.6rem, 4vw, 2.6rem);
 }

 .flow_Wrap li .text_wrap p {
   text-align: justify;
   line-height: 1.5;
   letter-spacing: 0;
 }

 #top_hygiene {
   background: linear-gradient(-135deg, #4E4449 10%, rgba(188, 186, 187, 0.7) 90%);
   color: #ffffff;
 }

 #top_hygiene::before {
   width: 80%;
   height: 70%;
   content: "";
   background-image: url(../img/bg_hm.png);
   background-size: cover;
   background-repeat: no-repeat;
   background-position: left bottom;
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: -1;
 }

 #top_hygiene .content {
   gap: min(10vw, 80px);
   font-size: clamp(1.6rem, 3.7vw, 2.0rem);
 }

 #top_hygiene .content h3 {
   font-size: clamp(2.2rem, 3.7vw, 3.2rem);
   display: flex;
   flex-direction: column;
   margin-bottom: 20px;
 }

 #top_hygiene .content h3 span {
   font-size: clamp(1.8rem, 3.7vw, 2.4rem);
 }

 #top_system {
   padding-top: min(12vw, 140px);
 }

 #top_system h2 {
   font-family: var(--en);
   color: var(--blue);
   opacity: 0.35;
   font-size: min(7vw, 10rem);
   line-height: 1;
   position: absolute;
   top: 0;
   right: 0;
 }

 #top_system .deco01 {
   width: 90%;
   height: 60%;
   background-color: #F2F7F8;
   top: 0;
   left: 0;
 }

 #top_system .deco02 {
   width: 90%;
   height: 60%;
   background-color: #E6F4F6;
   bottom: 0;
   right: 0;
 }

 #top_system .content_textWrap {
   background-color: #ffffff;
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
   padding: 4%;
   display: flex;
   flex-direction: column;
   gap: 20px;
 }

 #top_system .content_textWrap h3 {
   font-family: var(--ja);
   font-size: clamp(2.0rem, 3.7vw, 2.8rem);
   line-height: 1.5;
 }

 #top_system .content_textWrap p {
   text-align: justify;
   font-size: clamp(1.6rem, 3.7vw, 2.0rem);
 }

 #top_greeting .deco01 {
   width: 95%;
   height: 80%;
   background-color: #F2F2F2;
   bottom: 5%;
   left: 0;
   position: absolute;
   z-index: -1;
 }

 #top_greeting .deco02 {
   width: 0;
   height: 0;
   border-left: 0 solid transparent;
   border-bottom: 30vw solid #E6E6E6;
   border-right: 50vw solid transparent;
   left: 0;
   bottom: 5%;
 }

 #top_greeting h2 {
   font-size: clamp(3.0rem, 5vw, 5.0rem);
   text-align: center;
 }

 #top_greeting .content_textWrap {
   width: 90%;
   margin: 0 auto;
   text-align: justify;
 }

 #top_greeting .section_lead {
   text-align: left;
   word-break: keep-all;
   font-size: clamp(2.0rem, 3.7vw, 2.8rem);
   margin-bottom: 20px;
   line-height: 1.5;
 }

 #top_greeting .content_img {
   width: 90%;
   margin: 0 0 0 auto;
 }

 .access {
   padding-top: 0;
   background-color: #F4F0EB;
 }

 .custom-shape-divider-top-1732146600 {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   overflow: hidden;
   line-height: 0;
 }

 .custom-shape-divider-top-1732146600 svg {
   position: relative;
   display: block;
   width: calc(500% + 1.3px);
   height: 132px;
 }

 .custom-shape-divider-top-1732146600 .shape-fill {
   fill: #F4F0EB;
 }

 .access {
   padding: 0;
 }

 .access .flex {
   gap: 20px;
 }

 .access .content {
   display: flex;
   flex-direction: column;
   gap: 10px;
   max-width: 500px;
   margin: 0 auto;
 }

 .access .logo {
   width: 80%;
   max-width: 380px;
   margin: 0 auto;
 }

 .access .content {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 20px;
 }

 .address {
   word-break: keep-all;
   text-align: left;
 }

 .access .btn {
   width: 80%;
   max-width: 380px;
   margin: 0 auto;
 }

 .access dl {
   display: flex;
   flex-wrap: wrap;
   margin: 0 auto;
   max-width: 370px;
 }

 .access dt {
   width: 80px;
 }

 .access dd {
   width: calc(100% - 80px);
   text-align: left;
 }

 .access .table_wrap {
   width: 100%;
 }

 .map {
   padding: 0;
   width: 100%;
   margin: 0 auto;
 }

 .map iframe {
   display: block;
   width: 100%;
   height: 450px;
 }

 .cr {
   padding: 16px 0;
   color: #ffffff;
   font-size: 1.6rem;
   text-align: center;
   background-color: #B6B8B2;
 }

 #go_top {
   width: 40px;
   position: fixed;
   bottom: 5px;
   right: 5px;
   z-index: 900;
   opacity: 1;
   border-radius: 50%;
   box-shadow: 0px 0px 6px rgba(255, 255, 255, 1);
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   body {
     font-size: 1.8rem;
   }

   .sp_none {
     display: block;
   }

   .pc_none {
     display: none;
   }

   .flex {
     flex-direction: row;
   }

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

   #sp-nav {
     display: none;
   }

   header {
     position: absolute;
     left: 0;
     z-index: 10;
     width: 100%;
   }

   .header_inner {
     width: 100%;
     display: flex;
     align-items: flex-start;
     justify-content: space-between;
     gap: 40px;
   }

   .header_inner .logo {
     width: 380px;
   }

   .header_right {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: flex-end;
     margin-right: 2vw;
     gap: 8px;
     width: 35%;
     max-width: 500px;
     font-size: clamp(1.4rem, 1vw, 1.8rem);
     color: #ffffff;
     margin-top: 20px;
   }

   .header_right .btn-wrap.flex {
     gap: 10px;
     align-items: center;
   }

   .MV-text {
     width: 20%;
   }

   .MV .table_wrap {
     position: absolute;
     bottom: 2%;
     right: 5%;
   }

   .MV .table_wrap p {
     color: #ffffff;
   }

   .float_wrap {
     z-index: 50;
     background-color: rgba(255, 255, 255, 1);
     display: flex;
     align-items: center;
     width: 100%;
     box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
   }

   .float_nav {
     width: 100%;
     display: flex;
     align-items: center;
     margin: 0 auto;
   }

   .float_wrap .pc_nav {
     width: 90%;
     max-width: 1080px;
     margin: 0 auto;
   }

   .nav_parent {
     display: flex;
     justify-content: space-between;
     align-items: center;
     width: 100%;
     padding-bottom: 0px;
   }

   .float_wrap .U_line {
     display: flex;
     justify-content: space-between;
     position: relative;
     font-size: 1.8rem;
     padding: 40px 0;
   }

   .float_wrap .U_line>a {
     width: 100%;
     height: 100%;
     display: flex;
     flex-direction: column;
     gap: 10px;
     line-height: 1;
     position: relative;
   }

   .float_wrap .U_line a::after {
     content: "";
     width: 1px;
     height: 20px;
     background-color: var(--black);
     position: absolute;
     bottom: 0;
     transform: translateY(233%);
     left: 50%;
     opacity: 0;
     transition: all .3s;
   }

   .float_wrap .U_line>a:hover:after {
     opacity: 1;
   }

   .float_wrap .U_line.active>a::after {
     opacity: 1;
   }

   .float_nav .nav_child {
     position: absolute;
     left: 50%;
     top: calc(100% + 10px);
     transform: translateX(-50%);
     z-index: 4;
     width: 120px;
     visibility: hidden;
     opacity: 0;
     transition: all .3s;
     display: flex;
     flex-direction: column;
     gap: 4px;
     width: 200px;
   }

   .float_nav .nav_child li {
     background: #ffffff;
     width: 100%;
   }

   .float_nav .has-child li a {
     display: block;
     padding: 4px 0;
     width: 100%;
     font-size: 1.5rem;
     height: 101%;
   }

   nav li.has-child:hover>ul,
   nav li.has-child ul li:hover>ul,
   nav li.has-child:active>ul,
   nav li.has-child ul li:active>ul {
     visibility: visible;
     opacity: 1;
   }

   /*ナビゲーションaタグの形状*/
   .float_nav .nav_child li a {
     color: var(--green);
     display: flex;
     justify-content: center;
     align-items: center;
   }

   .float_nav nav li.has-child ul li a:hover,
   .float_nav nav li.has-child ul li a:active {
     background: var(--green);
     color: #ffffff;
   }

   .float_wrap.fixed {
     position: fixed;
     background-color: rgba(255, 255, 255, 0.6);
     bottom: auto;
     top: 0;
     left: 0;
     padding: 0;
     width: 100%;
     max-width: none;
     transform: none;
   }

   .float_wrap.fixed .pc_nav {
     padding: 0 40px;
     width: 100%;
   }

   .float_wrap.fixed .U_line a::after {
     bottom: 0;
     transform: translateY(147%);
   }

   .float_btnWrap {
     display: flex;
     flex-direction: column;
     gap: 1vw;
     width: min(5vw, 40px);
     position: fixed;
     bottom: 10%;
     right: -100%;
     transition: all 0.5s;
   }

   .float_btnWrap.fixed {
     right: 0;
     z-index: 100;
   }

   .inner {
     max-width: 1200px;
   }

   #top_news .inner {
     flex-direction: row;
     align-items: center;
     border-top: 1px solid var(--black);
     border-bottom: 1px solid var(--black);
   }

   .news_list_wrap {
     border-top: none;
     border-bottom: none;
   }

   #top_news .section_ttlwrap {
     padding: 0 40px;
   }

   .news_list_wrap {
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
   }

   .news_list_wrap li a {
     display: flex;
     gap: 10%;
   }

   #top_news .deco {
     width: 0;
     height: 0;
     border-left: 0 solid transparent;
     border-bottom: 50vw solid #F4F0EB;
     border-right: 50vw solid transparent;
     left: 0;
     bottom: 0;
   }

   #top_concept {
     padding: min(10vw, 150px) 0;
   }

   #top_concept .section_ttl {
     margin-bottom: 40px;
   }

   #top_concept .concept_bg p {
     font-size: 2.0rem;
     max-width: 1000px;
     text-align: justify;
   }

   #top_concept .deco {
     border-left: 0 solid transparent;
     border-top: 60vw solid rgba(255, 255, 255, 0.5);
     border-right: 100vw solid transparent
   }

   .feature-contentWrap {
     gap: 85px;
   }

   .feature-content {
     flex-direction: row-reverse;
   }

   .feature-content:nth-of-type(even) {
     flex-direction: row;
   }

   .feature-content .content_img {
     width: 50%;
   }

   .feature-content_textWrap {
     width: 50%;
   }

   #top_feature .wrap02 {
     max-width: 1670px;
     display: flex;
     flex-direction: row;
     gap: 70px;
   }

   #top_feature .wrap02 .feature-content:nth-of-type(even)::before {
     display: none;
   }

   #top_feature .wrap02 .feature-content:nth-of-type(odd):before {
     display: none;
   }

   #top_feature .wrap02 .feature-content {
     flex-direction: column;
     gap: 0;
     width: 50%;
   }

   #top_feature .wrap02 .feature-content .content_img {
     width: 100%;
   }

   #top_feature .wrap02 .feature-content_textWrap {
     width: 90%;
     margin: -60px auto 0;
     background-color: rgba(240, 240, 240, 0.5);
     padding: min(10%, 60px);
     box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
   }

   #top_feature .deco01 {
     width: 0;
     height: 0;
     border-left: 100vw solid rgba(244, 240, 235, 1);
     border-top: 60vw solid transparent;
     border-bottom: 60vw solid transparent;
     top: 50%;
     right: 0;
     z-index: -1;
     transform: translateY(-50%);
   }

   #top_feature .deco02 {
     border-top: 50vw solid rgba(242, 242, 242, 0.5);
     border-right: 100vw solid transparent;
     z-index: 2;
   }

   #top_feature .deco03 {
     width: 0;
     height: 0;
     border-right: 100vw solid #F2F2F2;
     border-top: 60vw solid transparent;
     border-bottom: 60vw solid transparent;
     bottom: 0;
     right: 0;
     z-index: -1;
     transform: translateY(30%);
   }

   #top_gallery {
     padding: 100px 0;
   }

   .top_slide .slide {
     width: 20vw;
   }

   #top_medical .content_wrap {
     flex-direction: row;
     width: 90%;
     max-width: 1720px;
     margin: 80px auto 0;
     gap: 10px;
     font-size: 2.0rem;
   }

   #top_medical .content01 {
     width: 50%;
   }

   #top_medical .content02 {
     width: 50%;
   }

   #top_medical .text_wrap h3 {
     font-size: min(5vw, 8.5rem);
   }

   #top_medical .text_wrap p {
     width: 85%;
     margin: 0 auto;
   }

   #top_medical .content_wrap.wrap_02 {
     display: flex;
     flex-wrap: wrap;
     gap: 40px;
     margin: 0 auto;
     padding: 0;
     width: 100%;
   }

   #top_medical .content_wrap.wrap_02 .content {
     width: calc((100% - 80px)/3);
     aspect-ratio: 360/380;
     padding: 20px;
   }

   #top_medical .content_wrap.wrap_02 .content:hover::before {
     filter: blur(5px);
   }

   #top_medical .content_wrap.wrap_02 .content a {
     justify-content: center;
     gap: 20px;
     font-size: min(3vw, 3.0rem);
   }

   #top_medical .content_wrap.wrap_02 .content a img {
     width: min(5vw, 70px);
   }

   #top_medical .content_wrap.wrap_02 .content a .arrow img {
     width: min(3vw, 40px);
   }

   #top_flow .inner {
     max-width: 1500px;
   }

   .flow_Wrap {
     flex-wrap: nowrap;
   }

   .flow_Wrap li .text_wrap {
     padding: 40px 5% 60px;
   }

   .flow_Wrap li .text_wrap::before {
     border-bottom: 20px solid transparent;
     border-top: 20px solid transparent;
     border-left: 20px solid #B5A07A;
     position: absolute;
     top: 50%;
     left: 100%;
     transform: translateY(-50%);
   }

   .flow_Wrap li:nth-child(even) .text_wrap::before {
     border-top: 20px solid transparent;
     border-left: 20px solid #B5A07A;
   }

   #top_hygiene {
     padding: 150px 0;
   }

   #top_hygiene .inner {
     max-width: 1430px;
   }

   #top_hygiene .content {
     align-items: center;
   }

   #top_hygiene .content>* {
     width: 50%;
   }

   #top_hygiene::before {
     width: 50%;
     height: auto;
     aspect-ratio: 1000/667;
   }

   #top_system .content {
     max-width: 1275px;
     align-items: center;
     justify-content: flex-end;
   }

   #top_system .content_textWrap {
     width: 50%;
     max-width: 750px;
     margin: 0;
   }

   #top_system .deco01 {
     width: 75%;
   }

   #top_system .deco02 {
     width: 75%;
   }

   #top_greeting {
     padding-top: 10vw;
     margin-bottom: 200px;
   }

   #top_greeting .content {
     width: 80%;
     max-width: 1200px;
     margin: 0 auto;
     position: relative;
     justify-content: flex-start;
   }

   #top_greeting .content_textWrap {
     width: 50%;
     position: relative;
     margin: 0 auto 0 0;
     font-size: 2.0rem;
   }

   #top_greeting .section_lead {
     font-size: min(2vw, 2.8rem);
   }

   #top_greeting .content h2 {
     -webkit-transform: rotate(90deg);
     -ms-transform: rotate(90deg);
     transform: rotate(90deg) translate(30%, -80%);
     position: absolute;
     display: block;
     top: 0;
     right: 100%;
   }

   #top_greeting .content_img {
     position: absolute;
     width: 50vw;
     top: 0;
     right: 0;
   }

   #top_greeting .deco01 {
     width: 75%;
     height: 80%;
     background-color: #F2F2F2;
     bottom: 5%;
     left: 0;
     position: absolute;
     z-index: -1;
   }

   #top_greeting .deco02 {
     width: 0;
     height: 0;
     border-left: 0 solid transparent;
     border-bottom: 20vw solid #E6E6E6;
     border-right: 50vw solid transparent;
     left: 0;
     bottom: 5%;
   }

   .access .inner {
     max-width: 1200px;
     margin: 0 auto 80px;
     align-items: center;
   }

   .access .map {
     padding: 0;
   }

   .access .map iframe {
     height: 30vw;
     vertical-align: bottom;
     margin: 0;
   }

   footer {
     background-color: #E6E6E6;
     padding-top: 40px;
   }

   footer nav {
     max-width: 1000px;
     margin: 0 auto 40px;
   }

   footer ul {
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     justify-content: space-between;
   }

   #go_top {
     width: 60px;
     bottom: 20px;
     right: 20px;
   }
 }

 /* 下層共通 */
 .h2_ttl {
   background: url("../img/bg_doctor.png") no-repeat center / cover;
   text-align: center;
   font-weight: 700;
   font-size: max(3vw, 3rem);
   padding: max(10vw, 6rem) 0 max(6vw, 5rem);
   color: #ffffff;
 }

 .h2_ttl h2 {
   display: flex;
   flex-direction: column;
   font-size: max(3vw, 3rem);
   font-family: var(--ja);
 }

 .h2_ttl h2 span {
   font-family: var(--en);
   font-size: max(1vw, 2rem);
 }

 .U_section_ttl {
   position: relative;
   padding: min(6vw, 50px) 0;
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
 }

 .U_section_ttl::before {
   content: "";
   height: 100%;
   aspect-ratio: 300/140;
   max-width: 500px;
   background-image: url(../img/secttl_deco01.png);
   background-size: 100% 100%;
   background-repeat: no-repeat;
   background-position: right bottom;
   position: absolute;
   bottom: 0;
   left: 0;
 }

 .U_section_ttl::after {
   content: "";
   height: 100%;
   aspect-ratio: 300/140;
   max-width: 500px;
   background-image: url(../img/secttl_deco02.png);
   background-size: 100% 100%;
   background-repeat: no-repeat;
   background-position: right bottom;
   position: absolute;
   bottom: 0;
   right: 0;
 }

 .U_section_ttl h3 {
   font-size: clamp(2.2rem, 4vw, 4.0rem);
   font-family: var(--ja);
   position: relative;
   line-height: 1;
 }

 .U_section .inner {
   gap: min(8vw, 80px);
   margin-top: min(5vw, 100px);
 }

 .U_section .content_textWrap {
   display: flex;
   flex-direction: column;
 }

 .U_section .content p {
   text-align: justify;
 }

 .U_section .name {
   font-size: clamp(2.2rem, 4vw, 4.0rem);
   margin-bottom: 20px;
   border-bottom: 1px solid var(--black);
 }

 .U_section .name span {
   font-size: clamp(1.6rem, 3vw, 3.4rem);
   margin-right: 20px;
 }

 #doctor_interview h4 {
   font-size: clamp(2.0rem, 3vw, 3.4rem);
   text-align: justify;
 }

 .interview_wrap {
   display: flex;
   flex-direction: column;
   gap: min(8vw, 40px);
 }

 #doctor_interview .interview_wrap h4.interview_ttl {
   background-color: var(--green);
   color: #ffffff;
   font-weight: 400;
   font-size: clamp(1.6rem, 3.8vw, 2.4rem);
   line-height: 1.5;
   text-align: center;
   word-break: keep-all;
   padding: min(2%, 20px);
 }

 #doctor_interview .interview_wrap p {
   border: 1px solid var(--black);
   padding: min(2%, 30px) min(2%, 50px);
   text-align: justify;
 }

 #doctor_interview {
   margin-bottom: 200px;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .U_section_ttl::before {
     aspect-ratio: 500/140;
   }

   .U_section_ttl::after {
     aspect-ratio: 500/140;
   }

   .U_section .content {
     align-items: center;
   }

   .U_section .content.reverse {
     flex-direction: row-reverse;
   }

   .U_section .content.flex>* {
     width: 50%;
   }

   #doctor_interview .interview_wrap p {
     padding: min(2%, 30px) min(5%, 50px);
   }
 }

 #clinic_concept .bg {
   background-image: url(../img/concept_bg.png);
   background-size: cover;
   padding: min(5vw, 100px) 0;
 }

 #clinic_concept .content {
   width: 90%;
   background-color: rgba(255, 255, 255, 0.8);
   padding: min(8vw, 100px) min(4vw, 50px);
   position: relative;
   max-width: 1000px;
   margin: 0 auto;
 }

 #clinic_concept .content::before {
   content: "";
   width: calc(100% + min(6vw, 100px));
   height: calc(100% + min(6vw, 100px));
   border: min(0.8vw, 20px) solid #ffffff;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
 }

 #clinic_concept .content p {
   text-align: justify;
   font-size: clamp(1.4rem, 3.3vw, 2rem);
 }

 .container {
   margin: 30px auto 0;
   max-width: 1150px;
   position: relative;
 }

 #clinic_slide {
   width: 90%;
   margin: 0 auto;
 }

 .arrow_box {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: space-between;
   position: absolute;
   width: 105%;
   top: 25%;
   left: 50%;
   transform: translateX(-50%);
 }

 .prev-arrow,
 .next-arrow {
   background-image: url(../img/slide_arrow.png);
   background-size: contain;
   background-repeat: no-repeat;
   width: min(5vw, 60px);
   aspect-ratio: 60/100;
   cursor: pointer;
 }

 .next-arrow {
   transform: rotate(180deg);
 }

 .thumbnail {
   width: 100%;
 }

 .thumbnail .slick-track {
   transform: unset !important;
 }

 .thumbnail-img {
   opacity: 0.3;
   transition: opacity .3s linear;
   width: calc((100% - 60px)/ 3) !important;
   margin: 10px;
 }

 .thumbnail .slick-current {
   opacity: 1;
 }

 .type01 {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
   gap: 10px;
 }

 .type01 .content_item p {
   padding: 4px;
   line-height: 1.5;
   font-size: clamp(1.2rem, 1.2vw, 2.4rem);
   color: #ffffff;
   font-family: var(--ja);
   background-color: #B5A07A;
   height: 45px;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .type01 .content_item:nth-of-type(even) p {
   background-color: #B6B8B2;
 }

 #clinic_facility {
   margin-bottom: 200px;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #clinic_wrapper .type01 {
     max-width: 1200px;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
     width: 100%;
     gap: 20px;
     margin: 0 auto;
   }

   .type01 .content_item p {
     height: 80px;
   }

   #clinic_wrapper .type01 p {
     font-size: 2.4rem;
   }
 }

 #medical_wrapper .anchor {
   margin-top: -60px;
   padding-top: calc(60px + min(10vw, 80px))
 }

 .U_section .content_img.shadow {
   position: relative;
   z-index: 2;
 }

 .U_section .content_img.shadow::before {
   content: "";
   width: 100%;
   height: 100%;
   background: linear-gradient(180deg, #4e4449 10%, #878284 90%);
   position: absolute;
   top: min(1.2vw, 20px);
   left: min(1.2vw, 20px);
   z-index: -1;
 }

 .U_section .medical_bg {
   background-color: #E6E6E6;
   padding: 5%;
   text-align: justify;
   position: relative;
 }

 .U_section .medical_bg::before {
   content: "";
   width: 100%;
   height: 100%;
   background-image: url(../img/medical_bg-deco.png);
   background-size: 100% 100%;
   background-repeat: no-repeat;
   background-position: center bottom;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 0;
 }

 .U_section .medical_bg p {
   position: relative;
   z-index: 2;
   font-size: clamp(1.6rem, 3.6vw, 2rem);
   max-width: 1000px;
   margin: 0 auto;
 }

 .U_section .medical_bg02 {
   background-color: #ffffff;
   padding: 5%;
   text-align: justify;
   position: relative;
   margin-top: 5%;
 }

 .U_section .medical_bg02::before {
   content: "";
   width: 100vw;
   height: 55%;
   background-color: #F4F0EB;
   position: absolute;
   top: -3%;
   left: 50%;
   z-index: -1;
   transform: translateX(-50%)
 }

 .U_section .medical_bg02::after {
   content: "";
   width: 100vw;
   height: 55%;
   background-color: #C7B79B;
   position: absolute;
   bottom: -3%;
   left: 50%;
   z-index: -1;
   transform: translateX(-50%)
 }

 .U_section .medical_bg02 p {
   position: relative;
   z-index: 2;
   font-size: clamp(1.6rem, 3.6vw, 2rem);
   max-width: 1000px;
   margin: 0 auto;
 }

 #correction {
   overflow: hidden;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #medical_wrapper .anchor {
     margin-top: -120px;
     padding-top: calc(120px + min(10vw, 80px))
   }

   .U_section .medical_bg02::before {
     top: -5%;
   }

   .U_section .medical_bg02::after {
     bottom: -5%;
   }
 }

 #access_info {
   background: linear-gradient(to bottom, #ffffff 30%, #ffffff 30%, #F6F6F6 0%, #F6F6F6 70%);
   margin-bottom: 80px;
   padding: min(10vw, 80px) 0 min(12vw, 120px);
 }
  #access_info.U_section .content p.address {
   text-align: left;
 }
 #access_access {
   margin-bottom: 200px;
 }

 #access_access .map {
   width: 100%;
 }

 .type_blue {
   width: 100%;
   border: 1px solid var(--blue);
   border-bottom: none;
   max-width: 480px;
   margin: 0 auto;
 }

 .type_blue tr {
   display: flex;
   flex-direction: column;
 }

 .type_blue th {
   width: 100%;
   padding: 10px;
   background-color: var(--blue);
   color: #ffffff;
 }

 .type_blue td {
   width: 100%;
   padding: 10px;
   border-bottom: 1px solid var(--blue);
   text-align: left;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   #access_info {
     background: linear-gradient(to bottom, #ffffff 30%, #ffffff 55%, #F6F6F6 0%, #F6F6F6 45%);
   }

   #access_info .content_img {
     max-width: 900px;
     margin: 0 auto;
   }

   #access_info .flex {
     width: 100%;
     align-items: center;
   }

   #access_access .inner {
     max-width: 1200px;
     padding-top: 40px;
   }

   #access_access .inner iframe {
     height: 600px;
   }

   .type_blue {
     max-width: 900px;
   }

   .type_blue tr {
     display: flex;
     flex-direction: row;
   }

   .type_blue th {
     width: 250px;
     padding: 20px;
   }

   .type_blue td {
     padding: 20px;
     width: calc(100% - 250px);
     justify-content: flex-start;
   }
 }

 #fee_01 .U_content_ttl {
   position: relative;
   padding: min(4vw, 45px) 0;
   background-color: #4E4449;
   font-family: var(--ja);
   color: #ffffff;
   font-weight: 400;
   font-size: clamp(2.0rem, 4vw, 3.0rem);
   line-height: 1;
 }

 #fee_01 .U_content_ttl::before {
   content: "";
   height: 60%;
   aspect-ratio: 100/80;
   background-image: url(../img/c_ttl-deco01.png);
   background-size: 100% 100%;
   background-repeat: no-repeat;
   background-position: right bottom;
   position: absolute;
   top: 0;
   left: 0;
 }

 #fee_01 .U_content_ttl::after {
   content: "";
   height: 60%;
   aspect-ratio: 100/80;
   background-image: url(../img/c_ttl-deco02.png);
   background-size: 100% 100%;
   background-repeat: no-repeat;
   background-position: right bottom;
   position: absolute;
   bottom: 0;
   right: 0;
 }

 .U_section_ttl h3 {
   font-size: clamp(2.2rem, 4vw, 4.0rem);
   font-family: var(--ja);
   position: relative;
   line-height: 1;
 }

 .table_outer {
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
 }

 .type_green {
   width: 100%;
   border: 1px solid var(--green);
   border-bottom: none;
   font-weight: 400;
 }

 .type_green tr {
   display: flex;
   flex-direction: column;
 }

 .type_green th {
   width: 100%;
   padding: 10px;
   background-color: var(--green);
   color: #ffffff;
 }

 .type_green td {
   width: 100%;
   padding: 10px;
   border-bottom: 1px solid var(--green);
 }

 .type_green td.left {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 20px;
 }

 .table_outer p.right {
   font-size: clamp(1.0rem, 2vw, 1.4rem);
   text-align: left;
 }

 #fee_01 .inner {
   padding-bottom: min(8vw, 120px);
   gap: min(5vw, 50px);
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .type_green tr {
     display: flex;
     flex-direction: row;
   }

   .type_green th {
     width: 100%;
     padding: 20px;
   }

   .type_green td {
     padding: 20px;
     width: 100%;
   }

   .table_outer p.right {
     text-align: right;
   }
 }

 /* 載せ替え時追加（ここから） */
.news-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.news_row {
    display: flex;
    align-items: flex-start;
}

.date {
  width: 100px;
  white-space: nowrap;
  font-size: 14px;
  color: #010101;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin-right: 50px;
}

.content_wrap {
    flex: 1;
}

.ttl {
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
  color: #010101;
}

.content_wrap:not(:has(.ttl)) .news-content {
  margin-top: 0;
  padding-top: 0;
  display: flex;
  align-items: center;
  min-height: 1em;
}

.news-content {
  font-size: 15px;
  color: #010101;
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .news_row {
    display: block !important;
  }

  .date {
    width: auto !important;
    display: block !important;
    margin-bottom: 6px;
    white-space: normal !important;
  }

  .content_wrap {
    flex: none !important;
  }

  .ttl {
    display: block;
    font-size: 18px;
    margin-bottom: 6px;
  }

  .news-content {
    font-size: 15px;
    line-height: 1.5;
  }
}

#news-single .news_list_wrap {
  overflow-y: visible;
  border: none;
}

#news-single .date {
  font-size: 16px;
}

#news-single .ttl {
  font-size: 20px;
  text-align: left;
}

#news-single .news-content {
  font-size: 16px;
  text-align: left;
}

.content_wrap.has-title .news-content {
  display: block;
  align-items: initial;
}

.content_wrap.no-title .news-content {
  display: flex;
  align-items: center;
}

.news-detail__content-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 800px;
  margin: 5px auto;
  padding: 5px 10px;
  gap: 20px;
  font-size: 20px;
}

.news-detail__content-flex {
  margin-bottom: 150px;
}

.news-detail__content-flex a,
.news-detail__content-flex a:visited,
.news-detail__content-flex a:hover,
.news-detail__content-flex a:active {
  color: #000;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
#news-single .date {
    font-size: 16px;
    text-align: left;
}
}

@media screen and (max-width: 500px) {
  .news-detail__content-flex {
    font-size: 16px;
}
}

.news_list_wrap.single {
  overflow: visible;
  max-height: none;
}
 /* 載せ替え時追加（ここまで） */