@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: 990px;
    background: url(../img/ts/2508addition/town_map.jpg)no-repeat center center/cover;
    position: relative;
}
.cate_btn_area h2{
    text-align: center;
    font-size: 41px;
    padding-top: 30px;
}
.cate_btn_area p{
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.6;
}
.cate_btn_area p span{
    font-size:18px;
}
.cate_btn_wrap{
    width:100%;
}
.cate_btn_wrap a img:hover{
    opacity: 0.8;
}


@media only screen and (min-width: 1159px){
    .icon_btn{
        width:85px;
        height: 85px;
        border-radius: 15px;
        background-color: #fff;
        display: block;
        position: absolute;
        box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
    }
    .icon_btn:hover{
        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 1);
        transition-duration: 0.2s;
    }
    
    .icon_btn img{
        width:75px;
        margin: 5px;
    }
    .hurusato_btn{
        margin-left: 50%;
        top:460px;
        left:90px;
    }
    .nousuisan_btn{
        margin-left: 50%;
        top:170px;
        left:20px;
    }
    .kokusai_btn{
        margin-left: 50%;
        top:130px;
        left:-300px;
    }
    .chiiki_btn{
        margin-left: 50%;
        top:555px;
        left:240px;
    }
    .kaimono_btn{
        margin-left: 50%;
        top:460px;
        left:-415px;
    }
    .event_btn{
        margin-left: 50%;
        top:155px;
        left:450px;
    }
    .kankyo_btn{
        margin-left: 50%;
        top:440px;
        left:365px;
    }
    .isetsu_btn{
        margin-left: 50%;
        top:580px;
        left:-615px;
    }
    .iryo_btn{
        margin-left: 50%;
        top:710px;
        left:100px;
    }
    .kyouiku_btn{
        margin-left: 50%;
        top:830px;
        left:80px;
    }
    .jichitai_btn{
        margin-left: 50%;
        top:690px;
        left:-190px;
    }
    .saigai_btn{
        margin-left: 50%;
        top:565px;
        left:-170px;
    }
}
@media only screen and (max-width: 1158px){
    .cate_btn_area{
        height: 700px;
        background: url(../img/ts/sec_bg_pc.png)no-repeat center center/cover;
    }
    .cate_btn_area h2{
        color:#fff;
    }
    .cate_btn_area p{
        color:#fff;
    }
    .cate_btn_wrap{
        max-width:800px;
        width:95%;
        margin: 30px auto 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .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: 767px){
    .cate_btn_area{
        height: 600px;
    }
    .cate_btn_area p{
        font-size: 12px;
    }
    .cate_btn_area p span{
        font-size:14px;
    }
    .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{
    width:100%;
    background-color: #fff;
    margin-bottom: 30px;
}
.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 .conte_box{
    border: solid 3px;
    border-color: #FAEE00;
}
#hurusato .conte_box hr{
    background-color: #FAEE00;
}
#nousuisan .conte_box{
    border: solid 3px;
    border-color: #8FC31F;
}
#nousuisan .conte_box hr{
    background-color: #8FC31F;
}
#kokusai .conte_box{
    border: solid 3px;
    border-color: #1BAD55;
}
#kokusai .conte_box hr{
    background-color: #1BAD55;
}
#chiiki .conte_box{
    border: solid 3px;
    border-color: #00B1A9;
}
#chiiki .conte_box hr{
    background-color: #00B1A9;
}
#kaimono .conte_box{
    border: solid 3px;
    border-color: #37A7CA;
}
#kaimono .conte_box hr{
    background-color: #37A7CA;
}
#event .conte_box{
    border: solid 3px;
    border-color: #4F86C3;
}
#event .conte_box hr{
    background-color: #4F86C3;
}
#kankyo .conte_box{
    border: solid 3px;
    border-color: #2ea7e0;
}
#kankyo .conte_box hr{
    background-color:#2ea7e0;
}
#isetsu .conte_box{
    border: solid 3px;
    border-color: #ed798e;
}
#isetsu .conte_box hr{
    background-color:#ed798e;
}
#iryo .conte_box{
    border: solid 3px;
    border-color: #f3981c;
}
#iryo .conte_box hr{
    background-color: #f3981c;
}
#kyouiku .conte_box{
    border: solid 3px;
    border-color: #fac12c;
}
#kyouiku .conte_box hr{
    background-color: #fac12c;
}
#jichitai .conte_box{
    border: solid 3px;
    border-color: #ea5514;
}
#jichitai .conte_box hr{
    background-color: #ea5514;
}
#saigai .conte_box{
    border: solid 3px;
    border-color: #d3a358;
}
#saigai .conte_box hr{
    background-color: #d3a358;
}

.box_inner{
    width:100%;
    padding: 30px 90px 0;/*60→30*/
}
@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:100%;
    }
    .title_image{
        display: block;
    }
    .text_wrap{
        width:100%;
        margin-bottom: 20px;//追加
    }
    .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 .conte_box{
        border: solid 4px #FAEE00;
        border-radius: 20px;
    }
    #nousuisan .conte_box{
        border: solid 4px #8FC31F;
        border-radius: 20px;
    }
    #kokusai .conte_box{
        border: solid 4px #1BAD55;
        border-radius: 20px;
    }
    #chiiki .conte_box{
        border: solid 4px #00B1A9;
        border-radius: 20px;
    }
    #kaimono .conte_box{
        border: solid 4px #37A7CA;
        border-radius: 20px;
    }
    #event .conte_box{
        border: solid 4px #3071b9;
        border-radius: 20px;
    }
    #kankyo .conte_box{
        border: solid 4px #2ea7e0;
        border-radius: 20px;
    }
    #isetsu .conte_box{
        border: solid 4px #ed798e;
        border-radius: 20px;
    }
    #iryo .conte_box{
        border: solid 4px #f3981c;
        border-radius: 20px;
    }
    #kyouiku .conte_box{
        border: solid 4px #fac12c;
        border-radius: 20px;
    }
    #jichitai .conte_box{
        border: solid 4px #ea5514;
        border-radius: 20px;
    }
    #saigai .conte_box{
        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:1560px;
    width:100%;
    margin: 0 auto 30px;
    justify-content: space-between;
}

@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;
  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;
    }
}
@media screen and (max-width: 768px){
    .ts_movie_wrap{
        justify-content: center;
    }
}

.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: 360px;
    margin-right: 0!important;
}
@media only screen and (max-width: 767px) {
  .l-grid__item.-sp-col12_n {
    width: calc(100% - 16px);
  }
}

.c-list.-note>li::before{
  background: none;
    top:1em!important;
}
@media only screen and (max-width: 1040px) and (min-width:768px){
    .c-list.-note>li::before{
        top:0.9em!important;
    }
}

.add_fs09{
    font-size: 0.9em;
}
.add_fs08{
    font-size: 0.8em;
}

/*202508追加*/
.search-area{
    width:1158px;
    margin: 0 auto 30px;
}
.search-area input{
    width:600px;
    height: 40px;
    padding-left: 0.5em;
}
.search-area input::placeholder{
    opacity: 0.5;
}
.search-area input:focus::placeholder{
    color:transparent;
}
.sort_btn{
    width:200px;
    height: 40px;
    text-align: center;
    border:solid 2px #3b499f;
    border-radius: 20px;
    font-weight: bold;
}
.sort_btn:hover{
    background-color: #3b499f;
    color:#fff;
}
.clear_btn{
    width:80px;
    height: 30px;
    text-align: center;
    border: solid 1px #333;
    border-radius: 20px;
    font-size: 12px;
}

.filter{
   width:1158px;
    margin: 10px auto; 
    display: flex;
    flex-wrap: wrap;
}
.filter li {
  cursor: pointer;
    width:185px;
    height: 25px;
    text-align: center;
    border:solid 1.2px #3b499f;
    border-radius: 11px;
    font-size:14px;
    line-height: 25px;
    margin: 0 8px 8px 0;
    font-weight: bold;
}

.filter li.is-active {
  color: #fff;
    background-color: #3b499f;
}
.add_mb50{
    margin-bottom: 50px;
}

@media only screen and (max-width: 1200px){
    .search-area{
        width:90%;
    }
    .search-area input{
        width:53%;
        height: 35px;
    }
    .sort_btn{
        width:25%;
        height:35px;
        font-size: 13px;
    }
    .clear_btn{
        width:19%;
    }
    
    .filter{
        width:90%;
    }
}
@media only screen and (max-width: 767px){
    .filter{
        justify-content: space-between;
    }
    .filter li{
        width:32%;
        margin:0 0 8px;
    }
    .add_mb50{
        margin-bottom: 20px;
    }
}

.category div.conte_box {
  display: none;
}

.category div.conte_box.is-show {
  display: block;
}

.jirei_wrap{
    max-width:1158px;
    width:95%;
    margin: 0 auto;
}
@media only screen and (max-width: 1200px){
    .jirei_wrap{
        max-width: 760px;
    }
}
@media only screen and (max-width: 767px){
    .jirei_wrap{
        max-width: 350px;
    }
}

/*アコーディオン*/
.acco_header{
    display: flex;
    align-items: center;
    padding: 30px 90px;/
}

.cate_icon{
    width:100px;
    margin-right: 20px;
}
.acco_title_wrap{
    display: block;
    width:650px;
}
.acco_title_wrap h3{
    font-size: 34px;
    line-height: 1.2;
}
.tag_list{
    display: flex;
}
.tag_list li{
    width:150px;
    height: 22px;
    text-align: center;
    border:solid 1.2px #dcdcdc;
    border-radius: 11px;
    font-size:12px;
    line-height: 22px;
    margin: 0 8px 0 0;
    font-weight: bold;
}

.i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: #d2d2d2;
  box-sizing: border-box;
  transform-origin: center center;
  transition-duration: 0.2s;
    cursor: pointer;
    margin-left: 30px;
}
.i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}
.i_box.open {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.i_box .one_i:before, .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #333;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  transform-origin: center center;
}
.i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
}
.i_box.open .one_i:before {
  content: none;
}
@media only screen and (max-width: 1200px){
    .acco_header{
        padding: 3vw 3vw ;
    }
    .acco_title_wrap{
        width:530px;
    }
    .i_box{
        margin-left: 0;
    }
    .acco_header img.pc_only{
        display: none
    }
}
@media screen and (max-width: 767px){
    .acco_header{
        padding: 20px;
    }
    
    .acco_title_wrap{
        width:205px;
        padding: 0;
    }
    .acco_title_wrap .pc_only{
        display: none;
    }
    .acco_title_wrap h3{
        font-size: 18px;
        line-height: 26px;
    }
    .cate_icon{
        width:60px;
        margin-right: 10px;
    }
    .i_box{
        margin-left: 0;
    }
}

.acco_body{
    display: none;
    border-top:2px solid #e7e7ea; 
    /*padding: 0 90px 20px;*/
}

.add_padd_body{
    padding: 0 90px 20px;
}

.add_kadai_explain{
    width:100%;
    display: flex;
    align-items: center;
    margin-bottom: 50px;
}

.add_kadai_explain ul{
    font-size: 18px;
    line-height: 26px;
    font-weight: bold;
    padding-left: 1.5em;
}
.add_kadai_explain ul li{
    list-style-type: none;
    position: relative; 
    padding-left: 1.25em;
}
.add_kadai_explain ul li::before{
    border-radius: 50%; /*丸くする*/
    width: 18px; /*点の幅*/
    height: 18px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.2em; /*点の位置*/
    content: "";
}

@media screen and (min-width: 768px) and (max-width: 1200px){
    .add_kadai_explain img{
        width:50%;
    }
    .add_padd_body{
        padding:0 5vw 20px;
    }
}

@media screen and (max-width: 767px){
    .acco_body{
        border-top: none;
        /*padding: 0 20px 20px;*/
    }
    .add_padd_body{
        padding: 0 20px 20px;
    }
    .add_kadai_explain{
        display: block;
        margin-bottom: 20px;
    }
    .add_kadai_explain ul{
        margin-top: 0.5em;
        font-size:16px;
        line-height: 24px;
        padding-left: 0;
    }
    .add_kadai_explain ul li::before{
        width:16px;
        height: 16px;
    }
    .kadai_title{
        margin: 0;
    }
}

#hurusato .add_kadai_explain ul li::before{
     background: #FAEE00; /*点の色*/
}
#nousuisan .add_kadai_explain ul li::before{
     background: #8FC31F; /*点の色*/
}
#kokusai .add_kadai_explain ul li::before{
     background: #1BAD55; /*点の色*/
}
#event .add_kadai_explain ul li::before{
     background: #4F86C3; /*点の色*/
}
#isetsu .add_kadai_explain ul li::before{
     background: #ed798e; /*点の色*/
}
#jichitai .add_kadai_explain ul li::before{
     background: #ea5514; /*点の色*/
}
#saigai .add_kadai_explain ul li::before{
     background: #d3a358; /*点の色*/
}

.sol_flex{
    display: flex;
    width:100%;
    margin-bottom: 20px;
}
.sol_flex img{
    width:50%;
}
.sol_img_wrap ul{
    font-size: 18px;
    line-height: 26px;
    font-weight: bold;
    padding-left: 0;
    margin-bottom: 20px;
}
.sol_img_wrap ul li{
    list-style-type: none;
    position: relative; 
    padding-left: 1.25em;
}
.sol_img_wrap ul li::before{
    border-radius: 50%; /*丸くする*/
    width: 18px; /*点の幅*/
    height: 18px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.3em; /*点の位置*/
    content: "";
}
@media screen and (max-width: 767px){
    .sol_flex{
        display: block;
    }
    .sol_flex img{
        margin: 0;
        width:100%;
        vertical-align: bottom;
    }
    .sol_img_wrap ul{
        font-size: 13px;
        line-height: 19px;
        text-align: justify;
    }
    .sol_img_wrap ul li::before{
        width:10px;
        height: 10px;
        top:0.8em;
    }
}

.b1px{
    border: 1px solid #333;
}

.sol_new_conte{
    width:100%;
    background-color: #fff;
    padding: 30px;
}
.sol_new_conte div{
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.sol_new_conte div img{
    margin-right: 30px;
}
.sol_new_conte section{
    display: flex;
    align-items: flex-start;
    margin-top: 30px;
    justify-content: space-between;
}
.sol_new_conte section p{
    width:440px;
}
.sol_new_conte section img{
    width:370px!important;
}
.w400_100{
    width:400px!important;
}
@media screen and (max-width: 1200px){
    .sol_new_conte section{
        flex-direction: column;
        margin-top: 1em;
    }
    .sol_new_conte section p{
        width:100%;
        /*margin-bottom: 0;*/
    }
    .sol_new_conte section img{
        width:100%!important;
    }
}

@media screen and (max-width: 1158px){
    .w400_100{
        width:50%!important;
    }
}

@media screen and (max-width: 767px){
    .sol_new_conte{
        padding: 1em;
    }
    .sol_new_conte div{
        display: block;
    }
    .sol_new_conte div img{
        margin: 0;
    }
    .w400_100{
        width:100%!important;
    }
    /*.sol_new_conte section{
        display: block;
        margin-top: 1em;
    }*/
    .sol_new_conte section p{
        margin-bottom: 0;
    }
}
.furu_conte_img{
    max-width:460px;
    margin: 0 auto;
}
.furu_conte_img p{
    font-size: 12px;
    margin-bottom: 0!important;
}


.add_jirei_title{
    height: 25px;
}
.add_jirei_title th{
    width:70px;
    height: 25px;
    text-align: center;
    background-color: #8fc31f;
    color: #fff;
    font-weight: bold;
    line-height: 25px;
    font-size:14px;
}
.add_jirei_title td{
    padding-left: 0.5em;
    font-size:22px;
    font-weight: bold;
    line-height: 25px;
}
@media screen and (max-width: 767px){
    .add_jirei_title{
        height:20px;
    }
    .add_jirei_title th{
        width:40px;
        height: 20px;
        font-size: 12px;
        line-height: 20px;
    }
    .add_jirei_title td{
        font-size: 14px;
        line-height: 20px;
    }
}
.repletion{
    text-align: center;
}
.repletion img{
    vertical-align: middle;
}
.mt_clear{
    margin-top: 0!important;
}
.mb1em{
    margin-bottom: 1em;
}
#kokusai .add_kadai_explain{
    align-items: flex-start;
}
.over1200only{
    display: block;
}

.koku_add_block{
    display: block;
    width: 100%;
}
.koku_add_block p{
    text-align: center;
    margin-bottom: 0;
}
.koku_add_block img{
    width:88px!important;
}
.list_new{
    font-size:16px!important;
}
@media screen and (max-width: 1200px){
    #kokusai .add_kadai_explain{
        display: block;
    }
    #kokusai .add_kadai_explain img{
        width:100%;
    }
    .over1200only{
        display: none;
    }
    .koku_add_block{
        margin-top: 0.5em;
    }
    .list_new{
        font-size:14px!important;
    }
}

.back_white{
    background-color:#fff;
    width:100%;
    padding: 0 30px 30px;
}
.back_white p{
    line-height: 1.2;
    padding-top: 0.5em;
}
.flex_image{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.flex_image img{
    max-width:418px;
}
.min_flex{
    display: flex;
    justify-content: space-between;
}
.min_flex hr{
    width:1px;
    height: 250px;
    margin-top: 30px;
}
.sol_one{
    display: block;
    /*border-right: 1px solid #3d62ad;
    padding-right: 18px;*/
}
.one_img{
    text-align: center;
}
.img_two{
    text-align: center;
}
.one_img img{
    max-width:402px;
}
.img_two img{
    max-width:181px;
}
.add_cpr{
    font-size: 10px;
    text-align: right;
}
@media screen and (max-width: 1150px){
    .back_white{
        padding:0 1em 1em;
    }
    .flex_image{
        justify-content: center;
    }
    .flex_image img{
        margin-bottom: 1em;
    }
    .min_flex{
        display: flex;
        flex-direction: column;
    }
    .min_flex hr{
        width:100%;
        height: 1px;
        margin: 5px 0;
    }
    .sol_one{
        margin-bottom: 1em;
    }
    .back_white img{
        margin-top: 0!important;
    }
}
.add_m0{
    margin:0!important;
}
.gif_flex{
    display:flex ;
    margin-top: 30px;
    margin-bottom: 0!important;
    justify-content: space-between;
    flex-wrap: wrap;
}
.gif_flex img{
    width:400px;
    margin-right: 0!important;
}
@media screen and (max-width: 1150px){
    .gif_flex{
        justify-content: center;
        margin-top: 1em;
    }
    .gif_flex img:nth-child(2){
        margin-top: 1em;
    }
}
.add_mt0{
    margin-top: 0!important;
}
.add_pt30{
    padding-top: 30px!important;
}
@media screen and (max-width: 768px){
    .add_pt30{
        padding-top: 10px!important;
    }
}

/*検索トップ*/
.search_top {
  display: none;
  position: fixed;
  bottom: 158px;
  right: 0;
  z-index: 999;
}
.search_top a img{
    width:48px;
}

@media (min-width: 1025px) {
  .search_top a:hover {
    opacity: 0.8;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.24);
  }
}
.add_cap_fs12{
    font-size:12px;
}

@media (min-width: 767px){
    .w264{
        width: 264px;
    }
}
.sp_search_btn{
    margin: 5vw 0 0 0;
}
/*@media screen and (min-width: 767px)and(max-width: 1200px){
    .sol_new_conte section{
        flex-direction: column;
    }
    .sol_new_conte section p{
        width:100%!important;
        margin-bottom: 0;
    }
}*/
.pr1em{
    padding-right: 1em;
}
/*検索入力ズーム回避*/
input[type="text"],
input[type="search"],
textarea,
select:focus {
    font-size: 16px; /* 16px以上に設定 */
}
@media screen and (min-width: 1200px){
    .min1200_only{
        display: block;
    }
}
@media screen and (max-width: 1199px){
    .min1200_only{
        display: none;
    }
}