@charset "UTF-8";


/*2310追加　タウンサポート*/
body{
    margin: 0;
}

/*.ts_main_wrap{
        background: url(../img/ts/TS_main_pc.jpg)no-repeat center center/cover;
        height: 890px;
}

@media only screen and (max-width: 1024px){
  .ts_main_wrap{
        background: url(../img/ts/TS_main_sp.jpg)no-repeat center top/100%;
        height: 0;
        padding-top: 114%;
      position: relative;
    }
}*/

/*↓動画モーダル*/
@media (max-width: 767px){
html.-noscroll{
position: fixed;
}
}

.mv-modal__content {
  background: #fff;
    left: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95vw;
  max-width: 1158px;
    aspect-ratio:16/9;
}

@media only screen and (max-width: 767px) {
  .c-modal__content {
    width: 100vw;
  }
    .mv-modal__content {
        width: 90vw;
        background:none;
        top: 45%;
  }
}

.js-modal__iframe {
  width: 100%;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.js-modal__iframe>iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}


.c-modal__close::before, .c-modal__close::after {
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  background: #0669D7;
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
          transform: rotate(45deg) translate(-50%, -50%);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  position: absolute;
  top: 50%;
  left: 50%;
}

.c-modal__close::after {
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
          transform: rotate(-45deg) translate(-50%, -50%);
}

.c-modal__close:hover::before, .c-modal__close:hover::after {
  background: #fff;
}

@media only screen and (max-width: 767px) {
  /*.js-modal__iframe {
    padding: 8px 16px;
  }*/
    .mv-modal__content{
        aspect-ratio:16/9;
    }
}

.c-movie {
  margin: 0 auto;
}

.c-movie.-max660px {
  max-width: 660px;
}

.c-movie__inner {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.c-movie__caption {
  font-size: 1.4rem;
  margin-top: 0.5em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-movie__caption {
    font-size: 1.2rem;
  }
}

.c-movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/*↑動画モーダル*/

.ts_main_title_pc{
    text-align: center;
}
.ts_main_title_pc img{
    padding-top: 63px;
    width:770px;
    height: auto;
}

.ts_main_title_sp{
    display: none;
}
@media only screen and (max-width: 1024px){
    .ts_main_title_pc{
        position: absolute;
        top:0;
        left: 50%;
        width:700px;
        margin-left: -350px;
    }
}
@media only screen and (max-width: 767px){
    .ts_main_title_pc{
        display: none;
    }
    .ts_main_title_sp{
        display: block;
        text-align: center;
        position: absolute;
        top:0;
        left: 50%;
        width:400px;
        margin-left: -200px;
    }
    .ts_main_title_sp img{
        width:100%;
        height: auto;
        padding: 30px 10px 0;
    }
}
@media only screen and (max-width: 450px){
    .ts_main_title_sp{
        width:100%;
        padding:0 13vw;
        margin-left:-50vw;
    }
}

.ts_main_inner{
    display: block;
    max-width:1800px;
    margin: 0 auto;
    display: block;
    padding: 0 0 0 50px;
}
@media only screen and (max-width: 1024px){
    .ts_main_inner{
        display: none;
    }
}
.ts_main_inner h2{
    color: #fff;
    /*font-size: 57px;*/
    padding-top: 350px;
}
.ts_main_inner h3{
    color:#fff;
    font-size: 17px;
    line-height: 2em;
    font-weight: bold;
    padding-top: 50px;
}
.ts_main_inner p{
    padding-top: 20px;
    padding-right: 10px;
    text-align: right;
}
.sp_copy{
    display: none;
}
@media only screen and (max-width: 1024px){
    .sp_copy{
        display: block;
        width:100%;
    }
    .sp_copy h2{
        text-align: center;
        background-color: #2f348f;
        color: #fff;
        font-size: 40px;
        padding: 10px 0;
    }
    .sp_copy h3{
        text-align: center;
        background-color: #4f5ba8;
        color: #fff;
        font-size: 18px;
        line-height: 2em;
        padding: 10px 0;
    }
}
@media only screen and (max-width: 767px){
    .sp_copy h2{
        font-size: 22px;
        padding: 15px 0;
    }
    .sp_copy h3{
        font-size: 14px;
        line-height: 2em;
        padding: 15px 0;
    }
}

.map_area{
    background: url(../img/ts/TS_bg_pc.jpg)no-repeat center center/cover;
    height: 1080px;
}
.map_area h2{
    text-align: center;
    font-size: 41px;
    padding-top: 70px;
    color:#494949;
}
.map_area_text{
    text-align: center;
    font-size: 15px;
    padding-top: 30px;
    color:#494949;
}
@media only screen and (max-width: 1024px){
    .map_area_text{
        padding-top: 1vw;
    }
}
@media only screen and (max-width: 767px){
    .map_area_text{
        padding-top: 20px;
    }
}
.map_wrap{
    max-width: 1600px;
    margin: 0 auto;
}
@media only screen and (max-width: 1600px){
    .map_area{
        background: url(../img/ts/TS_bg_pc.jpg)no-repeat center top/fit;
        height: 68vw;
    }
    .map_area h2{
        padding-top: 3vw
    }
}
@media only screen and (max-width: 767px){
    .map_area{
        background: url(../img/ts/TS_bg_sp.jpg)no-repeat center center/cover;
        height: 826px;
    }
    .map_area h2{
        font-size: 16.5px;
        padding-top:20px;
    }
    .map_area p{
        font-size: 14px;
    }
}
.pc_only{
    display: block;
}
@media only screen and (max-width: 767px){
    .pc_only{
        display: none;
    }
}
.sp_only{
    display: none;
}
@media only screen and (max-width: 767px){
    .sp_only{
        display: block;
    }
}
.map_sp{
    max-width:375px;
    width:100%;
    margin: 0 auto;
}
.map_sp img{
    width:100%;
}
.map_btn_wrap{
    position: relative;
    max-width:375px;
    width:100%;
        margin:0 auto;
    display: block;
}
.map_btn_wrap a:hover{
    opacity: 0.7;
}
.select_title{
    background-color: #3b499e;
    max-width:350px;
    width:100%;
    margin: 0 auto;
    line-height: 3em;
    height: 3em;
    font-size:15px;
    text-align: center;
    color:#fff;
}
.btn_ho{
    position: absolute;
    top:40px;
    left:218px;
}
.btn_cyubu{
    position: absolute;
    top:110px;
    left:165px;
}
.btn_cyugoku{
    position: absolute;
    top:135px;
    left:90px;
}
.btn_tohoku{
    position: absolute;
    top:140px;
    left:300px;
}
.btn_kanto{
    position: absolute;
    top:215px;
    left:260px;
}
.btn_kinki{
    position: absolute;
    top:230px;
    left:175px;
}
.btn_shikoku{
    position: absolute;
    top:245px;
    left:100px;
}
.btn_kyu_oki{
    position: absolute;
    top:275px;
    left:50px;
}

.result_area{
    width:350px;
    margin: 1em auto 0;
    background-color: rgba(255, 255, 255, 0.85);
    height:130px;
}
.result_area p{
    text-align: center;
    padding-top: 1em;
}
.result_total{
    background-color: rgba(142, 206, 231, 0.85);
    width:100%;
    height: 175px;
    margin-top: 10px;
}
.result_total p{
    text-align: center;
    padding-top: 10px;
}
.cate_btn_area{
    width:100%;
    height: 520px;
    background: url(../img/ts/sec_bg_pc.png)no-repeat center center/cover;
    position: relative;
}
.cate_btn_area h2{
    text-align: center;
    font-size: 41px;
    color:#fff;
    padding-top: 50px;
}
.cate_btn_area p{
    text-align: center;
    padding-top: 20px;
    color:#fff;
}
.cate_btn_wrap{
    width:1158px;
    margin: 30px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.cate_btn_wrap a img:hover{
    opacity: 0.8;
}
.icon_btn{
    width:178px;
    height:126px;
    background-color: #fff;
    display: block;
    border: 2px solid #E7E7EA;
    margin-bottom: 14px;
}
.icon_btn div{
    width:97%;
    height: 97%;
    background-image: linear-gradient(-45deg, #3B499F 10px, transparent 0);
}
.icon_btn img{
    width:82px;
    margin: 22px 48px;
}
@media only screen and (max-width: 1158px){
    .cate_btn_area{
        height: 650px;
    }
    .cate_btn_wrap{
        max-width:800px;
        width:95%;
    }
}
@media only screen and (max-width: 767px){
    .cate_btn_area{
        height: 630px;
    }
    .cate_btn_wrap{
        max-width:350px;
        width:95%;
        margin-top: 20px;
    }
    .icon_btn{
        width:170px;
        height: 68px;
        margin-bottom: 5px;
    }
    .icon_btn img{
        width: 56px;
        margin:6px 54.5px;
    }
    .cate_btn_area h2{
        font-size: 16.5px;
        padding-top:20px;
    }
}
.content_all{
    background-color: #F7F7F8;
    padding: 80px 0;
}
.conte_box{
    max-width:1158px;
    width:95%;
    margin: 0 auto 85px auto;
    background-color: #fff;
}
.conte_box hr{
    width:100%;
    margin-top: 50px;
    border: none;
    height: 3px;
    /*background-color: #F0F0F2;*/
}
/*@media only screen and (max-width: 1250px){
    .conte_box{
        padding: 5vw;
    }
}*/

#hurusato{
    border: solid 3px;
    border-color: #FAEE00;
}
#hurusato hr{
    background-color: #FAEE00;
}
#nousuisan{
    border: solid 3px;
    border-color: #8FC31F;
}
#nousuisan hr{
    background-color: #8FC31F;
}
#kokusai{
    border: solid 3px;
    border-color: #1BAD55;
}
#kokusai hr{
    background-color: #1BAD55;
}
#chiiki{
    border: solid 3px;
    border-color: #00B1A9;
}
#chiiki hr{
    background-color: #00B1A9;
}
#kaimono{
    border: solid 3px;
    border-color: #37A7CA;
}
#kaimono hr{
    background-color: #37A7CA;
}
#event{
    border: solid 3px;
    border-color: #4F86C3;
}
#event hr{
    background-color: #4F86C3;
}
#kankyo{
    border: solid 3px;
    border-color: #2ea7e0;
}
#kankyo hr{
    background-color:#2ea7e0;
}
#isetsu{
    border: solid 3px;
    border-color: #ed798e;
}
#isetsu hr{
    background-color:#ed798e;
}
#iryo{
    border: solid 3px;
    border-color: #f3981c;
}
#iryo hr{
    background-color: #f3981c;
}
#kyouiku{
    border: solid 3px;
    border-color: #fac12c;
}
#kyouiku hr{
    background-color: #fac12c;
}
#jichitai{
    border: solid 3px;
    border-color: #ea5514;
}
#jichitai hr{
    background-color: #ea5514;
}
#saigai{
    border: solid 3px;
    border-color: #d3a358;
}
#saigai hr{
    background-color: #d3a358;
}

.box_inner{
    width:100%;
    padding: 60px 90px 0;
}
@media only screen and (max-width: 1158px){
    .box_inner{
        padding: 5vw 5vw 0;
    }
}
.title_image{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.text_wrap{
    display: block;
    width:380px;
    margin-right: 20px;
}
.text_wrap img{
    width:110px
}
.text_wrap h3{
    font-size: 34px;
    margin-top: 20px;
}
.text_wrap h4{
    font-size:26px;
    line-height: 48px;
    margin-top: 30px;
    text-decoration: underline;
    text-decoration-thickness:8px;
}
.conte_cap{
    text-align: right;
    font-size: 12px;
    margin-top: 0.5em;
}
.conte_exp{
    font-size: 16px;
    line-height: 29px;
    margin: 40px 0 30px;
}
.conte_exp_add{
    font-size: 16px;
    line-height: 29px;
    margin: 40px 0 0;
}
.add_cap{
    font-size: 14.5px;
    line-height: 20px;
    margin: 0 0 30px;
}
.add_cap2{
    font-size: 14.5px;
    line-height: 20px;
    margin: 0 0 30px;
    text-indent: -1em;
    padding-left: 1em;
}
.conte_solution{
    width:100%;
    background-color: #E4EEF8;
    padding-bottom: 25px;
}
.conte_solution ul{
    font-size: 18px;
    margin-top: 20px;
    line-height: 36px;
    font-weight: bold;
    padding-left: 1.5em;
}
.conte_solution ul li{
    list-style-type: none;
    position: relative; 
    padding-left: 1.25em;
}
.conte_solution ul li::before{
    border-radius: 50%; /*丸くする*/
    width: 18px; /*点の幅*/
    height: 18px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.4em; /*点の位置*/
    content: "";
    background: #8992C5; /*点の色*/
}

.solution_title{
    width:159px;
    height: 26px;
    background-color: #3B499F;
    color:#fff;
    text-align: center;
    font-size: 16px;
}
.add_kyouiku_sol{
    width:360px;
}
.w100{
    width:100%!important;
}
#hurusato .text_wrap h4{
    text-decoration-color: #FAEE00;
}
/*#hurusato .conte_solution ul{
    width:650px;
    margin: 0 auto;
}*/
#nousuisan .text_wrap h4{
    text-decoration-color: #8FC31F;
}
/*#nousuisan .conte_solution ul{
    width:510px;
    margin: 0 auto;
}*/
#kokusai .text_wrap h4{
    text-decoration-color: #1BAD55;
}
/*#kokusai .conte_solution ul{
    width:525px;
    margin: 0 auto;
}*/
#chiiki .text_wrap h4{
    text-decoration-color: #00B1A9;
}
/*#chiiki .conte_solution ul{
    width:730px;
    margin: 0 auto;
}*/
@media only screen and (min-width: 768px){
    #chiiki .conte_solution ul{
        padding-right: 1em;
    }
}
.add_sol_ti{
    width:250px;
}
#kaimono .text_wrap h4{
    text-decoration-color: #37A7CA;
}
/*#kaimono .conte_solution ul{
    width:530px;
    margin: 0 auto;
}*/
#event .text_wrap{
    width:100%;
}
#event .text_wrap h4{
    text-decoration-color: #4F86C3;
}
#event .conte_solution ul{
    width:100%;
    margin: 10px auto 0;
    line-height: 24px;
}
#event .conte_solution ul li{
    padding-top: 1em;
}
#event .conte_solution ul li::before{
    top:1.2em;
}
@media only screen and (max-width: 1040px) and (min-width:768px){
    #event .conte_solution ul li::before{
        top:1em;
    }
}
#kankyo .text_wrap h4{
    text-decoration-color: #2ea7e0;
}
/*#kankyo .conte_solution ul{
    width:630px;
    margin: 0 auto;
}*/
#isetsu .text_wrap h4{
    text-decoration-color: #ed798e;
}
/*#isetsu .conte_solution ul{
    width:660px;
    margin: 0 auto;
}*/
#iryo .text_wrap h4{
    text-decoration-color: #f3981c;
}
/*#iryo .conte_solution ul{
    width:250px;
    margin: 0 auto;
}*/
/*.add_ul{
    width:675px!important;
}*/
#kyouiku .text_wrap h4{
    text-decoration-color: #fac12c;
}
/*#kyouiku .conte_solution ul{
    width:720px;
    margin: 0 auto;
}*/
#jichitai .text_wrap h4{
    text-decoration-color: #ea5514;
}
/*#jichitai .conte_solution ul{
    width:450px;
    margin: 0 auto;
}*/
#saigai .text_wrap h4{
    text-decoration-color: #d3a358;
}
/*#saigai .conte_solution ul{
    width:580px;
    margin: 0 auto;
}*/
.conte_img{
    max-width:564px;
    width:100%;
}
.conte_img img{
    width:100%;
    height: auto;
}
.inta_exp{
    font-size: 16px;
    line-height: 29px;
    color:#3B499F;
    margin-bottom: 30px;
}
.inta_box{
    width:100%;
    border:8px solid #F0F0F2;
    display: flex;
    align-items: flex-start;
    padding: 30px;
    justify-content: space-between;
}
.inta_left{
    display: block;
    max-width:425px;
    margin-right: 10px;
}
.inta_left h4{
    font-size: 18px;
}
.inta_left p{
    text-align: justify;
    font-size: 16px;
    line-height: 32px;
    letter-spacing: 1px;
}
.inta_right{
    width:428px;
}
.inta_right img{
    width:100%;
}
.inta_right p{
    font-size: 16px;
    margin-top: 10px;
}
@media only screen and (max-width: 1040px){
    .conte_box{
        max-width:800px;
        width:95%;
    }
    .title_image{
        display: block;
    }
    .text_wrap{
        width:100%;
    }
    .conte_img{
        max-width:100%;
        margin-top:20px;
    }
    /*.conte_solution ul{
        max-width:95%;
        margin-left: 5%;
    }*/
    /*#nousuisan .conte_solution ul{
        max-width:70%;
    }*/
    #event .conte_solution ul{
        max-width:100%;
        line-height: 19px;
        margin-top: 0;
    }
    .inta_box{
        display: block;
    }
    .inta_left{
        max-width:100%;
        margin-right: 0;
    }
    .inta_right{
        margin-top: 20px;
        width: 100%;
    }
}
@media only screen and (max-width: 767px){
    .content_all{
        padding: 20px 0;
    }
    .conte_box{
        max-width:350px;
        margin-bottom: 30px;
        box-shadow: 5px 5px 20px 0 rgba(0, 0, 0, .3);
    }
    #hurusato{
        border: solid 4px #FAEE00;
        border-radius: 20px;
    }
    #nousuisan{
        border: solid 4px #8FC31F;
        border-radius: 20px;
    }
    #kokusai{
        border: solid 4px #1BAD55;
        border-radius: 20px;
    }
    #chiiki{
        border: solid 4px #00B1A9;
        border-radius: 20px;
    }
    #kaimono{
        border: solid 4px #37A7CA;
        border-radius: 20px;
    }
    #event{
        border: solid 4px #3071b9;
        border-radius: 20px;
    }
    #kankyo{
        border: solid 4px #2ea7e0;
        border-radius: 20px;
    }
    #isetsu{
        border: solid 4px #ed798e;
        border-radius: 20px;
    }
    #iryo{
        border: solid 4px #f3981c;
        border-radius: 20px;
    }
    #kyouiku{
        border: solid 4px #fac12c;
        border-radius: 20px;
    }
    #jichitai{
        border: solid 4px #ea5514;
        border-radius: 20px;
    }
    #saigai{
        border: solid 4px #d3a358;
        border-radius: 20px;
    }
    .box_inner{
        /*max-width:310px;*/
        padding: 20px;
    }
    .text_wrap img{
        width:58px;
    }
    .text_wrap h3{
        font-size: 19px;
    }
    .text_wrap h4{
        font-size: 16px;
        margin-top: 15px;
        line-height: 30px;
        text-decoration-thickness:4px;
    }
    .conte_exp, conte_exp_add{
        font-size: 14px;
        line-height: 25px;
        margin: 20px 0;
    }
    .add_cap{
        font-size:13px;
        line-height: 20px;
    }
    .add_cap2{
        font-size:13px;
        line-height: 20px;
    }
    .solution_title{
        font-size:8.5px;
        width:120px;
        height: 19px;
        line-height: 20px;
    }
    .add_kyouiku_sol{
        width:180px;
    }
    .conte_solution{
        padding-bottom: 20px;
    }
    .conte_solution ul{
        /*max-width:80%;*/
        padding: 0 1em;
        font-size: 13px;
        line-height: 19px;
    }
    .conte_solution ul li{
        padding-top: 0.5em
    }
    .conte_solution ul li::before{
        width: 10px; /*点の幅*/
        height: 10px; /*点の高さ*/
        top: 0.8em; /*点の位置*/
    }
    .inta_exp{
        font-size: 14px;
        line-height: 25px;
        margin-bottom: 10px;
    }
    .inta_box{
        border: none;
        padding: 0;
        display: flex;
        flex-flow: column-reverse;
    }
    .inta_left{
        margin-top: 20px;
    }
    .inta_left h3{
        font-size: 17px;
    }
    .inta_left p{
        font-size: 14px;
        line-height: 25px;
        margin-top: 15px;
    }
    .inta_right p{
        font-size: 12px;
        margin-top: 0.25em;
    }
    .conte_box hr{
        margin: 10px auto;
    }
}
@media (min-width: 768px) {
  a:hover .modal-link .modal-link__image > img, .modal-link:hover .modal-link__image > img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  a:hover .modal-link .modal-link__icon::before, .modal-link:hover .modal-link__icon::before {
    opacity: 1;
  }
}
.intro_movie{
    max-width:525px;
    margin: 0 auto;
    padding: 60px 0;
}
.intro_movie p{
    text-align: center;
    margin-top: 20px;
    font-size: 18px;
}
.modal-link__image {
    position: relative;
  overflow: hidden;
}
.modal-link__image > img {
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media only screen and (max-width: 767px){
    .intro_movie{
        padding: 20px;
        max-width: 100%!important;
    }
    .intro_movie p{
        font-size: 12px;
        margin-top: 10px;
    }
}
.sol_inner{
    display: flex;
    max-width:898px;
    width:95%;
    margin: 0 auto;
    justify-content: space-between;
    
}
.sol_inner div{
    width:429px;
    display: block;
}

.sol_inner div p{
    text-align: center;
    font-size: 18px;
    color:#fff;
    background-color: #6C76B7;
}
.sol_inner ul{
    padding-left: 0;
}
@media only screen and (max-width: 1080px){
    .sol_inner{
        display: block;
        width:70%;
    }
    .sol_inner div{
        width:100%;
    }
    .sol_inner div img{
        width:100%;
    }
    .sol_inner div{
        margin-top: 30px;
    }
}
@media only screen and (max-width: 767px){
    .sol_inner{
        width:90%;
    }
    .sol_inner ul{
        width:100%!important;
        padding: 0;
    }
    .sol_inner div p{
       font-size: 13px; 
    }
}
.municipality{
    text-align: center;
    font-size: 26px;
    line-height: 30px;
}
.municipality span{
    font-size:18px;
}
.municipality a{
    color:#3b499f;
    padding-bottom: 2px;
  background: linear-gradient(#3b499f, #3b499f) no-repeat left bottom/0 1px;
  transition: background-size 0.3s;
}
.municipality a::after{
    content: "\e906";
    font-family: 'icomoon';
    font-weight: 400;
    padding-left: 0.25em;
}
@media (min-width: 1025px) {
  .municipality a:hover {
    background-size: 100% 1px;
  }
}
@media  (max-width: 767px){
    .municipality{
        font-size:12.5px;
        line-height: 20px;
    }
    .municipality span{
        font-size:12px;
    }
    .municipality a{
        font-size: 14px;
    }
}
.trademark{
    max-width:1158px;
    width:95%;
    text-align: right;
    margin: 0 auto;
    padding-top: 30px;
    font-size: 14px;
}
@media  (max-width: 767px){
    .trademark{
        font-size: 12px;
        text-align: center;
    }
}

.modal{
    display: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
}


/*
.modal_movie .c-modal__content{
    background: unset;
}


.modal_movie html{
    overflow: hidden;
}

.c-movie__inner{
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-body .js-modal__iframe{
    margin: 0;
    overflow: hidden;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    
}
*/

/*
.eqp-thumbnail-modal ,.eqp-modal-content{
    width: auto !important;
    height: auto !important;
}
*/

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*動画モーダルクローズボタン*/
.mv-modal__close {
  position: absolute;
  bottom: -64px;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-size: 2.4rem;
  background: #fff;
  border: 1px solid #192259;
  color: #192259;
  transition: 0.3s all;
}

.mv-modal__close::before, .mv-modal__close::after {
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  background: #0669D7;
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
          transform: rotate(45deg) translate(-50%, -50%);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  position: absolute;
  top: 50%;
  left: 50%;
}

.mv-modal__close::after {
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
          transform: rotate(-45deg) translate(-50%, -50%);
}

@media only screen and (max-width: 767px) {
  .mv-modal__close {
    width: 40px;
    height: 40px;
    border: 1px solid #fff;
    bottom: inherit;
    right: 0;
    top: -50px;
  }
}

.mv-modal__close:hover {
  background: #192259;
  color: #fff;
}

.mv-modal__close:hover::before, .mv-modal__close:hover::after {
  background: #fff;
}

/*202401 タウンサポートPDF追加
  ----------------------------------------------------------- */
.content_all.-white {
  background-color: #fff;
}

.conte_box.-pamphlet_content{
    max-width:832px;
}

@media only screen and (max-width: 767px) {
  .conte_box.-pamphlet_content {
    box-shadow: none;
      
  }
}

.l-section__inner.-pamphlet_content {
  padding: 0;
}

@media only screen and (max-width: 1024px) {
  .l-section__inner.-pamphlet_content {
    padding: 0 32px;
  }
}

@media only screen and (max-width: 767px) {
  .l-section__inner.-pamphlet_content {
    padding: 0 16px;
  }
    .conte_box.-pamphlet_content{
        max-width: 350px;
    }
}

.conte_box.-pamphlet_content h2 {
  text-align: center;
  font-size: 41px;
  color: #494949;
  margin-bottom: 32px;
  padding-top: 50px;
}

@media only screen and (max-width: 767px) {
  .conte_box.-pamphlet_content h2 {
    margin-bottom: 24px;
    font-size: 16.5px;
    padding-top: 20px;
  }
}

/* padding
  ----------------------------------------------------------- */
.u-pt-0 {
  padding-top: 0 !important;
}

.u-pt-10 {
  padding-top: 10px !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pr-0 {
  padding-right: 0 !important;
}

.u-pl-0 {
  padding-left: 0 !important;
}

.u-p-0 {
  padding: 0 !important;
}

/* 202402 ページ内リンクボタン
  ----------------------------------------------------------- */
.ts_pagelink_wrap {
  position: relative;
}

@media screen and (max-width: 1024px) {
  .ts_pagelink_wrap {
    position: static;
  }
}

.ts_pagelink {
  position: absolute;
  top: 400px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width:100%;
}

@media screen and (max-width: 1024px) {
  .ts_pagelink {
    top: 350px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .ts_pagelink {
    top: 380px;
  }
}

@media screen and (max-width: 450px) {
  .ts_pagelink {
    top: 75%;
  }
}


@media screen and (max-width: 767px) {
.conte_box.-noshadow {
  box-shadow: none;
}
}

.c-btn__link.-square {
  border-radius: 0;
  background-image: linear-gradient(-45deg, #fff 10px, transparent 0);
  border: 8px solid #192259;
  padding: 4px 26px;
  line-height: 1.0;
}

.c-btn__link.-square::after {
    content: "";
}

.-bg_transparent {
  background-color: transparent;
}

/*202409追加*/
.add_conte_top{
    display: flex;
    align-items: center;
}
.add_conte_top img{
    width:110px;
    margin-right: 25px;
}
.add_conte_top h3{
    font-size: 34px;
}
@media screen and (max-width: 767px){
    .add_conte_top{
        display: block;
    }
    .add_conte_top img{
        width:58px;
    }
    .add_conte_top h3{
        font-size: 19px;
        margin-top: 20px;
        line-height: 26px;
    }
}
.kadai_title{
    font-size: 20px;
    text-align: center;
    height: 50px;
    line-height: 50px;
    color: #fff;
    font-weight: bold;
    margin: 20px 0;
}
@media screen and (max-width: 767px){
    .kadai_title{
        font-size: 16px;
        height: 30px;
        line-height: 30px;
        margin-bottom: 0;
    }
}
#hurusato .kadai_title{
    background-color: #FAEE00;
    color:#333;
}
#nousuisan .kadai_title{
    background-color: #8FC31F;
}
#kokusai .kadai_title{
    background-color: #1BAD55;
}
#chiiki .kadai_title{
    background-color:#00B1A9;
}
#kaimono .kadai_title{
    background-color: #37A7CA;
}
#event .kadai_title{
    background-color: #4F86C3;
}
#kankyo .kadai_title{
    background-color: #2ea7e0;
}
#isetsu .kadai_title{
    background-color: #ed798e;
}
#iryo .kadai_title{
    background-color: #f3981c;
}
#kyouiku .kadai_title{
    background-color: #fac12c;
}
#jichitai .kadai_title{
    background-color: #ea5514
}
#saigai .kadai_title{
    background-color: #d3a358;
}
.citation{
    text-align: right;
    font-size: 12px;
}
@media screen and (max-width: 767px){
    .citation{
        font-size: 10px; 
    }
}
.sol_img_wrap{
    padding: 0 27px;
    width: 100%;
    margin-top: 20px;
}
.sol_img_wrap img{
    width: 100%;
}
@media screen and (max-width: 767px){
    .sol_img_wrap{
        padding:0 1em;
    }
    .sol_img_wrap img{
        margin-top: 20px;
    }
}
.add_img_wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px
}
.add_img_wrap img{
    width:470px;
}
@media screen and (max-width: 1200px){
    .add_img_wrap img{
        width:48%;
    }
}
@media screen and (max-width: 767px){
    .add_img_wrap{
        justify-content: space-around;
    }
    .add_img_wrap img{
        width:100%;
    }
}
@media screen and (min-width: 768px){
    .add_lihi ul li{
        line-height: 28px;
    }
    .add_lihi ul li::before{
        top: 0.3em; /*点の位置*/
    }
}

/*sp限定テキスト*/
.only_sp_message{
    display: none;
}
@media screen and (max-width: 1024px){
    .only_sp_message{
        display: grid;
        place-items: center;
        width:100%;
        background-color: #4F5BA9;
        height: 220px;
    }
    .only_sp_message h2{
        text-align: center;
        font-size: 24px;
        color:#fff;
    }
}
@media screen and (max-width: 768px){
    .only_sp_message{
        height: 162px;
    }
    .only_sp_message h2{
        font-size: 14px;
    }
}

/*ページ内リンク追加202410*/
.page_navi{
    position: relative;
    top:-40px;
}
@media screen and (max-width: 1400px){
    .page_navi{
        top:-30px;
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 1200px){
    .page_navi{
        top:0;
        margin-bottom: 60px;
    }
}
.navi_btn_wrap{
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 1200px){
    .navi_btn_wrap{
        margin-right: 0;
    }
}
.navi_01btn, .navi_02btn, .navi_03btn{
    width:250px;
    height:220px;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.2);
}
.navi_01btn{
    background-image: linear-gradient(90deg, #98dcee, #82c8dd);
}
.navi_02btn{
    background-color: #677079;
}
.navi_03btn{
    background-color: #283796;
}
.btn01_inner, .btn02_inner, .btn03_inner{
    width:210px;
    height:180px;
    margin: 20px;
    font-size: 18px;
    font-weight: bold;
    padding-top: 7px;
    line-height: 1em;
    background: #fff;
    text-align: center;
    border: 1px solid #fff;
}
.svg_icon{
    width:90px;
    height: 81px;
}
.arrow_svg{
    width:28px;
    height: auto;
}
.btn01_inner{
    color: #0089A0;
}
.navi_01btn a .btn01_inner{
    transition: 0.3s all;
}
.navi_01btn a .btn01_inner svg{
    transition: 0.3s all;
}
.btn01_inner svg{
    stroke:#0089A0;
}
.navi_01btn a:hover .btn01_inner{
    background: #0089A0;
    color: #fff;
    transition: 0.3s all;
}
.navi_01btn a:hover .btn01_inner svg{
    stroke: #fff;
    transition: 0.3s all;
}
.btn02_inner{
    color: #253545;
}
.navi_02btn a .btn02_inner{
    transition: 0.3s all;
}
.navi_02btn a .btn02_inner svg{
    transition: 0.3s all;
}
.btn02_inner svg{
    fill:#253545;
    stroke:#253545;
}
.navi_02btn a:hover .btn02_inner{
    background: #253545;
    color: #fff;
    transition: 0.3s all;
}
.navi_02btn a:hover .btn02_inner svg{
    stroke: #fff;
    fill:#fff;
    transition: 0.3s all;
}
.btn03_inner{
    color: #3B499F;
}
.navi_03btn a .btn03_inner{
    transition: 0.3s all;
}
.navi_03btn a .btn03_inner svg{
    transition: 0.3s all;
}
.btn03_inner svg{
    stroke:#3B499F;
}
.navi_03btn a:hover .btn03_inner{
    background: #3B499F;
    color: #fff;
    transition: 0.3s all;
}
.navi_03btn a:hover .btn03_inner svg{
    stroke: #fff;
    transition: 0.3s all;
}
.sptab_only{
    display: none;
}
@media screen and (max-width: 1024px){
    .sptab_only{
        display: block;
    }
    .navi_btn_wrap{
        margin-top: 10px;
        
    }
    
}
@media screen and (max-width: 768px){
    .page_navi{
        margin-bottom: 8.5vw;
    }
    .navi_01btn, .navi_02btn, .navi_03btn {
        width: 32%;
        height: auto;
        padding: 2.2vw;
    }
    .btn01_inner, .btn02_inner, .btn03_inner{
        font-size: 13.5px;
        width: auto;
        height: auto;
        margin: 0;
        padding: 1.25vw 0;
        display: grid;
        place-items: center;
        grid-row-gap:0;
        justify-content: center;
        
    }
    .svg_icon{
        width:50px;
        height: 40px;
    }
    .arrow_svg{
        width:20px;
        height: auto;
    }
}

/*タウンサポート動画*/
.ts_movie_area{
    
}
.ts_movie_area h2{
    font-size: 41px;
    color:#494949;
    text-align: center;
    padding-top: 20px;
    margin-bottom: 40px;
}
@media screen and (max-width: 768px){
    .ts_movie_area h2{
        font-size: 16.5px;
        padding-top: 5vw;
        margin-bottom: 5vw;
    }
}
.ts_movie_wrap{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width:1560px;
    margin: 0 auto 20px auto;
}
@media screen and (max-width: 1560px){
    .ts_movie_wrap{
        width:900px;
    }
}
@media screen and (max-width: 1024px){
    .ts_movie_wrap{
        width:768px;
    }
}

.ts_movie_conte{
    width:360px;
    margin-bottom: 40px;
}
.ts_movie_conte p{
    font-size: 15px;
    text-align: center;
    line-height: 1.3;
    padding-top: 0.5em;
}
@media screen and (max-width: 768px){
    .ts_movie_wrap{
        width:100%;
    }
    .ts_movie_conte{
        width:90%;
        margin: 0 auto 5vw auto;
    }
    .ts_movie_conte{
        font-size: 12px;
    }
}

/*クリッカブルマップエリア*/
.new_map_area{
    width:100%;
    padding: 60px 0;
    background-image: linear-gradient(90deg, #d4f4fd, #e9f9fe);
}
.new_map_area h2{
    font-size: 41px;
    color:#494949;
    text-align: center;
    margin-bottom: 20px;
}
.new_map_area p{
    font-size: 16px;
    text-align: center;
    margin-bottom: 40px;
}
.agreement_wrap{
    position: relative;
    width:1000px;
    margin: 0 auto;
}
.click_map_onlypc{
    display: block;
    width:1000px;
    margin: 0 auto;
}
@media screen and (max-width: 1024px){
    .click_map_onlypc{
        display: none;
    }
}
.click_map_onlypc a:hover{
    opacity: 0.5;
}
@media screen and (max-width: 768px){
    .new_map_area h2{
        font-size: 16.5px;
        margin-bottom: 5px;
    }
    .new_map_area p{
        font-size: 13px;
        margin-bottom: 5vw;
    }
}
.search_btn{
    display: block;
    width:290px;
    height: 290px;
    position: absolute;
    bottom:160px;
    right: -40px;
}
a .search_btn{
    transition: 0.3s all;
}
a:hover .search_btn{
    opacity: 0.5;
    transition: 0.3s all;
}
.total_chart{
    position: absolute;
    right: 0px;
    bottom:0px;
    width:515px;
    height: 185px;
    background-color: #fff;
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.2);
}
.total_table{
    width:494px;
    margin: 10px auto 0;
    border-collapse: separate; 
    border-spacing: 5px;
}
.total_table td{
    width:158px;
    text-align: center;
}
.blue_obi td{
    background-color: #3B499F;
    color:#fff;
    font-size: 15px;
    font-weight: bold;
}
.table_date{
    font-size: 12px;
    text-align: right;
    vertical-align:bottom;
}
.table_title{
    font-size:20px;
    font-weight:bold;
    text-align: center;
}
.total_number{
    font-size:51px;
    color:#3B499F;
    font-weight: bold;
}
.total_number span{
    font-size:18px;
}
.total_chart p{
    display: none;
}
.city_list_onlysp{
    display: none;
}
@media screen and (max-width: 1024px){
    .agreement_wrap{
        width:100%;
    }
    .new_map_area{
       padding: 5vw 0; 
    }
    .search_btn{
        display: none;
    }
    .total_chart_warp{
        width:100%;
        padding: 2vw;
        background-color: #8FCEE7;
    }
    .total_chart{
        position: relative;
        top:0;
        width:90%;
        margin: 0 auto;
    }
    .table_title{
        font-size:18px;
    }
    .total_table{
        width:auto;
        padding-top: 2vw;
    }
    .total_number{
        font-size:33px;
    }
    .table_date{
        display: none;
    }
    .total_number span{
        font-size:12px;
    }
    .total_chart p{
        display: block;
        text-align: right;
        font-size: 10px;
        width:90%;
        margin-bottom: 0!important;
    }
    .city_list_onlysp{
        display: block;
        max-width: 770px;
        width:90%;
        margin: 0 auto;
        padding-bottom: 15px;
    }
    .sp_map_btn{
        display: block;
        width:90px;
        height: 40px;
        background-color: #fff;
        font-size: 16px;
        text-align: center;
        line-height: 40px;
        border-radius: 10px;
        box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.1);
        color:#333;
        font-weight: bold;
        margin: 0 5px 5px 0;
    }
    .region_wrap{
        display: flex;
        flex-wrap: wrap;
    }
    
}
@media screen and (max-width: 768px){
    .total_chart{
        max-width:370px;
    }
    .total_table{
        margin: 0 auto;
    }
    .total_chart p{
        width:97%;
    }
    .city_list_onlysp{
        max-width:370px;
    }
    .sp_map_btn{
        width:56px;
        height: 35px;
        background-color: #fff;
        font-size: 14px;
        line-height: 35px;
    }
}

.add_pdl{
    font-weight: bold;
    margin-left: 50px;
}
@media screen and (max-width: 768px){
    .add_pdl{
        margin-left: 30px;
    }
}

.l-grid__item.-col4_n {
  width: calc(50% - 32px);
}
@media only screen and (max-width: 767px) {
  .l-grid__item.-sp-col12_n {
    width: calc(100% - 16px);
  }
}

.c-list.-note>li::before{
  background: none;
}

.add_fs09{
    font-size: 0.9em;
}
.add_fs08{
    font-size: 0.8em;
}