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

/***
* common_pc.css
*/

@media only print, only screen and (min-width: 1100px) {
  .sp,
  .tab,
  .tab_sp {
    display: none;
  }

  .pc,
  .pc_tab,
  .pcw_pc {
    display: block;
  }

  .hover {
    opacity: 1;
    transition-duration: 0.5s;
  }

  .hover:hover {
    opacity: 0.3;
    transition-duration: 0.5s;
  }

  .hyphen {
    position: relative;
    top: -0.1vw;
  }

  .btn {
    padding: 19px 40px 22px;
    color: #000;
    border: 1px solid #aaa;
    font-size: 15px;
    display: inline-block;
    transition-duration: 0.5s;
  }

  .btn:hover {
    color: #aaa;
    transition-duration: 0.5s;
  }

  /***
* layout
*/

  /* header */

  #header {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 3333;
  }

  #headerInner {
    transform: translate3d(0, 0, 0);
    transition: all 800ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  #headerMain {
    padding: 22px 0 72px;
    background: #fff;
    position: relative;
    z-index: 3333;
  }

  #logo {
    width: 171px;
    position: absolute;
    z-index: 7777;
    top: 34px;
    left: 36px;
  }

  #nav {
    width: 100%;
    position: absolute;
    top: 36px;
    z-index: 3333;
    font-size: 15px;
    letter-spacing: -0.04em;
    text-align: center;
    pointer-events: none;
  }

  #nav li {
    width: 130px;
    padding-bottom: 2px;
    border-left: 1px solid #aaa;
    display: inline-block;
    position: relative;
    pointer-events: auto;
  }

  #nav li a {
    opacity: 1;
    transition-duration: 0.5s;
  }

  #nav li:hover a {
    opacity: 0.3;
    transition-duration: 0.5s;
  }

  #navFeature a,
  #navService a {
    display: inline-block;
    position: relative;
    padding-right: 22px;
  }

  #navFeature a::after,
  #navService a::after {
    content: "";
    width: 11px;
    height: 7px;
    background: url("../img/icon_arrrow_down.svg") bottom center no-repeat;
    background-size: 11px 7px;
    position: absolute;
    top: 5px;
    right: 0;
  }

  #nav li:last-child {
    border-right: 1px solid #aaa;
  }

  #navContact {
    position: absolute;
    top: 32px;
    right: 30px;
    z-index: 3333;
    font-size: 15px;
    letter-spacing: 0.25em;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }

  #navContact li {
    margin-left: -1px;
    padding: 8px 7px 6px;
    background: #fff;
    border: 1px solid #000;
    display: inline-block;
  }

  #navContact li a {
    color: #000;
    transition-duration: 0.5s;
  }

  #navContact li:hover a {
    color: #aaa;
    transition-duration: 0.5s;
  }

  #nCKengaku {
    margin-top: -9px;
  }

  #btnMenu {
    width: 70px;
    height: 70px;
    background: #eee;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    border-radius: 100%;
    display: block;
  }

  .bars.active {
    background: transparent !important;
  }

  .bars.active:before,
  .bars.active:after {
    background: #000;
    top: 0;
    width: 100%;
    user-select: none;
  }

  .bars.active:before {
    transform: rotate(-45deg);
  }

  .bars.active:after {
    transform: rotate(45deg);
  }

  .bars {
    width: 35px;
    height: 1px;
    background: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    transition: all 0.2s ease;
  }

  .bars:before {
    top: -4px;
  }

  .bars:after {
    top: 4px;
  }

  .bars:before,
  .bars:after {
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    left: 0;
    content: "";
    transform: rotate(0);
    transition: all 0.2s ease;
  }

  #closeOverlay {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #222;
    z-index: 333;
    opacity: 0;
    visibility: hidden;
    transition-duration: 0.5s;
  }

  .-show #closeOverlay {
    opacity: 1;
    visibility: visible;
    transition-duration: 0.5s;
  }

  #menu {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #726f68;
    z-index: 7777;
    opacity: 0;
    visibility: hidden;
    transition-duration: 0.5s;
  }

  .-show #menu {
    opacity: 1;
    visibility: visible;
    transition-duration: 0.5s;
  }

  #navFeatureThumb,
  #navServiceThumb {
    width: 825px;
    height: 265px;
    position: absolute;
    top: 93px;
    left: 50%;
    z-index: 9999;
    transform: translateX(-50%);
    background: #f9f9f9;
    border: 1px solid #eee;
    display: none;
  }

  .navTtl {
    position: absolute;
    top: 50px;
    left: 50px;
    font-size: 24px;
    writing-mode: vertical-rl;
    white-space: nowrap;
    padding-right: 15px;
  }

  .navTtl .navTtlLine {
    width: 1px;
    height: 0;
    background: #aaa;
    position: absolute;
    top: 0;
    right: 0;
    transition-duration: 0.5s;
  }

  .navTtl.active .navTtlLine {
    height: 100%;
    transition-duration: 0.5s;
  }

  .navPulldownList {
    position: relative;
    top: 42px;
    left: 140px;
    font-size: 13px;
    line-height: 2.615;
    letter-spacing: -0.04em;
  }

  .thumbImg {
    width: 230px;
    position: fixed;
    top: 48px;
    right: 50px;
    opacity: 0;
    visibility: hidden;
    transition-duration: 0.5s;
  }

  #navFeatureThumb li:first-child .thumbImg,
  #navServiceThumb li:first-child .thumbImg {
    opacity: 1;
    visibility: visible;
  }

  #navFeatureThumb li:hover .thumbImg,
  #navServiceThumb li:hover .thumbImg {
    opacity: 1;
    visibility: visible;
    transition-duration: 0.5s;
  }

  #navFeatureThumb li a,
  #navServiceThumb li a {
    color: #000;
    transition-duration: 0.5s;
  }

  #navFeatureThumb li:hover a,
  #navServiceThumb li:hover a {
    color: #999;
    transition-duration: 0.5s;
  }

  /* main */

  #main {
    padding: 75px 0 200px;
  }

  .ttlWrap {
    margin-bottom: 170px;
    text-align: center;
  }

  .ttl {
    margin-bottom: 80px;
    padding: 0 40px;
    font-size: 20px;
    display: inline-block;
  }

  .ttl .ttlLine {
    width: 1%;
    height: 1px;
    background: #ccc;
    margin-top: 30px;
    display: inline-block;
    transition-duration: 1s;
  }

  .ttl.active .ttlLine {
    width: 100%;
    transition-duration: 1s;
  }

  .categories {
    font-size: 14px;
    line-height: 2.071;
    word-break: keep-all;
  }

  .categories a {
    margin-right: 6px;
  }

  /* Menu&footer */

  #menu::-webkit-scrollbar {
    display: none;
  }

  #menu,
  #menu a {
    color: #fff;
    letter-spacing: 0.02em;
  }

  #footer {
    width: 100%;
    background: #cbc6bc;
    position: relative;
    letter-spacing: 0.02em;
    z-index: 3333;
    overflow: hidden;
  }

  #menuLogo,
  #footerLogo {
    width: 205px;
    position: absolute;
    top: 84px;
    left: 91px;
  }

  #menuNav,
  #footerNav {
    width: 766px;
    position: absolute;
    top: 70px;
    right: 35px;
    overflow: hidden;
    white-space: nowrap;
  }

  .breadCrumb {
    margin: 0 0 80px;
    font-size: 15px;
  }

  .breadCrumb li {
    margin-right: 4px;
    display: inline-block;
  }

  .breadCrumb li::after {
    content: " ＞";
  }

  .breadCrumb li:last-child::after {
    content: "";
  }

  #menuNavInner li,
  #footerNavInner li {
    margin-bottom: 26px;
  }

  #menuNavInner li ol,
  #footerNavInner li ol {
    margin: 32px 0 65px 4px;
  }

  #menuNavInner li li,
  #footerNavInner li li {
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.6;
  }

  .navRecruit {
    position: relative;
  }

  .navRecruit::after {
    /* content: "";
    width: 10px;
    height: 15px;
    position: absolute;
    top: 0;
    right: 110px;
    background: url("../img/icon_arrrow_down.svg") center no-repeat;
    background-size: 10px auto; */
  }

  /* #header .navRecruit::after {
    background: url("../img/icon_arrrow_down_wh.svg") center no-repeat;
    background-size: 10px auto;
  } */

  /* MD: 769px */
  @media (width >= 769px) {
    .navRecruit::after {
      display: none;
    }
  }

  #menuNavInner li .pullDown,
  #footerNavInner li .pullDown {
    margin: 0 0 20px 12px;
    padding-top: 20px;
    display: none;
  }

  #menuNavInner li .pullDown li,
  #footerNavInner li .pullDown li {
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0;
  }

  #menuNavInner li .pullDown li:last-child,
  #footerNavInner li .pullDown li:last-child {
    margin-bottom: 0;
  }

  #menuNavInner,
  #footerNavInner {
    width: calc(779px + 92px);
  }

  #menuNavInner ul,
  #footerNavInner ul {
    float: left;
    margin-right: 60px;
  }

  #menuNavInner ul ul,
  #footerNavInner ul ul {
    float: none;
    margin-right: 0;
  }

  #menuNavInnerMain,
  #footerNavInnerMain {
    width: 360px;
  }

  #manuNavInnerMainToSub,
  #footerNavInnerMainToSub {
    margin-bottom: 60px;
  }

  #menuNavInnerSub,
  #footerNavInnerSub {
    width: 110px;
  }

  #menuNavInnerMain li,
  #menuNavInnerSub li,
  #footerNavInnerMain li,
  #footerNavInnerSub li {
    font-size: 16px;
  }

  #footer a {
    color: #000;
    transition-duration: 0.5s;
  }

  #footer a:hover {
    color: #aaa;
    transition-duration: 0.5s;
  }

  #menu a {
    color: #fff;
    transition-duration: 0.5s;
  }

  #menu a:hover {
    color: #aaa;
    transition-duration: 0.5s;
  }

  #menuNavInnerLink,
  #footerNavInnerLink {
    width: 180px;
    font-size: 13px;
  }

  .copyright {
    margin-top: 48px;
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 11px;
    transform: scale(1);
    letter-spacing: 0.04em;
  }

  #menuGroupLogo,
  #footerGroupLogo {
    width: 150px;
    position: absolute;
    bottom: 44px;
    left: 43px;
  }

  #btnPageTop {
    width: 70px;
    height: 70px;
    background: #fff;
    position: absolute;
    bottom: 25px;
    right: 25px;
    border-radius: 100%;
    transform: translate3d(0, 140px, 0);
    transition: all 800ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  #btnPageTop.active {
    transform: translate3d(0, 0, 0);
    transition: all 800ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  #iconArrow {
    width: 33px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* second */

  #main {
    display: flex;
    align-items: flex-end;
  }

  /* TOP Page Layout Fix */
  #top #main {
    display: block;
  }

  #mainContents {
    width: 100%;
    margin-left: -52px;
    display: block;
    flex-wrap: initial;
  }

  /* TOP Page Layout Fix */
  #top #mainContents {
    width: 100%;
    margin: 0 auto;
  }

  #mainTtl {
    width: 100%;
    height: calc(100vh - 100px);
    position: relative;
  }

  #mainTtl h1,
  #mainTtl h2 {
    font-size: 35px;
    writing-mode: vertical-rl;
    line-height: 1.6;
    padding-bottom: 40px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #fixTtl {
    font-size: 23px;
    writing-mode: vertical-rl;
    position: sticky;
    bottom: 30px;
    left: 32px;
    z-index: 1111;
    line-height: 0;
  }

  #fixTtl span {
    width: 25px;
    margin-left: -1px;
    background: #fff;
    border: 1px inset #000;
    line-height: 25px;
    display: block;
  }

  #titleImg {
    width: 840px;
    margin: 0 auto 160px;
  }

  .txt {
    width: 840px;
    margin: 0 auto 160px;
    font-size: 16px;
    line-height: 2.375;
  }

  .subTtl {
    width: 100%;
    margin-left: 0;
    margin-bottom: 160px;
    font-size: 20px;
    text-align: center;
    display: block;
    border: none;
  }

  #serviceFacility .subTtl {
    width: 100%;
    margin: 0 0 110px;
  }

  /*
.subTtl span{
  padding: 20px 10px;
  border-bottom: 1px solid #aaa;
}
*/

  .txtC {
    width: 100%;
    margin: 0 auto 70px;
    padding: 0;
    font-size: 16px;
    line-height: 2.375;
    text-align: center;
  }

  .service .txtC {
    width: 100%;
    margin: 0 auto 70px;
    padding: 0;
    font-size: 16px;
    line-height: 2.375;
    text-align: center;
  }

  #voice {
    width: 700px;
    margin: 0 auto 160px;
  }

  .ttlVoice {
    margin-bottom: 15px;
    font-size: 14px;
  }

  .leadVoice {
    margin-bottom: 20px;
    padding: 13px 0 16px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 500;
    font-size: 16px;
    position: relative;
  }

  .voiceImg {
    width: 110px;
    position: absolute;
    bottom: 0;
    right: 0;
  }

  .txtVoice {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 14px;
    line-height: 2.375;
    text-align: justify;
    letter-spacing: -0.025em;
  }

  section {
    margin-bottom: 200px;
  }

  section:last-child {
    margin-bottom: 0;
  }

  section:last-child .txt {
    margin-bottom: 0;
  }

  /* hope */

  #hopeIndex {
    width: 100%;
    float: none;
  }

  #hopeList li {
    width: 840px;
    margin: 0 auto 180px;
    position: relative;
  }

  #hopeList li:last-child {
    margin-bottom: 0;
  }

  .hopeListTtl {
    padding: 36px 30px;
    font-size: 36px;
    line-height: 1.4;
    writing-mode: vertical-rl;
    white-space: nowrap;
    position: relative;
    top: 0;
    background: #fff;
  }

  .bdT,
  .bdB,
  .bdL,
  .bdR {
    background: #000;
    position: absolute;
    transition-duration: 0.5s;
  }

  .bdT {
    width: 0;
    height: 1px;
    top: 0;
    right: 0;
  }

  .bdB {
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
  }

  .bdL {
    width: 1px;
    height: 0;
    bottom: 0;
    left: 0;
  }

  .bdR {
    width: 1px;
    height: 0;
    top: 0;
    right: 0;
  }

  #hopeList li.active .bdT,
  #hopeList li.active .bdB {
    width: 100%;
    transition-duration: 0.5s;
  }

  #hopeList li.active .bdL,
  #hopeList li.active .bdR {
    height: 100%;
    transition-duration: 0.5s;
  }

  .hopeListImg {
    width: 620px;
    position: relative;
  }

  .hopeListImg img {
    margin-bottom: 30px;
    display: block;
  }

  .hopeListImg h4 {
    margin-bottom: 20px;
    line-height: 1.6;
  }

  #hopeList li:nth-child(odd) .hopeListTtl {
    float: left;
  }

  #hopeList li:nth-child(odd) .hopeListImg {
    float: right;
  }

  #hopeList li:nth-child(even) .hopeListTtl {
    float: right;
  }

  #hopeList li:nth-child(even) .hopeListImg {
    float: left;
  }

  #hopeList li .pc {
    display: inline-block;
  }

  /* hope detail */

  #hopeInner {
    width: 720px;
    margin: 0 auto 200px;
  }

  #hopeInner .txt {
    width: 720px;
    margin: 120px auto;
  }

  .hopeImg {
    width: 100%;
    margin: 0 auto 60px;
  }

  .hopeImg.mbShort {
    margin-bottom: 60px;
  }

  #hopeTtl {
    width: 100%;
    height: calc(100vh - 75px);
    position: relative;
  }

  #hopeImg {
    width: 720px;
    position: relative;
    top: 50%;
    left: 50%;
    padding-bottom: 32px;
    transform: translate(-50%, -50%);
  }

  .hopeListMainTtl {
    position: absolute;
    top: 0;
    right: auto;
    writing-mode: vertical-rl;
  }

  .hopeListMainTtl h1 {
    padding: 23px 20px 24px;
    font-size: 36px;
    letter-spacing: 0.08em;
    line-height: 1.3;
    position: absolute;
    top: -25px;
    left: -88px;
    background: #fff;
    border: 1px solid #000;
  }

  .hopeListMainTtl p {
    padding: 22px 5px 46px;
    font-size: 19px;
    line-height: 1.4;
    position: absolute;
    top: -25px;
    left: -125px;
    margin-top: 0;
    background: #fff;
    border: 1px solid #000;
    white-space: nowrap;
  }

  .hopeListMainTtl span {
    writing-mode: horizontal-tb;
    letter-spacing: -0.025em;
  }

  /* food */

  #foodList {
    width: 952px;
    margin: 0 auto;
    overflow: hidden;
  }

  #foodList ul {
    width: calc(954px + 80px);
  }

  #foodList li {
    width: 264px;
    float: left;
    margin: 0 80px 100px 0;
    position: relative;
  }

  .btnViewMore {
    margin-top: 20px;
    padding-bottom: 25px;
    font-size: 15px;
    position: relative;
    display: inline-block;
  }

  .btnViewMoreLine {
    width: 0;
    height: 1px;
    background: #aaa;
    position: absolute;
    left: 0;
    bottom: 0;
    transition-duration: 0.5s;
  }

  #articleList li:hover .btnViewMoreLine {
    width: 100%;
    transition-duration: 0.5s;
  }

  .bgFoodWrap {
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    position: relative;
    background: #000;
  }

  .bgFood {
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
  }

  .active .bgFood {
    opacity: 0.7;
    transition-duration: 0.5s;
  }

  .bgFoodWrap h2 {
    font-size: 28px;
    writing-mode: vertical-rl;
    line-height: 1.8;
    padding-bottom: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
  }

  #specieal1 .bgFood {
    background: url("../../food/img/bg_course01.jpg") center no-repeat;
    background-size: cover;
  }

  #specieal2 .bgFood {
    background: url("../../food/img/bg_course02.jpg") center no-repeat;
    background-size: cover;
  }

  .foodCourseMenu {
    background: #fff;
    margin-top: -50px;
    padding: 56px 240px 56px 100px;
    writing-mode: vertical-rl;
    position: relative;
  }

  #specieal1,
  #specieal2 {
    width: 100%;
    margin: 0 0 200px 0;
    overflow: hidden;
  }

  #specieal1 .foodCourseMenu {
    float: right;
  }

  #specieal2 .foodCourseMenu {
    float: left;
  }

  .foodCourseMenu dl {
    font-size: 15px;
    line-height: 2.3;
    white-space: nowrap;
  }

  .foodCourseMenu dl:first-child {
    margin-left: 46px;
  }

  .foodCourseMenu dt,
  .foodCourseMenu dd {
    margin-left: 36px;
    display: inline-block;
  }

  .foodCourseMenu dt {
    height: 120px;
  }

  /* customer */

  #customerVoiceList {
    width: 840px;
    margin: 0 auto 200px;
  }

  .question {
    padding: 40px 0;
    border-top: 1px solid #aaa;
    position: relative;
  }

  .question h4 {
    font-family: "fot-klee-pro", sans-serif;
    font-size: 22px;
    font-weight: 500;
  }

  .answer .cVListTxt {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 14px;
    line-height: 2.143;
    text-align: justify;
    font-weight: 500;
    letter-spacing: -0.014em;
  }

  .answer {
    padding: 40px 0;
    border-top: 1px dashed #aaa;
  }

  .cVListIcon {
    width: 68px;
    float: left;
  }

  .cVListTxt {
    width: 750px;
    float: right;
  }

  .cVListTxt h4 {
    margin-top: 8px;
    line-height: 1.4;
  }

  .cVListTxtArea {
    position: absolute;
    bottom: 40px;
    right: 0;
    font-size: 15px;
  }

  /* rehabilitation */

  #reha {
    width: 840px;
    margin: 0 auto 200px;
  }

  .rehaImg {
    margin-bottom: 60px;
  }

  .rehaTxt {
    width: 840px;
    margin: 0 auto 200px;
    font-size: 16px;
    line-height: 2.375;
  }

  #accordion {
    width: 840px;
    margin: 0 auto 200px;
  }

  .subHead {
    margin-bottom: 0;
  }

  .accordion {
    position: relative;
    cursor: pointer;
    border-bottom: 1px solid #aaa;
    background: #fff;
  }

  .accordion_header {
    transition-duration: 0.5s;
  }

  .accordion_header:hover {
    background: #ccc;
    transition-duration: 0.5s;
  }

  .acViewMore {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    padding: 0 30px 4px 0;
    font-size: 15px;
  }

  .acViewMore::after {
    content: "";
    background: url("../img/icon_arrrow_down2.svg") center no-repeat;
    width: 18px;
    height: 8px;
    position: absolute;
    top: 50%;
    margin-top: -2px;
    right: 0;
    transform: translateY(-50%);
    transition-duration: 0.5s;
  }

  .open .acViewMore::after {
    transform: translateY(-50%) rotate(180deg);
    transition-duration: 0.5s;
  }

  .accordion_inner {
    display: none;
  }

  .accordion_header {
    position: relative;
  }

  .accordion_header p {
    float: left;
  }

  .box_one {
    padding: 30px 120px 80px 180px;
    font-size: 15px;
    line-height: 2.2;
  }

  .sub .box_one {
    padding: 0 0 0 0;
    font-size: 15px;
    line-height: 2.2;
  }

  .acTtl {
    width: 180px;
    padding: 25px 0 28px 0;
    font-size: 15px;
  }

  .acSubTtl {
    padding: 25px 0 28px 0;
    font-size: 15px;
  }

  /* nursing */

  #nursingTable {
    width: 840px;
    margin: 0 auto;
  }

  #nursingTableList {
    width: 100%;
    overflow: hidden;
  }

  #nursingTableList ul {
    width: calc(100% + 0);
    margin-bottom: 56px;
  }

  #nursingTableList li {
    width: calc(100% / 2 - 53px);
    margin: 0 5px 5px 0;
    padding: 20px 23px;
    float: left;
    font-size: 15px;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    position: relative;
  }

  #nursingTableList li:nth-child(odd) {
    border-right: none;
  }

  #nursingTableList li:nth-child(even) {
    border-right: 1px solid #aaa;
  }

  #nursingTableList li:nth-last-child(2) {
    border-bottom: 1px solid #aaa;
  }

  #nursingTableList li:last-child {
    border-bottom: 1px solid #aaa;
  }

  .good::after {
    content: "◯";
    position: absolute;
    right: 20px;
  }

  .bad::after {
    content: "△";
    position: absolute;
    right: 20px;
  }

  #nursingTableList p {
    font-size: 15px;
  }

  /* service */

  .serviceMainTtl {
    writing-mode: vertical-rl;
    text-orientation: upright;
  }

  .serviceMainTtl h1,
  .serviceMainTtl h3 {
    padding: 23px 20px 24px 18px;
    font-size: 28px;
    letter-spacing: 0.16em;
    line-height: 1.6;
    position: absolute;
    top: 30px;
    bottom: auto;
    left: -88px;
    right: auto;
    background: #fff;
  }

  #serviceLead h2,
  #serviceLead h4 {
    width: 100%;
    margin-bottom: 60px;
    font-size: 22px;
    text-align: center;
    line-height: 1.8;
  }

  .serviceLeadLine {
    width: 82px;
    height: 1px;
    margin: 0 auto 60px;
    background: #aaa;
  }

  .serviceImg {
    width: 840px;
    margin: 0 auto 60px;
  }

  .bgWrap {
    height: 500px;
    margin-bottom: 60px;
    position: relative;
    top: 0;
    left: 0;
    clip-path: inset(0);
  }

  .bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
  }

  .bg h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    padding-right: 15px;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 28px;
    writing-mode: vertical-rl;
    white-space: nowrap;
    letter-spacing: 0.25em;
  }

  #links li {
    margin-bottom: 200px;
    text-align: center;
  }

  #links li:last-child {
    margin-bottom: 0;
  }

  #linksList dl {
    text-align: center;
  }

  #linksList li:nth-child(odd) dl {
    float: left;
  }

  #linksList li:nth-child(even) dl {
    float: right;
  }

  #linksList dd {
    margin-bottom: 6px;
    padding: 1px 2px 2px 3px;
    border: 1px solid #000;
    display: inline-block;
    letter-spacing: 0;
  }

  #linksList dd a {
    color: #000;
    transition-duration: 0.5s;
  }

  #linksList dd:hover a {
    color: #aaa;
    transition-duration: 0.5s;
  }

  /***
* sub
*/

  .sub #mainContents {
    width: 920px;
    margin: 0 auto;
    padding-top: 165px;
  }

  .subMainTtl {
    margin-bottom: 170px;
    font-size: 25px;
    text-align: center;
  }

  .subMainTtl .pc {
    display: inline-block;
  }

  .sub2 #mainContents {
    width: 920px;
    margin: 0 auto;
    padding-top: 165px;
  }

  .subMainTtl2 {
    margin-bottom: 60px;
    font-size: 25px;
    text-align: left;
  }

  .subHead {
    margin-bottom: 62px;
    padding: 0 0 32px 32px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 500;
    font-size: 20px;
    border-bottom: 1px solid #aaa;
  }

  .sub .txt {
    /*  width: 640px;*/
    width: 100%;
    margin: 0 auto 120px;
    font-size: 16px;
    letter-spacing: -0.01em;
  }

  .subSubTtl {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 14px;
  }

  #fixNav {
    position: fixed;
    bottom: 25px;
    left: 30px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 500;
    font-size: 12px;
    z-index: 1111;
  }

  #fixNav a {
    width: 164px;
    margin-bottom: 4px;
    padding: 9px 10px 10px;
    background: #f7f7f7;
    display: block;
    position: relative;
  }

  #fixNav a::after {
    content: "";
    width: 8px;
    height: 5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    background: url("../img/icon_arrrow_down.svg") center no-repeat;
  }

  /* news */

  #localNav {
    margin-bottom: 100px;
    padding-bottom: 30px;
    border-bottom: 1px solid #aaa;
  }

  #localNav li {
    margin-right: 36px;
    padding-right: 20px;
    font-size: 17px;
    display: inline-block;
    position: relative;
  }

  #localNav li::after {
    content: "";
    width: 10px;
    height: 5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url("../img/icon_arrrow_down.svg") center no-repeat;
  }

  .newsDetailWrap::after {
    content: '';
    display: block;
    clear: both;
  }

  .fixSubTtl {
    position: sticky;
    top: 140px;
    float: left;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }

  .fixSubTtl h4,
  .fixSubTtl p {
    margin-top: 4px;
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 14px;
    line-height: 4;
  }

  .fixSubTtl h3,
  .fixSubTtl h2 {
    font-size: 26px;
  }

  .newsList {
    width: 742px;
    float: right;
  }

  .newsList dl {
    padding: 20px 0;
    border-top: 1px solid #aaa;
    transition-duration: 0.5s;
  }

  .newsList dl:hover {
    background: #eee;
    transition-duration: 0.5s;
  }

  .newsList dl:last-of-type {
    margin-bottom: 80px;
    border-bottom: 1px solid #aaa;
  }

  .newsList dt,
  .newsList dd {
    display: inline-block;
  }

  .newsDate {
    width: 130px;
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 20px;
    margin-bottom: 0;
  }

  .newsTtl {
    width: 460px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
  }

  .newsList dd.btnCategory {
    position: relative;
    top: 0;
    float: right;
    padding: 4px;
    font-size: 10px;
    background: #fff;
    border: 1px solid #aaa;
  }
  .newsList ul.link {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .newsList ul.link li {
    font-size: 16px;
    padding: 0 15px 15px 0;
  }
  .newsList ul.link li a {
    display: block;
    padding: 5px 10px;
    border: 1px solid #aaa;
    transition-duration: 0.5s;
  }
  .newsList ul.link li a:hover {
    background-color: #eee;
    transition-duration: 0.5s;
  }

  .subBtn {
    width: 628px;
    margin: 0 auto;
    padding: 20px 0 24px;
    border: 1px solid #aaa;
    text-align: center;
    display: block;
  }

  #newsCategoryList,
  #articleCategoryList {
    width: 742px;
    margin-bottom: 200px;
    float: right;
  }

  #articleCategoryList,
  #newsCategoryList {
    margin-bottom: 0;
  }

  #nCListBig {
    width: 740px;
    overflow: hidden;
    margin-bottom: 20px;
  }

  #nCListBig ul {
    width: 740px;
  }

  #nCListBig li {
    width: calc(100% / 3 - 20px);
    float: left;
    margin: 0 20px 40px 0;
  }

  #articleCategoryList #nCListBig li {
    width: calc(100% / 2 - 20px);
    float: left;
    margin: 0 20px 40px 0;
  }

  .articleCategoryListImg {
    overflow: hidden;
    margin-bottom: 20px;
  }

  #nCListBig li img {
    transform: scale(1);
    transition-duration: 0.5s;
  }

  #nCListBig li:hover img {
    transform: scale(1.1);
    transition-duration: 0.5s;
  }

  #nCListBig h5 {
    padding-right: 50px;
    font-size: 17px;
    letter-spacing: -0.017em;
    display: inline-block;
    position: relative;
  }

  #nCListBig h5::after {
    content: "";
    width: 40px;
    height: 5px;
    position: absolute;
    bottom: 2px;
    right: 0;
    background: url("../img/icon_arrrow2.svg") bottom no-repeat;
    background-size: 40px auto;
    transition-duration: 0.5s;
  }

  #nCListBig li:hover h5::after {
    right: -20px;
    transition-duration: 0.5s;
  }

  #nCListSmall {
    font-size: 14px;
  }

  #nCListSmall li {
    margin: 0 20px 20px 0;
    display: inline-block;
  }

  #nCListSmall li a {
    position: relative;
    border-bottom: none;
  }

  #nCListSmall li a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #aaa;
    transition-duration: 0.5s;
  }

  #nCListSmall li:hover a::after {
    width: 0;
    transition-duration: 0.5s;
  }

  /* newsDetail */

  .newsDetailInner .subMainTtl {
    text-align: left;
  }

  .newsDetailInner .subMainTtl p {
    font-size: 14px;
    margin-left: 4px;
    text-align: left;
  }

  .newsDetailInner .subMainTtl p span {
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 16px;
  }

  .newsDetailInner .subMainTtl p a {
    border-bottom: 1px solid #aaa;
  }

  .newsDetailInner {
    width: 700px;
    float: right;
  }

  .newsDetailInnerImg {
    width: 80%;
    margin-bottom: 120px;
  }

  .newsDetailInnerTxt {
    margin-bottom: 120px;
  }

  .newsDetailInnerTxt h4 {
    margin-bottom: 25px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 18px;
    font-weight: 500;
  }

  .newsDetailInnerTxt a {
    text-decoration: underline;
  }

  .newsDetailInnerTxt a:hover {
    text-decoration: none;
  }

  .newsDetailInner p {
    margin-bottom: 130px;
    font-size: 16px;
    line-height: 2.5;
    letter-spacing: -0.02em;
  }

  #btnSns {
    width: 222px;
    margin: 0 auto 200px;
    overflow: hidden;
  }

  #btnSns ul {
    width: 264px;
  }

  #btnSns li {
    width: 90px;
    height: 90px;
    margin-right: 33px;
    border-radius: 50%;
    background: #eee;
    display: inline-block;
    position: relative;
    text-align: center;
  }

  #btnSnsX img {
    width: 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #btnSnsF img {
    width: 17px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #newsBtns {
    margin-bottom: 200px;
    font-size: 18px;
    text-align: center;
  }

  #newsBtns li {
    margin-right: 200px;
    display: inline-block;
  }

  #newsBtns li:first-child::before {
    content: "＜ ";
  }

  #newsBtns li:last-child {
    margin-right: 0;
  }

  #newsBtns li:last-child::after {
    content: " ＞";
  }

  /* article index */

  #articleList,
  #facilityList {
    width: 746px;
    float: right;
    overflow: hidden;
  }

  #articleList ul,
  #facilityList ul {
    width: 776px;
  }

  #articleList li,
  #facilityList li {
    width: calc(100% / 2 - 30px);
    float: left;
    margin: 0 30px 80px 0;
    position: relative;
  }

  #articleList li:last-child,
  #facilityList li:last-child {
    margin-bottom: 0;
  }

  .articleListImg,
  .facilityListImg {
    overflow: hidden;
    margin-bottom: 24px;
  }

  #articleList li .articleListImg img,
  #facilityList li .facilityListImg img {
    transform: scale(1);
    transition-duration: 0.5s;
  }

  #articleList li:hover .articleListImg img,
  #facilityList li:hover .facilityListImg img {
    transform: scale(1.1);
    transition-duration: 0.5s;
  }

  .articleListTop,
  .facilityListTop {
    margin-bottom: 20px;
  }

  .articleListDate {
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 19px;
    letter-spacing: 0.01em;
    float: left;
  }

  .facilityListDate {
    font-size: 20px;
    letter-spacing: 0.01em;
    float: left;
    margin: 0;
  }

  .articleListCategory {
    margin-top: -3px;
    padding: 4px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 10px;
    background: #fff;
    border: 1px solid #aaa;
    display: inline-block;
    float: right;
  }

  .facilityListCategory {
    margin: -2px 0 0 0;
    padding: 2px 2px 4px 4px;
    font-size: 16px;
    background: #fff;
    border: 1px solid #aaa;
    display: inline-block;
    float: right;
  }

  .articleListTtl {
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 2.111;
  }

  .facilityListTtl {
    margin-bottom: 30px;
    font-size: 15px;
    line-height: 2.111;
  }

  .facilityListDetail {
    margin-bottom: 40px;
  }

  .facilityListDetail dl {
    font-size: 14px;
    line-height: 1.6;
  }

  .facilityListDetail dt,
  .facilityListDetail dd {
    display: inline-block;
  }

  /* article detail */

  .newsDetailInner .subMainTtl {
    margin-bottom: 160px;
    font-size: 35px;
    text-align: left;
  }

  .article .subMainTtl {
    margin-bottom: 80px;
    font-size: 35px;
    text-align: left;
  }

  .article .subMainTtl p .pc {
    display: inline-block;
  }

  /***
* table
*/

  #moveIn {
    text-align: center;
  }

  #moveIn h4 {
    margin-bottom: 50px;
    font-size: 20px;
  }

  #moveIn h5 {
    margin-bottom: 40px;
    font-size: 18px;
    line-height: 2.222;
  }

  #moveIn .btn {
    margin-bottom: 50px;
  }

  /* contact */

  #contactBnr {
    margin-bottom: 0;
  }

  #contactBnrList {
    width: calc(100% - 96px);
    margin: 0 auto;
    overflow: hidden;
  }

  #contactBnrList ul {
    width: calc(100% + 96px);
  }

  #contactBnrList li {
    width: calc(100% / 2 - 60px);
    float: left;
    margin-right: 30px;
  }

  .contactBnrImg {
    overflow: hidden;
  }

  #contactBnrList li .contactBnrImg img {
    transform: scale(1);
    transition-duration: 0.5s;
  }

  #contactBnrList li:hover .contactBnrImg img {
    transform: scale(1.05);
    transition-duration: 0.5s;
  }

  .contactBnrTxt {
    width: 280px;
    padding: 40px 50px;
    position: relative;
    top: -40px;
    left: 40px;
    background: #fff;
  }

  .contactBnrTxt h3 {
    margin-bottom: 20px;
    font-size: 20px;
  }

  .contactBnrTxt h4 {
    margin-bottom: 20px;
    font-family: 15px;
    line-height: 1.733;
    word-break: keep-all;
  }

  .contactBnrTxt p {
    font-size: 15px;
    padding-bottom: 25px;
    position: relative;
    display: inline-block;
  }

  /***
* form
*/

  .form section {
    width: 840px;
    margin: 0 auto 200px;
  }

  .l-contact-form_lists {
    margin-bottom: 80px;
  }

  .l-contact-form_lists li {
    margin-bottom: 0;
    padding: 20px 0 12px;
    border-bottom: 1px solid #aaa;
  }

  .l-contact-form_lists li:first-child {
    border-bottom: 1px solid #aaa;
  }

  .l-contact-form_lists li:last-child {
    border-bottom: 1px solid #aaa;
  }

  label {
    margin-bottom: 10px;
    display: inline-block;
  }

  #labelAreaWrap {
    width: 635px;
    padding-top: 50px;
  }

  #labelAreaL {
    float: left;
  }

  #labelAreaR {
    float: right;
  }

  .labelArea {
    margin-bottom: 80px;
    display: block;
  }

  .l-contact-form_list__ttl {
    width: 260px;
    padding: 0;
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    border-bottom: none;
  }

  #Area .l-contact-form_list__ttl {
    display: block;
  }

  .l-contact-form_list__cont {
    width: 460px;
    display: inline-block;
    position: relative;
    top: -6px;
    padding: 0;
  }

  .l-contact-form_area {
    margin-bottom: 30px;
    font-size: 18px;
  }

  .checkbox01-input,
  .radio02-input {
    width: 15px;
    height: 15px;
    position: relative;
    top: 4px;
    border: 1px solid #000;
    line-height: 0;
  }

  .l-contact-form_box {
    width: 100%;
    position: relative;
  }

  .l-contact-form_box_num {
    width: 160px;
    float: left;
    margin-top: 12px;
  }

  .input-calendar {
    margin-bottom: 6px;
    padding: 6px 10px 8px;
    border: 1px solid #aaa;
  }

  input:focus {
    outline: none;
  }

  textarea {
    border: 1px solid #aaa;
  }

  .input-calendar {
    position: relative;
  }

  .l-contact-form_box_ttl {
    margin-top: 12px;
    display: inline-block;
  }

  .l-contact-form_box_in {
    width: 412px;
  }

  .l-contact-form_box_ins {
    width: 300px;
    float: right;
  }

  .l-contact-form_box_inp {
    width: 355px;
    float: right;
  }

  select {
    appearance: none;
    width: 100%;
    padding: 8px 10px 10px;
    font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN",
      serif;
    font-size: 16px;
    border: 1px solid #aaa;
    border-radius: 0;
  }

  .checkbox01-parts,
  .radio_rdus {
    font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN",
      serif !important;
    line-height: 1.6;
  }

  #formMail .l-contact-form_list__ttl {
    width: 200px;
    float: left;
  }

  #mailSub {
    width: 571px;
    float: right;
  }

  #mailSub input {
    width: 270px;
  }

  .l-contact-form_list__sub {
    width: 270px;
    float: right;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 10px;
    line-height: 1.6;
    text-align: justify;
  }

  #daySub {
    padding-top: 20px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 10px;
    display: inline-block;
  }

  .l-contact-form-policy {
    margin-bottom: 80px;
    padding: 50px 0 40px;
    border: 1px solid #aaa;
    text-align: center;
  }

  .l-contact-form-policy_ttl {
    margin-bottom: 40px;
    font-size: 22px;
  }

  .l-contact-form-policy_text {
    width: auto;
    margin-bottom: 50px;
    padding: 0;
    font-size: 14px;
    line-height: 2.571;
    text-align: center;
  }

  .checkbox01-parts {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 13px;
  }

  .l-contact-form_list__req {
    margin-left: 0;
    padding: 0 2px 1px;
    position: relative;
    top: -1px;
    color: #fff;
    background: #777;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 600;
    font-size: 13px;
  }

  label .l-contact-form_list__req {
    margin-left: 10px;
  }

  #remarks {
    border-bottom: 1px solid #aaa;
  }

  #remarks .l-contact-form_list__ttl {
    width: 372px;
  }

  .calendar {
    width: auto;
  }

  .wide {
    width: 600px;
    float: right;
  }

  input {
    font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN",
      serif !important;
    font-size: 16px;
    border: none;
    background: #fff;
  }

  .g-btn {
    width: 630px;
    margin: 0 auto;
    padding: 18px 0 20px;
    color: #000;
    background: #fff;
    border: 1px solid #aaa;
    font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN",
      serif;
    font-size: 18px;
    text-align: center;
    display: block;
    position: relative;
    transition-duration: 0.5s;
  }

  .g-btn input {
    display: inline-block;
  }

  .g-btn:hover {
    color: #999;
    transition-duration: 0.5s;
  }

  .g-btn::after {
    content: "＞";
    position: absolute;
    top: 50%;
    padding-bottom: 5px;
    transform: translateY(-50%);
    right: 20px;
  }

  /* calender */

  #ui-datepicker-div {
    display: none;
    background: #fff;
    position: fixed;
    top: 50%;
    left: 0;
  }

  .ui-datepicker-calendar td {
    text-align: center;
  }

  .ui-datepicker-calendar td:first-child {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    text-align: center;
    display: table-cell;
    vertical-align: middle;
  }

  #telephone dl {
    margin-bottom: 10px;
    background: url("../../_common/img/bg_dot.svg") bottom repeat-x;
    background-size: 5px auto;
  }

  #telephone dt,
  #telephone dd {
    display: inline-block;
    vertical-align: bottom;
    background: #fff;
  }

  #telephone dt {
    padding: 4px 10px;
    font-size: 15px;
    position: relative;
    top: 10px;
    left: -10px;
    z-index: 1111;
  }

  #telephone dd {
    padding: 4px 10px;
    float: right;
    position: relative;
    top: 8px;
    right: -10px;
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 23px;
  }

  /* food modal */

  .modalImg {
    width: 37.11vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #modal h3 {
    padding: 4px 2px 48px 3px;
    position: absolute;
    top: 30px;
    left: 30px;
    background: #fff;
    border: 1px solid #aaa;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
  }

  #modal h3 span {
    writing-mode: horizontal-tb;
    letter-spacing: 0;
  }

  #modal h4 {
    position: absolute;
    font-size: 15px;
    line-height: 1.75;
    left: 30px;
    bottom: 30px;
  }

  /* モーダル */

  .modal {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    transition: opacity 0.3s;
    pointer-events: none;
    opacity: 0;
    z-index: 8888;
  }

  /* モーダルがactiveの時 */

  .modal.is-active {
    opacity: 1;
    pointer-events: auto;
  }

  /* モーダル背景のオーバーレイ部分 */

  /* モーダルのコンテンツ */

  .modal__content {
    position: relative;
  }

  .modal_inner {
    background: #fff;
  }

  /* 閉じるボタン */

  .modal__close-btn {
    position: absolute;
    width: 30px;
    height: 30px;
    padding: 30px;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 8888;
  }

  .modal__close-btn:hover {
    opacity: 0.8;
  }

  .swiper-button-next {
    text-indent: -9999px;
    width: 100px;
    height: 100%;
    top: 0;
    right: 0;
    margin-top: 0;
    background: url("../../_common/img/icon_arrow_next.svg") center no-repeat;
    background-size: 20px auto;
  }

  .swiper-button-prev {
    text-indent: -9999px;
    width: 100px;
    height: 100%;
    top: 0;
    left: 0;
    margin-top: 0;
    background: url("../../_common/img/icon_arrow_prev.svg") center no-repeat;
    background-size: 20px auto;
  }

  /* 閉じるボタンのX */

  .lineClose {
    display: inline-block;
    vertical-align: middle;
    color: #000;
    line-height: 1;
    width: 2.8rem;
    height: 0.7px;
    background: currentColor;
    border-radius: 0.1rem;
    position: relative;
    transform: rotate(45deg);
  }

  .lineClose::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
  }

  .modalInSlider {
    width: 100vw !important;
    height: 100vh;
    margin-right: 0 !important;
    position: relative !important;
  }

  /* table */

  .tableWrap {
    margin-bottom: 120px;
  }

  .tableWrap p {
    font-size: 14px;
    line-height: 2;
    margin-top: 36px;
  }

  table {
    width: 100%;
  }

  th,
  td {
    padding: 18px 20px 22px;
  }

  thead tr {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 15px;
    font-weight: 500;
    background: #cac6bd;
  }

  tbody tr:nth-child(even) {
    background: #f5f4f2;
  }

  tbody td:first-child {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 15px;
    font-weight: 500;
    text-align: center;
  }

  td {
    font-size: 13px;
    line-height: 1.8;
    text-align: center;
  }

  .taL td {
    width: 20px;
    text-align: left;
  }

  .listTable {
    margin-bottom: 30px;
  }

  .listTable li {
    width: 100%;
    height: 160px;
    margin-top: -1px;
    border: 1px solid #999;
  }

  .listTable li:nth-child(odd) {
    background: #f5f5f5;
  }

  .listTableTtl {
    width: calc(10% - 1px);
    height: 100%;
    float: left;
    border-right: 1px solid #999;
    text-align: center;
    position: relative;
  }

  .listTableTtl span {
    width: 100%;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    transform: translate(-50%, -50%);
  }

  .listTableTxt {
    width: 90%;
    height: 100%;
    float: right;
    font-size: 16px;
    line-height: 1.8;
    position: relative;
  }

  .listTableTxt p {
    position: absolute;
    top: 50%;
    padding: 0 40px;
    margin-top: -4px;
    transform: translateY(-50%);
  }

  .listTableSubTtl {
    margin-bottom: 16px;
    font-size: 19px;
    display: block;
  }

  #other p {
    font-size: 14px;
    line-height: 1.8;
  }

  /* KUNIMUNE ADD */

  .newsDetailInnerTxt h3 {
    margin-top: 160px;
    margin-bottom: 50px;
    padding-bottom: 30px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 20px !important;
    font-weight: 500;
    font-size: 16px;
    border-bottom: 1px solid #999;
  }

  .newsDetailInnerTxt h3::before {
    content: "○";
  }

  .newsDetailInnerTxt h4 {
  }

  .c-article-index {
    margin-top: 160px;
    padding: 40px 40px 20px;
    background: #f5f5f5;
  }

  .c-article-index__list {
    margin-top: 40px;
  }

  .c-article-index li,
  .newsDetailInnerTxt li {
    margin-bottom: 20px;
  }

  .newsDetailInnerTxt li {
    list-style-position: inside;
    list-style-type: disc;
    line-height: 1.6;
  }

  .newsDetailInnerTxt p {
    margin-bottom: 40px !important;
  }

  .tagTtl {
    margin-bottom: 30px;
  }

  .tagBox a {
    margin-right: 10px;
    line-height: 2;
  }

  .fixedTtl h4 {
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
  }

  .facilityFeatureListTtl span {
    -webkit-text-combine: horizontal;
    text-combine-upright: all;
  }
}

@media only print, only screen and (min-width: 1200px) {
  #nav li {
    width: 138px;
  }
}
