.sp, .sp-show {
	display: none;
}

@media screen and (max-width: 640px) {
#wrapper {
	min-width: 100%;
}
.container {
	width: 100%;
	padding: 0 3%;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
/*header*/
#header {
	height: 300px;
	background: url(../images/idx_main_bg.jpg) center 0 repeat-x;
	background-size: auto 100%;
}
#header h1 {
	font-size: 12px;
}
/*Gnavi*/
#gnavi .top-menu {
	width: 100%;
}
#gnavi .top-menu li {
	width: 30%;
}
#gnavi .top-menu li.pc {
	display: none;
}
#gnavi .top-menu li.sp {
	display: flex;
	width: 40%;
}
#gnavi .top-menu li a {
	font-size: 3.5vw;
	padding: 10px 0;
}
#gnavi .top-menu li.sp a {
	background: #203970;
	font-size: 4vw;
}
#gnavi .bellow-menu > li > a:hover, #gnavi .bellow-menu > li:hover > a {
	background: #fff;
	color: #222;
}
#gnavi .top-menu li a:hover span.menu-off {
	display: block;
}
#gnavi .top-menu li a:hover span.menu-on {
	display: none;
}
#gnavi .g-bellow {
	border-top: none;
	border-bottom: none;
	width: 100%;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 100px;
	overflow: auto;
	height: calc(100% - 100px);
	display: none;
}
#gnavi .bellow-menu {
	width: 100%;
	display: block;
}
#gnavi .bellow-menu > li {
	width: 100%;
}
#gnavi .bellow-menu > li:nth-child(3) {
	width: 100%;
}
#gnavi .bellow-menu > li:nth-child(4) {
	width: 100%;
}
#gnavi .bellow-menu > li > a {
	font-size: 16px;
	padding: 15px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}
#gnavi .bellow-menu > li > a:after {
	display: none;
}
#gnavi .bellow-menu > li > a span.menu-off {
	display: none;
}
#gnavi .bellow-menu > li > a span.menu-on {
	display: block;
}
#gnavi .bellow-menu > li.over > a:after {
	content: '';
	display: block;
	position: absolute;
	right: 15px;
	top: calc(50% - 2px);
	border-top: 5px solid #1c2945;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	transform: rotate(0);
	background: none;
	width: auto;
	height: auto;
}
#gnavi .bellow-menu > li.over.active a:after {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	transform: rotate(180deg);
}
#gnavi .sub-menu {
	display: none;
	width: 100%;
	position: static;
}
#gnavi .sub-menu.two-column {
	width: 100%;
}
#gnavi .sub-menu.two-column li ul {
	width: 100%;
}
#gnavi .sub-menu a {
	color: #fff;
	font-size: 16px;
	background: rgba(32,57,112,0.8);
	padding: 15px;
}
/* MENU-ICON */
.menu-icon {
	position: fixed;
	z-index: 9999;
	top: 35px;
	right: 3%;
	width: 50px;
	height: 50px;
	box-sizing: border-box;
	background: #fff;
	text-align: center;
	padding: 16px 7px 0;
	font-size: 10px;
	font-weight: bold;
}
.menu-icon span {
	display: block;
	margin: 0 auto 13px;
	width: 34px;
	height: 3px;
	background-color: #222;
	-webkit-transition-duration: 0;
	-moz-transition-duration: 0;
	-ms-transition-duration: 0;
	-o-transition-duration: 0;
	transition-duration: 0;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-ms-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
.menu-icon span::after, .menu-icon span::before {
	display: block;
	content: '';
	position: absolute;
	width: 34px;
	height: 3px;
	background-color: #222;
	-webkit-transition-property: margin, -webkit-transform;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-delay: 0.2s, 0;
	-moz-transition-delay: 0.2s, 0;
	-ms-transition-delay: 0.2s, 0;
	-o-transition-delay: 0.2s, 0;
	transition-delay: 0.2s, 0;
}
.menu-icon span::before {
	margin-top: -8px;
}
.menu-icon span::after {
	margin-top: 8px;
}
.menu-icon.active span {
	background-color: transparent;
}
.menu-icon.active span::before, .menu-icon.active span::after {
	margin-top: 0px;
	-webkit-transition-delay: 0, 0.2s;
	-moz-transition-delay: 0, 0.2s;
	-ms-transition-delay: 0, 0.2s;
	-o-transition-delay: 0, 0.2s;
	transition-delay: 0, 0.2s;
}
.menu-icon.active span::before {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.menu-icon.active span::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/*Mainvisual*/
#index #mainvisual h2 {
	bottom: 40%;
	width: 80%;
	max-width: 500px;
	padding: 15px 10%;
	text-align: center;
}
#index .idx-main-txt {
	font-size: 2vw;
	width: 100%;
	text-align: center;
	bottom: 32%;
}
/*box01*/
.box01 {
	background: #f5f8ff url(../images/box01_bg.jpg) 0 center no-repeat;
	background-size: auto 100%;
	padding: 30px 0;
}
.box01-ctn {
	width: 80%;
}
.box01 h3 {
	font-size: 5vw;
	margin-bottom: 5%;
}
.box01 h3:first-letter {
	color: #203970;
	font-size: 7vw;
}
.box01-txt {
	font-size: 12px;
}
.box01-btn a {
	font-size: 14px;
	width: 80%;
	max-width: 300px;
	padding: 10px 5px;
}
/*box02*/
.box02 {
	background: #fff;
	padding: 20px 0;
}
.box02-ctn {
	width: 94%;
}
.box02-ctn li {
	width: 48%;
	margin-right: 4%;
}
.box02-ctn li:last-child {
	margin-top: 0;
}
.box02-btn a {
	font-size: 16px;
}
/*box03*/
.box03 {
	padding: 20px 0;
}
.box03:after {
	display: none;
}
.box03 h3 {
	font-size: 14px;
	margin-bottom: 5%;
}
.box03 h3 span.h3-en {
	font-size: 30px;
}
.box03-ctn {
	display: flex;
	flex-wrap: wrap;
}
.box03-ctn li {
	width: 50%;
}
.box03-ctn li:nth-child(2n) {
	margin-left: auto;
}
.box03-txt {
	font-size: 4vw;
}
/*box04*/
.box04 {
	padding: 20px 0 0;
}
.box04 h3 {
	font-size: 14px;
	margin-bottom: 7%;
}
.box04 h3 span.h3-en {
	font-size: 30px;
}
.box04-ctn {
	width: 100%;
	box-sizing: border-box;
	padding: 0 3%;
}
.box04-ctn li.b04-i01 {
	width: 100%;
	margin-bottom: 2%;
}
.box04-ctn li.b04-i02, .box04-ctn li.b04-i03, .box04-ctn li.b04-i04, .box04-ctn li.b04-i05 {
	width: 49%;
}
.box04-ctn li.b04-i02, .box04-ctn li.b04-i03 {
	margin-bottom: 2%;
}
.box04-ctn li.b04-i02, .box04-ctn li.b04-i04 {
	margin-right: 2%;
}
.box04-ctn li a {
	padding: 15px 3%;
}
.box04-ttl {
	font-size: 3.4vw;
	margin-bottom: 3%;
}
.box04-txt {
	font-size: 2.7vw;
}
/*box05*/
.box05 {
	padding: 30px 0;
}
.box05 h3 {
	font-size: 14px;
	margin-bottom: 7%;
}
.box05 h3 span.h3-en {
	font-size: 30px;
}
.box05-ctn {
	max-height: 150px;
	margin-bottom: 10%;
}
.box05-info li {
	flex-wrap: wrap;
	font-size: 14px;
}
.box05-info li .date {
	width: 100%;
	margin-right: 0;
	margin-bottom: 5px;
}
.box05-info li .title {
	width: 70%;
	margin-right: 0;
	margin-bottom: 5px;
}
.box05-info li a {
	width: 26%;
	text-align: right;
}
.box05-btn a {
	font-size: 14px;
	max-width: 248px;
	width: 100%;
}
/*box06*/
.box06 {
	padding: 30px 0;
}
.box06 h3 {
	font-size: 14px;
	margin-bottom: 8%;
}
.box06 h3 span.h3-en {
	font-size: 30px;
}
.box06-ctn {
	justify-content: flex-start;
	flex-wrap: wrap;
}
.box06-ctn li {
	margin-bottom: 2%;
	margin-right: 2%;
	width: 49%;
}
.box06-ctn li:nth-child(2n) {
	margin-right: 0;
}
.box06-ctn li a {
	width: 100%;
	padding: 10px 3% 20px;
}
.box06-img img {
	width: 100px;
}
.box06-ttl {
	font-size: 18px;
}
.box06-txt {
	font-size: 14px;
}
/*footer*/
#totop {
	right: 10px;
}
.f-map {
	height: 250px;
}
.f-copy {
	font-size: 10px;
}
.sp-contact {
	display: flex;
	position: static;
	bottom: -100%;
	width: 100%;
	-webkit-transition: bottom 0.5s ease;
	-moz-transition: bottom 0.5s ease;
	transition: bottom 0.5s ease;
}
.sp-contact.fixed {
	position: fixed;
	bottom: 0;
	z-index: 99;
}
.sp-contact li {
	width: 30%;
}
.sp-contact li:nth-child(2) {
	width: 40%;
}
.sp-contact li a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 10px 0;
	font-size: 3.5vw;
	background: #1c2945;
	text-align: center;
	width: 100%;
	letter-spacing: 0.5px;
}
.sp-contact li:nth-child(2) a {
	font-size: 4vw;
	background: #203970;
}
.f_menu ul, .f_menu dl {
	float: none;
	width: 100%;
}
	.f_menu a {
		display: block;
		background:url(../images/footer_ul.png) no-repeat 0 13px;
	}
	.f_menu dl {
		padding: 15px 0;
	}
/*under*/
.under #header {
	height: 200px;
}
.under #content {
	width: 100%;
	padding: 0 3%;
	box-sizing: border-box;
}
.under h2 {
	font-size: 22px;
	height: 200px;
}
.under h2 img {
	max-width: 280px;
}
.under #content h3 {
	font-size: 24px;
}
.under h4 {
	font-size: 20px;
}
.under h5 {
	font-size: 18px;
}
.image-l, .image-r {
	width: 100%;
	text-align: center;
	float: none;
	margin: 0 0 15px;
}
.topic-path {
	margin: 0 0 25px;
}
.bnr-thrcol li, .bnr-thrcol li:last-child {
	width: 100%;
	margin: 0 auto 20px;
}
.bnr-twcol li {
	width: 100%;
	float: left;
	margin: 0 auto 20px;
}
.blog-box .image-l img {
	max-width: 100%;
}
.about-img {
	margin-bottom: 10px;
}
.about-img img {
	width: calc(50% - 10px);
}
/*table scroll*/
.sp-show {
	font-size: 12px;
	font-weight: bold;
	color: #203970;
}
.tbl-scroll {
	width: 100%;
	overflow: auto;
}
.tbl-scroll > table {
	width: 640px;
}
/**/
.graf-warp01,  .graf-warp02 {
	display: block;
	padding: 20px 0;
}
.graf-warp01 >* {
	width: 100%;
}
.chart1 dl {
	font-size: 20px;
	width: 48%;
}
.chart1 dl.txt_color01 {
	border-bottom: none;
	padding-bottom: 0;
	border-right: 1px solid #e5e5e5;
}
.chart1,  .chart3 {
	border-bottom: 1px solid #e5e5e5;
	margin-bottom: 30px;
	padding-bottom: 20px;
}
.chart1 dt {
	font-size: 20px;
}
.chart2:before {
	display: none;
}
.chart1-graf,  .chart2-graf,  .chart3-graf, canvas {
	width: 260px !important;
	height: 260px !important;
	margin: auto;
	display: block;
}
.chart1-graf,  .chart2-graf {
	-webkit-background-size: 33% 33%;
	-moz-background-size: 33%;
	-o-background-size: 33%;
	background-size: 33%;
}
.chart3-graf {
	-webkit-background-size: 20% 20%;
	-moz-background-size: 20%;
	-o-background-size: 20%;
	background-size: 20%;
}
.chart1-graf dt {
	top: 25%;
	font-size: 20px;
}
.chart2_txt {
	font-size: 20px;
}
.chart2_txt .txt_big {
	font-size: 40px;
}
.chart2-txt {
	font-size: 16px;
	width: 100%;
	line-height: inherit;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-top: 10px;
}
.chart2-txt li {
	width: 210px;
	margin-bottom: 60px;
	justify-content: flex-start;
	margin: auto;
	-webkit-box-align: baseline;
	-webkit-align-items: baseline;
	-moz-box-align: baseline;
	-ms-flex-align: baseline;
	-ms-grid-row-align: baseline;
	align-items: baseline;
	line-height: 1;
	margin-top: 30px;
	font-size: 14px;
}
.chart2-txt .txt_s {
	font-size: 8px;
}
.chart1 .txt_big {
	font-size: 40px;
}
.graf-warp03 {
	margin-bottom: 10px;
	padding: 20px 0 0;
}
.chart2_num {
	position: relative;
	font-size: 20px;
}
span.count.txt_big.oswald400 {
	font-size: 40px;
}
span.chart2_num {
	font-size: 16px;
}

}

@media screen and (max-width: 425px) {
#index .idx-main-txt {
	font-size: 3vw;
}
.box01 {
	background: #f5f8ff url(../images/box01_bg.jpg) 150% center no-repeat;
}
.box01-ctn {
	width: 100%;
}
.box02-ctn li {
	width: 100%;
	margin-right: 0;
}
.box02-ctn li:last-child {
	margin-top: 15px;
}
}
