@charset "utf-8";
/****************
top.css
****************/
/** top slide **/
#main-carousel .contents__inner {
    padding-top: var(--s-mm);
}
.top_mainimg {
    display: grid;
    grid-template-columns: 1fr;
}
.top_mainimg img {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    aspect-ratio: 5 / 2;
    overflow: hidden;
    object-fit: cover;
}
.top_mainimg__caption {
    grid-area: 1 / 1;
    margin-top: auto;
    color: #fff;
    font-size: var(--f-l);
    padding: 1vw 2vw;
    width: fit-content;
    background: var(--c-lg);
    position: relative;
}
.top_mainimg__caption:after {
    content: "";
    bottom: 0;
    position: absolute;
    clip-path: var(--polygon);
    height: 100%;
    width: 41px;
    right: -29px;
    background: var(--c-lg);
}
#main-carousel {
    .splide__slide.is-prev, .splide__slide.is-next {
        opacity: 0.5;
    }
}
.thumbnails {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(200px, 1fr));
    margin-top: var(--s-m);
    column-gap: 2vw;
    row-gap: 4vw;
}
.thumbnail {
  cursor: pointer;
}
.thumbnail img {
    width: 100%;
    height: auto;
    opacity: .6;
    aspect-ratio: 5 / 2;
    overflow: hidden;
    object-fit: cover;
}
.thumbnail.is-active img {
  opacity: 1;
}
.splide__list {
  height: auto;
}
.slide_description {
    margin-top: var(--s-double);
}
.slide_link__btn {
    width: fit-content;
    max-width: 95%;
    margin-top: var(--s-double);
}
.slide_link__btn a {
    background: var(--c-g);
    color: #fff;
    display: flex;
    gap: var(--s-nomal);
    padding: 16px var(--s-double);
    border-radius: var(--radius);
    font-size: var(--f-s);
}
.slide_link__btn a[target="_blank"]:after {
    content: "";
    width: 1em;
    height: 1em;
    background: url(/data/910000029.svg)no-repeat center;
    background-size: 14px;
}
.thum_title {
    display: flex;
    gap: var(--s-nomal);
    margin-top: 1vw;
    color: var(--c-g);
    font-weight: bold;
}
.thum_title:before {
    width: 5px;
    content: "";
    background: var(--c-llg);
    flex-shrink: 0;
}
.splide__toggle {
    width: 82px;
    background: var(--c-g);
    color: #fff;
    padding: var(--s-nomal) var(--s-double);
    border-radius: var(--radius);
    margin: 1vw auto;
    display: block;
}
/**/
.contents__title_wrap {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    margin-bottom: var(--s-m);
}
.contents__title_g {
    background: var(--c-g);
    margin-left: calc(50% - 50vw);
    padding: var(--s-m) var(--s-ms) var(--s-m) calc(50vw - 50% + var(--s-nomal));
    width: fit-content;
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: var(--s-ms);
    flex-wrap: wrap;
}
.contents__title_g:after {
    content: "";
    bottom: 0;
    position: absolute;
    clip-path: var(--polygon);
    height: 100%;
    width: 41px;
    right: -29px;
    background: var(--c-g);
}
.contents__title {
    color: #fff;
    font-size: var(--f-l);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: var(--s-nomal);
    line-height: 1;
}
.contents__title:before {
    content: "";
    width: 12px;
    height: 1em;
    background: url(/data/910000046.svg)no-repeat center bottom;
    background-size: 10px;
}
.contents__title_g p {
    color: var(--c-llg);
    font-weight: 500;
    font-family: var(--roboto), sans-serif;
    font-size: var(--f-ml);
    line-height: 1;
}
.conntent__description {
  padding-left: 41px;
}
/* top search */
.topsearch__form {
    display: grid;
    grid-template-columns: 1fr;
    background: #fff;
    border-radius: var(--radius);
    align-items: center;
}
.topsearch__input {
    padding: var(--s-ms);
    border-radius: var(--radius);
    width: 100%;
}
.topsearch__form input {
    border: none;
    font-size: var(--f-ml);
    grid-area: 1 / 1;
    height: 100%;
}
.topsearch__form:after {
    content: "";
    background: url(/data/910000043.svg) no-repeat center;
    grid-area: 1 / 1;
    width: 60px;
    height: 60px;
    margin-left: auto;
}
#suggest-list {
    padding: 1rem 1vw;
    font-size: var(--f-s);
    background: #fff;
}
#suggest-list li + li {
    margin-top: .5rem;
}
.topsearch__keywords {
    display: flex;
    column-gap: var(--s-double);
    row-gap: var(--s-nomal);
    margin-top: var(--s-ms);
    color: var(--c-g);
    font-weight: 500;
    font-size: var(--f-m);
    margin-bottom: var(--s-m);
    flex-wrap: wrap;
}
.topsearch__keywords dt:after {
    content: ":";
    margin-left: 1em;
}
.result-disp-none {
    display: none;
}
.top_search_txt {
    margin-top: var(--s-nomal);
}
/* top N-ADRES */
.n-add__section {
    background: url(/data/910000025.svg)no-repeat left top;
    background-size: 50%;
}
.n-add__section .contents__inner {
    display: grid;
    grid-template-columns: auto;
    justify-content: end;
}
.n-add__serch_icon {
    margin-inline: auto;
}
.n-add__top-txt {
    text-align: center;
    color: var(--c-g);
    font-size: var(--f-mll);
    font-weight: 500;
    width: 70vw;
    margin: var(--s-double) auto var(--s-ms);
}
.n-add__title h2 img {
    width: min(392px, 90%);
    margin-inline: auto;
}
.n-add__description {
  --space:24px;
    font-size: var(--f-ml);
    text-align: center;
    margin-top: var(--space);
    margin-bottom: var(--space);
    line-height: 1.8;
}
.n-add__link_btn {
    width: 225px;
    margin-inline: auto;
}
.n-add__link_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-lg);
    color: #fff;
    padding: var(--btn-space);
    border-radius: var(--radius);
    position: relative;
}
.n-add__link_btn a:after {
    content: "";
    width: 25px;
    height: 25px;
    background: url(/data/910000029.svg)no-repeat center;
    position: absolute;
    right: 16px;
}
@media (hover: hover) and (pointer: fine) {
.n-add__link_btn a:hover {
    background: var(--c-llg);
}
}
.n-add__cate {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    align-items: center;
    justify-content: center;
    margin-top: var(--s-m);
    gap: var(--s-double);
    width: min(540px, 100%);
    margin-inline: auto;
}

.n-add__cate_item a {
    color: var(--c-g);
    font-weight: 500;
    border: 1px solid;
    display: flex;
    align-items: center;
    gap: var(--s-double);
    padding: var(--btn-space);
    border-radius: var(--radius);
    position: relative;
    background: #fff;
}
@media (hover: hover) and (pointer: fine) {
    .n-add__cate_item a:hover {
        background: var(--c-lg);
        color: #fff;
    }
    .n-add__cate_item a:hover:after {
    background: url(/data/910000029.svg)no-repeat center;
    }
}
.n-add__cate_item a:after {
    content: "";
    width: 25px;
    height: 25px;
    background: url(/data/910000030.svg)no-repeat center;
    position: absolute;
    right: 16px;
}

.error {
    color: var(--c-red);
}

/* caleder */
#calendar__nodata {
    margin-bottom: var(--s-m);
}

.contents__wrap {
    --c-cate01: #518000;
    --c-cate02: #1D755C;
    --c-cate03: #396eab;
    --c-cate04: #a16706;
    --c-cate05: #327A7B;
    --c-cate06: #466790;
}
.calendar__cate {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px ,1fr));
    gap: 1vw 3vw;
}
.calendar__cate_item {
    padding: 16px;
    border-radius: var(--radius);
    color: #fff;
}
.meeting-committee{ background: var(--c-cate01);}
.meeting-council{ background: var(--c-cate02);}
.meeting-nuclear{ background: var(--c-cate03);}
.meeting-gensai{ background: var(--c-cate04);}
.meeting-anzchosa{ background: var(--c-cate05);}
.meeting-nraaction{ background: var(--c-cate06);}

.calendar__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.calendar__table th,
.calendar__table td {
  border: 1px solid #c8c8c8;
  width: 14.28%;
  height: 80px;
  position: relative;
  padding: var(--s-s);
}
.calendar__table th {
  background: #f0f0f0;
}
.calendar__table td {
  vertical-align: top;
}
.day {
  font-weight: bold;
  display: block;
}
.calendar__item {
    color: #fff;
    text-align: center;
    width: fit-content;
    padding: var(--s-s) var(--s-nomal);
    font-size: .9em;
    border-radius: var(--radius);
    display: inline-block;
}
.calendar__item + .calendar__item {
    margin-top: var(--s-s);
}
.month-title {
  font-size: var(--f-ml);
  text-align: center;
  margin-bottom: var(--s-nomal);
}
.calendar__table th, .calendar__table td {
    border-left: none;
    border-right: none;
    width: 150px;
}

#calendar-tooltip dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    width: 300px;
    row-gap: .3em;
}

#calendar-tooltip dd {
    word-break: break-all;
}
#calendar-tooltip dl dt:after {
    content: "：";
    padding-left: 5px;
}
#calendar-tooltip dt {
    display: flex;
    justify-content: space-between;
    font-weight: 500;
}
/* 曜日見出し */
.calendar__table th.sun {
  color: var(--c-red);
}
.calendar__table th.sat {
  color: var(--c-g);
}

/* 日付数字 */
.calendar__table td.sun .day {
  color: var(--c-red);
}
.calendar__table td.sat .day {
  color: var(--c-g);
}
.calendar__control {
    margin-top: 4vw;
    margin-bottom: var(--s-double);
    display: grid;
    grid-template-columns: 90px 1fr 90px;
    align-items: center;
}
.calendar__control button {
    position: relative;
    display: flex;
    gap: var(--s-nomal);
    align-items: center;
}
.calendar__control button#prev:before {
    content: "";
    width: 18px;
    height: 1em;
    background: url(/data/910000021.svg) no-repeat center;
    background-size: 18px;
    transform: rotate(180deg);
}
button#next {
    justify-content: flex-end;
}
button#next:after {
    content: "";
    width: 18px;
    height: 1em;
    background: url(/data/910000021.svg) no-repeat center;
    background-size: 18px;
}
.calendar__month {
    font-size: var(--f-l);
    color: var(--c-g);
    text-align: center;
    grid-column: 2;
}
/* report */
.top_report__btn {
    width: fit-content;
    margin-top: var(--s-l);
}
/* MOST VISITED PAGES & MENU */
.mostvisited__list, .menu__list {
    display: grid;
    align-items: center;
}
.mostvisited__list {
    grid-template-columns: repeat(auto-fill,minmax(170px, 3fr));
    gap: 16px;
}
.menu__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.mostvisited__item, .menu__item {
    display: grid;
    grid-template-rows: subgrid;
    align-items: center;
    justify-content: center;
    text-align: center;
    grid-row: span 3;
    position: relative;
}
.mostvisited__item {
    background: #fff;
    padding: 16px;
    gap: 10px;
    border-radius: var(--radius);
    border: 4px solid #fff;
    transition: .2s ease-in;
}
.mostvisited__item:hover {
    border: 4px solid var(--c-g);
}
.cover_link:focus {
    outline: none;
}
.menu__item {
    background: var(--c-gray);
    padding: 3vw var(--s-double);
    gap: 2vw;
    border: 4px solid var(--c-gray);
    transition: .2s ease-in
}
.menu__item:hover {
    border: 4px solid var(--c-g);
}
.mostvisited__item:has(.cover_link:focus), .menu__item:has(.cover_link:focus) {
    outline: solid;
}
.mostvisited__item img, .menu__item img {
    margin-inline: auto;
}
.mostvisited__item h3 {
    font-size: var(--f-m);
}
.menu__item h3 {
    font-size: var(--f-l);
}
.mostvisited__item h3 a, .menu__item h3 a {
    color: var(--c-g);
    font-weight: 500;
}
/* banner */
.banner__wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 4vw;
}
.banner__item_onecolumn {
    grid-column: 1 / -1;
}
.banner__wrap article a {
    padding: 3vw;
}
.banner__item_twocolumn a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2vw;
    border: 1px solid var(--c-llg);
}
.banner__wrap article {
    display: grid;
    grid-template-rows: subgrid;
}
.banner__item_onecolumn a {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    align-items: center;
    column-gap: 1vw;
    border: 1px solid var(--c-g);
}
.banner__title {
    font-size: var(--f-l);
    font-weight: 500;
    letter-spacing: -2px;
    color: var(--c-g);
}
/* video */
.wrap-bg02 {
  background: var(--c-llg);
  overflow: hidden;
}
.wrap-bg02 .conntent__description {
  color: var(--c-g);
}
.wrap-bg02 .contents__title_wrap {
    background: var(--c-gray);
    margin-right: calc(50% - 50vw);
}
.channel__item {
    background: #fff;
}
.channel__title {
    font-size: var(--f-ml);
    color: var(--c-g);
    font-weight: 500;
    margin-bottom: 1vw;
}
.channel__info {
    padding: 2vw 1vw 1vw;
}
.channel__description {
    margin-bottom: var(--s-double);
}
.splide__slide img {
  width: 100%;
  height: auto;
}
.channel__link a {
    color: var(--c-lg);
    display: flex;
    align-items: center;
    gap: var(--s-nomal);
    font-weight: 600;
}
.channel__link {
    margin-top: var(--s-nomal);
    font-size: var(--f-s);
}
.channel__link a:after {
    content: "";
    background: url(/data/910000031.svg)no-repeat center;
    width: 15px;
    height: 15px;
}
.channel_prev {
    left: -5% !important;
}
.channel_next {
    right: -5% !important;
}
.channel_arrow {
    background: #fff !important;
    width: 58px !important;
    height: 58px !important;
    opacity: 1 !important;
}

/* map */
.top_link_title {
    font-size: var(--f-ml);
    font-weight: 500;
    color: var(--c-g);
    padding-left: .6em;
    width: fit-content;
}
.top_link_title a:after {
    content: "";
    width: 1em;
    height: 1em;
    background: url(/data/910000021.svg) no-repeat center;
    background-size: 1em;
}
.top_link_title a {
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
}
.top_link_title a:before {
    content: "";
    width: 7px;
    height: 1em;
    background: var(--c-llg);
    display: inline-block;
}
.pre-em__title {
    background: #ca310b;
}

.pre-em__title:after {
    background: #ca310b;
}

.pre-em__title p {
    color: #ec9d0f;
}

.pre-em__wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2vw;
    justify-items: center;
}

.pre-em__btn a {
    display: grid;
    grid-template-columns: 1fr 20px;
    column-gap: var(--s-nomal);
    background: var(--c-g);
    padding: 24px 16px;
    justify-content: center;
    border-radius: var(--radius);
    font-size: var(--f-ml);
    color: #fff;
    align-items: center;
}

.pre-em__btn {
    width: 100%;
    text-align: center;
}

.pre-em__btn a:after {
    content: "";
    width: 18px;
    height: 1em;
    background: url(/data/910000024.svg) no-repeat center;
    background-size: 18px;
}

.pre-em__btn span:lang(en) {
    padding-right: 8px;
}

.pre_bg {
    background: #ff985e70;
    margin-bottom: var(--s-ml);
}

.pre_bg .contents__inner {
    padding-bottom: var(--s-l);
}