@charset "UTF-8";
.sp {
	display: none;
}
@media screen and (max-width: 1500px) {
	.home .main_container {
		margin-left: 5%;
	}
	.home .main_container .left_contents {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
	.headline {
		flex-direction: column;
		align-items: center;
	}
	.headline_list {
		width: 90%;
	}
	.headline .headline_title {
		flex-basis: auto;
		padding-bottom: 20px;
	}
	.headline_content {
		width: 100%;
	}
	body:not(.home) .main_container {
		margin-left: 0;
	}
}

@media screen and (max-width: 1400px) {
	/* スライダー画像は縦最小が決まっていて、それ以上縦長になる場合は横をトリミングする */
	.carousel_photo img {
		object-fit: cover;
		font-family: 'object-fit: cover;';		/*IE対策*/
	}
}
@media screen and (max-width: 1280px) {
	.login_mypage_bottom.flex_start {
		display: block;
	}
	.login_mypage_new {
		border-left: none;
		padding-left: 0;
		margin-top: 16px;
		margin-left: 0;
	}
	.login_mypage_input div:last-of-type {
		margin-right: 0;
	}
}

@media screen and (max-width: 1076px) {
	/*ヘッダー検索窓非表示*/
	.header_sub {
		width: auto;
	}
	.search_result {
		padding: 0;
	}
	#header_pc #tbl_header .search {
		display: none;
	}
	ol.simple {
		margin-left: 0;
	}
	.sub_report .link_area ul {
		margin-left: 20px;
	}
	.main_contents .book_list_box {
		padding-right: 0;
	}
	.top_r table {
		width: 200px;
	}
	/*お問い合わせ*/
	.mw_wp_form th ,
	.mw_wp_form td { width: 100%; display: block;}
	dl.article_content {
		flex-direction: column;
		line-height: 2em;
	}
	dl.article_content > dt {
		text-align: left;
		flex-basis: auto;
	}
	dl.article_content > dd {
		flex-basis: auto;
		padding-left:  0;
	}
}

@media screen and (max-width: 992px) {
	/*
	* header
	*/
	/*
	* headline
	*/
	.headline_list ul li {
		flex-direction: column;
		padding: 16px 8px 16px 8px;
	}
	.headline_content {
		text-align: center;
		margin-bottom: 20px;
		line-height: 1.8em;
	}
	.home .main_container {
		flex-direction: column;
		margin-left: 0;
	}
	.home .main_contents {
		padding-right: 0;
	}
	.home .main_container .right_contents {
		width: 100%;
	}
	/*
	* contents_navi
	*/
	.contents_navi_wrap{
		max-width: 600px;
	}
	.contents_navi_col {
		width: 50%;
		padding: 10px;
	}
	/*
	* 下層ページ
	 */
	.main_contents .h2_wrap {
		padding: 16px 0;
	}
	.main_contents h2 {
		font-size: 26px;
		padding-right: 0;
	}
	body:not(.home) .main_contents h3 {
		padding: 16px 24px;
	}
	body:not(.home) .main_container .right_contents {
		display: none;
	}
	body:not(.home) .main_container .left_contents {
		width: 90%;
	}
	body:not(.home) .main_contents h3 .h3_comment {
		display: block;
		font-size: 18px;
		margin-left: 0;
	}
}

@media screen and (max-width: 768px) {
    /*
    * header
    */
    .hide_rps {
        display: none;
    }
    /*
	* header
	*/
	#header_pc {
		display: none;
	}
	.pagetop {
		display: none !important;
	}
	#pankuzu {
		display: none;
	}
	.navbar-expand-md .navbar-toggler {
		display: inline;
	}
	.topmenu .logo {
		text-align: left;
		margin: 5px 50px 0 20px;
	}
	.topmenu .logo img {
		width: 100%;
		max-width: 343px;
	}
	.topmenu #menubtn {
		position: absolute;
		right: 0;
		top: 0;
		margin: 20px 10px;
	}
	.topmenu #closebtn {
		position: absolute;
		right: 80%;
		top: 20px;
		margin: 10px 10px;
		z-index: 200;
	}
	/* レスポンシブ用メニュー */
    .navmenu_logo {
        display: block;
    }
    #header_menu {
		position: absolute;
		top: 0px;
		right: 0px;
		z-index: 100;
		height: 100vh;
		width: 100%;
		background-color: rgba(0,0,0,0.3);
	}
	.header ul.menu {
		padding-inline-start: 0px;
		margin-block-start: 0px;
		background-color: #fff;
		margin: 0px;
		width: 80%;
		height: 100%;
		overflow-y: auto;
		float: right;
		padding: 0;
	}
	.header .navmenu_logo img {
		width: 100%;
		max-width: 343px;
		padding: 15px 10px 10px 10px;
	}
    #topmenu_area{
        display: block;
    }
	.header ul.menu >li {
		width: 100%;
		border-bottom: solid 1px #B3B3B3;
		text-align: left;
		overflow: hidden;
		background-repeat: no-repeat;
		padding: 0;
	}
	.header ul.menu >li.cate {
		background-image: url(../images2/menu_arrow_down.png);
		background-position: bottom 50% right 20px;
	}
	.header ul.menu >li.cate >a {
		color: #313131;
        text-decoration: none;
        padding: 20px;
        height: auto;
        display: inline-block;
		border: none;
        font-size: 14px;
	}
	.header ul.menu >li.cate_opened {
		background-image: url(../images2/menu_arrow_up.png);
		background-position: top 25px right 20px;
	}
	.header ul.menu >li.cate_opened span {
		display: inline-block;
		padding-bottom: 20px;
	}
	.header ul.menu >li.nocate {
		background-image: url(../images2/menu_arrow_down.png);
		background-position: bottom 50% right 20px;
		padding: 20px 0;
	}
	.header ul.menu >li.nocate a{
		margin-left: 20px;
		color: #313131;
		text-decoration: none;
		width: 100%;
        font-size: 14px;
	}
	.header ul.menu > li ul {
		/*border-top: solid 1px #B3B3B3;*/
		background-color: #F2F2F2;
        padding: 0 10px;
    }
	.header ul.menu > li ul li {
		border-top: 1px solid #b3b3b3;
	}
	.header ul.menu > li ul li a {
		color: #313131;
		text-decoration: none;
		width: 100%;
		display: inline-block;
        padding: 20px;
        border: none;
        height: auto;
		font-size: 14px;
	}
	.header ul.menu > li ul li:first-child {
		border-top: none;
	}
	/*
	* carousel
	*/
	.carousel_box {
		width: 100%;
	}
	#carousel_side {
		width: 100%;
		background-color: #403838;
		position: relative;
		height: auto;
		min-height: auto;
		writing-mode: horizontal-tb;
		padding: 6% 0;
	}
	.carousel_side1 {
		font-size: clamp(36px,6.8vw,52px);
		white-space: nowrap;
		width: 80%;
		position: relative;
		display: inline-block;
		margin: 0 auto;
		line-height: 1.8em;
		letter-spacing: .1em;
	}
	.carousel_side2 {
		font-size: clamp(13px,3.3vw,26px);
		width: 80%;
		margin: 0 auto;
		padding-top: 30px;
		padding-right: 0;
	}
	/*
	* login_mypage
	*/
	.login_mypage_top.flex_start {
		display: block;
	}
	.forgot_password {
		padding-left: 0;
		border-left: none;
	}
	.login_mypage_input.flex_start {
		display: block;
	}
	.login_mypage_input div {
		width: 100%;
		max-width: 100%;
		margin-bottom: 16px;
		margin-right: 0;
	}
	.login_mypage_new a {
		width: 100%;
	}
	/*
	* news
	*/
	#news {
		margin: auto;
		padding-right: 0;
	}
	#news_bnr {
		position: static;
		margin-top: 60px;
        overflow: hidden;
	}
	#news #index_news h3 {
		text-align: center;
	}
	#news_title {
		display: block;
		margin-bottom: 40px;
	}
	#news #index_news .news_title_img {
		width: 100%;
		text-align: center;
		padding-bottom: 30px;
	}
	#news #index_news .news_title_img img {
		width: 34px;
		height: 34px;
		margin: 0;
	}
	.main_contents.main_prog .btn_pdf {
		width:100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.main_contents.main_prog .yoko_hyo th {
		display: none;
	}
	.main_contents.main_prog .yoko_hyo td {
		display: block;
		width: 100% !important;
		padding: 20px 30px;
		border-top: none;
        height:auto;
	}
	.main_contents.main_prog .yoko_hyo td .title{
		color: #808080;
		background-color: #f2f2f2;
		border-top: solid 1px #cccccc;
		border-bottom: solid 1px #cccccc;
	}
	.main_contents.main_prog .yoko_hyo td.rps_title {
		display: block;
		padding: 10px 30px;
		text-align: center;
		background-color: #f2f2f2;
	}
	.main_contents.main_prog .yoko_hyo td.rps_border_top {
		border-top: solid 1px #ccc;
	}
	.main_contents h6 {
		padding: 0 30px;
	}
	.main_contents.main_qa img.left {
		float: none !important;
		margin: 0 auto;
		width: 30%;
		max-width: 168px;
		display: block;
	}
	.main_contents .btn_link {
		width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.sub_report .img_area img{
		width: 100%;
		height: auto !important;
		margin: 10px 0px;
	}
	.report_sub_page h6 {
		padding: 15px 30px;
	}
	.report_sub_page dl.report dt , .report_sub_page dl.report dd {
		padding-right: 30px;
	}
	.report_sub_page dl.report dd::after {
		width: 100%;
		position: static;
		background-position:center;
	}
	.main_contents.main_project .midashi {
		display: none;
	}
	.main_contents.main_project td {
		padding-left: 30px;
		padding-right: 30px;
		text-align: center;
	}
	.main_contents.main_project td.rps_title {
		display: block;
		padding: 10px 30px;
		text-align: center;
		background-color: #f2f2f2;
	}
	.main_contents.main_project tr td:first-child ,
	.main_contents.main_project tr td.rps_mt20 {
		margin-top: 20px;
	}
	.main_project .total_money h3 {
		padding-left: 15px;
		padding-right: 15px;
	}
	/*
	* side
	*/
	#side {
		width: 100%;
        padding: 0;
	}
	#side .btn {
		display: inline-block;
		color: #FFF !important;
		text-align: center;
	}
    #side .side_link_wrap {
        padding: 0px;
    }
    #side ul.side_link li a{
        padding-left: 30px;
        padding-right: 30px;
        background-image: url(../images2/bg_li.png);
        background-repeat: no-repeat;
        background-position: center right 30px;
        font-weight: bold;
		border-bottom: solid 2px #808080;
    }
    #side ul.side_link li a span{
		border-bottom: none;
	}
    #side ul.side_link li.current a{
		border-bottom: solid 2px #D94040;
	}
    #side ul.side_link li.current a span{
		border-bottom: none;
	}
    #side ul.side_link li.side_link_top a span{
		border-bottom: none;
	}
	/*
	* login_form
	*/
	.login_form_input div {
		flex-basis: 47.5%;
	}
	.btn_login {
		position: static;
		width: 100%;
		max-width: 100%;
	}
	.btn_login a {
		padding: 20px;
	}
	/*
	* バナー
	*/
	div.gak_bnr {
		padding: 60px 0;
	}
	div.gak_bnr ul.sidebar_banner {
		flex-direction: column;
	}
    .box {
        padding-bottom: 60px;
    }
	.footer .rapper {
		display: block;
		padding: 0 5%;
		line-height: 1.8em;
	}
	.text-right {
		text-align: center!important;
	}
	.footer .rapper .left {
		display: none;
	}
	.pc {
		display: none;
	}
	.sp {
		display: inline;
	}
	/*
	* 下層ページ
	 */
	body:not(.home) .main_contents h3 {
		line-height: 1.5em;
	}
	.main_contents .table_list {
		border-left: solid 1px #808080;
	}
	.main_contents .table_list li {
		display: block;
	}
	.main_contents .table_list li .list_name {
		border-right: solid 1px #808080;
		border-top: solid 1px #808080;
	}
	.main_contents .flex_wrap {
		flex-direction: column-reverse;
		text-align: center;
	}
	.main_contents .flex_wrap .right {
		margin-bottom: 20px;
	}
	.v_table_list:first-of-type {
		display: none;
	}
	.v_table_list {
		flex-direction: column;
	}
	.v_table_list:last-of-type {
		border-bottom: solid 1px #808080;
	}
	ul.v_table_list:not(:first-of-type) li {
		border-bottom: none;
		text-align: left;
	}
	.v_table_list li:first-of-type {
		border-top: solid 1px #808080;
	}
	ul.v_table_list:first-of-type li,
	ul.v_table_list:not(:first-of-type) li:not(:first-of-type) {
		justify-content: flex-start;
	}
	ul.v_table_list li:not(:first-of-type) {
		padding: 0 0 20px 30px;
	}
	.bottom_line {
		align-items: flex-start;
		height: auto;
		justify-content:flex-start;
		border-bottom: none!important;
	}
	.qa .flex_wrap_start .left:has( img),
	.qa .box img {
		display: none;
	}
	ul.qa {
		padding-left: 0;
	}
	.main.qa h4 {
		text-align: center;
	}
	.main.qa h4 span {
		display: block;
		margin-bottom: 10px;
		margin-right: 0;
		border-left: none;
	}
	.main.qa div.flex_wrap_start:not(:last-of-type) {
		border-bottom: none;
	}
	.main.qa div.flex_wrap_start:not(:last-of-type)::after{
		display: none;
	}
	.qa .table_detail dl {
		border: none;
		margin-bottom: 0;
		padding-bottom: 20px;
	}
	.qa .table_detail dt {
		border-bottom: none;
		background-color: #D94040;
		padding-left: 16px;
	}
	.q_symbol {
		background-color: transparent;
		padding-left: 0;
		color: #fff;
	}
	.q_content {
		color: #fff;
		padding-left: 0;
	}
	.qa .table_detail dd {
		padding-left: 16px;
		padding-top: 20px;
		padding-right: 16px;
		display: block;
	}
	.a_symbol {
		text-align: left;
	}
	.a_content {
		padding-left: 0;
	}
}

@media screen and (max-width: 480px) {

	.carousel_side1 {
		font-size: clamp(30px,7.5vw,36px);
		width: 85%;
		letter-spacing: 0;
	}
	.carousel_side2 {
		width: 85%;
	}
	/*
	* contents_navi
	*/
	.contents_navi_box .title1 {
		font-size: 110%;
		padding-bottom: 0;
	}
	.contents_navi_box .explain_en1 {
		display: none;
	}
	.contents_navi_box .title2 {
		display: none;
	}
	.contents_navi_box .explain_en2 {
		font-size: 110%;
		padding-top: 15%;
	}
	.main_contents.main_qa tr.q th {
		text-align: left;
	}
	.main_contents.main_qa tr.a th {
		text-align: left;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	} 
	.main_contents.main_qa tr.a td {
		padding-top: 0px !important;
	}
	/*
	* .contents_navi
	 */
	.contents_navi_col {
		width: 100%;
	}
	.contents_navi_box {
		padding-bottom: 60%;
	}
	.contents_navi_box .title1,
	.contents_navi_box .explain_en2 {
		padding-top: 5%;
	}
	/*
	* side
	*/
	.main_contents.main_qa h4 span{
		margin-right: 0;
	}
	.main_contents.main_qa h4 span::after{
		content: "";
		display: block;
		height: 10px;
	}
	/*
	* prog
	*/
	.num.caution.flex_wrap_start dt {
		flex-shrink: 0;
	}
}