@charset "utf-8";

/*  +++++++++++++++++++++++++ common +++++++++++++++++++++++++ */
.mb0 {
margin-bottom: 0 !important;
}
.mb5 {
margin-bottom: 5px !important;
}
.mb10 {
margin-bottom: 10px !important;
}
.mb15 {
margin-bottom: 15px !important;
}
.mb20 {
margin-bottom: 20px !important;
}
.mb30 {
margin-bottom: 30px !important;
}
.mb40 {
margin-bottom: 40px !important;
}
.mb50 {
margin-bottom: 50px !important;
}
.mb60 {
margin-bottom: 60px !important;
}
.mb70 {
margin-bottom: 70px !important;
}
.mb80 {
margin-bottom: 80px !important;
}
.mb90 {
margin-bottom: 90px !important;
}
.nw {
white-space: nowrap !important;
}

#co.librarypage a.link {
color: #00a0e9;
text-decoration: underline;
}

#co.librarypage a.link:hover {
text-decoration: none;
}

#co.librarypage #mainContents .anchorBox ul,
#co.librarypage #mainContents .aboutBox {
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
width: 100%;
margin-bottom: 30px;
}

#co.librarypage #mainContents .anchorBox li:first-child {
width: 100%;
}

#co.librarypage #mainContents .anchorBox li {
width: 31.5%;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
-ms-flex: 0 1 auto;
display: -ms-flex;
display: -o-flex;
display: flex;
border-radius: 6px;
background: rgb(255,251,244);
background: -moz-linear-gradient(180deg, rgba(255,251,244,1) 0%, rgba(244,236,224,1) 100%);
background: -webkit-linear-gradient(180deg, rgba(255,251,244,1) 0%, rgba(244,236,224,1) 100%);
background: linear-gradient(180deg, rgba(255,251,244,1) 0%, rgba(244,236,224,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fffbf4",endColorstr="#f4ece0",GradientType=1);
padding: 5px;
box-shadow: 5px 5px 12px -5px rgba(123,116,115,0.7);
margin-bottom: 15px;
box-sizing: border-box;
}

#co.librarypage #mainContents .anchorBox li a {
width: 100%;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
-ms-flex: 0 1 auto;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
justify-content: center; /* 子要素をflexboxにより中央に配置する */
text-decoration: none;
font-weight: 900;
position: relative;
text-align: center;
padding: 25px 15px;
font-size: 0.91rem;
color: #004117;
box-sizing: border-box;
letter-spacing: 0.25rem;
border-radius: 6px;
border: 1px solid rgba(0,65,23,0.7);
}

#co.librarypage #mainContents .anchorBox li a.blank::after {
content: "";
margin: 0 0 0 5px;
padding: 0;
background: url("../images/ico_blank.svg") no-repeat center center;
background-size: auto;
background-size: contain;
width: 14px;
height: 14px;
position: absolute;
top: 50%;
right: 10px;
-webkit-transform: translateY(-50%) ;
transform: translateY(-50%);
}

#co.librarypage #mainContents .anchorBox li a .ss {
font-size: 0.75rem;
}

#co.librarypage #mainContents h2 {
margin: 0 0 60px;
padding: 0;
border-bottom: solid 2px #004117;
text-align: center;
}

#co.librarypage #mainContents h2:before,
#co.librarypage #mainContents h2:after {
content: none !important;
}

#co.librarypage #mainContents h2 .bgInner {
margin: 0;
padding: 10px 20px;
background: #004117 !important;
display: inline-block;
color: #FFF;
font-size: 1.8rem;
border-radius: 6px 6px 0 0 !important;
box-shadow: none !important;
width: 540px;
font-weight: 500;
letter-spacing: 0.25rem;
}

#co.librarypage #mainContents h3.titlesub {
position: relative;
text-align: center;
color: #004117;
font-size: 1.5rem;
margin: 50px 0;
}

#co.librarypage #mainContents h3.titlesub .bgInner {
background: #FFF;
padding: 0 40px;
position: relative;
z-index: 100;
display: inline-block;
}

#co.librarypage #mainContents h3.titlesub .bgInner:after {
transition: .3s;
content: "";
position: absolute;
right: 2px;
top: 50%;
width: 14px;
height: 14px;
border-top: solid 1px #004117;
border-right: solid 1px #004117;
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}

#co.librarypage #mainContents h3.titlesub .bgInner:before {
transition: .3s;
content: "";
position: absolute;
left: 2px;
top: 50%;
width: 14px;
height: 14px;
border-left: solid 1px #004117;
border-bottom: solid 1px #004117;
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}

#co.librarypage #mainContents h3.titlesub:before {
margin: 0;
padding: 0;
content: "";
width: 100%;
height: 1px;
background: #004117;
position: absolute;
left: 0;
top: calc(50% - 1px);
transform: translateY(-50%);
-webkit- transform: translateY(-50%)
z-index: -1;
}

#co.librarypage #mainContents * + h4 {
margin-top: 50px;
}

#co.librarypage #mainContents h3 + h4 {
margin-top: 0;
}

#co.librarypage #mainContents h4 {
position: relative;
color: #004117;
font-size: 1.25rem;
padding-bottom: 10px;
margin-bottom: 10px;
border-bottom: 1px solid #004117;
}

#co.librarypage #mainContents .aboutBox {
margin-bottom: 0;
}

#co.librarypage #mainContents .aboutBox li {
width:48%;
font-size: 1.125rem;
line-height: 200%;
}

#co.librarypage #mainContents .aboutBox li p {
background: #f5ede1;
padding: 10px;
text-align: center;
color: #004117;
font-size: 1.125rem;
line-height: 140%;
}

#co.librarypage #mainContents .aboutBox li p .ss{
color: #3e3a39;
font-size: 0.91rem;
}

#co.librarypage #mainContents #newsBox {
background-size: auto auto;
background-color: rgba(252, 249, 245, 1);
background-image: repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(244, 237, 225, 1) 10px, rgba(244, 237, 225, 1) 20px );
padding: 20px 0;
}

#co.librarypage #mainContents #newsBox #newsBoxInner {
width: 840px;
border: 2px solid #004117;
padding: 30px;
box-sizing: border-box;
margin: 0 auto;
background: #FFFFFF;
text-align: left;
}

#co.librarypage #mainContents #newsBox #newsBoxInner h3 {
font-size: 2rem;
color: #004117;
margin-bottom: 30px;
text-align: center;
font-weight: 500;
letter-spacing: 0.25rem;
}

#co.librarypage table {
margin-bottom: 30px;
width: 100%;
}

#co.librarypage table th,
#co.librarypage table td {
margin: 0;
padding: 15px;
font-size: 0.91rem;
line-height: 1.6;
box-sizing: border-box;
vertical-align: middle;
border: solid 1px #004117;
}

#co.librarypage table th {
vertical-align: middle;
background:rgba(0,65,23,0.05);
color: #004117;
text-align: center;
border-left: none !important;
}
#co.librarypage table th.color {
color: #ff0000;
}
#co.librarypage table td {
border-right: none;
}

#co.librarypage table .head th {
background: #004117;
color: #FFFFFF;
border-right: 1px solid #FFFFFF;
}

#co.librarypage table th.lineno_R {
border-right: none !important;
}

#co.librarypage table td.lineno_L {
border-left: none !important;
}

#co.librarypage table td.line_L {
border-left: solid 1px #004117 !important;
}

#co.librarypage table td .point01,
#co.librarypage table td .point01 li:last-child {
margin-bottom: 0 !important;
}


#co.librarypage .box03 {
width: 100%;
margin: 0 auto;
text-align: left;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}

#co.librarypage .box03::after {
content:"";
display: block;
width: 31.5%;
}

#co.librarypage ul.btn {
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
width: 100%;
margin-bottom: 30px;
}

#co.librarypage ul.btn li {
width: 48.5%;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
-ms-flex: 0 1 auto;
display: -ms-flex;
display: -o-flex;
display: flex;
margin: 0 0 15px 0;
}

#co.librarypage ul.btn li a {
background: rgb(255,255,255);
background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 51%, rgba(243,249,242,1) 100%);
background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 51%, rgba(243,249,242,1) 100%);
background: linear-gradient(180deg, rgba(255,255,255,1) 51%, rgba(243,249,242,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f3f9f2",GradientType=1);
border: 1px solid #004117;
position: relative;
text-align: center;
border-radius: 6px;
text-align: center;
padding: 15px 0;
font-size: 0.91rem;
color: #004117;
box-sizing: border-box;
letter-spacing: 0.25rem;
width: 100%;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
-ms-flex: 0 1 auto;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
justify-content: center; /* 子要素をflexboxにより中央に配置する */
text-decoration: none;
font-weight: 900;
}

#co.librarypage #mainContents .librarytbl th {
font-size: 0.75rem;
}

#co.librarypage #mainContents .librarytbl th img{
margin-bottom: 10px;
}

#co.librarypage #mainContents .librarytbl td p,
#co.librarypage #mainContents .librarytbl td li{
font-size: 0.91rem !important;
}

#co.librarypage #mainContents .librarytbl td p{
margin-bottom: 10px !important;
}

#co.librarypage #mainContents .librarytbl td strong{
color: #ff0000;
}

#co.librarypage #mainContents .btnGroup {
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
width: 100%;
margin-bottom: 30px;
}

#co.librarypage #mainContents .btnGroup li {
width: 48.5%;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
-ms-flex: 0 1 auto;
display: -ms-flex;
display: -o-flex;
display: flex;
margin: 0 0 15px 0;
}

#co.librarypage #mainContents .btnGroup li a {
background: rgb(255,255,255);
background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 51%, rgba(243,249,242,1) 100%);
background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 51%, rgba(243,249,242,1) 100%);
background: linear-gradient(180deg, rgba(255,255,255,1) 51%, rgba(243,249,242,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f3f9f2",GradientType=1);
border: 1px solid #004117;
position: relative;
text-align: center;
border-radius: 6px;
text-align: center;
padding: 15px 30px;
font-size: 0.91rem;
color: #004117;
box-sizing: border-box;
letter-spacing: 0rem;
width: 100%;
-js-display: flex;
display: -webkit-flex;
display: -moz-flex;
-ms-flex: 0 1 auto;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
justify-content: center; /* 子要素をflexboxにより中央に配置する */
text-decoration: none;
font-weight: 500;
}

#co.librarypage #mainContents .btnGroup li a .ss {
font-size: 0.75rem;
}

#co.librarypage #mainContents .txtBox {
border-radius: 6px;
background: rgba(0,65,23,0.05);
width: 100%;
margin: 70px 0 20px 0;
position: relative;
padding: 40px 20px 20px 20px;
box-sizing: border-box;
}

#co.librarypage #mainContents .txtBox h3.radiustitle {
padding: 15px 60px;
background: #004117 !important;
color: #FFF;
text-align: center;
font-size: 1.5rem;
border-radius: 30px;
width: 450px;
font-weight: 500;
position: absolute;
box-shadow: 5.665px 5.665px 16px -5px #8095b3;
top: -30px;
left: 50%;
-webkit-transform: translateX(-50%) ;
transform: translateX(-50%);
}

#co.librarypage #mainContents .txtBox ul {
width: 70%;
padding: 20px;
box-sizing: border-box;
}

#co.librarypage #mainContents .txtBox ul li {
font-size: 1.125rem;
line-height: 180%;
margin-bottom: 10px;
position: relative;
color: #004117;
padding-left: 20px;
}


#co.librarypage #mainContents .txtBox ul li:last-child {
margin-bottom: 0 !important;
}


#co.librarypage #mainContents .txtBox ul li:before {
content: "";
position: absolute;
top: .5em;
left: 0;
width: 14px;
height: 14px;
border-radius: 50%;
background: #004117;
}

#co.librarypage #mainContents .txtBox ul li a {
color: #004117;
}
