@charset "UTF-8";
/*　*/
/**************************************************
		common
**************************************************/
.municipality_pager01 {
    margin: 3rem -1.5rem 0 -1.5rem;
}
@media print, screen and (min-width: 768px) {
    .municipality_pager01 {
        margin: 6rem 0 0 0;
    }
}

/**************************************************
		index
**************************************************/
.index_ttl01 .m-ttl01_en::before {
    background-image: url(../img/common/icon_municipality_circle.svg);
}
.index_txt01 {
    margin: 5rem 0;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
}
@media print, screen and (min-width: 768px) {
    .index_txt01 {
        margin: 15rem 0;
        font-size: 3rem;
    }
}

/*=========================================
		detail
=========================================*/
@media print, screen and (min-width: 768px) {
    .p-detail .l-wrapper {
        overflow: visible;
    }
}

.detail_mv {
    position: relative;
}
@media print, screen and (min-width: 768px) {
    .detail_mv {
        margin-bottom: 8rem;
    }
}
.detail_mv_img .m-img01 {
    padding-bottom: 23rem;
    z-index: 10;
}
@media print, screen and (min-width: 768px) {
    .detail_mv_img .m-img01 {
        padding-bottom: 50rem;
    }
}
.detail_mv_img::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10rem;
    background: linear-gradient(rgba(0, 0, 0, 0), black);
    opacity: 0.55;
    z-index: 20;
    content: "";
}
@media print, screen and (min-width: 768px) {
    .detail_mv_img::before {
        height: 20rem;
    }
}
.detail_mv_ttl {
    position: absolute;
    left: 0;
    bottom: 1.5rem;
    width: 100%;
    font-size: 2.4rem;
    font-weight: 600;
    color: #fff;
    z-index: 30;
}
@media print, screen and (min-width: 768px) {
    .detail_mv_ttl {
        bottom: 4rem;
        font-size: 3.4rem;
    }
}
.detail_mv_ttl span {
    display: block;
    padding: 0 1.5rem;
}
@media print, screen and (min-width: 768px) {
    .detail_mv_ttl span {
        margin: 0 auto;
        padding: 0 8rem;
        max-width: 140rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_box01 {
        display: flex;
        flex-wrap: wrap;
    }
}
@media only screen and (max-width: 767px) {
    .detail_box01_inner01 {
        margin-bottom: 2.5rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_box01_inner01 {
        position: sticky;
        top: 15rem;
        margin-left: auto;
        width: calc(240 / 1240 * 100%);
        align-self: flex-start;
        order: 2;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_box01_inner02 {
        width: calc(960 / 1240 * 100%);
        order: 1;
    }
}
@media only screen and (max-width: 767px) {
    .detail_nav {
        display: none;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_nav a {
        padding: 1.3rem 1rem;
    }
}
.detail_nav .is-active a {
    color: #000;
}
.detail_sec02:last-child {
    margin-bottom: 0;
}
.detail_img01 {
    display: flex;
    margin: 2rem -0.5rem -0.5rem -0.5rem;
    flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
    .detail_img01 {
        margin: 3rem -1rem -1rem -1rem;
    }
}
.detail_img01 li {
    margin: 0.5rem;
    width: calc(50% - 1rem - 0.1px);
}
@media print, screen and (min-width: 768px) {
    .detail_img01 li {
        margin: 1rem;
        width: calc(33.333% - 2rem - 0.1px);
    }
}
.detail_box02 {
    margin-top: 3rem;
}
@media print, screen and (min-width: 768px) {
    .detail_box02 {
        display: flex;
        margin-top: 4rem;
    }
}
.detail_box02_inner01 {
    padding: 1rem;
}
@media print, screen and (min-width: 768px) {
    .detail_box02_inner01 {
        padding: 1.5rem;
        width: 45rem;
    }
}
.detail_box02_inner02 {
    padding: 2rem;
    background: rgba(0, 153, 191, 0.15);
}
@media print, screen and (min-width: 768px) {
    .detail_box02_inner02 {
        display: flex;
        padding: 3rem;
        flex: 1;
        align-items: center;
    }
}
.detail_img02 {
    height: 100%;
}
.detail_ttl02 {
    display: flex;
    margin-bottom: 1rem;
    font-size: 1.8rem;
    align-items: center;
    justify-content: center;
}
@media print, screen and (min-width: 768px) {
    .detail_ttl02 {
        margin-bottom: 1.5rem;
        font-size: 2.4rem;
    }
}
.detail_ttl02_img {
    display: block;
    margin-right: 1.5rem;
    padding: 2rem;
    border-radius: 100%;
    width: 7rem;
    background: #fff;
    overflow: hidden;
}
@media print, screen and (min-width: 768px) {
    .detail_ttl02_img {
        margin-right: 2.5rem;
        padding: 3rem;
        width: 12rem;
    }
}
.detail_ttl02_img.is-noimg {
    padding: 0;
}
.detail_ttl02_txt {
    display: block;
}
.detail_info01 {
    font-size: 1.4rem;
    line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
    .detail_info01 {
        font-size: 1.6rem;
    }
}
.detail_info01 > li:not(:last-child) {
    border-bottom: 1px solid #0099BF;
}
.detail_info01 dl {
    display: table;
    width: 100%;
}
.detail_info01 dt {
    display: table-cell;
    padding: 0.7rem 1rem 0.7rem 0;
    width: 9rem;
    vertical-align: top;
}
@media print, screen and (min-width: 768px) {
    .detail_info01 dt {
        padding: 0.7rem 1rem;
        width: 11rem;
    }
}
.detail_info01 dd {
    display: table-cell;
    padding: 0.7rem 0;
    vertical-align: top;
    word-break: break-all;
    word-wrap: break-word;
}
@media print, screen and (min-width: 768px) {
    .detail_info01 dd {
        padding: 0.7rem 0;
    }
}
.detail_use {
    counter-reset: use-cnt;
}
@media print, screen and (min-width: 768px) {
    .detail_use {
        display: flex;
        margin: -1.5rem;
        flex-wrap: wrap;
    }
}
.detail_use > li {
    counter-increment: use-cnt;
}
@media only screen and (max-width: 767px) {
    .detail_use > li:not(:last-child) {
        margin-bottom: 1rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_use > li {
        margin: 1.5rem;
        width: calc(50% - 3rem - 0.1px);
    }
}
.detail_use dl {
    position: relative;
    padding: 1.4rem;
    border: 1px solid #0099BF;
    min-height: 6rem;
    transition: color 0.3s;
}
@media print, screen and (min-width: 768px) {
    .detail_use dl {
        padding: 2.4rem;
        min-height: 14rem;
    }
}
.detail_use dl:not(.is-nochild) {
    cursor: pointer;
}
@media print, screen and (min-width: 768px) {
    .detail_use dl:not(.is-nochild):hover {
        color: #fff;
    }
    .detail_use dl:not(.is-nochild):hover::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }
    .detail_use dl:not(.is-nochild):hover dt::before {
        color: #fff;
    }
}
.detail_use dl::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0099BF;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    z-index: -1;
    content: "";
}
.detail_use dt {
    display: flex;
    position: relative;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    align-items: center;
}
@media only screen and (max-width: 767px) {
    .detail_use dt {
        padding: 0 2.5rem;
        min-height: 3rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_use dt {
        font-size: 1.8rem;
        min-height: 9rem;
        text-align: center;
        justify-content: center;
    }
    .detail_use dt:before::after {
        color: #fff;
    }
}
.detail_use dt::before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    font-size: 4rem;
    font-weight: 600;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #0099BF;
    line-height: 1;
    opacity: 0.15;
    transition: color 0.3s;
    content: counter(use-cnt, decimal-leading-zero);
}
@media print, screen and (min-width: 768px) {
    .detail_use dt::before {
        left: 50%;
        font-size: 9rem;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}
.detail_use dt::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    width: 1.4rem;
    height: 1.4rem;
    background: transparent url(../img/common/icon_plus_gray.svg) 50% 50% no-repeat;
    background-size: contain;
    content: "";
}
@media print, screen and (min-width: 768px) {
    .detail_use dt::after {
        display: none;
    }
}
.detail_use dl.is-active dt::after {
    background-image: url(../img/common/icon_minus_gray.svg);
}
.detail_use dl.is-nochild dt::after {
    display: none;
}
.detail_use dd {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.8;
}
@media only screen and (max-width: 767px) {
    .detail_use dd {
        padding-top: 1rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_use dd {
        font-size: 1.6rem;
    }
}
.detail_use_img {
    display: block;
    margin-left: auto;
    padding-left: 1rem;
    width: 11rem;
}
@media print, screen and (min-width: 768px) {
    .detail_use_img {
        padding-left: 1.5rem;
        width: 13rem;
    }
}
.detail_use_txt {
    display: block;
    flex: 1;
}
.detail_btn01 {
    margin-top: 3.5rem;
    text-align: center;
}
@media print, screen and (min-width: 768px) {
    .detail_btn01 {
        margin-top: 5rem;
    }
}
.detail_btn01 .m-btn01 {
    min-width: 28rem;
}
.detail_btn01 .m-btn01 .m-iconArrow01 {
    display: block;
}
.detail_message {
    display: flex;
    font-size: 1.3rem;
    flex-wrap: nowrap;
}
@media print, screen and (min-width: 768px) {
    .detail_message {
        font-size: 1.6rem;
    }
}
.detail_message_wrap.is-noslide .detail_message {
    flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap.is-noslide_pc .detail_message {
        flex-wrap: wrap;
    }
}
.detail_message > li {
    padding: 1rem 0.5rem;
    width: 50%;
}
@media print, screen and (min-width: 768px) {
    .detail_message > li {
        padding: 1.7rem 1.5rem;
        width: 33.333%;
    }
}
.detail_message_inner {
    position: relative;
    padding: 1.4rem 0.9rem 4.4rem 0.9rem;
    border: 1px solid #0099BF;
    border-radius: 1.5rem;
    background: #fff;
}
@media print, screen and (min-width: 768px) {
    .detail_message_inner {
        padding: 1.9rem 1.4rem 5.4rem 1.4rem;
    }
}
.detail_message_inner::before {
    position: absolute;
    bottom: -1.2rem;
    right: 2.5rem;
    width: 2rem;
    height: 1.2rem;
    background: linear-gradient(to top left, transparent 45%, #0099BF 50%, #0099BF 50%, transparent 55%) 100% 100% no-repeat, linear-gradient(to top right, transparent 45%, #0099BF 50%, #0099BF 50%, transparent 55%) 0 100% no-repeat, linear-gradient(to top left, transparent 50%, #fff 50%) 100% 100% no-repeat, linear-gradient(to top right, transparent 50%, #fff 50%) 0 100% no-repeat;
    background-size: 50% 100%, 50% 100%, 50% 100%, 50% 100%;
    content: "";
}
@media print, screen and (min-width: 768px) {
    .detail_message_inner::before {
        right: 3.5rem;
        bottom: -1.5rem;
        width: 2.5rem;
        height: 1.5rem;
    }
}
.detail_message_txt {
    display: block;
}
.detail_message_date {
    position: absolute;
    left: 0.9rem;
    bottom: 1.4rem;
    color: #6C6C6C;
}
@media print, screen and (min-width: 768px) {
    .detail_message_date {
        left: 1.4rem;
        bottom: 1.9rem;
    }
}
.detail_message_wrap {
    margin: -1rem -0.5rem;
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap {
        margin: -1.7rem -1.5rem;
    }
}
.detail_message_wrap .swiper-buttons {
    display: flex;
    margin: 2rem 0.5rem 0 0.5rem;
    width: calc(100% - 1rem);
    align-items: center;
    justify-content: center;
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap .swiper-buttons {
        margin: 3rem 2.2rem 0 2.2rem;
        width: calc(100% - 4.4rem);
    }
}
.detail_message_wrap .swiper-button-prev,
.detail_message_wrap .swiper-button-next {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    margin-top: 0;
    border: 1px solid #0099BF;
    border-radius: 100%;
    width: 1.5rem;
    height: 1.5rem;
    transition: background-color 0.3s;
    outline: none;
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap .swiper-button-prev,
    .detail_message_wrap .swiper-button-next {
        width: 3rem;
        height: 3rem;
    }
    .detail_message_wrap .swiper-button-prev:hover,
    .detail_message_wrap .swiper-button-next:hover {
        background-color: #0099BF;
    }
    .detail_message_wrap .swiper-button-prev:hover::before,
    .detail_message_wrap .swiper-button-next:hover::before {
        border-color: #fff;
    }
}
.detail_message_wrap .swiper-button-prev::before,
.detail_message_wrap .swiper-button-next::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin-left: -0.4rem;
    border-top: 1px solid #0099BF;
    border-right: 1px solid #0099BF;
    width: 0.5rem;
    height: 0.5rem;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    transition: border-color 0.3s;
    content: "";
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap .swiper-button-prev::before,
    .detail_message_wrap .swiper-button-next::before {
        margin-left: -0.6rem;
        width: 0.8rem;
        height: 0.8rem;
        border-width: 2px;
    }
}
.detail_message_wrap .swiper-button-prev::after,
.detail_message_wrap .swiper-button-next::after {
    display: none;
}
.detail_message_wrap .swiper-button-prev {
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1);
}
.detail_message_wrap .swiper-pagination-bullets {
    position: relative;
    display: flex;
    margin: 0 0.3rem;
    font-size: 0;
    line-height: 0;
    overflow: visible;
    align-items: center;
    justify-content: center;
    max-width: calc(100% - 3rem - 0.6rem);
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap .swiper-pagination-bullets {
        margin: 0 0.5rem;
        max-width: calc(100% - 6rem - 1rem);
    }
}
.detail_message_wrap .swiper-pagination-bullets .swiper-pagination-bullet {
    display: block;
    margin: 0 0.2rem;
    max-width: 6rem;
    min-width: 2rem;
    width: 35rem;
    height: 0.5rem;
    border-radius: 0;
    background: #6C7D81;
    opacity: 1;
    transition: background-color 0.3s;
    outline: none;
    flex: 1;
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 0.5rem;
        max-width: 12rem;
        width: 80rem;
        height: 0.7rem;
    }
    .detail_message_wrap .swiper-pagination-bullets .swiper-pagination-bullet:hover {
        background-color: #0099BF;
    }
}
.detail_message_wrap .swiper-pagination-bullets .swiper-pagination-bullet-active {
    background-color: #0099BF;
}
.detail_message_wrap.is-noslide .swiper-buttons {
    display: none;
}
@media print, screen and (min-width: 768px) {
    .detail_message_wrap.is-noslide_pc .swiper-buttons {
        display: none;
    }
}
.detail_box03 {
    position: relative;
    border: 1px solid #0099BF;
}
.detail_ttl03 {
    position: relative;
    padding: 1.9rem 3.4rem 1.9rem 1.4rem;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.3;
    transition: color 0.3s;
    cursor: pointer;
}
@media print, screen and (min-width: 768px) {
    .detail_ttl03 {
        padding: 2.9rem;
        font-size: 3.4rem;
    }
}
.detail_ttl03::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0099BF;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    z-index: -1;
    content: "";
}
.detail_ttl03::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 1.4rem;
    width: 1.4rem;
    height: 1.4rem;
    background: transparent url(../img/common/icon_plus_gray.svg) 50% 50% no-repeat;
    background-size: contain;
    transition: background-image 0.3s;
    content: "";
}
@media print, screen and (min-width: 768px) {
    .detail_ttl03::after {
        right: 2.9rem;
        width: 2.4rem;
        height: 2.4rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_ttl03:hover {
        color: #fff;
    }
    .detail_ttl03:hover::before {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }
    .detail_ttl03:hover::after {
        background-image: url(../img/common/icon_plus_white.svg);
    }
}
.detail_ttl03.is-active::after {
    background-image: url(../img/common/icon_minus_gray.svg);
}
@media print, screen and (min-width: 768px) {
    .detail_ttl03.is-active:hover::after {
        background-image: url(../img/common/icon_minus_white.svg);
    }
}
.detail_box04 {
    margin: 0.9rem;
}
@media print, screen and (min-width: 768px) {
    .detail_box04 {
        margin: 2rem 2.9rem 2.9rem 2.9rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_box05 {
        display: flex;
    }
}
@media only screen and (max-width: 767px) {
    .detail_box05_inner01 {
        margin-bottom: 2.5rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_box05_inner01 {
        margin-right: 5rem;
        width: 40rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_box05_inner02 {
        flex: 1;
    }
}
.detail_info02 {
    font-size: 1.4rem;
}
@media print, screen and (min-width: 768px) {
    .detail_info02 {
        font-size: 1.8rem;
    }
}
.detail_info02 > li:not(:last-child) {
    margin-bottom: 1.5rem;
}
.detail_info02 dl {
    display: flex;
    align-items: flex-start;
}
.detail_info02 dt {
    margin-right: 1rem;
    padding: 0.2rem 0.4rem;
    border: 1px solid #0099BF;
    width: 6.5rem;
    font-size: 1.2rem;
    text-align: center;
}
@media print, screen and (min-width: 768px) {
    .detail_info02 dt {
        margin-right: 1.5rem;
        width: 8rem;
        font-size: 1.4rem;
    }
}
.detail_info02 dd {
    flex: 1;
    word-break: break-all;
    word-wrap: break-word;
}
@media print, screen and (min-width: 768px) {
    .detail_ambassador > li {
        overflow: hidden;
    }
}
.detail_ambassador > li:not(:last-child) {
    margin-bottom: 5rem;
}
@media print, screen and (min-width: 768px) {
    .detail_ambassador > li:not(:last-child) {
        margin-bottom: 7rem;
    }
}
@media only screen and (max-width: 767px) {
    .detail_ambassador_img {
        margin: 0 auto 2rem auto;
        width: 18rem;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_ambassador_img {
        float: left;
        margin-right: 2.5rem;
        width: 23rem;
    }
}
@media only screen and (max-width: 767px) {
    .detail_ambassador_ttl {
        text-align: center;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_ambassador_ttl.is-sm {
        margin-bottom: 2rem;
    }
}
@media only screen and (max-width: 767px) {
    .detail_ambassador_list {
        margin: 0;
        flex-wrap: nowrap;
    }
}
@media print, screen and (min-width: 768px) {
    .detail_ambassador_list {
        margin: -2rem -1rem !important;
        width: auto;
    }
}
@media only screen and (max-width: 767px) {
    .detail_ambassador_list > li {
        margin: 0;
        padding: 0 0.5rem;
        width: 17.5rem;
    }
}
@media only screen and (max-width: 767px) {
    .detail_ambassador_list_wrap {
        margin: 0 -0.5rem;
        overflow: visible !important;
    }
}