@charset "UTF-8";

@media (max-width:991px){
    section.wte_main,section.wte_lp{
        margin-top: 60px;
    }
}

@media (max-width:991px){
    section.wte_lp{
        margin-top: 45px;
    }
}

/*----------------------------------------------------------------
beginner_2  ＜初心者LP広告用その他共通＞
----------------------------------------------------------------*/
@media (max-width:991px){
    .beginner section.wte_main{
        margin-top: 0px;
    }
}

@media (min-width: 992px) {
    .beginner .wte_seal {
        top: 20px !important;
    }
}

.wte_slider_beginner {
    background: url("/assets/img/beginner/main_sp_1.jpg") no-repeat center center;
}

@media(min-width:768px) {
    .wte_slider_beginner {
        background: url("/assets/img/beginner/main_1.jpg") no-repeat center center;
    }
}

@media (max-width:991px) {
    #sb-site {
        margin-top: 0px !important;
    }
}

.beginner .ltblue_box {
    background: #f5f6f8;
    padding: 20px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .10);
    border-radius: .6rem;
}

.beginner .ltblue_box img {
    max-width: 63px;
    border: 2px solid #ebebeb;
}


.beginner .wt_mvbtn a {
    padding: 2rem 30px 2rem 30px;
}

.beginner .wt_mvbtn a:before {
    content: none;
}

.beginner h3.wt_voicettl {
    font-size: 16px;
    border-bottom: 1px dotted #bcbcbc;
}

.beginner p.wt_voicename {
    font-size: 14px;
}

@media (max-width:1199px) {
    .beginner .feature h3 {
        font-size: 20px;
    }
}

@media (max-width:991px) {
    .beginner .feature h3 {
        font-size: 15px;
        white-space: nowrap
    }
}

@media (min-width:768px) {
    .border-r {
        border-right: 1px dotted #bcbcbc;
    }
}

.beginner .message img {
    display: block;
    margin: 0 auto;
}

.beginner .message h3 {
    color: #343434;
}

.beginner .merit_box .wt_card img {
    border-radius: 0 0 0 0;
}

.beginner .merit_box h3 {
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 0;
    padding: 8px 0;
    border-radius: 8px 8px 0 0;
    margin: 0 auto;
    display: block;
}

.beginner .merit_box h3:after {
    border: 15px solid transparent;
    border-top-color: #0c88cc;
    border-bottom-width: 30px;
    width: 0;
    top: 60px;
    content: "";
    display: block;
    left: 45%;
    position: absolute;
    z-index: 100;
}

@media (min-width:992px) and (max-width:1199px) {
    .beginner .merit_box h3 {
        font-size: 20px;
    }
    .beginner .merit_box h3:after {
        top: 45px;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .beginner .merit_box h3 {
        font-size: 17px;
    }
    .beginner .merit_box h3:after {
        top: 40px;
    }
}

@media (max-width:767px) {
    .beginner .merit_box h3:after {
        top: 44px;
    }
}

.beginner .btn-warning {
    background-color: #FFE319 !important;
    border-color: #FFE319 !important;
    box-shadow: 0 4px 0 rgb(206 181 4 / 100%), 0 8px 0 rgb(0 0 0 / 15%) !important;
}

@media (max-width:991px) {
    .beginner .wt_question span {
        padding-top: 0.25em;
        padding-left: 0.4em;
    }
}

 /*----広告LP用オレンジ背景の登録ボタンcss----*/   

.bg_orange {
    background: #ff9900;
    border-radius: 15px;
    box-shadow: 3px 5px 6px rgba(0, 0, 0, .2);
    padding: 10px 0;
}

.bg_orange h3.getsugaku {
    font-size: 16px;
}

.bg_orange .getsugaku span.waku_white {
    color: #ff9900;
    background: #fff;
    border-radius: 5px;
    padding: 2px 5px 3px 5px;
}

.bg_orange .getsugaku strong {
    font-size: 36px;
    padding: 0 10px;
    position: relative;
    top: 3px;
}

section .bg_orange h2.text-yellow {
    background: none;
    color: #ffff00;
    font-size: 18px;
}

.bg_orange p {
    font-size: 14px;
    margin-bottom: 10px;
}

@media (max-width:767px) {
    .bg_orange h3.getsugaku {
        font-size: 14px;
    }
    .bg_orange .getsugaku span.waku_white {
        font-size: 13px;
        padding: 0px 3px 1px 2px;
    }
    .bg_orange .getsugaku strong {
        font-size: 33px;
        padding: 0 5px;
    }
    .bg_orange p {
        font-size: 11.5px;
    }
    section .bg_orange h2.text-yellow {
        font-size: 18px;
    }
    .bg_orange a.btn-primary {
        font-size: 14px;
    }
}

 /*----広告LP用青背景の登録ボタンcss----*/   

.bg_blue {
    background: #0c88cc;
    border-radius: 15px;
    box-shadow: 3px 5px 6px rgba(0, 0, 0, .2);
    padding: 10px 0;
}

.bg_blue h3.getsugaku {
    font-size: 16px;
}

.bg_blue .getsugaku span.waku_white {
    color: #0c88cc;
    background: #fff;
    border-radius: 5px;
    padding: 2px 5px 3px 5px;
}

.bg_blue .getsugaku strong {
    font-size: 36px;
    padding: 0 10px;
    position: relative;
    top: 3px;
}

section .bg_blue h2.text-yellow {
    background: none;
    color: #ffff00;
    font-size: 18px;
}

.bg_blue p {
    font-size: 14px;
    margin-bottom: 10px;
}

@media (max-width:767px) {
    .bg_blue h3.getsugaku {
        font-size: 14px;
    }
    .bg_blue .getsugaku span.waku_white {
        font-size: 13px;
        padding: 0px 3px 1px 2px;
    }
    .bg_blue .getsugaku strong {
        font-size: 33px;
        padding: 0 5px;
    }
    .bg_blue p {
        font-size: 11.5px;
    }
    section .bg_blue h2.text-yellow {
        font-size: 18px;
    }
    .bg_blue a.btn-primary {
        font-size: 14px;
    }
}

 /*----広告LP用黄色背景の登録ボタンcss----*/   

.bg_yellow {
    background: #fbffd7;
    border-radius: 15px;
    box-shadow: 3px 5px 6px rgba(0, 0, 0, .2);
    padding: 10px 0;
}

.bg_yellow h3.getsugaku {
    font-size: 16px;
}

.bg_yellow .getsugaku span.waku_white {
    color: #fbffd7;
    background: #000;
    border-radius: 5px;
    padding: 2px 5px 3px 5px;
}

.bg_yellow .getsugaku strong {
    font-size: 36px;
    padding: 0 10px;
    position: relative;
    top: 3px;
}

section .bg_yellow h2.text-yellow {
    background: none;
    color: #000;
    font-size: 18px;
}

.bg_yellow p {
    font-size: 14px;
    margin-bottom: 10px;
}

@media (max-width:767px) {
    .bg_yellow h3.getsugaku {
        font-size: 14px;
    }
    .bg_yellow .getsugaku span.waku_white {
        font-size: 13px;
        padding: 0px 3px 1px 2px;
    }
    .bg_yellow .getsugaku strong {
        font-size: 33px;
        padding: 0 5px;
    }
    .bg_yellow p {
        font-size: 11.5px;
    }
    section .bg_yellow h2.text-yellow {
        font-size: 18px;
    }
    .bg_yellow a.btn-primary {
        font-size: 14px;
    }
}

.beginner .wte_bg_image_2{
    display: none;
}
@media (min-width:992px){
    .beginner .wte_footer_btn{
        display: none !important;
    }
}

/*----------------------------------------------------------------
counseling2022 ＜お悩み募集中＞
-----------------------------------------------------------------*/

 /*----メインビジュアル----*/   

    .counseling main section.wte_main{
        padding-bottom: 10px;
        background:url(/assets/img/counseling/bg_main.jpg) repeat center top;
        background-size:cover;
        margin-bottom:0;
    }

    .counseling main section.wte_main{height: 300px;}
    @media (max-width:575px){.wte_main_wrapper{padding: 0;}}
    @media(min-width:576px){.counseling main section.wte_main{height: 350px;}}    
    @media(min-width:768px){.counseling main section.wte_main{height: 500px;}}
    @media(min-width:992px){.counseling main section.wte_main{height: 650px;}}
    @media(min-width:1200px){.counseling main section.wte_main{height: 750px;}}    
    
 /*----Akane先生のご紹介----*/ 
    
    .counseling .about img.akane {
	   box-shadow: 0 3px 10px rgba(0, 0, 0, .4)
    }
    
    .counseling .about .abount_akane{
        background: #f5f5f5;
        border-radius: 0 0 20px 20px;
    }
    .counseling .about h3{
        font-size: 120%;
        color: #fff;
        background: #f86a61;
        border-radius: 20px 20px 0 0 ;
    }    
    
 /*----お悩み----*/    

    .counseling .onayami_cont{
        background:url(/assets/img/counseling/fukidashi.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .counseling section.onayami{
        background: #f8eeca;
    }　
    .counseling .onayami_cont{
        width: 540px;
    }        
    .counseling .onayami_txt{
        padding: 105px 50px;
    }
    @media (min-width:992px){
        .counseling .onayami_cont{
            max-height: 770px;
        }
        
        .counseling .onayami-right{
            position: relative;
            top: 170px;
        }
        .counseling .onayami-right2{
            position: relative;
            top: 170px;
        }    
        .counseling .onayami-right3{
            position: relative;
            top: 170px;
            margin-bottom: 170px;
        }           
    }
    @media (min-width:1200px){
        .counseling .onayami_cont{
            max-height: 720px;
        }  
        .counseling .onayami_txt{
            padding: 110px 70px;
        }
    }    
    @media (max-width:767px){
        .counseling .onayami_cont{
            margin-right: -20px;
            margin-left: -20px;
        }
            .onayami_txt{
            padding: 95px 35px;
        }
    }
    .counseling .btn.btn-green {
        display: block;
        color: #fff;
        background-color: #4eafa6;
        border-color: #4eafa6;
        border-radius: 15px;
        padding: 20px 0;
        font-size: 16px;
        margin-top: 20px;
        margin-bottom: 20px;
        margin-right: auto;
        margin-left: auto;
        font-weight: bold;
        display: block;
    }
    @media (min-width:767px){
        .counseling .btn.btn-green {
            width: 320px;
        }
    } 

/*--------------------------------------------------------------------
bestteachers_rslt  ＜ベストティーチャーコンテスト結果＞
--------------------------------------------------------------------*/

 /*----メインビジュアル----*/  

    .bestresult main section.wte_main{
        padding-bottom: 10px;
        background:url(/img/bestrslt/bg_main.jpg) repeat center top;
        background-size:cover;
        margin-bottom:0;
    }

   .bestresult main section.wte_main .subttl p{
        text-align: left;
        font-family: serif;
        font-weight: bold;
        margin: 0;
        position: relative;
        left: 5%;
        top: 13%;
        font-size:20px;
          color: #DA8E00;
          background: -webkit-linear-gradient(-90deg, #8a6726, #e8c000, #8a6726);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;   
    }

    .bestresult section.wte_main{height: 450px;}
    .bestresult section.wte_main h1{margin-top:15px; color:#000;font-size:18px;line-height:1.6em;white-space: nowrap} 
    .bestresult section.wte_main h1 strong{font-size: 30px}     
    .bestresult section.wte_main h1 span.gold{;color:#ffc527;}
    .bestresult section.wte_main h1 span.silver{;color:#9f9f9f;} 

    @media(min-width:576px){
        .bestresult section.wte_main{height: 550px;}
        .bestresult section.wte_main h1{margin-top: 20px;font-size:24px;line-height:1.5em;white-space: nowrap} 
        .bestresult section.wte_main h1 strong{font-size: 36px} 
        .bestresult section.wte_main .subttl p{font-size: 18px;}  
    }    
    
    @media(min-width:768px){
        .bestresult section.wte_main{height: 650px;}
        .bestresult section.wte_main h1{margin-top: 30px;font-size:30px;line-height:1.5em;white-space: nowrap} 
        .bestresult section.wte_main h1 strong{font-size: 50px} 
        .bestresult section.wte_main .subttl p{font-size:24px;}  
    }
    @media(min-width:992px){
        .bestresult section.wte_main{height: 800px;}
        .bestresult section.wte_main h1{margin-top: 30px;font-size:44px;line-height:1.5em;white-space: nowrap}        
        .bestresult section.wte_main h1 strong{font-size: 65px}
        .bestresult section.wte_main .subttl p{font-size:28px;}        
    }

/*----------------------------------------------------------------
eiken_2  ＜英検LP広告用＞
----------------------------------------------------------------*/
   
    @media (min-width:768px){
        .border-r {
            border-right: 1px dotted #bcbcbc;
        }
    }     
    .border-b {
        border-bottom: 1px dotted #bcbcbc;
    }

    table.table_taiken td {
      background: #f5f6f8;
    }
    table.table_taiken tr:nth-child(even) td {
      background: #fff;
    }
    .img_akane{
        position: relative;
        bottom: 50px;
        margin-bottom: -50px;
    }
    @media (max-width:767px){
    .img_akane{
            position: relative;
            bottom: -10px;
            left: 10px;
            margin-bottom: -50px;
        }
    }        
    @media (max-width:992px){
        img.eikengrade{
            width: 90px !important;
            margin: 0 auto;
            display: block;
        }
    } 
    @media (max-width:992px){
        img.eikengrade2{
            width: 150px !important;
            margin: 0 auto;
            display: block;
        }
    }
    .card2{
        border: none;
        border-radius: 10px;
    }

    .wte_more_container {
        position: relative;
        height: auto;
        max-height: 220px;
        overflow: hidden;
        transition: all 0.2s ease 0s;
    }    
    .wte_morebtn {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: .5rem;
        color: #fff;
        font-weight: 600;
        display: block;
        text-align: center;
        background-color: #0c88cc;
        border-radius: 0 0 10px 10px;
        border: none;
        /*width: 95%;
        /*margin-right: 2.5%;
        /*margin-left: 2.5%;*/
    } 
    .wte_morebtn:hover,.wte_morebtn:focus,.wte_morebtn:active {
        border: none;
        outline: none;
    }

/*----------------------------------------------------------------
beginner_3  ＜初心者LP広告用：会員登録フォーム＞
----------------------------------------------------------------*/  
.wte_slider_beginner_3 {
    background: url("/assets/img/beginner/main_beginner_3-2.jpg") no-repeat center top;
}

@media(max-width:768px) {
    .wte_slider_beginner_3 {
        background: url("/assets/img/beginner/main_beginner_3-2.jpg") no-repeat left top;
    }
}

.wte_catch_circle.no-circle{
    background: none;
    width: 100% !important;
}


.wte_marker.marker_red{
    background: linear-gradient(transparent 60%, #ff0000 60%);
}

.beginner .merit_box2 h3 {
    border-radius: 0 0 0 0;
}

.beginner .merit_box2 h3:after {
    border: 30px solid transparent;
    border-top-color: #0c88cc;
    border-bottom-width: 60px;
    width: 0;
    top: 65px;
    content: "";
    display: block;
    left: 48%;
    position: absolute;
    z-index: 100;
}

@media (max-width:767px){
    .beginner .merit_box2 h3:after {
        border: 30px solid transparent;
        border-top-color: #0c88cc;
        border-bottom-width: 60px;        
        left: 45%;        
        top: 55px;
    }
    .wte_catch_circle.no-circle p{
        line-height: 1.5em;
    }    
}

/*----------------------------------------------------------------
eiken_3  ＜英検LP広告用：会員登録フォーム＞
----------------------------------------------------------------*/  
.wte_slider_eiken_3 {
    background: url("/assets/img/eiken/main_eiken_3.jpg") no-repeat center center;
}

@media(max-width:768px) {
    .wte_slider_eiken_3 {
        background: url("/assets/img/eiken/main_eiken_3_sp.jpg") no-repeat center center;
    }
    .wte_logo img.logosize{
        width: 95px;
        position: relative;
        bottom: 10px;
    }
    .sp-small{
        font-size: 13px;
        white-space: nowrap;
    }
}

/*----------------------------------------------------------------
eiken_3 beginner_3  ＜初心者LP英検LP広告用メインビジュアルサイズ調整＞
----------------------------------------------------------------*/ 

.lp.beginner.mainshort .wte_main {
    height: 240px;
}
.lp.beginner.mainshort  .wte_catch_circle{
    height: 240px;
    bottom: 0px;
}
.lp.beginner.mainshort  .wte_slider li {
    height: 240px;
}
@media (min-width:992px){
    .lp.beginner.mainshort  .wte_main {
        height: 400px;
    }
    .lp.beginner.mainshort  .wte_catch_circle{
        height: 400px;
    }
    .lp.beginner.mainshort  .wte_slider li {
        height: 400px;
    }    
} 

/*----------------------------------------------------------------
aieiken  ＜AI英検ライティング添削ツール＞
----------------------------------------------------------------*/  

.wte_slider.slider_aieiken::before {
    background-color: rgba(0,0,0,0);
}
.aieiken .wte_catch h1{font-family: "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif; }
@media (min-width:992px) and (max-width:1199px){
    .aieiken .wte_catch h1 {
        font-size: 35px;
    }
}
@media (min-width:767px) and (max-width:991px){
    .aieiken .wte_catch h1 {
        font-size: 30px;
    }
}


@media (min-width:1200px){
    .aieiken .img_aimain img{
        width: 120% !important;
        padding-top: 5%;
    }
} 
@media (min-width:1600px){
    .aieiken .img_aimain img{
        width: 130% !important;
    }
} 

.bluettl{
    background: #0c88cc;
    border-radius: 10px;
    padding: 0.3em 0.8em;
}
@media (max-width:767px){
    .bluettl{
        font-size: 15px; 
        border-radius: 5px;
        padding: 0.3em 0.6em;
    }
    .bluettl2{
        font-size: 25px; 
        border-radius: 5px;
        padding: 0.3em 0.6em;
    }    
}
.aieiken .aieikenreco p{
  text-indent: -0.5em;
  padding-left: 1.5em;
}

@media (max-width:767px){
    .aieiken .wte_main{
        height: 650px;
    }    
    .aieiken .wte_slider {
        height: 650px;
    }  
    .aieiken .wte_slider li {
        height: 650px;
    }  
    .aieiken .wte_catch img.max-size{
        max-width: 450px;
    }
    .aieiken h4.spsmall{
        font-size: 14px;
    }
    .aieiken p.spsmall{
        font-size: 14px;
    }    
    .aieiken h4.spxsmall{
        font-size: 12px;
    }
    .aieiken label.spxsmall{
        font-size: 12px;
        white-space: nowrap;
    }     
    .aieiken  h4.spbig{
        font-size: 24px;
    }
    .aieiken #registerform h2.spsmall{
        font-size: 20px;
        white-space: nowrap;        
    }    
}


.aieiken h3 span.bg_green{
    background: #638c0b;
    border-radius: 10px;
}

.aieiken .balloon3 {
  position: relative;
  display: inline-block;
  padding: 0 0 0 10px;
  width: 136px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  color: #FFF;
  font-size: 28px;
  font-weight: bold;
  background: #ff0000;
  border-radius: 50%;
  box-sizing: border-box;
}

.aieiken .balloon3:before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 60%;
  margin-left: -15px;
  border: 7px solid transparent;
  border-top: 20px solid #ff0000;
  z-index: 0;
  transform: rotate(-15deg);   
}

@media (max-width:1199px){
    .aieiken h3 span.bg_green{
       font-size: 16px;
    }
    .aieiken .balloon3 {
      padding: 0 0 0 5px;
      width: 75px;
      height: 40px;
      line-height: 40px;
      font-size: 16px;
    }
    .aieiken .balloon3:before {
      content: "";
      position: absolute;
      bottom: -20px;
      left: 60%;
      margin-left: -15px;
      border: 7px solid transparent;
      border-top: 20px solid #ff0000;
      z-index: 0;
      transform: rotate(-15deg);   
    }
}

@media (min-width:992px) and (max-width:1199px){
    .wte_catch h4{
        font-size: 14px;
    }
}
@media (min-width:768px) and (max-width:991px){
    .aieiken .wte_catch h6{
        font-size: 12px;
    }
    .aieiken .wte_catch .img_aimain img{
        padding-top: 15%;
    }   
    .aieiken .wte_catch .btn-danger{
        font-size: 16px;
        min-width:25rem;
    }
}

.aieiken span.bg_black{
    background: #000;
    padding: 2px 4px;
    border-radius: 8px;
}

/*@media (min-width:992px){
    .aieiken_flow{
        display:flex;
        flex: wrap;
    }
}*/



/*.aieiken .bg-dgrey{
  background: url("/assets/img/aieiken/bg_aieiken2.jpg") no-repeat center center;
  background-size: cover;
}*/

/*section.wte_bg_image.bg-dgrey::after {
  background-color: rgb(116,116,116,0.4);
  display: block;
  position: absolute;
  content: '';
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}*/

.bg-dgrey h2{
  line-height: 1.5em;
}

section.bg-dgrey {
    background-color:#004361;
}
section.bg-dgrey:after {
    border: 55px solid transparent;
    border-top-color: #004361;
    border-bottom-width: 110px;
    width: 0;
    content: "";
    display: block;
    left: 47%;
    position: absolute;
    z-index: 100;
}
@media (max-width:767px){
    section.bg-dgrey:after {
        border: 30px solid transparent;
        border-top-color: #004361;
        border-bottom-width: 60px;        
        left: 42%;
    }
}  
@media (min-width:992px){
    .muryou{
        display:flex;
        flex: wrap;
    }
}
.muryou h3,.muryou h4{
    line-height: 1.5em;
}

/* 共通設定：.aitoolの右側に矢印 */
.aitool {
  position: relative;
}

/* デフォルト（PC表示時）：右向き矢印 ▶ */
/*.muryou .aitool::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px; /* 矢印とカードの間隔を調整 */
  transform: translateY(-50%);
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #9dbeca; /* 矢印の色（変更可） */
}

/* スマホ表示時（幅767px以下）：下向き矢印 ▼ */
/* @media (max-width: 767px) {
  .muryou .aitool::after {
    top: auto;
    bottom: -23px; 
    left: 48%;
    right: auto;
    transform: translateX(-50%);
    border: none;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #9dbeca; 
  }
}*/

/*----------------------------------------------------------------
shindan_lp  ＜無料学習タイプ診断＞
----------------------------------------------------------------*/  
.shindan_lp .wte_logo img {
    max-height: 55px;
    width: auto;
}
@media (min-width:992px){
    .shindan_lp .wte_logo img {
        max-height: 85px;
        width: auto;
    }
    .shindan_lp .wte_header.fixed .wte_logo img, .shindan_lp .wte_header_mypages.fixed .wte_logo img {
        height: 52px;
    }    
}    
.shindan_lp .bg-grey{
    background: #f5f5f5 ;
}

.shindan_lp .bg-beige{
    background: #fffdf3 ;
}


.shindan_lp .btn.btn-navy{
    background: #004361 ;
}
.shindan_lp .wte_slider::before {
    background: none;
}
.shindan_lp .wte_catch h1, .shindan_lp .wte_catch h4{
    font-family: "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;
}
.shindan_lp .text-navy {
    color: #253a69;
}

.shindan_lp .wte_catch .btn-lg {
  font-size:12px;
  font-size:1.2rem;
  padding: 0.5rem 1.5rem;
  min-width: inherit;
  min-width: 15rem;
}

.shindan_lp .wte_cta_btn:before{
    content: "";
    position: absolute;
    bottom: -10px;
    left: -20px;
    background: url(../img/shindan/btn_shindan.png) no-repeat center bottom;
    background-size: contain;
    z-index: 5;
    width: 45px;
    height: 44px;
}

@media (min-width: 992px){  
    .shindan_lp .wte_main {
        height: 750px;
    }
    .shindan_lp .wte_slider li {
        height: 750px;
    }      
    .shindan_lp .wte_catch h1 {
        font-size: 50px;
        line-height: 1.3;
    }    
    .shindan_lp .wte_catch .btn-lg {
        font-size: 30px;
        font-size: 3.0rem;   
        min-width: 34rem;
     }
     .shindan_lp .wte_catch{
        padding-bottom: 70px;  
     }    
    .shindan_lp .wte_cta_btn:before{
        width: 91px;
        height: 89px;  
        bottom: -10px;
        left: -30px;        
    }    
}

@media (max-width:991px){
    .shindan_lp .wte_main {
        height: 550px;
    }
    .shindan_lp .wte_slider li {
        height: 550px;
    }     
    .shindan_lp .wte_catch h1 {
        font-size: 24px;
        line-height: 1.3;
    }    
    .shindan_lp .wte_catch h4 {
        font-size: 11px;
        line-height: 1.3;
    }  
    .shindan_lp .wte_catch{
        padding-bottom: 20px;  
     }     
}
@media (min-width:768px) and (max-width:991px){
    .shindan_lp .wte_catch h1 {
        font-size: 50px;
    }    
    .shindan_lp .wte_catch h4 {
        font-size: 18px;
    }  
    .shindan_lp .wte_catch .btn-lg {
        font-size:28px;
        font-size:2.8rem;
        min-width: 30rem;        
    }    
    .shindan_lp .wte_cta_btn:before{
        bottom: -10px;
        left: -20px;
        z-index: 5;
        width: 80px;
        height: 78px;
    } 
}

.shindan_lp .wte_catch{
    background: url(../img/shindan/catch_bg.png) no-repeat center center;
    background-size: contain;
    z-index: 7;
    
}
@media (min-width:768px) and (max-width:991px){
    .shindan_lp .wte_catch{
        width:680px;
    } 
}
@media (min-width:992px){
    .shindan_lp .wte_catch{
        width:800px;
    } 
}
@media (min-width:1200px){
    .shindan_lp .wte_catch{
        width:850px;
    } 
}
@media (max-width:767px){
    .shindan_lp .wte_catch{
        width:380px;
        background: url(../img/shindan/catch_bg_sp.png) no-repeat center center;
        background-size: contain;        
    } 
}

.shindan_lp .scroll-infinity {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
}

.shindan_lp .scroll-infinity__wrap {
  position: absolute;
  top: 0;
  height: 100%;
  overflow: hidden;
}

.shindan_lp .scroll-infinity__wrap--left {
  left: 0%;
  width: 20vw;
}

.shindan_lp .scroll-infinity__wrap--right {
  right: 0%;
  width: 20vw;
}

@media (min-width:1200px){
    .shindan_lp .scroll-infinity__wrap--left {
      left: 1%;
      width: 300px;
    }

    .shindan_lp .scroll-infinity__wrap--right {
      right: 1%;
      width: 300px;
    } 
}

.shindan_lp .scroll-infinity__list {
  display: flex;
  flex-direction: column;
}

/* 左列：上から下に流す */
.shindan_lp .scroll-infinity__list--down {
  animation: scroll-down 90s linear infinite;
}

@keyframes scroll-down {
  from { transform: translateY(calc(-50%)); }   /* 逆方向スタート */
  to { transform: translateY(0); }
}

/* 右列：下から上に流す */
.shindan_lp .scroll-infinity__list--up {
  animation: scroll-up 90s linear infinite;
}

@keyframes scroll-up {
  from { transform: translateY(0); }
  to { transform: translateY(calc(-50%)); }   /* 上方向に半分スクロール */
}

.shindan_lp .scroll-infinity__item {
  list-style: none;
  width: 100%;
}

.shindan_lp .scroll-infinity__item img {
  width: 100%;
  display: block;
  border-radius: 6px;  
}

/* ◎ wte_slider を前面に出す（①の対策） */
.shindan_lp .wte_slider {
  position: relative; /* 場所によっては absolute にする */
  z-index: 5;         /* scroll-infinity より上に */
}

/* もし .wte_main 等が position: static の場合、親に position: relative を付けておく */
.shindan_lp .wte_main {
  position: relative;
  overflow: visible; /* 子の absolute 表示を有効に */
}

@media (max-width:767px){
    .shindan_lp .scroll-infinity__wrap--left {
      left: 0%;
      width: 25%;
    }
    .shindan_lp .scroll-infinity__wrap--right {
      right: 0%;
      width: 25%;
    }
}

.shindan_lp .shindan_category {
  background: url(../img/shindan/bg_shindan_cate.jpg) no-repeat center center fixed;
  background-size: cover;
}
@media (max-width:767px) {
  .shindan_lp .shindan_category {
    background: url(../img/shindan/bg_shindan_cate_sp.jpg) no-repeat center center fixed;
    background-size: cover;
  }
}

.shindan_lp .btn_green{
    background: #45b78c;
}

.shindan_lp .type_green{
    background: #e7f6f1;
}

.shindan_lp .type_yellow{
    background: #faf6eb;
}

.shindan_lp .type_pink{
    background: #f4e7e6;
}

.shindan_lp .type_purple{
    background: #ede2f2;
}

.shindan_lp .rounded-top-only {
  border-radius: 30px 30px 0 0;
}

.shindan_lp .rounded-bottom-only{
  border-radius: 0 0 30px 30px;
}

.shindan_category .type-box {
  position: relative;
  border: 20px solid #e7f6f1;
  border-radius: 20px;
  padding: 20px;
  background: none;
  overflow: hidden; /* はみ出し防止 */
}

.shindan_category .type-box::before {
  content: "";
  position: absolute;
  inset: 20px; /* border幅と同じ値を指定 */
  border-radius: 12px; /* 内側の丸みを調整（20pxより少し小さく） */
  background: #fff;
  z-index: -1;
}

@media (max-width:767px){
    .shindan_category h3 span{
        white-space: nowrap;
        font-size: 17px;
    }
    .shindan_category .type_green h4,.shindan_category .type_yellow h4,.shindan_category .type_pink h4,.shindan_category .type_purple h4{
        white-space: nowrap;
        font-size: 14px;
    }
    .shindan_category .type_green p,.shindan_category .type_yellow p,.shindan_category .type_pink p,.shindan_category .type_purple p,.shindan_category .personality p,.shindan_category .compatibility p{
        font-size: 13px;
    } 
}   
@media (max-width:992px){
        .shindan_category .type_info{
            font-size: 15px;
        }
        .shindan_category .type_list strong{
        font-size: 11px; 
    }
}

.shindan_category .ribbon-wrapper {
  position: relative;
  overflow: hidden; /* はみ出し防止 */
  border-radius: 0.5rem; /* rounded-3 に合わせて調整 */
}

/* リボンの外枠（斜め配置用） */
.shindan_category .ribbon-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px; /* 調整可能 */
  height: 120px; /* 調整可能 */
  overflow: hidden;
}

/* 斜めにかかるリボン本体 */
.shindan_category .ribbon {
    position: absolute;
    display: block;
    width: 150px;
    height: 80px;
    top: -20px;
    left: -50px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    background: #fe5656;
    line-height: 120px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    /*box-shadow: 0 2px 6px rgba(0,0,0,0.2);*/
}

@media (min-width:768px){
    .shindan_category .compatibility{
        display: flex;
        flex:wrap;
    }
    .shindan_category .ribbon-wrapper{
        height: 100%;
    }
}

@media (max-width:767px){
    .shindan_category svg.d-md-none{
        position: relative;
        bottom: 2px;
    }
}



.shindan_test .position-absolute{
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);"
}

/* 進捗バー */
.shindan_test .progress {
  width: 100%;
  height: 30px;     /* バーの高さ */
  background: #fff; /* グレー（未達部分） */
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}
/* 色がつく部分 */
.shindan_test .progress__bar {
  height: 100%;
  background: #45b78c;
  transition: width 400ms ease;
}

.progress__bar--00 { width: 0%; }
.progress__bar--20 { width: 20%; }
.progress__bar--40 { width: 40%; }
.progress__bar--60 { width: 60%; }
.progress__bar--80 { width: 80%; }
.progress__bar--100 { width: 100%; }

.shindan_test_form .wte_stars {
  display: inline-flex;
  justify-content: center;  /* 横中央 */
  align-items: center;      /* 縦中央（←ここが重要） */
  flex-wrap: nowrap;
  gap: 0;
}
.shindan_test_form {
  text-align: center; /* ←全体中央寄せ */
}
.shindan_test_form .wte_stars label {
  display: inline-flex;
  align-items: center;      /* 各ラベル内の縦中央 */
  justify-content: center;  /* 横中央 */
  vertical-align: bottom;
  margin: 0;
  padding: 0;
  line-height: 0;
  cursor: pointer;
}

/* ラジオボタン非表示 */
.shindan_test_form .wte_stars input[type="radio"] {
  display: none;
}

/* 各画像 */
.shindan_test_form .wte_stars img {
  display: block;
  margin: 0 auto;
  transition: transform 0.2s ease;
}

/* サイズ指定（単位自由） */
.shindan_test_form .size-5   img { width: 8rem; }
.shindan_test_form .size-3-5 img { width: 6.5rem; margin: 0 0.2em !important;}
.shindan_test_form .size-2-5 img { width: 4rem; margin: 0 0.3em !important; }

.shindan_test .ablabel{
    width: 100%;
}

@media (max-width:767px){
    .shindan_test_form .size-5   img { width: 6.3rem; }
    .shindan_test_form .size-3-5 img { width: 4.5rem; margin: 0 0.2em !important;}
    .shindan_test_form .size-2-5 img { width: 3rem; margin: 0 0.3em !important; }  
    .shindan_test h3.question{
       font-size: 16px;
    }    
    .shindan_test p.answer{
       font-size: 13px;
    }  
    .shindan_test .ablabel{
        max-width: 307px;
        margin: 0 auto;
    }
    .shindan_test .btn-primary{
        width: 14rem !important;
        min-width:14rem !important;
        margin: 0 0.5em;
    }
}



/* 通常状態 */
.shindan_test_form .wte_stars input + img {
  transition: 0.2s ease;
}

/* 選択時に切り替え */
.shindan_test_form .wte_stars input[value="1"]:checked + img {
  content: url("/assets/img/shindan/test_pen_r-2.png");
}
.shindan_test_form .wte_stars input[value="2"]:checked + img {
  content: url("/assets/img/shindan/test_pen_r-2.png");
}
.shindan_test_form .wte_stars input[value="3"]:checked + img {
  content: url("/assets/img/shindan/test_pen_r-2.png");
}
.shindan_test_form .wte_stars input[value="4"]:checked + img {
  content: url("/assets/img/shindan/test_pen_g-2.png");
}
.shindan_test_form .wte_stars input[value="5"]:checked + img {
  content: url("/assets/img/shindan/test_pen_g-2.png");
}
.shindan_test_form .wte_stars input[value="6"]:checked + img {
  content: url("/assets/img/shindan/test_pen_g-2.png");
}


.shindan_test .page-dots {
  text-align: center;
  margin-top: 2rem;
}

.shindan_test .page-dots .dot {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 6px;
  border-radius: 50%;
  background-color: #ccc; /* 〇：グレー */
  transition: background-color 0.3s;
}

.shindan_test .page-dots .dot.active {
  background-color: #0c88cc; /* ●：ブルー */
}

@media (max-width:767px){
    .shindan_about .wte_catch{
        width:100%;
    } 
}

.shindan_type .position-relative {
  display: inline-block;
  position: relative;
}

.shindan_type .main-img {
  display: block;
  width: 50%;
  display: block;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .shindan_type .main-img {
    position: relative;
    top: 7px;  
    width: 75%;
  }
}
@media (min-width: 992px) {
  .shindan_type .main-img {
    top: 8px;  

  }
}

.shindan_type .frame {
  position: absolute;
  top: -4%;
  transform: translateX(-50%);
  width: 55%;
  pointer-events: none;     
}

@media (min-width: 768px) {
  .shindan_type .frame {
    width: 83%;
  }  
}

/*シェアボタンモーダル*/
@media (min-width:576px){
    .shindan_lp .modal-dialog {
        max-width: 470px;
        margin: 1.75rem auto;
    }
}    
.shindan_lp .btn-dark {

    box-shadow: 0 3px 0 #525252;
}
.shindan_lp .btn-dark:focus {
    color: #fff;
    background-color: #5c636a;
    border-color: #565e64;
    box-shadow: 0 0 0 .25rem rgba(130,138,145,.5);
}
.shindan_lp .btn-dark:hover {
    opacity: 0.8;
}
.shindan_lp .btn-insta {
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
    box-shadow: 0 3px 0 #7e5f90;
}
.shindan_lp .btn-insta:focus {
    color: #fff;
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
    box-shadow: 0 0 0 .25rem rgba(130,138,145,.5);
}
.shindan_lp .btn-insta:hover {
    opacity: 0.8;
}
.shindan_lp .btn-line {
    background: #06C755;
    box-shadow: 0 3px 0 #1ca454;
}
.shindan_lp .btn-line:focus {
    color: #fff;
    background-color: #06C755;
    border-color: #06C755;
    box-shadow: 0 0 0 .25rem rgba(130,138,145,.5);
}
.shindan_lp .btn-line:hover {
    opacity: 0.8;
}
@media (max-width:767px){
    .shindan_lp .modal{
        z-index: 5001;
    }
}

.text-dark {
    color: #212529 !important;
}
@media (min-width:992px){
    .shindan_lp .comp-sm{
        position: relative;
        left: 10px;
    }
}
@media (min-width:1200px){
    .shindan_lp .comp{
        font-size: 20px;
    } 
    .shindan_lp .comp-sm{
        font-size: 18.0px;
    }
} 
@media (max-width:556px){
    .shindan_lp .comp{
        min-width: 100%;
        font-size: 13px;
    } 
    .shindan_lp .comp-sm{
        font-size: 10px;
    }
}

.shindan_lp .wte_cta_btn_1:before{
    background: url(../img/shindan/type_1.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_2:before{
    background: url(../img/shindan/type_2.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_3:before{
    background: url(../img/shindan/type_3.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_4:before{
    background: url(../img/shindan/type_4.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_5:before{
    background: url(../img/shindan/type_5.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_6:before{
    background: url(../img/shindan/type_6.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_7:before{
    background: url(../img/shindan/type_7.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_8:before{
    background: url(../img/shindan/type_8.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_9:before{
    background: url(../img/shindan/type_9.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_10:before{
    background: url(../img/shindan/type_10.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_11:before{
    background: url(../img/shindan/type_11.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_12:before{
    background: url(../img/shindan/type_12.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_13:before{
    background: url(../img/shindan/type_13.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_14:before{
    background: url(../img/shindan/type_14.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_15:before{
    background: url(../img/shindan/type_15.png) no-repeat center bottom;
}
.shindan_lp .wte_cta_btn_16:before{
    background: url(../img/shindan/type_16.png) no-repeat center bottom;
}
.shindan_lp .comp:before{
    content: "";
    position: absolute;
    bottom: -2px;
    left: -2px;
    background-size: contain;
    z-index: 5;
    width: 85px;
    height: 83px;    
}
@media (max-width:767px){
    .shindan_lp .comp:before{
        content: "";
        position: absolute;
        bottom: 0px;
        left: -2px;
        background-size: contain;
        z-index: 5;
        width: 60px;
        height: 58px;    
    }
}

.shindan_lp .comp_1{
  position: relative;
  width: 230px;
  margin: 0 auto;
  display: block;
}
.shindan_lp .comp_1::before{
  content: "";
  position: absolute;   
  bottom: 42px;
  left: -30px;   
  background: url(../img/shindan/comp_1.png) no-repeat center bottom;
  background-size: contain;    
  width: 66px;
  height: 50px;      
}
.shindan_lp .comp_1::after{
  content: "";
  position: absolute;   
  bottom: 42px;
  right: -30px;   
  background: url(../img/shindan/comp_1.png) no-repeat center bottom;
  background-size: contain;    
  width: 66px;
  height: 50px;     
}
@media (max-width:767px){
    .shindan_lp .comp_1{
      width: 140px;
    }    
    .shindan_lp .comp_1::before{ 
      bottom: 38px;
      left: -40px;     
      width: 50px;
      height: 37px;     
    }
    .shindan_lp .comp_1::after{
      bottom: 38px;
      right: -40px;     
      width: 50px;
      height: 37px;     
    }  
}

.shindan_lp .comp_2{
  position: relative;
  width: 230px;
  margin: 0 auto;
  display: block;
}
.shindan_lp .comp_2::before{
  content: "";
  position: absolute;   
  bottom: 42px;
  left: -15px;   
  background: url(../img/shindan/comp_2.png) no-repeat center bottom;
  background-size: contain;    
  width: 66px;
  height: 50px;      
}

@media (max-width:767px){
    .shindan_lp .comp_2{
      width: 130px;
    }    
    .shindan_lp .comp_2::before{ 
      bottom: 38px;
      left: -30px;     
      width: 50px;
      height: 37px;     
    }
}

.shindan_lp .comp_3{
  position: relative;
  width: 230px;
  margin: 0 auto;
  display: block;
}
.shindan_lp .comp_3::before{
  content: "";
  position: absolute;   
  bottom: 42px;
  left: -20px;   
  background: url(../img/shindan/comp_3.png) no-repeat center bottom;
  background-size: contain;    
  width: 66px;
  height: 50px;      
}

@media (max-width:767px){
    .shindan_lp .comp_3{
      width: 130px;
    }    
    .shindan_lp .comp_2::before{ 
      bottom: 38px;
      left: -30px;     
      width: 50px;
      height: 37px;     
    }
}

@media (min-width:992px){
    .shindan_lp .pc-border-br{
        border-bottom: 3px dashed #2f2f2f;
        border-right: 3px dashed #2f2f2f;    
    }
    .shindan_lp .pc-border-b{
        border-bottom: 3px dashed #2f2f2f;    
    }   
    .shindan_lp .pc-border-r{
        border-right: 3px dashed #2f2f2f;    
    }      
}   
@media (max-width:991px){
    .shindan_lp .sp-border-br{
        border-bottom: 2px dashed #2f2f2f;
        border-right: 2px dashed #2f2f2f;    
    }
    .shindan_lp .sp-border-b{
        border-bottom: 2px dashed #2f2f2f;    
    }
    .shindan_lp .sp-border-r{
        border-right: 2px dashed #2f2f2f;  
    }  
} 
@media (max-width:767px){
    .shindan_lp .ryoukou h4{
        font-size: 12px;
        white-space: nowrap;
    }    
}

.shindan_lp .comp_1-h2{
  position: relative;
  width: 170px;
}
.shindan_lp .comp_1-h2::before{
  bottom: 38px;
  width: 50px;
  height: 37px;    
}
.shindan_lp .comp_1-h2::after{
  bottom: 38px;
  width: 50px;
  height: 37px;    
}
@media (max-width:767px){
    .shindan_lp .comp_1-h2{
      width: 100px;
    }    
    .shindan_lp .comp_1-h2::before{ 
      bottom: 36px;   
      width: 40px;
      height: 28px;     
    }
    .shindan_lp .comp_1-h2::after{
      bottom: 36px; 
      width: 40px;
      height: 28px;       
    }  
}

.shindan_lp .text-outline-white {
  text-shadow:
    -2px -2px 0 #fff,
     2px -2px 0 #fff,
    -2px  2px 0 #fff,
     2px  2px 0 #fff,
     0   -2px 0 #fff,
     0    2px 0 #fff,
    -2px  0   0 #fff,
     2px  0   0 #fff;
}

/*----------------------------------------------------------------
wa-pen_beginner_lp  ＜ワーペン初心者LP＞
----------------------------------------------------------------*/ 
@media (min-width:992px){
    .wa-pen_beginner .wte_global_nav li a, .wa-pen_beginner .wte_front_nav li a{
        color: #000;
    }
    .wa-pen_beginner .wte_head_nav li.wte_head_nav_none a {
        color: #000;
    }
    .wa-pen_beginner .wte_head_nav li.wte_head_nav_none a {
        color: #000;
    }
    .wa-pen_beginner .wte_header.fixed,.wa-pen_beginner .index .wte_header.fixed {
        background-color: rgba(217,247,257);
    }
    .wa-pen_beginner .wte_header.fixed .wte_logo img,.wa-pen_beginner  .wte_header_mypages.fixed .wte_logo img {
        height: 38px;
    }
}


.wa-pen_beginner .wapen_message {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 16px;
}
@media (min-width:768px){
    .wapen_message p{
        line-height: 2.3;
    }
} 
   
@media (max-width:575px){
    .wapen_message p{
        font-size: 15px;
        line-height: 1.6; 
        margin-bottom: 15%;
        padding: 0 10%;
    }
}   
@media (max-width:500px){
    .wapen_message p{       
        margin-bottom: 10%;
    }
} 
@media (max-width:450px){
    .wapen_message p{
        font-size: 13px;        
        margin-bottom: 5%;
    }
} 
@media (max-width:400px){
    .wapen_message p{    
        font-size: 12.5px;             
        margin-bottom: 3%;
    }
} 


.wa-pen_beginner .wt_mvbtn a{
    border: 3px solid #000;
    box-shadow: none; 
    box-shadow: 2px 4px 5px rgb(0 0 0 / 25%);
    background: #fff799;
    color: #000;
}

.wa-pen_beginner section.bg_ltblue{
    background: #d9f7fe;
}


.wa-pen_beginner .wapen_onayami_box{
    border: 3px solid #000;
    background: #fff;
    border-radius: 25px;    
}


/* 吹き出し本体 */
.wa-pen_beginner .wapen_onayami_box h4.left {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 30px 20px;
  background: #fff4e4;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;    
}

/* 外側（三角の枠線） */
.wa-pen_beginner .wapen_onayami_box h4.left::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -28px;
  transform: translateY(-50%);
  border-width: 20px 28px 20px 0;
  border-style: solid;
  border-color: transparent #000 transparent transparent;
}

/* 内側（三角の背景） */
.wa-pen_beginner .wapen_onayami_box h4.left::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px; /* ←ここ微調整 */
  transform: translateY(-50%);
  border-width: 17px 24px 17px 0; /* ←上下+1pxで中央ズレ防止 */
  border-style: solid;
  border-color: transparent #fff4e4 transparent transparent;
}

/* 吹き出し本体 */
.wa-pen_beginner .wapen_onayami_box h4.right {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 20px 20px;
  background: #eeffee;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;
}

.wa-pen_beginner .wapen_onayami_box h4.right::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -28px;
  transform: translateY(-50%);

  border-width: 20px 0 20px 28px;
  border-style: solid;
  border-color: transparent transparent transparent #000;
}

/* 内側（三角の背景） */
.wa-pen_beginner .wapen_onayami_box h4.right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translateY(-50%);

  border-width: 17px 0 17px 24px;
  border-style: solid;
  border-color: transparent transparent transparent #eeffee;
}

.wa-pen_beginner .onayamilabel{
    height: 25px;
}
.wa-pen_beginner .onayamilabel img{
    position: relative;
    bottom: 15px;
}
@media (max-width:992px){
    .wa-pen_beginner .onayamilabel img{
        bottom: 0px;
        width: 90px;
    }
    .wa-pen_beginner .onayamilabel{
       height: 30px;
    }    
}
@media (max-width:767px){
    .wa-pen_beginner .wapen_onayami_box h4.left {
      padding: 25px 15px;
    }    
    .wa-pen_beginner .onayamilabel img{
        bottom: 22px;
        width: 70px;
    }
    .wa-pen_beginner .onayamilabel{
       height: 10px;
    }     
}
@media (min-width:768px){
    .wa-pen_beginner .himitsu_border-r{
        border-right: 2px dashed #bbbbbb;
    }
}    
@media (max-width:767px){
    .wa-pen_beginner .himitsu_border-r{
        border-bottom: 2px dashed #bbbbbb;
    }
}

/* 吹き出し本体 */
.wa-pen_beginner .wapen_onayami_box h3.under1 {
  
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 5px 8px 10px 8px;
  background: #dcfdfd;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;
  line-height: 1.5;    
}

/* 外側（三角の枠線） */
.wa-pen_beginner .wapen_onayami_box h3.under1::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px; /* ← 下に出す */
  transform: translateX(-50%);
  border-width: 20px 20px 0 20px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

/* 内側（三角の背景） */
.wa-pen_beginner .wapen_onayami_box h3.under1::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px; /* ← 少し内側 */
  transform: translateX(-50%);
  border-width: 16px 16px 0 16px;
  border-style: solid;
  border-color: #dcfdfd transparent transparent transparent;
}

/* 吹き出し本体 */
.wa-pen_beginner .wapen_onayami_box h3.under2 {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 5px 10px 10px 10px;
  background: #fefeef;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;
  line-height: 1.5;    
}

/* 外側（三角の枠線） */
.wa-pen_beginner .wapen_onayami_box h3.under2::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px; /* ← 下に出す */
  transform: translateX(-50%);
  border-width: 20px 20px 0 20px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

/* 内側（三角の背景） */
.wa-pen_beginner .wapen_onayami_box h3.under2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px; /* ← 少し内側 */
  transform: translateX(-50%);
  border-width: 16px 16px 0 16px;
  border-style: solid;
  border-color: #fefeef transparent transparent transparent;
}

/* 吹き出し本体 */
.wa-pen_beginner .wapen_onayami_box h3.under3 {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 2px 10px 10px 10px;
  background: #fce9fd;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;
  line-height: 1.5;    
}

@media (min-width:992px){
    .wa-pen_beginner .wapen_onayami_box h3.under3 {
      line-height: 3.9; 
    }
}    
@media (max-width:991px){
    .wa-pen_beginner .wapen_onayami_box h3.under3 {
        padding: 10px;
    }
}
/* 外側（三角の枠線） */
.wa-pen_beginner .wapen_onayami_box h3.under3::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px; /* ← 下に出す */
  transform: translateX(-50%);
  border-width: 20px 20px 0 20px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

/* 内側（三角の背景） */
.wa-pen_beginner .wapen_onayami_box h3.under3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px; /* ← 少し内側 */
  transform: translateX(-50%);
  border-width: 16px 16px 0 16px;
  border-style: solid;
  border-color: #fce9fd transparent transparent transparent;
}

/* 吹き出し本体 */
.wa-pen_beginner h3.under4 {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 2px 10px 10px 10px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;
  line-height: 1.5;    
}

/* 外側（三角の枠線） */
.wa-pen_beginner h3.under4::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px; /* ← 下に出す */
  transform: translateX(-50%);
  border-width: 20px 20px 0 20px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

/* 内側（三角の背景） */
.wa-pen_beginner h3.under4::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px; /* ← 少し内側 */
  transform: translateX(-50%);
  border-width: 16px 16px 0 16px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

/* 吹き出し本体 */
.wa-pen_beginner .left2 { 
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 20px 17% 30px 30px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;     
}

/* 外側（三角の枠線） */
.wa-pen_beginner .left2::before {
  content: "";
  position: absolute;
  top: 20%;
  left: -28px;
  transform: translateY(-50%);
  border-width: 20px 28px 20px 0;
  border-style: solid;
  border-color: transparent #000 transparent transparent;
}

/* 内側（三角の背景） */

.wa-pen_beginner .left2::after {
  content: "";
  position: absolute;
  top: 20%;
  left: -24px; /* ←ここ微調整 */
  transform: translateY(-50%);
  border-width: 17px 24px 17px 0; /* ←上下+1pxで中央ズレ防止 */
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}

.wa-pen_beginner .wapen_voice {
  position: absolute;
  right: 0.5%;
  bottom: -5.5%;
  width: 196px;    
}

@media (max-width:991px){
    .wa-pen_beginner .wapen_voice {    
      right: -5.5%;
      bottom: -4.5%;
      width: 150px;  
    }
}
@media (max-width:767px){
    /* 吹き出し本体 */
    .wa-pen_beginner .left2 { 
      padding: 15px 10px 20% 15px;
    }
    .wa-pen_beginner .wapen_voice {    
      right: -2%;
      bottom: -4.5%;
      width: 120px;  
    }    
}

.wa-pen_beginner .step_box{
    border: 3px solid #000;
    background: #0a88cc;
    border-radius: 25px;  
    padding: 20px 10px;
}
.wa-pen_beginner .step_box h3{
    border: 3px solid #000;
    background: #fff;
    border-radius: 25px;  
    width: 160px;
    display: block;
    margin: 0 auto;
}

.wa-pen_beginner .step_img {
  width: 230px;
  height: 230px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 50%;
  padding: 15px; /* ← 余白はこっちに付ける */
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wa-pen_beginner .step_img img {
  max-width: 93%;
  max-height: 93%;
  object-fit: contain; /* ← 画像が切れない */
}

@media (min-width:768px){
    .wa-pen_beginner .col-md-25{
        width:28% !important;
    }
    .wa-pen_beginner .col-md-125{
        width:8% !important;
    }
}   

@media (min-width:768px) and (max-width:991px){
    .wa-pen_beginner .step_img {
      width: 170px;
      height: 170px;
    }    
}

@media (min-width:1200px){
    .wa-pen_beginner .col-md-25{
        width:25% !important;
    }
    .wa-pen_beginner .col-md-125{
        width:12.5% !important;
    }
}  

@media (max-width:575px){
    .wa-pen_beginner .step_img {
      width: 150px;
      height: 150px;
    }    
}

/* =====================
   矢印ボックス（中央配置）
===================== */
.arrow_box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px; /* ← 高さ確保（重要） */
}

/* =====================
   共通（三角のベース）
===================== */
.wa-pen_beginner .arrow_box::before,
.wa-pen_beginner .arrow_box::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* =====================
   ▼ SP：下向き三角（〜991px）
===================== */

/* 枠（1px） */
.wa-pen_beginner .arrow_box::before {
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 35px solid #000;
}

/* 中身 */
.wa-pen_beginner .arrow_box::after {
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-top: 32px solid #fff799;
}

/* =====================
   ▶ PC：右向き三角（992px〜）
===================== */
@media (min-width: 768px) {

  /* 枠（1px） */
  .wa-pen_beginner .arrow_box::before {
    border-top: 35px solid transparent;
    border-bottom: 35px solid transparent;
    border-left: 45px solid #000;
    border-right: none;
  }

  /* 中身 */
  .wa-pen_beginner .arrow_box::after {
    border-top: 32px solid transparent;
    border-bottom: 32px solid transparent;
    border-left: 42px solid #fff799;
    border-right: none;
  }
}
.wa-pen_beginner h2.no-wrap{
    line-height: 1.2;
    white-space: nowrap;
}
.wa-pen_beginner h2 strong.big{
    font-style: 200%
}

/* 吹き出し本体 */
.wa-pen_beginner .wapen_goal h4.right {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 20px 20px;
  background: #fff;
  border: 3px solid #000;
  border-radius: 25px;
  width: 100%;
}

.wa-pen_beginner .wapen_goal h4.right::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -28px;
  transform: translateY(-50%);
  border-width: 20px 0 20px 28px;
  border-style: solid;
  border-color: transparent transparent transparent #000;
}

/* 内側（三角の背景） */
.wa-pen_beginner .wapen_goal h4.right::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  transform: translateY(-50%);
  border-width: 17px 0 17px 24px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
}

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

    .wa-pen_beginner .wapen_goal h4.right {
      padding: 12px 20px; /* ← 縦だけ縮める */
      border-radius: 20px;
    }

    /* 外側（三角） */
    .wa-pen_beginner .wapen_goal h4.right::before {
      top: auto;    
      bottom: -20px;
      right: 50%;
      transform: translateX(50%);
      border-width: 20px 20px 0 20px;
      border-color: #000 transparent transparent transparent;
    }

    /* 内側（三角） */
    .wa-pen_beginner .wapen_goal h4.right::after {
      top: auto;      
      bottom: -16px;
      right: 50%;
      transform: translateX(50%);
      border-width: 16px 16px 0 16px;
      border-color: #fff transparent transparent transparent;
    }

}

/* 吹き出し本体 */
.wa-pen_beginner .wapen_faq .faq_blue {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 8px 8px 8px 8px;
  background: #dcfdfd;
  background: #fff;    
  border: 3px solid #000;
  border-radius: 35px;
  width: 100%;
  line-height: 1.5;    
}
/* 吹き出し本体 */
.wa-pen_beginner .wapen_faq .faq_purple {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 10px 8px 10px 8px;
  background: #fce9fd;
  border: 3px solid #000;
  border-radius: 35px;
  width: 100%;
  line-height: 1.5;    
}
@media (max-width:767px){
    .wa-pen_beginner img.icon_wapen{
        width: 40px !important;
        position: relative;
        left: 3px;
    }
}
@media (max-width:576px){
    .wa-pen_beginner img.icon_wapen{
        width: 30px !important;
        left: 2px;
    }
}

.wa-pen_beginner .btn-cta{
    border: 3px solid #000;
    box-shadow: none; 
    box-shadow: 2px 4px 5px rgb(0 0 0 / 25%);
    background: #fff799;
    color: #000;
}

.wa-pen_beginner .wte_cta_btn:before {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 5px;
    background: url(/assets/img/wa-pen_beginner/wapen_goal.png) no-repeat center bottom;
    background-size: contain;
    z-index: 5;
    width: 86px;
    height: 86px;
}

.wa-pen_beginner .wte_cta_btn:active,.wa-pen_beginner .wte_cta_btn:hover {
    background: #f3ea7d;
    color: #000;
    text-decoration: none;
}
.wa-pen_beginner .h-0 {
  height: 0;
}
.wa-pen_beginner img.point{
    width: 138px;
    position: relative;
    bottom: 35px;
}
@media (max-width:767px){
    .wa-pen_beginner img.point{
        width: 100px;
        bottom: 20px;
    }
}

/*----------------------------------------------------------------
wa-pen_ai_lp  ＜ワーペンAILP＞
----------------------------------------------------------------*/ 
@media (min-width:992px) and (max-width:1199px){
    .wa-pen_beginner h1.mainttl{
        font-size: 3.4rem;
    }
}    
@media (max-width:420px){
    .wa-pen_beginner h1.mainttl{
        font-size: 2.4rem;
    }
} 

.wa-pen_beginner .ai_tool{
    position: relative;
    bottom: -20px;
}
@media (min-width:992px){
    .wa-pen_beginner .ai_tool{
        position: relative;
        bottom: 20px;
    }
}

/* ul全体 */
.wa-pen_beginner .recommend {
  list-style: none;   /* デフォルトの「・」を消す */
  padding: 0;
  margin: 0;
}

/* li */
.wa-pen_beginner .recommend li {
  position: relative;
  padding-left: 60px;   /* アイコン分の余白 */
  margin-bottom: 40px;  /* 行間・項目間を広げる */
  line-height: 3.5;     /* テキストの行間 */
}

/* li */
.wa-pen_beginner .recommend li:last-child {
  margin-top: 10px;
  margin-bottom: 30px;  /* 行間・項目間を広げる */
  line-height: 2.0;     /* テキストの行間 */
}

/* 共通アイコン設定 */
.wa-pen_beginner .recommend li::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 50px;
  height: 58px;
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width:1199px){
    /* li */
    .wa-pen_beginner .recommend li {
      margin-bottom: 30px;  /* 行間・項目間を広げる */
      line-height: 2.5;     /* テキストの行間 */
    }

    /* li */
    .wa-pen_beginner .recommend li:last-child {
      margin-top: 10px;
      margin-bottom: 20px;  /* 行間・項目間を広げる */
      line-height: 2.0;     /* テキストの行間 */
    }
}

@media (max-width:991px){
/* 共通アイコン設定 */
    .wa-pen_beginner .recommend li::before {
      width: 40px;
    }
    /* li */
    .wa-pen_beginner .recommend li {
      margin-bottom: 20px;  /* 行間・項目間を広げる */
      line-height: 2.5;     /* テキストの行間 */
    }

    /* li */
    .wa-pen_beginner .recommend li:last-child {
      margin-bottom: 20px;  /* 行間・項目間を広げる */
      line-height: 2.5;     /* テキストの行間 */
    }    
}
    

/* 1番目 */
.wa-pen_beginner .recommend li:nth-child(1)::before {
  background-image: url(/assets/img/wa-pen_beginner/ico_faq1.png);
}

/* 2番目 */
.wa-pen_beginner .recommend li:nth-child(2)::before {
  background-image: url(/assets/img/wa-pen_beginner/ico_faq2.png);
}

/* 3番目 */
.wa-pen_beginner .recommend li:nth-child(3)::before {
  background-image: url(/assets/img/wa-pen_beginner/ico_faq3.png);
}

/* 4番目 */
.wa-pen_beginner .recommend li:nth-child(4)::before {
  background-image: url(/assets/img/wa-pen_beginner/ico_faq4.png);
}

.wa-pen_beginner .wapen_bule{
    color: #12a9c9;
}
.wa-pen_beginner .wapen_green{
    color: #02cf6e;
    
}

/*----------------------------------------------------------------
groupevent  ＜グループレッスン1周年記念オンラインイベント＞
----------------------------------------------------------------*/ 
.groupevent .grounp_bg{
    background-image: url(/assets/img/groupevent/bg_all.jpg) ;
    background-position: center top;    
}

.groupevent .mainvis{
    background-image: url(/assets/img/groupevent/bg_main.png);
    background-position: center center;    
}

@media (max-width:991px){
    .groupevent .mainvis{
        background-image: url(/assets/img/groupevent/bg_main_sp.png);
        background-position: center bottom;    
    }    
}
@media (max-width:576px){
    .groupevent .mainvis{
        background-image: url(/assets/img/groupevent/bg_main_sp_s.png);
        background-position: center bottom;    
    }    
}

.groupevent .main-text{
    margin-top: -30px;
}
.groupevent .main-img{
    margin-top: -200px;    
}

@media (min-width:992px) and (max-width:1199px){
    .groupevent .main-text h2{
        font-size: 28px;
    }
    .groupevent .main-text{
        margin-top: -10px;
    }
    .groupevent .main-img{
        margin-top: -150px;    
    }
}

@media (min-width:768px) and (max-width:991px){
    .groupevent .main-text{
        margin-top: -10px;
    }
    .groupevent .main-img{
        margin-top: -160px;    
    }
}

@media (max-width:767px){
    .groupevent .mainvis h1{
        font-size: 31px;  
    }
    .groupevent .main-text{
        margin-top: -10px;
    }
    .groupevent .main-img{
        margin-top: -40px;    
    }
}

@media (max-width:767px){
    .groupevent .mainvis h1{
        font-size: 31px;  
    }
}
.groupevent .intro h3{
    white-space: nowrap;
}
@media (min-width:768px){
    .groupevent .card p, .groupevent .card div, .groupevent .card li, .groupevent .card label{
        font-size: 16px;
    }

    .groupevent .intro h3 strong{
        font-size: 32px !important;
    }    
}

.groupevent .mainvis .anniversary-badge{
    position: relative;
    left: -45%;
    bottom: 0px;
    height: 0;
    z-index: 1;
}

.groupevent .mainvis .anniversary-badge span{
    background: #ffdea2;
    width: 150px;
    height: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    border-radius: 50%;
    font-weight: bold;
    line-height: 1.2;
}

/* 1199px以下 */
@media (max-width:1199px){
    .groupevent .mainvis .anniversary-badge{
        left: -45%;
        bottom: -15px;
    }

    .groupevent .mainvis .anniversary-badge span{
        font-size: 16px;
        width: 100px;
        height: 100px;
        font-size: 20px;
    }
}


/* 767px以下 */
@media (max-width:767px){
    .groupevent .mainvis .anniversary-badge{
        left: -40%;
        bottom: -15px;
    }
    .groupevent .mainvis .anniversary-badge span{
        font-size: 16px;
        width: 70px;
        height: 70px;
        font-size: 14px;
    }
}


.groupevent .mainvis .main_ttl{
    position: relative;    
    z-index: 3;
}

.groupevent .border-primary{
    border-color: #2f80ed !important;
}

.groupevent .kohay.border-bottom{
    border-bottom: 2px dashed #888888 !important; 
}

@media (max-width:576px){
    .groupevent .theme h1{
        font-size: 33px;
    }
}
.groupevent .bg-l-orange{
    background: #fff7f6;
}
.groupevent .flow h3.number {
    line-height: 50px !important;
    position: relative;
    top: 0px;              /* 下へ25px移動 */
    z-index: 2;
    margin: 0 auto -25px;   /* 中央配置 + 重なり */
    text-align: center;
}

.groupevent .flow h3.number span {
    width: 50px;
    height: 50px;
    line-height: 50px;
    display: block;
}

.groupevent .flow .bg-l-orange {
    flex-grow: 1;           /* 高さを揃える */
}

/* ボタンを基準に疑似要素を配置 */
.groupevent .btn-cta {
    position: relative;
    display: inline-block;
}
.groupevent .btn-cta:hover {
    text-decoration: none;
}
/* 左側に画像を重ねる */
.groupevent .btn-cta::before {
    content: "";
    position: absolute;
    top: 30%;
    left: 12px; /* 左にはみ出す量（調整可） */
    transform: translateY(-50%);
    z-index: 2;
    width: 110px; /* 画像サイズ（調整可） */
    height: 115px;
    background: url("/assets/img/groupevent/icon_btn.png") no-repeat center center;
    background-size: contain;
    pointer-events: none; /* クリックを邪魔しない */
}

@media (max-width: 767px) {
    .groupevent .btn-cta::before {
        top: 35%;
        left: 15px; /* 左にはみ出す量（調整可） */
        width: 90px; /* 画像サイズ（調整可） */
        height: 92px;
    }
}

.groupevent .apply-form iframe{
    max-width: 800px;
    margin: 0 auto;
}