@charset "UTF-8";
/* CSS Document */
/* --------------------------------------------------
  共通設定
-------------------------------------------------- */
html { scroll-behavior: smooth;}
body{
	margin: 0;
	padding: 0;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 18px;
	background-color: #fff;
}
img{display: block;}
/*各セクションの背景等設定*/
.topsec{
    background-image: url("../images/form-secbg.jpg");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}
.whbg_sec{
	background-color: #fff;
}
.lptitle_sec{
    background-image: url("../images/form-secbg.jpg");
	background-color: rgba(182,6,6,0.70);
	background-blend-mode: soft-light;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.arrowbg_sec{
	background-color: #F0F0F0;
	position: relative;
	padding-top:0px;
}
.arrowbg_sec::before{/* beforeでもafterでも*/
    content: "";
    position: absolute;
	height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #F0F0F0;/* デモは青色の部分 */
　　left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
}
.wavebg_sec{
    background-image: url("../images/process_bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
}
.grybg_sec{
	background-color: #F8F8F8;
}
.redbg_sec{
	background-color: #DC3232;
}
.redbg_sec.upper{
    background-image: url("../images/upper_bg.jpg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}
.redbg_sec.under{
    background-image: url("../images/under_bg.jpg");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}
/*構造の中央寄せの宣言（Widthは制御しない）*/
.build{margin:0 auto;}
section{margin:0;}

/*特徴的な文字の色制御*/
.feature dt{
	background-image: linear-gradient(299deg, rgba(0, 0, 0, 1), rgba(198, 2, 2, 1) 53%, rgba(0, 0, 0, 1));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}
.semi-head-link a, .soudanrei li, .section-mgred-title, .text-red-m, .text-red-s, .faqlist .question, .red_message{color:#DC3232;}
.lead-discript, .whittext, .section-mgwh-title, .biglink, .section-bk-title, .supportby, .redbg_sec p, .semi-title_box, .b-lead{color:#fff;}
.pictyellow-title{color:#E0BF1C;}

/*中でゴシックになっているものを指定*/
.copyright, .supportby{font-family: "Osaka-mono", "MS Gothic", "monospace";}

/*Q＆Aのヘッド指定*/
.question::before, .answer::before{padding:8px;}
.question::before{
	content: 'Q';
	border: #DC3232 solid 1px;
}
.answer::before{
	content: 'A';
	background-color: #DC3232;
	color: #FFF;
}
.triangle {
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #a60000; /* 三角形の色 */
	margin: 0 auto;
}
/*画像の基準*/
.meritpict{width: 100%; height:auto;}

/*フォームボックスのスタイル*/
.sec3right{background-color: #fff; border-radius: 2%; paddin:20px; width: 100%; margin:0 0 0 20px;}
.suche{color:#000000!important; margin:0 auto; display: flex; align-items: baseline; flex-wrap: nowrap;}

/* --------------------------------------------------
  PC用構造体
-------------------------------------------------- */
@media screen and (min-width:768px){
	.build{width: 1000px;}
	section{padding:55px 0px;}
	/*各セクションの高さ設定*/
	.topsec{min-height: 760px;}
	.lptitle_sec{min-height: 643px;}
	
	/*セクション3*/
	.lp-title{margin:0 0 30px 0;}
	.lead-discript{margin:20px auto; width: 80%; text-align: center;}
	.sec3left{text-align: center;}
	.timeschedule{background-color: #fff; padding:10px; text-align: center;}
	.year, .week, .time, .zoom{font-size:1.3rem;}
	.date{font-size:2.2rem; width:140px; text-align: center; display: block; margin: 0px 0px 0px 20px;}
	.suche{width: 90%;}

	/*セクション4*/
	.sec4flex{width: 900px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-around; margin: 30px auto 20px auto;}
	.sec4flex .worries-point{background-image: url("../images/worries-bg.png");
		background-repeat: no-repeat;
		background-size: 100% 100%;
		width: 357px;
		height: 73px;
		padding:0px 40px;
		font-size:0.89rem; line-height: 1.4rem;
		display: flex; align-items: center;
		margin-bottom: 20px;
	}
	
	/*セクション5*/
	.section-bk-title{background-color: #000000; color:#fff; text-align: center; width: 600px; height:48px; line-height: 48px; font-size:1.7rem; margin:0 auto 40px auto;}
	.arrowbg_sec ul{padding:0px; margin:0px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;}
	.arrowbg_sec ul li{list-style: none; background-color: #fff; width:320px; height:110px; font-size: 0.9rem; line-height: 1.6rem; display: flex; align-items: center; justify-content: center; text-align: center;}
	
	/*セクション6*/
	.proses_sec{padding-top:100px;}
	.section-mgred-title{text-align: center; font-size:2.8rem;}
	.process{width: 68%; margin: 20px auto 40px auto;}
	.process li{list-style-image: url("../images/process-list.png"); margin-bottom:20px; padding-left:10px; line-height:24px;}
	.biglink{background-color: #dc3232; color:#fff; padding:10px; text-align: center;}
	/*セクション７の実績紹介の部分*/
	.blk_message{text-align: center; font-size: 1.9rem; line-height: 3.1rem;}
	.text-red-m{text-align: center; font-size: 0.95rem; font-weight: 600;}
	.achieve{padding: 0; margin: 0; display: flex;flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-evenly;}
	.achieve li{list-style: none; background-color: #fff; width:28%; height: auto; padding:20px; margin-bottom: 10px;}
	.sales, .buys{display: flex;}
	.sl-title, .buy-title{text-align: center; color: #fff; width: 64px; height: 80px; line-height: 80px; font-size: 0.8rem; margin-right: 20px;}
	.sl-title{background-color: #000000;}
	.buy-title{background-color: #DC3232;}
	.fablock{text-align: center; font-size: 0.65rem;}
	.sl-element, .buy-element{}
	.gyoshu, .reason,.gyoshu-ans, .reason-ans, .result-ans, .oku, .text-red-s{margin: 0px;}
	.gyoshu, .reason{font-size: 0.75rem; font-weight: 500;}
	.gyoshu-ans, .reason-ans{ font-size: 0.92rem; margin-bottom:3px; font-weight: 600;}
	.text-red-s{font-size: 0.75rem; padding: 0 10px; text-align: center;}
	.result-ans{font-size: 2.75rem; text-align: center;}
	.oku{font-size: 1.2rem;}
	.slide-wrapper{display: none;}
	/*セクション8*/
	.section-mgwh-title{text-align: center; font-size: 1.9rem;}
	.three{font-size:4.4rem;}
	.merit-point{text-align: center; padding-bottom: 20px;}
	.pictyellow-title{font-size: 1.7rem}
	.whittext{font-size:0.95rem;}
	
	/*セクション9*/
	.redbg_sec.under .setumei {width:760px; margin-left: auto; margin-right: auto; font-size: 0.8rem; line-height:1.8rem; margin-top:0px;}
	.form-box{padding:30px; border:solid #fff 1px; margin:30px auto 40px auto; }
	.biglink-gold{text-align: center; background-color: #E0BF1C; padding:10px;}
	.under{padding-top:0px;}
	
	/*セクション10 スケジュール*/
	.sec10-title{background-color: #DC3232; width: 320px; height:38px; text-align: center; color:#fff; font-size:1.4rem; margin-left:auto; margin-right:auto; font-weight:400; line-height: 38px; margin-bottom:60px;}
	.schedule{width:86%; margin: 20px auto 60px auto;}
	.schedule tr th, .schedule tr td{border-bottom: 1px solid #Ececec; padding:25px; font-size:0.82rem;}
	/*セクション10 講師*/
	.introduction{width:86%; margin: 20px auto 60px auto; display: flex;}
	.intro-left{margin-right:40px;}
	.presi-intro p{margin:0px;}
	.shamei{font-size:1rem;}
	.presid .yakushoku{font-size:0.65rem; padding-right:20px;}
	.presid .name{font-size:1.8rem;}
	.message{margin-top:20px!important; font-size:0.89rem; line-height: 1.75rem;}
	.introtable{margin:20px auto 40px auto;}
	.introtable tr th{width:10%; font-size:0.82rem; vertical-align: top; padding-top:15px;}
	.introtable tr td{border-bottom:1px solid #ececec; padding:15px; font-size:0.82rem;}
	.introtable tr .nengo{width:15%;}
	
	/*よくある質問セクション*/
	.red-line{background-color: #dc3232; border: none ; height:2px;}
	.section-l-title{text-align: center; font-size:2rem;}
	.title-discript{font-size:1rem; display: block;}
	.redtxt{color:#DC3232;}
	.faq{width:68%; margin:20px auto 80px auto;}
	.faqlist{}
	.question{width:auto; height:40px; margin-bottom:15px;}
	dd.answer{margin-left: 0px;}
	.question, .answer{display: flex;}
	.question::before, .answer::before{width:20px; min-width:20px; height:20px; text-align: center; line-height:20px; display: block; margin-right:20px;}
	.dot-line{border: none; background-color: #fff; border-width: 1px 0 0 0; border-top: dotted; border-color: #dc3232;}
	.red_message{text-align:center; line-height: 2.6rem; font-size:1.3rem;}
	/*フッターコピーライト*/
	.copyright{text-align: center; font-size:0.92rem; height: 56px; line-height: 56px;}
	.schedule .suche{margin-left:0px;}

}


/* --------------------------------------------------
  スマホスライダー用
-------------------------------------------------- */
@media screen and (max-width:767px){
	.build{width: 90%;}
	section{padding:25px 0px;}
	.secflex{display:flex; flex-direction: column; flex-wrap: nowrap;}
	/*セクション01*/
	.topsec{height: auto; padding-top:60px; text-align: center;}
	.maintitle img{margin:0px; width: 100%;}
	.semi-head-link{
        text-align:center;
        margin-bottom:30px;
		position: relative;
		bottom: 0px;
		left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
    .semi-head-link a{
        background-color:#E0BF1C;
        padding:20px 50px;
        font-size:0.9rem;
        font-weight: bold;
        letter-spacing: 0.1em;
        display:inline-block;
        position: relative;
    }
    .semi-head-link a:after{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 27px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 2px solid #DC3232;
        border-right: 2px solid #DC3232;
        transform: translateY(-2px) rotate(135deg);
        box-sizing: border-box;
    }
	.semi-title_box{
        font-size: 18px;
        line-height: 30px;
        font-weight: bold;
        background-color: #000;
        display: inline-block;
        position: relative;
        padding:15px 15px ;
		margin:10px auto 0;
    }
    .semi-title_box:before,.semi-title_box:after {
        position: absolute;
        top: 0;
        width: 0;
        height: 0;
        content: '';
        border: 30px solid transparent;
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
    }
    .semi-title_box:before {
        right: 100%;
        border-right-color: #000;
    }
    .semi-title_box:after {
        left: 100%;
        border-left-color: #000;
    }
	.topsec .b-lead{font-size: 1.2rem}
	.topsec .b-lead span{font-size:1.6rem;}
	
	/*セクションs2*/
	.section-m-title{text-align: center;}
	.feature{text-align: center;}
	.feature dt{margin:0; background-color: #fff; font-weight: 600; font-size: 1.3rem; padding:10px; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.35); width:90%;}
	.feature dd{margin:0; padding: 10px 10px 30px 10px; text-align: left; font-size:0.98rem;}
	.sec2pict {width: 340px; position: absolute; right:0px;}
	.ilegura{padding-bottom:300px;}
	.biglink{width:100%; background-color: #dc3232; text-align: left; padding:2% 5%; box-sizing: border-box;}
	
	/*セクション3*/
	.lptitle_sec{text-align: center;}
	.lead-discript{font-size: 1.2rem}
	.b-lead{font-size:1.6rem;}
	.lp-title img{width: 100%;}
	.sec3right{margin:0px;}
	
	/*セクション7スマホスライダー*/
	.blk_message{text-align: center; font-size: 1.5rem; line-height: 2rem;}
	.text-red-m{text-align: center; font-size: 0.95rem; font-weight: 600; transition: transform 0.5s ease;}
	.achieve{padding: 0px; margin: 0; display: flex; flex-direction: row; flex-wrap: nowrap; width:100%; }
	.achieve li{
		list-style: none;
		background-color: #fff;
		width:258px;
		height: 300px;
		padding:20px;
		margin: 20px;
		transition: transform 0.9s cubic-bezier(0.33, 1, 0.68, 1); /* 滑らかに加速して減速 */
	}
	.sales, .buys{display: flex; width: 288px}
	.sl-title, .buy-title{text-align: center; color: #fff; width: 64px; height: 80px; line-height: 80px; font-size: 0.8rem; margin-right: 20px;}
	.sl-title{background-color: #000000;}
	.buy-title{background-color: #DC3232;}
	.fablock{text-align: center; font-size: 0.65rem;}
	.sl-element, .buy-element{}
	.gyoshu, .reason,.gyoshu-ans, .reason-ans, .result-ans, .oku, .text-red-s{margin: 0px;}
	.gyoshu, .reason{font-size: 0.75rem; font-weight: 500;}
	.gyoshu-ans, .reason-ans{ font-size: 0.92rem; margin-bottom:3px; font-weight: 600;}
	.text-red-s{font-size: 0.75rem; padding: 0 10px; text-align: center;}
	.result-ans{font-size: 2.75rem; text-align: center;}
	.oku{font-size: 1.2rem;}
	.slide-wrapper{display:flex; width: 100%; position: relative; top:-220px;}
	.slide-arrow{width: 48px; height: 48px; color:#fff; background-color: #DC3232; text-align: center; line-height: 48px; opacity: 0.8; position:absolute;}
	.prev-arrow{left:0px;}
	.next-arrow{right:0px;}	
	
	/*セクション9*/
	.redbg_sec.under .setumei {margin-left: auto; margin-right: auto; font-size: 0.9rem; line-height:1.6rem; margin-top:0px; margin-bottom:20px;}
	.form-box{text-align:center; margin-top: 60px; border-top: 2px #fff solid; clear: both;}
	.biglink-gold{text-align: center; background-color: #E0BF1C; padding:10px; margin: 40px auto 60px auto; font-size: 0.9rem;}

	/*セクション10*/
	.sec10-title{background-color: #DC3232; width: 320px; height:38px; text-align: center; color:#fff; font-size:1.4rem; margin-left:auto; margin-right:auto; font-weight:400; line-height: 38px; margin-bottom:20px;}
	table.schedule th, table.schedule td{width:100%; display:block; padding: 5px 0px 10px 0px; text-align: left;}
	.schedule{width:90%; margin: auto;}
	.program{font-size:0.8rem; line-height: 1.8rem;}
	.p-title{font-weight: 600; font-size:0.9rem; padding-top:10px; margin: 0;}
	.introduction{width:90%; margin: 20px auto 60px auto; display: flex; flex-direction: column; align-items: center;}
	.shamei{font-size:1rem;}
	.presid .yakushoku{font-size:0.65rem; padding-right:20px;}
	.presid .name{font-size:1.8rem;}
	.message{margin-top:20px!important; font-size:0.89rem; line-height: 1.75rem;}
	.introtable{width: 100%;}
	.introtable th, .introtable td{width:100%; display:block; padding:5% 0px;}
	.introtable tr th{font-size:0.82rem; vertical-align: top;}
	.introtable tr td{border-bottom:1px solid #ececec; font-size:0.82rem;}
	.introtable tr .nengo{font-weight: 600; text-align: center;}
	.red-line{background-color: #dc3232; border: none ; height:2px;}
	.section-l-title{text-align: center; font-size:2rem;}
	.title-discript{font-size:1rem; display: block;}
	.redtxt{color:#DC3232;}
	.faq{width:100%; margin:20px auto 80px auto;}
	.dot-line{border: none; background-color: #fff; border-width: 1px 0 0 0; border-top: dotted; border-color: #dc3232;}
	.red_message{text-align:left; line-height: 2.6rem; font-size:1.3rem;}
	.faqlist{}
	.question{width:auto; height:40px; margin-bottom:25px;}
	dd.answer{margin-left: 0px;}
	.question::before, .answer::before{width:20px; min-width:20px; height:20px; text-align: center; line-height:20px; display: block; margin-right:20px; margin-bottom:20px;}
	.question, .answer{display: flex;}
	/*フッターコピーライト*/
	.copyright{text-align: center; font-size:0.72rem; height: 56px; line-height: 56px;}
}

/*以下は各パーツの制御 奈美記載用*/
/*PC*/
@media screen and (min-width:768px){
    /*共通設定*/
    a{
         text-decoration: none; 
    }
    
    /*セクション設定*/
    .topsec .build{
        text-align: center;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }
    .whbg_sec{
        position:relative;
    }
    
    /*各パーツ*/
    .sp-only{
        display:none;
    }
	.pc-only{display: block;}
    .semi-head-link{
        text-align:right;
        margin-bottom:30px;
        padding-right: 40px;
		position:absolute;
		top:30px;
		right:30px;
    }
    .semi-head-link a{
        background-color:#E0BF1C;
        padding:20px 70px;
        font-size:20px;
        font-weight: bold;
        letter-spacing: 0.1em;
        display:inline-block;
        position: relative;
    }
    .semi-head-link a:after{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 27px;
        width: 12px;
        height: 12px;
        margin: auto;
        border-top: 2px solid #DC3232;
        border-right: 2px solid #DC3232;
        transform: translateY(-2px) rotate(135deg);
        box-sizing: border-box;
    }
    .maintitle{
        width: 100%;
        display:block;
		margin-top: 100px;
    }
    .maintitle img{
        width:100%;
        height:auto;
    }
    .maintext{
        width:100%;
        margin-top: 100px;
    }
    .b-lead{
        font-size:25px;
        color:#fff;
        width: 100%;
    }
    .b-lead span{
        font-size:38px;
    }
    .semi-title_box{
        font-size: 26px;
        font-weight: bold;
        background-color: #000;
        display: inline-block;
        position: relative;
        padding:10px 15px ;
		margin:10px auto;
    }
    .semi-title_box:before,.semi-title_box:after {
        position: absolute;
        top: 0;
        width: 0;
        height: 0;
        content: '';
        border: 30px solid transparent;
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
    }
    .semi-title_box:before {
        right: 100%;
        border-right-color: #000;
    }
    .semi-title_box:after {
        left: 100%;
        border-left-color: #000;
    }
    .supportby{
        font-size:24px;
    }
    .secflex{
        display: flex;
        flex-wrap: nowrap;
        width:100%;
        justify-content: space-between;
    }
    .sec2left{
        width:60%;
    }
    .whbg_sec .build .sec2left{
        text-align: center;
    }
    .section-m-title{
        font-size:30px;
    }
    .feature dt{
        background-color: #fff;
        padding:20px 40px;
        box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.35);
        font-size:34px;
        font-weight: bold;
        width:100%;
        box-sizing:border-box;
        margin-bottom:25px;
    }
    .feature dd{
        font-size:20px;
        font-weight: bold;
        margin-inline-start:0;
        margin-bottom:40px;
    }
    .sec2right{
        width: 38%;
    }
    .sec2right img{
        position: absolute;
        top: 40%;
        width: 38%;
        right: 0px;
        transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    }
}

/*スマホ用*/
@media screen and (max-width:767px){
	.mySwiper{overflow:hidden;}
    .sp-only{
        display:block;
    }
	.pc-only{display: none;}
    .supportby{
        font-size: 14px;
    }
    .lptitle_sec .build .supportby{
        color:#000;
    }
    .timeschedule {
        background-color: #fff;
        padding: 10px 20px;
        text-align: center;
        display: inline-block;
        margin-bottom:30px;
    }
    .date {
        font-size: 1.6rem;  width:110px; text-align: center; display: block;  margin: 0px 0px 0px 15px;
    }
    .suche {
        margin:5px 0;
		width: 100%;
    }
    .year,.week{
        font-size:13px;
    }
	.time{font-size:15px;}
    .section-l-title{
        text-align: center;
    }
    .title-discript{
        font-size:14px;
        font-weight:normal;
        display: block;
        margin-bottom: 10px;
    }
    .sec4flex {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        margin: 30px auto 20px auto;
    }
    .sec4flex .worries-point {
        background-image: url(../images/worries-bg.png);
        background-repeat: no-repeat;
        background-size: 100% 100%;
        width: 357px;
        height: 73px;
        padding: 0px 40px;
        font-size: 0.89rem;
        line-height: 1.4rem;
        display: flex;
        align-items: center;
        margin-bottom: 20px;
    }
    .section-bk-title {
        background-color: #000000;
        text-align: center;
        width: 100%;
        line-height: 40px;
        font-size: 1.7rem;
        margin: 0 auto 30px auto;
        padding: 15px;
        box-sizing: border-box;
    }
    .arrowbg_sec ul {
        padding: 0px;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .arrowbg_sec ul li {
        list-style: none;
        background-color: #fff;
        width: 100%;
        height: 110px;
        line-height: 1.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        margin-bottom: 15px;
    }
    .arrowbg_sec ul li:last-child{
        margin-bottom: 0;
    }
    .section-mgred-title {
        text-align: center;
        font-size: 2.4rem;
        margin-top: 60px;
    }
    .process {
        margin: 20px auto 40px auto;
    }
    .process li {
        list-style-image: url(../images/process-list.png);
        margin-bottom: 20px;
        padding-left: 10px;
        line-height: 24px;
    }
    .blk_message {
        text-align: center;
        font-size: 1.5rem;
        line-height: 2.2rem;
    }
    .text-red-m {
        text-align: center;
        font-size: 0.95rem;
        font-weight: 600;
    }
}
