/***********************************************
 sub-common
************************************************/
.sub-contents {
    margin: 120px 0 30px 0;
}
.sub-contents section{
    padding: 35px 0;
}
.sub-contents .inner{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}
.sub-contents .inner-1000{
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}
/***********************************************
 sub-stage
************************************************/
#sub-stage{
    padding: 25px 0;
    height: 390px;
    position: relative;
}
.title-info{
    background: url(../images/info/title-2.webp) no-repeat;
    background-size: cover;
    background-position: center center;
}
.title-request{
    background: url(../images/request/title.webp) no-repeat;
    background-size: cover;
    background-position: center right;
}
.title-other{
    background: url(../images/common/title-other.webp) no-repeat;
    background-size: cover;
    background-position: center center;
}
#sub-stage .page-title{
    position: absolute;
    content: "";
    left: 0;
    bottom: -120px;
    background: var(--sub-color);
    width: 85%;
    box-sizing: border-box;
    padding: 0 5%;
    max-width: 520px;
    min-height: 160px;
    display: flex;
    align-items: center;
}
#sub-stage .page-title h1{
    font-size: clamp(1.75rem, 0.893rem + 2.14vw, 2.5rem);
    color: #fff;
    line-height: 120%;
}
/***********************************************
 entry-body
************************************************/
.entry-body a{
    text-decoration: underline;
    text-underline-offset: 5px;
}
.entry-body h1{
    background: var(--gradation);
    font-size: clamp(1.5rem, 1.214rem + 0.71vw, 1.75rem);
    font-weight: 500;
    color: #fff;
    position: relative;
    padding: .7em .5em;
    margin: 2em 0 1em 0;
}
.entry-body h3{
    background: var(--bg-color);
    padding: .7em ;
    font-weight: 500;
    margin: 2em 0 1em 0;
    font-size: clamp(1.25rem, 1.107rem + 0.36vw, 1.375rem);
    border-left: 6px solid var(--sub-color);
}
.entry-body h4{
    padding: .7em .5em;
    font-weight: 500;
    margin: 2em 0 1em 0;
    font-size: clamp(1.125rem, 0.982rem + 0.36vw, 1.25rem);
    position: relative;
}
.entry-body h4:after{
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 30%;
    height: 3px;
    background: var(--sub-color);
}
.entry-body h4:before{
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: var(--main-color);
}
.entry-body ul,
.entry-body ol{
    margin:30px 0;
}
.entry-body ul li,
.entry-body ol li{
    padding-left: 18px;
    position: relative;
    margin:0 0 .3em 0;
}
.entry-body ol{
    counter-reset: count 0;
}
.entry-body ul li:before,
.entry-body ol li:before{
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.entry-body ul li:before{
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background: var(--sub-color);
}
.entry-body ol li:before{
    content: counter(count) ". ";
    counter-increment: count 1;
    color: var(--sub-color);
    font-weight: 700;
}
.entry-body table{
    border-spacing: 0;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    margin: 30px 0;
}
.entry-body  table thead th{
    background: linear-gradient(90deg, rgba(20,77,164,1) 0%, rgba(0,170,231,1) 70%);
    color: #fff;
    padding: 1.5em;
    text-align: left;
}
.entry-body  table tbody th{
    width: 1%;
    white-space: nowrap;
    padding: 1em;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    background: #edf9fd;
    text-align: left;
}
.entry-body  table td{
    padding: 1em;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    background: #fff;
}
@media screen and (max-width: 1200px) {
.entry-body iframe {
    width: 100%;
}
}
/***********************************************
 ページネーション
************************************************/
.inner .pagination-list {
    display: flex;
    margin: 30px auto 0 auto;
    width: 260px;
    justify-content: space-around;
}
.inner .pagination-list .new,
.inner .pagination-list .old{
    position: relative;
}
.inner .pagination-list .new{
    padding-left: 20px;
}
.inner .pagination-list .new:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-bottom: solid 2px #61d3d1;
    border-left: solid 2px #61d3d1;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
}
.inner .pagination-list .old{
    padding-right: 20px;
}
.inner .pagination-list .old:before {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-top: solid 2px #61d3d1;
    border-right: solid 2px #61d3d1;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
}
/***********************************************
 info-dtl
************************************************/
#sub-stage .infodtl-ttl {
    position: absolute;
    content: "";
    left: 0;
    bottom: -120px;
    background: var(--sub-color);
    width: 85%;
    box-sizing: border-box;
    padding: 15px 2.5%;
    max-width: 700px;
    min-height: 180px;
    display: flex;
    align-items: center;
    color: #fff;
}
#sub-stage .infodtl-ttl dl{
    margin: 0;
    padding: 0;
}
#sub-stage .infodtl-ttl dl dt{
    font-size: 13px;
}
#sub-stage .infodtl-ttl dl dd{
    margin: 0;
    padding: 0;
}
#sub-stage .infodtl-ttl dl dd h1{
    margin: 5px 0 0 0;
    font-size: clamp(1.5rem, 1.214rem + 0.71vw, 1.75rem);
    line-height: 130%;
}
/***********************************************
 request
************************************************/
.contents-request .phone-ic{
    position: relative;
    color: #005697;
    font-size: clamp(1.5rem, 1.071rem + 1.07vw, 1.875rem);
    font-weight: 700;
    padding: 0 0 0 32px;  
}
.contents-request .phone-ic:before{
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../images/request/phone-ic.svg) no-repeat;
    width: 27px;
    height: 27px;
    background-size: cover;
}
.sub-contents section .phone-navi span{
    font-size: 11px;
    line-height: 130%;
    display: block;
}
@media screen and (max-width: 980px) {
}
@media screen and (max-width: 850px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 640px) {
/***********************************************
 sub-common
************************************************/
.sub-contents {
    margin: 90px 0 30px 0;
}
/***********************************************
 sub-stage
************************************************/
#sub-stage{
    padding: 25px 0;
    height: 390px;
    position: relative;
}
#sub-stage .page-title{
    bottom: -90px;
    min-height: 130px;
}
}
@media screen and (max-width: 540px) {
/***********************************************
 entry-body
************************************************/
.entry-body table{
    width: 100%;
    box-sizing: border-box;
    border: none;
}
.entry-body table colgroup{
    display: none;
}
.entry-body  table thead th{
    width: 100% !important;
    display: block;
    box-sizing: border-box;
    border: none;
}
.entry-body  table tbody th{
    width: 100% !important;
    display: block;
    box-sizing: border-box;
    border: none;
}
.entry-body  table td{
    display: block !important;
    width: 100%;
    box-sizing: border-box;
    border: none;
}
}
@media screen and (max-width: 450px) {
}
@media screen and (max-width: 400px) {
}
@media screen and (max-width: 300px) {
}