@charset "utf-8";
/*------------------------------------------------------------
	ryoukin
------------------------------------------------------------*/
#main {
    margin-bottom: 6rem;
}
#main .linkNavi {
    margin-bottom: 3rem;
    gap: 1rem;
}
#main .linkNavi li {
    width: 21.2rem;
}
#main .linkNavi a {
    padding: 0.5rem;
    display: block;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 800;
    text-align: center;
    background: #E60028 url(../img/common/icon02.png) no-repeat right 0.7rem center/1.4rem auto;
    border-radius: 0.5rem;
}
#main h2 {
    margin-bottom: 1rem;
}
#main .midTxt {
    margin-bottom: 1.2rem;
    color: #333;
    font-weight: 500;
    text-align: center;
    transform: rotate(0.03deg);
}
#main .subTtl {
    color: #043658;
    font-weight: 800;
    font-size: 2.2rem;
    text-align: center;
}
#main .topList {
    margin-bottom: 0.7rem;
    gap: 3.3rem;
}
#main .topList li {
    width: 33.8rem;
}
#main .price {
    padding: 4rem 0 2.5rem;
    background: #FFEDED;
}
#main .price .subTtl {
    margin-bottom: 1.7rem;
}
#main table {
    width: 100%;
    border-spacing: 0;
}
#main .tabBox {
    margin-bottom: 1.5rem;
}
#main .tabBox th, #main .tabBox td {
    padding: 1rem;
    color: #333;
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
    border-top: 0.1rem solid #043658;
    border-left: 0.1rem solid #043658;
}
#main .tabBox td .num {
    font-size: 2.6rem;
}
#main .tabBox th:last-child, #main .tabBox td:last-child {
    border-right: 0.1rem solid #043658;
}
#main .tabBox thead th {
    color: #fff;
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: 800;
    background-color: #043658;
}
#main .tabBox thead .thStyle01 {
    width: 12.6%;
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: right;
    vertical-align: top;
    background: #DEE8F7 url(../img/ryoukin/line01.png) no-repeat left top/13.8rem auto;
}
#main .tabBox thead tr:first-child th:nth-child(3) {
    border-left-color: #fff;
}
#main .tabBox thead tr:last-child th {
    width: 17.48%;
    padding: 0.3rem 0.2rem 0;
    vertical-align: top;
    background-color: #fff;
}
#main .tabBox thead tr:last-child th p {
    margin: 0.7rem -0.2rem 0;
    padding: 0.7rem;
    color: #043658;
    font-size: 1.5rem;
    font-weight: 800;
    background: #DEE8F7;
}
#main .tabBox tbody th {
    padding: 0.5rem 0;
    font-size: 1.8rem;
    background: #DEE8F7;
}
#main .tabBox tbody .thStyle02 {
    padding: 0.5rem;
    width: 3.5%;
    line-height: 1;
}
#main .tabBox .tdStyle {
    padding-right: 3rem !important;
    text-align: right;
}
#main .tabBox tbody tr:last-child th, #main .tabBox tbody tr:last-child td {
    padding: 0.8rem 0.5rem;
    color: #fff;
    font-weight: 700;
    background: #FF9D90;
    border-bottom: 0.1rem solid #043658;
}
#main .tabBox tbody tr:last-child th {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    background: #FF0000;
}
#main .tabBox02 thead .thStyle01 {
    width: 10%;
    background-image: url(../img/ryoukin/line02.png);
}
#main .tabBox02 tbody .thStyle02 {
    width: 2.5%;
}
#main .tabBox02 thead tr:last-child th {
    padding: 0.6rem;
    font-size: 1.5rem;
    color: #043658;
    background: #DEE8F7;
}
#main .price .notes {
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.75;
    transform: rotate(0.03deg);
}
#main .service {
    padding: 6rem 0 0;
}
#main .service h2 {
    margin-bottom: 0.6rem;
}
#main .service .subTtl {
    margin-bottom: 1.7rem;
}
#main .service .photo {
    margin-bottom: 3.7rem;
}
#main .service .bgBox {
    padding: 1rem 2.5rem 2.7rem;
    position: relative;
    background: #FFEDED;
    border-radius: 1rem;
}
#main .service .bgBox:not(:last-child) {
    margin-bottom: 3.5rem;
}
#main .service .bgBox:not(:last-child):after {
    position: absolute;
    bottom: -4.3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 5.3rem;
    height: 5.3rem;
    content: "";
    z-index: 1;
    background: url(../img/ryoukin/icon.png) no-repeat left top/5.3rem auto;
}
#main .service .bgBox h3 {
    margin-bottom: 1rem;
    color: #FF7200;
    font-size: 4.7rem;
    font-weight: 800;
    text-align: center;
}
#main .service .bgBox .midImg {
    margin: 0 -2.5rem 0.5rem;
}
#main .service .bgBox p {
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.75;
    transform: rotate(0.03deg);
}
#main .service .bgBox02 {
    padding: 1.5rem 3.7rem 4rem;
}
#main .service .bgBox02 h3 {
    margin-bottom: 1.3rem;
}
#main .service .bgBox .imgBox .photoBox {
    margin-right: 2.3rem;
    width: 34.5rem;
}
#main .service .bgBox .imgBox .photoBox img {
    width: 100%;
}
#main .service .bgBox .imgBox .txtBox {
    flex: 1;
}
#main .service .bgBox .imgBox li {
    display: flex;
    align-items: center;
}
#main .service .bgBox .imgBox li:not(:last-child) {
    margin-bottom: 2.4rem;
}
#main .service .bgBox .imgBox li img {
    margin-right: 1rem;
    width: 9rem;
}
#main .service .bgBox .imgBox p {
    flex: 1;
    color: #333;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.56;
}
#main .service .bgBox .imgBox p span {
    margin: -0.3rem 0 0.3rem;
    color: #FB0D1B;
    display: block;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.2;
    font-feature-settings: "palt";
    font-family: "Noto Sans JP", sans-serif;
}
@media all and (min-width: 897px) {
	#main .tabBox th, #main .tabBox td {
		transform: rotate(0.03deg);
	}
}
@media all and (max-width: 896px) {
    #main {
        margin-bottom: 7.5rem;
    }
    #main .mainImg {
        margin-bottom: 1.2rem;
    }
    #main .linkNavi {
        margin-bottom: 1.1rem;
        gap: 1rem;
    }
    #main .linkNavi li {
        width: 10.5rem;
    }
    #main .linkNavi a {
        padding: 0.2rem 0.2rem 1.5rem;
        font-size: 1.2rem;
        background-size: 1rem auto;
        background-position: center bottom 0.5rem;
    }
    #main h2 {
        margin-bottom: 0.5rem;
    }
    #main .midTxt {
        margin-bottom: 1rem;
        font-weight: 800;
    }
    #main .subTtl {
		margin-bottom: 0.3rem;
        font-size: 1.5rem;
        line-height: 1.4;
    }
    #main .topList {
        margin-bottom: 2rem;
        display: block;
    }
    #main .topList li {
        margin-bottom: 0.9rem;
        width: auto;
    }
    #main .price {
        padding: 0 0 3rem;
        background: none;
    }
    #main .price .subTtl {
        margin-bottom: 2rem;
    }
    #main .tabWrap {
        margin-right: -2rem;
        overflow-x: auto;
    }
    #main .tabBox {
        margin-bottom: 1rem;
    }
    #main table {
        margin: 0 auto;
        width: 70rem;
    }
    #main .tabBox th, #main .tabBox td {
        padding: 0.6rem 0.7rem;
        font-size: 1.3rem;
    }
    #main .tabBox td .num {
        font-size: 1.7rem;
    }
    #main .tabBox thead th {
        font-size: 1.55rem;
    }
    #main .tabBox thead .thStyle01 {
        font-size: 1.15rem;
    }
    #main .tabBox thead tr:last-child th {
        padding: 0.3rem 0.1rem 0;
    }
    #main .tabBox thead tr:last-child th p {
        margin: 0.5rem -0.1rem 0;
        padding: 0.4rem;
        font-size: 1rem;
    }
    #main .tabBox tbody th {
        font-size: 1.15rem;
    }
    #main .tabBox .tdStyle {
        padding-right: 1.7rem !important;
    }
    #main .tabBox tbody tr:last-child th, #main .tabBox tbody tr:last-child td {
        padding: 0.7rem 0.5rem;
    }
    #main .tabBox tbody tr:last-child th {
        font-size: 1.3rem;
    }
    #main .tabBox02 {
        margin-bottom: 0;
    }
    #main .tabBox02 tbody .thStyle02 {
        padding: 0.3rem 0;
        width: 2.7%;
    }
    #main .tabBox02 thead tr:last-child th {
        padding: 0.4rem;
        font-size: 1rem;
    }
    .scroll-hint-icon {
        padding: 2.3rem 0.5rem 1rem;
        left: 25%;
        top: 29.5%;
        width: 13.4rem;
        height: 10.7rem;
        background: rgba(0, 0, 0, 0.52);
        border-radius: 1rem;
    }
    .scroll-hint-icon:before {
        width: 4.1rem;
        height: 5.4rem;
        background-size: 4.1rem auto;
        background-image: url(../img/ryoukin/icon04.png);
    }
    .scroll-hint-icon:after {
        width: 6.8rem;
        height: 2.2rem;
        margin-left: -3.6rem;
        background-size: 6.8rem auto;
        background-image: url(../img/ryoukin/icon05.png);
    }
    .scroll-hint-text {
        margin-top: 0.4rem;
        font-size: 1.3rem;
        font-weight: bold;
    }
    #main .price .notes {
        margin: 1.5rem 0 0;
        font-size: 1.3rem;
        line-height: 1.46;
        letter-spacing: -0.02em;
        text-align: justify;
    }
    #main .service {
        padding: 0;
    }
    #main .service h2 {
        margin-bottom: 0.6rem;
    }
    #main .service .subTtl {
        margin-bottom: 0.8rem;
    }
    #main .service .photo {
        margin-bottom: 1rem;
    }
    #main .service .bgBox {
        padding: 1rem 1.5rem 4rem;
        border-radius: 0.5rem;
    }
    #main .service .bgBox:not(:last-child) {
        margin-bottom: 1rem;
    }
    #main .service .bgBox:not(:last-child):after {
        bottom: -1.5rem;
        margin-left: 0.5rem;
        width: 2.7rem;
        height: 2.7rem;
        background-size: 2.7rem auto;
    }
    #main .service .bgBox h3 {
        margin-bottom: 0.5rem;
        font-size: 2.35rem;
    }
    #main .service .bgBox .midImg {
        margin: 0 0.2rem 0.8rem;
    }
    #main .service .bgBox p {
        font-size: 1.3rem;
        line-height: 1.46;
        letter-spacing: -0.03em;
        text-align: justify;
    }
    #main .service .bgBox02 {
        padding: 1rem 1.5rem 2rem;
    }
    #main .service .bgBox02 h3 {
        margin-bottom: 0.5rem;
    }
    #main .service .bgBox .imgBox {
        display: block;
    }
    #main .service .bgBox .imgBox .photoBox {
        margin: 0 0 1.8rem;
        width: auto;
    }
    #main .service .bgBox .imgBox li {
        align-items: flex-start;
    }
    #main .service .bgBox .imgBox li:not(:last-child) {
        margin-bottom: 1.5rem;
    }
    #main .service .bgBox .imgBox li img {
        margin-right: 0.8rem;
        width: 4.5rem;
    }
    #main .service .bgBox .imgBox p {
        font-size: 1.3rem;
        line-height: 1.35;
    }
    #main .service .bgBox .imgBox p span {
        margin: -0.2rem 0 0.3rem;
        font-size: 1.5rem;
    }
}