@charset "utf-8";

/*-----------------------
    page_top.css
------------------------*/

/*----- mv -----*/

.top_mv {
    position: relative;
    display: block;
    width: 100%;
    height: 640px;
    background: url("/system_panel/uploads/images/top_mv_bg.jpg") top center no-repeat;
    background-size: auto 640px;
}
.top_mv .title {
    position: absolute;
    bottom: 30px;
    left: calc(50% - 480px);
    width: 960px;
}
.top_mv .btn {
    position: absolute;
    z-index: 9;
    bottom: -40px;
    right: 6vw;
    width: 223px;
}
.top_mv .btn img {
    transition: .5s;
}
.top_mv .btn:hover img {
    transform: scale(1.05);
}

.zoomIn,
.zoomIn2 {
	animation-name: zoomInAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}
.zoomIn2 {
	animation-duration: 2s;
}

@keyframes zoomInAnime{
  from {
	transform: scale(0);
  }
  to {
      transform: scale(1);
  }
}
@media screen and (min-width: 768px) and (max-width: 1700px){
    
    .top_mv {
        height: 520px;
        background-size: auto 600px;
    }
    .top_mv .title {
        bottom: 20px;
        left: calc(45% - 30vw);
        width: 60vw;
    }
    .top_mv .btn {
        right: 30px;
        width: 200px;
    }
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .top_mv {
        height: 46.5vw;
        background-size: auto 46.5vw;
    }
    .top_mv .title {
        bottom: 3vw;
        left: calc(40% - 33vw);
        width: 66vw;
    }
    .top_mv .btn {
        bottom: -4vw;
        right: 3vw;
        width: 22vw;
    }
    
}
@media screen and (max-width: 767px){
   
    .top_mv {
        height: 90vw;
        background-size: auto 55vw;
    }
    .top_mv .title {
        position: absolute;
        bottom: 38%;
        left: 2%;
        width: 96%;
    }
    .top_mv .btn {
        position: absolute;
        z-index: 9;
        bottom: -40px;
        right: calc(50% - 22vw);
        width: 44vw;
    }
    
}

/*----- trust -----*/

.top_trust {
    padding: 60px 0 75px;
}
.top_trust_ttl {
    margin: 60px 0 35px;
    text-align: center;
}
.top_trust_ttl .text {
    display: inline-block;
    padding: 10px 20px;
    background: #cc872a;
    border-radius: 40px;
    color: var(--white);
    font-size: 26px;
    line-height: 1.2;
}
.top_trust .frame {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.top_trust .frame .pic {
    width: 51.5%;
}
.top_trust .frame .pic img {
    aspect-ratio: 137/97;
}
.top_trust .frame .conts {
    width: 45.5%;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .top_trust {
        padding: 5vw 0 6vw;
    }
    .top_trust_ttl {
        margin: 5vw 0 3vw;
    }
    .top_trust_ttl .text,
    .top_trust .m_box .ttl .text {
        padding: 1vw 2vw;
        font-size: 2vw;
    }
    .top_trust .frame {
        margin-top: 2vw;
    }
    .top_trust .frame .pic {
        width: 42%;
    }
    .top_trust .frame .conts {
        width: 56%;
    }
    
}
@media screen and (max-width: 767px){
    
    .top_trust {
        padding: 50px 0;
    }
    .top_trust_ttl {
        margin: 30px auto 25px;
        width: 88%;
        text-align: left;
    }
    .top_trust .m_box .ttl {
        text-align: left;
    }
    .top_trust_ttl .text,
    .top_trust .m_box .ttl .text {
        padding: 10px 5vw;
        font-size: min(4.75vw,22px);
        line-height: 1.375;
    }
    .top_trust .frame {
        display: block;
        margin-top: 0;
    }
    .top_trust .frame .pic {
        margin: 0 auto 20px;
        width: min(400px,100%);
    }
    .top_trust .frame .conts {
        width: 100%;
    }
    
}

/*----- service -----*/

.top_service {
    background: url("/system_panel/uploads/images/bg_top_worries_base.jpg");
}
.top_service .head {
    display: block;
    width: 100%;
    height: min(42.5vw,770px);
    background: url("/system_panel/uploads/images/bg_top_worries.jpg") top center no-repeat;
    background-size: cover;
}
.top_service .foot {
    display: block;
    width: 100%;
    height: min(15vw,270px);
    background: url("/system_panel/uploads/images/bg_top_worries_end.jpg") bottom center no-repeat;
    background-size: cover;
}
.top_service .wrap {
    margin-top: -100px;
}
.top_service .bnr {
    margin: 40px auto -90px;
    width: 596px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .top_service .wrap {
        margin-top: -12vw;
    }
    .top_service .bnr {
        margin: 3.5vw auto -7.5vw;
        width: 45vw;
    }
    
}
@media screen and (max-width: 767px){
    
    .top_service .head {
        height: 50vw;
    }
    .top_service .foot {
        height: 20vw;
    }
    .top_service .wrap {
        margin-top: -12vw;
    }
    .top_service .bnr {
        margin: 30px auto -2vw;
        width: min(300px,100%);
    }
    
}

/*----- reason -----*/

.top_reason {
    padding: 75px 0 90px; 
}
.top_reason .ul {
    margin-top: 60px;
}
.top_reason .ul .li {
    position: relative;
    margin-top: 50px;
    padding: 30px;
    background: var(--white);
    border: 4px solid var(--text);
    border-radius: 10px;    
}
.top_reason .ul .li .head {
    position: absolute;
    z-index: 9;
    top: -84px;
    right: 45px;
}
.top_reason .ul .li:nth-of-type(2n) .head {
    right: auto;
    left: 45px;    
}
.top_reason .ul .li .head img {
    width: 361px;
}
.top_reason .ul .li .frame {
    display: flex;
    justify-content: space-between;
}
.top_reason .ul .li .frame .conts {
    width: 63%;
}
.top_reason .ul .li:nth-of-type(2n+1) .frame .conts {
    order: 2;
}
.top_reason .ul .li .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: bold;
}
.top_reason .ul .li .title .num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    background: var(--green);
    border-radius: 50%;
    aspect-ratio: 1;
    color: var(--white);
    font-size: 31px;
    line-height: 1;
}
.top_reason .ul .li .title .ttl {
    width: calc(100% - 80px);
    font-size: 38px;
    color: var(--brown);
}
.top_reason .ul .li .p {
    line-height: 2.5;
}
.top_reason .ul .li .frame .pic {
    width: 33.33%;
}
.top_reason .ul .li .frame .pic img {
    aspect-ratio: 388/273;
}

@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .top_reason {
        padding: 6vw 0 7.5vw; 
    }
    .top_reason .ul .li {
        margin-top: 4.5vw;
        padding: 24px 2.5vw;
        border-width: 3px;
    }
    .top_reason .ul .li .head {
        top: -63px;
        right: 4vw;
    }
    .top_reason .ul .li:nth-of-type(2n) .head {
        right: auto;
        left: 4vw;    
    }
    .top_reason .ul .li .head img {
        width: 270.75px;
    }
    .top_reason .ul .li .title {
        margin-bottom: 1.5vw;
    }
    .top_reason .ul .li .title .num {
        width: 5vw;
        font-size: 2.5vw;
    }
    .top_reason .ul .li .title .ttl {
        width: calc(100% - 6.66vw);
        font-size: 2.6vw;
    }
    .top_reason .ul .li .p {
        line-height: 2.25;
    }
    
}
@media screen and (max-width: 767px){
    
    .top_reason {
        padding: 50px 0; 
    }
    .top_reason .ul {
        margin-top: 50px;
    }
    .top_reason .ul .li {
        margin-top: 30px;
        padding: 20px 5vw;
        border-width: 2px;
    }
    .top_reason .ul .li .head {
        top: -42.5px;
        right: 3vw;
    }
    .top_reason .ul .li:nth-of-type(2n) .head {
        right: auto;
        left: 3vw;    
    }
    .top_reason .ul .li .head img {
        width: 180.5px;
    }
    .top_reason .ul .li .frame {
        display: block;
    }
    .top_reason .ul .li .frame .conts {
        width: 100%;
    }
    .top_reason .ul .li .title {
        margin-bottom: 15px;
    }
    .top_reason .ul .li .title .num {
        width: 40px;
        font-size: 24px;
    }
    .top_reason .ul .li .title .ttl {
        width: calc(100% - 55px);
        font-size: min(6.66vw,25px);
    }
    .top_reason .ul .li .p {
        line-height: 2;
    }
    .top_reason .ul .li .frame .pic {
        margin: 20px auto 0;
        width: min(360px,100%);
    }    
}

/*----- service2 -----*/

.top_service2 {
    padding: 75px 0;
    background: var(--brown);
}
.top_service2 .m_title {
    color: var(--brown);
}
.top_service2 .frame {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.top_service2 .conts {
    width: 56%;
}
.top_service2 .pic {
    width: 42%;
}
.top_service2 .pic img {
    aspect-ratio: 127/92;
}
.top_service2 .ul {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 0 45px;
}
.top_service2 .ul .li .text {
    text-align: center;
}
.top_service2 .ul .li .text img {
    width: 313px;
}

@media screen and (min-width: 768px) and (max-width: 1260px){

    .top_service2 {
        padding: 6vw 0;
    }
    .top_service2 .frame {
        margin-bottom: 3vw;
    }
    .top_service2 .conts {
        width: 50%;
    }
    .top_service2 .pic {
        width: 48%;
    }
    .top_service2 .ul {
        gap: 0 4vw;
    }
    .top_service2 .ul .li .text img {
        width: 30vw;
    }

}
@media screen and (max-width: 767px){

    .top_service2 {
        padding: 50px 0;
    }
    .top_service2 .frame {
        display: block;
        margin-bottom: 20px;
    }
    .top_service2 .conts {
        width: 100%;
    }
    .top_service2 .pic {
        width: min(400px,100%);
        margin: 20px auto 0;
    }
    .top_service2 .ul {
        display: block;
    }
    .top_service2 .ul .li {
        margin: 15px auto 0;
    }
    .top_service2 .ul .li .text img {
        width: 242px;
    }
    
}

/*----- end -----*/

.top_end {
    display: flex;
    box-sizing: border-box;
}
.top_end .box {
    width: 50%;
    padding: 90px 0 60px;
}
.top_end .box .pm {
    margin: 40px auto;
    width: fit-content;
}
.top_end .box:nth-of-type(1) {
    background: url("/system_panel/uploads/images/bg_top_map.jpg") center no-repeat;
    background-size: cover;
}
.top_end .box:nth-of-type(1) .m_title_h4 {
    color: var(--brown);
}
.top_end .box:nth-of-type(2) {
    background: var(--green);
    color: var(--white);
}
.top_end .box:nth-of-type(2) .m_title_h4 br {
    display: none;
}

@media screen and (min-width: 768px) and (max-width: 1700px){
    
    .top_end .box {
        padding: 60px 4vw;
    }
    .top_end .box:nth-of-type(2) .m_title_h4 br {
        display: inline-block;
    }
    
}
@media screen and (min-width: 768px) and (max-width: 1260px){
    
    .top_end .box {
        padding: 6vw 4vw 5vw;
    }
    .top_end .box .pm {
        margin: 3vw auto;
    }
    .top_end .box .pm br {
        display: none;
    }
    
}
@media screen and (max-width: 767px){
    
    .top_end {
        display: block;
    }
    .top_end .box {
        width: 100%;
        padding: 50px 6vw;
    }
    .top_end .box .pm {
        margin: 20px auto 30px;
    }
    .top_end .box:nth-of-type(2) .m_title_h4 {
        line-height: 1.5;
    }
    .top_end .box:nth-of-type(2) .m_title_h4 br {
        display: inline-block;
    }
    
}


@media screen and (min-width: 1800px){
  .top_mv .btn {
    right: 10vw;
}
  .top_service .head {
    height: min(42.5vw, 700px);
  }
}