body {
    width: 980px;/*ページの幅 */
    margin: 0 auto;
    padding-top: 75px;/* ヘッダーの高さ分の余白をいれ、うしろの要素が隠れないようにする */
    background-color: #fffcf5 /* ページ全体の色*/
}

header {
    position: fixed;/*上にスクロールしないための固定*/
    background-color: #fffcf5;
    height: 90px;/* ヘッダーの高さ */
    padding: 4px 300px 0 245px; /*　隙間 上、右、下、左*/
    box-sizing: border-box;
    top: 0; /*上は0*/
    display: flex;
    align-items: center /*横はセンター*/
}
/*ヘッダーに隠れる　85px 指定*/
html {
    scroll-padding-top: 85px
}

main {
    text-align: center /*画像　テキスト位置中央*/
}

.news {
    display: flex
}
/* 画像の上に文字をきれいに載せる */
.main-visual {
    display: flex;
    align-items: flex-end;/* 上下の下 */
    justify-content: center; /* 左右の中央 */
    min-height: 180px; /* 画像の高さ（適宜調整してください） */
    background-image: url("img_a/12-10.avif"); /*ここに画像の名前を入れる */
    background-size: cover;
    background-position: center;
    text-align: center  /* 文字を真ん中寄せ */
}
/* 文字の読みやすさアップ */
.main-copy {
    color: #fffcf5;
    text-shadow: 1px 1px 3px #f3c8c8;
    line-height: 1.3;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    animation: fadeUp 1.5s ease forwards
}
/* 隙間をなくす（先ほどの分） */
.h1-main {
    margin: 0;
    font-size: 20px
}

.h1-sub {
    margin: 0;
    margin-top: 4px; /* 1行目との間隔を少しだけ空ける */
    font-size: 26px;
    line-height: 1.3
}

@media (max-width :767px) {
    .h1-main {
        margin: 0;
        font-size: 15px
    }

    .h1-sub {
        margin: 0;
        margin-top: 4px;
        font-size: 20px;
        line-height: 1.3
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}
/* PCレイアウト */
.grid {
    place-content: center;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    grid-template-areas: "img textA" "img textB";
    gap: 10px
}

.grid-a {
    place-content: center;
    display: grid;
    grid-template-columns: .8fr 1.2fr; /* 左右2列 */
    grid-template-areas: "img textA" "img textB";
    gap: 10px
}

.img {
    grid-area: img
}

.textA,
.textB {
    text-align: left;
    padding-left: 10px
}

@media (min-width:768px) {
    .img {
        margin-left: 50px
    }
}
 /* その他、見やすいように調整 */
.img-box {
    text-align: center
}

.img-box {
    text-align: center
}
/*お知らせ画像並べ方  PC*/
/* 共通：画像をアニメーションで拡大できるようにする */
/* 共通 */
.items {
    display: flex;
    flex-wrap: wrap;
    gap: 3px
}

.items img {
    width: calc(22% - 0px); /* PC 4列 */
    object-fit: cover;
    border-radius: 2px;
    transition: transform .3s ease;
    cursor: pointer
}
/* PC：ホバーで拡大 */
@media (min-width:767px) {
    .items img:hover {
        transform: scale(1.05); /* 拡大 */
        z-index: 10
    }
}
/* スマホ：3列 */
@media (max-width:767px) {
    .items img {
        margin: .6%;
        width: calc(32%)
    }

    .items {
        gap: 0
    }
}
/* モーダル（黒背景） */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    justify-content: center;
    align-items: center;
    z-index: 9999
}
/* 拡大画像 */
.modal img {
    max-width: 60%;
    max-height: 60%;
    border-radius: 8px
}
/*お知らせ　コードここまで*/
h2 {
    font-family: serif;
    color: #b78000;
    text-align: center;
    text-decoration: none
}

h3 {
    font-family: serif;
    color: #5d0505bc;
    display: inline;
    font-size: 20px;
    width: 100%
}

h4 {
    font-family: serif;
    color: #5d0505bc;
    display: inline;
    font-size: 16px;
    width: 100%
}

strong {
    color: #5d0505bc
}
 /* pc ルーセント位置*/
.lucent {
    position: absolute;
    top: 7px;
    left: 5px;
    display: flex;
    align-items: center;
    justify-content: center
}
/*ルーセントロゴ縮小*/
.lucent img {
    width: 270px 
}

.op {
    text-align: left;
    margin-left: 300px
}

@media (min-width:767px) {
    h3 {
        width: 100%;
        display: inline;
        font-size: 22px;
        color: #5d0505bc
    }

    h4 {
        font-family: serif;
        color: #5d0505bc;
        display: inline;
        font-size: 18px;
        width: 100%
    }
}

.toiawase {
    font-size: 18px
}

.oth {
    text-align: center
}

.title-1 {
    text-decoration: none;
    font-size: 18px;
    color: #420818c9
}

ul {
    display: flex
}
/*ボディートフェシャル　メニュー　文字*/
.menu-a2 {
    font-size: 20px; /*詳細はこちら*/
    display: inline-block;
    background-color: #ffeaea;
    color: #2b0202f1;
    padding: .5rem 1.5rem;
    text-decoration: none;
    cursor: pointer;
    border-radius: 8px
}

.m_body a {
    font-size: 17px
}
 /*点表示削除 */
li {  
    list-style: none
}
/* Google Map 共通 */
.gmap {
    width: 100%;
    max-width: 500px; /* PCで大きくしすぎない */
    margin: 0 auto ; /* 中央寄せ */
}

.gmap iframe {
    width: 100%;
    height: 285px;
    border: 0
}

@media screen and (max-width:767px) {
    .gmap iframe {
        height: 200px
    }
}

@media screen and (max-width :767px) {
    body {
        padding-top: 135px  /*変えない*/
    }

    img {
        max-width: 375px
    }

    .menu,
    header {
        width: 100%;
        padding: .5px;
        margin: 0;
        flex-wrap: wrap
    }

    #menu li a {
        margin: 0
    }

    header {
        height: 130px;  /* ヘッダーの高さを指定する */
        padding: 50px 0 50px 0  /*　隙間 上、右、下、左*/  
    }

    .title-1 {
        font-size: 16px;
        text-align: left
    }

    .title-1 p {
        margin-left: 5px;
        margin-right: 5px
    }

    .lucent {
        position: absolute;
        top: 5px;
        left: 10px;
        display: flex
    }
/*ルーセントロゴ縮小*/
    .lucent img {
        width: 320px
    }

    .menu_top1 .menu_top2 {
        font-size: 12px
    }
/* メニュー表示を上下適正位置*/
    #Map,
    #Menu,
    #News {
        display: block;
        margin-top: 0;
        padding-top: 15px
    }

    .menu a {
        font-size: 20px; /*ヘッダーの文字サイズ*/
        font-family: sans-serif
    }
/*詳細はこちら*/
    .menu-a2 {
        font-size: 18px
    }

    .menu {
        line-height: 30px
    }
/* お知らせ拡大画像 */
    .modal img {
        max-width: 80%;
        max-height: 80%;
        border-radius: 8px
    }

    .siharai {
        text-align: left;
        margin-left: 5px;
        margin-right: 5px
    }

    .op {
        text-align: left;
        margin: 0;
        padding: 0 8px /* 上下は0、左右に20pxの余白 */
    }
    .textA,
.textB {
    padding-right:8px;
    padding-left:8px
}
}
/* 地図表示切替 */
.mapsp {
    display: none
}

@media not all and (min-width:767px) {
    .mappc {
        display: none
    }

    .mapsp {
        display: block
    }
}
 /*News の上からの高さ*/ 
@media not all and (min-width:767px) {
    body {
        width: 100%
    }

    .menu_top1 {
        font-size: 10px
    }
}

@media screen and (min-width:767px) {
    .br-sp {
        display: none
    }
}

@media screen and (max-width:767px) {
    .br-pc {
        display: none
    }
}

.toiawase {
    margin-left: 70px
}

.card-img {
    margin: 12px;
    width: 400px;
    height: auto
}

@media screen and (max-width:767px) {

    table,
    td,
    tr {
        display: block
    }

    table {
        width: 100%
    }

    tr {
        margin-top: 20px
    }
}

.op-pro {
    padding-left: 10px;
    padding-right: 10px;
    text-align: left
}

@media (min-width:767px) {
    .op-phot {
        padding-left: 100px
    }

    .op-pro {
        padding-left: 10px;
        padding-right: 10px;
        margin-top: -180px;
        text-align: left
    }
}
/* スマホレイアウト */
@media (max-width:767px) {
    .grid {
        grid-template-columns: 1fr;/* 1列 */
        grid-template-areas: "textA" "img" "textB"
    }

    .grid-a {
        grid-template-columns: 1fr; /* 1列 */
        grid-template-areas: "img" "textA"
    }
}

.Header__List {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    margin: 0
}

.Header__List li {
    width: auto
}

.Header__List a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 85px;
    height: 45px;
    text-decoration: none;
    color: #420818c9;
    background: #fff;
    border: 1px solid #ccc;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2
}

.Header__List li a:hover {
    background: #ccc;
    color: #fff
}

@media (max-width:767px) {
    .Header__List li:nth-child(-n+3) {
        width: 33.33%;
        box-sizing: border-box
    }

    .Header__List li:nth-child(n+4) {
        width: 25%;
        box-sizing: border-box
    }

    .Header__List {
        flex-wrap: wrap;
        padding-left: 0
    }

    .Header__List a {
        height: 36px
    }
}

.contact-accordion {
    display: none;
    position: fixed;
    top: 70px;
    margin-left: 802px;
    width: 90PX;
    background: #fff;
    border-top: 1px solid #ccc;
    padding: 0;
    z-index: 999
}

.contact-accordion a {
    display: block;
    padding: 2px;
    text-align: center;
    border: 1px solid #ccc;
    background: #fff;
    color: #420818c9;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
    font-size: 14px
}

.contact-accordion a:hover {
    background: #ccc;
    color: #fff
}

@media (max-width:767px) {
    .contact-accordion {
        margin-left: 75%;
        margin-top: 55px;
        width: 25%
    }
}