body {
    font-family: "Noto Sans JP",serif;
    color: #000;
    font-size: 15px;
    line-height: 35px
}

#key {
    background: url(../img/menu/key.jpg) center no-repeat;
    background-size: cover;
    min-height: 755px
}

#key .txt {
    position: absolute;
    top: 398px;
    left: 0;
    right: 0;
    text-align: center
}

.name-price * {
    letter-spacing: 0
}

.name-price dt {
    font-size: 36px;
    line-height: 55px
}

.name-price dt small {
    display: block;
    margin-top: -7px;
    font-size: 20px
}

.name-price dd {
    text-align: right;
    font-size: 35px;
    line-height: 35px
}

.name-price dd small {
    font-size: 25px
}

#sec1 {
    position: relative;
    z-index: 1;
    background: #151515;
    color: #fff;
    padding-bottom: 33px
}

#sec1 .bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

#sec1 .wrap {
    width: 1200px
}

#sec1 .wrap::before {
    content: "";
    position: absolute;
    background: #333;
    top: 519px;
    left: -80px;
    right: 220px;
    height: 396px;
    z-index: -1
}

#sec1 .wrap:after {
    content: "";
    position: absolute;
    background: url("../img/menu/bg01.png") repeat center;
    top: 915px;
    left: -80px;
    right: 220px;
    height: 53px;
    z-index: -1
}

#sec1 h2 {
    position: relative;
    z-index: 1;
    padding-top: 142px;
    margin-left: -19px
}

#sec1 .deco {
    position: absolute;
    bottom: -26px;
    right: 5px;
    z-index: -1
}

#sec1 .txt {
    position: relative;
    z-index: 1;
    margin: 56px 0 0 32px
}

#sec1 .photo {
    position: absolute;
    height: 630px;
    top: 136px;
    left: 480px;
    right: calc(-50vw + 50%)
}

#sec1 .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#sec1 .gr-photo {
    display: flex
}

#sec1 .gr-photo li:nth-child(1) {
    margin: 63px 0 0 19px
}

#sec1 .gr-photo li:nth-child(2) {
    position: relative;
    z-index: 1;
    margin: -49px 0 0 -255px
}

#sec1 .gr-photo li:nth-child(3) {
    margin: -252px 0 0 -305px
}

#sec2 {
    position: relative;
    z-index: 1;
    background: url("../img/menu/sec2_deco1.png") no-repeat left 62px top 116px/auto,url("../img/menu/sec2_deco2.jpg") no-repeat left 66px top 1076px/auto,url("../img/menu/bg02.png") repeat-x center bottom/auto 94px #333;
    padding-bottom: 198px;
    padding-top: 100px;
    margin-top: -100px;
}

#sec2:after {
    content: "";
    position: absolute;
    background: #151515;
    -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    top: 0;
    left: 0;
    right: 0;
    height: 252px;
    z-index: -2
}

#sec2 .wrap {
    width: 1256px
}

#sec2 .photo {
    position: absolute;
    top: -31px;
    right: 0
}

#sec2 h2 {
    text-align: center;
    padding-top: 58px
}

#sec2 .note {
    color: #fff;
    margin: 82px 0 0 351px
}

#sec2 .group {
    position: relative
}

#sec2 .group .gr-txt {
    position: relative;
    width: 597px;
    padding: 73px 0 52px;
    background: #fff
}

#sec2 .group .gr-txt:after {
    content: "";
    position: absolute;
    background: url("../img/menu/sec2_border.jpg") repeat-y;
    width: 23px;
    background-size: 100%;
    right: 0;
    top: 0;
    bottom: 0
}

#sec2 .group .gr-txt .name-price {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
}

#sec2 .group .gr-txt .name-price dd {
    margin-top: 21px
}

#sec2 .group .gr-txt .txt {
    width: 442px;
    margin: 32px auto 0
}

#sec2 .group1 {
    padding-top: 265px
}

#sec2 .group1 .gr-photo {
    position: absolute;
    top: -104px;
    left: -103px;
    z-index: 1;
    display: flex
}

#sec2 .group1 .gr-photo li:nth-child(1) {
    position: relative;
    z-index: 1
}

#sec2 .group1 .gr-photo li:nth-child(2) {
    margin: 30px 0 0 -36px
}

#sec2 .group1 .gr-txt {
    margin: 0 11px 0 auto
}

#sec2 .group2 {
    padding-top: 210px
}

#sec2 .group2 .gr-photo {
    position: absolute;
    top: 84px;
    left: 133px;
    z-index: 1;
    display: flex
}

#sec2 .group2 .gr-photo li:nth-child(1) {
    margin: -246px -79px 0 79px
}

#sec2 .group2 .gr-photo li:nth-child(2) {
    position: relative;
    z-index: 1
}

#sec2 .group2 .gr-txt .name-price {
    width: 439px;
    margin: 0 auto
}

#sec2 .group2 .gr-txt .name-price dd {
    margin: -33px 52px 0 0
}

#sec2 .group2 .gr-txt:after {
    left: 0;
    right: auto
}

#sec3 {
    position: relative;
    padding-bottom: 131px
}

#sec3::before {
    content: "";
    position: absolute;
    background: url("../img/menu/bg03.jpg") repeat center;
    height: 213px;
    top: 183px;
    left: 50px;
    right: 50px;
    z-index: -1
}

#sec3 h2 {
    text-align: center;
    padding-top: 147px
}

#sec3 .note {
    text-align: center;
    color: #000;
    margin-top: 48px
}

#sec3 .wrap {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    max-width: 1240px;
    width: 100%;
    margin-top: 48px;
    padding: 0 20px
}

#sec3 .box {
    position: relative;
    background: url("../img/menu/bg04.jpg") repeat center;
    color: #fff;
    width: calc(50% - 30px)
}

#sec3 .box:after {
    content: "";
    position: absolute;
    background: #fff;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0);
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
    bottom: -1px;
    right: -1px;
    width: 47px;
    height: 47px;
    z-index: 1
}

#sec3 .box .photo img {
    width: 100%;
    height: auto
}

#sec3 .box .gr-txt {
    box-sizing: border-box;
    padding: 33px 48px 67px 80px
}

#sec3 .box .name-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-right: 24px
}

#sec3 .box .name-price dd {
    margin-bottom: 12px
}

#sec3 .box .txt {
    margin-top: 30px
}

#sec4 {
    background: url("../img/menu/bg01.png") repeat-x center top/auto 100px;
    padding-bottom: 147px
}

#sec4 h2 {
    text-align: center;
    padding-top: 21px
}

#sec4 .note {
    text-align: center;
    margin-top: -15px
}

#sec4 .wrap {
    max-width: 1248px;
    width: 100%
}

#sec4 .group {
    display: flex;
    justify-content: space-between;
    margin-top: 88px
}

#sec4 .group .photo {
    max-width: 745px;
    height: 490px;
    flex: 1;
    margin: 0 -43px 0 -29px
}

#sec4 .group .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#sec4 .group .gr-txt {
    box-sizing: border-box;
    background: url("../img/menu/sec4_border.jpg") repeat-x center top/auto 11px,url("../img/menu/bg05.jpg") repeat center;
    width: 575px;
    padding: 57px 80px 26px 93px;
    margin-top: 131px
}

#sec4 .group .gr-txt .name-price dd {
    margin: 20px 15px 0 0
}

#sec4 .group .gr-txt .txt {
    margin-top: 29px
}

#sec4 .group2 {
    margin-top: 102px
}

#sec4 .group2 .photo {
    margin: 0 -34px 0 -38px
}

#sec4 .group2 .gr-txt {
    margin-top: 150px;
    padding-top: 99px;
    padding-bottom: 78px
}

#sec4 .group2 .gr-txt .name-price {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

#sec4 .group2 .gr-txt .name-price dd {
    margin: 0 11px 18px 0
}

#sec4 .group3 {
    margin-top: 85px
}

#sec4 .group3 .gr-txt {
    padding: 50px 49px 32px 123px
}

#sec5 {
    background: url("../img/menu/bg02.png") repeat-x center top/auto 97px,url("../img/menu/sec5_bg.jpg") no-repeat center top/cover;
    padding: 183px 0 109px
}

#sec5 .wrap {
    width: 1200px
}

#sec5 h2 {
    text-align: center
}

#sec5 .gr-link {
    display: flex;
    justify-content: space-between;
    max-width: 950px;
    margin: 77px auto 0
}

#sec6 {
    background: url("../img/menu/sec6_border.jpg") repeat-x center top/auto 11px,url("../img/menu/bg05.jpg") repeat center
}

#sec6 .group1 {
    position: relative;
    z-index: 1;
    background: url("../img/menu/sec6_deco.png") no-repeat left top 188px/auto
}

#sec6 .group1::before {
    content: "";
    position: absolute;
    background: url("../img/menu/bg01.png") repeat center;
    top: 60px;
    left: calc(50% - 117px);
    right: 0;
    height: 304px;
    z-index: -1
}

#sec6 .group1 .wrap {
    box-sizing: border-box;
    padding: 0 20px;
    width: 1040px
}

#sec6 .group1 h2 {
    padding-top: 125px
}

#sec6 .group1 .photo {
    position: absolute;
    top: 188px;
    left: 525px
}

#sec6 .group1 .gr-txt {
    margin-top: 66px
}

#sec6 .group1 .gr-txt h3 {
    font-size: 28px;
    line-height: 60px;
    font-weight: 500;
    letter-spacing: 0
}

#sec6 .group1 .gr-txt h3 span {
    display: block;
    font-weight: 400;
    color: #172062;
    font-size: 50px;
    letter-spacing: 0
}

#sec6 .group1 .gr-txt .txt {
    margin-top: 29px
}

#sec6 .group2 {
    position: relative;
    margin-top: 84px;
    padding-bottom: 130px
}

#sec6 .group2::before {
    content: "";
    position: absolute;
    background: #fff;
    width: 1300px;
    top: 521px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
}

#sec6 .group2 .time {
    text-align: center;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 23px 0 29px;
    line-height: 60px;
    width: 700px;
    margin: 0 auto
}

#sec6 .group2 .time * {
    letter-spacing: 0
}

#sec6 .group2 .time dt {
    color: #151515;
    font-size: 24px;
    font-weight: 500
}

#sec6 .group2 .time dd {
    font-size: 50px;
    color: #840a0a
}

#sec6 .group2 .time dd small {
    font-size: 35px
}

#sec6 .group2 .photo {
    text-align: center;
    margin-top: 76px
}

#sec6 .group2 .row1 {
    display: flex;
    justify-content: space-between;
    margin-top: 68px
}

#sec6 .group2 .row1 .col-left {
    width: 412px
}

#sec6 .group2 .row1 .col-left h3 {
    margin-left: 50px
}

#sec6 .group2 .row1 .col-left .list-note {
    margin: 18px 0 0 48px
}

#sec6 .group2 .row1 .col-left .menu-special {
    position: relative;
    background: url("../img/menu/sec6_border.jpg") repeat-x center top/auto 11px,url("../img/menu/bg04.jpg") repeat center;
    color: #fff;
    margin-top: 46px;
    padding: 57px 0 74px
}

#sec6 .group2 .row1 .col-left .menu-special:after {
    content: "";
    position: absolute;
    background: #fff;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    bottom: -1px;
    right: -1px;
    width: 47px;
    height: 47px;
    z-index: 1
}

#sec6 .group2 .row1 .col-left .menu-special dt {
    text-align: center;
    font-size: 22px;
    line-height: 50px;
    font-weight: 500;
    letter-spacing: 0
}

#sec6 .group2 .row1 .col-left .menu-special dd {
    width: -moz-fit-content;
    width: fit-content;
    margin: 16px auto 0;
    padding-left: 8px
}

#sec6 .group2 .row1 .col-left .menu-special dd li {
    list-style: none;
    line-height: 25px
}

#sec6 .group2 .row1 .col-left .menu-special dd li+li {
    margin-top: 10px
}

#sec6 .group2 .row1 .col-right {
    width: 470px;
    margin: 26px 64px 0 0
}

#sec6 .group2 .row1 .col-right .list-menu {
    margin-bottom: 10px
}

#sec6 .group2 .row1 .col-right .list-menu dl {
    display: flex;
    justify-content: space-between;
    padding: 12px 0 12px;
    line-height: 25px;
    border-bottom: 1px solid rgba(0,0,0,.5)
}

#sec6 .group2 .row1 .col-right .list-menu dl dd {
    text-align: right
}

#sec6 .group2 .row2 {
    position: relative;
    border: 1px solid #000;
    display: flex;
    justify-content: space-between;
    margin: 101px -40px 0;
    padding-bottom: 38px
}

#sec6 .group2 .row2::before {
    content: "";
    position: absolute;
    background: url("../img/menu/sec6_deco2.png") no-repeat;
    background-size: 100%;
    width: 182px;
    height: 135px;
    top: -134px;
    right: 33px
}

#sec6 .group2 .row2 .col-left {
    text-align: center;
    margin: 66px 0 0 79px
}

#sec6 .group2 .row2 .col-left .price {
    margin-top: 20px;
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 0
}

#sec6 .group2 .row2 .col-left .price * {
    letter-spacing: 0
}

#sec6 .group2 .row2 .col-left .price span {
    color: #840a0a;
    font-size: 50px;
    font-weight: 400
}

#sec6 .group2 .row2 .col-left .price span small {
    font-size: 35px
}

#sec6 .group2 .row2 .col-right {
    position: relative;
    box-sizing: border-box;
    background: url("../img/menu/bg05.jpg") repeat center;
    display: flex;
    width: 536px;
    -moz-column-gap: 65px;
    column-gap: 65px;
    margin: 38px 39px 0 0;
    padding: 61px 40px 61px 61px
}

#sec6 .group2 .row2 .col-right:after {
    content: "";
    position: absolute;
    background: #fff;
    -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0);
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
    bottom: -1px;
    right: -1px;
    width: 47px;
    height: 47px;
    z-index: 1
}

#sec6 .group2 .row2 .col-right ul li {
    list-style: none;
    line-height: 25px
}

#sec6 .group3 {
    padding: 93px 0 98px
}

#sec6 .group3 h3 {
    text-align: center
}

#sec6 .group3 .row {
    display: flex;
    justify-content: space-between;
    margin-top: 57px
}

#sec6 .group3 .row .col {
    width: 470px
}

#sec6 .group3 .row .col h4 {
    text-align: center;
    margin-bottom: 5px;
    font-size: 26px;
    line-height: 35px;
    font-weight: bold;
    letter-spacing: 0
}

#sec6 .group3 .row .col dl {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0,0,0,.5);
    padding: 12px 0;
    line-height: 25px
}

#sec6 .group3 .row .col dl dd {
    text-align: right
}

#sec6 .group3 .row .col .note {
    margin-top: 24px;
    line-height: 25px
}

#sec7 {
    background: url("../img/menu/bg02.png") repeat-x center top/auto 96px,url("../img/menu/bg02.png") repeat-x center bottom/auto 96px #333;
    color: #fff;
    padding-bottom: 223px
}

#sec7 h2 {
    text-align: center;
    padding-top: 153px
}

#sec7 .txt-lead {
    text-align: center;
    margin-top: 35px
}

#sec7 .group {
    background: url("../img/menu/sec7_border.jpg") repeat-x center top/auto 11px,url("../img/menu/sec7_border.jpg") repeat-x center bottom/auto 11px;
    margin-top: 33px;
    padding: 57px 0 61px
}

#sec7 .group h3 {
    text-align: center
}

#sec7 .group .txt-note {
    text-align: center;
    margin-top: 23px
}

#sec7 .group .row {
    display: flex;
    justify-content: space-between;
    margin-top: 35px
}

#sec7 .group .row .col {
    width: 470px
}

#sec7 .group .row .col .item h4 {
    text-align: center;
    margin-bottom: 4px;
    font-size: 26px;
    line-height: 35px;
    font-weight: bold;
    letter-spacing: 0
}

#sec7 .group .row .col .item dl {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255,255,255,.5);
    line-height: 25px;
    padding: 12px 0
}

#sec7 .group .row .col .item dl dd {
    text-align: right
}

#sec7 .group .row .col .item+.item {
    margin-top: 43px
}

#sec8 {
    padding: 104px 0 0
}

#sec8 h2 {
    text-align: center;
    font-size: 50px;
    line-height: 1;
    letter-spacing: 0
}

#sec8 .group1 {
    display: flex;
    justify-content: space-between;
    margin: 39px 27px 0 34px
}

#sec8 .group1 .col .txt-lead {
    display: flex;
    justify-content: center;
    -moz-column-gap: 5px;
    column-gap: 5px
}

#sec8 .group1 .col .txt-lead * {
    letter-spacing: 0
}

#sec8 .group1 .col .txt-lead dt {
    box-sizing: border-box;
    background: #000;
    color: #fff;
    font-style: italic;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 0 3px 3px 0;
    width: 36px;
    height: 36px;
    font-size: 25px
}

#sec8 .group1 .col .txt-lead dt span {
    color: #840a0a
}

#sec8 .group1 .col .txt-lead dt small {
    color: #000;
    font-size: 18px
}

#sec8 .group1 .col .txt-lead dd {
    font-size: 25px;
    font-weight: 500;
    line-height: 35px
}

#sec8 .group1 .col .icon {
    text-align: center;
    margin: 15px 0 24px
}

#sec8 .group1 .col .txt {
    margin: 0 auto;
    line-height: 33.5px
}

#sec8 .group1 .col .txt span {
    font-size: 20px
}

#sec8 .group1 .col .txt li+li {
    margin-top: 0px
}

#sec8 .group1 .col:nth-child(1) .icon {
    margin-left: 30px
}

#sec8 .group1 .col:nth-child(1) .txt {
    width: 256px
}

#sec8 .group1 .col:nth-child(2) {
    position: relative
}

#sec8 .group1 .col:nth-child(2)::before,#sec8 .group1 .col:nth-child(2):after {
    content: "";
    position: absolute;
    background: url("../img/menu/sec8_icon_arrow.png") no-repeat;
    width: 109px;
    height: 15px;
    background-size: 100%;
    top: 103px
}

#sec8 .group1 .col:nth-child(2)::before {
    left: -53px
}

#sec8 .group1 .col:nth-child(2)::after {
    right: -37px
}

#sec8 .group1 .col:nth-child(2) .txt {
    width: 322px
}

#sec8 .group1 .col:nth-child(3) .icon {
    margin-left: -33px
}

#sec8 .group1 .col:nth-child(3) .txt {
    width: 214px
}

#sec8 .group2 {
    background: url("../img/menu/sec8_border.jpg") repeat-x center bottom/auto 11px,url("../img/menu/bg05.jpg") repeat center;
    width: 900px;
    margin: 63px auto 0;
    padding: 44px 0 46px
}

#sec8 .group2 h3 {
    text-align: center;
    font-size: 35px;
    line-height: 50px;
    letter-spacing: 0
}

#sec8 .group2 .tel {
    margin-top: 24px;
    text-align: center
}

#sec8 .group2 .tel dl dd {
    margin-top: 4px
}

#sec9 {
    padding: 65px 0 99px
}

#sec9 h2 {
    text-align: center;
    font-size: 32px;
    line-height: 55px;
    letter-spacing: 0
}

#sec9 .info {
    margin-top: 30px
}

#sec9 .info dl {
    display: flex;
    border-bottom: 1px solid #000;
    line-height: 35px;
    padding: 17px 0 19px 32px
}

#sec9 .info dl dt {
    box-sizing: border-box;
    max-width: 340px;
    width: 100%;
    font-size: 18px
}

.popup-shared {
    font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif
}

.popup-shared .wrap {
    background: #fff;
    padding-bottom: 127px;
    max-width: 1300px;
    width: 100%;
    margin: 50px auto
}

.popup-shared h2 {
    box-sizing: border-box;
    max-width: 1000px;
    text-align: center;
    margin: 50px auto 0;
    border: 5px solid #000;
    font-size: 33px;
    font-weight: bold;
    line-height: 67px;
    letter-spacing: 0
}

.popup-shared .note {
    text-align: center;
    margin-top: 48px
}

.popup-shared .row {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin: 62px auto 0
}

.popup-shared .row .col {
    width: 470px
}

.popup-shared .row .col .item h3 {
    text-align: center;
    margin-bottom: 2px;
    font-size: 26px;
    line-height: 29px;
    font-weight: bold;
    letter-spacing: 0
}

.popup-shared .row .col .item h3 span {
    display: block;
    font-size: 16px;
    letter-spacing: 0
}

.popup-shared .row .col .item h4 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 35px;
    letter-spacing: 0
}

.popup-shared .row .col .item dl {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #000;
    line-height: 20px;
    letter-spacing: 0;
    padding: 9.5px 0
}

.popup-shared .row .col .item dl dd {
    text-align: right
}

.popup-shared .row .col .item+.item {
    margin-top: 57px
}

.popup-shared .remodal-close-bot {
    cursor: pointer;
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    margin: 100px auto 0
}

.popup-shared .remodal-close-bot:hover {
    opacity: .8
}
