@charset 'UTF-8';

/*  fv  */
#fv{
  margin: 0 calc(50% - 50vw);
  min-height: calc(100vh - ((70 + 60) * 18 / 14 * .1rem) );
}
@media screen and (min-height: 668px){
  #fv{
    min-height: auto;
  }
}
@media screen and (min-width: 768px){
  #fv{
    min-height: calc(100vh - 11.8rem);
  }
}
#fv .slide{
  height: calc(250 / 375 * 100vw);
  z-index: -10;
}
@media screen and (min-width: 768px){
  #fv .slide{
    height: calc( (100vh - 11.8rem) - ( 15.4rem / 2 + 1.0rem) );
    min-height: calc(650px - 11.8rem - ( 15.4rem / 2 + 1.0rem));
    max-height: calc( ((3 / 4 * 100vw) - 11.8rem) - ( 15.4rem / 2 + 1.0rem) );
  }
}
#fv ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
#fv .slide li{
  position: relative;
}
#fv .slide li::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 20;
  background: rgb(255, 255, 255);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  opacity: 0;
  -webkit-transform-origin: center right;
  transform-origin: center right;
  transition: .8s transform ease-in, .8s opacity ease-out .6s;
}
#fv .slide li:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-duplicate-active):not(.swiper-slide--duplicateprev)::before{
  -webkit-transform: none;
  transform: none;
  opacity: 1.0;
}
#fv .slide .image{
  height: 100%;
}
#fv .slide .image img{
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#fv .slide .text{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  transition: .8s opacity 1.0s ease-out;
}
#fv .slide li.swiper-slide-active .text{
  opacity: 1;
}
#fv .slide .text img{
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 767px){
  #fv .slide .text img[src*='slide01']{
    -o-object-position: 40% 50%;
    object-position: 40% 50%;
  }
  #fv .slide .text img[src*='slide03']{
    -o-object-position: 20% 50%;
    object-position: 20% 50%;
  }
}
#fv .target{
  margin-top: -7.7rem;
}
#fv .target ul{
  margin: 0 auto;
  display: -webkit-box;
  display: flex;
  justify-content: space-around;
  max-width: 105.0rem;
}
#fv .target li{
  position: relative;
  flex-basis: calc( 1 / 5 * 100%);
  flex-shrink: 0;
  transition: .8s transform ease-out, .8s opacity ease-in-out;
  box-sizing: border-box;
}
#fv .target li:nth-of-type(1){
  transition-delay: 0s;
}
#fv .target li:nth-of-type(2){
  transition-delay: .1s;
}
#fv .target li:nth-of-type(3){
  transition-delay: .2s;
}
#fv .target li:nth-of-type(4){
  transition-delay: .3s;
}
#fv .target li:nth-of-type(5){
  transition-delay: .4s;
}
#fv .slide:not(.swiper-container-initialized)+.target li{
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  opacity: 0;
}
#fv .target li::before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -10;
  margin: auto;
  width: 15.4rem;
  max-width: 90%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  box-sizing: border-box;
  background-color: rgb(255, 255, 255);
}
#fv .target a{
  display: block;
  font-family: var(--NotoSerifJP);
  font-size: 2.2rem;
  line-height: 1.46;
  text-align: center;
}
#fv .target li:nth-of-type(1) a{
  color: rgb(241, 157, 174);
}
#fv .target li:nth-of-type(2) a{
  color: rgb(141, 208, 141);
}
#fv .target li:nth-of-type(3) a{
  color: rgb(240, 150, 82);
}
#fv .target li:nth-of-type(4) a{
  color: rgb(104, 159, 202);
}
#fv .target li:nth-of-type(5) a{
  color: rgb(153, 131, 190);
}
#fv .target a::before{
  content: '';
  display: block;
  margin: 0 auto 1.0rem auto;
  width: 15.4rem;
  max-width: 90%;
  aspect-ratio: 1 / 1;
  border: solid 2px;
  border-radius: 50%;
  box-sizing: border-box;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
#fv .target li:nth-of-type(1) a::before{
  background-image: url(../images/ico_outpatient.svg);
  background-size: calc(70 / 150 * 100%) auto;
}
#fv .target li:nth-of-type(2) a::before{
  background-image: url(../images/ico_inpatient.svg);
  background-size: calc(82 / 150 * 100%) auto;
}
#fv .target li:nth-of-type(3) a::before{
  background-image: url(../images/ico_rehab.svg);
  background-size: calc(81.5 / 150 * 100%) auto;
}
#fv .target li:nth-of-type(4) a::before{
  background-image: url(../images/ico_concerned.svg);
  background-size: calc(74 / 150 * 100%) auto;
  background-position: 65% 50%;
}
#fv .target li:nth-of-type(5) a::before{
  background-image: url(../images/ico_dementia.svg);
  background-size: calc(92.5 / 150 * 100%) auto;
  background-color: rgb(255, 255, 255);
}
@media screen and (max-width: 767px){
  #fv .target ul{
    padding: calc(20 * 18 / 14 * .1rem) calc(26 / 375 * 100vw) calc(9 * 18 / 14 * .1rem) calc(26 / 375 * 100vw);
    padding: calc(20 * 18 / 14 * .1rem) 0 calc(9 * 18 / 14 * .1rem) 0;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    justify-content: center;
    max-width: 375px;
  }
  #fv .target li{
    padding-bottom: calc(9 * 18 / 14 * .1rem);
    flex-basis: calc(1 / 3 * 100%);
  }
  #fv .target li::before{
    content: none;
  }
  #fv .target li a{
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    height: 100%;
    font-family: var(--NotoSerifJP);
    font-size: calc(16 * 18 / 14 * .1rem);
    line-height: 1.4;
    text-align: center;
    word-break: keep-all;
  }
  #fv .target li a::before{
    content: '';
    margin-bottom: calc(3 * 18 / 14 * .1rem);
    display: inline-block;
    width: calc(85 * 18 / 14 * .1rem);
    height: calc(85 * 18 / 14 * .1rem);
    border: solid 1px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 55%;
  }
  #fv .target li:not(:last-of-type) a::before{
    background-color: currentColor;
  }
  #fv .target li:nth-of-type(1) a::before{
    background-image: url(../images/ico_outpatient.svg);
    background-size: auto calc(36.5 * 18 / 14 * .1rem);
  }
  #fv .target li:nth-of-type(2) a::before{
    background-image: url(../images/ico_inpatient.svg);
    background-size: auto calc(18 * 18 / 14 * .1rem);
  }
  #fv .target li:nth-of-type(3) a::before{
    background-image: url(../images/ico_rehab.svg);
    background-size: auto calc(43.2 * 18 / 14 * .1rem);
  }
  #fv .target li:nth-of-type(4) a::before{
    background-image: url(../images/ico_concerned.svg);
    background-size: auto calc(32.2 * 18 / 14 * .1rem);
    background-position: 65% 50%;
  }
  #fv .target li:nth-of-type(5) a::before{
    background-image: url(../images/ico_dementia.svg);
    background-size: auto calc(47 * 18 / 14 * .1rem);
  }
}

/*  components  */
.cmn_button a{
  min-width: 0;
}
.cmn_button a::after{
  content: none;
}
#news .cmn_button a{
  background-color: rgb(241, 157, 174);
}
#newpatient .cmn_button a{
  background-color: rgb(73, 131, 187);
}
#feature .cmn_button a{
  background-color: rgb(241, 157, 174);
}
#access .cmn_button a{
  background-color: rgb(73, 131, 187);
}
@media screen and (min-width: 768px){
  #access .cmn_button a{
    font-size: 1.4rem;
    font-weight: 500;
  }
}
#access .cmn_button a::after{
  content: '';
  margin-left: calc(7 / 14 * 1em);
  width: calc(13.5 / 14 * 1em);
  height: calc(20.5 / 14 * 1em);
  background: url(../images/ico_access.svg) no-repeat 50% 50%/contain;
}

#access .cmn_button a{
  background-color: rgb(73, 131, 187);
}
#wrapper>main>article{
  padding: 9.0rem 0;
}
#wrapper>main>article h2{
  margin: 0 0 calc(60 / 50 * 1em) 0;
  font-family: var(--NotoSerifJP);
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: calc(4 / 50 * 1em);
  text-align: center;
  color: rgb(114, 113, 113);
}
@media screen and (min-width: 768px){
  #wrapper>main>article h2{
    font-size: 5.0rem;
  }
}

/*  news  */
#wrapper #news{
  padding-bottom: 0;
}
#news .tab{
  padding: 0 0 3.0rem 0;
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  flex-wrap: wrap;
}
#news .tab li{
  margin-bottom: .9rem;
}
#news .tab li:not(:last-of-type){
  border-right: solid 1px rgb(51, 51, 51);
}
@media screen and (min-width: 768px){
  #news .tab li:first-of-type{
    border-left: solid 1px rgb(51, 51, 51);
  }
  #news .tab li:last-of-type{
    border-right: solid 1px rgb(51, 51, 51);
  }
}
#news .tab a{
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  font-size: calc(1.3rem * 18 / 14);
  line-height: 1.4;
  color: rgb(51, 51, 51);
}
#news .tab li:not(:first-of-type) a{
  padding-left: 0.5em;
}
#news .tab li:not(:last-of-type) a{
  padding-right: 0.5em;
}
@media screen and (min-width: 768px){
  #news .tab a{
    padding: 0 clamp(.5em, 56 / 1280 * 100vw, 5.6rem);
    min-height: 3.8rem;
    font-size: 2.3rem;
  }
  #news .tab li:not(:first-of-type) a,
  #news .tab li:not(:last-of-type) a{
    padding: 0 clamp(.5em, 56 / 1280 * 100vw, 5.6rem);
  }
}
#news .column{
  padding: 3.0rem;
  margin: 0 auto;
  max-width: 100.0rem;
  border-radius: 20px;
  background-color: rgb(255, 255, 255);
  box-sizing: border-box;
}
#news article{
  padding: 1.2rem 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}
@media screen and (min-width: 768px){
  #news article{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}
#news article{
  border-bottom: dotted 2px rgb(249, 129, 162);
}
#news article:not(.hidden){
  -webkit-animation: .4s fadein ease-out;
  animation: .4s fadein ease-out;
}
#news .artlist:not(.tabchg) article:nth-of-type(n+4),
#news article.hidden{
  display: none;
}
@media screen and (min-width: 768px){
  #news article:last-of-type,
  #news .artlist:not(.tabchg) article:nth-of-type(n+3),
  #news article.last{
    border-bottom: none;
  }
}
#news article h3{
  padding: .84rem 0 0 0;
  margin: 0;
}
@media screen and (min-width: 768px){
  #news article h3{
    max-width: calc(534 / 940 * 100%);
    -webkit-box-flex: 1;
    flex-grow: 1;
  }
}
#news article h3 a{
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.4;
  letter-spacing: 0.05em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#news article .meta{
  -webkit-box-ordinal-group: 0;
  order: -1;
  display: -webkit-box;
  display: flex;
}
#news article .cat ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
#news article .cat li:not(:first-of-type){
  padding-top: .4rem;
}
#news article .cat a{
  padding: .25em 1.4rem;
  margin: calc(1.12rem - .25em) 0;
  display: block;
  min-width: calc(13.0rem * 18 / 14);
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
  color: rgb(249, 129, 162);
  background-color: rgb(254, 239, 242);
  box-sizing: border-box;
}
@media screen and (min-width: 768px){
  #news article .cat a{
    padding: 1.12rem 1.4rem;
    margin: 0;
    min-width: 18.4rem;
  }
}
#news article time{
  padding: 1.2rem clamp(1em, 48 / 1280 * 100vw, 4.8rem);
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
#news .cmn_button{
  padding: calc(3.0rem * 18 / 14) 0 1.2rem 0;
}
@media screen and (min-width: 768px){
  #news .cmn_button{
    padding: 1.2rem 0;
  }
}

/*  newpatient  */
#wrapper #newpatient{
  padding-bottom: 0;
}
#newpatient section{
  padding: 6.0rem min( (50vw - 50%) / 2, ( 1366px - 1200px) / 2);
  margin: 0 max( (50% - 50vw) / 2, (1200px - 1366px) / 2);
  border-radius: 20px;
  background-color: rgb(255, 247, 239);
}
@media screen and (min-width: 768px){
  #newpatient section{
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto auto;
  }
  #newpatient h3{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  #newpatient ul{
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }
  #newpatient .cmn_button{
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
  #newpatient .desc{
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  #newpatient .call{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
}
#newpatient h3{
  padding-bottom: 4.8rem;
  margin: -.2em auto 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--NotoSerifJP);
  font-size: min( (21 * 18 / 14) / 375 * 100vw, 2.1rem * 18 / 14);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: rgb(249, 129, 162);
}
@media screen and (min-width: 768px){
  #newpatient h3{
    padding-bottom: 0;
    margin: -.2em 0 0 0;
    width: auto;
    font-size: min(42 / 1280 * 100vw, 4.2rem);
  }
}
#newpatient ul{
  padding: 0;
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
}
#newpatient li{
  padding: 0 2.0rem 1.7rem 2.0rem;
  flex-basis: calc(155 / 323 * 100%);
  border-radius: 20px;
  background-color: rgb(255, 255, 255);
  box-sizing: border-box;
}
#newpatient li:nth-of-type(n+3){
  margin-top: calc(13 / 323 * 100%);
}
@media screen and (min-width: 768px){
  #newpatient li{
    flex-basis: calc( 262 / 1200 * 100%);
  }
  #newpatient li:nth-of-type(n+3){
    margin-top: 0;
  }
}
#newpatient li figure{
  margin: 0;
  text-align: center;
}
#newpatient li figcaption{
  padding-top: 0.175em;
  font-size: 1.7rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
  color: rgb(51, 51, 51);
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  text-align: start;
}
#newpatient .cmn_button{
  padding-top: 4.8rem;
}
#newpatient .desc{
  padding: 3.8rem 0;
  font-size: 2.2rem;
  line-height: 1.6;
}
#newpatient .desc p{
  margin: 0;
  font-size: inherit;
  line-height:inherit;
  letter-spacing: 0.1em;
}
#newpatient .call{
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px){
  #newpatient .call{
    margin: 0;
  }
}
#newpatient .call p{
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: min(20 / 375 * 100vw, 2.0rem);
  line-height: 1.6;
  letter-spacing: calc(1.08 / 23 * 1em);
  text-align: right;
}
@media screen and (min-width: 768px){
  #newpatient .call p{
    font-size: min(23 / 1280 * 100vw, 2.3rem);
  }
}
#newpatient .call p span{
  font-family: var(--ShipporiMincho);
  font-weight: 600;
}
#newpatient .call a{
  margin-bottom: .8rem;
  display: block;
  font-family: var(--ShipporiMincho);
  font-size: min(46 / 375 * 100vw, 4.6rem);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgb(247, 79, 124);
  color: rgb(241, 157, 174);
  white-space: nowrap;
}
@media screen and (min-width: 768px){
  #newpatient .call a{
    margin-bottom: 0;
    font-size: min(53 / 1280 * 100vw, 5.3rem);
  }
}
#newpatient .call a::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  margin-right: 0.05em;
  width: calc(41 / 53 * 1em);
  height: 1em;
  background: url(../images/ico_tel.svg) no-repeat 50% 50%/contain;
  opacity: 0.5;
}

/*  feature  */
#feature ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 768px){
  #feature ul{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}
#feature li{
  flex-basis: calc(366 / 1200 * 100%);
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}
#feature li section{
  padding-top: 1.2rem;
  padding-bottom: 3.4rem;
}
@media screen and (min-width: 768px){
  #feature li section{
    padding-top: 3.4rem;
  }
}
#feature li h3{
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 2.8rem;
  line-height: 1.6;
  text-align: center;
  color: rgb(249, 129, 162);
}
#feature li .desc{
  padding: .54rem 0;
}
@media screen and (min-width: 768px){
  #feature li .desc{
    padding-top: 1.2rem;
  }
}
#feature li .desc p{
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
#feature li .image{
  -webkit-box-ordinal-group: 0;
  order: -1;
  text-align: center;
}
#feature li .image img{
  aspect-ratio: 3 / 2;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 20px;
}
@media screen and (min-width: 768px){
  #feature li .image img{
    aspect-ratio: auto;
    -o-object-fit: none;
    object-fit: none;
  }
}
@media screen and (min-width: 768px){
  #feature .container{
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
  }
  #feature .container .text{
    flex-basis: 50%;
    padding-left: calc(54 / 1200 * 100%);
    box-sizing: border-box;
  }
  #feature .container .chart{
    flex-basis: 50%;
    -webkit-box-ordinal-group: 0;
    order: -1;
    text-align: right;
  }
}
#feature .text h3{
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--NotoSerifJP);
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: rgb(249, 129, 162);
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  white-space: nowrap;
}
@media screen and (min-width: 768px){
  #feature .text h3{
    margin: 0;
    width: auto;
    font-size: min(38 / 1280 * 100vw, 3.8rem);
  }
}
#feature .text .desc{
  padding: 1.6rem 0;
}
@media screen and (min-width: 1280px){
  #feature .text .desc{
    padding-bottom: 0;
    margin-right: -1em;
  }
}
#feature .text .desc p{
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 2.0rem;
  line-height: 2.1;
  text-align: center;
}
@media screen and (min-width: 768px){
  #feature .text .desc p{
    text-align: start;
  }
  #feature .text .desc br{
    display: none;
  }
}
@media screen and (min-width: 1280px){
  #feature .text .desc br:not(.sp){
    display: inline-block;
  }
}
#feature .chart figure{
  margin: 0 auto;
  max-width: 366px;
}
@media screen and (min-width: 768px){
  #feature .chart figure{
    margin: 0;
    max-width: none;
  }
}
#feature .cmn_button{
  padding-top: 3.8rem;
}

/*  dept  */
#dept ul{
  padding: 0;
  margin: 0 auto;
  list-style: none;
}
@media screen and (min-width: 768px){
  #dept ul{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 105.0rem;
  }
}
#dept li{
  margin: 0 auto;
  max-width: 497px;
}
@media screen and (min-width: 768px){
  #dept li{
    margin: 0;
    flex-basis: calc(497 / 1050 * 100%);
  }
}
#dept li:not(:first-of-type){
  margin-top: 4.5rem;
}
@media screen and (min-width: 768px){
  #dept li:not(:nth-of-type(n+3)){
    margin-top: 0;
  }
}
#dept li a{
  display: block;
  border-radius: 20px;
  overflow: hidden;
}
#dept li p{
  margin: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  min-height: 5.462rem;
  font-family: var(--NotoSerifJP);
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  color: rgb(255, 255, 255);
  background-color: rgb(73, 131, 187);
}
@media screen and (min-width: 768px){
  #dept li p{
    min-height: 5.9rem;
  }
}

/*  welfare  */
#welfare ul{
  padding: 0;
  margin:  0 auto;
  list-style: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 497px;
}
@media screen and (min-width: 768px){
  #welfare ul{
    margin: 0;
    flex-wrap: nowrap;
    max-width: none;
  }
}
#welfare li{
  margin: 0;
  flex-basis: calc(155 / 323 * 100%);
  max-width: 279px;
}
#welfare li:nth-of-type(n+3){
  margin-top: calc(13 / 323 * 100%);
}
@media screen and (min-width: 768px){
  #welfare li{
    flex-basis: calc(279 / 1200 * 100%);
  }
  #welfare li:nth-of-type(n+3){
    margin-top: 0;
  }
}
#welfare li a{
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
}
#welfare li p{
  margin: 0;
  -webkit-box-flex: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  min-height: calc(86 / 24 * 1em);
  font-family: var(--NotoSerifJP);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: calc(0.6 / 24 * 1em);
  color: rgb(255, 255, 255);
  background-color: rgb(73, 131, 187);
}
@media screen and (min-width: 768px){
  #welfare li p{
    font-size: min(24 / 1280 * 100vw, 2.4rem);
  }
}
#welfare a[href*='nozomi'] p{
  background-color: rgb(116, 153, 199);
}
#welfare a[href*='kizuna'] p{
  background-color: rgb(241, 157, 174);
}
#welfare a[href*='yasuragi'] p{
  background-color: rgb(145, 124, 163);
}
#welfare a[href*='taimu'] p{
  background-color: rgb(141, 208, 141);
}
@media screen and (max-width: 767px){
  #welfare li .kern{
    padding: .25em .5em;
    display: block;
    line-height: 1.2;
    letter-spacing: 0;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
  }
}
@media screen and (min-width: 768px){
  #welfare li .kern{
    font-size: min(19 / 1280 * 100vw, 1.9rem);
    line-height: 1.2;
    letter-spacing: 0;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
  }
  #welfare li .cmn_kerning{
    -webkit-transform: scaleX(0.85);
    transform: scaleX(0.85);
    white-space: nowrap;
  }
}

/*  access  */
#wrapper #access{
  padding-bottom: 0;
}
@media screen and (min-width: 768px){
  #access .container{
    display: -webkit-box;
    display: flex;
    min-height: 30.8rem;
  }
  #access .text{
    flex-basis: 40.0rem;
    flex-shrink: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  #access .map{
    -webkit-box-flex: 1;
    flex-grow: 1;
  }
  #access .gmap{
    height: 100%;
  }
}
#access .text{
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px){
  #access .text{
    margin: 0;
    width: auto;
  }
}
#access .text p{
  margin: 0 0 1.8rem 0;
}
@media screen and (min-width: 768px){
  #access .text p{
    margin-bottom: 0;
  }
}
#access .text .name{
  font-family: var(--NotoSerifJP);
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1em;
  color: rgb(11, 16, 87);
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  white-space: nowrap;
}
#access .text .name .cmn_kerning{
  padding-right: 0.1em;
  font-size: 105%;
  letter-spacing: 0.1em;
}
#access .text .name span:not(.cmn_kerning){
  padding-top: .25em;
  display: block;
  font-size: 1.75rem;
}
#access .text .addr{
  font-family: var(--NotoSerifJP);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
#access .text .tel a{
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--ShipporiMincho);
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgb(241, 157, 174);
}
#access .text .tel a::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  margin-right: 0.05em;
  width: calc(41 / 53 * 1em);
  height: 1em;
  background: url(../images/ico_tel.svg) no-repeat 50% 50%/contain;
  opacity: 0.5;
}
@media screen and (min-width: 768px){
  #access .text .cmn_button a{
    margin-left: 0;
  }
}
#access .gmap{
  margin: 3.0rem 0;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 8 / 5;
}
@media screen and (min-width: 768px){
  #access .gmap{
    margin: 0;
    aspect-ratio: auto;
  }
}
#access .gmap iframe{
  width: 100%;
  height: 100%;
}
#access .trans{
  padding: 2.4rem calc(50 / 1200 * 100%);
  margin-top: 7.4rem;
  border-radius: 20px;
  border: solid 1px rgb(249, 129, 162);
  background-color: rgb(255, 255, 255);
}
#access .trans .tcontainer{
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px){
  #access .trans{
    padding: 0 calc(50 / 1200 * 100%) calc(50 / 1200 * 100%) calc(50 / 1200 * 100%);
  }
  #access .trans .tcontainer{
    display: -webkit-box;
    display: flex;
    margin: 0;
    width: auto;
  }
  #access .trans .tmap{
    flex-basis: 50%;
    padding-right: calc(50 / 1100 * 100%);
    box-sizing: border-box;
  }
  #access .trans .ttext{
    flex-basis: 50%;
  }
}
#access .trans h3{
  padding-bottom: 2.0rem;
  margin: 0;
  font-family: var(--NotoSerifJP);
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
  color: rgb(114, 113, 113);
}
@media screen and (min-width: 768px){
  #access .trans h3{
    padding: calc(40 / 1100 * 100%) 0;
    font-size: 3.6rem;
  }
}
#access .trans .tmap figure{
  margin: 0;
}
#access .ttext{
  padding-top: 2.4rem;
}
@media screen and (min-width: 768px){
  #access .ttext{
    padding-top: 0;
  }
}
#access .ttext dl{
  margin: 0;
  counter-reset: talpha;
}
#access .ttext dl div:not(:first-of-type){
  padding-top: 2.4rem;
}
#access .ttext dt{
  padding: .55rem 1.3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--NotoSerifJP);
  font-size: 2.3rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgb(255, 255, 255);
  border-radius: 10px;
  background-color: rgb(241, 157, 174);
  white-space: nowrap;
}
#access .ttext div:nth-of-type(3) dt{
  padding: .4rem 1.3rem .7rem 1.3rem;
}
#access .ttext dd{
  padding-top: 1.7rem;
  margin: 0;
  display: -webkit-box;
  display: flex;
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: rgb(26, 26, 26);
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  counter-increment: talpha;
}
#access .ttext dd::before{
  margin-top: calc( ( (1.8rem * 1.4) - (32 / 18 * 1em) ) / 2 );
  margin-right: calc(12 / 18 * 1em);
  content: counter(talpha, upper-alpha);
  display: inline-block;
  width: calc(32 / 18 * 1em);
  height: calc(32 / 18 * 1em);
  flex-shrink: 0;
  font-size: calc(20 / 18 * 100%);
  font-weight: bold;
  line-height: calc(32 / 18);
  text-align: center;
  color: rgb(255, 255, 255);
  background-color: rgb(93, 106, 157);
  border-radius: 50%;
}

/*  info  */
#info{
  padding: 12.9rem 0;
}
@media screen and (min-width: 768px){
  #info .container{
    padding: 8.6rem 0;
  }
}
#info .btn{
  padding-bottom: 2.4rem;
}
@media screen and (min-width: 768px){
  #info .btn{
    padding-bottom: 0;
  }
}
#info .btn a{
  margin: 0 auto;
  display: -webkit-box;
  display: flex;
  max-width: 47.2rem;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}
@media screen and (min-width: 768px){
  #info .container .btn a{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
  }
  #info .container .btn a p{
    -webkit-box-ordinal-group: 0;
    order: -1;
  }
}
#info .btn .image{
  display: none;
}
@media screen and (min-width: 768px){
  #info .btn .image{
    display: block;
    background-color: rgb(255, 255, 255);
  }
  #info .container .btn .image{
    flex-basis: 50%;
  }
  #info .container .btn p{
    flex-basis: 50%;
  }
}
#info .btn p{
  margin: 0;
  min-height: calc(78 / 30 * 1em);
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  font-family: var(--NotoSerifJP);
  font-size: 2.8rem;
  line-height: 1.4;
  letter-spacing: calc(6 / 30 * 1em);
  color: rgb(255, 255, 255);
}
@media screen and (min-width: 768px){
  #info .btn p{
    font-size: 3.0rem;
  }
}
#info .facility p{
  background-color: rgb(11, 16, 87);
}
#info .family p{
  background-color: rgb(73, 131, 187);
}
#info .recruit p{
  background-color: rgb(241, 157, 174);
}
@media screen and (min-width: 768px){
  #info .container{
    margin: 0 auto;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    max-width: 102.8rem;
  }
  #info .container>div{
    flex-basis: calc(494 / 1028 * 100%);
  }
}
#info .ozone a{
  margin: 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 47.2rem;
}
@media screen and (min-width: 768px){
  #info .ozone a{
    max-width: none;
  }
}
