@charset "utf-8";


/* -----------------------------------------------------------
    TOP
-------------------------------------------------------------- */
#top{}

#top .h1-area{
    color: #fff;
    top: calc(100vh - 40px);
}
#top .h1-area h1{
    width: 100%;
    text-align: left;
}

#top .banner-area .policy{
    display: none;
}

@media screen and (max-width: 667px){

    #top{
        display: flex;
        width: 100%;
        flex-direction: column;
    }

    #top .h1-area{
        /*top: calc(100vh - 30px);*/
        position: static;
        color: #333;
        background: #edf3f6;
        order: -1;
    }
}

/* iPhoneのSafari用 */
/*@supports (-webkit-touch-callout: none) {
    #top .h1-area{
        top: calc(100vh - 105px);
    }
}*/


/*    mv-area
-------------------------------------------------------------- */
.mv-area{
    width: 100%;
    height: 100vh;
    background: url("../img/mv-tryangle.png") no-repeat bottom center / 100% auto , url("../img/mv-bg.jpg") no-repeat center / cover;
}

.mv-area > .inner{
    height: 100vh;
    position: relative;
}

.mv-title{
    position: absolute;
    top: calc((100vh - 195px) / 2);
    left: 25px;
}
.mv-title img{
    width: 540px;
}

.mv-message {
    position: absolute;
    /*top: calc((100vh - 500px) / 2);*/
	top: calc((100vh - 600px) / 2);
    left: 25px;
}

.mv-message img{
    width: 575px;
}

.mv-img{
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}
.mv-img img{
    width: auto;
    height: calc(100vh - 100px);
    max-height: 660px;
}


@media screen and (max-width: 667px){

    .mv-area{
        background: url("../img/mv-tryangle-sp.png") no-repeat bottom center / 100% auto , url("../img/mv-bg-sp.jpg") no-repeat center / cover;
        order: -2;
    }

    .mv-title{
        top: auto;
        bottom: 40px;
        left: 20px;
        z-index: 2;
    }
    .mv-title img{
        width: 222px;
    }
    
    .mv-message{
        width: 100%;
        top: auto;
        bottom: 350px;
        left: 20px;
        z-index: 2;
    }
    
    .mv-message img{
        width: 100%;
    }

    .mv-img img{
        width: 263px;
    }
    .mv-img img{
        height: auto;
        max-height: none;
    }
}

/* iPhoneのSafari用 */
@supports (-webkit-touch-callout: none) {
    .mv-area,
    .mv-area > .inner{
        height: -webkit-fill-available;
    }
}


/*    lineadd-area
-------------------------------------------------------------- */
.lineadd-area{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
}

.lineadd-txt{
    color: #00b900;
    font-weight: bold;
    font-size: 2.6rem;
}

.lineadd-btn{
    margin: 0 50px;
}
.lineadd-btn a{
    display: block;
}

.lineadd-qr img{
    width: auto;
    height: 72px;
}

@media screen and (max-width: 667px){

    .lineadd-area{
        display: block;
        text-align: center;
        padding: 30px 0;
        order: 0;
    }

    .lineadd-txt{
        font-size: 2rem;
    }

    .lineadd-btn{
        margin: 15px auto 0;
    }
    .lineadd-btn img{
        width: 160px;
    }
}


/*    chairman-area
-------------------------------------------------------------- */
.chairman-area{
    width: 100%;
    background: url("../img/chairman-bg.png") no-repeat left center / auto 100%;
    padding: 70px 0;
}

.chairman-wrap{
    display: flex;
}
.chairman-wrap > div{
    flex: 1;
}

.chairman-wrap .section-title{
    /*font-size: 2.6rem;*/
    font-size: 3.6rem;
    margin: 0 0 30px;
    line-height: 1.8;
}
.chairman-wrap .section-title .min{
    font-size: 2.8rem;
}
.chairman-wrap .section-title::after{
    display: none;
}

.chairman-wrap .basic-txt{
    line-height: 1.8;
    font-weight: bold;
}

.chairman-sign{
    display: block;
    text-align: right;
    margin: 20px 65px 0 auto;
}
.chairman-sign img{
    vertical-align: middle;
    width: 200px;
}

.chairman-position{
    margin: 0 20px 0 0;
}

@media screen and (max-width: 667px){

    .chairman-area{
        background: none;
        padding: 0;
    }

    .chairman-wrap{
        display: block;
    }
    .chairman-wrap > div{
        background: url("../img/chairman-bg-sp01.png") no-repeat right top / 209px, url("../img/chairman-bg-sp02.png") no-repeat left bottom / 209px;
        padding: 45px 30px 50px;
    }

    .chairman-wrap .section-title{
        font-size: 2.7rem;
        margin: 0 0 20px;
    }
    
    .chairman-wrap .section-title .min{
        font-size: 2.0rem;
    }

    .chairman-wrap .basic-txt{
        display: block;
        font-weight: 500;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    /*.chairman-wrap .basic-txt.is-hidden{
        display: none;
    }*/

    .chairman-sign{
        /*margin: 5px 0 0;*/
        margin: 20px 0 0;
    }
    .chairman-sign img{
        width: 170px;
    }

    .chairman-position{
        margin: 0 10px 0 0;
    }

    /* 続きを読む */
    .click-more{
        display: block;
        width: 240px;
        font: 700 1.6rem / 1 'Noto Sans JP', sans-serif;
        text-align: center;
        border: 1px solid currentColor;
        border-radius: 30px;
        padding: 15px 0;
        margin: 20px auto 0;
        position: relative;
    }
    .click-more::after{
        display: block;
        content: "\f067";
        color: #31BAD6;
        font: 900 1.5rem / 1 "Font Awesome 5 Free";
        position: absolute;
        top: calc((100% - 1em) / 2);
        right: 25px;
    }
}


/*    news-area
-------------------------------------------------------------- */
.news-area{
    display: flex;
    border: 1px solid #0071BE;
    /*position: relative;
    top: 0;*/
	margin-top: 50px;
}

.news-head-title{
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
    background: #0071BE;
    padding: 24px;
}

/* news-wrap */
.news-wrap{
    flex: 1;
    display: flex;
    background: #fff;
    padding: 24px 30px;
}

/* .news-list */
.news-list{
    padding: 0 30px 0 0;
    position: relative;
    overflow: hidden;
}

.news-list a{
    display: flex;
    width: 100%;
}

.news-list .date{
    flex-shrink: 0;
    font: 700 1.7rem / 1 'Lato', sans-serif;
    margin: 0 20px 0 0;
}

.news-list .title{
    width: 735px;
    font-size: 1.7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ticker */
.news-list[role="marquee"] {
	list-style: none;
}
.news-list li[aria-hidden="false"] {
	position: relative;
	left: auto;
	animation-duration: .5s;
	animation-name: slidein;
}
.news-list li[aria-hidden="true"] {
    position: absolute;
    left: 200%;
    width: 100%;
    animation-duration: .5s;
    animation-name: slideout;
}

@keyframes slidein {
  from {
    left: 100%;
  }
  to {
    left: 0%;
  }
}

@keyframes slideout {
  from {
    right: 0%;
  }
  to {
    right: 100%;
  }
}

/* news-btn */
.news-btn{
    flex-shrink: 0;
}
.news-btn a{
    display: block;
    font-size: 1.5rem;
}
.news-btn a::before{
    display: inline-block;
    content: "\f105";
    color: #0071BE;
    font: 900 1.5rem / 1 "Font Awesome 5 Free";
    margin: 0 10px 0 0;
}

@media screen and (max-width: 667px){

    .news-area{
        display: block;
        border: none;
        padding: 20px;
        /*position: static;*/
		margin-top: 20px;
    }

    .news-head-title{
        color: #1B4C9E;
        font: 900 1.8rem / 1 'Noto Sans JP', sans-serif;
        background: none;
        padding: 0 0 15px;
    }

    /* news-wrap */
    .news-wrap{
        display: block;
        padding: 0;
    }

    /* .news-list */
    .news-list{
        padding: 0;
        position: static;
        overflow: initial;
    }

    .news-list li:nth-child(n+2){
        display: none;
    }

    .news-list a{
        display: block;
        width: 100%;
    }

    .news-list .date{
        font-size: 1.3rem;
        margin: 0 0 5px;
    }

    .news-list .title{
        width: 100%;
        font-size: 1.6rem;
        line-height: 1.4;
        overflow: initial;
        white-space: normal;
    }

    /* ticker */
    .news-list li[aria-hidden="false"],
    .news-list li[aria-hidden="true"]{
        position: static;
        animation-name: none;
    }

}


/*    report-area
-------------------------------------------------------------- */
.report-area{
    /*padding: 35px 0 100px;*/
	padding: 35px 0 0;
}

.report-message{
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    margin: 0 0 25px;
    position: relative;
}
.report-message::before,
.report-message::after{
    content: '';
    display: block;
    width: 34px;
    height: 31px;
    background: url("../img/mark_black01.png") no-repeat center / contain;
    position: absolute;
    top: -5px;
}
.report-message::before{
    left: calc(50% - 200px);
}
.report-message::after{
    right: calc(50% - 200px);
    transform: scaleX(-1);
}

.report-area .section-title{
    text-align: center;
    margin: 0 0 45px;
}
.report-area .section-title::after{
    display: none;
}
.report-area .section-title span{
    color: #3087CA;
}

.report-wrap{
    display: flex;
    justify-content: space-between;
}

/*--------------------- .report-left */
.report-left{
    /*width: 800px;*/
	margin: 0 auto;
}

.report-left .btn-more a{
    margin: 60px auto 0;
}

/* .report-list */
.report-list{
	display: flex;
	width: 100%;
    flex-wrap: wrap;
    margin: 0 0 -40px;
}

.report-list li{
	width: calc((100% - (40px * 2)) / 3);
	background: #fff;
    border: 1px solid #CCC;
	margin: 0 40px 40px 0;
	padding: 20px 20px 0;
}
.report-list li:nth-of-type(3),
.report-list li:nth-of-type(6){
    margin: 0 0 40px;
}
.report-list li:nth-of-type(n+7){
	display: none;
}

.report-list a{
	display: block;
}

.report-list .thumb{
    display: flex;
	width: 100%;
    height: 180px;
	justify-content: center;
    align-items: center;
    overflow: hidden;
}
.report-list .thumb img {
    width: auto;
    max-height: 100%;
}

.report-list .txt_area{
	padding: 20px 0;
}

.report-list .cate{
	display: inline-block;
    color: #1B4C9E;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
    border: 1px solid currentColor;
    padding: 4px 12px;
}
.report-list .cate.type1{
    color: #ef5757;
}
.report-list .cate.type2{
    color: #338DCB;
}
.report-list .cate.type3{
    color: #4cb2f1;
}
.report-list .cate.type4{
    color: #516ACC;
}
.report-list .cate.type5{
    color: #1BBB46;
}
.report-list .cate.type6{
    color: #ef881e;
}

.report-list .date{
	font-weight: bold;
    font-family: 'Lato', sans-serif;
	margin: 15px 0 0;
}

.report-list .title {
	line-height: 1.6;
    margin: 10px 0 0;
}

/*--------------------- .report-right*/
.report-right{
    width: 350px;
}

/* .report-covid */
.report-covid a{
    display: block;
    height: 100%;
}

/* .covid-wrap */
.covid-wrap{
    background: #2267b1;
    padding: 0 20px 30px;
}

.covid-wrap > li{
    margin: 0 0 15px;
}
.covid-wrap > li:last-of-type{
    margin: 0;
}

.covid-wrap a{
    display: block;
    color: #fff;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.4;
    background: #ff8546;
    border-radius: 15px;
    padding: 30px 25px;
    position: relative;
}
.covid-wrap a::after{
    display: block;
    content: "\f105";
    color: #fff;
    font: 900 2rem / 1 "Font Awesome 5 Free";
    position: absolute;
    top: calc((100% - 1em) / 2);
    right: 20px;
}

/* .report-category */
/*.report-category{
    margin: 40px 0 0;
}

.report-category-title{
    font: 700 1.8rem / 1 'Noto Sans JP', sans-serif;
}

.report-category-wrap{
    display: flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 20px 0 0;
}
.report-category-wrap > li{
    width: 165px;
    margin: 0 0 20px;
}

.report-category-wrap a{
    display: block;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    border: 1px solid #DDD;
    padding: 23px 0 18px;
}

.report-category-wrap img{
    display: block;
    height: 48px;
    margin: 0 auto 10px;
}

.report-category-wrap .administration a{
    color: #338DCB;
}
.report-category-wrap .independence a{
    color: #33BBCB;
}
.report-category-wrap .senior a{
    color: #516ACC;
}
.report-category-wrap .parent a{
    color: #FF97B6;
}
.report-category-wrap .education a{
    color: #33CB9C;
}*/

@media screen and (max-width: 667px){

    .report-wrap{
        display: block;
    }

    .report-area{
       /*padding: 40px 20px 70px;*/
		padding: 40px 20px 0;
    }

    .report-message{
        font-size: 1.7rem;
        margin: 0 0 10px;
    }
    .report-message::before,
    .report-message::after{
        width: 29px;
        height: 26px;
        top: -5px;
    }
    .report-message::before{
        left: calc((100% - 335px) / 2);
    }
    .report-message::after{
        right: calc((100% - 335px) / 2);
    }

    .report-area .section-title{
        margin: 0 0 25px;
    }

    .report-wrap{
        display: block;
    }

    /* .covid-wrap */
    .covid-wrap{
        padding: 0 20px 20px;
    }

    .covid-wrap > li{
        margin: 0 0 10px;
    }

    .covid-wrap a{
        font-size: 1.8rem;
        border-radius: 10px;
        padding: 10px 20px;
    }

	.covid-bottom{
		padding-bottom: 40px;
	}
	
    /*--------------------- .report-left */
    .report-left{
        width: 100%;
    }

    .report-left .section-title{
        text-align: center;
    }

    .report-left .btn-more a{
        margin: 30px auto 0;
    }

    /* .report-list */
    .report-list{
        display: block;
        margin: 0;
    }

    .report-list li{
        width: 100%;
        border: none;
        border-bottom: 1px solid #CCC;
        margin: 0;
		padding: 0;
    }
    .report-list li:nth-of-type(3),
    .report-list li:nth-of-type(6){
        margin: 0;
    }
    .report-list li:nth-of-type(n+5){
        display: none;
    }

    .report-list a{
        padding: 20px 0 20px 120px;
        position: relative;
    }

    .report-list .thumb{
        width: 100px;
        height: calc(100% - 40px);
        position: absolute;
        top: 20px;
        left: 0;
    }

    .report-list .txt_area{
        padding: 0;
    }

    .report-list .cate{
        font-size: 1.2rem;
    }

    .report-list .date{
        display: inline-block;
        font-size: 1.5rem;
        vertical-align: middle;
        margin: 0 0 0 10px;
    }

    .report-list .title {
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .report-list li:nth-of-type(1){
        border: 1px solid #CCC;
    }
    .report-list li:nth-of-type(1) a{
        padding: 0;
    }
    .report-list li:nth-of-type(1) .thumb{
        width: 100%;
        height: 175px;
        position: static;
    }
    .report-list li:nth-of-type(1) .txt_area{
        padding: 20px;
    }

    /*--------------------- .report-right*/
    .report-right{
        width: 100%;
    }

    /* .report-covid */
    .report-covid img{

    }

    /* .report-category */
    /*.report-category{
        padding: 30px 20px 0;
        margin: 0 -20px;
    }

    .report-category-title{
        display: flex;
        width: 100%;
        align-items: center;
    }
    .report-category-title::before,
    .report-category-title::after{
        content: '';
        height: 1px;
        background: #5A5A5A;
        flex-grow: 1;
    }
    .report-category-title::before{
        margin: 0 15px 0 0 ;
    }
    .report-category-title::after{
        margin: 0 0 0 15px;
    }

    .report-category-wrap > li{
        width: calc((100% - 15px) / 2);
        margin: 0 0 15px;
    }

    .report-category-wrap a{
        font-size: 1.7rem;
        padding: 20px 0 15px;
    }

    .report-category-wrap img{
        width: auto;
        height: 34px;
    }*/
}



/*    policy-area
-------------------------------------------------------------- */
.policy-area{
    width: calc(100% - (50px * 2));
    background: #EDF3F6;
    margin: 0 auto;
}
.policy-area .inner02{
    padding: 180px 0 110px;
    position: relative;
}

.policy-eng-catch{
    font: 600 9rem / 1 'Cormorant Garamond', serif;
    position: absolute;
    top: -70px;
    right: 50px;
    z-index: 1;
}

.policy-catch{
    position: absolute;
    top: 35px;
    right: 0;
    z-index: 1;
}

/* .policy-txt-box */
.policy-txt-box{
    width: 530px;
    margin: 0 0 0 auto;
}

.policy-txt-box .txt02{
    font-size: 2.1rem;
    font-weight: bold;
    font-feature-settings: "palt";
}

.policy-area .btn-more a{
    margin: 35px 0 0;
}


.policy-img{
    width: 800px;
    height: 600px;
    position: absolute;
    left: calc((100% - 1600px) / 2);
    top: 90px;
    z-index: 1;
}

@media screen and (max-width: 667px){
	.policy-area .pc-display-b{
		display: none;
	}

    .policy-area{
        width: 100%;
		margin-top: 50px;
    }
    .policy-area .inner02{
        padding: 60px 40px 40px;
    }

    .policy-eng-catch{
        width: 100%;
        font-size: 4rem;
        text-align: center;
        top: -25px;
        right: 0;
    }

    .policy-catch{
        top: 25px;
        right: 20px;
    }
    .policy-catch img{
        width: 233px;
    }

    /* .policy-txt-box */
    .policy-txt-box{
        width: 100%;
    }

    .policy-txt-box .txt02{
        font-size: 1.8rem;
    }

    .policy-area .btn-more a{
        margin: 25px auto 0;
    }

    .policy-img{
        width: calc(100vw - 20px);
        height: 240px;
        margin: 0 0 30px -40px;
        position: static;
    }
    .policy-img img{
        /*width: auto;*/
		width:auto;
        height: 100%;
        margin: 0 auto 0 0;
    }
}


/*    motto-area
-------------------------------------------------------------- */
.motto-area{
    width: 100%;
    /*height: 540px;*/
	height: 600px;
    background: #00499C;
    /*margin: 40px 0 0;*/
	position: relative;
}

.motto-area .section-title{
    color: #fff;
}

.motto-area > .inner02{
    height: 100%;
    background: url("../img/top-motto-img.jpg") no-repeat right center;
    padding: 70px 0 0 50px;
}

.motto-catch-01{
    color: #fff;
    font-size: 2.0rem;
    line-height: 1.4;
    margin: 30px 0 0;
}

.motto-catch-02{
    color: #fff;
    font-size: 2.0rem;
    line-height: 1.4;
    margin: 15px 0 0;
}

.motto-catch-02 span{
	font-size: 2.2rem;
	font-weight: bold;
}

.motto-catch strong{
    font-weight: 900;
    font-size: 5.5rem;
}

.motto-area .basic-txt{
    color: #fff;
    margin: 20px 0 0 0 ;
}

.motto-eng{
    color: #fff;
    font: 700 1.5rem / 1 'Lato', sans-serif;
    letter-spacing: 0.1em;
    padding: 25px 0 0;
}

.motto-area .btn-more a{
    margin: 50px 0 0;
	
}

@media screen and (max-width: 667px){

    .motto-area{
        /*height: 360px;*/
		height: 100%;
        /*margin: 40px 0 0;*/
		background: none;
    }

    .motto-area > .inner02{
        background: url("../img/top-motto-img-sp.jpg") no-repeat right center / contain;
        padding: 45px 20px 0;

    }

	.motto-area .section-title{
		color: #1B4C9E;
	}
	
    .motto-catch-01{
		color: #000;
		font-size: 1.7rem;
		font-weight: bold;
	}

	.motto-catch-02{
		color: #000;
		font-size: 1.7rem;
		line-height: 1.7;
	}
	
	.motto-catch-02 span{
		font-size: 2.0rem;
	}
	
    .motto-catch strong{
        /*font-size: 2.8rem;*/
		font-size: 2.4rem;
    }

	.motto-area .basic-txt{
		color: #000;
		/*text-shadow: 0 0 5px rgb(27, 25, 25, 0.5) ;*/
	}

    .motto-area .btn-more a {
        /*margin: 20px 0 0;*/
		margin: 0 auto;
    }
}


/*    idea-area
-------------------------------------------------------------- */
.idea-area{
    display: flex;
    flex-direction: row-reverse;
}

/* idea-img-box */
.idea-img-box{
    width: 600px;
    height: 475px;
    /*background: url("../img/top_policy_img.jpg");*/
    position: relative;
}

.idea-img{
    position: absolute;
    top: -28px;
    left: 20px;
    z-index: 2;
}

.idea-area .pc-display img{
	/*width: 460px;*/
	width: 610px;
}

/* idea-txt-box */
.idea-txt-box{
    flex: 1;
    padding: 75px 0 0 80px;
}

.idea-area .section-catch{
    margin: 25px 0 40px;
}

.idea-area .btn-more a{
    margin: 35px auto 0 0;
}

@media screen and (max-width: 667px){

    .idea-area{
        display: block;
        margin: 35px 0 0;
        padding: 0 0 495px;
        position: relative;
    }

    /* idea-img-box */
    .idea-img-box{
        width: calc(100% - 20px);
        height: 236px;
        /*background: url("../img/top_policy_img_sp.jpg") no-repeat center / 100%;*/
    }

    .idea-img{
        top: -150px;
        right: 0;
        left: auto;
    }
    .idea-img img{
        /*width: 200px;*/
		width: 400px;
    }

    /* idea-txt-box */
    .idea-txt-box{
        width: calc(100% - 20px);
        background: #fff;
        padding: 30px 20px 0;
        position: absolute;
        top: 115px;
        left: 20px;
        z-index: 1;
    }

    .idea-area .section-title{
        line-height: 1.4;
        position: relative;
        z-index: 3;
    }
	
    .idea-area .section-catch{
        margin: 20px 0;
    }

    .idea-area .btn-more a{
        margin: 25px auto ;
    }
}


/*    profile-area
-------------------------------------------------------------- */
.profile-area{
    width: 100%;
    background: #EDF3F6;
}

.profile-area > .inner02{
    position: relative;
}

/* profile-txt-box */
.profile-txt-box{
    width: 600px;
    height: 470px;
    background: #fff;
    padding: 85px 0 0 60px;
    margin: 0 0 0 auto;
}

.profile-area .section-catch{
    font-size: 3.6rem;
    margin: 25px 0 35px;
}

.profile-area .btn-more a{
    margin: 0 auto 0 0;
}

/* profile-img */
.profile-img{
    position: absolute;
    z-index: 1;
}

.profile-img.img01{
    top: 70px;
    left: 50px;
}
.profile-img.img02{
    right: 230px;
    bottom: -130px;
}
.profile-img.img03{
    right: -80px;
    bottom: -85px;
}

@media screen and (max-width: 667px){

    .profile-area{
        background: none;
        margin: 225px 0 0;
        position: relative;
    }
    .profile-area::before{
        content: '';
        display: block;
        width: calc(100% - 20px);
        height: 355px;
        background: #EDF3F6;
        position: absolute;
        top: 0;
        left: 0;
    }

    .profile-area > .inner02{
        z-index: 1;
    }

    /* profile-txt-box */
    .profile-txt-box{
        width: 100%;
        height: 355px;
        background: none;
        padding: 30px 0 0;
    }

    .profile-area .section-title,
    .profile-area .section-catch{
        padding-left: 160px;
    }

    .profile-area .section-catch{
        font-size: 2.4rem;
        margin: 20px 0 35px;
    }

    .profile-area .btn-more a{
        margin: 0 auto;
    }

    /* profile-img */
    .profile-img.img01{
        top: -20px;
        left: 0;
    }
    .profile-img.img01 img{
        width: 140px;
    }
    .profile-img.img02{
        right: auto;
        bottom: -55px;
        left: 20px;
    }
    .profile-img.img02 img{
        width: 173px;
    }
    .profile-img.img03{
        right: 0;
        bottom: -75px;
    }
    .profile-img.img03 img{
        width: 165px;
    }
}


/*    sns-area
-------------------------------------------------------------- */
.sns-area{
    width: 100%;
}

.sns-wrap{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 80px 0 50px;
}

.sns-wrap > li{
    width: calc((100% - (40px * 2)) / 3);
    margin: 0 0 40px;
}
.sns-wrap > li.link > a{
    display: flex;
    width: 100%;
    height: 105px;
	margin: 0 0 10px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #BBB;
}

.sns-title{
    font: 700 2rem / 1 'Noto Sans JP', sans-serif;
    letter-spacing: 0.05em;
    text-align: center;
}
a .sns-title{
    font-size: 1.8rem;
}
.sns-title img{
    display: block;
    width: 30px;
    margin: 0 auto 7px;
}
.sns-title .fas,
.sns-title .fab{
    display: block;
    font-size: 3rem;
    margin: 0 auto 7px;
}

.sns-title .fa-pen{
    color: #36BBCB;
}
.sns-title .fa-twitter{
    color: #1DA1F2;
}

.sns-field{
    height: 460px;
    border: 1px solid #BBB;
    overflow-y: scroll;
    margin: 20px 0 0;
}

.sns-field iframe{
    width: 100% !important;
}

/* ameblo-field */
.ameblo-field{
    padding: 10px 20px;
}
.ameblo-field > li{
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
}
.ameblo-field > li:last-of-type{
    border-bottom: none;
}
.ameblo-field .top-date{
    display: block;
    color: #1B4C9E;
    font: 700 1.5rem / 1 'Lato', sans-serif;
}
.ameblo-field a{
    display: block;
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 5px 0 0;
}

/* facebook */
.sns-field.facebook{
    overflow-y: hidden;
}

.facebook ._2p3a{
    width: 100% !important;
    margin: 0;
}

/* 議会中継 */
.sns-wrap > li.link.gikai > a{
    background: url("../img/gikai_banner_bg.jpg") no-repeat center / cover;
}
.sns-wrap > li.link.gikai img{
    width: 238px;
    margin: 0;
}

.sns-wrap > li.link > a.gikai{
    background: url("../img/gikai_banner_bg.jpg") no-repeat center / cover;
}
.sns-wrap > li.link > a.gikai img{
    width: 238px;
    margin: 0;
}

.gikai-txt{
    font-size: 1.4rem;
    line-height: 1.6;
    margin: 20px 0 0;
}

@media screen and (max-width: 667px){

    .sns-wrap{
        padding: 10px 20px 40px;
    }

    .sns-wrap > li{
        width: 100%;
        margin: 30px 0 0;
    }
    .sns-wrap > li.link{
        /*width: calc((100% - 25px) / 2);*/
		width: 100%;
    }
	
	.sns-wrap > li.link > a {
    width: 100%;
    height: 80px;
    margin: 0 0 10px;
	}
	
    .sns-title .fas,
    .sns-title .fab{
        font-size: 2.6rem;
    }

    .sns-field{
        height: 250px;
        background: #fff;
        margin: 15px 0 0;
    }

    /* ameblo-field */
    .ameblo-field > li{
        padding: 15px 0;
    }

    /* 議会中継 */
    .sns-wrap > li.link.gikai{
        width: 100%;
    }
    .sns-wrap > li.link.gikai > a{
        background-image: url("../img/gikai_banner_bg_sp.jpg");
    }
    .gikai-txt {
        margin: 10px 0 0;
    }

}



/*    【2022/10/27】
-------------------------------------------------------------- */
.basic-txt.large {
    font-size: 2.0rem;
    line-height: 1.9;
}

.top-policy-area {
    background: transparent;
    margin: 80px auto 0;
}

.top-policy-area .policy-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 60px;
    align-items: flex-start;
}

.top-policy-area .policy-flex .txt-group {
    width: 620px;
    display: inline-block;
}

.top-policy-area .policy-flex .txt-group .policy-title {
    /*font-size: 2.5rem;*/
	font-size: 2.4rem;
    font-weight: bold;
    padding: 0 0 12px;
    border-bottom: 2px solid #31BAD6;
    margin: 0 0 20px;
}

.top-policy-area .policy-flex .txt-group .catch {
	font-size: 2.2rem;
	font-weight: bold;
	color: #1B4C9E;
	margin: 20px 0 15px;
	position: relative;
	padding: 0 0 0 18px;
}

.top-policy-area .policy-flex .txt-group .catch::before {
	content: "";
	width: 6px;
	height: 24px;
	background: #1B4C9E;
	position: absolute;
	left: 0;
	top: 0;
}

.top-policy-area .policy-flex .txt-group ol {
	list-style: decimal;
	margin: 0 0 15px 20px;
}

.top-policy-area .policy-flex .txt-group ol li {
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: bold;
}

.top-policy-area .policy-flex .txt-group ol li:not(:last-child) {
	margin: 0 0 8px;
}

.top-policy-area .btn-more a {
    padding: 20px 0;
    margin: 20px 0;
}

.top-policy-area .policy-flex .img-group {
	width: 520px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

@media screen and (max-width: 667px){
    .basic-txt.large {
        font-size: 1.9rem;
        line-height: 1.7;
    }
    
    .top-policy-area {
        background: #EEF3F6;
        margin: 0 auto;
        padding: 30px 20px;
    }
    
    .top-policy-area.is-hidden{
        display: none;
    }
    
    .top-policy-area .policy-flex {
        width: 100%;
        margin: 0 0 30px;
        gap: 10px;
    }
    
    .top-policy-area .policy-flex .txt-group {
        width: 100%;
        /*display: contents;*/
    }
    
    .top-policy-area .policy-flex .txt-group .policy-title {
        /*font-size: 2.5rem;*/
		font-size: 2.3rem;
        padding: 0 0 10px;
        margin: 0;
        line-height: 1.4;
        width: 100%;
        order: 1;
    }
    
    .top-policy-area .policy-flex .txt-group .basic-txt {
        order: 3;
    }
	
	.top-policy-area .policy-flex .txt-group .basic-txt.next {
		order: 5;
		padding: 0;
	}
	
	.top-policy-area .policy-flex .txt-group .basic-txt.last {
		order: 8;
	}
    
    .top-policy-area .policy-flex img {
        width: 100%;
        order: 2;
		/*max-height: 280px;*/
		object-fit: cover;
		object-position: top;
    }
    
    .top-policy-area .btn-more {
        width: 100%;
        order: 4;
    }
    
    .top-policy-area .btn-more a {
        padding: 21px 0;
        margin: 5px auto;
    }
	
	.top-policy-area .policy-flex .img-group {
		order: 2;
	}
	
	.top-policy-area .policy-flex .txt-group ol {
		order: 7;
		margin: 0 0 10px 20px;
	}
	
	.top-policy-area .policy-flex .txt-group ol li {
		font-size: 1.7rem;
	}
	
	.top-policy-area .policy-flex .txt-group .catch {
		order: 6;
		margin: 12px 0 5px;
		font-size: 2.0rem;
	}
	
	.top-policy-area .policy-flex .txt-group .catch::before {
		width: 5px;
		height: 20px;
	}

}


/*    【2023.03 選挙用修正】
-------------------------------------------------------------- */

h4{
	line-height: 1.5;
}

.smartcity-img{
	text-align: center;
	margin: 50px 0 30px;
}

.motto-title{
    color: #1B4C9E;
    font-weight: bold;
    font-size: 3.7rem;
    line-height: 1.4;
    margin: 30px 0 0;
}
.motto-title strong{
    font-weight: 900;
    font-size: 7rem;
}

.motto-sub{
    color: #1B4C9E;
    font: 700 1.5rem / 1 'Lato', sans-serif;
    letter-spacing: 0.1em;
    padding: 25px 0 0;
}
.chairman-area .basic-txt{
    color: #000;
    margin: 20px 0 0 0 ;
}

.chairman-area .flex-box{
	display: flex;
	align-items: flex-end;
}

.chairman-area .flex-box .txt-box{
	padding: 0 0 0 100px;
}

.top-policy-area .policy-box01 .txt-group {
    width: 650px;
}

.policy-box01 .policy-box01-flex{
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
}

.policy-box01 .policy-box01-flex .box01-list{
	width:calc((100% - 20px) / 2);
	margin:0 20px 30px 0;
	border: 1px dashed #31BAD6;
	height: 240px;
}

.policy-box01 .policy-box01-flex .box01-list:nth-child(2n){
	margin:0 0 20px 0;
}

.policy-box01 .info-grap-flex{
	display: flex;
}

.policy-box01 .info-grap-flex .list-01{
	flex: 1;
}

.list-01 h3{
	background: #31BAD6;
	color: #fff;
	font-weight: bold;
	display: inline-block;
	padding: 10px;
}

.list-01 .img-padding{
	text-align: center;
	padding: 15px 0 15px 10px;
}

.policy-box01 .info-grap-flex .list-02{
	flex: 2;
}

.policy-box01 .info-grap-flex .txt-01{
	padding: 60px 10px;
}
.policy-box01 .info-grap-flex .txt-02{
	padding: 50px 10px;
}

.policy-box01 .info-grap-flex .txt-03{
	padding: 70px 10px;
}
.policy-box01 .info-grap-flex .txt-04{
	padding: 15px 10px;
}

.policy-box01 .info-grap-flex li{
	width:350px;
}

.policy-box01 .info-grap-flex li:nth-child(2n){
	margin-right: 0;
}

.policy-box01 .info-grap-flex li p{
	text-align: left;
	font-size: 1.6rem;
	line-height: 1.5;
}

.policy-box01 .info-grap-flex li img{
	width: 90%;
}

.motto-txt{
	width: 1200px;
	margin: 0 auto;
	position: absolute;
	top: 60px;
    left: 200px;
}

.policy-area{
	margin-top: 50px;
}

@media screen and (max-width: 667px){
	
	.top-policy-area .policy-flex .img-size{
		max-height: 500px;
	}
	
	.motto-title{
        font-size: 2.0rem;
        margin: 20px 0 0;
    }
    .motto-title strong{
        font-size: 2.8rem;
    }
	
	.info-grap ul{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		padding: 30px 10px 0;
	}
	
	.info-grap ul li{
		width:calc((100% - 10px) / 2);
		margin: 0 10px 10px 0;
	}

	.info-grap ul li:nth-child(2n){
		margin: 0 0 10px 0;
	}

	.info-grap ul li img{
			width: 100%;
	}
	
	.policy-box01 .policy-box01-flex{
		flex-direction: column;
		margin-top: 20px;
		padding: 0;
	}

	.policy-box01 .policy-box01-flex .box01-list{
		width:100%;
		margin:0 20px 20px 0;
		border: none;
		height: auto;
	}

	.policy-box01 .policy-box01-flex .box01-list:nth-child(2n){
		margin:0 0 20px 0;
	}

	.policy-box01-flex .pc-display-b{
		display: none;
	}
	
	.list-01 .img-padding{
		padding: 0;
	}
	
	.policy-box01 .info-grap-flex{
		flex-direction: column;
		text-align: center;
	}
	
	.policy-box01 .info-grap-flex li{
		width:100%;
	}
	
	.policy-box01 .info-grap-flex .list-01{
		padding: 0
	}

	.policy-box01 .info-grap-flex .txt-01,
	.policy-box01 .info-grap-flex .txt-02,
	.policy-box01 .info-grap-flex .txt-03,
	.policy-box01 .info-grap-flex .txt-04{
		padding: 0;
	}
	
	.policy-box01 .info-grap-flex li p{
		font-size: 1.7rem;
		line-height: 1.8;
		margin: 10px 0 0;
	}

	.policy-box01 .info-grap-flex li img{
		width: 100%;
	}
	
	.motto-txt{
		width: 100%;
		position: static;
		padding: 20px 20px 20px 40px;
	}
	
	.motto-sp{
        width: calc(100% - 20px);
        padding: 30px 20px 0;
        position: absolute;
        top: 115px;
        left: 20px;
        z-index: 1;
    }
	
	.digital-img{
		margin: 20px 0 0;
	}
	.smartcity-img{
		margin: 20px 0 20px;
	}
	
	.chairman-area .flex-box{
		display: block;
	}

	.chairman-area .flex-box .txt-box{
		padding: 0 0 0 0px;
	}
	
}

/* -----------------------------
	toplink-area
-------------------------------- */
#top .toplink-area{
	padding: 70px 0 70px;
	margin: 80px auto 0;
	background-color: #EBF8EE;
	position: relative;
}

#top .toplink-area .link-list img{
	box-shadow: 4px 4px 10px rgba(0,0,0,.2);
}

#top .toplink-area.bousai{
	padding: 50px 0 60px;
	margin: 0px auto 0px;
	background-color: #FFFCF0;
	position: relative;
}
#top .toplink-area.bousai .inner{
	 width: 830px;
}
#top .toplink-area.bousai .title{
    font-weight: bold;
    font-size: 3.0rem;
	position: relative;
	padding: .5em .7em .4em;
    border-bottom: 3px solid #FF8226;
	margin: 0 0 30px;
}

#top .toplink-area.bousai .title::before,
#top .toplink-area.bousai .title::after {
    position: absolute;
    left: 30px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

#top .toplink-area.bousai .title::before {
    background-color: #FF8226;
}

#top .toplink-area.bousai .title::after {
    bottom: -11px;
    background-color: #FFFCF0;
}
#top .toplink-area.bousai .link{
	display: flex;
	gap:30px;
}
#top .toplink-area.bousai .link a{
	width: 400px;
}
#top .toplink-area.bousai .link a img{
	width: 400px;
}


@media screen and (max-width: 768px){
	#top .toplink-area{
		margin: 40px auto 0;
		padding: 30px 20px;
	}
	
	#top .toplink-area .link-list img{
		box-shadow: 4px 4px 10px rgba(0,0,0,.2);
		width: 100%;
	}
	
	
	#top .toplink-area.bousai{
		padding: 40px 20px 20px;
		margin: 0px auto 30px;
	}
	
	#top .toplink-area.bousai .inner {
		width: 100%;
		margin: 0 auto;
	}
	
	#top .toplink-area.bousai .title{
		font-size: 2.2rem;
	}

	#top .toplink-area.bousai .link{
		display: block;
	}
	#top .toplink-area.bousai .link a{
		width: 100%;
	}
	#top .toplink-area.bousai .link a img{
		margin: 0 0 20px;
		width: 100%;
	}
}
