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

/***
* common_sp.css
*/

@media only print, only screen and (min-width: 300px) {
  .bgFoodWrap {
    background: #000;
    position: relative;
  }

  .bgFood {
    filter: brightness(50%);
  }

  .bgFoodWrap h2 {
    font-size: 24px;
    writing-mode: vertical-rl;
    line-height: 1.8;

    position: absolute;
    top: 50%;
    left: 41%;
    transform: translate(-50%, -50%);
    color: #fff;
    white-space: nowrap;
  }

  .tab,
  .pc,
  .pc_tab {
    display: none;
  }

  .sp {
    display: block;
  }

  .hover:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }

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

  .btn {
    padding: 20px 30px;
    color: #000;
    border: 1px solid #aaa;
    font-size: 15px;
    display: inline-block;
  }

  /***
* 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: 20px 0 40px;
    background: #fff;
    position: relative;
    z-index: 3333;
  }

  #logo {
    width: 154px;
    position: absolute;
    top: 20px;
    left: 20px;
  }

  #hideNav {
    width: 100%;
    height: 60px;
    position: fixed;
    bottom: 0;
    background: #e5e2dd;
    border-top: 1px solid #999;
    transform: translate3d(0, 60px, 0);
    transition: all 800ms cubic-bezier(0.23, 1, 0.32, 1);
    z-index: 2222;
  }

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

  #hideNav li a {
    width: calc(100% / 3 - 2px);
    padding: 16px 0 11px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 500;
    font-size: 16px;
    float: left;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    position: relative;
    display: block;
  }

  #hideNav li a::after {
    content: "";
    width: 1px;
    height: 10px;
    background: #999;
    position: absolute;
    top: 18px;
    right: 0;
  }

  #hideNav li:last-child a::after {
    background: none;
  }

  #menu {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    color: #fff;
    background: #726f68;
    z-index: 8888;
    opacity: 0;
    visibility: hidden;
    overflow-y: scroll;
    transition-duration: 0.5s;
    letter-spacing: 0.02em;
  }

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

  #menu a {
    color: #fff;
  }

  /* main */

  #main {
    padding: 60px 0 30px;
  }

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

  .ttl {
    margin-bottom: 80px;
    padding: 0 40px;
    font-size: 18px;
    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 */

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

  #menuLogo,
  #footerLogo {
    width: 154px;
    position: relative;
    top: 20px;
    left: 20px;
  }

  #menuNav,
  #footerNav {
    width: calc(100% - 40px);
    margin: 0 auto;
    overflow: hidden;
  }

  .breadCrumb {
    margin: 60px 0;
    font-size: 13px;
    line-height: 2.5;
  }

  .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: 40px 0 60px 0;
  }

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

  #menuNavInner,
  #footerNavInner {
    width: calc(100% + 20px);
  }

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

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

  #menuNavInnerSub,
  #footerNavInnerSub {
    width: 125px;
    margin-bottom: 30px;
  }

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

  #menuNavInnerLink,
  #footerNavInnerLink {
    width: 125px;
    font-size: 11px;
    letter-spacing: -0.08em !important;
  }

  .navRecruit {
    position: relative;
  }

  .navRecruit::after {
    /* content: "";
    width: 10px;
    height: 15px;
    position: absolute;
    top: 2px;
    right: 65px;
    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; */
  }

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

  #menuNavInner li .pullDown li,
  #footerNavInner li .pullDown li {
    font-size: 10.5px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    min-width: 140px;
  }

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

  .copyright {
    margin-top: 48px;
    font-family: "garamond-premier-pro", "Times New Roman", Times, "serif";
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: top left;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  #menuGroupLogo,
  #footerGroupLogo {
    width: 106px;
    padding-top: 50px;
    position: relative;
    bottom: 24px;
    left: 20px;
  }

  #btnPageTop {
    width: 40px;
    height: 40px;
    background: #fff;
    position: absolute;
    bottom: 24px;
    right: 20px;
    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: 18px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* second */

  #main {
    display: flex;
    align-items: flex-end;
    padding-bottom: 100px;
  }

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

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

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

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

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

  #fixTtl {
    font-size: 17px;
    writing-mode: vertical-rl;
    position: sticky;
    bottom: 20px;
    left: 12px;
    z-index: 1111;
    line-height: 0;
    transition-duration: 0.5s;
  }

  #fixTtl.active {
    bottom: 65px;
    transition-duration: 0.5s;
  }

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

  #titleImg {
    width: 100%;
    margin: 0 auto 60px;
  }

  .txt {
    font-size: 13px;
    line-height: 2.375;
  }

  .subTtl {
    margin-bottom: 70px;
    font-size: 18px;
    line-height: 1.6;
    text-align: left;
    display: block;
  }

  #serviceFacility .subTtl {
    width: calc(100% - 88px);
    margin: 0 15px 70px auto;
  }

  .subTtl .box {
    padding-bottom: 20px;
    display: inline-block;
    border-bottom: 1px solid #aaa;
  }

  .txtC {
    margin-bottom: 70px;
    padding: 0 20px;
    font-size: 14px;
    line-height: 2.375;
    text-align: justify;
  }

  .service .txtC {
    width: calc(100% - 88px);
    margin: 0 15px 15px auto;
    padding: 0;
    font-size: 14px;
    line-height: 2.375;
    text-align: justify;
  }

  #voice {
    width: calc(100% - 88px);
    margin: 0 15px 0 auto;
  }

  .ttlVoice {
    margin-bottom: 15px;
    font-size: 11px;
    letter-spacing: 0.04em;
  }

  .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: 11px;
    line-height: 1.6;
    letter-spacing: 0;
    position: relative;
  }

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

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

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

  section {
    margin-bottom: 100px;
  }

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

  /* hope */

  #hopeIndex {
    width: calc(100% - 80px);
    float: right;
  }

  #hopeList li {
    width: 100%;
    margin: 0 auto 80px;
    position: relative;
  }

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

  .hopeListTtl {
    padding: 6px 4px;
    font-size: 16px;
    line-height: 1.2;
    writing-mode: vertical-rl;
    background: #fff;
    white-space: nowrap;
    position: absolute;
    top: -20px;
    z-index: 1111;
  }

  .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: calc(100% - 36px);
    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: left;
  }

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

  /* hope detail */

  #hopeInner {
    width: 100%; /* SP WIDTH */
    margin: 0 auto 200px;
  }

  #hopeInner .txt {
    width: calc(100% - 88px);
    margin: 0 15px 60px auto;
  }

  .hopeImg {
    width: calc(100% - 88px);
    margin: 0 15px 60px auto;
  }

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

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

  #hopeImg {
    width: 100%; /* SP WIDTH */
    position: relative;
    top: 0;
    left: 50%;
    padding-bottom: 32px;
    transform: translateX(-50%);
  }

  .hopeListMainTtl {
    position: absolute;
    bottom: -105px;
    right: 15px;
    writing-mode: horizontal-tb;
  }

  .hopeListMainTtl h1 {
    padding: 5px 10px 8px;
    font-size: 26px;
    letter-spacing: 0.08em;
    line-height: 1.3;
    background: #fff;
    border: 1px solid #000;
    white-space: nowrap;
  }

  .hopeListMainTtl p {
    padding: 6px 10px 8px;
    font-size: 14px;
    line-height: 1.4;
    margin-top: -1px;
    background: #fff;
    border: 1px solid #000;
    display: inline-block;
    white-space: nowrap;
  }

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

  /* food */

  #dailyFood {
    width: calc(100% - 88px);
    margin: 0 15px 100px auto;
  }

  #foodList {
    width: 100%;
    margin: 0 15px 0 auto;
    overflow: hidden;
  }

  #foodList ul {
    width: calc(100% + 15px);
  }

  #foodList li {
    width: calc(100% / 2 - 15px);
    float: left;
    margin: 0 15px 35px 0;
    position: relative;
  }

  .btnViewMore {
    margin-top: 15px;
    font-size: 12px;
    display: inline-block;
  }

  .bgFood {
    width: 100vw;
    height: 375px;
    margin: 0 calc(50% - 50vw - 29px);
    padding: 2rem 0;
    position: relative;
  }

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

  #specieal1,
  #specieal2 {
    width: calc(100% - 88px);
    margin: 0 15px 100px auto;
  }

  #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: -20px;
    margin-right: -15px;
    padding: 30px 15px 30px 20px;
    writing-mode: vertical-rl;
    position: relative;
  }

  #specieal1 .foodCourseMenu {
    float: right;
  }

  #specieal2 .foodCourseMenu {
    float: right;
  }

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

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

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

  .foodCourseMenu dt {
    height: 120px;
  }

  /* customer */

  #customerVoice {
    width: calc(100% - 100px);
    margin: 0 20px 0 auto;
  }

  #customerVoiceList li:last-child .answer {
    padding: 30px 0 0;
  }

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

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

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

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

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

  .cVListTxt {
    width: calc(100% - 80px);
    float: right;
  }

  .cVListTxt h4 {
    margin-top: -8px;
    margin-bottom: 20px;
    line-height: 1.6;
  }

  .cVListTxtArea {
    position: relative;
    bottom: 0;
    right: 0;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: -0.04em;
  }

  /* rehabilitation */

  #reha {
    width: calc(100% - 88px);
    margin: 0 15px 200px auto;
  }

  .rehaImg {
    margin-bottom: 15px;
  }

  .rehaTxt {
    width: calc(100% - 88px);
    margin: 0 15px 150px auto;
    font-size: 14px;
    line-height: 2.375;
  }

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

  #reha .rehaTxt {
    width: 100%;
    margin: 0;
  }

  #accordion {
    width: calc(100% - 88px);
    margin: 0 15px 150px auto;
  }

  .subHead {
    margin-bottom: 0;
  }

  .accordion {
    position: relative;
    cursor: pointer;
    border-bottom: 1px solid #aaa;
    background: #fff;
    transition-duration: 0.5s;
    letter-spacing: 0.02em;
  }

  .accordion_inner {
    display: none;
  }

  .accordion_header {
    position: relative;
  }

  .accordion_header p {
    float: left;
  }

  .box_one {
    padding: 30px 30px 30px 0;
    font-size: 13px;
    line-height: 2.2;
  }

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

  .acTtl {
    width: 110px;
    padding: 20px 0 23px 0;
    font-size: 13px;
  }

  .acSubTtl {
    padding: 20px 0 23px 0;
    font-size: 13px;
  }

  .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;
  }

  #kuchiTabe {
    width: calc(100% - 88px);
    margin: 0 15px 0 auto;
  }

  /* nursing */

  #nursingTable {
    width: calc(100% - 88px);
    margin: 0 15px 0 auto;
  }

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

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

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

  #nursingTableList li:nth-child(even) {
    border-right: 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: 11px;
    line-height: 1.6;
  }

  /* service */

  .serviceMainTtl {
    writing-mode: horizontal-tb;
  }

  .serviceMainTtl h1,
  .serviceMainTtl h3 {
    padding: 23px 20px 24px 18px;
    font-size: 25px;
    letter-spacing: 0.16em;
    line-height: 1.6;
    position: absolute;
    bottom: -170px;
    right: 0;
  }

  #serviceLead h2,
  #serviceLead h4 {
    width: calc(100% - 88px);
    margin: 0 15px 0 auto;
    margin-bottom: 60px;
    font-size: 17px;
    text-align: left;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }

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

  .serviceImg {
    width: calc(100% - 88px);
    margin: 0 15px 15px auto;
  }

  .bgWrap {
    height: 375px;
    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: 0;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 22px;
    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: calc(100% - 40px);
    margin: 0 auto;
    padding-top: 100px;
  }

  .subMainTtl {
    margin-bottom: 160px;
    font-size: 20px;
    text-align: center;
  }

  .sub2 #mainContents {
    width: calc(100% - 30px);
    margin: 0 auto;
    padding-top: 100px;
  }

  .subMainTtl2 {
    margin-bottom: 110px;
    font-size: 20px;
    text-align: center;
  }

  .subHead {
    margin-bottom: 40px;
    padding: 0 0 20px 24px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-weight: 500;
    font-size: 16px;
    line-height: 1.8;
    border-bottom: 1px solid #aaa;
    position: relative;
  }

  .subHead::before {
    content: "◯ ";
    position: absolute;
    top: 0;
    left: 0;
  }

  .sub .txt {
    font-size: 14px;
    letter-spacing: -0.01em;
    width: 100%;
    margin: 0 auto;
  }

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

  /* news */

  #localNav {
    margin-bottom: 60px;
    padding-bottom: 20px;
    border-bottom: 1px solid #aaa;
  }

  #localNav li {
    margin-right: 18px;
    padding-right: 20px;
    font-size: 13px;
    line-height: 2.5;
    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;
  }

  .fixSubTtl {
    position: sticky;
    top: 115px;
    float: left;
    writing-mode: vertical-rl;
  }

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

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

  .newsList {
    width: calc(100% - 80px);
    float: right;
  }

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

  .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: block;
  }

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

  .newsTtl {
    width: 100%; /* SP WIDTH */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
  }

  .newsList dd.btnCategory {
    position: absolute;
    top: 14px;
    right: 0;
    padding: 4px;
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 9px;
    background: #fff;
    border: 1px solid #aaa;
  }

  .newsList ul.link {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .newsList ul.link li {
    font-size: 12px;
    padding: 0 3px 3px 0;
  }
  .newsList ul.link li a {
    display: block;
    padding: 5px 5px;
    border: 1px solid #aaa;
    transition-duration: 0.5s;
  }
  .newsList ul.link li a:hover {
    background-color: #eee;
    transition-duration: 0.5s;
  }

  .subBtn {
    width: 100%; /* SP WIDTH */
    margin: 0 auto;
    padding: 20px 0 24px;
    border: 1px solid #aaa;
    text-align: center;
    display: block;
  }

  #newsCategoryList,
  #articleCategoryList {
    width: calc(100% - 80px);
    margin-bottom: 0;
    float: right;
  }

  #nCListBig {
    width: 100%; /* SP WIDTH */
    overflow: hidden;
    margin-bottom: 20px;
  }

  #nCListBig ul {
    width: 100%; /* SP WIDTH */
  }

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

  #articleCategoryList #nCListBig li {
    width: calc(100% / 1);
    float: none;
    margin: 0 0 40px 0;
  }

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

  #nCListBig h5 {
    padding-right: 50px;
    font-size: 14px;
    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;
  }

  #nCListSmall {
    font-size: 12px;
  }

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

  #nCListSmall li a {
    border-bottom: 1px solid #aaa;
  }

  /* newsDetail */

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

  .newsDetailInner .subMainTtl p {
    font-size: 14px;
    line-height: 2.5;
    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;
    white-space: nowrap;
  }

  .newsDetailInner {
    width: calc(100% - 80px);
    float: right;
  }

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

  .newsDetailInnerTxt {
    margin-bottom: 120px;
  }

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

  .newsDetailInnerTxt a {
    text-decoration: underline;
  }

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

  #newsShare .subTtl {
    text-align: center;
  }

  #btnSns {
    width: 141px;
    margin: 0 auto 80px;
    overflow: hidden;
  }

  #btnSns ul {
    width: 161px;
  }

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

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

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

  #newsBtns {
    margin-bottom: 100px;
    font-size: 13px;
    text-align: center;
  }

  #newsBtns li {
    margin-right: 50px;
    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: calc(100% - 80px);
    float: right;
    overflow: hidden;
  }

  #articleList ul,
  #facilityList ul {
    width: 100%;
  }

  #articleList li,
  #facilityList li {
    width: 100%;
    float: none;
    margin: 0 0 50px 0;
    position: relative;
  }

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

  .articleListImg,
  .facilityListImg {
    margin-bottom: 20px;
  }

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

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

  .facilityListDate {
    font-size: 15px;
    letter-spacing: 0;
    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: -1px 0 0 0;
    padding: 2px 2px 2px 4px;
    font-size: 11px;
    background: #fff;
    border: 1px solid #aaa;
    display: inline-block;
    float: right;
  }

  .articleListTtl {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 2.111;
  }

  .facilityListTtl {
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0;
  }

  .facilityListDetail {
    margin-bottom: 20px;
  }

  .facilityListDetail dl {
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0;
  }

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

  /* article detail */

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

  .article .subMainTtl {
    margin-top: -10px;
    margin-bottom: 50px;
    font-size: 26px;
    line-height: 1.6;
    text-align: left;
  }

  .article .subMainTtl h1 {
    margin-bottom: 16px;
  }

  .article .subMainTtl p .date {
    margin-bottom: 16px;
    display: inline-block;
  }

  .article .subMainTtl p {
    font-size: 12px;
  }

  /***
* table
*/

  /* moveIn */

  #moveIn {
    text-align: center;
  }

  #moveIn h4 {
    margin-bottom: 50px;
    font-size: 18px;
    line-height: 1.8;
  }

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

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

  /* contact */

  #contactBnr {
    margin-bottom: 0;
  }

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

  #contactBnrList ul {
    width: 100%;
  }

  #contactBnrList li {
    width: 100%;
    float: none;
    margin-right: 0;
  }

  .contactBnrTxt {
    width: 78%;
    padding: 30px 20px;
    position: relative;
    top: -30px;
    left: 0;
    background: #fff;
  }

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

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

  /***
* form
*/

  .form section {
    width: 100%;
    margin: 0 auto 100px;
  }

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

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

  .l-contact-form_lists li:first-child {
    border-bottom: none;
  }

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

  #labelAreaL {
    float: none;
  }

  #labelAreaR {
    float: none;
  }

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

  .l-contact-form_list__ttl {
    width: 100%;
    padding: 10px 0;
    font-size: 16px;
    display: inline-block;
    vertical-align: middle;
    border-bottom: 1px solid #aaa;
  }

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

  /*
#remarks .l-contact-form_list__ttl{
  border-bottom: none;
}
*/

  .l-contact-form_list__cont {
    width: 100%;
    display: inline-block;
    position: relative;
    top: 0;
    padding: 2px 0 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: calc(100% - 40px);
    float: none;
    margin: 30px 0 20px;
  }

  .calendar {
    width: calc(100% - 15px);
  }

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

  input:focus {
    outline: none;
  }

  textarea {
    width: calc(100% - 40px);
    border-top: 1px solid #aaa;
    border-right: none;
    border-left: none;
    border-bottom: 1px solid #aaa;
    border-radius: 0;
    overflow: hidden;
  }

  .input-calendar {
    position: relative;
  }

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

  .l-contact-form_box_in {
    width: 100%;
  }

  .l-contact-form_box_ins {
    width: 100%;
    float: none;
  }

  .l-contact-form_box_inp {
    width: 100%;
    float: none;
  }

  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: 2.4;
  }

  #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 {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 10px;
  }

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

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

  .l-contact-form-policy_text {
    width: calc(100% - 60px);
    margin-bottom: 50px;
    padding: 0 30px;
    font-size: 13px;
    line-height: 2.571;
    text-align: justify;
  }

  .labelArea .checkbox01-parts {
    font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN",
      serif;
    font-size: 14px;
  }

  .checkbox01-parts {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 12px;
    letter-spacing: 0;
    font-weight: 500;
  }

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

  #Area .l-contact-form_list__ttl {
    border-bottom: none;
  }

  #remarks {
    border-bottom: none;
  }

  #remarks .l-contact-form_list__ttl {
    width: 170px;
    border-bottom: none;
  }

  .wide {
    width: calc(100% - 6px);
    float: none;
  }

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

  select {
    color: #000;
    background: #fff;
    outline: none;
  }

  .g-btn {
    width: calc(100% - 60px);
    margin: 0 auto;
    padding: 10px 0 12px;
    color: #000;
    background: #fff;
    border: 1px solid #aaa;
    font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN",
      serif;
    font-weight: normal;
    font-size: 14px;
    text-align: center;
    display: block;
    position: relative;
  }

  /* 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 6px;
    font-size: 12px;
    position: relative;
    top: 10px;
    left: -6px;
    z-index: 1111;
  }

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

  /* food modal */

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

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

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

  #modal h4 {
    width: calc(100% - 40px);
    position: absolute;
    font-size: 13px;
    line-height: 1.75;
    left: 20px;
    bottom: 20px;
  }

  /* モーダル */

  .modal {
    width: 100%;
    height: 100%;
    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: 50px;
    height: 100%;
    top: 0;
    right: 0;
    margin-top: 0;
    background: url("../../_common/img/icon_arrow_next_wh.svg") center no-repeat;
    background-size: 14px auto;
  }

  .swiper-button-prev {
    text-indent: -9999px;
    width: 50px;
    height: 100%;
    top: 0;
    left: 0;
    margin-top: 0;
    background: url("../../_common/img/icon_arrow_prev_wh.svg") center no-repeat;
    background-size: 14px 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: 100%;
    margin-right: 0 !important;
    position: relative !important;
  }

  .tableWrap {
    margin-bottom: 80px;
  }

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

  table {
    width: 100%;
    letter-spacing: 0;
  }

  tr {
    border-bottom: 1px solid #999;
  }

  th,
  td {
    padding: 18px 10px 20px;
    position: relative;
  }

  th:after,
  td:after {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% - 8px);
    background: #999;
    top: 4px;
    right: 0;
  }

  th:last-child:after,
  td:last-child:after {
    height: 100%;
    background: #999;
    top: 0;
  }

  thead tr {
    font-family: "Zen Kaku Gothic New", "Hiragino Sans",
      "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size: 13px;
    line-height: 1.5;
    font-weight: 500;
    border-top: 1px solid #999;
    background: #cac6bd;
  }

  thead th {
    border-left: none;
  }

  thead th:first-child {
    border-left: 1px solid #999;
  }

  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: 10px;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    border-left: 1px solid #999;
  }

  td {
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
    vertical-align: middle;
  }

  .taL td {
    text-align: left;
  }

  .listTable {
    margin-bottom: 30px;
  }

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

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

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

  .listTableTtl span {
    width: 100%;
    position: absolute;
    top: 50%;
    font-size: 12px;
    line-height: 1.6;
    margin-top: -4px;
    transform: translate(-50%, -50%);
  }

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

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

  .listTableSubTtl {
    margin-bottom: 10px;
    font-size: 16px;
    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: 80px;
    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: 30px !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;
  }
}
