@charset "UTF-8";
/* 共通（全体） ------------------------------------- */
#contents {
    font-size: 1.4em;
    letter-spacing: .04em;
}
#contents a {
    color: #0C2285;
}
a:hover,
a:focus,
a:visited:hover {
    background-color: #003366;
    color: #fff;
}

main#contents a:hover,
main#contents a:focus {
    background: #003366 !important;
    color: #fff !important;
}
img[src*="icon_"] {
    width: 16px;
    margin-left: 4px;
    vertical-align: middle;
    margin-top: 0 !important;
}
a:hover img[src*="icon_"],
a:focus img[src*="icon_"] { filter: invert(100%); }
#contents .section .attIndex {
	text-indent: -3em;
	margin-left: 3em;
}
body ol.jpKata_paren > li:before {
    margin: 0 0 0 -47px;
    width: 47px;
}

/* フッター（共通） ------------------------------------- */
div#footer-sitemaps .link-arrow a {
    background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
    #footer .bg-navy .wrapper .menu-sub {
        padding-left: 40px;
    }
}
@media screen and (max-width: 800px) and (min-width: 767px) {
    #footer .bg-navy .wrapper .menu-sub {
        padding-left:0;
    }
}


/* main ------------------------------------- */
#contents.lowerpage,
#wrapper .breadcrumb_list {
    max-width: 1366px;
    padding-right: 10px;
    padding-left: 10px;
}
#contents .title {
    margin-bottom: 40px;
}
#contents.lowerpage>div:not(.title) {
    width: 95%;
    max-width: 1250px;
}


/* パンくず ------------------------------------- */
#wrapper .breadcrumb_list {
    flex-direction: row;
    flex-wrap: wrap;
    box-sizing: border-box;
    margin: 1.5rem auto;
	width: 100%;
	margin: 1.5rem auto;
	font-size: 125%;
}
#wrapper .breadcrumb_list li:not(:last-of-type) {
    margin-bottom: 5px;
}
#wrapper .breadcrumb_list a {
    text-decoration: underline;
    color: #444;
}
#wrapper .breadcrumb_list a:hover,
#wrapper .breadcrumb_list a:focus {
    color: #fff;
}
#wrapper .breadcrumb_list a::after {
    display: inline-block;
    padding: 0 .5rem;
}
#wrapper .breadcrumb_list a:hover::after,
#wrapper .breadcrumb_list a:focus::after {
    background: #fff;
    color: #444;
}

/* リンクリスト ------------------------------------- */
#contents .linkArrow li:not(:last-of-type) {
    margin-bottom: 10px;
}
#contents .linkArrow li {
    padding-left: 1em;
    text-indent: unset;
}
#contents .linkArrow a {
    position:relative;
    padding: 0.5em 0;
}
#contents .linkArrow a::before {
	content:"";
	display:block;
	position:absolute;
	left: -1em;
	top: 33%;
	width: 5px;
	background: #003366;
	height: calc(tan(60deg) * 11px / 2);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#contents .linkArrow a:hover img[src*="icon_link"],
#contents .linkArrow a:focus img[src*="icon_link"] { filter: invert(100%); }


/* 下層ページ（.lowerpage） ------------------------------------- */
#contents.lowerpage .title h1 {
    text-align: center;
    font-size: 2.5rem;
    background-color: #ffffffcc;
    padding: 4rem;
    box-sizing: border-box;
}
#contents.lowerpage .l_content table {
    border: 1px solid #000;
}
#contents.lowerpage .l_content th {
    width: 20%;
    background: #2B7B94;
    font-weight: normal;
}
#contents.lowerpage .l_content td {
    padding: 5px;
}
#contents .l_content table,#contents .l_content tr,
#contents .l_content th,#contents .l_content td {
    border: unset;
}
#contents.lowerpage .l_content tr:not(:last-of-type) th {
    border-bottom: 1px solid #fff;
}
#contents.lowerpage .l_content tr:not(:last-of-type) td {
    border-bottom: 1px solid #000;
}

/* single Page（.singlePage）  ------------------------------------- */
#contents .singlePage .section {
    margin-bottom: 50px;
}

/* nav menu（.singlePage） ------------------------------------- */
#contents .singlePage .subheading {
    width: 100%;
    margin: 0px auto;
}
#contents .singlePage .subheading ul {
    gap: 0 1.5rem;
	margin: 0;
}
#contents .singlePage .subheading ul .businessinfo {
    grid-area: 1 / 1 /1/ 1;
}
#contents .singlePage .subheading ul li {
    border-bottom: 1px solid #E8C266;
    min-height: 50px;
}
#contents .singlePage .subheading li::after {
    margin: 0;
    right: 1%;
}
#contents .singlePage .subheading ul li a {
    margin: 0;
    display: flex;
    align-items: center;
    flex-grow: 1;
    height: 100%;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding: 0 1.7em 0 1em;
    color:#444;
}
#contents .singlePage .subheading ul li:hover a,
#contents .singlePage .subheading ul li:focus a {
    text-decoration: none;
}
#contents .singlePage .subheading ul li a:hover,
#contents .singlePage .subheading ul li a:focus {
    color: #444 !important;
    text-decoration: none;
    background: #E8C266 !important;
}

/* contents（.singlePage） ------------------------------------- */
#contents.lowerpage .singlePage .id_link {
    font-size: 2.5rem;
    border-bottom: 4px solid #E8C266;
    padding-bottom: 10px;
    margin-bottom: 1em;
    z-index:unset;
}
#contents.lowerpage .singlePage .id_link span {
    text-indent: -1.5em;
    margin-left: 1.5em;
    display: inline-block;
}
#contents .singlePage .section dl dd {
    margin-left: 0;
}
#contents .singlePage .section dl div {
    margin-bottom: 1em;
}
#contents .singlePage .section dl dt {
    font-weight: bold;
}

/* news */
main#contents .news_textarea .text_news {
    margin: 1.2rem 0 0 0;
    top: unset;
    font-size: 1.4rem;
    font-weight: normal;
}
main#contents .newslist div a .news_textarea .text_news {
    text-decoration: none;
    display: inline-block;
}

/* ---------------------------------------
 レスポンシブ
 --------------------------------------- */
/* SP */
@media screen and (max-width: 767px) {
	#contents .title {
	    margin-bottom: 2rem;
	}
    #contents.lowerpage .title h1 {
        padding: 3rem 1.5rem;
        font-size: 1.2em;
    }
    #contents a:link, #pagetop a:link {
        color:#444; 
    }
	.index a:hover,.index a:focus {
		background-color: transparent;
		color: initial;
	}
/* パンくず */
	#wrapper .breadcrumb_list {
		display: none;
	}
}
/* SP & TB */
@media screen and (max-width: 1025px) {
    #contents.lowerpage .title h1 {
        padding: 2rem;
        font-size: 2rem;
    }
	/* パンくず */
    #contents .breadcrumb_list {
        width: 90%;
        margin: 1.5em auto 2em auto;
        font-size: 1em;
    }
/* 下層ページ */
/*
    #contents.lowerpage>div:not(.title) {
        width: 90%;
    }*/
    #contents.lowerpage .l_content table {
        width: 100%;
    }
}

/* TB */
@media screen and (min-width: 768px) {}
/* PC */
@media screen and (min-width: 1025px) {}

/* ---------------------------------------
 レスポンシブ　single Page
 --------------------------------------- */
/* SP */
@media screen and (max-width: 470px) {
    #contents .singlePage .subheading ul {
        grid-template-columns: repeat(1, 1fr);
    }
    #contents .singlePage .subheading ul li {
        margin-top: 0px;
		margin-bottom: 0px;
    }
    #contents .singlePage .subheading ul li a .sp,
	#contents .singlePage .subheading ul li a .br-sp {
        display: none;
    }
}
/* SP & TB */
@media screen and (min-width: 470px) and (max-width: 1025px) {
    #contents .singlePage .subheading ul {
        grid-template-columns: repeat(2, 1fr);
    }
    #contents .singlePage .subheading ul li {
        margin-bottom: .2em;
    }
    #contents.lowerpage .id_link {
        font-size:1.7em;
    }
}
/* TB */
@media screen and (min-width: 768px) {
    #contents .singlePage .subheading ul {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* PC */
@media screen and (min-width: 1025px) {
    #contents .singlePage .subheading ul {
        grid-template-columns: repeat(5, 1fr);
    }
}
@media screen and (min-width: 1400px) {
}

