/*------------------------
　　　　　pc first
　　　　　▼ PC表示　▼
------------------------*/
body {
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-feature-settings: "palt";
    line-height: 1.7;
    color: #232323;
    letter-spacing: .2em;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
    font-size: 2rem;
}
.bold{
    font-weight:700;
}
.blank_link{
	text-decoration: underline;
	color: #eb4b4b;
    text-underline-offset:0.2em;
}
.marker_blue {
    font-style: normal;
    background-color: transparent;
    background-image: linear-gradient(transparent 60%,#ffe400 0);
}
.marker_gold {
    font-style: normal;
    background-color: transparent;
    background-image: linear-gradient(transparent 60%,#dcccb4 0);
}
.marker_yel {
    font-style: normal;
    background-color: transparent;
    background-image: linear-gradient(transparent 60%,#ffd200 0);
}
.marker_pink {
    font-style: normal;
    background-color: transparent;
    background-image: linear-gradient(transparent 60%,#ffe1dd 0);
}
.border_red{
    text-decoration: solid underline #e77f79 3px;
    text-underline-offset:0.2em;
}


/*　▼ header　▼　*/
header{
    background:url(../img/mv_bg.jpg) no-repeat;
    background-size: cover;
    background-position: right top;
}
header img{
	background-size: cover;
	width: 100%;
}
header h1{
	margin-bottom: 0;
}
header img {
    width:1200px;
    margin:0 auto;
}


/*▼ ボタン設定　▼*/
.btn{
    text-align: center;
    display: block;
    position: relative;
    z-index: 2;
    font-weight: 700;
    background:#e16a60;
    border-radius:5px;
    /*filter: drop-shadow(0px 8px 0px #b93636);*/
    width:85%;
    height:70px;
    line-height:70px;
    color:#fff;
    margin:0 auto 20px;
    font-size: 2.4rem;
}
.btn:hover{
    /*background:#b93636;*/
    /*filter: drop-shadow(0px 8px 0px #e16a60);*/
}
.btn::after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(.5);
    transform: scale(.5);
}
.btn:hover::after {
    -webkit-transform: scale(1);
    transform: scale(1);
}


/* common */
section{
	width: 1000px;
	margin: 0 auto;
	padding: 110px 0;
}
h1{
	text-align: center;
	margin-bottom: 60px;
	font-size: 4.3rem;
    letter-spacing: 0;
    font-weight: 700;
}
.heading_border {
    position: relative;
    margin-bottom: 100px;
}
.heading_border:before {
    position: absolute;
    bottom: -15px;
    left: calc(50% - 84px);
    width: 170px;
    height: 2px;
    content: '';
    background:#cca374;
}


/*
PC
campaign
限定価格
*/
.campaign_wrap{
    background:url(../img/campaign_bg.jpg) no-repeat;
    background-size: cover;
    background-position: bottom center;
}
.campaign {
    padding: 60px 0;
}
.campaign .heading_border:before{
    background:#cca374;
}
.campaign .en{
    margin-bottom: 9px;
}
.campaign h1{
    background: #895126;
    background: linear-gradient(to bottom, #895126 25%,  #d1a97a 50%, #895126 75%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height:1.2;
    font-size: 3rem;
}
.campaign .heading_border {
    margin-bottom: -20px;
}
.campaign_img{
    width: 77%;
}


/*PC 01
special
期間限定価格！
*/
.special_wrap{
    background-color: #062557;
    /* background:url(../img/special_bg.jpg);
    background-size: cover;
    background-position: top center; */
}
.special h1{
    font-size: 6rem;
    line-height: 1.8;
    margin-bottom: 50px;
}
.special .heading_border:before{
    background:#e9e0d8;
}
.special_img{
    width:100%;
    margin-bottom: 40px;
}
.special h3{
    font-size: 3.6rem;
    line-height:1.4;
    margin-bottom:20px;
}
.gold_gr{
    background: #635039;
background: linear-gradient(to top, #635039 0%, #E6D2BA 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.btn04{
    width:60%;
    background:#e3911b;
    filter: drop-shadow(0px 8px 0px #bb7209);
}
.btn04:hover{
    filter: drop-shadow(0px 8px 0px #e3911b);
}
@media screen and (max-width: 599px) {
    .special_img{
        width:90%;
    }
}



/*PC 02
contents
レター部分
 */
/* sec04_after */
.sec04_after_wrap{
    color: #333;
}
.sec04_after h2 {
    letter-spacing: 0;
}
.sec04_after ul {
    display: inline-block;
    padding: 2% 4%;
    font-size: 2.2rem;
    letter-spacing: 0;
}
.sec04_after ul li{
    line-height: 2;
}
.sec04_after p {
    letter-spacing: 0;
    line-height: 1.4;
}
.sec04_list {
    font-weight: 600;
}
.sec04_list li {
    padding-left: 28px;
    position: relative;
}
.sec04_list li::before {
    position: absolute;
    content: "";
    background-image: url(../img/check_list.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    left: 0;
    top: 14px;
}

@media screen and (max-width: 599px) {
    .sec04_list li::before {
    width: 20px;
    height: 20px;
    left: 0;
    top: 11px;
}
}


/* about */
.point {
    letter-spacing: 0;
    font-size: 2.4rem;
}

/*
sec07
point
本講座の新しい３つの見どころ
*/
.point_wrap{
    
}
.point .en:before{
    background:#fff;
}
.point .box{
    border-radius: 5px;
    padding:5%;
    margin-bottom:40px;
}
.point .box:last-of-type{
    margin-bottom:0
}
.point_nam{
    width: 11%;
    margin: 0 auto 20px;
}
.point h2{
    font-size: 3rem;
    margin-bottom: 30px;
}
.point_img{
    width: 75%;
    margin: 0 auto 28px;
}
.point p{
    width: 86%;
    margin: 0 auto;
}
.point .font_16{
    line-height:1.4;
}
@media screen and (max-width: 599px) {
    .point_nam{
      width:24%;
    }
    .point_img,.point p{
      width:100%;
    }
}


/*PC 06
curriculums
カリキュラム
*/
.cur_tbl{
    vertical-align: middle;
}
.cur_tbl .pc_head,
.cur_tbl .sp_head{
    background:#062557;
    color:#fff;
    font-weight:500;
    text-align: center;
    padding: 1%;
}
.cur_tbl td{
    padding:1%;
    border-right: 1px solid #fff;
}
.cur_tbl .sub{
    letter-spacing: 0;
}
.bdnone,.cur_tbl .sub{
    border:none!important;
}
.cur_tbl tr:nth-of-type(even){
    background: #e4effe;
}
.cur_tbl tr:nth-of-type(odd){
    background: #f1f3f7;
}
.kaisai{
    width:7em;
    text-align: center;
    vertical-align: middle;
    font-weight:700;
    color:#062557;
    letter-spacing: 0;
}
.main{
    text-align: center;
    vertical-align: middle;
    width:19em;
    letter-spacing: 0;
    font-weight:700;
    font-size: 2.2rem;
}
.new{
    color:#fff;
    background:#d24040;
}
.guest{
    background:#062557;
    color:#fff;
    width: 8em;
    margin:0 auto;
    text-align: center;
}
.new_img{
    display:block;
    margin:0 auto;
    width:23%;
}
.new_img_list{
    display:inline;
    width: 54px;
}
.guest_img{
    display:block;
    margin:0 auto;
    width:50%;
}
/*PC
BENEFITS
お申込み特典
*/
.benefits_wrap{
    background:url(../img/benefits_bg.jpg) no-repeat ;
    background-position: bottom center;
}
.benefits h2{
  font-size: 3.8rem;
  margin-bottom:50px;
  font-style: italic;
}
.bene_img01{
  width: 27%;
  margin: 0 auto;
}
.benefits_card-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
.benefits_card {
  width: 46%;
  margin-bottom: 40px;
}
.benefits_card h3 {
  background-color: #5c4017;
  color: #fff;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
  padding: 2% 0;
  margin-bottom: 14px;
  border-radius: 5px;
}
.benefits_card img {
  width: 100%;
  margin: 20px auto;
}
.benefits_card p {
  color: #5c4017;
  line-height: 1.4;
  font-weight: 600;
}

@media screen and (max-width: 780px) {
  .benefits_list-wrap {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .benefits h2{
    font-size: 3rem;
  }
  .benefits ul li {
    border-bottom: 1px solid #fff;
    padding-bottom: 5%;
  }
  .bene_img02 {
    margin: 30px auto 0;
    width: 90%;
  }
  .benefits_card-wrap {
    display: block;
  }
  .benefits_card {
    width: 100%;
  }
}

/*
toha
*/
.toha {
    letter-spacing: 0;
    line-height: 1.5;
}
.toha .heading_border {
    padding-bottom: 1%;
}
.toha h1 {
    font-size: 4rem;
}
.toha .box {
    min-height: 424px;
}
.toha .box {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 60px;
    background: #fff;
    padding: 2%;
}
.toha h2 {
    margin-bottom: 30px;
    letter-spacing: .1em;
    font-size: 2.5rem;
}
.toha .box:nth-of-type(even) {
    flex-direction: row-reverse;
}
.toha .box:nth-of-type(odd) .video {
    width: 50%;
    margin-right: 37px;
}
.toha .box:nth-of-type(even) .video {
    width: 50%;
    margin-left: 25px;
}
.video {
    position: relative;
}
.video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.toha .narrow {
    width: 45%;
}
.toha_arrow {
    width: 6%;
    margin: 30px auto;
}
.toha_list {
    width: 80%;
    font-size: 3rem;
    font-weight: bold;
    margin: 0 auto;
}
.toha_list li {
    position: relative;
    padding-left: 36px;
    margin-bottom: 10px;
}
.toha_list li::before{
    position: absolute;
    content: "";
    background-image: url(../img/check_list.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 30px;
    height: 30px;
    left: 0;
    top: 12px;
}
@media screen and (max-width: 1024px) {
    .video {
        width: 100% !important;
        /* width: 80%; */
        padding-top: 56.25%;
        margin: 0 auto 30px;
        margin-left: 0 !important;
    }
}
@media screen and (max-width: 599px) {
    .toha .box {
        display: block;
        padding: 5%;
        margin-bottom: 20px;
    }
    .video iframe {
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }
    .toha .narrow {
        width: 100%;
    }
    .toha_arrow {
        width: 12%;
    }
    .toha_list {
        width: 100%;
    }
}

/*PC 07_after
limit
対象者限定特典
*/
.limit_wrap{
    background:url(../img/limit_bg.jpg);
}
.limit h2{
    margin-bottom:40px;
    font-size:2.4rem;
}
.limit .box {
    background: #a7947e;
    background: linear-gradient(to right, #a7947e 0%, #e8d4bc 50%, #a7947e 100%);
    font-weight: 700;
    padding: 2%;
    margin-bottom: 20px;
    color:#704116;
}
.limit h3{
    font-size:3rem;
}

/*
sec012
profile
講師プロフィール
*/
.profile_wrap{
    
  }
  .profile .box{
    border-radius: 5px;
    padding:5%;
  }
  .koushi_img{
    width:30%;
  }
  .koushi_nam {
    width: 66%;
  }

  .profile .name{
    font-size: 3rem;
    padding-top:8%;
    margin-bottom:10px;
  }
  .profile h3{
    font-size: 1.8rem;
  }
  .profile .inner{
    margin-bottom:10px;
  }
  .profile p{
    margin-bottom:20px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .book {
    width: 40%;
  }
  @media screen and (max-width: 599px) {
    .koushi_img {
      width: 94%;
    }
  }


/*
sec06
message
講師からのメッセージ
*/
.message_wrap{
    background:#ece5dc;
  }
  .message .box{
    border-radius: 5px;
    padding:9%;
    position: relative;
  }
  .message_koushi_img{
    position: absolute;
    bottom: 0;
    height: auto;
    width: 33%;
    right: 51px;
  }
  @media screen and (max-width: 599px) {
    .message .box{
      padding-bottom:62%;
    }
    .message_koushi_img{
      width:63%;
    }
  }


/*PC 08
voice
過去の研究会受講者の声
（アンケートより）
*/
.voice h1{
    line-height:1;
}
.voice h2{
    font-size: 2.8rem;
    margin-bottom: 20px;
}
.voice h3,.voice h4{
    font-size: 2.4rem;
}
.voice h3{
    margin-bottom:-9px;
}
.voice .en{
    margin-bottom: 20px;
}
.voice .box{
    padding:5%;
    margin-bottom:40px;
    letter-spacing: 0;
}
.voice .box:last-of-type{
    margin-bottom:0;
}
.img_border{
    border:1px solid #e4e4e4;
    width: 18%;
    margin-right: 40px;
}
.voice .inner{
    margin-bottom:20px;
}
.voice_letter {
    width: 80%;
    border: 1px solid #b8b8b8;
}
.voice_txt {
    font-size: 2.6rem;
    line-height: 1.6;
}


/* シリーズ講座ならではの見どころ */
.profile_wrap {
    background: #EDEAE6;
}
.point02 .box {
    padding: 3%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    min-height: 341px;
}
.point_box-l {
    width: 56%;
    letter-spacing: 0;
}
.point_box-l h2 {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 20px 0;
}
.point_box-l p {
    line-height: 1.6;
}
.point_box-r {
    width: 40%;
}
.flex_r {
    flex-direction: row-reverse;
}
@media screen and (max-width: 599px) {
    .point02 .box {
        display: block;
        margin-bottom: 30px;
    }
    .point_box-l {
        width: 100%;
    }
    .point_box-r {
        width: 80%;
        margin: 16px auto 8px;
    }
}


/*PC 010
info
研究会開催情報
*/
.info_tbl {
    font-size: 1.8rem;
    margin-bottom:14px
}
.info .blank_link{
    color:#122125;
    text-decoration: none;
}
.info .blank_link:before{
    font-family: 'Material Icons';
    content: '\e1c4';
    color:#c24319;
}
.info .blank_link:hover{
    text-decoration: underline;
    color:#c24319;
}
.info_tbl td{
    border-bottom:2px solid #92bfff;
    padding:2%;
}
.info_tbl .head{
    width: 9em;
    vertical-align: middle;
}
.info .att{
    line-height:1.2;
}
.map{
    width:100%
}


/*PC 011
faq
よくあるご質問
*/
.toggle {
    display: none;
}
.Label {
    padding: 1em;
    display: block;
    color: #062557;
    background:#fff;
}
.Label::before{
    content: "";
    width: 15px;
    height: 14px;
    border-top: 3px solid #062557;
    border-right: 3px solid #062557;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc( 50% - 3px );
    right: 44px;
    transform: rotate(135deg);
}
.Label,
.content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}
.content {
    height: 0;
    margin-bottom:10px;
    padding:0 20px;
    overflow: hidden;
    background:#efeeee;
}
.toggle:checked + .Label + .content {
    height: auto;
    padding:20px ;
    transition: all .3s;
}
.toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
}
.ans{
    font-size: 1.8rem;
    text-indent: -1.8em;
    padding-left: 2em;
}


/*PC 012
attention
- ご注意ください！ -
*/
.attention .en{
    font-size: 4.4rem;
    letter-spacing: 0.19em;
    width: 13em;
    margin: 0 auto 21px;
}
.attention h1{
    font-size:2.4rem;
}
.attention .check{
    color:#bf3e3e;
    font-size: 2.6rem;
}
.attention .check li{
    background:url(../img/check.png) no-repeat;
    background-size: 3.6%;
    background-position: 0% 20%;
    padding-left: 4%;
    margin-bottom: 20px;
    letter-spacing: .1em;
}
.attention .check li:lasht-of-type{
    margin-bottom:0;
}
@media screen and (max-width: 599px) {
.attention .check li {
    background-size: 5%;
    background-position: left 8px;
    padding-left: 7%;
    margin-bottom: 20px;
}
}

/*PC 013
only
このページだけ！
*/
.only_wrap{
    background:url(../img/only_bg.jpg);
    background-position: center center;
    background-size: cover;
}

/*PC 014
plan
プラン
*/
.plan_img{
    width: 76%;
    margin: 0 auto 60px;
}
.plan p{
    font-size: 2.7rem;
}
.plan p span{
    padding: 0.2% 2%;  
}



/*sec014
tomoni
ともに
*/
.tomoni{

}
.tomoni_bg{
    background: url(../img/tomoni_bg.jpg) no-repeat;
    background-position: top center;
    background-size: cover;
}




/*
1人申し込むともう1人無料！
*/

.mouhitori_head{
    background:#b61407;
}
.mouhitori_bg{
    padding:0;
}



/*PC 015
sign up
お申込み
*/
.btn{
    height:80px;
    line-height:80px;
    width:100%;
    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.4);
}
.btn:hover{
    padding-top:2px;
}
.btn01{
    background: #b7afaf;
    filter: drop-shadow(0px 8px 0px #8c8585);
}
.btn01:hover{
    filter: drop-shadow(0px 8px 0px #b7afaf);
}
.btn02{
    background: #e3911b;
    filter: drop-shadow(0px 8px 0px #bb7209);
}
.btn02:hover{
    filter: drop-shadow(0px 8px 0px #e3911b;);
}
.btn03{
    background: #4CAF50;
    filter: drop-shadow(0px 8px 0px #086664);
}
.btn03:hover{
    filter: drop-shadow(0px 8px 0px #0d8684);
}
.btn04{
    background: #d24040;
    filter: drop-shadow(0px 8px 0px #a60707);
}
.btn04:hover{
    filter: drop-shadow(0px 8px 0px #d24040);
}
/*------------------------
▲ PC表示終わり　▲
------------------------*/
@media screen and (max-width: 1200px){
header img{
    width: 98%;
}
}
@media screen and (max-width: 1024px){
header img{
    width: 98%;
}
section {
    width: 94%;
    padding: 10% 0;
}
}
@media screen and (max-width: 916px) {
.benefits .sp_noflex{
    display:block;
}
.benefits_img {
    width: 38%;
    margin: 0 auto 40px;
}
}
@media screen and (min-width: 767px) {
.pcnone {
	display:none;
}
}
@media screen and (max-width: 767px) {
    .btn{
    width:100%;
}
}
@media screen and (min-width: 600px) and (max-width: 766px) {
.pcnone{
    display: none;
}
.spnone {
    display: block;
}
}

/*------------------------
~599px
------------------------*/
@media screen and (max-width: 599px) {
section {
    width: 100%!important;
    padding: 14% 6%;
}
header{
    background:url(../img/mv_bg_sp.jpg) no-repeat;
    background-size: cover;
    background-position: right top;
}

header .mv_area{
    padding: 0!important;
}
header h1 img{
	width: 100%;
	margin: 0 auto;
}
h1{
    font-size: 4.7rem;
    margin-bottom: 30px;
    font-weight: 700;
}
.btn{
    width: 100%;
    background-position: 92% 50%;
}
.en {
    font-size: 1.8rem;
}
.heading_border:before {
    bottom: -15px;
    left: calc(50% - 69px);
    width: 140px;
    background: #cca374;
}
/*SP
campaign
限定価格
*/
.campaign {
    padding: 8% 4%;
}
.campaign .heading_border {
    margin-bottom: 20px;
}
.campaign .en{
    margin-bottom: 3px;
}
.campaign_img {
    width: 96%;
}
/*SP
special
限定価格！
*/
.special{
    padding: 14% 0;
}
.special h1 {
    font-size: 5rem;
}
.heading_border {
    position: relative;
    margin-bottom: 60px;
}
.special h3 {
    font-size: 2.6rem;
}


/*SP
contents
レター部分
*/
.contents h1 {
    font-size: 3rem;
    color: #1c3333;
    line-height: 1.2;
}



/*
SP
point
本講座の新しい３つの見どころ
*/
.point h1{
    line-height:1.2;
}
.point_nam {
    width: 26%;
    margin: 0 auto 13px;
}
.point_img {
    width: 100%;
    margin: 0 auto 20px;
}
.point .txt {
    width: 100%;
}

/*SP
curriculums
カリキュラム
*/
.cur_tbl{
    margin-bottom: 10px;
}
.cur_tbl .pc_head{
    display:none;
}
.cur_tbl td,
.cur_tbl .sp_head{
    display:block;
    width:100%;
    padding: 2%;
}
.cur_tbl .att{
    line-height:1.2!important;
}

/*SP
benefits
お申込み特典
*/
.benefits h2{
    width:100%;
    font-size: 2.4rem;
}
.benefits_img {
    width: 80%;
    margin: 0 auto 40px;
}
.benefits ul li {
    padding-bottom: 2%;
}
.benefits_box {
    width: 100%;
}


/*SP
voice
過去の研究会受講者の声
（アンケートより）
*/
.img_border {
    width: 48%;
    margin: 0 auto 23px;
}
.voice .box {
    padding: 8% 5% 5%;
    margin-bottom: 20px;
}
.voice h2 {
    font-size: 2.4rem;
    margin-bottom: 10px;
    line-height:1.2;
}
.voice h3{
    margin-bottom:-1px;
}
.voice h3, .voice h4 {
    font-size: 2.2rem;
}
.voice h4{
    line-height:1.2;
}

/*SP
profile
講師プロフィール
*/
.koushi_img {
    width: 52%;
    margin: 0 auto;
}
.profile .box {
    padding: 10% 5% 5%;
}
.profile h3{
    line-height:1.4;
}
.book {
    margin: 0 auto;
    width: 50%;
}

/*SP
informaition
研究会開催情報
*/
.info_tbl td{
    display:block;
    padding:0;
    padding-bottom: 3%;
}
.info_tbl .head{
    width:100%;
    border:none;
    padding-top: 3%;
}

/*SP
faq
よくあるご質問
*/
.Label span {
    width: 88%;
    display: block;
    text-indent: -1.8em;
    padding-left: 1.8em;
}
.Label::before {
    right: 20px;
}

/*SP
  attention
  - ご注意ください！ -
*/
.attention .en {
    font-size: 4rem;
    width: 100%;
}

/*SP
plan
プラン
*/
.plan_img {
    width: 100%;
    margin: 0 auto 20px;
}

/*SP
sign up
お申込み
*/
.btn{
    font-size: 1.8rem;
    letter-spacing: inherit;
    line-height:1.2;
}
/*グレーボタン*/
.btn01{
    padding-top:3%;
}
/*その他ボタン*/
.btn02,.btn03,.btn04{
    padding-top:6%;
}
}


/*-----------------------
質問内容の続きを読む
-----------------------*/
.grad-wrap{
    margin-bottom: 60px;
    position: relative;
}
.down:before {
    font-family: FontAwesome;
    content: "\f067";
}
.grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: -10%;
    left: 0;
    width: 148px;
    margin: auto;
    padding: 0.5em 0;
    border-radius: 2px;
    background: #009e8f;
    color: #fff;
    text-align: center;
    cursor: pointer;
    transition: 1s all linear;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
    font-size: 1.6rem;
}
.grad-btn::before {
  content: "もっと見る";
  margin-right: 8px;
}
.grad-btn02{
    width: 12em;
    font-size: 2.4rem;
}
.grad-btn02::before {
  content: "もっと見る";
  margin-right: 8px;
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 159px;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #f4f3f3 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #f4f3f3 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
@media screen and (max-width: 599px) {
    .grad-btn{
        bottom: -6%;
    }
}


/*
モーダル
*/
button{
    cursor: pointer;
}
button,button:hover{
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.btn a{
    text-align: center;
    color: #fff;
    display: block;
    position: relative;
    z-index: 2;
    font-weight: 700;
}
.btn01 {
	font-size: 2rem;
    letter-spacing: 0.2em;
    border: none!important;
}
.btn01 :hover{
    letter-spacing: 5px;
}
#openModal{
	border: none!important;
}
/* .btn02{
	border: none;
	background: #d45b41;
    filter: drop-shadow(0px 8px 0px #98412e);
} */
.modalArea {
  visibility: hidden;
  opacity : 0;
  position: fixed;
  z-index: 110;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .4s;
}
.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}
.modalWrapper {
    background: #7e170e;
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
    width: 70%;
    max-width: 500px;
    padding: 10px;
}
.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    cursor: pointer;
    color: #fff;
    font-weight: 700;
}
.is-show {
  visibility: visible;
  opacity : 1;
}
.modalContents h1{
    margin-bottom: 7px;
}
.modalContents h2{
    font-size: 2.2rem;
}
.modalContents .check_blue li{
    font-size: 1.6rem;
    background: url(../img/check_blue.png) no-repeat;
    background-size: 3%;
    background-position: left 8px;
    padding-left: 4%;
}
/*
.modalContents .check_blue li:before{
    font-family: "Font Awesome 5 Free";
    content: '\f00c';
    color: #4993ba;
    font-style: normal;
    padding-right: 0.5%;
}*/
.modalContents .box01 p{
    font-size: 1.6rem;
    padding: 0;
}
.modalContents .box01{
    margin-bottom: 10px;
}
.modalContents .price{
    margin-bottom: 0;
}
.modalContents .box02{
    margin-bottom: 14px;
}
.modalContents .btn03 {
    line-height: 1.4;
    width: 100%;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
    margin-bottom: 16px;
    font-size: 2rem;
}
.modalContents .box03 p{
    font-size: 1.6rem;
}
.modalContents .btn01{
    width: 100%;
}
.modalContents .price{
    width: 48%;
}

@media screen and (min-width: 600px) and (max-width: 912px) {
.modalWrapper{
    width: 90%;
    padding: 7% 3% 0%;
}
.modalContents .price {
    width: 48%;
    margin: 0 auto 0;
}
.modalContents .btn03{
    padding-top: 1.2em;
}
}
@media screen and (min-width: 375px) and (max-width: 765px) {
.modalWrapper{
	width: 90%;
    padding: 7% 3% 0%;
}
.modalContents .price {
    width: 48%;
    margin: 0 auto 0;
}
.modalContents .btn03 {
    font-size: 1.6rem;
    height: 50px;
}
.modalContents .btn01 {
    height: 50px;
    line-height: 50px;
}
.modalContents h2 {
    font-size: 2rem;
    line-height: 1.2;
}
.modalContents .box03 p{
    line-height: 1.2;
    margin-bottom: 5px;
}
.modalContents .box01 p {
    line-height: 1.2;
}
}
@media screen and (max-width: 374px) {
.modalWrapper {
    width: 90%;
    padding: 7% 3% 0%;
}
.modalContents h2 {
    font-size: 2rem;
    line-height: 1.2;
}
.modalContents .box01 p {
    line-height: 1.2;
}
.modalContents .btn03 {
    font-size: 1.6rem;
    height: 50px;
}
.modalContents .box03 p{
    line-height: 1.2;
    margin-bottom: 5px;
}
.modalContents .btn01 {
    height: 50px;
    line-height: 50px;
}
}
@media screen and (max-width: 320px) {
    .modalWrapper {
    width: 90%;
    padding: 7% 3% 0%;
}
.modalContents h2 {
    font-size: 2rem;
    line-height: 1.2;
}
.modalContents .check_blue li,
.modalContents .box01 p {
    font-size: 1.4rem;
}
.modalContents .box01 p {
    line-height: 1.2;
}
.modalContents .box02 {
    margin-bottom: 6px;
}
.modalContents .btn03 {
    font-size: 1.4rem;
    padding-top: 1em;
}
.modalContents .box03 p{
    line-height: 1.2;
    margin-bottom: 5px;
}
.modalContents .btn01 {
    font-size: 1.4rem;
}
}


/* 動画 */
.video-container {
    width: 80%;
    margin: 30px auto;
}
iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}