@charset "utf-8";
/*
Theme Name:kawakami-seikei
Author: かわかみ整形外科
*/
@import url(https://fonts.googleapis.com/css?family=M+PLUS+1p);
@import url(https://fonts.googleapis.com/css?family=Sawarabi+Mincho);
@import url(https://fonts.googleapis.com/earlyaccess/hannari.css);
@import url(https://fonts.googleapis.com/css?family=Merriweather);
body {
    font: 12pt/1.6 YuGothic, 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'Meiryo UI', 'ＭＳ Ｐゴシック', sans-serif;
    line-height: 1.8;
    letter-spacing: .08rem
}
.min {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-display: swap
}
.wf-mplus1p {
    font-family: "M PLUS 1p", sans-serif
}
.wf-hannari {
    font-family: "Hannari", sans-serif
}
.wf-sawarabimincho {
    font-family: "Sawarabi Mincho", serif
}
.wf-merriweather {
    font-family: 'Merriweather', serif
}
.fs5 {
    font-size: .5rem
}
.fs8 {
    font-size: .8rem
}
.fs10 {
    font-size: 1rem
}
.fs12 {
    font-size: 1.2rem
}
.fs14 {
    font-size: 1.4rem
}
.fs16 {
    font-size: 1.6rem
}
.fs18 {
    font-size: 1.8rem
}
.fs20 {
    font-size: 2rem
}
.fs30 {
    font-size: 3rem
}
.fs40 {
    font-size: 4rem
}
.al {
    text-align: left !important
}
.ar {
    text-align: right !important
}
.ac {
    text-align: center !important
}
#contents .map {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden
}
#contents .map iframe, #contents .map object, #contents .map embed {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    width: 100%;
    height: 100%
}
.table {
    display: table;
    border-collapse: collapse
}
.table .caption {
    display: table-caption;
    width: 100%
}
.table dl {
    display: table-row
}
.table dl dt, .table dl dd {
    display: table-cell
}
.table dl dd ul {
    padding-left: 1em;
    margin: 0
}
img {
    vertical-align: bottom
}
.flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: column
}
.flex.row {
    flex-direction: row
}
.vh1 {
    height: 10vh
}
.vh2 {
    height: 20vh
}
.vh3 {
    height: 30vh
}
.vh4 {
    height: 40vh
}
.vh5 {
    height: 50vh
}
.vh6 {
    height: 60vh
}
.vh7 {
    height: 70vh
}
.vh8 {
    height: 80vh
}
.vh9 {
    height: 90vh
}
.vh10 {
    height: 100vh
}
.pt1 {
    padding-top: .5rem !important
}
.pt2 {
    padding-top: 1rem !important
}
.pt3 {
    padding-top: 1.5rem !important
}
.pt4 {
    padding-top: 2rem !important
}
.pt5 {
    padding-top: 2.5rem !important
}
.pt6 {
    padding-top: 3rem !important
}
.pt7 {
    padding-top: 4rem !important
}
.pt8 {
    padding-top: 5rem !important
}
.pt9 {
    padding-top: 6rem !important
}
.pt10 {
    padding-top: 7rem !important
}
.pb1 {
    padding-bottom: .5rem !important
}
.pb2 {
    padding-bottom: 1rem !important
}
.pb3 {
    padding-bottom: 1.5rem !important
}
.pb4 {
    padding-bottom: 2rem !important
}
.pb5 {
    padding-bottom: 2.5rem !important
}
.pb6 {
    padding-bottom: 3rem !important
}
.pb7 {
    padding-bottom: 4rem !important
}
.pb8 {
    padding-bottom: 5rem !important
}
.pb9 {
    padding-bottom: 6rem !important
}
.pb10 {
    padding-bottom: 7rem !important
}
.mt1 {
    margin-top: .5rem !important
}
.mt2 {
    margin-top: 1rem !important
}
.mt3 {
    margin-top: 1.5rem !important
}
.mt4 {
    margin-top: 2rem !important
}
.mt5 {
    margin-top: 2.5rem !important
}
.mt6 {
    margin-top: 3rem !important
}
.mt7 {
    margin-top: 4rem !important
}
.mt8 {
    margin-top: 5rem !important
}
.mt9 {
    margin-top: 6rem !important
}
.mt10 {
    margin-top: 7rem !important
}
.mb1 {
    margin-bottom: .5rem !important
}
.mb2 {
    margin-bottom: 1rem !important
}
.mb3 {
    margin-bottom: 1.5rem !important
}
.mb4 {
    margin-bottom: 2rem !important
}
.mb5 {
    margin-bottom: 2.5rem !important
}
.mb6 {
    margin-bottom: 3rem !important
}
.mb7 {
    margin-bottom: 4rem !important
}
.mb8 {
    margin-bottom: 5rem !important
}
.mb9 {
    margin-bottom: 6rem !important
}
.mb10 {
    margin-bottom: 7rem !important
}
.mbv1 {
    margin-bottom: 10vh !important
}
.mbv2 {
    margin-bottom: 20vh !important
}
.mbv3 {
    margin-bottom: 30vh !important
}
.mbv4 {
    margin-bottom: 40vh !important
}
.mbv5 {
    margin-bottom: 50vh !important
}
.mbv6 {
    margin-bottom: 60vh !important
}
.mbv7 {
    margin-bottom: 70vh !important
}
.mbv8 {
    margin-bottom: 80vh !important
}
.mbv9 {
    margin-bottom: 90vh !important
}
.mbv10 {
    margin-bottom: 100vh !important
}
.bt a {
    display: inline-block;
    width: 280px;
    height: 3rem;
    line-height: 3rem;
    text-align: center;
    background-color: rgba(192, 223, 215, 1);
    font-size: 1rem;
    color: rgba(0, 0, 0, 1);
    text-decoration: none;
    font-weight: 700;
    border: 2px solid rgba(192, 223, 215, 1);
    position: relative;
    border-radius: 2px;
    overflow: hidden;
    z-index: 1
}
.bt a:after {
    width: 100%;
    height: 0;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    opacity: 0;
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
    transition: .2s;
    z-index: -1
}
@media screen and (min-width:769px) {
    .bt a:hover {
        color: rgba(0, 0, 0, 1)
    }
    .bt a:hover:after {
        height: 380%;
        opacity: 1
    }
    .bt a:active:after {
        height: 480%;
        opacity: 1
    }
}
.h1.wrap {
    text-align: center;
    width: 100%
}
.border {
    position: relative;
    display: inline-block;
    padding: 0 55px
}
.border:before, .border:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px
}
.border.nega:before, .border.nega:after {
    background-color: rgba(81, 80, 79, 1)
}
.border.posi:before, .border.posi:after {
    background-color: rgba(51, 51, 51, 1)
}
.border:before {
    left: 0
}
.border:after {
    right: 0
}
.brackets {
    position: relative;
    font-size: 2rem;
    margin: 80px auto 40px;
    padding: 0 1rem;
    display: inline-block;
    top: 0;
    font-family: 'Mplus 1p';
    font-display: swap;
    font-weight: 900;
    text-indent: .2rem;
    letter-spacing: .2rem
}
.brackets:before, .brackets:after {
    position: absolute;
    content: '';
    width: 16px;
    height: 20px;
    display: inline-block
}
.brackets:before {
    border-left: solid 2px #000;
    border-top: solid 2px #000;
    top: 0;
    left: 0
}
.brackets:after {
    content: '';
    border-right: solid 2px #000;
    border-bottom: solid 2px #000;
    bottom: 0;
    right: 0
}
.glow {
    text-shadow: 0 0 2px rgba(255, 255, 255, 1), 0 -1px 8px rgba(255, 255, 255, 1), -1px 0 8px rgba(255, 255, 255, 1), 0 1px 8px rgba(255, 255, 255, 1), 1px 0 8px rgba(255, 255, 255, 1)
}
.shadow {
    text-shadow: 0 0 2px rgba(0, 0, 0, .4), 0 -1px 8px rgba(0, 0, 0, .4), -1px 0 8px rgba(0, 0, 0, .4), 0 1px 8px rgba(0, 0, 0, .4), 1px 0 8px rgba(0, 0, 0, .4)
}
@media screen and (min-width:769px) {
    .ovhiden {
        overflow: hidden
    }
    .anime {
        opacity: 0
    }
    .anime.motion01 {
        transform: translateY(120px);
        transition: all .8s
    }
    .anime.motion02 {
        transform: translateY(160px);
        transition: all .8s
    }
    .anime.motion03 {
        transform: translateX(-120px);
        transition: all .8s;
        transition-delay: .4s
    }
    .anime.motion04 {
        transform: translateX(120px);
        transition: all .8s;
        transition-delay: .4s
    }
    .anime.motion05 {
        transform: translateY(80px);
        transition: all .8s
    }
    .anime.motion01.start, .anime.motion02.start, .anime.motion03.start, .anime.motion04.start, .anime.motion05.start {
        opacity: 1;
        transform: translate3d(0, 0, 0)
    }
}
body {
    width: 100%;
    margin: 0;
    padding: 0;
    color: rgba(81, 80, 79, 1)
}
@media screen and (min-width:959px) {
    #top-head {
        margin: 0;
        padding: 0;
        top: 0;
        position: fixed;
        height: 152px;
        width: 100%;
        z-index: 999;
        overflow: hidden;
        background-color: rgba(255, 255, 255, .9)
    }
    #top-head .inner {
        width: 1280px;
        position: relative;
        margin: 0 auto;
        display: flex;
        flex-direction: column
    }
    #top-head h1.logo {
        margin: 31px auto 15px;
        height: 43px;
        width: 414px
    }
    #top-head h1.logo a {
        line-height: 1;
        display: inline-block
    }
    #top-head h1.logo a img {
        width: 414px;
        height: 43px
    }
    #global-nav {
        transition: all .4s;
        font-size: 0;
        margin: 0 auto;
        width: 494px
    }
    #global-nav ul {
        width: 100%;
        margin: 0 auto;
        justify-content: space-around;
        padding: 0
    }
    #global-nav ul li {
        display: inline-block;
        width: auto;
        margin: 0 auto;
        height: 3rem;
        cursor: pointer;
        position: relative;
        overflow: hidden
    }
    #global-nav ul li .eff {
        width: 100%;
        height: 3rem;
        border: 0 solid rgba(255, 255, 255, 1);
        position: absolute;
        transition: all .3s linear;
        z-index: 1
    }
    #global-nav ul li:first-child {
        margin-left: 0
    }
    #global-nav ul li:last-child {
        margin-right: 0
    }
    #global-nav ul li a {
        display: block;
        padding: 0 1rem;
        color: rgba(0, 0, 0, 1);
        font-size: 1rem;
        text-align: center;
        width: 100%;
        text-decoration: none;
        line-height: 3rem;
        transition: all .3s linear;
        z-index: 2;
        position: relative
    }
    #global-nav ul li:hover .eff {
        border: 1.5rem solid rgba(248, 189, 0, 1)
    }
    #global-nav ul li a:hover {
        color: #fff
    }
    #conversion .spcv {
        display: none !important
    }
    #conversion .toocv {
        display: block;
        transition: all .4s;
        position: absolute;
        top: 0;
        right: 45px
    }
    #conversion .toocv a {
        font-family: "Sawarabi Mincho", serif;
        font-display: swap;
        display: block;
        text-align: center;
        width: 231px;
        height: 127px;
        margin: 0;
        border-radius: 0 0 2px 2px;
        border: solid 1px rgba(0, 0, 0, 1);
        border-width: 0 1px 1px;
        color: rgba(0, 0, 0, 1);
        text-decoration: none;
        transition: all .4s;
        transform: scale(1, 1)
    }
    #conversion .toocv dl {
        line-height: 1;
        letter-spacing: 0;
        margin: 0;
        padding: 30px 0 0
    }
    #conversion .toocv dl dt {
        font-family: "Sawarabi Mincho", serif;
        font-display: swap;
        font-size: 22.67px;
        font-weight: 900;
        margin-bottom: 8px
    }
    #conversion .toocv dl dd {
        margin: 0
    }
    #conversion .toocv dl dd:nth-child(2) {
        font-size: 14px;
        margin-bottom: 12px
    }
    #conversion .toocv dl dd:nth-child(3) {
        font-size: 26px;
        font-weight: 900;
        letter-spacing: 0
    }
}
@media screen and (max-width:1280px) {
    #top-head .inner {
        width: 100%
    }
    #conversion .toocv {
        right: 1rem
    }
}
#nav-toggle {
    display: none;
    position: absolute;
    width: 29px;
    height: 21px;
    cursor: pointer;
    z-index: 201
}
#nav-toggle div {
    position: relative
}
#top-head #nav-toggle span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: rgba(0, 0, 0, 1);
    left: 0;
    transition: .3s ease-in-out
}
#nav-toggle span:nth-child(1) {
    top: 0
}
#nav-toggle span:nth-child(2) {
    top: 9px
}
#nav-toggle span:nth-child(3) {
    top: 18px
}
@media screen and (max-width:959px) {
    #top-head, #top-head .inner {
        position: static;
        height: auto
    }
    #top-head #mobile-head h1.logo {
        position: absolute;
        top: .75rem;
        right: auto;
        left: .5rem;
        margin: 0;
        line-height: 1;
        z-index: 200;
        height: 48px;
        width: auto
    }
    #top-head h1.logo a img {
        height: auto;
        width: 250px
    }
    #top-head #mobile-head {
        width: 100%;
        height: 60px;
        background: rgba(255, 255, 255, .9);
        filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, .2));
        z-index: 197;
        opacity: 1;
        position: fixed;
        transition: all .4s
    }
    #global-nav {
        position: fixed;
        top: -560px;
        z-index: 100;
        background: rgba(255, 255, 255, .9);
        width: 100%;
        text-align: center;
        padding: 60px 0 0;
        flex-wrap: nowrap;
        transition: .5s ease-in-out;
        opacity: 0
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        padding: 0;
        font-size: 1.3rem
    }
    #global-nav ul li {
        width: 100%;
        position: static
    }
    #top-head #global-nav ul li a, #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: rgba(0, 0, 0, 1);
        margin: 0;
        padding: .8rem 0
    }
    #top-head #global-nav ul li a:after, #top-head.fixed #global-nav ul li a:after {
        background: rgba(0, 0, 0, 0)
    }
    #global-nav ul li a.current {
        background: rgba(0, 0, 0, 0)
    }
    #nav-toggle {
        right: 1rem;
        top: 22px;
        display: block
    }
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        transform: rotate(315deg)
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
        opacity: 0
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        transform: rotate(-315deg)
    }
    .open #global-nav {
        transform: translateY(560px);
        opacity: 1
    }
    #conversion .toocv {
        display: none
    }
    #conversion .spcv {
        background: rgba(192, 223, 215, .8);
        position: fixed;
        bottom: 0;
        left: 0;
        margin: 0;
        z-index: 150;
        display: flex;
        justify-content: center;
        padding: 1rem;
        width: 100vw;
        filter: drop-shadow(0 -4px 8px rgba(0, 0, 0, .1))
    }
    #conversion .spcv a {
        color: rgba(0, 0, 0, 1)
    }
    #conversion .spcv dl {
        margin: 0;
        padding: 0;
        display: grid;
        grid-gap: .2rem .75rem;
        grid-template-columns: 1fr 1.75fr
    }
    #conversion .spcv dl dt {
        margin: 0;
        grid-row: 1/span 2;
        background: rgba(255, 255, 255, .9);
        font-size: .875rem;
        letter-spacing: 0;
        padding: .2rem 0 0;
        text-align: center;
        line-height: 1.4
    }
    #conversion .spcv dl dd:nth-child(2) {
        margin: 0;
        font-size: .8125rem;
        line-height: 1;
        text-align: center
    }
    #conversion .spcv dl dd:last-child {
        margin: 0;
        line-height: 1;
        font-size: 1.375rem;
        letter-spacing: 0;
        font-weight: 900;
        white-space: nowrap
    }
}
body {
    margin: 0;
    padding: 0
}
#contents, #contents * {
    margin: 0;
    padding: 0
}
#contents {
    width: 100%
}
#billboard {
    overflow: hidden;
    position: relative;
    width: 100vw;
    height: 100vh
}
#billboard .wrap {
    position: relative;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0)
}
#billboard .wrap h1 {
    width: 720px;
    height: 8rem;
    position: absolute;
    font-family: 'Merriweather', serif;
    font-display: swap;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    padding: 1rem 2rem;
    background: linear-gradient(90deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, .0))
}
#billboard .wrap h1 span {
    display: block;
    color: rgba(255, 255, 255, 1)
}
#billboard .wrap h1 span:first-child {
    font-size: 2rem;
    letter-spacing: 1px;
    line-height: 1;
    font-weight: lighter;
    margin-bottom: 1rem
}
#billboard .wrap h1 span:last-child {
    font-size: 3rem;
    letter-spacing: 2px;
    line-height: 1;
    font-weight: lighter
}
#gallery {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -100;
    margin: auto;
    overflow: hidden;
    filter: sepia(20%), contrast(120%);
    background: #fff
}
#gallery .photo {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    animation: bgAnime 48s linear infinite
}
#gallery .photo01 {
    background-image: url(./images/bg01.jpg);
    animation-delay: 0s
}
#gallery .photo02 {
    background-image: url(./images/bg02.jpg);
    animation-delay: 12s
}
#gallery .photo03 {
    background-image: url(./images/bg04.jpg);
    animation-delay: 24s
}
#gallery .photo04 {
    background-image: url(./images/bg05.jpg);
    animation-delay: 36s
}
@keyframes bgAnime {
    0% {
        opacity: 0;
        transform: scale(1, 1)
    }
    5% {
        opacity: .9
    }
    33% {
        opacity: .9
    }
    38% {
        opacity: 0
    }
    100% {
        opacity: 0;
        transform: scale(1.2, 1.2)
    }
}
#gallery .photo {
    background-position: center;
    background-size: cover
}
#gallery .photo>div {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    color: rgba(255, 255, 255, 1)
}
#gallery .photo>div p {
    margin-top: 24px;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 900
}
#gallery .photo:nth-child(2)>div p {
    font-size: 1.2rem;
    line-height: 1.8
}
#gallery .photo01>div {
    width: 472px;
    height: 232px;
    left: 22vw
}
#gallery .photo02>div {
    width: 578px;
    height: 240px;
    left: 18vw
}
#gallery .photo03>div {
    width: 472px;
    height: 232px;
    left: 22vw
}
#gallery .photo>div .copy {
    font-size: 7.35rem;
    padding-bottom: 8px;
    font-weight: 400;
    line-height: 1;
    font-family: 'Libre Baskerville', serif;
    font-display: swap;
    border-bottom: solid 2px rgba(255, 255, 255, 1)
}
#gallery .photo>div .copy span {
    font-size: 75%
}
@media screen and (min-width:769px) {
    #billboard .bg-video {
        background-blend-mode: multiply
    }
}
#contents div section h1 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-display: swap;
    font-size: 1.375rem;
    margin-bottom: 40px;
    letter-spacing: 2px
}
#contents.post div section h1 {
    margin: 8px
}
#contents div section strong {
    background: linear-gradient(transparent 60%, rgba(255, 255, 96, 1) 60%);
    font-weight: 300
}
#introduction {
    background: rgba(249, 249, 249, 1);
    width: 100%
}
#introduction section {
    padding: 60px 0 90px;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%
}
#contents div#introduction section h1 {
    line-height: 1;
    text-align: center;
    width: 100%
}
#introduction .text {
    margin-left: 3rem;
    width: 800px
}
#introduction .text p {
    margin-bottom: 1rem;
    font-size: 17px;
    margin-bottom: 1rem
}
#introduction p.copy {
    font-size: 1.25rem;
    text-indent: 0;
    margin: 0 0 1.5rem
}
#introduction .photo {
    width: 240px;
    display: block
}
#introduction .photo span {
    width: 240px
}
#introduction .photo span img {
    width: 240px;
    height: auto;
    margin-bottom: 1rem
}
#introduction .photo p {
    font-size: 1.1275rem;
    margin-bottom: 8px
}
#introduction .photo ul {
    padding: 0 0 0 1.35rem;
    line-height: 1.4
}
#introduction .photo ul li {
    margin-bottom: .5rem
}
@media screen and (max-width:1088px) {
    #introduction section {
        flex-direction: column;
        justify-content: center
    }
    #introduction h1 {
        order: 1
    }
    #introduction .text {
        max-width: calc(100% - 2rem);
        margin: 0 auto 2rem;
        order: 2
    }
    #introduction .photo {
        width: 100%;
        order: 3;
        height: 320px;
        align-content: center;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: flex-start
    }
    #introduction .photo span {
        display: block;
        margin-right: 2rem
    }
}
#news {
    width: 100%;
    background: rgba(255, 255, 255, 1)
}
#news section {
    padding: 60px 0 90px
}
#news ul {
    margin: 0 auto;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0;
    width: 1184px;
    margin-bottom: 3rem
}
#news ul li {
    list-style-type: none;
    width: 575px;
    margin: 0 0 30px;
    padding: 0 0 24px;
    border-bottom: solid 1px rgba(0, 0, 0, 1)
}
#news ul li:nth-child(2n) {
    margin-left: auto
}
#news ul li:nth-child(n+3) {
    margin-bottom: 0
}
#news ul li a {
    width: 575px;
    color: rgba(0, 0, 0, 1);
    text-decoration: none
}
#news section ul li .post-tn {
    display: block;
    width: 112px;
    padding: 0
}
#news ul li .post-tn img {
    width: 112px;
    height: 88px;
    object-fit: cover
}
#news ul li .post-txt {
    width: 435px;
    margin-left: auto
}
#news ul li time {
    display: block;
    line-height: 1;
    margin-bottom: 10px;
    font-size: 14px
}
#news ul li h2 {
    color: rgba(0, 0, 0, 1);
    line-height: 1;
    margin-bottom: 10px;
    font-size: 16px
}
@media screen and (max-width:1184px) {
    #news ul {
        width: 100%;
        padding: 0 1rem;
        box-sizing: border-box
    }
    #news ul li {
        width: calc(50% - 1rem)
    }
    #news ul li a {
        width: 100%
    }
    #news ul li .post-txt {
        width: calc(100% - 128px)
    }
}
#time {
    background: rgba(241, 241, 241, .75)
}
#time section {
    padding: 60px 0 90px
}
#time section ul:nth-child(2) {
    list-style-type: none;
    padding: 0;
    width: 1149px
}
#time section ul:nth-child(2) li {
    width: 508px
}
#time section ul:nth-child(2) li:nth-child(2) {
    margin-left: auto
}
#time h2 {
    font-size: 20px;
    text-align: center
}
#time ul dl {
    width: 100%;
    justify-content: flex-start;
    border-bottom: solid 1px rgba(0, 0, 0, 1)
}
#time dt {
    width: 116px;
    text-align: center;
    margin-right: 42px
}
#time dd {
    width: 47px;
    margin: 0;
    text-align: center;
    line-height: 46px
}
#time section ul:nth-child(2) li p {
    margin-top: 1rem;
    text-align: right;
    font-size: 14px
}
@media screen and (max-width:1149px) {
    #time section ul:nth-child(2) {
        width: 100%;
        padding: 0 1rem;
        box-sizing: border-box
    }
    #time section ul:nth-child(2) li {
        width: calc(50% - 1rem)
    }
    #time dt {
        width: 23%;
        margin-right: 0
    }
    #time dd {
        width: 11%
    }
}
#photos {
    width: 100vw;
    overflow: hidden;
    background: rgba(255, 255, 255, 1)
}
#photos section {
    padding: 60px 0 90px
}
#contents div#photos section h1 {
    margin-right: auto;
    margin-left: auto
}
#photos section ul {
    width: 100%;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: nowrap
}
#photos section ul li {
    padding: 0 1px;
    width: calc(100%/5);
    line-height: 1.4;
    list-style-type: none;
    text-align: center
}
#photos section ul li a {
    color: rgba(0, 0, 0, 1);
    text-decoration: none
}
#photos section ul li .caption {
    display: block
}
#photos section ul li img {
    width: 100%;
    height: auto
}
#photos section ul li a .caption {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 2.8rem
}
@media screen and (max-width:1149px) {
    #photos section ul {
        flex-wrap: wrap
    }
    #photos section ul li:nth-child(-n+2) {
        width: calc(100%/2)
    }
    #photos section ul li:nth-child(n+3) {
        width: calc(100%/3)
    }
}
#access {
    background: rgba(255, 255, 255, 1)
}
#access section {
    padding: 60px 0 0
}
#access h1 {
    text-align: center
}
#contact {
    margin: 0
}
#contact form .flex {
    width: 1000px;
    margin: 0 auto 32px
}
#contact form .flex dl {
    width: 460px;
    padding: 0;
    margin: 0;
    line-height: 1.4
}
#contact form .flex dl:first-child {
    margin-right: 40px
}
#contact form .flex dl dt {
    width: 100%;
    color: rgba(102, 102, 102, 1);
    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
    padding-bottom: .5rem
}
#contact form .flex dl dd {
    width: 100%;
    margin: 0 0 1rem
}
#contact form label span {
    color: rgba(193, 39, 45, 1)
}
#contact form select, #contact form input, #contact form textarea {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding-left: .5rem;
    font-size: .875rem;
    border: solid 1px rgba(203, 199, 192, 1);
    border-radius: 2px;
    color: rgba(83, 79, 72, 1);
    background: rgba(255, 255, 255, 1)
}
#contact form ::placeholder {
    font-size: .875rem;
    font-weight: 400;
    color: rgba(153, 153, 153, 1)
}
#contact form select, #contact form input {
    height: 35px
}
#contact form textarea {
    height: 340px
}
#contact form .bt {
    margin: 30px auto 0
}
#footer {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: center;
    background: rgba(192, 223, 215, 1)
}
#footer nav {
    margin: 0 auto;
    width: 100%
}
#footer nav ul:nth-child(2) {
    margin: 0;
    padding: 0;
    justify-content: center;
    background: rgba(192, 223, 215, 1);
    width: 100%
}
#footer nav ul:nth-child(2) li {
    list-style-type: none
}
#footer nav ul:nth-child(2) a {
    text-decoration: none;
    transition: all .3s;
    padding: .5rem 1rem;
    margin: 0;
    display: block;
    color: rgba(0, 0, 0, 1)
}
#footer div.address address {
    margin: 52px 0 22px;
    font-size: 20px;
    font-style: normal;
    line-height: 1
}
#footer div.address dl {
    font-size: 25px;
    font-family: "Sawarabi Mincho", serif;
    font-display: swap;
    font-weight: 900;
    margin: 0;
    line-height: 1.7
}
#footer div.address dl dt {
    line-height: 1;
    margin-bottom: 22px
}
#footer div.address dl dd {
    line-height: 1;
    margin: 0 0 36px
}
#footer div.address dl dd a {
    color: rgba(0, 0, 0, 1);
    text-decoration: none;
    font-family: "Sawarabi Mincho", serif;
    font-display: swap
}
#footer ul.access {
    width: 548px;
    margin: 0 auto 26px;
    padding: 20px 0;
    background: rgba(255, 255, 255, 1);
    border: solid 1px rgba(0, 0, 0, 1)
}
#footer ul.access li {
    list-style-type: none;
    font-size: 14px;
    text-align: left;
    width: 450px
}
small.copyright {
    margin: 0 auto;
    display: block;
    text-align: center;
    line-height: 37px;
    font-size: 14px;
    background: rgba(255, 255, 255, 1)
}
.totop {
    position: absolute;
    top: -33px;
    right: 0;
    left: 0;
    width: 66px;
    height: 40px;
    margin: 0 auto;
    z-index: 200;
    overflow: hidden
}
.totop a {
    display: block;
    position: relative;
    width: 66px;
    height: 66px;
    padding: 18px 0 0;
    margin: 0;
    font-family: "Sawarabi Mincho", serif;
    font-display: swap;
    border-radius: 33px;
    color: rgba(0, 0, 0, 1);
    background: rgba(192, 223, 215, 1);
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    transition: all .4s;
    line-height: 1
}
.totop a:before {
    content: '<';
    transform: rotate(90deg);
    position: absolute;
    top: 4px;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 300
}
.totop a span:nth-child(1) {
    display: block;
    transform: scale(1.2, 1)
}
#billboard.sub {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 400px;
    background: url(./images/bg_sub01.jpg) no-repeat right -240px
}
@media screen and (max-width:1280px) {
    #billboard.sub {
        background: url(./images/bg_sub_pc01.jpg) no-repeat right top
    }
}
#billboard.sub .h1.wrap {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, .4)
}
#billboard.sub .wrap h1 {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 6rem;
    left: 0;
    margin: auto;
    padding: 0 0 1rem;
    width: 100%;
    height: 4.75rem;
    opacity: 1;
    transform: scale(1, 1);
    color: rgba(255, 255, 255, 1);
    display: flex;
    flex-direction: column;
    background: 0 0
}
#billboard.sub .wrap h1:before {
    content: '';
    position: absolute;
    width: 80px;
    height: 2px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: rgba(255, 255, 255, 1)
}
#billboard.sub .h1.wrap h1 span:nth-child(1) {
    text-transform: uppercase;
    font-family: 'Merriweather', serif;
    font-display: swap;
    height: 1.375rem;
    line-height: 1;
    margin: 0 0 1rem;
    font-size: 1.375rem;
    display: block
}
#billboard.sub .h1.wrap h1 span:nth-child(2) {
    height: 1rem;
    line-height: 1rem;
    font-size: .875rem
}
#breadcrumbs {
    background: rgba(249, 249, 249, 1);
    padding: 1rem;
    line-height: 1
}
#page>section {
    padding: 60px 0
}
#page>section p {
    margin-bottom: 32px;
    font-size: 1.125rem
}
#post {
    width: 960px;
    margin: 48px auto;
    padding-bottom: 32px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, .4) );
}
#post section {
    width: 100%
}
#post section .cell {
    width: 100%;
    margin-bottom: 60px
}
#post section h1 {
    width: 100%;
    font-size: 1.475rem;
    font-weight: 400;
    margin-bottom: 0;
    text-align: left
}
#post section time {
    width: 100%;
    display: block;
    margin-bottom: 32px
}
#post section .cell h1 {
    font-size: 1.5rem !important;
    font-weight: 900 !important
}
#post section .cell h2 {
    font-size: 1.375rem
}
#post section .cell h3 {
    font-size: 1.25rem
}
#post section .cell h4 {
    font-size: 1.125rem
}
#post section .cell h5 {
    font-size: 1rem
}
#post section .cell h6 {
    font-size: .875rem
}
#post .eye-catch {
    float: left;
    width: 366px;
    max-width: 100%;
    margin: 0 2rem 2rem 0
}
#post .eye-catch img {
    width: 366px;
    max-width: 100%;
    height: 274px;
    object-fit: cover
}
#post .navi {
    border-top: solid 1px rgba(83, 79, 72, .5);
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    list-style-type: none;
    margin-bottom: 30px;
    padding-top: 60px
}
#post .navi li {
    width: calc(50% - 1rem)
}
#post .navi .next {
    text-align: left
}
#post .navi .prev {
    text-align: right
}
#post #side {
    width: 200px
}
#post #side>ul {
    list-style-type: none;
    padding: 0
}
#post #side>ul>li {
    margin-bottom: 32px
}
#post #side h2 {
    color: rgba(143, 139, 132, 1);
    margin-bottom: 16px
}
table#wp-calendar caption {
    caption-side: top;
    text-align: center
}
table#wp-calendar {
    border-collapse: collapse;
    width: 100%
}
table#wp-calendar th, table#wp-calendar td {
    text-align: center;
    border: solid 1px rgba(83, 79, 72, .5)
}
table#wp-calendar tbody td.pad {
    background-color: rgba(83, 79, 72, .2)
}
table#wp-calendar tbody td#today {
    font-weight: 900
}
#post #side>ul>li ul {
    padding-left: 1rem
}
#post #side>ul>li ul li a {
    color: rgba(83, 19, 72, 1)
}
@media screen and (max-width:959px) {
    #post {
        width: 100%;
        padding: 0 1rem;
        box-sizing: border-box;
        margin: 60px auto;
        flex-wrap: wrap
    }
    #post section {
        width: 100%;
        margin-right: 0;
        flex-direction: column
    }
    #post section h1 {
        font-size: 1.25rem;
        margin-bottom: 16px
    }
    #post section time {
        margin-bottom: 32px
    }
    #post ul.paging {
        margin: 32px 0;
        padding: 32px 0;
        width: 100%;
        border: dotted 1px rgba(83, 79, 72, .5);
        border-width: 1px 0;
        flex-direction: column
    }
    #post ul.paging li.next {
        width: 100%
    }
    #post ul.paging li.prev {
        width: 100%
    }
    #post #side {
        width: 100%
    }
    #post #side>ul>li {
        margin-bottom: 32px
    }
    #post #side>ul>li:last-child {
        margin-bottom: 0
    }
    #post #side h2 {
        margin-bottom: 16px
    }
}
@media screen and (min-width:769px) {
    .sp {
        display: none
    }
    a[href^="tel:"] {
        pointer-events: none
    }
    #topic article section:nth-child(3), #price, #reservation, #billboard.sub.page-2, #billboard.sub, #gallery .photo {
        background-attachment: fixed
    }
    #reservation section div:nth-child(2) div.bt a:hover {
        text-decoration: none
    }
    #footer nav ul:nth-child(2) a:hover {
        text-decoration: none;
        background: rgba(255, 118, 30, 1)
    }
}
@media screen and (max-width:768px) {
    .pc {
        display: none
    }
    .sp {
        display: block
    }
    #billboard {
        margin-top: 0;
        height: 100vh
    }
    #billboard .wrap {
        position: relative;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0)
    }
    #billboard .wrap h1 {
        width: 100%;
        height: 9rem;
        position: absolute;
        font-family: 'Merriweather', serif;
        font-display: swap;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
        padding: 1rem;
        background: linear-gradient(90deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, .0))
    }
    #billboard .wrap h1 span {
        display: block;
        color: rgba(255, 255, 255, 1)
    }
    #billboard .wrap h1 span:first-child {
        font-size: 1rem;
        letter-spacing: 1px;
        line-height: 1;
        margin-bottom: 1rem
    }
    #billboard .wrap h1 span:last-child {
        font-size: 2.5rem;
        letter-spacing: 1px;
        line-height: 1
    }
    #gallery .photo01 {
        background-position: center top;
        background-image: url(./images/bg_sp01.jpg)
    }
    #gallery .photo02 {
        background-position: center top;
        background-image: url(./images/bg_sp02.jpg)
    }
    #gallery .photo03 {
        background-position: center top;
        background-image: url(./images/bg_sp04.jpg)
    }
    #gallery .photo04 {
        background-position: left top;
        background-image: url(./images/bg_sp05.jpg)
    }
    #gallery .photo {
        height: 100vh;
        background-size: cover
    }
    #gallery .photo>div {
        background: rgba(0, 0, 0, .2)
    }
    #gallery .photo>div p {
        margin-top: 0;
        font-size: 1.25rem;
        line-height: 1.4;
        font-weight: 900
    }
    #gallery .photo:nth-child(2)>div p {
        font-size: 1rem;
        width: 100%;
        padding: 0 1rem
    }
    #gallery .photo01>div {
        width: 100%;
        height: 168px;
        padding: 1rem;
        left: 0;
        top: 10vh
    }
    #gallery .photo02>div {
        width: 100%;
        height: 200px;
        padding-top: 1rem;
        left: 0;
        bottom: 34vh
    }
    #gallery .photo02>div h1 {
        width: calc(100vw - 2rem);
        margin: 0 auto
    }
    #gallery .photo02>div h1 img {
        width: 100%;
        height: auto;
        display: block
    }
    #gallery .photo03>div {
        width: 100%;
        height: 168px;
        padding: 1rem;
        left: 0;
        top: 10vh
    }
    #gallery .photo>div .copy {
        font-size: 4rem;
        padding-bottom: 8px;
        display: inline-block
    }
    #gallery .photo>div .copy span {
        font-size: 75%
    }
    #contents div section h1 {
        font-size: 1.25rem;
        margin: 32px
    }
    #contents div section h1.line {
        width: 100%;
        font-size: 1.75rem;
        line-height: 1;
        margin: 0 auto 48px
    }
    #contents div section h1.line:before {
        margin-right: .5rem
    }
    #contents div section h1.line:after {
        margin-left: .5rem
    }
    #contents div section h2.uline {
        margin: 0 auto 4rem;
        font-size: 1.25rem;
        width: calc(100vw - 2rem);
        text-align: center
    }
    #contents div section h2.uline:after {
        height: .25rem;
        border-radius: 2px
    }
    #contents div#concept {
        margin: 0 !important
    }
    #contents div#information {
        margin: 0 !important
    }
    #contents div#news {
        margin: 0 !important
    }
    #contents div#access {
        margin: 0 !important
    }
    #contents div#contact {
        padding-top: 1rem;
        margin: 1rem 0 !important
    }
    #introduction section {
        padding: 1rem 1rem 2rem;
        width: 100%;
        box-sizing: border-box;
        flex-direction: column
    }
    #contents div#introduction section h1 {
        margin-bottom: 1rem;
        order: 1;
        width: 100%;
        margin: 0 auto 2rem
    }
    #introduction .text {
        order: 2;
        margin-right: 0;
        margin-bottom: 1rem;
        width: 100%
    }
    #introduction .text p {
        margin-bottom: 1rem
    }
    #introduction .text p.copy {
        font-weight: 900
    }
    #introduction .photo {
        order: 3;
        width: 100%;
        height: auto;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center
    }
    #introduction .photo p {
        width: 100%;
        font-size: 1.1275rem;
        margin-bottom: .5rem;
        text-align: center
    }
    #introduction .photo span {
        width: 100%;
        height: 360px;
        text-align: center;
        margin-bottom: 1rem
    }
    #introduction .photo span img {
        width: auto;
        height: 360px;
        display: block;
        margin: 0 auto 1rem
    }
    #introduction .photo ul {
        padding: 0 0 0 1.35rem;
        line-height: 1.4
    }
    #introduction .photo ul li {
        margin-bottom: .5rem
    }
    #news section {
        padding: 1rem 1rem 2rem
    }
    #news section ul {
        margin: 0 auto;
        width: 100%;
        flex-direction: column
    }
    #news ul li, #news ul li:nth-child(n+3) {
        width: 100%;
        margin: 0 0 1rem;
        padding: 0 0 1rem
    }
    #news ul li:nth-child(2n) {
        margin-left: 0
    }
    #news ul li:last-child {
        margin-bottom: 0
    }
    #news ul li a {
        width: 100%;
        align-items: flex-start;
        flex-direction: column
    }
    #news section ul li .post-tn {
        display: block;
        width: 100%;
        padding: 0;
        margin-bottom: 1rem
    }
    #news ul li .post-tn img {
        width: 100%;
        height: calc(60vw - 2rem);
        object-fit: cover
    }
    #news ul li .post-txt {
        width: 100%;
        padding: 0
    }
    #time {
        background: rgba(241, 241, 241, .75)
    }
    #time section {
        padding: 1rem 1rem 2rem
    }
    #time section ul:nth-child(2) {
        width: 100%;
        padding: 0
    }
    #time section ul:nth-child(2) li {
        width: 100%
    }
    #time section ul:nth-child(2) li:nth-child(2) {
        margin-top: 1rem;
        margin-left: 0
    }
    #time h2 {
        font-size: 20px;
        text-align: center
    }
    #time ul dl {
        width: 100%;
        justify-content: space-around
    }
    #time dt {
        font-size: 1rem;
        width: 120px;
        margin-right: .5rem
    }
    #time dd {
        width: auto
    }
    #time section ul:nth-child(2) li p {
        margin-top: 1rem;
        text-align: right;
        font-size: 14px
    }
    #photos section {
        padding: 1rem 0;
        justify-content: flex-start;
        align-items: flex-start
    }
    #photos h1 {
        margin-left: auto;
        margin-right: auto
    }
    #photos section ul {
        width: 100vw;
        overflow-x: scroll;
        justify-content: flex-start;
        align-items: flex-start;
        padding-bottom: 1rem;
        flex-wrap: nowrap
    }
    #photos section ul li {
        width: 100vw
    }
    #photos section ul li img {
        width: 100vw
    }
    #photos section ul li a .caption {
        width: 100vw
    }
    #photos section ul li:nth-child(-n+2) {
        width: 100vw
    }
    #photos section ul li:nth-child(n+3) {
        width: 100vw
    }
    #access section {
        padding: 16px 0 24px
    }
    #access section div:nth-child(2) {
        width: calc(100vw - 2rem);
        margin: 0 auto
    }
    #access section div:nth-child(2) img {
        width: 100%;
        height: auto
    }
    #access section dl:nth-child(3) {
        width: calc(100vw - 2rem);
        min-height: auto;
        margin-bottom: 32px;
        padding-left: 0;
        background: 0 0
    }
    #access section dl:nth-child(3) dt {
        font-size: 1.25rem;
        color: rgba(255, 118, 30, 1);
        margin-top: 1rem
    }
    #access section dl:nth-child(3) dd:last-child {
        margin-top: 1rem
    }
    #access section h2:nth-child(4) {
        margin: 80px 0 48px
    }
    #contact p {
        width: 100%
    }
    #contact p.info {
        width: 100%
    }
    #contact p.info span {
        color: #f66
    }
    #contact form .table {
        display: block;
        width: 100%
    }
    #contact .table dl, #contact .table dl dt, #contact .table dl dd {
        display: block;
        width: 100%;
        padding: 0
    }
    #contact .table dl dt {
        text-align: left;
        line-height: 44px
    }
    #contact form .fitem {
        width: 100%;
        height: 44px
    }
    #contact form textarea.fitem {
        height: 44px
    }
    #footer div.address address {
        margin: 1rem 0;
        font-size: 1rem;
        line-height: 1.2rem
    }
    #footer div.address dl {
        font-size: 1.25rem
    }
    #footer div.address dl dt {
        margin-bottom: 1rem
    }
    #footer div.address dl dd {
        margin: 0 0 2rem
    }
    #footer div.address dl dd a {
        color: rgba(0, 0, 0, 1);
        text-decoration: none
    }
    #footer ul.access {
        width: calc(100% - 2rem);
        margin: 0 auto 1rem;
        padding: .75rem 1rem;
        box-sizing: border-box
    }
    #footer ul.access li {
        list-style-type: none;
        font-size: 14px;
        text-align: left;
        width: 100%;
        margin-bottom: .5rem
    }
    #footer ul.access li span {
        display: block
    }
    small.copyright {
        margin: 0 auto 4.5875rem;
        display: block;
        text-align: center;
        line-height: 1;
        padding: 1rem 0;
        font-size: 14px;
        background: rgba(255, 255, 255, 1)
    }
    .totop {
        position: fixed;
        top: 74vh;
        left: 80vw;
        width: 44px;
        height: 44px;
        margin: 0 auto;
        z-index: 200;
        overflow: hidden
    }
    .totop a {
        width: 44px;
        height: 44px;
        font-size: 1rem;
        letter-spacing: 0;
        background: rgba(192, 223, 215, .6)
    }
    .totop a:before {
        content: '<';
        transform: rotate(90deg);
        position: absolute;
        top: 4px;
        right: 0;
        left: 0;
        margin: 0 auto;
        z-index: 300
    }
    .totop a span:nth-child(1) {
        display: block;
        transform: scale(1.2, 1)
    }
    #billboard.sub {
        height: 240px;
        background: url(./images/bg_sp01.jpg) no-repeat center;
        background-size: cover
    }
    #billboard.sub .h1.wrap h1 {
        bottom: 3rem
    }
    #billboard.sub .h1.wrap h1 span:nth-child(2) {
        height: 1rem;
        line-height: 1rem;
        font-size: 1rem
    }
    #page>section {
        padding: 32px 0
    }
    #page>section p {
        margin-bottom: 32px;
        font-size: 1rem;
        padding: 0 1rem
    }
    #contact form .flex {
        display: block;
        width: 100%;
        padding: 0 1rem
    }
    #contact form .flex dl, #contact form .flex dl dt, #contact form .flex dl dd {
        display: block;
        width: 100%;
        padding: 0;
        font-size: 1.25rem
    }
    #contact .flex dl dt {
        margin-bottom: .875rem;
        height: auto
    }
    #contact form .flex dl dd {
        margin-bottom: 1.5rem
    }
    #contact form .fitem {
        width: 100%;
        min-width: 280px
    }
    #contact form select, #contact form input, #contact form textarea {
        height: 58px
    }
    #contact form select, #contact form ::placeholder {
        font-size: 1.5rem
    }
}/* お知らせ一覧 ページ送り */
#news .pagination {
    width: 100%
}
#news .pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style-type: none;
    padding: 0;
    margin: 0
}
#news .pagination ul.page-numbers li {
    width: auto;
    margin: 0 .25rem .5rem;
    padding: 0;
    border-bottom: none
}
#news .pagination .page-numbers a, #news .pagination .page-numbers span {
    display: block;
    width: auto;
    min-width: 2.5rem;
    padding: .5rem .75rem;
    line-height: 1;
    text-align: center;
    border: solid 1px rgba(0, 0, 0, 1);
    color: rgba(0, 0, 0, 1);
    text-decoration: none
}
#news .pagination .page-numbers .current {
    background: rgba(0, 0, 0, 1);
    color: rgba(255, 255, 255, 1)
}
