/* ----------------------------------------------------------------------
home
---------------------------------------------------------------------- */

#header_slider_wrap{
    display: none;
}

#page_contents .post_content {
    max-width: none;
    margin: 0 auto;
    padding: 0 0px;
    overflow: hidden;
}

#page_header,#bread_crumb{
    display: none !important;
}
#page_home{
    padding-top: 2vw;
    background-image: url(../img/home/back.png);
    height: 100%;
    background-size: cover;
    padding-bottom: 4vw;
}
#page_contents{
    padding-bottom: 0px;
}


.contents{
    font-size: clamp(20px, 1.5vw, 45px);
    width: 80%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width:800px) {
#page_home{
    padding-bottom: 30px;
}
.contents {
    width: 90%;
}
}

/* ----------------------------------------------------------------------
MV
---------------------------------------------------------------------- */
#mv_pc{
    margin-bottom: 100px;
  height: 850px;
  position: relative;
}

#mv_pc .img-box {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
}
#mv_pc .img1, #mv_pc .img2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background: center center no-repeat;
    animation: anime 10s 0s infinite;
    z-index: 0;
    opacity: 0;
;     background-size: contain;
}
#mv_pc .img1 {
    background-image: url(../img/home/mv_01.png);
}
#mv_pc .img2 {
    background-image: url(../img/home/mv_02.png);
    animation-delay: 5s;
}

@keyframes anime {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    60% {
        opacity: 0;
        z-index: 10;
}
    100% {
        opacity: 0;
    }
}


@media screen and (max-width:800px) {
    #mv_sp{
        margin-bottom: 20px;
        height: 400px;
        position: relative;
}
   
    #mv_sp .img-box {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
}
    #mv_sp .img1,#mv_sp .img2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background: center center no-repeat;
    animation: anime 10s 0s infinite;
    z-index: 0;
    opacity: 0;
;     background-size: contain;
}
    #mv_sp .img1 {
    background-image: url(../img/home/sp_mv_01.png);
}
    #mv_sp .img2 {
    background-image: url(../img/home/sp_mv_02.png);
    animation-delay: 5s;
} 
  
    }  
/* ----------------------------------------------------------------------
INFO
---------------------------------------------------------------------- */
#info{
    background-image: url(../img/home/item_01.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 30% auto;
    margin-bottom: 5vw;
}

#info img{
    width: 40%;
    margin-bottom: 20px;
}

#info p{
    color: #2A4F99;
    font-size: clamp(16px, 1.2vw, 20px);
    font-weight: 700;
    line-height: 2;
}


@media screen and (max-width:800px) {
    #info{
        background-size: 35% auto;
        margin-bottom:10vw;
        background-position: right -1vw top 2vw;
}
    #info img{
    width: 70%;
}


 #info p{
    line-height: 2;
}   
    
}
        
        
/* ----------------------------------------------------------------------
promise
---------------------------------------------------------------------- */
#promise{
  background-color: rgba(0,130,208,0.2);
    padding-top:  5vw;
    padding-bottom: 5vw;
}


#page_home .title{
    font-size: clamp(35px, 4vw, 70px);
    font-weight: 900;
    color: #FFFFFF;
    margin-bottom: 1.8vw;
    letter-spacing: 0.05em;
}

#page_home .sub_title{
    color: #2A4F99;
    font-size: clamp(20px, 2.2vw, 30px);
    font-weight: 700;
    margin-bottom: 2vw;
    padding-left: 2em;
    line-height: 1.6em;
}
#page_home .sub_title a{
    color: #FFFFFF;
    background: linear-gradient(to right, #68b7e7, #5c99e8);
    font-size: clamp(16px, 1.4vw, 30px);
    border-radius: 2vw;
    padding-left: 1.5em;
    padding-right: 1.5em;
    margin-left: 1.5em;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    transition: 0.3s;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    letter-spacing: 0.1em;
}
#page_home .sub_title a:hover{
    color: #FFFFFF;
    background-position: right;
    opacity: 0.5;
    text-decoration: none;
}
#page_home .sub_title a::after{
    /* 擬似要素で三角アイコンをつくる */
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #fff;
    width: 0;
    height: 0;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%); /* translateYのみ */
    border-radius: 3px;
}
.col_03{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.col_03 > div{
    width: 31%;
    background-color: #FFFFFF;
    -webkit-box-shadow: 10px 10px #7193C9;
    box-shadow: 10px 10px #7193C9;
    margin-bottom: 3vw !important;
    font-size: clamp(14px, 1.6vw, 24px);
    text-align: center;
    padding-bottom: 2vw;
}

.number{
    background-image: linear-gradient(135deg, #2A4F99 50%, transparent 0);
height: 6vw;
    color: #FFFFFF;
    position: absolute;
    text-align: left;
    width: 6vw;
    font-size: 2.3vw;
    font-weight: 600;
    padding-top: 0.5%;
    padding-left: 0.5%;
}
.col_03 > div img{
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2vw;
    margin-bottom: 1vw;
}
.col_03 > div .catch {
    color: #2A4F99;
    font-size: clamp(20px, 1.5vw, 30px);
    font-weight: 600;
    width: 75%;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 4px solid;
    border-image: linear-gradient(to right, #68b7e7, #5c99e8) 1;
    padding-bottom: 10px;
    margin-bottom: 15px;
}


.col_03 > div p {
    font-size: clamp(14px, 1vw, 16px);
    width: 86%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    line-height: 1.8em;
    font-weight: 500;
}

@media screen and (max-width:800px) {
    #promise{
    padding-top:  10vw;
    padding-bottom: 10vw;
    }
    
    #page_home .sub_title {
    margin-bottom: 16px;
    padding-left: 0em;
}
    #page_home .sub_title a {
    margin-top: 10px;
    padding-right:2em;
    margin-left: 0;
    display: block;
        width: 50%;
}
    #page_home .sub_title a::after {
    border-width: 6px 0 6px 6px;
}
    
    
.col_03{
    display: inherit;
}

.col_03 > div{
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 20px;
    -webkit-box-shadow: 5px 5px #7193C9;
    box-shadow: 5px 5px #7193C9;
}

.number {
        height: 90px;
        width: 90px;
        font-size: 30px;
        padding-top: 10px;
        padding-left: 10px;
    }
    
.col_03 > div img{
    width: 40%;
    margin-top: 10px;
    margin-bottom: 15px;
}

.col_03 > div p {
    font-size: clamp(14px, 1vw, 20px);
    width: 90%;
    line-height: 1.6em;
}
    
    
}


/* ----------------------------------------------------------------------
service
---------------------------------------------------------------------- */
#service{
    padding-top:  5vw;
    padding-bottom: 5vw;
}
#service .title{
    color: #2A4F99;
}
#service .back{
    background-image: url(../img/home/service_back.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    position: relative;
    width: 100%;
    height: 80vw;
}
.service_box{
    color: #FFFFFF;
    font-size: clamp(14px,1.5vw, 30px);
}


.ser_title{
    font-size: clamp(21px, 3vw, 50px);
    font-weight: 800;
    margin-bottom: 1.5vw;
    letter-spacing: 0.05em;
}

.ser_subtitle{
    font-size: clamp(17px,2vw, 30px);
    font-weight: 600;
    margin-bottom: 1vw;}

.service_box ul{
    list-style-type: disc;
    font-size: clamp(15px,1.4vw, 24px);
    padding-left: 1em;
}
.service_box ul li{
    line-height: 1.8em;
}
#service .back>div{
    position: absolute;
}
#service .back>div:nth-child(1) {
    top: 19%;
    left: 25%;
}
#service .back>div:nth-child(2) {
    top: 38%;
    right: 20%;
}

.col_02{
    display: flex;
    justify-content: flex-start;;
}

.col_02 ul{
    margin-right: 2vw;
    
}
#service .back>div:nth-child(3){
    bottom: 9%;
    left: 21%;
}

#service .back>div:nth-child(4){
    bottom: 11%;
    right: 32%;
}

#service .back>div:nth-child(4) ul{
    padding-left: 4vw;
}


@media screen and (max-width:800px) {
    #service{
    padding-top:  10vw;
    padding-bottom: 10vw;
}
    
#service .back{
    background-image: url(../img/home/sp_service_back.png);
    width: 100%;
        height: 800px;
        background-size: cover;
}
  .ser_subtitle {
    margin-bottom:8px;
}  
  
#service .back>div:nth-child(1){
        top: 10%;
        left: 13vw;
}

#service .back>div:nth-child(2){
        top: 43%;
        right: 3vw;
}

#service .back>div:nth-child(3){
        bottom: 22%;
        left: 6vw;
}

#service .back>div:nth-child(4){
        bottom: 4%;
        right: 14.5vw;
}
 }


/* ----------------------------------------------------------------------
NEWS
---------------------------------------------------------------------- */
#news{
    background-color: #FFFFFF;
    border-radius: 20vw;
    padding-left: 10vw;
    padding-right: 10vw;
    padding-top: 4vw;
    padding-bottom: 4vw;
}

#news .title{
    color: #2A4F99;
    display: flex;
    align-items: flex-end;
    font-size: clamp(35px, 4vw, 80px);
    
}
#news .sub_title {
   padding-left: 0em; 
    margin-bottom: 0;
}
#news .content{
    font-size: clamp(16px, 1vw, 20px);
    display: flex;
    border-bottom-width: 3px;
    border-bottom-style: solid;
    border-image: linear-gradient(to right, #68b7e7, #5c99e8) 1;
    padding-bottom: 0.7vw;
    margin-bottom: 0.7vw;
}

#news .content .date{
    width: 7em;
    line-height: 1.6em;
}

#news .content p{
    line-height: 1.6em;
    width: 100%;
    white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
    margin-bottom: 0;
}

  #news .content time{
      font-size: 90%;
}  
#news .content{}


@media screen and (max-width:800px) {
    #news{
    padding-top:10vw;
    padding-bottom: 10vw;
}

    #news .title{
    display: inherit;
    
}
    #news .sub_title a{
        width: 70%;
    margin-bottom: 15px;
}
    
  #news .content{
    padding-bottom: 2vw;
    margin-bottom: 2vw;
      flex-direction:column;
}  
  }  