* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

body {
    width: 100%;
    height: 100%;
}

.mdGHD04Logo img {
    width: 100px !important;
}

.bg-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}

.bg-fixed img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

main {
    background: #FBEB75 url(../img/sp/sp_bg.png);
    background-repeat: repeat;
    background-size: 40px 40px;
    height: 100%;
    width: 100%;
}

.fixed-menu {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    left: clamp(-1rem, -14.75rem + 17.188vw, 10rem);
    max-width: 32rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 5;
}

.bg-fff {
    background: #fff;
}

.align-center {
    align-items: center;
}

.pd-contain {
    padding: 0 1.8rem;
}

.grid4 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.main-pc {
    max-width: 38rem;
    margin: 10rem auto 0 auto;
    border: .18rem solid #fff;
    box-shadow: 0 0 1rem .2rem rgba(0, 0, 0, 0.1);
}

.bg-white {
    background: #fff;
    padding: 2rem;
}

img {
    width: 100%;
    height: auto;
}


.pos-relative {
    position: relative;
}

.pos-absolute {
    position: absolute;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.gap1 {
    gap: 1rem;
}

.gap2 {
    gap: 2rem;
}

.gap3 {
    gap: 3rem;
}

.pt1 {
    padding-top: 1rem;
}

.pt2 {
    padding-top: 2rem;
}

.pt3 {
    padding-top: 3rem;
}

.pt4 {
    padding-top: 4rem;
}

.pt5 {
    padding-top: 5rem;
}

.pt6 {
    padding-top: 6rem;
}

.pt7 {
    padding-top: 7rem;
}

.mt1 {
    margin-top: 1rem;
}

.mt2 {
    margin-top: 2rem;
}

.mt3 {
    margin-top: 3rem;
}

.mt4 {
    margin-top: 4rem;
}

.mt5 {
    margin-top: 5rem;
}

.mt6 {
    margin-top: 6rem;
}

.mt7 {
    margin-top: 7rem;
}

.grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.pc_ancor_a {
    position: relative;
    cursor: pointer;
    transition: all .3s ease-in-out;
}

.pc_ancor_a:hover {
    transform: translateX(1rem);
}

.pc_ancor_a.active {
    transform: translateX(1rem);
}

.pc_ancor_a .link-img-normal,
.pc_ancor_a .link-img-hover {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity .3s ease-in-out;
}

.link-img-height {
    visibility: hidden;
    pointer-events: none;
}

.pc_ancor_a .link-img-hover {
    opacity: 0 !important;
}

.pc_ancor_a.active .link-img-normal {
    opacity: 0;
}

.pc_ancor_a.active .link-img-hover {
    opacity: 1;
}

.pc_ancor_a:hover .link-img-normal {
    opacity: 0;
}

.pc_ancor_a:hover .link-img-hover {
    opacity: 1 !important;
}

.bg-white4 {
    background: #fff;
    padding: 2rem 1.6rem 3rem 1.6rem;
}

.line {
    padding: 0 2rem;
}

.bg-white5-1 {
    padding: 2rem .6rem 2rem .6rem;
    position: relative;
}

.bg-white5-1::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90.3%;
    height: 90.6%;
    background: #fff;
    z-index: 0;
}

.bg-white5-2 {
    padding: 2rem .6rem 2rem .6rem;
    position: relative;
}

.bg-white5-2::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90.3%;
    height: 97.6%;
    background: #fff;
    z-index: 0;
}


.bg-white5-3 {
    padding: 2rem 1.8rem 2rem 1.8rem;
    position: relative;
}

.bg-white5-3::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90.3%;
    height: 94.6%;
    background: #fff;
    z-index: 0;
}

.bg-white5-4 {
    padding: 2rem 1.8rem 2rem 1.8rem;
    position: relative;
}

.bg-white5-4::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90.3%;
    height: 97.8%;
    background: #fff;
    z-index: 0;
}

.bg-white5-5 {
    padding: 2rem 1.8rem 2rem 1.8rem;
    position: relative;
}

.bg-white5-5::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 90.3%;
    height: 91.6%;
    background: #fff;
    z-index: 0;
}

.pd-contain-l {
    padding: 0 3rem;
}

.sec10 {
    padding: 3rem 0;
    background: #fff;

}

.pp-sm {
    font-size: 1.05rem;
    text-align: center;
}

.pp-sl {
    font-size: 1.26rem;
    text-align: center;
    font-weight: bold;
}

.backtotop a{
    width: 100px !important;
    background-color: transparent !important;
}
