/* ------ brand common -------- */

/* ------ page -------- */

  .l-smallspOnly{
    display:none;
  }
  .c-pageTtl {
    background-image: url(/brand/alpitan/img/alpitan_mechanism/bg_pageTtl_sp.jpg );
  }
  
  .p-anchor-link{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #0d3191;
    height: 6rem;
    margin-bottom: 40px;
    background-color: #f6cd00;
  }

  .p-anchor-link span{
    position: relative;
  }

  .p-anchor-link span::before{
    position: absolute;
    top: 50%;
    right: -20.5px;
    transform: translateY(-50%);
    content: '';
    width: 15px;
    height: 15px;
    background-image: url(/brand/alpitan/img/common/ico_arrow02.svg);
    background-size: contain;
    background-repeat: no-repeat;
  }

  .p-lead-txt {
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.22;
    letter-spacing: 0.003em;
    color: #0d3191;
    margin: 0 0 25px;
  }

  .p-check-list {
    padding: 25px 20px;
    border: 1px solid #1d2088;
    font-weight: bold;
  }

  .p-check-list li {
    position: relative;
    margin: 11px 0 0;
    padding: 0 0 0 26px;
    line-height: 1.57;
  }

  .p-check-list li:first-child {
    margin-top: 0;
  }

  .p-check-list li::before {
    box-sizing: border-box;
    display: inline-block;
    background: url(/brand/alpitan/img/alpitan_mechanism/ico_check01_sp.png) no-repeat left;
    background-size: contain;
    position: absolute;
    left: 0px;
    width: 20px;
    height: 18px;
    content: "";
  }

  .p-check-img {
    width: 75vw;
    margin: 30px auto 35px;
  }

  .p-check-txt{
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    color: #0d3191;
    margin-top: 30px;
    margin-bottom: 35px;
  }
  .p-check-txt span{
    font-size: 130%;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 3px;
  }
  .p-check-txt b{
    font-size: 32.5px;
    color: #f6cd00;
    text-shadow: 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088;
  }
  
  .c-cause{
    margin-bottom:30px;
  }
  .c-cause .c-cause_img{
    margin:25px auto 15px;
  }

  .c-cause .c-cause_img02{
    position: relative;
  }

  .c-cause .c-cause_txt{
    position: absolute;
    font-size: 4vw;
    font-weight: bold;
  }

  .c-cause_txt--1{
    top: 4vw;
    right: 7.5vw;
  }

  .c-cause_txt--2{
    top: 14.5vw;
    right: 19.5vw;
    color: #fff;
  }

  .c-cause_txt--3{
    top: 24.4vw;
    right: 17.5vw;
    color: #fff;
  }

  .c-cause_txt--4{
    top: 34vw;
    right: 13vw;
    color: #fff;
  }
  
  .c-cause .p-dot-list li {
    padding-left: 1em;
    text-indent:-0.5em;
    padding-bottom:10px;
  }
  
  .c-cause .p-dot-list li::before {
    display: inline-block;
    content: "●";
    color: #0d3191;
  }
  
  .c-mechanism .c-mechanism_img_01{
    width:65vw;
    margin: 30px auto;
  }

  .c-mechanism .c-mechanism_img_01 p{
    font-size: 1.2rem;
    letter-spacing: -0.087em;
    color: #0d3191;
    margin-top: 3px;
  }
  
  .c-mechanism .c-mechanism_img_01 p span{
    padding: 2px 4px;
    border: 1px solid #0d3191;
  }

  .c-mechanism .c-mechanism_img_01 figcaption{
    font-weight: bold;
    text-align: center;
  }
  
  .c-mechanism .c-mechanism_img_02{
    width:73vw;
    margin: 0 auto;
  }

  .c-mechanism .c-mechanism_txt{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    color: #0d3191;
    margin-bottom: 26px;
    margin-bottom: 44px;
  }

  .c-mechanism .c-mechanism_txt span{
    display: inline-block;
    font-size: 32.5px;
    color: #f6cd00;
    text-shadow: 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088,0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088;
    margin-top: 12px;
  }
  
  .p-dl-list dt{
    color:#0d3191;
    font-weight:bold;
    font-size:1.2em;
    margin:20px 0 0;
  }
  
  .p-dl-list dd span{
    display:block;
    margin-top:5px;
  }
  
  .c-commit_img{
    position: relative;
    padding-top:10px;
  }

  .c-commit_img .c-commit_txt{
    position: absolute;
    font-size: 3.8vw;
    font-weight: bold;
    letter-spacing: -0.15em;
    color: #0d3191;
  }

  .c-commit_txt--1{
    left: 16vw;
    bottom: 34.5vw;
  }
  .c-commit_txt--2{
    left: 39vw;
    bottom: 34.5vw;
  }
  .c-commit_txt--3{
    left: 59vw;
    bottom: 34.5vw;
  }
  .c-commit_txt--4{
    left: 24vw;
    bottom: 5.5vw;
  }
  .c-commit_txt--5{
    left: 52vw;
    bottom: 5.5vw;
  }
  
  .c-table .marker{
    background-color:#fff100;
    color:#0d3191;
    font-weight: bold;
  }
  
  .c-table .yellow{
    color:#fff100;
    font-size: 1.2em;
  }
  
  .c-commit .c-table{
    margin:40px 0 0 0;
  }
  
  .c-feature{
    margin: 50px 0 10px ;
  }
  
  .c-feature .c-feature_img_01{
    position: relative;
    width: 67.46vw;
    margin: 30px auto 35px;
  }

  .c-feature .c-feature_img_01 figcaption{
    position: absolute;
    top: 76vw;
    left: 8vw;
    font-size: 3vw;
    text-align: left;
    letter-spacing: normal;
    color: #0d3191;
  }
  
  .c-feature .c-feature_img_01 figcaption span{
    padding: 2px 4px;
    border: 1px solid #0d3191;
  }
  
  .c-feature .c-feature_img_02{
    width:77vw;
    margin: 40px auto 0;
  }

  .c-feature_txt{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #0d3191;
    letter-spacing: -0.05em;
    margin: 40px auto;
  }

  .c-feature_txt span{
    text-decoration: underline;
    text-underline-offset: 6px;
  }

  .c-feature_txt b{
    font-size: 32.5px;
    color: #f6cd00;
    text-shadow: 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088;
  }
  
  .c-feature .c-bgArea{
    padding: 0;
    margin: 45px 9px 0;
  }
  
  .c-feature .c-bgArea h4{
    font-size: 1.3em;
    color:#fff;
    text-align:center;
    background-color:#0d3191;
    padding:5px 0;
  }
  
  .c-feature .c-bgArea ul{
    padding: 15px 20px 15px 35px;
  }
  
  .c-feature .c-bgArea ul li{
    padding-left: 0;
    text-indent:-0.5em;
    padding-bottom: 5px;
  }
  
  .c-feature .c-bgArea ul li::before {
    display: inline-block;
    content: "●";
    color: #0d3191;
  }
  
  .c-feature .c-buy_btn a{
    width: 90vw;
    height: auto;
    margin: 30px auto 0;
  }
  
  .c-info h3{
    margin-top:35px;
  }
  
  .c-info h4{
    margin-top:5px;
  }
  
  .c-info .c-table{
    margin:20px 0 10px; 
  }
  
  .c-info ul li,
  .c-info ol li{
    text-indent: -1.1em;
    padding-left:1em;
    padding-bottom: 5px;
  }

  .c-info ol li ol li{
    text-indent: -1.1em;
    padding-left:2em;
    padding-bottom: 0;
  }
  
  .c-info .h-component{
    font-size:1.2em;
  }
  
  .c-info .l-component{
    margin-bottom:10px;
  }
  
  .c-info .l-component li{
    padding-left: 3em;
  }
  
  .c-info .l-component li::before{
    display: inline-block;
    content: "●";
    color: #0d3191;
  }

  .c-naviContents:first-of-type .h3Ttl{
    padding-top: 20px;
  }
  
  .h3Ttl{
    width: 80vw;
    padding-bottom: 20px;
    padding-top: 40px;
    margin: 0 auto;
  }

  .c-naviContents_list li:nth-of-type(n+3) {
    margin-top: 20px;
  }
  
  .c-buy{
    background: url(/brand/alpitan/img/common/bg_cv_alpitan_sp.jpg) no-repeat center top;
    background-size: cover;
    margin-top: 50px;
  }
  .c-buy_img figcaption{
    font-size: 1.2rem;
    letter-spacing: -0.087em;
    color: #0d3191;
    margin-top: 10px;
  }
  
  .c-buy_img-alpitan figcaption{
    font-size: 1.2rem;
    letter-spacing: -0.087em;
    color: #0d3191;
    margin-top: 10px;
  }
  
  .c-buy_img figcaption span{
    padding: 2px 4px;
    border: 1px solid #0d3191;
  }
  
  .c-buy_img-alpitan figcaption span{
    padding: 2px 4px;
    border: 1px solid #0d3191;
  }

@media print,
screen and (max-width: 768px) {
  
  .c-cause .c-cause_img01{
    margin: 25px -18px 15px;
  }
  
}

@media print,
screen and (min-width: 768px) {
  .c-pageTtl {
    background-image: url(/brand/alpitan/img/alpitan_mechanism/bg_pageTtl.jpg);
  }

  .p-anchor-link{
    width: 460px;
    margin: 0 auto 50px;
  }
  
  .p-lead-area{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-around;
  }

  .p-lead-box {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 523px;
    margin: 0 0 0 60px;
  }

  .p-lead-box>figure {
    width: 340px;
  }

  .p-lead-box>div {
    width: 523px;
  }

  .p-lead-txt {
    margin-bottom: 48px;
    font-size: 2.6rem;
    line-height: 1.76;
  }

  .p-check-ttl {
    margin: -10px 0 5px;
    padding-left: 27px;
    background-size: auto;
    font-size: 1.8rem;
  }

  .p-check-list {
    padding: 35px 30px;
    width: 100%;
  }

  .p-check-list li {
    margin-top: 16px;
    font-size: 2rem;
    padding: 0 0 0 36px;
  }

  .p-check-list li::before {
    width: 26px;
    height: 23px;
    top: 3px;
  }

  .p-check-img {
    width:auto;
    text-align: center;
    margin: 0 auto;
  }
  
  .p-check-txt{
    font-size: 22px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    color: #0d3191;
    margin-top: 0;
    margin-bottom: 0;
  }
  .p-check-txt span{
    font-size: 25px;
    text-decoration: underline;
    text-decoration-thickness: 3px;
  }
  .p-check-txt b{
    font-size: 30px;
    color: #f6cd00;
    text-shadow: 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088;
  }

  .c-cause {
    margin-bottom:80px;
  }
  
  .p-cause-box{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 45px 0 0;
  }
  
  .p-cause-box .c-cause_img{
    width: 500px;
    margin: 0 40px 0 0;
  }
  
  .p-cause-box .p-cause-txt{
    width: 495px;
  }

  .c-cause .c-cause_txt{
    position: absolute;
    font-size: 20px;
    font-weight: bold;
  }

  .c-cause_txt--1{
    top: 20px;
    right: 46px;
  }

  .c-cause_txt--2{
    top: 74px;
    right: 102px;
    color: #fff;
  }

  .c-cause_txt--3{
    top: 126px;
    right: 92px;
    color: #fff;
  }

  .c-cause_txt--4{
    top: 177px;
    right: 72px;
    color: #fff;
  }
  
  .c-mechanism_box{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-around;
  }
  
  .c-mechanism .c-mechanism_img_01{
    width: 300px;
    margin: 40px 40px 10px 90px;
  }

  .c-mechanism .c-mechanism_img_01 p{
    font-size: 1.3rem;
    color: #0d3191;
    letter-spacing: normal;
    margin-top: 4px;
  }

  .c-mechanism .c-mechanism_img_01 p span{
    padding: 2px 4px;
    border: 1px solid #0d3191;
  }
  
  .c-mechanism .c-mechanism_img_02{
    width:auto;
    margin: 0 auto;
  }
  
  .c-mechanism .c-mechanism_txt{
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    color: #0d3191;
    margin-top: 0;
    margin-bottom: 0;
  }

  .c-mechanism .c-mechanism_txt span{
    display: inline-block;
    font-size: 48px;
    color: #f6cd00;
    text-shadow: 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088,0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088;
    margin-top: 12px;
  }

  .p-dl-list{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .c-commit_img .c-commit_txt{
    position: absolute;
    bottom: 38px;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: normal;
    color: #0d3191;
  }

  .c-commit_txt--1{
    left: 112px;
  }
  .c-commit_txt--2{
    left: 291px;
  }
  .c-commit_txt--3{
    left: 455px;
  }
  .c-commit_txt--4{
    left: 632px;
  }
  .c-commit_txt--5{
    left: 834px;
  }
  .p-dl-list dt{
    font-size: 1.5em;
  }
  
  .p-dl-list div{
    width: 49%;
  }
  
  .c-feature{
    margin: 70px 0 60px;
  }
  
  .c-feature .c-feature_img_01{
    width:auto;
    margin: 30px auto 65px;
    text-align:center;
  }

  .c-feature .c-feature_img_01 figcaption{
    position: relative;
  top: auto;
  left: auto;
    font-size: 1.3rem;
    text-align: left;
    letter-spacing: normal;
    color: #0d3191;
    padding-left: 164px;
    margin-top: 4px;
  }
  
  .c-feature .c-feature_img_01 figcaption span{
    padding: 2px 4px;
    border: 1px solid #0d3191;
  }
  
  .c-feature .c-feature_img_02{
    width:auto;
    text-align:center;
  }
  
  .c-feature_txt{
    font-size: 32px;
    font-weight: 800;
    text-align: center;
    color: #0d3191;
    letter-spacing: -0.1em;
    margin: 40px auto 0;
  }

  .c-feature_txt span{
    text-decoration: underline;
    text-underline-offset: 10px;
  }

  .c-feature_txt b{
    font-size: 39px;
    color: #f6cd00;
    text-shadow: 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088, 0 0 10px #1d2088;
  }

  .c-feature .c-bgArea{
    margin-top: 60px;
  }
  
  .c-feature .c-bgArea h4 {
      font-size: 1.6em;
  }
  
  .c-feature .c-bgArea ul{
    padding: 20px 30px 30px 55px;
  }
  
  .c-feature .c-buy_btn a{
    width: 460px;
    margin: 48px auto 0;
  }
  
  .c-info h4{
    margin-top: 25px;
  }
  
  .c-info .c-table{
    margin:30px auto 10px; 
  }
  
  .c-info .h-component{
    margin-top: 0;
  }
  
  .p-txt-center{
    text-align:center;
  }
  
  .c-info .c-info-f{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 30px;
  }
  
  .c-info .c-info-f .p-txt{
    display:block;
    width:480px;
  }
  
  .c-info .c-info-f .p-txt .indent{
    display: inline-block;
    text-indent: -1em;
    margin-left: 1em;
  }
  
  .c-info ul li{
    padding-bottom: 0;
  }
  
  .c-info ol li{
    padding-bottom:10px;
  }

  .c-info ol li ol li{
    text-indent: -1em;
    padding-left: 4em;
    padding-bottom: 0;
  }
  
  .c-info .l-component li{
    padding-left: 2em;
  }
  
  .c-naviContents:first-of-type .h3Ttl{
    padding-top: 25px;
  }
  
  .h3Ttl {
    width: auto;
    text-align: center;
    padding: 55px 0 40px;
    margin: 0 auto;
  }
  
  .c-naviContents_list li:nth-of-type(n+3) {
    margin-top: 50px;
  }
  
  .c-buy {
    background: url(/brand/alpitan/img/common/bg_cv_alpitan_pc.jpg) no-repeat center top;
    background-size: cover;
    margin-top: 80px;
}
.c-buy_img figcaption{
  font-size: 1.3rem;
  color: #0d3191;
  letter-spacing: normal;
}

.c-buy_img figcaption span{
  padding: 2px 4px;
  border: 1px solid #0d3191;
}
}

@media print,
  screen and (max-width: 366px) {
    .l-smallspOnly{
      display:block;
    }
}

