
/* #special-contents{ */

    :root {
        /* --hd_h: 100px; */
        --hd_h: 59px;
        --hd_sh: 58px;
        --hd_h_sp: 59px;
        --main_w: 1440px;
        --main_color: #121212;
        --blue: #3073bb;
        --en: 'Inter';
        --gray: #f9f9f9;
        --gray2: #eef1f1;
    }
    /* #special-contents{ */
    body{
        font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    }
    #special-contents *{
        box-sizing: border-box;
    }

    #special-contents figure{
        margin: 0;
        position: relative;
    }
    .forPC{
        display: block;
    }
    .forSP{
        display: none;
    }
    .iblock{
        display: inline-block;
    }
    @media screen and (max-width:767px){
        .forPC{
            display: none;
        }
        .forSP{
            display: block;
        }
    }
    
body,div,dl,dt,dd,ul,ol,li,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure { 
    margin:0;
    padding:0;
}

body{
    font-size: 16px;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    line-height: 1.6;
}
#special-contents *{
    box-sizing: border-box;
}

.forPC{
    display: block;
}
.forSP{
    display: none;
}

sup {
    font-size: 70%;
	vertical-align: super;
}

.inner {
    box-sizing: content-box;
    max-width: 1240px;
    padding: 0 2%;
    position: relative;
    margin: 0 auto;
  }
  
img {max-width: 100%;}

.en{
    font-family: 'Inter', "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

@media screen and (max-width:767px){
    .forPC{
        display: none;
    }
    .forSP{
        display: block;
    }
    .inner {
        padding: 0 4%;
      }
}

/*----------------------------------------------------- */
/*  intro           */
/*----------------------------------------------------- */

.intro_ttl_wrap{
    text-align: center;
    margin-bottom: 30px;
    margin-top: 100px;
}

.intro_ttl_wrap p {
    display: inline-block;
    font-size: 24px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    background: #3073bb;
    padding: .2em 1em;
    border-radius: 3px;
    margin-bottom: 10px;
}

.intro_ttl{
    text-align: center;
    font-size: 43px;
    font-weight: normal;
    line-height: 1.4;
}

.intro_ttl span{
    font-weight: normal;
    font-size: 30px;
}


.intro_bg{
    height: 400px;
    background: url(../img/bg_01.png) center center no-repeat;
    background-size: cover;
    margin-bottom: 60px;
}

.intro_logo{
    max-width: 960px;
    margin: 0 auto 60px;
}

.intro_txt{
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 60px;
    line-height: 1.8;
}

.intro_pic{
    margin-bottom: 40px;
}

.intro_list {
    display: none;
}

.intro_comment{
    max-width: 820px;
    margin: 0 auto 100px;
    border-top: 1px solid #0f68a8;
    border-bottom: 1px solid #0f68a8;
    padding: 45px 0;
}

.intro_comment h3{
    font-size: 18px;
    color: #3073bb;
    font-weight: normal;
    margin-bottom: 15px;
}

.intro_comment p{
    font-size: 16px;
    line-height: 2;
}

.intro_note{
    max-width: 820px;
    font-size: 12px;
    margin: 0 auto 60px;
}

.intro_note li {
    margin-left: 1.8em;
    text-indent: -1.8em;
 }

@media screen and (max-width:767px){
    .intro_ttl_wrap{
        margin-bottom: 20px;
        margin-top: 60px;
    }
    
    .intro_ttl_wrap p {
        font-size: 18px;
        padding: .1em 1em;
        border-radius: 3px;
        margin-bottom: 10px;
    }
    
    .intro_ttl{
        font-size: 22px;
    }
    
    .intro_ttl span{
        font-size: 15px;
    }
    
    
    .intro_bg{
        height: 235px;
        background: url(../img/bg_01_sp.png) center center no-repeat;
        background-size: cover;
        margin-bottom: 30px;
    }
    
    .intro_logo{
        width: 90%;
        margin: 0 auto 30px;
    }
    
    .intro_txt{
        text-align: left;
        font-size: 15px;
        margin-bottom: 20px;
    }
    
    .intro_pic{
        margin-bottom: 30px;
    }

    .intro_list {
        display: block;
        font-size: 16px;
        line-height: 2;
        list-style: none;
        margin-top: 20px;
    }

    .intro_list li {
        margin-bottom: 15px;
    }

    .intro_list li span {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-radius: 10px;
        text-align: center;
        background: #3072b5;
        color: #fff;
        font-size: 13px;
        line-height: 18px;
    }
    
    .intro_comment{
        margin: 0 auto 60px;
        padding: 30px 0;
    }
    
    .intro_comment h3{
        font-size: 16px;
        margin-bottom: 15px;
    }
    
    .intro_comment p{
        font-size: 13px;
    }

    .intro_note{
        margin: 0 auto 30px;
    }
}

/*----------------------------------------------------- */
/*  case           */
/*----------------------------------------------------- */

.case{
    background: #f9f9f9;
    padding: 100px 0;
}

.case_box{
    background: #fff;
    padding: 90px 3% 70px;
}

.case_ttl_wrap{
    margin-bottom: 30px;
    text-align: center;
}

.case_ttl_wrap p{
    display: inline-block;
    font-size: 19px;
    font-weight: bold;
    position: relative;
    margin-bottom: 30px;
    color: #3072b5;
    padding: 8px 5px;
}

.case_ttl_wrap p::before{
    content: '';
    display: block;
    width:100%;
    height:0;
    border-bottom:3px solid #3072b5;
    position: absolute;
    top:0;
    left:0;
}

.case_ttl_wrap p::after{
    content: '';
    display: block;
    width:100%;
    height:0;
    border-bottom:3px solid #3072b5;
    position: absolute;
    bottom:0;
    left:0;
}

.case_ttl_wrap h2{
    font-size: 35px;
    font-weight: normal;
    margin-bottom: 30px;
}

.case_info{
    font-size: 14px;
    max-width: 588px;
    margin: 0 auto 130px;
}

.before{
    max-width: 820px;
    margin: 0 auto;
}

.before_wrap{
    display: flex;
    justify-content: space-between;
}

.before_ttl{
    display: inline;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    background: #999999;
    padding: 2px 10px;
}

.before_txt {
    margin-top: 20px;
    max-width: 454px;
}

.pic{
    max-width: 270px;
}

.before_subttl {
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 20px;
}

.arrow{
    width: 22px;
    margin: 35px auto 60px;
}

.after{
    max-width: 820px;
    margin: 0 auto 40px;
}

.after_wrap{
    display: flex;
    justify-content: space-between;
}

.after_ttl{
    display: inline;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    background: #3072b5;
    padding: 2px 10px;
}

.after_txt {
    margin-top: 20px;
    max-width: 454px;
}

.after_subttl {
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 20px;
}

/*----------------------------------------------------- */
/*  point           */
/*----------------------------------------------------- */

.point{
    max-width: 820px;
    margin: 0 auto;
}
.point_ttl{
    font-size: 24px;
    font-weight: bold;
    color: #3072b5;
    padding-left: 30px;
    background: url(../img/ico_point.png) left center no-repeat;
    background-size: 20px;
    margin-bottom: 10px;
}
.point_list{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.point_list li {
    width: 50%;
    margin-bottom: 10px;
}

.point_list li:nth-child(1) {order: 1;}
.point_list li:nth-child(2) {order: 3;}
.point_list li:nth-child(3) {order: 2;}
.point_list li:nth-child(4) {order: 4;}



@media screen and (max-width:767px){
    .case{
        padding: 30px 0;
    }
    
    .case_box{
        padding: 40px 3% 30px;
    }
    
    .case_ttl_wrap{
        margin-bottom: 30px;
        text-align: center;
    }
    
    .case_ttl_wrap p{
        font-size: 16px;
        margin-bottom: 20px;
        padding: 8px 5px;
    }

    
    .case_ttl_wrap h2{
        font-size: 18px;
        margin-bottom: 20px;
    }
    
    .case_info{
        font-size: 13px;
        margin: 0 auto 40px;
    }

    .sec01{
        border-bottom: 1px solid #707070;
        padding-bottom: 30px;
    }
    .sec01_before{
        width: 100%;
        text-align: center;
        color: #fff;
        font-size: 19px;
        font-weight: bold;
        background: #999999;
        margin-bottom: 20px;
    }
    .sec01_txt{
        margin-bottom: 20px;
    }
    .sec01_pic{
        width: 60%;
        margin: 0 auto;
    }
    .sec01_arrow{
        width: 20px;
        margin: 20px auto;
    }
    .sec01_after{
        width: 100%;
        text-align: center;
        color: #fff;
        font-size: 19px;
        font-weight: bold;
        background: #3072b5;
        margin-bottom: 20px;
    }
    .sec02{
        padding-top: 40px;
    }
    .sec02_ttl {
        font-size: 16px;
        text-align: center;
        font-weight: normal;
        margin-bottom: 20px;
    }
    .sec_before{
        display: inline-block;
        text-align: center;
        color: #fff;
        font-size: 19px;
        font-weight: bold;
        background: #999999;
        padding: 2px 20px;
        margin-bottom: 20px;
    }
    .sec02_txt {
        font-size: 13px;
        margin-bottom: 10px;
    }
    .sec02_arrow{
        width: 20px;
        margin: 20px auto;
    }
    .sec_after{
        display: inline-block;
        text-align: center;
        color: #fff;
        font-size: 19px;
        font-weight: bold;
        background: #3072b5;
        padding: 2px 20px;
        margin-bottom: 20px;
    }
    .sec02_pic {
        margin: 30px 0 20px;
    }
    .point_sp{
    }
    .point_ttl{
        font-size: 19px;
        font-weight: bold;
        padding-left: 28px;
        background: url(../img/ico_point.png) left center no-repeat;
        background-size: 18px;
        margin-bottom: 10px;
    }
    .point_list{
        display: block;
        margin-bottom: 50px;
    }
    
    .point_list li {
        width: 100%;
        font-size: 15px;
        margin-bottom: 10px;
    }
    

    .point_pic{
    }
    .sec03{
    }
    .sec03_after{
    }
    
    
    
    

}


/*----------------------------------------------------- */
/*  bottom_link           */
/*----------------------------------------------------- */

.bottom_link{
    padding: 60px 0;
    text-align: center;
}

.bottom_link_ttl{
    font-size: 18px;
    font-weight: bold;
    color: #3072b5;
    margin-bottom: 30px;
}

.bottom_link_txt{
    font-size: 12px;
    margin-bottom: 60px;
}

.bottom_link_btn{
    display: block;
    max-width: 405px;
    height: 50px;
    line-height: 50px;
    font-size: 18px;
    font-weight: bold;
    color: #000;
    text-decoration: none;
    text-align: center;
    margin: 0 auto;
    background: url(../img/ico_arrow_02.png) right 17px center no-repeat #f9d44f;
    background-size: 7px;
    border-radius: 25px;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
    transition: 0.3s ease-in-out;
}

.bottom_link_btn:hover {
    opacity: .7;
}

@media screen and (max-width:767px){
    .bottom_link{
        padding: 40px 0;
    }
    
    .bottom_link_ttl{
        font-size: 16px;
        margin-bottom: 30px;
    }
    
    .bottom_link_txt{
        margin-bottom: 30px;
    }
    
    .bottom_link_btn{
        display: block;
        max-width: 90%;
        height: 40px;
        line-height: 40px;
        font-size: 15px;
        background-size: 5px;
    }
}



/*----------------------------------------------------- */
/*  anm           */
/*----------------------------------------------------- */
.anm {
    opacity: 0;
  }
  
  .trigger {
    opacity: 0;
  }
  
  .trigger.up {
    animation: up 0.8s ease 0.3s 1 normal forwards;
  }
  
  .trigger.down {
    animation: down 0.8s ease 0.3s 1 normal forwards;
  }
  
  .trigger.left {
    animation: left 0.8s ease 0.3s 1 normal forwards;
  }
  
  .trigger.right {
    animation: right 0.8s ease 0.3s 1 normal forwards;
  }
  
  .trigger.delay0 {
    animation-delay: 0ms;
  }
  
  .trigger.delay1 {
    animation-delay: 100ms;
  }
  
  .trigger.delay2 {
    animation-delay: 200ms;
  }
  
  .trigger.delay3 {
    animation-delay: 300ms;
  }
  
  .trigger.delay4 {
    animation-delay: 400ms;
  }
  
  .trigger.delay5 {
    animation-delay: 500ms;
  }
  
  .trigger.delay6 {
    animation-delay: 600ms;
  }
  
  .trigger.delay7 {
    animation-delay: 700ms;
  }
  
  .trigger.delay8 {
    animation-delay: 800ms;
  }
  
  .trigger.delay9 {
    animation-delay: 900ms;
  }
  
  .trigger.delay10 {
    animation-delay: 1000ms;
  }
  
  .trigger.delay11 {
    animation-delay: 1100ms;
  }
  
  .trigger.delay12 {
    animation-delay: 1200ms;
  }
  
  @keyframes up {
    0% {
      transform: translateY(50px);
      opacity: 0;
    }
    100% {
      transform: translateY(0px);
      opacity: 1;
    }
  }
  @keyframes down {
    0% {
      transform: translateY(-50px);
      opacity: 0;
    }
    100% {
      transform: translateY(0px);
      opacity: 1;
    }
  }
  @keyframes right {
    0% {
      transform: translateX(30px);
      opacity: 0;
    }
    100% {
      transform: translateX(0px);
      opacity: 1;
    }
  }
  @keyframes left {
    0% {
      transform: translateX(-30px);
      opacity: 0;
    }
    100% {
      transform: translateX(0px);
      opacity: 1;
    }
  }
  @keyframes rotation {
    0% {
      transform: rotate(0);
    }
    100% {
      transform: rotate(360deg);
    }
  }/*# sourceMappingURL=style.css.map */