@charset "UTF-8";

/* TOP2025編集
------------------------------------------------------------------------*/
.flex-item {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 5% 5%;
}
.blue_txt {
	color: #004b8b;
}
.white_txt {
	color: #FFFFFF;
}
.yellow_txt {
	color: #CDA40C;
}
.bg-lightblue {
	background-color: #e8f1f8;
}
.padtop-50 {
	padding-top: 50px;
}
.topnew {
	text-align: center;
	padding-bottom: 50px;
}
.topnew-img001 a:hover {
	opacity:0.5;
	transition:0.3s;
}
.t-m-001 {
	margin: 50px 0;
}
.tm-block {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	background-color: #DCF6FB;
	padding: 50px 20px;
	position: relative;
}
.tmb-title {
	font-size: 18px;
	padding: 10px;
	color: #ffffff;
	border: solid 2px #ffffff;
	border-radius: 7px;
	text-align: center;
	position: absolute;
	top: -45px;
	left: 30px;
}
.tmb-bb {
	background-color: #3172E0;
}
.tmb-bg {
	background-color: #195D6C;
}
.tmb-bnv {
	background-color: #1A2655;
}
.tmb-l {
	width: 210px;
}
.tmb-ul li {
	float: left;
	margin: 0 10px 30px 0;
}
.tmb-li00 {
	width: 200px;
	height:200px;
	box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.7);
	padding: 10px;
	position: relative;
}
.tmb-ul li a:hover {
	opacity:0.5;
	transition:0.3s;
	text-decoration: none;
    }
.txt-seiseiai {
	position: absolute;
	top: -40px;
	right: -3px;
	font-size: 12px;
	line-height: 13px;
	text-align: center;
	background-color: #004b8b;
	color: #ffffff;
	width: 50px;
	height: 50px;
	border: solid 1px #ffffff;
	border-radius: 25px;
	padding-top: 12px;
	z-index: 10;
}
.tmb-li01 {
	width: 180px;
	height: 180px;
	padding: 10px;
	border: solid 1px rgba(255,255,255,1.00);
}
.tmb-li03 {
	background-color: #ffffff;
	border-radius: 5px;
	font-weight: bold;
	text-align: center;
	color: #004b8b;
	padding: 5px 0;
}
.tmb-li04 {
	padding-top: 15px;
	text-align: center;
	color: #ffffff;
}
.txt-bold{
	font-weight: bold;
}
.txt-small {
	font-size: 0.8em;
}
.fig-bot {
	padding: 30px;
}
.fig-op {
	width: 250px;
	height: auto;
}
.fig-cc {
	padding-top: 30px;
}
.ctx-101 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	width: 400px;
	padding: 5px;
	margin: 30px 30px 0 0;
	border-radius: 5px;
}
.bg-green {
	background-color: #9FBC56;
}
.bg-violet {
	background-color: #9796C7;
}
.bg-navy {
	background-color: #0A0533;
}
.block-002 {
	padding-bottom: 100px;
}
.ctb-set {
	padding-bottom: 50px;
}
.ctbset-img {
	text-align: center;
	width: 100%;
}
.ctbset-img a {
	padding: 0 10px;
}
.ctbset-img a:hover {
	opacity:0.5;
	transition:0.3s;
}

.b002-2-ctx a:hover {
	opacity:0.5;
	transition:0.3s;
	text-decoration: none;
}
.ctx-102-l {
	width: 70%;
	padding: 5px;
}
.ctx-txt01 {
	text-align: center;
	color: #16135D;
	background-color: #FFFFFF;
	border-radius: 10px;
	margin-bottom: 5px;
	letter-spacing: -0.5px;
	font-weight: bold;
}
.ctx-102-r {
	text-align: center;
	align-content: center;
	width:25%;
	height: 90%;
	margin-right: 5px;
	background-color: #FFFFFF;
	clip-path: polygon(30px 0%, 100% 0%, 100% 100%, 0% 100%);
}
.ctx-txt02 {
	padding-left: 10px;
	letter-spacing: -1px;
	line-height: 15px;
	font-weight: bold;
	color: #000000;
}
.ctx-fa {
	padding-left: 10px;
}
.img-txt01 {
	font-weight: bold;
	font-size: 18px;
	line-height: 10px;
	text-align: center;
	padding-top: 2px;
}
.img-txt02 {
	font-size: 7px;
	line-height: 10px;
	text-align: center;
}
.tm2-dl {
	width: 100%;
}
.tm2-dl dl {
	width: 400px;
	margin: 0 30px 30px 0;
}
.tm2-dl dl dt {
	font-size: 16px;
	font-weight: bold;
	background-color: #004B8B;
	padding: 10px 0 10px 8px;
	color: #ffffff;
}
.tm2-dl dl dd {
	padding: 5px 15px;
	font-size: 15px;
	background-color: #ffffff;
	margin-top: 5px;
}
.tm2-dl dl dd a {
	width: 100%;
	text-decoration: none;
	color: #004B8B;
	display: inline-block;
	padding: 5px 5px;
    transition: all 0.3s ease;
}
.tm2-dl dl dd a:hover {
  color: #ffffff;
  background-color: #829CBC;
  transform: scale(1.1);
}
.jirei-box001 {
	padding: 8px;
	border: 2px solid rgba(239,175,8,1.00);
	border-radius: 5px;
	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);
}
.ji-txt02 {
	margin-top: 20px;
	width: 40%;
	padding: 5px;
	text-align: center;
	font-weight: bold;
	background-color: rgba(239,175,8,1.00);
	border-radius: 5px;
	color: #000000;
}
.ji-txt03 {
	margin-top: 10px;
	width: 99%;
	background-color: #3779AC;
	padding: 5px 10px;
	color: #FFFFFF;
}
.ji-txt04 {
	padding: 10px;
	text-align: center;
}
.ji-txt05 {
	text-align: center;
	color: #004b8b;
	font-weight: bold;
	padding-bottom: 50px;
}
.ji-txt05 span {
	text-decoration-line: underline;
	text-decoration-color: red;
	text-decoration-style: solid;
	font-size: 23px;
	line-height: 35px;
}
#ctbase #top-reason2 {
    min-height: 340px;
    background: url("../img/top-reason2-img.jpg") no-repeat center center;
	background-size: cover;
}
#ctbase #top-reason2 .h2_title {
    color: #fff;
    padding: 90px 0 30px !important;
}
#ctbase #top-reason2 .h2_title:before {
	background: #fff;
}
.blcnew-001 {
	color: #EFAF08;
}

/* スマホ対応
------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.page-navi_list-item {
		width: 60px;
	}
	.txt-seiseiai {
	top: -20px;
}
	.tm-block {
	justify-content: flex-start;
	padding: 50px 8px;
}
	.tmb-li00 {
	width: 150px;
	height:150px;
}
	.tmb-li01 {
	width: 130px;
	height: 130px;
	padding: 15px 5px 5px 5px;
	font-size: 10px;
	line-height: 13px;
}
   .tmb-li04 {
	padding-top: 5px;
}
   .tmb-li04 small {
	font-size: 8px;
}
   .tmb-ul li a {
	width: 150px;
	height:150px;
}
	.tmb-fig {
	opacity: 0;
}
	.fig-bot {
	padding: 0;
}
   .fig-cc {
	padding-top: 0;
}
	.fig-op {
		width: 0;
		height: 0;
}
	.tmb-l {
	width: 2%;
}
	.ctbset-img {
	width: 90%;
	padding-left: 30px;
}
	.ctbset-img a {
	padding: 0;
   }
	.ctx-101 {
	width: 320px;
	padding: 5px;
	margin: 30px 10px 0 0;
}
	.ctx-txt01 {
	font-size: 10px;
	}
	.ctx-txt02 {
	font-size: 9px;
	}
	.ctx-102-l {
	width: 60%;
	padding: 1px;
}
	.jirei-box001 {
	padding: 0 0 50px 0;
	border: none;
	border-radius: 0;
	box-shadow: none;
   }
	.ji-txt04 {
	width: 20%;
	height: auto;
	margin: 0 auto;
   }
	.ji-txt05 {
		background: linear-gradient(to top, #e8f1f8, #ffffff);
	}
}