.t-default p{
	font-size: 16px;
}
body.t-default{
    background-color: #f6f7f9;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", YuGothicWebFont, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video{
	font-weight: 500;
}

@media (min-width: 1200px) {
    .container {
        width: 1200px;
    }
	.content-area-left-wrapper {
	    padding-right: 48px !important;
	    width: 72%;
	}
	.content-area-right-wrapper{
		width: 28%;
	}
}


.t-default .db-title{
	border-left: 3px solid #0157AE;
	padding-left: 12px;
	margin-bottom: 24px;
    font-size: 24px;
    line-height: 1.4;
    font-feature-settings: "palt";
}
@media (min-width: 768px) {
	.t-default .db-title{
	    font-size: 32px;
	}
}

.t-default .content-area-wrapper{
	margin-top: 10px;
}
@media (min-width: 768px) {
	.t-default .content-area-wrapper{
		margin-top: 40px;
	}
}
@media only screen and (max-width: 991px) {
    .t-default .content-area-wrapper .content-area-right-wrapper {
        margin-top: 56px;
    }
}
@media (max-width: 767.5px) {
	.t-default .content-area-wrapper .content-area-right-wrapper {
		padding: 0 25px;
	}
}


/*top -------------*/
.db-topinfo{
	margin-bottom: 24px;
}
@media (min-width: 768px) {
	.db-topinfo{
		margin-bottom: 40px;
	}
}
.db-topinfo p{
	margin-bottom: 0;
}
.db-category-list{
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
	.db-category-list{
		grid-template-columns: repeat(4, 1fr);
	}	
}
@media (min-width: 1023.5px) {
	.db-category-list{
		grid-template-columns: repeat(5, 1fr);
	}
}
.db-category-list li{
	border-radius: 5px;
}
.db-category-list li:not(:has(a)) {
	background-color: #fff;
	padding: 16px;
	border-left: 10px #999 solid;
	color: #999;
	display: flex;
	align-items: center;
	box-shadow: 0 0 12px 0 rgba(0,0,0,.16);
}
.db-category-list li:not(:has(a))::after{
	content: "";
	background: url("/dcms_media/other/db-icon-arr-gray.svg") no-repeat center;
	background-size: cover;
	width: 16px;
	height: 16px;
	margin-left: auto;
    flex-shrink: 0;
}
.db-category-list li a {
	background-color: #fff;
	padding: 16px 12px;
	border-left: 10px #0157AE solid;
	display: flex;
	align-items: center;
	border-radius: 5px;
	box-shadow: 0 0 12px 0 rgba(0,0,0,.16);
	position: relative;
}
.db-category-list li a::before{
    content: "";
    width: 100%;
    height: 100%;
    border: 1px #fff solid;
    border-left: none;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 5px 5px 0;
    transition: all .2s ease 0s;
}
.db-category-list li a::after{
	content: "";
	background: url("/dcms_media/other/db-icon-arr-blue.svg") no-repeat center;
	background-size: cover;
	width: 16px;
	height: 16px;
	margin-left: auto;
    flex-shrink: 0;
}
.db-category-list li a:hover{
	color: #0157AE;
}
.db-category-list li a:hover::before{
	border-color: #0157AE;
}

.db-popularterms{
	padding: 24px 24px 16px;
	border-radius: 10px;
	border: 2px solid #0157AE;
	margin-top: 30px;
}
@media (min-width: 768px) {
	.db-popularterms{
		padding: 40px 40px 32px;
	}
}
.db-popularterms-title h3{
	color: #0157AE;
	font-size: 20px;
	margin-bottom: 8px;
	line-height: 1;
}
.db-popularterms + .ible-grid{
	margin-top: 48px;
}
@media (min-width: 768px) {
	.db-popularterms + .ible-grid{
		margin-top: 70px;
	}
}
.db-popularterms .ible-list p{
	margin-bottom: 0;
	position: relative;
    padding-left: 16px;
    display: inline;
}
.db-popularterms .ible-list p::before{
	position: absolute;
    top: 45%;
    left: 0;
    content: "";
    width: 6px;
    height: 6px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 2px solid #0157AE;
    border-right: 2px solid #0157AE;
}

.db-popularterms .ible-list a{
	text-decoration: underline;
}
.db-popularterms .ible-list a:hover{
	text-decoration: none;
}
.db-popularterms .ible-list .search-result-cell{
    margin: 8px 0;
}


/*item list -------------*/
.db-item-list .ible-list .search-result-cell{
	margin-bottom: 16px;
	margin-top: 0;
}
@media (min-width: 768px) {
	.db-item-list .ible-list .search-result-cell{
		margin-bottom: 24px;
		padding-right: 8px;
	}
}
.db-item-list .ible-list .search-result-cell .ible-part__basic{
	position: relative;
}
.db-item-list .ible-list .search-result-cell .ible-part__basic .ible-part__core{
	padding-left: 16px;
}
.db-item-list .ible-list .search-result-cell .ible-part__basic .ible-part__core::before{
    position: absolute;
    top: 45%;
    left: 0;
    content: "";
    width: 6px;
    height: 6px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 2px solid #0157AE;
    border-right: 2px solid #0157AE;
}
.db-item-list .ible-list .search-result-cell .ible-part__basic .ible-part__core a{
	text-decoration: underline;
}
.db-item-list .ible-list .search-result-cell .ible-part__basic .ible-part__core a:hover{
	text-decoration: none;
}



/*Item Details  -------------*/
.t-default .db-termname{
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.t-default .db-termname{
		margin-bottom: 60px;
	}
}
@media (max-width: 767.5px) {
	.t-default .db-termname{
	    padding: 0px 20px;
	}
}
.t-default .db-termname__title {
    text-align: center;
    font-size: 24px;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 4px;
}
.t-default .db-termname__subtitle {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}
@media (min-width: 768px) {
	.t-default .db-termname__title {
	    font-size: 32px;
	}
	.t-default .db-termname__subtitle {
	    font-size: 16px;
	}
}
.t-default .db-termname__text{
	margin-bottom: 30px;
}
.t-default .db-termname__img img{
    width: 100%;
    height: auto;
}

.db-supervisor {
    background-color: #fff;
    padding: 24px;
    border-radius: 10px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
}
.db-supervisor .ible-grid__cell:nth-child(2){
	margin-top: 16px;
}
.db-supervisor .ible-grid__cell:nth-child(1){
	text-align: center;
}
@media (min-width: 768px) {
	.db-supervisor {
	    padding: 40px;
	}
	.db-supervisor .ible-grid__cell:nth-child(1){
		width: 40%;
	}
	.db-supervisor .ible-grid__cell:nth-child(2){
	    width: 60%;
	    padding-left: 20px;
	    margin-top: 0;
	}
}
.t-default .db-supervisor .db-supervisor__name p{
	color: #0157AE;
	font-size: 20px;
	font-weight: bold;
}
.db-supervisor .db-supervisor__free{
	background-color: #EDEFF3;
	padding: 20px;
}
.db-supervisor .db-supervisor__free p.sfree-title{
	font-weight: bold;
}
.db-supervisor__img img{
	width: 100%;
	height: auto;
}

.t-default .db-supervisor  p.sfree-text{
	margin-bottom: 0;
}

.t-default .db-relation__title{
	margin-top: 56px;
}
@media (min-width: 768px) {
	.t-default .db-relation__title{
		margin-top: 60px;
	}
}
.db-relation__btn{
	text-align: center;
	margin-top: 24px;
}
@media (max-width: 767.5px) {
	.t-default .db-relation__title,
	.db-relation__btn{
		padding: 0 25px;
	}
}

@media only screen and (max-width: 767px) {
	.t-default .ible-grid--4col .ible-grid__cell:nth-last-child(2){
		margin-bottom: 0 !important;
	}
}

.db-relation__btn a{
	display: block;
	max-width: 340px;
	margin: auto;
	background-color: #262D40;
	color: #fff;
	text-decoration: none;
	padding: 25px 12px;
	border: 1px solid #262D40;
	font-size: 18px;
	font-weight: bold;
}
@media (min-width: 768px) {
	.db-relation__btn a{
		font-size: 22px;
		padding: 30px 12px;
	}
}
.db-relation__btn a:hover{
	color: #262D40;
	background-color: #fff;
}

@media (max-width: 767.5px) {
	.db-relation__list.db-item-list{
		padding: 0 25px;
	}
}



@media (min-width: 768px) {
	.db-column__list {
	    margin-bottom: 24px;
		display: flex;
	}
	.db-column__list .ible-grid__cell:nth-child(1),
	.db-column__list .ible-grid__cell:nth-child(2){
		padding-right: 16px;
	}
	.db-column__list .ible-grid__cell:nth-child(3){
		padding-right: 8px;
	}
	.db-column__list .ible-grid__cell:nth-child(4){
		padding-left: 8px;
	}
}

@media (max-width: 767.5px) {
	.db-column__list{
		padding: 0 25px;
	}
}

.db-column__list .ible-grid__cell .ible-block {
	background-color: #fff;
    height: 100%;
}
.db-column__list .ible-grid__cell .ible-block .ible-part__basic:last-child a{
	padding: 16px 8px;
	display: block;
}
.db-column__list .ible-grid__cell:hover{
	opacity: .8;
}
.db-column__list .ible-grid__cell img{
	width: 100%;
	height: auto;
	display: block;
}


.db-relation__list.db-item-list .ible-list .search-result-cell{
	margin-bottom: 16px;
}
@media (min-width: 768px) {
	.db-relation__list.db-item-list .ible-list .search-result-cell{
		margin-bottom: 16px;
	}
}




/*side -------------*/

.db-side-title {
    background-color: #0157AE;
    text-align: center;
    padding: 20px 8px;
}
.db-side-title h2{
	font-size: 20px;
    color: #fff;
}

.db-side-search{
	padding: 24px 24px 16px 24px;
	background-color: #fff;
}
@media (min-width: 768px) {
	.db-side-search{
		padding: 32px 32px 16px;
	}
}
.db-side-searchbox {
    margin-top: -6px;
}
.db-side-searchbtn {
    margin-bottom: 30px;
}
.db-side-searchbtn .btn{
	background-color: #262D40;
	border-color: #262D40;
    transition: all .2s ease 0s;
}
.db-side-searchbtn .btn:hover{
	background-color: #fff;
	color: #262D40;
}
.db-side-searchbox .form-control{
	box-shadow: none;
	font-size: 14px;
	border: none;
	background-color: #F6F7F9;
	letter-spacing: -.05em;
	background-image: url("/dcms_media/other/db-icon-search.svg");
	background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 18px;
    padding-right: 40px;
}
.t-default h3.db-side-subtitle{
	font-size: 16px;
	padding-bottom: 4px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	font-weight: bold;
}
.t-default h4.db-side-subtitle2{
    border-left: 3px solid #0157AE;
    padding-left: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1;
}

.db-side-category-list {
    display: flex;
    gap: 8px 20px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.db-side-category-list li{
	font-size: 14px;
	color: #999;	
}
.db-side-category-list li a{
	text-decoration: underline;
	color: #0157AE;
	font-size: 14px;
}
.db-side-category-list li a:hover{
	text-decoration: none;
	color: #0157AE;
}




/*footer -------------*/

#area7 {
    width: auto;
    padding: 0;
}

/*pagetitle -------------*/
#area3 {
    width: auto;
    padding: 0;
}
.t-default .ible-area--item-mainimage::before{
	height: auto;
}


/*header -------------*/
@media screen and (max-width: 1024px) {
    .header_sp,#drawermenu {
    	left: 0;
    }
}


/*breadcrumb -------------*/
#area4{
	padding: 0;
}
@media screen and (max-width: 990px) {
	#area4{
		padding: 0 15px;
	}
}
.ible-area--breadcrumb{
	margin-top: 121px;
}
@media only screen and (max-width: 1024px) {
    .ible-area--breadcrumb{
        margin-top: 58px;
    }
}
.ible-area--breadcrumb .ible-widget__custombreadcrumbs{
	margin-bottom: 0;
    padding: 12px 0;
}
.p-breadcrumb__inner .p-breadcrumb__item{
	font-size: 10px
}
.p-breadcrumb__inner .p-breadcrumb__item a{
	text-decoration: underline;
}

.p-breadcrumb__inner .p-breadcrumb__item:last-child a{
	text-decoration: none;
	pointer-events: none;
	cursor: default;
}


.t-default .pager{
	padding-bottom: 0;
}
.ible-pager{
	margin-top: 30px;
}
.ible-pager .pager{
	margin-bottom: 8px;
	font-size: 16px;
}
.ible-pager .pager small{
	font-size: 16px;
}
.ible-pager{
	clear: both;
}

.ible-pager .pager-item.current a{
	background-color: #0157AE;
	color: #fff;
}
.pager li > span.pager-dot {
    background-color: transparent;
    border: none;
    color: #000;
    /* font-weight: bold; */
    font-size: 20px;
    line-height: 1;
}

@media print, screen and (max-width: 767.8px) {
    .ible-pager .lib-pager__list {
    	margin-bottom: 24px;
    }
}

@media only screen and (max-width: 767px) {
    .t-default .pager li.pager-item {
        display: inline-block;
    }
}