.kv {
    background-color: #FFF9A7;
    background-image: url(../img/sachiyo_pc.png);
    background-repeat: no-repeat;
    aspect-ratio: 384 / 216;
    width: 100vw;
    position: relative;
    background-size: 100%;
}

@media (max-width:768px) {
    .kv {
        background-color: transparent;
        background-image: url(../img/sachiyo_sp.png);
        aspect-ratio: 768 / 780;
    }
}

.kv_text {
    position: absolute;
    bottom: 9vw;
    right: 5vw;
    text-align: center;
    font-weight: bold;
}

@media (max-width:768px) {
    .kv_text {
        right: 3vw;
    }
}

.kv_text_desc {
    font-size: 3.3vw;
    font-weight: bold;
    /* color: #00a479; */
    color: #E5006C;
}

.kv_text h1 {
    font-size: 8vw;
    font-weight: bold;
    width: fit-content;
    margin: auto;
    /* color: #00a479; */
    color: #E5006C;
    line-height: 1.5;
    border-bottom: 10px solid #FAE423;
}

.kv_text_subtitle {
    font-size: 3vw;
    font-weight: bold;
    color: #FCB430;
}

/* おおみや暮らし手帳、市政通信 */
.share {
    border-top: 20px solid #FAE423;
    padding-block: 3rem;
    overflow: hidden;
}

@media (max-width:768px) {
    .share {
        margin-top: -20px;
    }
}

.share-inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
    gap: 2rem;
}

@media (max-width:798px) {
    .share-inner {
        grid-template-columns: 1fr;
        grid-template-rows: 2fr;
    }
}

.share-inner::before {
    position: absolute;
    content: "";
    top: -15%;
    right: -5%;
    border-radius: 50%;
    width: 20%;
    aspect-ratio: 1 /1;
    background: #feeedc;
    opacity: 0.3;
    z-index: -1;
}

.share-inner::after {
    position: absolute;
    content: "";
    bottom: -10%;
    left: -5%;
    border-radius: 50%;
    width: 15%;
    aspect-ratio: 1 /1;
    background: #feeedc;
    opacity: 0.3;
    z-index: -1;
}

.post,
.newsletter {
    padding: 2rem;
}

.post-container h2 {
    font-size: 3.5rem;
    color: #FC8437;
    padding: 1rem 2rem;
    text-align: center;
    background: linear-gradient(transparent 85%, #FAE423 85%);
    width: fit-content;
    margin-inline: auto;
}

@media (max-width:880px) {
    .post-container h2 {
        font-size: 3rem;
    }
}

@media (max-width:390px) {
    .post-container h2 {
        font-size: 2rem;
    }
}

.post_items {
    margin-block: 2rem;
}

.post_item {
    padding-block: 1rem;
    border-bottom: 1px solid #888;
}

.post_date {}

.post_title {
    font-size: 2.5rem;
}

@media (max-width:390px) {
    .post_title {
        font-size: 2rem;
    }
}

@media (max-width:768px) {
    .post_title {
        font-size: 2rem;
    }
}

.share_btn-wrapper {
    width: 100%;
    text-align: right;
}

.share_btn {
    margin-top: 1rem;
    font-size: 2rem;
    margin-inline: auto 0;
    box-sizing: content-box;
}

.newsletter {}

.news-container h2 {
    background: #FC8437;
    color: white;
    text-align: center;
    padding: 1rem 2rem;
    font-size: 3.5rem;
    width: fit-content;
    margin-inline: auto;
}

@media (max-width:880px) {
    .news-container h2 {
        font-size: 3rem;
    }
}

@media (max-width:390px) {
    .news-container h2 {
        font-size: 2rem;
    }
}

/* 重点政策 */
.c-section__title {
    padding-block: 3rem;
    text-align: center;
    color: white;
    background: #FAE423;
    font-size: 4rem;
}

@media (max-width:768px) {
    .c-section__title {
        padding-block: 1rem;
        font-size: 3rem;
    }
}

.policy {
    background: #FFFde1;
}

@media (max-width:945px) {
    .policy-inner {
        max-width: 700px;
        margin-inline: auto;
    }
}

@media (max-width:875px) {
    .policy-inner {
        max-width: 600px;
        margin-inline: auto;
    }
}

.policy .container {
    padding-block: 4rem;
}

.policy_catch {
    text-align: center;

}

.policy_catch h3 {
    font-size: 3rem;
    font-weight: 700;
}

@media (max-width:768px) {
    .policy_catch h3 {
        font-size: 2.5rem;
    }
}

.policy_catch p {
    font-size: 3.5rem;
    color: #FCB430;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width:768px) {
    .policy_catch p {
        font-size: 3rem;
        white-space: normal;
    }
}

.policy_message {
    color: #00a479;
    text-align: center;
    margin-block: 3rem;
}

.policy_message-br {
    display: none;
}

@media (min-width:498px) and (max-width:945px) {
    .policy_message-br {
        display: flex;
    }
}

.policy_items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, 400px);
    column-gap: 3rem;
    row-gap: 3rem;
}

@media (max-width:945px) {
    .policy_items {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(10, 1fr);
    }
}

@media (max-width:453px) {
    .policy_items {
        grid-template-rows: repeat(10, minmax(320px, auto));
    }
}

.policy_item {
    padding: 3rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    border-radius: 24px;
    background: white;
}

@media (max-width:453px) {
    .policy_item {
        padding: 2rem;
    }
}

.policy_item h3 {
    color: #FCB430;
    font-weight: 700;
    font-size: 3rem;
}

@media (max-width:453px) {
    .policy_item h3 {
        font-size: 2rem;
        text-align: center;
    }
}

.policy_item-contents {
    justify-content: space-between;
    margin-top: 2rem;
    height: 100%;
    position: relative;
}

@media (max-width:453px) {
    .policy_item-contents {
        flex-direction: column-reverse;
        gap: 2rem;
        height: auto;

        li {
            text-align: left;
        }
    }
}

.policy_item img {
    width: 120px;
    height: auto;
    position: absolute;
    bottom: 50px;
    right: 0;
}

.policy_item--1 img {
    aspect-ratio: 203 / 247;
}

.policy_item--2 img {
    aspect-ratio: 305 / 296;
}

.policy_item--3 img {
    aspect-ratio: 434 / 331;
}

.policy_item--4 img {
    aspect-ratio: 359 / 289;
}

.policy_item--5 img {
    aspect-ratio: 324 / 187;
}

.policy_item--6 img {
    aspect-ratio: 422 / 273;
}

.policy_item--7 img {
    aspect-ratio: 244 / 182;
}

.policy_item--8 img {
    aspect-ratio: 285 / 305;
}

.policy_item--9 img {
    aspect-ratio: 418 / 331;
}

.policy_item--10 img {
    aspect-ratio: 454 / 397;
}

@media (max-width:453px) {
    .policy_item img {
        width: 100px;
        margin-inline: auto;
        position: static;
        bottom: auto;
        right: auto;
    }
}

@media (min-width:946px) and (max-width:1000px) {
    .policy_item img {
        width: 100px;
    }
}

@media (min-width:800px) and (max-width:945px) {
    .policy_item img {
        width: 150px;
    }
}

.policy_achive {
    margin-top: 4rem;
    max-width: 750px;
    margin-inline: auto;
}

.policy_achive h3 {
    color: #FCB430;
    font-weight: 700;
    font-size: 2.5rem;
    text-align: center;
}

@media (max-width:768px) {
    .policy_achive h3 {
        font-size: 2rem;
    }
}

.policy_achive-br {
    display: none;
}

@media (max-width:940px) {
    .policy_achive-br {
        display: flex;
    }
}

.policy_achive ul {
    border-radius: 50px;
    background: white;
    border: 2px solid #FCB430;
    padding: 3rem 5rem;
}

@media (max-width:900px) {
    .policy_achive ul {
        padding: 2rem;
    }
}

@media (max-width:376px) {
    .policy_achive ul {
        padding: 1.5rem;
    }
}

.policy_achive li {
    position: relative;
    padding-left: 30px;
}

@media (max-width:345px) {
    .policy_achive li {
        font-size: 1.4rem;
    }
}

.policy_achive li::before {
    position: absolute;
    content: "・";
    top: 50%;
    transform: translateY(-50%);
    left: 4px;
}

.profile {}

.profile-inner {
    max-width: 900px;
    margin-top: 50px;

}

.profile_family {
    padding-inline: 2rem;
    margin-inline: auto;
    max-width: 600px;
}

.profile_family p {
    font-weight: 700;
    font-size: 2rem;
}

@media (min-width:576px) {
    .profile_family br {
        display: none;
    }
}

@media (max-width:900px) {
    .profile-inner {
        max-width: 800px;
        margin-inline: auto;
    }
}

.profile .container {
    padding-block: 4rem;
}

.profile_career h3 {
    font-size: 3rem;
    font-weight: 700;
    color: #00a479;
    border-bottom: 1px solid #00a479;
    padding-bottom: 1rem;
}

@media (max-width:768px) {
    .profile_career h3 {
        font-size: 2rem;
    }
}

.profile_career h3 span {
    letter-spacing: 0.2px;
}

.profile_career h3:nth-of-type(3) {
    border-bottom: transparent;
    padding-block: 2rem;
}

.profile_career_list {
    /* border-top: 1px solid #00a479; */
    border-bottom: 1px solid #00a479;
    padding-block: 2rem;
    padding-left: 2rem;
}

@media (max-width:768px) {
    .profile_career_list {
        padding-left: 1rem;
    }
}

@media (max-width:465px) {
    .profile_career_list {
        padding-left: 0.5rem;
    }
}

.profile_career_list-1 {
    justify-content: space-between;
    position: relative;
}

.profile_career_list-1 img {
    width: 200px;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    object-fit: contain;
}

@media (max-width:625px) {
    .profile_career_list-1 img {
        position: absolute;
        bottom: -30px;
        right: 0;
        width: 150px;
        aspect-ratio: 1 / 1;
        z-index: -1;
    }
}

@media (max-width:477px) {
    .profile_career_list-1 img {
        width: 120px;
        bottom: -20px;
    }
}

@media (max-width:410px) {
    .profile_career_list-1 img {
        bottom: 93%;
    }
}

.profile_career_list-1-born p {
    margin-left: 20px;
    margin-bottom: 10px;

}

.profile_career_list-1-br {
    display: none;
}

@media (max-width:730px) {
    .profile_career_list-1-br {
        display: block;
    }
}

.profile_career_list-3 {
    border-bottom: transparent;
}

.profile_career_list-4 {
    position: relative;
}

.profile_career_list-4 .image-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    aspect-ratio: 1/ 1;
    z-index: 99;
}

.profile_career_list-5 {
    position: relative;
}

.profile_career_list-5 dl {
    /* border-top: 1px solid #00a479; */
    padding-block: 2rem;
    padding-left: 2rem;
}

.profile_career_list-5 dl:nth-of-type(1) {
    padding-bottom: 4rem;
}

.profile_career_list-5 dl:nth-of-type(2) {
    border-bottom: 1px solid #00a479;
}

.profile_career_list-5 dt {
    font-weight: 700;
    margin-top: -3.5rem;
    background: white;
    /* width: fit-content; */
    padding-right: 2rem;
    position: relative;
}

.profile_career_list-5 dt:after {
    position: absolute;
    content: "";
    top: 1.5rem;
    right: 0;
    width: 90%;
    height: 1px;
    background: #00a479;
}

@media (max-width:391px) {
    .profile_career_list-5 dt:after {
        width: 80%;
    }
}

.profile_career_list-5 .image-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 250px;
    aspect-ratio: 1/ 1;
    z-index: 99;
}

.profile_career_list-5 .image-wrapper2 {
    position: absolute;
    bottom: 60px;
    right: 80px;
    z-index: 99;
}

.profile_career_list-5-image1,
.profile_career_list-5-image2 {
    width: 130px;
}

.profile_career_list-5-image3 {
    width: 250px;
}

.profile_career_list-5-image1 {
    height: 160px;
}

.profile_career_list-5-image2 {
    margin-inline: auto 0;
    display: block;
}

@media (max-width:540px) {

    .profile_career_list-5-image1,
    .profile_career_list-5-image2 {
        width: 100px;
    }
}

@media (max-width:645px) {
    .profile_career_list-5 .image-wrapper2 {
        bottom: 110px;
        right: 10px;
    }

    .profile_career_list-5 .image-wrapper {
        width: 150px;
    }

    .profile_career_list-5-image3 {
        width: 200px;
    }
}

@media (max-width:540px) {
    .profile_career_list-5 .image-wrapper {
        position: static;
        top: auto;
        right: auto;
        width: 100%;
        z-index: 1;
        margin-top: 2rem;
        height: 138px;
    }

    .profile_career_list-5 .image-wrapper2 {
        bottom: -20px;
        right: initial;
        left: 120px;
    }

    .profile_career_list-5-image2 {
        margin-inline: 0;
        display: inline-block;
        height: 138px;
    }
}

.profile_career_list-5-br {
    display: none;
}

@media (max-width:786px) {
    .profile_career_list-5-br {
        display: block;
    }
}

/* council */
.council {
    padding-block: 3rem;
}

.council-inner {
    max-width: 900px;
}

.council-container {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* .council h3 {
    font-size: 3rem;
    font-weight: 700;
}
@media (max-width:768px) {
  .council h3{
    font-size: 2.5rem;
  }
}
@media (max-width:345px) {
  .council h3{
    font-size: 2rem;
  }
} */
.council a {
    font-size: 2rem;
    text-decoration: underline;
}

@media (max-width:768px) {
    .council a {
        font-size: 1.5rem;
    }
}