/*--------------------------------------------------------
■ h2
--------------------------------------------------------*/
h2#title_with_en{
	background:none;
	padding:0px;
	display:flex;
	flex-direction: column;
	font-weight: bold;
	margin-top:50px;
}
h2#title_with_en .title_en{
	color: #2668cc;
	font-size: 14px;
}
h2#title_with_en .title_jp{
	color: #303030;
}
/*--------------------------------------------------------
■ 注釈
--------------------------------------------------------*/
.note{
	font-size:13px;
}
/*--------------------------------------------------------
■ 必要なものリスト
--------------------------------------------------------*/
.online_things_block{
	margin-top:50px;
	display:flex;
	width:100%;
	flex-wrap: wrap;
	gap:30px 15px;
}
.online_things_block .online_things_item{
	display:flex;
	width:100%;
	flex-direction: column;
	position:relative;
	background:#e8f1ff;
	border-radius:20px;
	align-items:center;
	justify-content: center;
	gap:5px;
	padding:24px 20px 20px 20px;
}
@media only screen and (min-width: 738px){
	.online_things_block .online_things_item{
		width:calc((100% - 30px)/3);
	}
}
.online_things_block .online_things_item .item_number{
	color:#5193f7;
	font-size:42px;
	font-weight:bold;
	top:-24px;
	left:50%;
	width:30px;
	margin-left:-15px;
	position:absolute;
	line-height:1;
}
.online_things_block .online_things_item .item_title{
	font-size:19px;
	font-weight:bold;
}
.online_things_block .online_things_item .item_description{
	flex-grow: 1; /* 残りのスペースをすべて使用 */
	display:flex;
	text-align: center;
	align-items:center;
	justify-content: center;
}
/*--------------------------------------------------------
■ オンラインレッスンの流れ
--------------------------------------------------------*/
.process_block{
	margin-top:60px;
	margin-bottom:50px;
	display:flex;
	gap:110px;
	flex-wrap: wrap;
}
.process_block .process_item{
	width:100%;
	position:relative;
	display:flex;
	flex-direction: column;
	align-items:center;
	justify-content: center;
	gap:5px;
}
@media only screen and (min-width: 738px){
	.process_block .process_item{
		flex-direction: row;
		gap:5px 40px ;
		flex-wrap: wrap;
	}
}
.process_block .process_item.process_item_1:after,
.process_block .hidden_btn:after{
	   background:url("img_arrow_right.png") no-repeat center/contain;
}
.process_block .hidden_btn:after{
	margin-bottom:10px;
}
.process_block .process_item.process_item_2:after{
       background:url("img_arrow_left.png") no-repeat center/contain;
}
.process_block .hidden_btn:before{/* お疲れ様でしたの文字 */
       background:url("img_arrow_txt.png") no-repeat center/contain;
}
.process_block .process_item.process_item_4:after{
       background:none;
}
.process_block .process_item:after,
.process_block .hidden_btn:after{
	position:absolute;
	content:"";
	width: 144px;
	height:80px;
	bottom:-90px;
	margin-left:-72px;
	left:50%;
}
.process_block .hidden_btn:before{
	position:absolute;
	content:"";
	width: 165px;
	height:30px;
	bottom:-30px;
	left:60%;
	margin-left:-82.5px;
}
.process_block .process_item .process_img{
	position:relative;
}
.process_block .process_item .process_media_frame{
	border-radius:20px;
	overflow:hidden;
}
.process_block .process_item .process_media_frame img{
	margin-bottom:0px;
}
.process_block .process_item .process_title{
	font-weight:bold;
	font-size:19px;
	color:#5193f7;
	margin-bottom:0px;
}
.process_block .process_item .process_number{
	position:absolute;
	width:70px;
	left:30px;
	top:-35px;
	z-index:10;
}
@media only screen and (min-width: 738px){
	.process_block .process_item .process_img{
		width:60%;
		width:calc((100% - 50px)*0.6);
	}
	.process_block .process_item .process_img.right{
		order:2;
	}
	.process_block .process_item .process_txt.left{
		order:1;
	}
	.process_block .process_item .process_txt{
		display:flex;
		flex-direction: column;
		height:100%;
		width:40%;
		width:calc((100% - 50px)*0.4);
	}
	.process_block .process_item .process_title{
		font-size:28px;
		margin-top:10px;
		margin-bottom:10px;
	}
	.process_block .process_item .process_txt .process_description{
	    display: flex;
	    text-align: center;
	    justify-content: center;
	}
	.process_block .process_item .process_txt .process_description span{
		background-position: 0 1.15em;
		background-size: 6px 3.25em;
		font-size: 16px;
		line-height: 3.2;
		letter-spacing: .04em;
		text-align:left;
    	background-image: radial-gradient(circle farthest-side, #99c2ff, #99c2ff 1px, transparent 1px, transparent);
	}
		.process_block .process_item .process_txt .process_description span.note{
			font-size:14px;
		}
}


/*--------------------------------------------------------
* hiddenボタン
--------------------------------------------------------*/
.hidden_btn{
	width:100%;
	position:relative;
	margin-top:-90px;
}
.hidden_btn .hidden_btn_label {/*ボタン装飾*/
    color:#fff;
    background:#99c2ff;
    font-weight: bold;
    text-align: center;
    padding: 15px;
    cursor: pointer;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width:280px;
    margin:15px auto 0 auto;
    box-sizing:border-box;
    font-size:17px;
    margin-bottom:35px;
}
.hidden_btn .hidden_btn_label:before {/* ラベルの文字列を設定 */
    display: inline-block;
    content: '各アプリの参加方法 ＋';
}
.hidden_btn input {
    display: none;/*チェックは見えなくする*/
}
.hidden_area {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;/*中身を非表示にしておく*/
    transition: .5s opacity;
}
.hidden_btn input:checked ~ .hidden_area {/*クリックで中身表示*/
    height: auto;
    opacity: 1;
}
.hidden_btn input:checked + .hidden_btn_label:before{/* クリック時ラベルの文字列を変更 */
    content: '各アプリの参加方法を閉じる';
}
.hidden_btn .application_title{
	font-weight:bold;
	padding:5px;
	font-size:17px;
	border-bottom:1px solid #5193f7;
	color:#5193f7;
}
.hidden_btn .background_box_gray{
	padding:10px;
	background:#f3f3f3;
	border-radius:15px;
	margin-bottom:25px;
}
/*--------------------------------------------------------
■ セッティングガイド
--------------------------------------------------------*/
.setting_guide_block{
    background: repeating-linear-gradient(-135deg, #E4EBF7, #E4EBF7 4px, #E8F1FF 4px, #E8F1FF 10px);
    padding: 15px 15px 20px 15px;
    width: calc(100% + 10px);
    margin: 0 -5px;
}
@media only screen and (min-width: 738px){
	.setting_guide_block{
		width:100%;
		margin: 0;
	}
}
/*--------------------------------------------------------
■ タブボタン
--------------------------------------------------------*/
div.main_box .tab_btn_with_triangle {
    color: #5193f7;
    border: 1px solid #5193f7;
    background:#fff;
}
.setting_comment{
    font-size:15px;
    font-weight:bold;
    position: relative;
    display:inline-block;
    margin:0 auto;
    margin-bottom:10px;
}
.setting_comment.margin_top{
	    margin-top:25px;
}
.setting_comment::before, .setting_comment::after {
    position: absolute;
    top: -6px;
    top: 0px;
    width: 2px;
    height:100%;
    content: '';
    background:#5193f7;
}
.setting_comment::before {
    left: -25px;
    transform: rotate(-30deg);
}
.setting_comment::after {
    right: -25px;
    transform: rotate(30deg);
}
/*--------------------------------------------------------
よくある質問
--------------------------------------------------------*/
.faq_block{
    width:100%;
    max-width:1100px;
    margin:0 auto;
}
.faq_block .faq_item{
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    border-radius:10px;
    padding:10px;
    box-sizing:border-box;
    margin-bottom:15px;
}
.faq_block .faq_item.question{
    background:#e8f1ff;
    cursor:pointer;
}
.faq_block .faq_item.question.active{
    border-radius:10px 10px 0 0;
    margin-bottom:0px;
}
.faq_block .faq_item.answer{
    background:#ffe8ed;
    border-radius:0 0 10px 10px;
    display:none;
}
.faq_block .faq_item .faq_icon{
    width:50px;
    height:50px;
    border-radius:50%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    align-items:center;
    justify-content:center;
}
.faq_block .faq_item.question .faq_icon{
    background:#99c2ff;
}
.faq_block .faq_item.answer .faq_icon{
    background:#ff99b3;
}
.faq_block .faq_item .faq_icon img{
    width:20px;
    height:20px;
    margin-bottom:0;
}
.faq_block .faq_item .txt{
    margin-left:10px;
}
.faq_block .faq_item.question .txt{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    align-items:center;
    width:calc(100% - 50px - 30px - 20px);/* 50pxは丸のオブジェクト、30pxはアイコンのwidth、20pxはtxtの左右margin */
    margin-right:10px;
    font-weight:bold;
}
.faq_block .faq_item.answer .txt{
    width:calc(100% - 50px - 10px);/* 50pxは丸のオブジェクト、10pxはtxtのmargin-left */
}
.faq_block .faq_item .txt.one_line{/* 一行のみの場合、上下中央寄せ */
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    align-items:center;
}
.faq_block .faq_item.answer .txt .two_paragraph{
    margin-bottom:10px;
}
.faq_block .faq_item.question .icon{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
}
.faq_block .faq_item.question .icon i{
    font-size:22px;
    color:#5193f7;
    margin-right:0px;
}