@charset "utf-8";

/* all */
*{
    padding:0;
    margin:0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
}
img,
video{
    width:100%;
    vertical-align: bottom;
}
ul,li{
    list-style-type: none;
}
a{
    text-decoration: none;
    color:#231815;
}
.sp{
    display: none;
}
.relative{
    position: relative;
}
.absolute{
    position: absolute;
    top: 0;
    left: 0;
}
.scroll_fadeIn{
    opacity:0;
    transform:translateY(5px);
    transition:0.5s opacity ease-in,0.5s transform ease-in;
}
.scroll_fadeIn.active{
    opacity:1;
    transform:translateY(0px);
}
.leaflet-top, .leaflet-bottom {
    z-index: 980;
}
@media (max-width:768px){
    .pc{
        display:none;
    }
    .sp{
        display:block;
    }
}

/* mainCopy */
.mainCopy{
    padding: 50px 0;
}
.mainCopy>p{
    max-width: 1100px;
    width: 80%;
    margin: 0 auto;
}
.mainCopy>p.noticeTxt{
    font-size: 0.65em;
    line-height: 1.8;
    margin-top: 20px;
}

/* mainText */
.mainText{
    text-align: center;
    margin-bottom: 50px;
}
.mainText>p{
    font-size: 0.9em;
    line-height: 2.5;
}
.under992{
    display: none;
}
@media (max-width:992px){
    .under992{
        display: block;
    }
}

/* contentTtl */
.contentTtl{
    background: linear-gradient(180deg,#fff 0%,#fff 50%,#fff5f5 50%,#fff5f5 100%);
}
.contentTtl>h2{
    max-width: 1100px;
    width: 80%;
    margin: 0 auto;
    border: 2px solid #000;
    background-color: #fff;
}

/* contentWrap */
.contentWrap{
    background-color: #fff5f5;
    padding-bottom: 100px;
}
.contentBox{
    padding: 50px 0;
    border-bottom: 2px solid #d2a096;
}
.contentRow.odd{
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.contentRow.even{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.contentRow.odd>.txtBox{
    max-width:550px;
    width: 40%;
    margin-right: 50px;
}
.contentRow.even>.txtBox{
    max-width:550px;
    width: 40%;
    margin-left: 50px;
}
.contentRow>.txtBox>h3{
    margin-bottom: 20px;
}
.contentRow>.txtBox>p{
    font-size: 0.9em;
    line-height: 2.5;
}
.contentRow>.imgBox{
    width: 50%;
    height: 600px;
}
.contentRow>.imgBox>img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.contentRow>.imgBox>.imgNotice{
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    font-size: 0.55em;
}
.contentBox>.tableBox{
    max-width: 1100px;
    width: 80%;
    margin: 0 auto;
}
.contentRow.even>.txtBox>ul{
    margin-top: 30px;
}
.contentRow.even>.txtBox>ul>li{
    font-size: 0.8em;
    padding: 0.25em 1em;
    box-sizing: border-box;
    color: #fff;
    background-color: #d2a096;
    margin-bottom: 10px;
}
.contentRow.even>.txtBox>ul.halfWidth{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.contentRow.even>.txtBox>ul.halfWidth>li{
    width: 48%;
}
@media (max-width:768px){
    .contentRow.odd,
    .contentRow.even{
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .contentRow.odd>.txtBox{
        max-width: 100%;
        width: 90%;
        margin-bottom: 30px;
        margin-right: 0;
    }
    .contentRow.even>.txtBox{
        max-width: 100%;
        width: 90%;
        margin-bottom: 30px;
        margin-left: 0;                
    }
    .contentRow>.imgBox{
        max-width: 100%;
        width: 100%;
        height: auto;
    }
    .contentRow.even>.imgBox{
        order: 1;
    }
    .contentRow.odd>.txtBox>.tableBox{
        width: 100%;
        margin-top: 30px;
    }
}

/* recommendPlan_ttl */
.recommendPlan_ttl{
    background: linear-gradient(180deg,#fff5f5 0%,#fff5f5 50%, #fff 50%,#fff 100%);
}
.recommendPlan_ttl>h2{
    max-width: 1100px;
    width: 80%;
    margin: 0 auto;
    border: 2px solid #000;
    background-color: #fff;
}

/* recommendPlan_ttl */
.planBox{
    padding: 50px 0;
}
.planBox01{
    position: relative;
}
.planBox01:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right,#000 0,#000 10px,transparent 10px,transparent 15px);
    background-size: 15px 1px;
    background-repeat: repeat-x;
}
.planBox>.ttlBox{
    text-align: center;
}
.planBox>.ttlBox>h3{
    font-size: 1.5em;
    letter-spacing: 0.1em;
    display: inline-block;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid #000;
}
.planRow{
    max-width: 1320px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.planRow>.txtBox{
    width: 40%;
}
.planRow>.txtBox>.ttlBox{
    margin-bottom: 30px;
}
.planRow>.txtBox>.ttlBox>h3{
    margin-bottom: 10px;
}
.planRow>.txtBox>.ttlBox>p{
    font-size: 0.8em;
}
.planRow>.txtBox>.specBox{
    margin-bottom: 50px;
}
.planRow>.txtBox>.specBox>h4{
    margin-bottom: 10px;
}
.planRow>.txtBox>.specBox>p{
    font-size: 0.8em;
    margin-bottom: 30px;
}
.planRow>.txtBox>.specBox>ul>li{
    font-size: 1em;
    margin-bottom: 5px;
}
.planRow>.txtBox>.specBox>ul>li:nth-child(2){
    margin-bottom: 0px;
}
.planRow>.txtBox>.txtBox>h5{
    font-size: 1.25em;
    font-weight: 600;
    margin-bottom: 10px;
}
.planRow>.txtBox>.txtBox>p{
    font-size: 0.9em;
    line-height: 2;
}
.planRow>.imgBox{
    width: 56%;
}
.planBox>.btnBox{
    max-width: 550px;
    width: 90%;
    margin: 0 auto;
    margin-top: 30px;
}
.planBox>.btnBox>a{
    display: block;
    background: linear-gradient(
        120deg,
        #1f4d40,
        #53927f,
        #2d6958,
        #6aa995,
        #1f4d40
    );
    background-size: 300% 300%;

    animation: greenGradient 8s ease infinite;
    transition: 0.5s all;
    border: 1px solid #000;
}
@keyframes greenGradient{
    0%{
        background-position: 0% 50%;
    }
    50%{
        background-position: 100% 50%;
    }
    100%{
        background-position: 0% 50%;
    }
}
.planBox>.btnBox>a:hover,
.planBox>.btnBox>a:active{
    opacity: 0.5;
}
.planBox>.linkBox{
    max-width: 550px;
    width: 90%;
    margin: 0 auto;
    margin-top: 30px;
    text-align: center;
}
.planBox>.linkBox>a{
    padding-bottom: 10px;
    border-bottom: 2px solid #d2a096;
    transition: 0.5s all;
}
.planBox>.linkBox>a:hover,
.planBox>.linkBox>a:active{
    opacity: 0.5;
}
.planBox02>.planRow01{
    border-bottom: 1px solid #000;
    padding-bottom: 50px;
    margin-bottom: 50px;
}
.planBox>.ttlBox>.hukidashi{
    max-width: 350px;
    width: 75%;
    margin: 0 auto;
}
@media (max-width:768px){
    .planRow>.txtBox,
    .planRow>.imgBox{
        width: 100%;
    }
    .planRow>.txtBox{
        margin-bottom: 30px;                
    }
    .planRow>.imgBox{
        order: 1;
    }
}