@charset "UTF-8"; /*
Theme Name:nishikawa-fc
*/
/* all display
-------------------------------------------------- */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*, *:before, *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

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

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1.25;
    font-family: "Karla","Zen Maru Gothic","Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: relative;
    background: #F4F1EF;
    color: #362A2A;
    /* font-size: 14px; */
    letter-spacing: 0.03em;
}

article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {
    display: block;
}

ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    color: inherit;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}

img {
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

/* ios submit reset */
input[type="submit"], input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus, input[type="button"]::focus {
    outline-offset: -2px;
}

video {
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
    outline: none;
    border: none;
}

/* reset END */
/* parts */
.shadow {
    box-shadow: 0 2px 8px 2px rgba(0,0,0,0.05);
}

@media screen and (min-width: 769px) {
    .-sp {
        display: none !important;
    }
}

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

.moreButton {
    display: inline-block;
    color: #000;
}

/* END parts */
/* general */
main {
    /* background: #fff; */
    width: 100%;
}

/* ----------------------------------------
* fix parts
---------------------------------------- */
.fixLogo {
    display: block;
    /* position: fixed; */
    /* top: 46px; */
    /* left: 2vw; */
    /* height: 30px; */
    z-index: 10;
    font-size: 0;
    /* font-weight: 700; */
    color: #000;
}

.fixLogo img {
    height: 70px;
    width: auto;
}

.drawer_button * {
    margin: 0;
    padding: 0;
    outline: none;
    border: none;
    font: inherit;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-align: left;
    text-decoration: none;
    list-style: none;
}

.drawer_button {
    background: #269b95;
    padding: 0px;
    border-radius: 50px;
    width: 50px;
    height: 50px;
    position: fixed;
    top: 21px;
    right: 24px;
    border: none;
    text-align: center;
    letter-spacing: 0.1em;
    cursor: pointer;
    outline: none;
    z-index: 1002;
    /* transition: 0.2s; */
    color: #000;
    display: none;
}

.drawer_button .drawer_bar {
    display: block;
    width: 16px;
    height: 2px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    position: absolute;
    left: 50%;
    border-radius: 10px;
    transform: translateX(-50%);
}

.drawer_button .drawer_bar1 {
    top: 38%;
}

.drawer_button .drawer_bar2 {
    top: 48%;
}

.drawer_button .drawer_bar3 {
    top: 58%;
}

.drawer_button.active .drawer_bar {
    /* width: 35.36px; */
    /* left: 7.5px */
}

.drawer_button.active .drawer_bar1 {
    /* top: 3%; */
    transform: translateX(-50%) translateY(5px) rotate(-45deg);
    transform-origin: center;
}

.drawer_button.active .drawer_bar2 {
    /* top: 85%; */
    transform: translateX(-50%) rotate(45deg);
    transform-origin: center;
}

.drawer_button.active .drawer_bar3 {
    opacity: 0;
}

.drawer_button.active .drawer_menu_text {
    display: none;
}

.drawer_button.active .drawer_close {
    display: block;
}

.drawer_text {
    width: 100%;
    position: absolute;
    bottom: -20px;
    left: 0;
    text-align: center;
    font-size: 10px;
}

.drawer_close {
    letter-spacing: 0.08em;
    display: none;
}

.drawer_button .drawer_bar {
    background-color: #ffffff;
}

.drawer {
    /* background: #e0e0e0; */
    /* padding: 8rem 4vw; */
    width: 440px;
    height: 100vh;
    max-width: 100%;
    display: block;
    opacity: 0;
    visibility: hidden;
    position: fixed;
    right: -5%;
    top: 0;
    overflow: scroll;
    /* font-weight: 600; */
    z-index: 9;
    transition: 0.5s;
    max-width: 100vw;
}

.drawer.open {
    opacity: 1;
    visibility: visible;
    z-index: 999;
    right: 0;
    /* width: 420px; */
}

.drawer.open:before {
    display: block;
    content: "";
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.7);
    transition: 0.5s;
}

.drawerNav {
    background: #f4f1ef;
    padding: 90px 18px;
    position: relative;
    height: 100%;
    overflow: scroll;
}

.drawerNavItem {
    border-bottom: 1px solid #dadada;
    padding: 16px 0;
    position: relative;
    font-weight: 500;
}
.drawerNavItem:first-child {
    border-top: 1px solid #dadada;
}

.drawerNavItem__child {
    height: 0;
    opacity: 0;
    transition: 0.2s;
    visibility: hidden;
}

.drawerNavItem .btn {
    border-radius: 50px;
    background: #fff;
    display: block;
    width: 24px;
    height: 24px;
    right: 4px;
    top: 12px;
    /* transform: translateY(-50%); */
    position: absolute;
}

.drawerNavItem .btn:after, .drawerNavItem.has-child .btn:before {
    content: "";
    width: 10px;
    height: 2px;
    display: block;
    position: absolute;
    right: 7px;
    top: 11px;
    background: #269b95;
    transition: 0.2s;
    z-index: 1;
}

.drawerNavItem .btn:after {
    transform: rotate(90deg);
}

.btn.on:after {
    transform: rotate(0);
}

.drawerNavItem__child a:before {
    content: "- ";
}

.on + .drawerNavItem__child {
    margin-top: 2rem;
    height: auto;
    opacity: 1;
    visibility: visible;
}

.drawerNavItem__child a {
    display: block;
}

.on + .drawerNavItem__child a {
    margin-top: 16px;
}

.drawerFoot {
    margin-top: 48px;
}

.drawerFootLogo {
    margin: 0 auto;
    max-width: 400px;
    /* width: 260px; */
}


.drawerFootHead.bgWave {
display: inline-block;
padding-bottom: 12px;
background-image: url(./img/common/bgWave.svg);
background-position: left bottom;
background-repeat: repeat-x;
background-size: auto 6px;
font-size: 14px;
}

.drawerFootContact {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap:16px;
}

.drawerFootContact__tel .num {
font-size: 28px;
font-weight: 600;
display: block;
letter-spacing: 0.06em;
}

.drawerFootContact__tel .time {
font-size: 11px;
font-weight: 600;
display: block;
}

.drawerFootContact:after {margin-top: 24px;content: "";width: 100%;height: 1px;background-image: linear-gradient(to right, #999 2px, transparent 2px);background-size: 10px 1px;background-repeat: repeat-x;background-position: left bottom;}

.drawerFootAdd {
margin-top: 24px;
display: flex;
flex-direction: column;
gap: 10px;
}

.drawerFootAdd__item {
display: flex;
align-items: center;
gap: 12px;
font-weight: 500;
letter-spacing: 0.06em;
}

.fix_logo {
    position: fixed;
    top: 1vw;
    left: 1vw;
    mix-blend-mode: difference;
    z-index: 100;
}

.fix_logo img {
    width: 50px;
    height: 50px;
}

.fix_nav {
    /* background: #fff; */
    /* width: 100%; */
    /* height: 100vh; */
    position: fixed;
    top: 52px;
    right: 4vw;
    z-index: 9;
    /* visibility: hidden; */
    /* opacity: 0; */
    transition: 1s;
    transition-delay: 0s;
    /* transform: scale(1.5); */
    display: flex;
}

.fix_nav-imgArea {
    background: #fff;
    padding: 0 8vw 0 4vw;
    width: 50%;
    display: flex;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0s;
}

.open .fix_nav-imgArea {
    opacity: 1;
    transition: 0.3s;
    transition-delay: 0.3s;
}

.fix_nav ul {
    display: flex;
}

.fix_nav ul li {
    font-weight: 600;
    position: relative;
}

.fix_nav ul li + li {
    margin-left: 24px;
}

.fix_nav ul li:before,.fix_nav ul li:after {
    content: "";
    display: block;
    background: #222;
    width: 0%;
    height: 2px;
    position: absolute;
    bottom: -4px;
    transition: 0.2s;
}

.fix_nav ul li:before {
    left: 50%;
}

.fix_nav ul li:after {
    right: 50%;
}

.fix_nav ul li:hover:before, .fix_nav ul li:hover:after {
    width: 50%;
}

.fixToggle {
    border-top: 1px solid #dadada;
    border-bottom: 1px solid #dadada;
    background: #f4f1ef;
    border-radius: 10px;
    padding: 40px 24px;
    width: calc(100% - 48px);
    width: 100%;
    position: absolute;
    top: 98px;
    left: 24px;
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.3s;
}

.fixToggle.on {
    opacity: 1;
    visibility: visible;
}

.fixToggle__ttl.bgWave {
    font-size: 24px;
    font-weight: 600;
    display: inline-block;
    padding-bottom: 12px;
    background-image: url(./img/common/bgWave.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: auto 6px;
    letter-spacing: 0.06em;
}

.fixToggleNav {
    margin-top: 24px;
    display: flex;
    gap: 12px;
}

.fixToggleNav a {
    border-radius: 10px;
    background: #f8f8f8;
    width: 20%;
    height: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    color: #269b95;
    box-shadow: 0 2px 8px 2px rgba(0,0,0,0.05);
    transition: 0.2s;
    font-weight: 500;
}

.fixToggleNav a img {
    height: 56px;
}

.fixToggleNav a.cafe img {
    height: 80px;
}

.fixToggleNav a:hover {
    box-shadow: 0 12px 18px 2px rgba(0,0,0,0.05);
}

/* frontpage */
html {
    font-size: 16px;
}

.subttl {
    font-size: 1.2rem;
    position: relative;
    font-family: "karla", "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.subttl.u-line {
    padding-bottom: 8px;
}

.subttl.u-line:after {
    background: #fff;
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.l-wrap-l {
    margin: 0 auto;
    width: 1220px;
    padding: 0 60px;
    position: relative;
    max-width: 100%;
}

.fixNav {
    padding: 14px 24px;
    width: 100%;
    background-color: #F4F1EF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}

.fixNavWrap {
    display: flex;
}

.fixNav__list {
    display: flex;
    align-items: center;
    gap: 32px;
}

.fixNav__item {
    font-weight: 500;
    cursor: pointer;
    transition: 0.2s;
}

.fixNav__item:hover {
    color: #269b96;
}

.toggle:after {
    margin-left: 4px;
    content: "";
    width: 12px;
    height: 12px;
    display: inline-block;
    /* border-right: 2px solid; */
    /* border-bottom: 2px solid; */
    background: url(./img/common/nav_arr.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: 0.2s;
}

.toggle.on:after {
    transform: rotate(180deg);
}

.fixBtnArea {
    margin-left: 32px;
    /* background: #ccc; */
    font-size: 0;
}

.fixBtnArea img {
    width: 18px;
    height: 18px;
}

.fixBtn {
    border-radius: 10px;
}

.fixBtn.tel {
    background: #269B95;
    padding: 12px 10px;
    display: flex;
    color: #fff;
    align-items: center;
    gap: 10px;
}

.fixBtn__box {
    /* display: flex; */
}

.fixBtn__box span {
    display: block;
}

.fixBtn__box .num {
    font-size: 20px;
    font-weight: 700;
}

.fixBtn__box .time {
    font-size: 11px;
}

.topFv {
    padding-top: 98px;
    display: flex;
    justify-content: center;
    background: url(./img/top/fv-bottom.svg);
    background-position: bottom left;
    background-repeat: no-repeat;
    background-size: contain;
}

.topFv__wrap {
    width: 1600px;
    max-width: 100%;
    padding-right: 24px;
    /* padding-left: 120px; */
    display: flex;
}

.topFvLeft {
    width: 30%;
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    align-items: center;
    /* padding-right: 120px; */
}

.topFv__catch {
    /* margin-left: -16px; */
    padding-top: 32px;
    writing-mode: vertical-rl;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 62px;
}

.topFv__department {
    margin-top: 38px;
    width: 180px;
}

.topFv__department span {
    border-radius: 50px;
    background: #269b95;
    padding: 10px;
    display: block;
    text-align: center;
    font-weight: 500;
    color: #fff;
}

.topFv__department span + span {
    margin-top: 4px;
}

.topFv__img {
    border-radius: 20px;
    width: auto;
    height: 650px;
    overflow: hidden;
}

.topFv__right {
    flex-grow: 1;
}

.topFv__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}

.topNews {
    background: #f8f8f8;
    padding-top: 140px;
}

.topNews__head {
    width: 230px;
}

.topHead {
    font-size: 24px;
}

.topHead.bgWave {
    display: inline-block;
    padding-bottom: 12px;
    background-image: url(./img/common/bgWave.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: auto 6px;
}

.topNews__head .more {
    display: flex;
    margin-top: 72px;
    font-weight: 500;
    align-items: center;
    gap: 8px;
    transition: 0.2s;
}

.topNews__head .more img {
    width: 28px;
    height: auto;
    transition: 0.2s;
}

.topNews__head .more:hover {
    color: #269b96;
}

.topNews__head .more:hover img {
    transform: translateX(-4px);
}

.topNewsWrap {
    display: flex;
    flex-wrap: wrap;
}

.topNews__list {
    flex-grow: 1;
    width: calc(100% - 230px);
    line-height: 1.5em;
}

.topNews__item {
    border-bottom: 1px solid #dadada;
    padding: 24px 0;
    display: block;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    gap: 32px;
    transition: 0.2s;
}

.topNews__item:hover {
    background: #f0f0f0;
}

.topNewsItem__date {
    width: 150px;
}

.topNewsItem__ttl {
}

.topInfo {
    background: #f8f8f8;
    padding-top: 90px;
    padding-bottom: 60px;
}

.topNewsWrap:after {
    margin-top: 72px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.topInfoWrap {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.topAccess {
    max-width: 480px;
    width: 50%;
    flex-shrink: 0;
}

.mapArea {
    border-radius: 10px;
    background: #fff;
    margin-top: 32px;
    width: 100%;
    height: 320px;
    overflow: hidden;
    font-size: 0;
}

.mapArea iframe {
    /* margin-top: 32px; */
    width: 100%;
    height: 280px;
}

.topAccess__desc {
    display: block;
    padding: 12px;
    font-size: 14px;
}

.topHours {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.hours__holiday {
    border-radius: 2px;
    background: #4F4F4F;
    padding: 6px 18px;
    color: #fff;
    font-size: 14px;
}

.topHoursBox {
    padding: 32px 24px;
    border-radius: 10px;
    background: #fff;
    margin-top: 32px;
    width: 100%;
    height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.topHours__table {
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    table-layout: fixed;
}

.topHours__table .time {
    width: 140px;
    text-align: left;
    padding-left: 4px;
    font-size: 16px;
}

.topHours__table th {
    font-weight: 500;
    padding-bottom: 8px;
}

.topHours__table thead {
    /* border-bottom: 1px solid #e6e6e6; */
    vertical-align: middle;
}

.topHours__table td {
    /* padding: 12px 0; */
    vertical-align: middle;
    text-align: center;
    line-height: 1;
    height: 80px;
}

.topHours__table td span {
    font-size: 14px;
}

.topHours__table tr {
    border-bottom: 1px solid #e6e6e6;
}

.topHours__announce {
    border: 1px solid;
    border-radius: 3px;
    margin-top: 22px;
    padding: 8px 12px;
    display: block;
    width: 100%;
    font-size: 14px;
    color: #D94E3B;
}

.topHoursBtnArea {
    margin-top: 16px;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.topHoursBtn {
    width: 48%;
    height: 60px;
    border-radius: 50px;
    display: block;
    transition: 0.2s;
}

.topHoursBtn:hover {
    opacity: 0.8;
}

.topHoursBtn.tel {
    background: #ccc;
    color: #fff;
    display: flex;
    background: #269B95;
    display: flex;
    color: #fff;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.topHoursBtn.tel img {
    width: 20px;
}

.topHours__tel {
    padding-right: 12px;
}

.topHours__tel .num {
    font-size: 20px;
    font-weight: 600;
}

.topHours__tel .time {
    font-size: 11px;
}

.topHours__tel span {
    display: block;
}

.topHoursBtn.faq {
    border: 1px solid;
    color: #269b95;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
}

.topDepartment {
    padding-top: 130px;
    padding-bottom: 90px;
    background: url(./img/top/department-top.svg);
    background-size: contain;
    background-position: left top;
    background-repeat: no-repeat;
}

.topDepartmentWrap {
    display: flex;
    flex-wrap: wrap;
}

.topDepartment__head {
    width: 100%;
    display: flex;
    /* gap: 90px; */
    align-items: flex-start;
    justify-content: space-between;
}

.topDepartment__head h2 {
    /* width: 230px; */
    flex-grow: 0;
}

.topDepartment__head p {
    width: calc(100% - 230px);
    line-height: 2em;
}

.topDepartment__list {
    margin-top: 60px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 32px;
}

.topDepartment__item {
    border-radius: 20px;
    display: block;
    background: #fff;
    padding: 36px 0;
    width: 320px;
    max-width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    color: #269b95;
    font-size: 18px;
    font-weight: 500;
    transition: 0.3s;
}

.topDepartment__item img {
    height: 70px;
    width: auto;
}

.topDepartment__list:after {
    content: "";
    width: 320px;
    max-width: 30%;
}

.topDepartment__item:hover {
    box-shadow: 0 12px 18px 2px rgba(0,0,0,0.05);
}

.departmentAnnounce {
    border-radius: 20px;
    margin-top: 90px;
    padding: 48px;
    width: 100%;
    background: #EEECE1;
}

.departmentAnnounce h3 {
    font-size: 18px;
    font-weight: 500;
    color: #269B95;
}

.departmentAnnounce ul {
    margin-top: 24px;
}

.departmentAnnounce ul li:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0;
    color: #269b95;
}

.departmentAnnounce ul li {
    padding-left: 20px;
    position: relative;
    line-height: 2;
}

.menu {
    padding-top: 60px;
    display: flex;
}


.menuHead__desc {
    margin-top: 12px;
    display: block;
    font-size: 14px;
    line-height: 1.5em;
}

.menuHead {
    /* margin-top: 42px; */
}

.menuIndex {
    max-width: 340px;
}

.menuIndex:before{
    margin-bottom: 32px;
    margin-top: 42px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
}

.menuIndex:after{
    margin-top: 32px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
}

.menuIndex__list {}

.menuIndex__item {
    font-size: 14px;
    font-weight: 500;
    color: #269b96;
}

.menuIndex__item:before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: 6px transparent solid;
    border-right: 6px transparent solid;
    border-bottom: 6px transparent solid;
    border-left: 8px #269b96 solid;

}

.menuIndex__item + .menuIndex__item {
    margin-top: 12px;
}

.menuLeft {
    width: 50%;
    /* position: sticky; */
    /* top: 200px; */
}

.menuRight {
    margin-top: 24px;
    flex-shrink: 0;
}

.menuList {}

.menuItem {
    margin-top: -110px;
    padding-top: 110px;
}

.menuItem + .menuItem {
    margin-top: -55px;
    padding-top: 110px;
}

.menuItem__ttl {
    padding-bottom: 12px;
    font-size: 16px;
    font-weight: 500;
    color: #269b95;
}

.menuItem__desc {
    border-top: 1px dotted #dadada;
    padding: 12px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.menuItem__desc:last-of-type {
    border-bottom: 1px dotted #dadada;
}

.menuItem__desc dt:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0;
    color: #269b95;
}

.menuItem__desc dt {
    padding-left: 20px;
    position: relative;
    line-height: 2;
}

.menuAnnounce {
    margin-top: 24px;
    padding: 8px 12px;
    border: 1px solid #D94E3B;
    font-size: 12px;
    color: #D94E3B;
}

.menuLeftWrap {
    position: sticky;
    top: 200px;
}

@media screen and (max-width:880px) {
    .menu {
    flex-direction: column;
}

.menuLeft {
    width: 100%;
}

.menuIndex {
    max-width: unset;
}

.menuRight {
    margin-top: 60px;
}
}

.topAbout {
    background-color: #f8f8f8;
    background-image: url(./img/top/about-top.svg);
    background-position: top left;
    background-size: contain;
    background-repeat: no-repeat;
    padding-top: 130px;
    padding-bottom: 90px;
}

.topAboutWrap {
}

.topAboutHead {
    text-align: center;
}

.topAboutHead p {
    margin-top: 32px;
    line-height: 2em;
}

.topAboutList {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
}

.topAboutItem__img {
    border-radius: 10px;
    background: #fff;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.topAboutItem {
    width: 330px;
    max-width: 31%;
    position: relative;
    text-align: center;
}

.topAboutItem__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.topAboutItem__ttl {
    padding: 16px 0 4px;
    display: block;
    font-weight: 500;
    transition: 0.2s;
}

.topAboutItem .arr {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 28px;
    height: auto;
    transition: 0.2s;
}

.topAboutItem:hover .topAboutItem__ttl {
    color: #269b96;
}

.topAboutItem:hover .arr {
    transform: translateX(-4px);
}

.topAboutCafe {
    background: #fff;
    border-radius: 20px;
    margin-top: 90px;
    padding: 60px 48px;
    gap: 32px;
    display: flex;
    justify-content: space-between;
}

.topAboutCafe__lines {
    padding-top: 24px;
    width: 440px;
}

.topAboutCafe__lines img {
}

.topAboutCafe__lines p {
    margin-top: 32px;
    line-height: 2em;
}

.topAboutCafe__visual {
    border-radius: 20px;
    width: 420px;
    /* height: 400px; */
    overflow: hidden;
    font-size: 0;
}

.topAboutCafe__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topAboutCafe__lines a {
    margin-top: 32px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    font-weight: 500;
    transition: 0.2s;
}

.topAboutCafe__lines a:hover {
    color: #269b96;
}

.topAboutCafe__lines a img {
    width: 50px;
    height: 50px;
    transition: 0.2s;
}

.topAboutCafe__lines a:hover img {
    transform: translateX(-4px);
}

.footHours {
    padding-top: 72px;
    padding-bottom: 60px;
}

.footHoursWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footHours .topHoursBox {
    padding: 42px 100px 48px;
    height: auto;
}

.footHours .topHoursBox .time {
    width: 240px;
}

.topHours__table td:not(.time):not(.gr) {
    color: #269b95;
}

.foot {
}

.footInfo {
    background: #f8f8f8;
    padding-top: 60px;
    padding-bottom: 60px;
}

.footInfoLeft {
    width: 440px;
    flex-shrink: 0;
}

.footInfoWrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.footLogo {
}

.footLogo img {
    width: 400px;
    height: auto;
}

.footContact {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.footContact:after {
    margin-top: 42px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.footHead.bgWave {
    display: inline-block;
    padding-bottom: 12px;
    background-image: url(./img/common/bgWave.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: auto 6px;
    font-size: 14px;
}

.footContact__tel {
    margin-left: 24px;
}

.footContact__tel .num {
    font-size: 32px;
    font-weight: 600;
    display: block;
    letter-spacing: 0.06em;
}

.footContact__tel .time {
    font-size: 12px;
    font-weight: 600;
    display: block;
}

.footAdd {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footAdd__item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
}

.footInfoRight {
    /* width: 460px; */
    /* height: 400px; */
    max-width: calc(90% - 440px);
}

.footRight__map {
    border-radius: 10px;
    width: 520px;
    height: 320px;
    overflow: hidden;
    max-width: 100%;
}

.footRight__map iframe {
    width: 100%;
    height: 100%;
    max-width: 100%;
}

.footNav {
    background: #7C7373;
    padding-top: 60px;
    padding-bottom: 32px;
    color: #fff;
}

.footNavWrap {
    display: flex;
    gap: 90px 120px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.footNavWrap > .column {
    /* display: inline-flex; */
    flex-wrap: wrap;
    gap: 0 24px;
    width: auto;
    display: inline-block;
    vertical-align: top;
}

.footNavWrap .parent {
    display: block;
    margin-bottom: 24px;
    /* width: 100%; */
}

.footNavWrap .child {
    display: block;
    font-size: 14px;
    margin-bottom: 16px;
}

.footNav a {
    transition: 0.2s;
}

.footNav a:hover {
    opacity: 0.7;
}

span.copyright {
    display: block;
    /* margin-top: 120px; */
    display: block;
    width: 100%;
    text-align: center;
    font-size: 12px;
}

.footNavWrap > .column .column {
    /* display: flex; */
    flex-direction: column;
    /* width: 50%; */
    display: inline-block;
    vertical-align: top;
}

.footNavWrap > .column .column .child:last-child {
    margin-bottom: 0;
}

.footNavWrap > .column .column + .column {
    margin-left: 32px;
}

main {
    padding-top: 98px;
}

.pageHead {
    background-color: #f4f1ef;
    background-image: url(./img/common/pageHead-bottom.svg);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: contain;
}

.pageHeadWrap {
    margin: 0 auto;
    padding: 0 60px;
    width: 1600px;
    height: 420px;
    max-width: 100%;
}

.pageVisual {
    border-radius: 20px;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100%;
    position: relative;
}

.pageVisual.-department {
    background-image: url(./img/department/deparmentVisual.jpg);
}

.pageVisual.-about {
    background-image: url(./img/about/aboutVisual.jpg);
}

.pageTitle {
    position: absolute;
    left: 60px;
    bottom: 48px;
    color: #fff;
}

.pageTitle .jp {
    font-size: 48px;
    font-weight: 500;
    letter-spacing: 0.06em;
}

.pageTitle .en {
    font-size: 18px;
    font-weight: 600;
}

.pageContent {
    background: #f8f8f8;
    padding-bottom: 90px;
}

.pageContentWrap {
}

.departmentList {
    padding-top: 60px;
    display: flex;
}

.departmentItem {
    border-bottom: 1px solid #DADADA;
    padding-bottom: 18px;
    width: 25%;
    text-align: center;
}

.departmentItem .icon {
    width: auto;
    height: 42px;
    position: relative;
}

.departmentItem .icon img {
    height: 100%;
    width: auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.departmentItem span {
    margin-top: 4px;
    display: block;
}

.departmentItem.current {
    color: #269b95;
    border-color: #269b95;
}

.departmentItem:hover span {
    color: #269b95;
}

.departmentItem .icon img.active {
    opacity: 0;
}

.departmentItem:hover img.active {
    opacity: 1;
}

.departmentItem:hover img.passive {
    opacity: 0;
}

.departmentLines:after {
    margin-top: 42px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
}

.departmentTitle {
    border-radius: 10px;
    background: #269b95;
    margin-top: 60px;
    padding: 8px 24px;
    color: #fff;
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.06em;
}

.departmentCatch {
    margin-top: 32px;
    font-size: 20px;
    color: #269B95;
    /* font-weight: 500; */
}

.departmentDesc {
    margin-top: 32px;
    line-height: 1.5em;
}

.departmentContent {
    margin-top: 42px;
}

.pageContent .bgWave {
    font-size: 18px;
    display: inline-block;
    padding-bottom: 12px;
    background-image: url(./img/common/bgWave.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: auto 6px;
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.diseaseListBox {
    border-radius: 20px;
    margin-top: 42px;
    padding: 32px 24px;
    background: #fff;
}

.diseaseList {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.diseaseItem {
    border-radius: 50px;
    background: #EEECE1;
    padding: 8px 24px;
    font-weight: 500;
    font-size: 14px;
}

.diseaseList + .diseaseList {
    margin-top: 8px;
}

.aboutList {
    padding-top: 60px;
    display: flex;
}

.aboutItem {
    border-bottom: 1px solid #DADADA;
    padding-bottom: 18px;
    width: 25%;
    text-align: center;
}

.aboutItem .icon {
    width: auto;
    height: 42px;
    position: relative;
}

.aboutItem .icon.cafe {
    height: 100%;
}

.aboutItem .icon img {
    height: 100%;
    width: auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.aboutItem span {
    margin-top: 4px;
    display: block;
}

.aboutItem span.invisible {
    visibility: hidden;
    width: 0;
    height: 0;
}

.aboutItem.current {
    color: #269b95;
    border-color: #269b95;
}

.aboutItem:hover span {
    color: #269b95;
}

.aboutItem .icon img.active {
    opacity: 0;
}

.aboutItem:hover img.active {
    opacity: 1;
}

.aboutItem:hover img.passive {
    opacity: 0;
}

.aboutContent.-greeting {
    margin-top: 60px;
}

.aboutContent {
}

.greetingWrap {
    display: flex;
    justify-content: space-between;
    position: relative;
    gap: 60px;
}

.greetingLines {
}

.greetingCatch {
    margin-top: 42px;
    font-size: 18px;
    line-height: 1.5em;
    color: #269b95;
}

.greetingDesc {
    margin-top: 42px;
}

.greetingDesc p {
    margin-top: 2em;
    line-height: 1.75em;
}

.greetingDesc p.strong {
    font-weight: 600;
}

.greetingImg {
    /* height: 100%; */
    padding-top: 72px;
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    /* position: relative; */
}

.greetingImgBox {
    border-radius: 20px;
    width: 380px;
    overflow: hidden;
    position: sticky;
    top: 120px;
}

.greetingImgBox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.greetingCareer {
    border-radius: 20px;
    background: #fff;
    margin-top: 90px;
    padding: 48px 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 42px 0;
}

.careerList {
    margin-top: 32px;
}

.greetingCareer .column {
    width: 50%;
    min-width: 360px;
}

.careerItem {
    padding-left: 20px;
    position: relative;
    line-height: 1.5em;
}

.careerItem:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0;
    color: #269b95;
}

.greetingCareer .column.-head {
    width: 100%;
    font-size: 18px;
}

.greetingCareer .column.-head:after {
    margin-top: 32px;
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.greetingCareer .position {
    border-radius: 10px;
    background: #269b95;
    display: inline-block;
    padding: 10px 12px;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.06em;
}

.greetingCareer .name {
    display: inline-block;
    margin-left: 12px;
    font-weight: 600;
}

.-staff .greetingCareer {
    margin-top: 32px;
}

.aboutContent.-staff {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.aboutContent.-staff:before {
    margin-top: 60px;
    margin-bottom: 60px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
}

.aboutContent.-equipment {
    margin-top: 60px;
}

.equipmentWrap {
}

.equipmentLines {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.equipmentDesc {
}

.equipmentDesc p {
    line-height: 1.75em;
}

.equipmentDesc p + p {
    margin-top: 2em;
}

.equipmentList {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px 0;
}

.equipmentList:after {
    content: "";
    width: 32%;
    height: 0;
}

.equipmentItem {
    width: 32%;
}

.equipmentItem__img {
    border-radius: 20px;
    background: #fff;
    padding: 8px;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    text-align: center;
    overflow: hidden;
}

.equipmentItem__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.equipmentItem__name {
    display: block;
    padding-top: 8px;
    font-weight: 500;
}

.equipmentItem__name:before {
    content: "● ";
    color: #269b95;
}

.aboutContent.-outline {
    border-radius: 20px;
    background: #fff;
    margin-top: 60px;
    padding: 42px 60px 60px;
}

.outlineWrap {
}

.overviewBox {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
}

.overviewList {
    margin-top: 48px;
    width: 100%;
}

.overviewList dl {
    /* border-top: 1px solid #ccc;
    padding: 32px 0; */
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.5em;
    flex-wrap: wrap;
    gap: 12px;
}

.overviewList dl:before {
    padding-top: 32px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left top;
}

.overviewList dl + dl:before {
    margin-top: 32px;
}

.overviewList dl:last-child:after {
    padding-top: 32px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.overviewList dt {
    width: 180px;
    font-weight: 500;
    color: #269b95;
    flex-shrink: 0;
}

.overviewList dd {
    width: 420px;
    /* flex-grow: 1; */
}

.aboutContent.-facilities {
    margin-top: 90px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 42px 60px;
    line-height: 1.5em;
}

.facilitiesBox {
    border-radius: 20px;
    background: #EEECE1;
    padding: 48px 60px;
}

.facilitiesBox li {
    padding-left: 20px;
    position: relative;
}

.facilitiesBox li + li {
    margin-top: 12px;
}

.facilitiesBox li span {
    display: block;
    font-weight: 600;
}

.facilitiesBox li:before {
    content: "■";
    position: absolute;
    left: 0;
    top: 0;
    color: #269b95;
}

.aboutContent.-access {
    margin-top: 120px;
}

.accessMap {
    border-radius: 20px;
    margin-top: 48px;
    width: 100%;
    height: 320px;
    overflow: hidden;
}

.accessMap iframe {
    width: 100%;
    height: 100%;
}

.accessDesc {
    margin-top: 48px;
}

.accessDesc dl {
    border-top: 1px solid #dadada;
    padding: 32px 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.accessDesc dt {
    width: 240px;
    font-size: 20px;
    font-weight: 500;
    color: #269b95;
}

.accessDesc dl:last-child {
    border-bottom: 1px solid #dadada;
}

.aboutContent.-cafe {
    margin-top: 60px;
}

.cafeWrap {
}

.cafeLines {
}

.cafeCatch {
    margin-top: 32px;
    font-size: 24px;
    color: #269b95;
}

.cafeDesc {
    margin-top: 24px;
    line-height: 2em;
}

.cafeAttempt {
}

.cafeAttempt:before {
    margin: 60px 0;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
}

.cafeAttempt__list {
    margin-top: 32px;
}

.cafeAttempt__list li {
    padding-left: 20px;
    line-height: 1.5em;
    position: relative;
}

.cafeAttempt__list li:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0;
    color: #269b95;
}

.cafeAttempt__list li + li {
    margin-top: 12px;
}

.pageContentExt {
    /* padding-top: 60px; */
}

.pageContentExt:before {
    margin-top: 60px;
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #999 2px, transparent 2px);
    background-size: 10px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    display: block;
}

/*=======Q&A===========*/
.pageVisual.-faq {
    background-image: url(./img/faq/faqVisual.jpg);
    background-color: #ccc;
}

.faqItem {
    padding: 12px 8vw;
    width: 100%;
    /* height: 80px; */
    display: flex;
    transition: 0.3s;
    align-items: center;
}

.faqItem__icon {
    /* margin-top: -8px; */
    /* margin-bottom: 8px; */
    font-size: 32px;
    font-weight: 700;
    display: inline-block;
    margin-right: 32px;
    /* line-height: 1.5; */
    position: relative;
}

.faqItem span {
    vertical-align: top;
}

.faqItem.-q {
    cursor: pointer;
}

.faqItem.-q:hover {
    background: #f6f4ee;
    cursor: pointer;
}

.faqItem__text {
    padding-top: 4px;
    line-height: 1.5em;
    letter-spacing: 0.03em;
}

.faqItem.-a .faqItem__icon {
    color: #269b95;
}

.faqItem.-q .faqItem__text {
    font-weight: 700;
}

.faqItem.-a {
    padding: 0 8vw;
    height: 0;
    overflow: hidden;
    /* transform: scaleY(0); */
    border-bottom: 1px solid transparent;
    border-color: #f8f8f8;
}

.faqItem.-q.select + .faqItem.-a {
    padding: 12px 8vw;
    height: auto;
    border-bottom: 1px solid #f8f8f8;
}

.faqItem.-q .faqItem__icon:after, .faqItem.-q .faqItem__icon:before {
    content: "";
    width: 12px;
    height: 2px;
    display: block;
    background: #362a29;
    position: absolute;
    left: -36px;
    top: 52%;
    transition: 0.3s;
}

.faqItem.-q .faqItem__icon:before {
    transform: rotate(90deg)
}

.faqItem.-q.select .faqItem__icon:before {
    transform: none;
}

.faqHead {
    text-align: center;
    position: relative;
}

.pageContent.-faq {
    padding-top: 90px;
}

.faqList {
    background: #EEECE1;
    border-radius: 20px;
    overflow: hidden;
}

/*=======ここまでQ&A===========*/
main.page.-news {
    border-bottom: 1px solid #f8f8f8;
    padding-bottom: 90px;
}

.newsTitle .jp {
    font-size: 48px;
    font-weight: 500;
    letter-spacing: 0.06em;
    /* color: #269b96; */
}

.newsTitle .en {
    font-size: 18px;
    font-weight: 600;
}

.newsHead {
    padding-top: 120px;
}

.newsTitle {
    color: #269b96;
}

.newsContent.-news {
    margin-top: 90px;
}

.newsContentWrap {
}

.newsList {
    /* display: flex; */
    /* align-items: center; */
    /* gap: 32px; */
}

.newsItem {
}

.newsItem a {
    border-bottom: 1px solid #dadada;
    padding: 32px 0;
    display: block;
    font-size: 18px;
    font-weight: 500;
    display: flex;
    gap: 32px;
    transition: 0.2s;
    line-height: 1.5em;
}

.newsItem a:hover {
    background: #e9e7e7;
}

nav.pageNav {
    margin-top: 32px;
}

ul.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
}

li .page-numbers {
    border-radius: 30px;
    width: 32px;
    height: 32px;
    line-height: 24px;
    border: 1px solid #269b96;
    display: flex;
    /* text-align: center; */
    justify-content: center;
    align-items: center;
    color: #269b96;
    font-size: 14px;
    transition: 0.2s;
}

li .page-numbers:hover {
    border-color: transparent;
    background: #269b96;
    color: #fff;
}

.page-numbers.dots {
    border: none !important;
    background: none !important;
}

.page-numbers.current {
    border-color: transparent;
    background: #269b96;
    color: #fff;
}

.newsSingleTitle {
    margin: 0 auto;
    width: 900px;
    max-width: 100%;
}

.newsSingleTitle .time {
    font-size: 18px;
    font-weight: 500;
    color: #269b96;
}

.newsSingleTitle .title {
    margin-top: 32px;
    font-size: 28px;
    font-weight: 600;
    /* color: #269b96; */
    letter-spacing: 0.06em;
}

.newsSingle {
    margin: 60px auto 0;
    line-height: 1.5em;
    width: 900px;
    max-width: 100%;
}

.newsSingle > * {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}


.newsSingle > *:first-child {
    margin-top: 0;
}


.newsSingle h2 {
    margin-top: 1em;
    margin-bottom: 0;
    font-size: 20px;
    display: inline-block;
    padding-bottom: 12px;
    background-image: url(./img/common/bgWave.svg);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: auto 6px;
    letter-spacing: 0.06em;
    flex-shrink: 0;
}

.newsSingle h3 {
    font-size: 18px;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.newsSingle p {
    margin-bottom: 1.5em;
}

.newsSingle ul {
    margin-bottom: 1.5em;
}

.newsSingle ul li{
    margin-bottom: 8px;
    position: relative;
    padding-left: 24px;
}
.newsSingle ul li:before {
    content: "●";
    position: absolute;
    left: 0;
    top: 0;
    color: #269b95;
}


.newsSingle ol {
    margin-bottom: 1.5em;
    list-style: none;
}

.newsSingle ol li{
    margin-bottom: 8px;
    position: relative;
    padding-left: 24px;
    counter-increment: item;
}
.newsSingle ol li:before {
    content: counter(item)".";
    position: absolute;
    font-weight: bold;
    left: 0;
    top: 0;
    color: #269b95;
    display: block;
    width: 16px;
    text-align: center;
}

.newsSingle__bottom {
    margin-top: 60px;
}

.newsSingleBack {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.newsSingleBack img {
    width: 28px;
    height: auto;
}

/*レスポンシブ 1200
=========================*/
@media screen and (max-width: 1200px) {
    .fixLogo img {
        height: 60px;
    }

    .l-wrap-l {
        width: 1080px;
        padding: 0 48px;
    }
}

/*レスポンシブ 1080
=========================*/
@media screen and (max-width: 1080px) {
    .fixNavWrap {
        display: none;
    }

    .drawer_button {
        display: block;
    }

    .topFv__wrap {
    }

    .topFvLeft {
        flex-shrink: 0;
    }

    .topFv__img {
        height: 560px;
    }

    .topFv__catch {
        font-size: 26px;
    }

    .topNews__list {
    }

    .topNewsItem__date {
        flex-shrink: 0;
        width: 140px;
    }

    .mapArea {
        height: 460px;
        display: flex;
        flex-direction: column;
    }

    .mapArea iframe {
        height: 100%;
    }

    .topAccess__desc {
        flex-shrink: 0;
    }

    .topNews__item {
        font-size: 16px;
    }

    .topHoursBtn {
        width: 100%;
    }

    .topHoursBtnArea {
        flex-wrap: wrap;
        gap: 6px;
    }

    .topHours__table .time {
        width: 100px;
        font-size: 14px;
    }

    .topHours__table td {
        position: relative;
    }

    .topHours__table td span {
        display: block;
        position: absolute;
        top: 52px;
        left: 50%;
        transform: translateX(-50%);
        width: 60px;
    }

    .topDepartment__head p br {
        display: none;
    }

    .topAboutHead {
        margin: 0 auto;
        max-width: 800px;
    }

    .topAboutHead p {
        text-align: left;
    }

    .topAboutHead p br {
        display: none;
    }

    .topAboutCafe__lines p {
        line-height: 1.5em;
    }

    .topAboutCafe__lines {
        width: 400px;
    }

    .newsItem__date {
        flex-shrink: 0;
    }

    .newsItem a {
        /* font-size: 16px; */
    }

    .pageHeadWrap {
        padding: 0 24px;
        height: 360px;
    }

    .overviewList dd {
        width: 340px;
    }

    .equipmentDesc p br {
        display: none;
    }

    .greetingDesc p:not(.strong) br {
        display: none;
    }

    .greetingImgBox {
        width: 30vw;
    }

    .footInfoLeft {
        width: 400px;
    }

    .footLogo img {
        width: 100%;
    }

    .footContact__tel .time {
        font-size: 11px;
    }

    .footContact__tel .num {
        font-size: 28px;
    }

    .footInfoRight {
        max-width: calc(100% - 432px);
    }

    .footRight__map {
    }

    .footNavWrap {
        gap: 90px;
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 14px;
    }

    .drawer_button {
        right: 12px;
        top: 12px;
        width: 48px;
        height: 48px;
    }

    .topFv__wrap {
        flex-direction: column;
        padding: 0 12px;
    }

    .topFvLeft {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .topFv__catch {
        padding-top: 0;
        writing-mode: unset;
        line-height: 1.5em;
        font-size: min(7vw,36px);
    }

    .fixNav {
        padding: 12px 12px;
    }

    .fixToggle {
        display: none;
    }

    .topFv {
        padding-bottom: 60px;
        justify-content: flex-start;
    }

    .topFv__department {
        width: 100%;
        margin-top: 32px;
    }

    .topFv__department span {
        padding: 6px;
        width: 104px;
        display: inline-block;
        font-size: 14px;
    }

    .topFv__right {
        margin-top: 32px;
    }

    .topFv__img {
        height: 65vw;
    }

    .topNews {
        padding-top: 32px;
    }

    .l-wrap-l {
        width: 100%;
        padding: 0 12px;
    }

    .topNewsWrap {
    }

    .topNews__head {
        width: 100%;
        /* display: flex; */
        /* align-items: flex-start; */
        /* justify-content: space-between; */
    }

    .topNews__list {
        margin-top: 16px;
        width: 100%;
    }

    .topNews__item {
        flex-direction: column;
        gap: 6px;
        padding: 16px 0px;
    }

    .topNewsItem__date {
        font-size: 14px;
    }

    .topNewsWrap .more.-sp {
        margin-top: 24px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 12px;
        width: 100%;
        font-weight: 500;
    }

    .topNewsWrap:after {
        display: none;
    }

    .topInfo {
        padding-top: 60px;
    }

    .topInfoWrap {
        flex-direction: column-reverse;
    }

    .topAccess {
        width: 100%;
        max-width: 100%;
    }

    .mapArea {
        height: 320px;
    }

    .topHours__table {
        font-size: 16px;
    }

    .topDepartment {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .topDepartment__head {
        display: block;
    }

    .topDepartmentWrap {
        /* display: block; */
    }

    .topDepartment__head p {
        margin-top: 32px;
        width: 100%;
    }

    .topDepartment__list {
        margin-top: 32px;
        gap: 12px;
    }

    .topDepartment__item {
        padding: 24px;
        max-width: 48%;
        font-size: 16px;
    }

    .topDepartment__list:after {
        max-width: 48%;
    }

    .topDepartment__item img {
        height: 52px;
    }

    .departmentAnnounce {
        margin-top: 32px;
        padding: 48px 12px;
        font-size: 13px;
    }

    .departmentAnnounce ul li {
        padding-left: 16px;
        letter-spacing: 0;
    }

    .departmentAnnounce ul {
    }

    .topAbout {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .fixLogo img {
        height: 48px;
    }

    .topAboutList {
        margin-top: 32px;
        flex-direction: column;
        gap: 32px;
        font-size: 16px;
    }

    .topAboutItem {
        width: 100%;
        max-width: 100%;
    }

    .topAboutCafe {
        margin-top: 48px;
        padding: 48px 24px 24px;
        flex-direction: column;
    }

    .topAboutCafe__lines {
        margin: 0 auto;
        width: 100%;
        padding-^top: 0;
        padding-^top: 0;
        padding-top: 0;
        max-width: 500px;
    }

    .topAboutCafe__visual {
        width: 100%;
    }

    .footHours {
        padding-top: 60px;
    }

    .footHours .topHoursBox {
        padding: 32px 24px;
    }

    .footHours .topHoursBox .time {
        width: 100px;
    }

    .footInfoLeft {
        width: 100%;
    }

    .footInfoRight {
        margin-top: 32px;
        width: 100%;
        max-width: unset;
    }

    .footInfoWrap {
        flex-wrap: wrap;
    }

    .footRight__map {
        width: 100%;
    }

    .footHead.bgWave {
        /* font-size: 13px; */
    }

    .footContact__tel {
        margin: 0;
    }

    .footContact__tel .num {
    }

    .footContact {
        justify-content: center;
        gap: 16px;
    }

    .footLogo {
        margin: 0 auto;
        max-width: 400px;
        /* width: 260px; */
    }

    .footNavWrap {
        gap: 60px;
    }

    main {
        padding-top: 80px;
    }

    .pageHeadWrap {
        padding: 0 12px;
        height: 200px;
    }

    .pageTitle {
        left: 24px;
        bottom: 24px;
    }

    .pageTitle .jp {
        font-size: 32px;
    }

    .pageTitle .en {
        font-size: 16px;
    }

    .departmentList {
        padding-top: 32px;
        flex-wrap: wrap;
        gap: 24px 0;
    }

    .departmentItem {
        width: calc(100% / 3);
    }

    .departmentTitle {
        margin-top: 48px;
        font-size: 20px;
    }

    .aboutList {
        padding-top: 32px;
        flex-wrap: wrap;
        gap: 24px 0;
        /* align-items: flex-start; */
    }

    .aboutItem {
        width: 50%;
    }

    .aboutContent.-greeting {
        margin-top: 48px;
    }

    .greetingWrap {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    .greetingCatch {
        margin-top: 32px;
    }

    .greetingDesc {
        margin-top: 32px;
    }

    .greetingImg {
        padding: 0;
    }

    .greetingImgBox {
        width: 100%;
        /* height: 490px; */
    }

    .greetingCareer {
        margin-top: 32px;
        padding: 32px 16px;
    }

    .greetingCareer .column {
        width: 100%;
        min-width: auto;
    }

    .careerList {
        margin-top: 24px;
    }

    .aboutContent.-equipment {
        margin-top: 48px;
    }

    .equipmentLines {
        flex-wrap: wrap;
        gap: 24px;
    }

    .equipmentList {
        margin-top: 48px;
    }

    .equipmentItem {
        width: 49%;
    }

    .equipmentList:after {
        /* width: 0; */
        display: none;
    }

    .pageContent {
        padding-bottom: 60px;
    }

    .aboutContent.-outline {
        margin-top: 48px;
        padding: 32px 12px;
    }

    .overviewList {
        margin-top: 32px;
    }

    .overviewList dt {
        width: 60px;
    }

    .overviewList dd {
        width: 220px;
        max-width: calc(100% - 72px);
    }

    .aboutContent.-facilities {
        margin-top: 60px;
        gap: 32px;
    }

    .facilitiesBox {
        padding: 32px 12px;
    }

    .aboutContent.-access {
        margin-top: 60px;
    }

    .accessMap {
        margin-top: 32px;
    }

    .accessDesc dt {
        width: 100%;
        font-size: 18px;
    }

    .accessDesc dl {
        padding: 24px 0;
        flex-wrap: wrap;
        gap: 6px 0;
    }

    .aboutContent.-cafe {
        margin-top: 48px;
    }

    .cafeCatch {
        font-size: 20px;
    }

    .cafeDesc p {
        margin-top: 1.75em;
    }

    .cafeDesc p br {
        display: none;
    }

    .cafeAttempt:before {
        margin: 32px 0;
    }

    .faqItem__icon {
        margin-right: 16px;
        font-size: 26px;
    }

    .faqItem {
        padding: 12px 12px 12px 32px;
    }

    .faqItem.-q .faqItem__icon:after, .faqItem.-q .faqItem__icon:before {
        left: -16px;
    }

    .pageContent.-faq {
        padding-top: 48px;
    }

    .newsHead {
    padding-top: 60px;
}

.newsContent.-news {
    margin-top: 48px;
}

.newsTitle .jp {
    font-size: 32px;
}

.newsTitle .en {
    font-size: 16px;
}

.newsItem a {
    flex-direction: column;
    gap: 6px;
    padding: 16px 0;
    /* font-size: inherit; */
}

.newsItem__date {
    font-size: 14px;
}

.newsItem__ttl {
    font-size: 16px;
}

.newsSingleTitle .title {
    margin-top: 12px;
    font-size: 22px;
    line-height: 1.5em;
}

.newsSingle {
    margin-top: 48px;
}

    main.page.-news {
    padding-bottom: 60px;
}
}