@charset "UTF-8";
/*html{
  width:100%;
  font-size:14px;
  line-height:1.5;
}
@media (min-width:769px){
  html{
    font-size:16px;
    line-height:1.5;
  }
}

body{
  width:100%;
  margin:0;
  padding:0;
  background:#fff;
  color:#333;
  -webkit-text-size-adjust:100%;
     -moz-text-size-adjust:100%;
          text-size-adjust:100%;
}*/
body.lock{
  overflow-y:hidden;
}

.o-main a,.o-main button{
  touch-action:manipulation;
}

.o-main button{
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  outline:none;
  background:none;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  cursor:pointer;
}

.o-main a{
  text-decoration:none;
}

.o-main img{
  width:100%;
  max-width:auto;

  user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -webkit-touch-callout: none;
}

#wrapper{
  position:relative;
}

.l-bg{
  background-image:url(/cm/assets/images/cm-bg-sp.png);
  background-position:center 8vw;
  background-size:100%;
  background-repeat:no-repeat;
}
@media (min-width:769px){
  .l-bg{
    background-image:url(/cm/assets/images/cm-bg-pc.png);
    background-position:top;
    background-size:100%;
    background-repeat:no-repeat;
  }
}

.l-content{
  padding-top:10.6666666667vw;
  padding-bottom:13.3333333333vw;
  background:linear-gradient(180deg, rgba(39,129,168,.2), hsla(0,0%,100%,.2) 46.6666666667vw, hsla(0,0%,100%,0));
}
@media (min-width:769px){
  .l-content{
    padding-top:80px;
    padding-bottom:80px;
    background:linear-gradient(180deg, rgba(39,129,168,.2), hsla(0,0%,100%,.2) 600px, hsla(0,0%,100%,0));
  }
}

.o-main{
  font-family:ヒラギノ角ゴ Pro,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,sans-serif;
}
@media (min-width:769px){
  .o-main{
    width:100%;
    min-width:1120px;
  }
}

@media (min-width:769px){
  .c-br--sp{
    display:none;
  }
}
.c-br--pc{
  display:none;
}
@media (min-width:769px){
  .c-br--pc{
    display:inline;
  }
}

.c-button{
  display:block;
  width:78.6666666667vw;
  margin:0 auto;
  padding:4.2666666667vw 0;
  border-radius:6.6666666667vw;
  background:#2782a8;
  color:#fff;
  font-size:4.5333333333vw;
  line-height:1;
  letter-spacing:.117em;
  text-align:center;
}
@media (min-width:769px){
  .c-button{
    width:600px;
    padding:30px 0;
    border-radius:45px;
    font-size: 3rem;
  }
}
.c-button--invisible{
  display:none;
}
@media (min-width:769px){
  .c-button--invisible{
    display:block;
    opacity:0;
    pointer-events:none;
  }
}

.c-section-title{
  position:relative;
  margin-top:0;
  margin-bottom:5.3333333333vw;
  padding-bottom:2.6666666667vw;
  color:#2782a8;
  font-weight:600;
  font-size:8.5333333333vw;
  line-height:1.25;
  font-family:ヒラギノ明朝 Pro,Hiragino Mincho Pro,MS 明朝,serif;
  letter-spacing:.12em;
  text-align:center;
}
@media (min-width:769px){
  .c-section-title{
    margin-bottom:30px;
    padding-bottom:40px;
    font-weight:500;
    font-size: 7rem;
    line-height:1;
  }
}
.c-section-title:after{
  display:block;
  position:absolute;
  bottom:0;
  left:50%;
  width:17.3333333333vw;
  height:1px;
  transform:translateX(-50%);
  background:#2782a8;
  content:"";
}
.c-section-title span{
  display:inline-block;
  padding-bottom:4vw;
  font-size:5.3333333333vw;
  line-height:1.25;
  letter-spacing:0;
}
@media (min-width:769px){
  .c-section-title span{
    padding-bottom:30px;
    font-size: 3.6rem;
  }
}

.c-video{
  width:78.6666666667vw;
  margin:0 auto;
}
@media (min-width:769px){
  .c-video{
    width:1000px;
  }
}
.c-video a{
  display:block;
  position:relative;
}
.c-video a:after{
  display:block;
  position:absolute;
  top:50%;
  left:50%;
  width:9.6vw;
  height:9.6vw;
  transform:translate(-50%, -50%);
  background-image:url(/cm/assets/images/cm-video-play.png);
  background-position:50%;
  background-size:contain;
  background-repeat:no-repeat;
  content:"";
}
@media (min-width:769px){
  .c-video a:after{
    width:120px;
    height:120px;
  }
}
.c-video img{
  display:block;
}

.p-cm__kv-inner{
  background:#fff;
}
.p-cm__kv-video{
  display:block;
  width:100%;
  -o-object-fit:fill;
     object-fit:fill;
}
.p-cm__kv-image{
  display:block;
  width:100%;
}
.p-cm__kv-blank{
  width:100%;
  height:56.25vw;
  background:#fff;
}
.p-cm__navi{
  padding-bottom:0;
  background:none;
}
@media (min-width:769px){
  .p-cm__navi{
    padding-top:3.4722222222vw;
    background:none;
  }
}
@media (min-width:1440px){
  .p-cm__navi{
    padding-top:50px;
  }
}
@media (min-width:769px){
  .p-cm__navi-inner{
    width:86.1111111111vw;
    margin:0 auto;
  }
}
@media (min-width:1440px){
  .p-cm__navi-inner{
    width:1240px;
  }
}
.p-cm__navi-text-box{
  color:#2782a8;
}
@media (min-width:769px){
  .p-cm__navi-text-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:4.1666666667vw;
  }
}
@media (min-width:1440px){
  .p-cm__navi-text-box{
    margin-bottom:60px;
  }
}
.p-cm__navi-title{
  font-weight:900;
  font-size:8.8vw;
  line-height:1.3939393939;
  letter-spacing:.12em;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__navi-title{
    font-size:4.5138888889vw;
    line-height:1.4923076923;
    letter-spacing:.1em;
    text-align:left;
  }
}
@media (min-width:1440px){
  .p-cm__navi-title{
    font-size:65px;
  }
}
.p-cm__navi-text{
  margin-top:8vw;
  font-weight:900;
  font-size:4vw;
  line-height:1.9333333333;
  letter-spacing:.138em;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__navi-text{
    margin-top:0;
    font-size:1.3888888889vw;
    line-height:2.25;
    letter-spacing:.12em;
    text-align:left;
  }
}
@media (min-width:1440px){
  .p-cm__navi-text{
    font-size:20px;
  }
}
.p-cm__navi-link-box{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:10.6666666667vw;
  gap:2.6666666667vw;
}
@media (min-width:769px){
  .p-cm__navi-link-box{
    margin-top:0;
    gap:1.3888888889vw;
  }
}
@media (min-width:1440px){
  .p-cm__navi-link-box{
    gap:20px;
  }
}
.p-cm__navi-link{
  box-sizing:border-box;
  position:relative;
  width:37.8666666667vw;
  padding-top:5.3333333333vw;
  padding-bottom:8vw;
  border:1px solid #2782a8;
  border-bottom:none;
  color:#2782a8;
  font-weight:600;
  font-size:4.5333333333vw;
  line-height:1;
  font-family:ヒラギノ明朝 Pro,Hiragino Mincho Pro,MS 明朝,serif;
  letter-spacing:.08em;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__navi-link{
    width:20.1388888889vw;
    padding-top:1.3888888889vw;
    padding-bottom:2.4305555556vw;
    border:2px solid #2782a8;
    border-bottom:none;
    font-weight:500;
    font-size:1.5972222222vw;
  }
}
@media (min-width:1440px){
  .p-cm__navi-link{
    width:290px;
    padding-top:20px;
    padding-bottom:35px;
    font-size:23px;
  }
}
.p-cm__navi-link:after{
  display:block;
  position:absolute;
  bottom:4vw;
  left:50%;
  width:2.1333333333vw;
  height:2.1333333333vw;
  transform:translateX(-50%) rotate(-45deg);
  border-bottom:1px solid #2782a8;
  border-left:1px solid #2782a8;
  content:"";
}
@media (min-width:769px){
  .p-cm__navi-link:after{
    bottom:1.0416666667vw;
    width:1.1111111111vw;
    height:1.1111111111vw;
    border-bottom:2px solid #2782a8;
    border-left:2px solid #2782a8;
  }
}
@media (min-width:1440px){
  .p-cm__navi-link:after{
    bottom:15px;
    width:16px;
    height:16px;
  }
}
.p-cm__cm-box{
  width:78.6666666667vw;
  margin:0 auto 10.6666666667vw;
}
@media (min-width:769px){
  .p-cm__cm-box{
    width:1000px;
    margin:0 auto 75px;
  }
}
.p-cm__cm-box:last-of-type{
  margin-bottom:21.3333333333vw;
}
@media (min-width:769px){
  .p-cm__cm-box:last-of-type{
    margin-bottom:100px;
  }
}
.p-cm__cm-title{
  margin:6.6666666667vw auto 5.3333333333vw;
  color:#2782a8;
  font-weight:600;
  font-size:5.8666666667vw;
  line-height:1.7272727273;
  font-family:ヒラギノ明朝 Pro,Hiragino Mincho Pro,MS 明朝,serif;
  letter-spacing:0;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__cm-title{
    margin:25px auto 20px;
    font-size: 5rem;
    line-height:1.74;
    text-align:left;
  }
}
.p-cm__cm-text{
  width:78.6666666667vw;
  margin:5.3333333333vw auto 10.6666666667vw;
  font-weight:600;
  font-size:4.2666666667vw;
  line-height:1.9375;
  font-family:ヒラギノ明朝 Pro,Hiragino Mincho Pro,MS 明朝,serif;
  letter-spacing:0;
  text-align:justify;
}
@media (min-width:769px){
  .p-cm__cm-text{
    width:1000px;
    margin:20px auto 40px;
    font-size: 2.3rem;
    line-height:1.6;
  }
}
.p-cm__cm-cg-box{
  border:1px solid #6c9fbd;
}
@media (min-width:769px){
  .p-cm__cm-cg-box{
    display:flex;
  }
}
.p-cm__cm-cg-image-box{
  padding:4vw 17.3333333333vw;
  background:#fff;
}
@media (min-width:769px){
  .p-cm__cm-cg-image-box{
    flex:0 0 auto;
    width:186px;
    padding:0;
  }
}
.p-cm__cm-cg-text-box{
  padding:5.3333333333vw 6.6666666667vw 8vw;
  background:rgba(108,159,189,.3);
}
@media (min-width:769px){
  .p-cm__cm-cg-text-box{
    padding:20px 30px;
  }
}
.p-cm__cm-cg-title{
  margin:0;
  font-size:4.2666666667vw;
  line-height:1.5625;
  letter-spacing:.05em;
  text-align:left;
}
@media (min-width:769px){
  .p-cm__cm-cg-title{
    font-size: 2.5rem;
    line-height:1;
    letter-spacing:.078em;
  }
}
.p-cm__cm-cg-text{
  margin:4vw 0 8vw;
  font-size:3.7333333333vw;
  line-height:1.5714285714;
  letter-spacing:.138em;
  text-align:justify;
}
@media (min-width:769px){
  .p-cm__cm-cg-text{
    margin:20px 0 15px;
    font-size: 1.4rem;
    line-height:1.5714285714;
  }
}
.p-cm__cm-cg-button{
  width:100%;
  padding:2.1333333333vw 0;
  font-size:3.7333333333vw;
  line-height:1.2857142857;
  letter-spacing:.117em;
}
@media (min-width:769px){
  .p-cm__cm-cg-button{
    width:238px;
    margin:0;
    padding:10px 0;
    font-size: 1.2rem;
    line-height:1;
  }
}
.p-cm__web-cm{
  position:relative;
  background:linear-gradient(180deg, rgba(39,129,168,.2), hsla(0,0%,100%,.2) 114.6666666667vw, hsla(0,0%,100%,0));
}
@media (min-width:769px){
  .p-cm__web-cm{
    background:linear-gradient(180deg, rgba(39,129,168,.2), hsla(0,0%,100%,.2) 600px, hsla(0,0%,100%,0));
  }
}
.p-cm__web-cm-bubble{
  box-sizing:border-box;
  display:flex;
  position:absolute;
  top:2.6666666667vw;
  right:2.6666666667vw;
  align-items:center;
  justify-content:center;
  width:21.8666666667vw;
  height:21.8666666667vw;
  border:1px solid #2782a8;
  border-radius:50%;
  color:#2782a8;
  font-size:3.2vw;
  line-height:1.4166666667;
  font-family:ヒラギノ明朝 Pro,Hiragino Mincho Pro,MS 明朝,serif;
  letter-spacing:.12em;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__web-cm-bubble{
    top:20px;
    right:auto;
    left:calc(50% + 330px);
    width:150px;
    height:150px;
    font-size: 2rem;
    line-height:1.4;
  }
}
@media (min-width:1375px){
  .p-cm__web-cm-bubble{
    top:95px;
    left:calc(50% + 482px);
    width:190px;
    height:190px;
    font-size: 2.6rem;
  }
}
.p-cm__web-cm-tabs{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  width:78.6666666667vw;
  margin:0 auto;
  gap:4vw;
}
@media (min-width:769px){
  .p-cm__web-cm-tabs{
    width:1000px;
    margin-top:70px;
    gap:20px;
  }
}
.p-cm__web-cm-tab{
  box-sizing:border-box;
  width:37.3333333333vw;
  padding:4vw 0 2.6666666667vw;
  border:.2933333333vw solid #2782a8;
  border-bottom:none;
  border-radius:2.6666666667vw 2.6666666667vw 0 0;
  background:#fff;
  background:radial-gradient(ellipse 60% 20% at center bottom, #ccc 0, #fff 60%, #fff 100%);
  color:#93c0d3;
  font-weight:600;
  font-size:4.2666666667vw;
  line-height:1.5;
  letter-spacing:.1em;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__web-cm-tab{
    width:490px;
    padding:20px 0;
    border:1.4px solid #2782a8;
    border-bottom:none;
    border-radius:20px 20px 0 0;
    font-size: 3rem;
    line-height:1;
    cursor:pointer;
  }
}
.p-cm__web-cm-tab.active{
  border:.2933333333vw solid #fff;
  border-bottom:none;
  background:radial-gradient(ellipse 60% 25% at center bottom, #164c64 0, #2782a8 60%, #2782a8 100%);
  color:#fff;
  cursor:default;
}
@media (min-width:769px){
  .p-cm__web-cm-tab.active{
    border:1.4px solid #fff;
    border-bottom:none;
  }
}
.p-cm__web-cm-videos{
  width:78.6666666667vw;
  margin:5.3333333333vw auto 10.6666666667vw;
}
@media (min-width:769px){
  .p-cm__web-cm-videos{
    display:flex;
    flex-wrap:wrap;
    width:1020px;
    margin:55px auto 75px;
  }
}
.p-cm__web-cm-video-box{
  margin-bottom:13.3333333333vw;
}
@media (min-width:769px){
  .p-cm__web-cm-video-box{
    /*width:490px;*/
    width:510px;
    margin:0;
    padding:0 10px 70px;
  }
}
.p-cm__web-cm-video-title{
  margin-bottom:5.3333333333vw;
  padding:1.3333333333vw 0;
  border:1px solid #2782a8;
  background:#fff;
  color:#2782a8;
  font-weight:600;
  font-size:3.7333333333vw;
  line-height:2.1428571429;
  letter-spacing:.08em;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__web-cm-video-title{
    margin-bottom:30px;
    padding:15px 0;
    font-size: 2.8rem;
    line-height:1;
  }
}
.p-cm__web-cm-video-title span{
  margin-left:-.5em;
  font-size:2.9333333333vw;
  vertical-align:bottom;
}
@media (min-width:769px){
  .p-cm__web-cm-video-title span{
    font-size: 2rem;
  }
}
@media (min-width:769px){
  .p-cm__web-cm-video{
    width:100%;
  }
}
@media (min-width:769px){
  .p-cm__web-cm-video a:after{
    width:50px;
    height:50px;
  }
}
.p-cm__web-cm-video-text{
  margin:8vw auto 10.6666666667vw;
  font-size:4vw;
  line-height:1.8;
  letter-spacing:.12em;
  text-align:justify;
}
@media (min-width:769px){
  .p-cm__web-cm-video-text{
    width:380px;
    min-height:125px;
    margin:35px auto 20px;
    font-size: 1.8rem;
    line-height:1.6666666667;
  }
}
.p-cm__web-cm-video-button{
  width:63.4666666667vw;
  padding:4.8vw 0;
  font-size:3.7333333333vw;
  line-height:1;
  letter-spacing:.15em;
}
@media (min-width:769px){
  .p-cm__web-cm-video-button{
    width:255px;
    margin:0 auto;
    padding:17px 0;
    font-size: 1.6rem;
  }
}
.p-cm__cast{
  color:#2782a8;
}
@media (min-width:769px){
  .p-cm__cast-box{
    display:flex;
    width:1000px;
    margin:0 auto;
    gap:50px;
  }
}
.p-cm__cast-name{
  margin-top:5.3333333333vw;
  font-weight:600;
  font-size:7.4666666667vw;
  text-align:center;
}
@media (min-width:769px){
  .p-cm__cast-name{
    margin-top:40px;
    font-size: 3rem;
  }
}
.p-cm__cast-name span{
  font-size:4.8vw;
}
@media (min-width:769px){
  .p-cm__cast-name span{
    font-size: 2.4rem;
  }
}
.o-main  .p-cm__cast-image{
  display:block;
  width:58.6666666667vw;
  margin:0 auto;
}
@media (min-width:769px){
  .o-main  .p-cm__cast-image{
    width:425px;
  }
}
.o-main .p-cm__cast-text-box{
  width:78.6666666667vw;
  margin:6.6666666667vw auto 0;
  font-size: 4.2666666667vw;
  text-align:justify;
  line-height: 1.5;
}
@media (min-width:769px){
  .o-main  .p-cm__cast-text-box{
    margin:0;
    font-size: 2.2rem;
    line-height:2.3636363636;
    letter-spacing:0;
    text-align:left;
  }
}
.p-cm__cast-sns-box{
  display:flex;
  align-items:center;
  justify-content:center;
  /*margin-top:16vw;*/
  gap:12vw;
}
@media (min-width:769px){
  .p-cm__cast-sns-box{
    /*margin-top:100px;*/
    gap:50px;
  }
}
.p-cm__cast-sns-box a{
  width:10.6666666667vw;
}
@media (min-width:769px){
  .p-cm__cast-sns-box a{
    width:50px;
  }
}

.s-sns-title{
  padding-top: 80px;
  color:#000;
  padding-bottom:8vw;
  font-size: 4.2666666667vw;
  line-height: 1.5625;
  text-align: center;
}
@media (min-width:769px){
  .s-sns-title{
    padding-top: 10.6666666667vw;
    padding-bottom:35px;
    font-size: 2.5rem;
    line-height: 1;
  }
}