/*--------------------------------------------------------
テキスト系CSS
--------------------------------------------------------*/
html{
	font-size:15px;
	color:#606060;
	letter-spacing: 0.05em;
	line-height: 1.7;/* %で指定すると子や孫にも本要素で「計算後の実値」が継承されてしまうため、単位無しで指定 */
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    touch-action: manipulation; /*ダブルタップによるズームを無効化*/
}
*{
    font-family: inherit;/* フォントを継承（button等で勝手に他のフォントになるのを防ぐ */
}
p{
	margin-top:0px;
	margin-bottom:15px;
}
@media only screen and (min-width: 738px){
	p{
		margin-bottom:20px;
	}
}
a{
	color: #5193f7;
    text-decoration: none;
	cursor: pointer;
}
h2{
	margin-top:120px;
	margin-bottom:15px;
	font-size:20px;
	text-align:center;
}
@media only screen and (min-width: 738px){
	h2{
		margin-top:120px;
		margin-bottom:25px;
		font-size:24px;
	}
}
h3{
    font-size: 18px;
    margin-top: 35px;
    margin-bottom: 15px;
    font-weight: bold;
    color: #606060;
}
@media only screen and (min-width: 738px){
	h3{
		margin-top:45px;
		margin-bottom:25px;
		font-size:22px;
	}
}
h3 i{
    color: #ea9c2e;
}
/* 数字つきヘッダ */
h3.with_number{
	vertical-align: bottom;
	margin-bottom:0px;
}
h3.with_number.margin_top_small{
	margin-top:15px;
}
h3.with_number .number{
    color: #5193f7;
    font-size:120%;
    margin-right:5px;
}
h3.with_number .number .big{
    font-size:200%;
}
span.highlight{
	font-size: 130%;
	margin:0 5px;
	position:relative;
}
span.highlight::before {
    position: absolute;
    top: -10px;
    right: -14px;
    width: 25px;
    height: 16px;
    content: '';
}
@media only screen and (min-width: 738px){
	span.highlight::before {
	    top: -22px;
	    right: -26px;
	    width: 50px;
	    height: 32px;
	}
}
span.highlight.yellow::before{
	background:url("img_h2_deco_yellow.png") no-repeat center/contain;
}
span.highlight.blue::before{
	background:url("img_h2_deco_blue.png") no-repeat center/contain;
}
span.yellow{
	color:#ea9c2e;
}
span.blue{
	color:#5193f7;
}
span.highlight_yellow {
    font-size: 130%;
    margin: 0 5px;
    position: relative;
    color: #ea9c2e;
}
.bold{
	font-weight:bold;
}
.small_font{
	font-size:14px;
}
i{
	margin-right: 0.4em;
}
strong.dashed {
    border-bottom: dashed 2px #5193f7;
}
/*--------------------------------------------------------
共通CSS
--------------------------------------------------------*/
.last_margin_bottom{
	margin-bottom:15px;
}
@media only screen and (min-width: 738px){
	.last_margin_bottom{
		margin-bottom:20px;
	}
}
.center{
	text-align:center;
}
.button{
	text-align:center;
	margin-bottom:0px;
}
/* 写真の角を丸くする */
/* imgタグを↓この要素で囲むと角丸の写真になる */
div.image_frame {
    overflow: hidden;
    border-radius: 12px;
}
@media only screen and (min-width: 738px){
	.display_none_pc{
		display:none;
	}
}
.clearfix {
    clear: both;
}
ul,
ol {
	padding:0px;
    margin: 0 0 0 25px;
}
ul li,
ol li{
	padding: 4px 0;
}
ul li:nth-child(1){
	margin-top: -4px;/* 最初を調整 */
}
.flex_center{
	display:flex;
	justify-content: center;
}
/*--------------------------------------------------------
■ SP版でのみ表示／PC版でのみ表示
--------------------------------------------------------*/
.only_sp_block{
    display:block;
}
@media only screen and (min-width: 738px){
    .only_sp_block{
        display:none !important;
    }
}
.only_pc_block{
    display:none;
}
@media only screen and (min-width: 738px){
    .only_pc_block{
        display:block;
    }
}
.only_lg_block{
    display:none;
}
@media only screen and (min-width: 1117px){
    .only_lg_block{
        display:block;
    }
}
/*--------------------------------------------------------
■ 改行させる
--------------------------------------------------------*/
br.sp_new_line {/* SP版で改行させる */
    display:inline;
}
@media screen and (min-width: 738px){
    br.sp_new_line {
        display:none;
    }
}
br.md_new_line{
	 display:none;
}
@media screen and (min-width: 738px){
	br.md_new_line {/* ミディアム版で改行させる */
	    display:inline;
	}
}
@media screen and (min-width: 1117px){
    br.md_new_line {
        display:none;
    }
}
/*--------------------------------------------------------
アニメーションCSS
--------------------------------------------------------*/
/* 下から */

.fade_up{
animation-name:fade_up_anime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

/* @keyframes fadeUpAnime{ */
@keyframes fade_up_anime{
    from {
        opacity: 0;
        transform: translateY(20px);/*  ふわっと上がってくるアニメーション*/
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/*--------------------------------------------------------
各ブロックの要素
--------------------------------------------------------*/
body.landing_body{
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}
header.landing_header{
	background:#fff;
	text-align:center;
}
header.landing_header img.title {
    margin:5px 0;
     max-height: 40px;
     vertical-align: bottom;/* header下部の不要なすき間を無くす */
}
@media only screen and (min-width: 738px){
	header.landing_header img.title {
    	max-height: 63px;
    	margin:12px 0;
	}
}
#main{
    margin-top: 73px;
}
#content{
    margin: 0 5px;
    width: initial;
    max-width: 960px;
}
@media only screen and (min-width: 738px){
	#content{
	    margin: 0 auto;
	    padding:0 80px;
	}
}
@media only screen and (min-width: 738px) and (max-width: 1116.999px){
	#content{
	    padding:0 40px;/* ミディアムサイズはpadding小さく */
	}
}
#content_full{
	margin: 0 5px;
}
@media only screen and (min-width: 738px){
    #content_full{
	    margin: 0;
    }
}
/*--------------------------------------------------------
header
--------------------------------------------------------*/
header.header_sp{/*  backgroundはjsで制御している*/
    width:100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
}
header.header_sp .header_sp_item{
    display:flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    margin: 0 auto;
	margin-top:15px;
	margin-bottom:15px;
}
header.header_sp .header_sp_item .header_logo{
    width: 100vw;
    display:flex;
    align-items: center;
    justify-content: center;
}
header.header_sp .header_sp_item .header_logo img.title {
     max-height: 43px;
     vertical-align: bottom;/* header下部の不要なすき間を無くす */
}
header.header_pc{
    width:100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    background:#fff;
}
header.header_pc .header_pc_item{
    display:flex;
    align-items: center;
    justify-content: space-between;
    width:100%;
    max-width: 1100px;
    margin: 0 auto;
	margin-top:15px;
	margin-bottom:15px;
}
header.header_pc .header_pc_item .header_logo a{
    display:flex;
    align-items: center;
    justify-content: center;
}
header.header_pc .header_pc_item .header_logo img.title {
     max-height: 50px;
     vertical-align: bottom;/* header下部の不要なすき間を無くす */
}
@media only screen and (min-width: 1117px){
    header.header_pc .header_pc_item .header_logo img.title {
         max-height: 52px;
    }
}
header.header_pc .header_pc_item .header_nav{
    width: 100%;
    position: relative;
}
header.header_pc .header_pc_item .header_nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
     list-style:none;
     margin-left:0px;
}
header.header_pc .header_pc_item .header_nav ul li{
    margin-top: 0px;
        text-align:center;
}
header.header_pc .header_pc_item .header_nav ul a {
    color: #606060;
    padding: 5px;
    margin: 0 10px;
    position: relative;
    text-align:center;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
/*--------------------------------------------------------
ハンバーガーメニュー
--------------------------------------------------------*/
body::before {/* ハンバーガメニュークリック時に背景を固定する */
    background-size: 100% auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 108px;
    content: "";
    z-index: -1;
}
header.header_sp{
	display:block;
	background:#fff;
}
@media only screen and (min-width: 1117px){
	header.header_sp{
		display:none;
	}
}
header.header_sp .ham_menu{
    background-color: #fff;
    box-sizing: border-box;
    height: 100%;
    padding: 0px; /*メニュー内左右上下余白*/
    position: fixed;
    right: -300px; /*メニュー横幅 width と合わせる*/
    top: 0;
    transition: .2s ease-in-out;
    width: 300px;
    z-index: 1000;
}
header.header_sp .ham_menu ul{
    list-style:none;
    margin-left:0px;
}
header.header_sp .ham_menu ul li{
    border-bottom:1px #e8f1ff dashed;
    width:300px;
    margin:0 20px;
}
header.header_sp .ham_menu ul li a{
    color:#606060;
    display:block;
    font-size:16px;
    width:100%;
    height:100%;
    padding:14px 0;
}
header.header_sp .menu_background {
    background-color: #333; /*黒背景*/
    display: none;/* jsでdisplayを制御 */
    height: 100%;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: .2s ease-in-out;
    width: 100%;
    z-index: -1;
}
header.header_sp .menu_box{
    color: #808080;
    cursor: pointer;
    display: block;
    height: 50px;
    line-height: 50px;  /*縦位置中央*/
    text-align: center;
    width: 50px;
    transition: .2s ease-in-out;
    z-index: 1000;
}
header.header_sp .menu_box::before {
    font-family:'Font Awesome 6 Pro';
    content: '\f0c9';
    font-size: 32px;
}
header.header_sp .menu_box.open::before {
    content: '\f00d';
    color: #fff;
}
header.header_sp .menu_box.open,
header.header_sp .menu_box.open ~ #ham_menu{
	transform: translate(-300px);
}
header.header_sp .menu_box.open ~ #menu_background {
    opacity: 0.5;
    z-index: 999;
}
@media only screen and (max-width: 320px){/* iphone5/se用 */
    header.header_sp .ham_menu {
        right: -240px;
        width: 240px;
    }
    header.header_sp .ham_menu ul li{
        width:240px;
    }
    header.header_sp .ham_menu ul li a{
    font-size:14px;
}
    header.header_sp .menu_box.open ~ #ham_menu,
    header.header_sp .menu_box.open{
    	transform: translate(-240px); /*メニュー本体横幅 width と合わせる*/
    }
}
/*--------------------------------------------------------
ファーストビュー
--------------------------------------------------------*/
.first_view{
    position:relative;
}
/* オーバーレイ（薄い黒幕） */
.first_view .video_block{
	position: relative;
}
.first_view .video_block .overlay{
    background-color: #000;
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.first_view .first_view_item{
    width:100%;
    margin:0 auto;
    position:relative;
}
.first_view .first_view_main{
	text-align:center;
}
@media only screen and (min-width: 1100px){
	.first_view .first_view_main{
		 position:relative;
	}
}
.first_view .first_view_main .first_view_header{
	position: absolute;
    top: 30px;
    right: 30px;
    z-index: 2;
    writing-mode: vertical-rl;
    display: flex;
    flex-direction: column;
    gap: 11px;
    gap: 0.6875rem;
    margin:0;
}
@media only screen and (min-width: 738px){
	.first_view .first_view_main .first_view_header{
		top: 30px;
		right:30px;
	}
}
@media only screen and (min-width: 1117px){
	.first_view .first_view_main .first_view_header{
		top: 132px;
		right: 163px;
	}
}
.first_view .first_view_main .first_view_header span{
    font-size: 20px;
    font-weight: bold;
    line-height: 1.1333333333;
    letter-spacing: 0.1em;
    text-align:right;
    color: #3d3732;
    display: inline-flex;
    height: fit-content;
     align-items: center;
    background-color: #fff;
    padding: 8px 10px 8px 4px;
}
@media only screen and (min-width: 738px){
	.first_view .first_view_main .first_view_header span{
    	font-size: 28px;
    	padding: 12px 14px 12px 8px;
	}
}
@media only screen and (min-width: 1117px){
	.first_view .first_view_main .first_view_header span{
    	font-size: 30px;
    	padding: 12px 14px 12px 8px;
	}
}
.first_view .first_view_main img{
    width:100%;
    height:auto;
	vertical-align: bottom;
    /* max-width:980px; */
    /* max-width: 1600px; */
}
.first_view .first_view_main video{
    width:100%;
    height:auto;
    vertical-align:top;
}
.first_view .first_view_main .lesson_type_link{
	position:absolute;
	right:20px;
	bottom:180px;
	display:none;
}
@media only screen and (min-width: 1117px){
	.first_view .first_view_main .lesson_type_link{
		right:30px;
		bottom:30px;
	}
}
@media only screen and (max-width: 320px){
	.first_view .first_view_main .lesson_type_link{
		bottom:148px;
	}
}
.first_view .first_view_main .lesson_type_link .lesson_type_link_wrap{
	position:relative;
	display:flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	animation-delay: 10s;
	animation: lessonTypeLinkAnimation 0.3s ease-in-out forwards;
}
@keyframes lessonTypeLinkAnimation {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.5; /* 半透明にすることでフワッと表示 */
    }
    100% {
        opacity: 1;
    }
}
.first_view .first_view_main .lesson_type_link .lesson_type_link_wrap .lesson_type_link_bg{
	display:flex;
	width:110px;
	height:110px;
	border-radius: 70% 60% 50% 50% / 50% 60% 70% 80%;
	background:#5193f7;
	color:#fff;
	font-weight:bold;
	justify-content: center;
	align-items: center;
	animation: diagnosisLink 8s cubic-bezier(.83,0,.17,1) infinite;
	 z-index: 1;
}
@media only screen and (min-width: 1117px){
	.first_view .first_view_main .lesson_type_link .lesson_type_link_wrap .lesson_type_link_bg{
		width:150px;
		height:150px;
	}
}
@keyframes diagnosisLink {
    0% {
        transform: rotate(0)
    }

    30%,to {
        transform: rotate(1turn)
    }
}
.first_view .first_view_main .lesson_type_link .lesson_type_link_wrap .lesson_type_link_txt{
	position:absolute;
	width:80px;
	height:80px;
	color:#fff;
	z-index: 2;
	font-weight:bold;
	line-height: 1.5;
}
@media only screen and (min-width: 1117px){
	.first_view .first_view_main .lesson_type_link .lesson_type_link_wrap .lesson_type_link_txt{
		width:100px;
		height:100px;
		font-size:18px;
	}
}
.first_view .first_view_item .first_view_sub{
	display:flex;
	justify-content: center;
    align-items: center;
    width:300px;
    position:relative;
    left:0%;
    bottom:50px;
    margin:0 auto;
}
@media only screen and (min-width: 738px){
	.first_view .first_view_item .first_view_sub{
    	width:450px;
    	bottom:75px;
	}
}
@media only screen and (min-width: 1117px){
	.first_view .first_view_item .first_view_sub{
    	width:600px;
    	bottom:100px;
	}
}
.first_view .first_view_item .first_view_sub img{
	width:calc(100%/3);
	  flex: 1;
	  vertical-align: top;
}
/* 教室掲載数の丸オブジェクト */
.circle_block{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	flex-flow: column;/* 縦並び */
  	margin:0 auto 15px auto;
  	width:150px;
}
@media only screen and (min-width: 738px){
	.circle_block{
	  	flex-flow: row wrap;/* 横並び */
	  	margin-bottom:20px;
	  	gap: 20px;
	  	width:320px;
	}
}
.circle{
	width:150px;
	height:150px;
	border-radius:50%;
	background:#fff0db;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	flex-flow: column;/* 縦並び */
	align-items:center;
	justify-content:center;
}
.circle:first-child{
	margin-bottom:20px;
}
@media only screen and (min-width: 738px){
	.circle:first-child{
		margin-bottom:0px;
	}
}
.circle span{
	font-weight:bold;
	font-size:16px;
	line-height:1.4;
}
.circle .title{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	height:46px;
	align-items:center;
}
.circle .yellow{
	font-size:19px;
	line-height:1;
}
.circle .big{
	font-size:190%;
}
.circle .small{
	font-size:80%;
}
.comment_block{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
	max-width:400px;
	margin: 0 auto
}
.comment{
	font-size:80%;
	color:#808080;
	margin-bottom:5px;
}
/*ボーダーボックス */
.border_box{
	padding:32px 10px 10px 10px;
	border:2px solid #c0c0c0;
	border-radius:10px;
	position:relative;
	box-sizing:border-box;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width:100%;
    max-width:600px;
    margin:0 auto;
}
.border_box.with_circle:not(:last-child){
	margin-bottom:60px;
}
.border_box.first{
	margin-top:40px;
}
/* 色違い */
.border_box.blue{
	border:2px solid #5193f7;
}
.border_box .title{
	box-sizing:border-box;
	background:#c0c0c0;
	border-radius:10px;
	position:absolute;
	top:-22px;
	left:50%;
	height:40px;
	width:172px;
	margin-left:-86px;
	padding:4px 5px;
	color:#fff;
	font-weight:bold;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
	justify-content:center;
}
.border_box .title_circle{
	box-sizing:border-box;
	background:#99c2ff;
	border-radius:50%;
	position:absolute;
	top:-25px;
	left:50%;
	height:50px;
	width:50px;
	margin-left:-25px;
	color:#fff;
	font-weight:bold;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
	justify-content:center;
}
.border_box .title_dashed{
    font-size: 16px;
    font-weight: bold;
    border-bottom: dashed 2px #5193f7;
    display: inline-block;
    margin: 0 auto 10px auto;
}
.border_box .description{
    margin: 0px;
    font-size: 14px;
    text-align:center;
}
.border_box.with_circle:not(:last-child)::after {
	content: "";
	position: absolute;
	bottom:-40px;
	left: 50%;
	margin-left: -12px;
	border: 12px solid transparent;
	border-top: 12px solid #99c2ff;
}
.txt_with_arrow{
	margin-top:15px;
	margin-bottom:15px;
	margin:35px auto 15px auto;
	width:100%;
	height:50px;
	position:relative;
}
.txt_with_arrow .txt{
	font-size:20px;
	font-weight:bold;
	position:absolute;
	width:200px;
	left:50%;
	top:50%;
	margin-left:-100px;
	margin-top:-17px;
	color:#5193f7;
	z-index:2;
}
.txt_with_arrow .arrow{
	background:#e8f1ff;
	position:absolute;
	width:60px;
	height:50px;
	top:0px;
	left:50%;
	margin-left:-30px;
	z-index:1;
}
.txt_with_arrow .arrow:after{
	content:"";
	position:absolute;
	bottom:-50px;
	left:50%;
	margin-left:-50px;
	width: 0;
	height: 0;
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-top: 50px solid #e8f1ff;
}
/*--------------------------------------------------------
英語付きヘッダー
--------------------------------------------------------*/
h2.heading_with_english .heading_jp{
	position:relative;
	z-index:3;
}
h2.heading_with_english .heading_en{
	position:absolute;
	z-index:-1;
	left:-66px;
	top:-39px;
	content:"";
}
/*--------------------------------------------------------
PiaDOORとは
--------------------------------------------------------*/
.about_piadoor_block .bg_img{
    width:100%;
    z-index: -2;
    position:absolute;
    left:0px;
}
@media only screen and (min-width: 738px){
	.about_piadoor_block .bg_img{
	    max-width:100%;
	}
}
.about_piadoor_block .bg_img img{
    width:100%;
	vertical-align: top;
}
.about_piadoor_block .about_piadoor_title{
	padding-top:15px;
	position:relative;
	margin-bottom:40px;
	display:inline-block;
}
.about_piadoor_title img.question{
	position:absolute;
    right:-50px;
    bottom:-50px;
}
.about_piadoor_block h3.explication{
    line-height:280%;
    font-size:22px;
    margin-top:15px;
    margin-right:5px;
    margin-left:5px;
}
.about_piadoor_block h3 strong.blue_bg{
	background:#5193f7;
	font-size:24px;
	color:#fff;
	padding:5px;
	margin-right:10px;
}
@media only screen and (min-width: 738px){
	.about_piadoor_block h3.explication{
		font-size:26px;
	}
	.about_piadoor_block h3 strong.blue_bg{
		font-size:28px;
		padding:10px;
	}
}
.about_piadoor_block h4.introduction{
    font-size:16px;
    margin-top:10px;
	margin-bottom:40px;
	color:#606060;
	font-weight:normal;
	max-width:1100px;
	margin-right:auto;
	margin-left:auto;
	line-height:2.5;
}
@media only screen and (min-width: 738px){
	.about_piadoor_block h4.introduction{
		font-size:18px;
		margin-top:50px;
		margin-bottom:50px;
	}
}
.about_piadoor_block h4{
    font-size:18px;
    margin-top:10px;
	color:#5193f7;
}
@media only screen and (min-width: 738px){
	.about_piadoor_block h4{
		font-size:22px;
	}
}
.about_piadoor_block p strong{
	font-size: 120%;
	border-bottom: dashed 2px #5193f7;
}
 /*--------------------------------------------------------
圧倒的なアクセス数
--------------------------------------------------------*/
.number_block{
	display:flex;
	width:100%;
	max-width:300px;
	margin:50px auto;
	margin-bottom:25px;
	gap:10px;

}
.number_block .number_item{
	display:flex;
	align-items: center;
	justify-content: center;
	width:calc((100% - 10px)/2);
	height:calc((100% - 10px)/2);
 	aspect-ratio: 1 / 1;/* 正円にする */
	border-radius: 50%;
	background:#e8f1ff;
	position:relative;
	flex-flow: column;

}
.number_block .number_item:before{
	position:absolute;
	content:"";
	background:url("img_total_class_number.png") no-repeat center/contain;
	width: 80%;
	aspect-ratio: 34 / 11;
	top:-25px;
	left:10%;
}
.number_block .number_item.red:before{
	background:url("img_monthly_pv_number.png") no-repeat center/contain;
}
.number_block .number_item.red{
	background:#FFE8ED;
}
.number_block .number_item .big_font{
	font-size:200%;
	font-weight:bold;
	color:#5193F7;
}
.number_block .number_item.red .big_font{
	color:#F45079;
}
.comment_block{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    max-width:400px;
    /* margin: 0 auto; */
}
.comment{
    font-size:80%;
    color:#808080;
    margin-bottom:5px;
    text-align:left !important;
}
.background_box_block{
	display:flex;
	width:100%;
	max-width:1100px;
	margin:0 auto;
	gap:10px;
}
.background_box_block .background_box{
	width:calc((100% - 10px)/2);
}
 /*--------------------------------------------------------
メインボタン
--------------------------------------------------------*/
.button_area{
    margin-top:35px;
    margin-bottom:15px;
}
@media only screen and (min-width: 738px){
    .button_area{
        margin-top:45px;
        margin-bottom:25px;
    }
}
.button_area a{
    text-decoration: none;
    width:100%;
}
.btn_comment{
    font-size:13px;
    font-weight:bold;
    position: relative;
    display:inline-block;
    margin:0 auto;
    margin-bottom:10px;
    color:#5193f7;
}
.btn_comment::before, .btn_comment::after {
    position: absolute;
    top: -6px;
    top: 0px;
    width: 2px;
    height:100%;
    content: '';
    background:#5193f7;
}
.btn_comment::before {
    left: -10px;
    transform: rotate(-30deg);
}
.btn_comment::after {
    right: -10px;
    transform: rotate(30deg);
}
button.btn_submit {
    position: relative;
    display: inline-block;
    padding:20px 30px;
    color: #fff;
    z-index: 1;
    border:none;
    background:none;
    outline: none;
    cursor:pointer;
    font-weight:bold;
    font-size:15px;
    margin-right:auto;
    margin-left:auto;
	min-width:240px;
}
button.btn_submit:before {
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border-radius: 40px;
    background:#5193f7;
    transition: all .3s;
}
button.btn_submit:hover:before {
  right: 0;
  transform: scale(1.1);
  background: #5193f7;
}
button.btn_submit i{
    margin-left:10px;
    margin-right:0px;
}
/*--------------------------------------------------------
PiaDOORを活用して生徒さんを増やそう！
--------------------------------------------------------*/
.practical_use_block{
	background: repeating-linear-gradient(-135deg, #E4EBF7, #E4EBF7 4px, #E8F1FF 4px, #E8F1FF 10px);
    padding-top: 10px;
    padding-bottom: 50px;
    margin-top: 0px;
    padding-right:5px;
    padding-left:5px;
}
.practical_use_block h2{
	margin-top:30px;
	margin-bottom:60px;
}
@media only screen and (min-width: 738px){
	.practical_use_block h2{
		margin-bottom:90px;
		margin-top:60px;
	}
}
.point_block{
	display:flex;
	flex-direction: column;
	gap:50px;
	max-width: 1100px;
	margin-right:auto;
	margin-left:auto;
}
@media only screen and (min-width: 738px){
	.point_block{
			gap:80px;
	}
}
.point_block .point_item{
	display:flex;
	flex-direction: column;
	justify-content: center;
	gap:10px;
	position:relative;
	background:#fff;
	border-radius: 20px;
    padding: 10px 10px 15px 10px;
}
.point_block .point_item .point_label{
	position:absolute;
	width:68px;
	margin-left:-34px;
	left:50%;
	top:-34px;
}
@media only screen and (min-width: 738px){
	.point_block .point_item .point_label{
		width:106px;
		margin-left:-53px;
		left:50%;
		top:-53px;
	}
}
.point_block .point_item .point_label img{
	width:100%;
}
.point_block .point_item h3{
	color:#5193f7;
}
@media only screen and (min-width: 738px){
	.point_block .point_item h3{
		margin-top:60px;
	}
}
.point_block .point_item .title_sub_without_bar{
	color:#606060;
	margin-bottom:5px;
	 width:fit-content;
	margin:0 auto;
	font-weight:bold;
	font-size:18px;
}
.title_sub_blue {
    display: flex;
    align-items: center;
    font-size:16px;
    color:#5193f7;
    margin-bottom:10px;
    font-weight:bold;
}
@media only screen and (min-width: 738px){
	.title_sub_blue {
		font-size:18px;
	}
}
.title_sub_blue:before,
.title_sub_blue:after {
	content: "";
	height: 1px;
	background-image : linear-gradient(to right, #5193f7, #5193f7 2px, transparent 2px, transparent 8px);  /* 幅2の線を作る */
	background-size: 8px 1px;          /* グラデーションの幅・高さを指定 */
	background-position: left bottom;  /* 背景の開始位置を指定 */
	background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
	 flex-grow: 1;
}

.title_sub_blue:before {
    margin-right: 1rem;
}

.title_sub_blue:after {
    margin-left: 1rem;
}
.point_block .point_item .title_sub{
	color:#606060;
	position:relative;
	margin-bottom:5px;
	 width:fit-content;
	margin:0 auto;
	font-weight:bold;
}
.point_block .point_item .title_sub::before,
.point_block .point_item .title_sub::after {
    position: absolute;
    top: 2px;
    width: 2px;
    height: 80%;
    content: '';
    background: #5193f7;
}
.point_block .point_item .title_sub.two_line::before,
.point_block .point_item .title_sub.two_line::after {
    top: 9px;
}
.point_block .point_item .title_sub::before {
    left: -10px;
    transform: rotate(-30deg);
}
.point_block .point_item .title_sub.two_line::before{
	left: -18px;
}
.point_block .point_item .title_sub::after {
    right: -10px;
    transform: rotate(30deg);
}
.point_block .point_item .title_sub.two_line::after{
	right: -18px;
}
@media only screen and (min-width: 738px){
	.point_block .point_item .title_sub.two_line::before,
	.point_block .point_item .title_sub.two_line::after {
	    top: 2px;
	}
	.point_block .point_item .title_sub.two_line::before{
		left: -10px;
	}
	.point_block .point_item .title_sub.two_line::after{
		right: -10px;
	}
}
.point_block .point_item .title_balloon{
    position: relative;
    padding-bottom: 7.5px;
}
.point_block .point_item .title_balloon::before,
.point_block .point_item .title_balloon::after {
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
	content: "";
	border-style: solid;
}
.point_block .point_item .title_balloon::before {
  bottom: 2px;
  z-index: 2;
  border-color: #fff transparent transparent transparent;
  border-width: 7px 5.5px 0 5.5px;
}
.point_block .point_item .title_balloon::after {
  bottom: 1px;
  z-index: 1;
  border-color: #5193f7 transparent transparent transparent;
  border-width: 7.5px 6px 0 6px;
}
.point_block .point_item .title_balloon .title_balloon_txt{
	position: relative;
	display: inline-block;
	padding: 5px 15px;
	margin: 0 auto;
	font-size: 15px;
	color: #fff;
	letter-spacing: 0.055em;
	border-radius: 15px;
    color: #5193f7;
    border: 1px solid #5193f7;
    font-weight:bold;
}
.point_block .point_item .point_img{
	width:100%;
}
@media only screen and (min-width: 738px){
	.point_block .point_item .point_img{
		max-width:500px;
		margin-right:auto;
		margin-left:auto;
	}
}
.point_block .point_item .point_img img{
	width:100%;
}
.point_block .point_item .list_checkbox_block{
	display:flex;
	align-items: center;
	justify-content: center;
}
.point_block .point_item .list_checkbox{
	text-align:left;
	list-style: none;
    margin-left: 30px;
}
@media only screen and (min-width: 738px){
	.point_block .point_item .list_checkbox{
	    width:500px;
	}
}
.point_block .point_item .list_checkbox_two_columns {
    display: grid; /* グリッドレイアウトを使用 */
    grid-template-columns: repeat(2, 1fr); /* 2列に分ける */
    gap: 10px 60px; /* アイテム間の間隔 */
}
@media only screen and (min-width: 738px){
	.point_block .point_item .list_checkbox_two_columns {
		grid-template-columns: repeat(4, 1fr);
	}
}
.point_block .point_item .list_checkbox_two_columns li:nth-child(1) {
    margin-top: 0px;
}
.point_block .point_item .list_checkbox li{
	position:relative;
	text-align:left;
}
.point_block .point_item .list_checkbox li::before {
	position: absolute;
	left: -30px;
	background:url("img_checkbox.png") no-repeat center/contain;
	width:20px;
	height:20px;
	content: '';
}
.point_block .point_item .chart{
	width:100%;
	margin-right:auto;
	margin-left:auto;
}
@media only screen and (min-width: 738px){
	.point_block .point_item .chart{
		width:500px;
	}
}
.point_block .point_item .video_frame{
	width:100%;
	position:relative;
	border-radius:8px;
	overflow:hidden;
	margin-bottom:25px;
}
@media only screen and (min-width: 738px){
	.point_block .point_item .video_frame{
		width:500px;
		margin:0 auto;
	}
}
.point_block .point_item .video_frame video{
	width:100%;
	vertical-align: top;
}
.point_block .point_item .video_frame .mute_button {
	position: absolute;
	top: 10px; /* 適切な位置に調整してください */
	right: 10px; /* 適切な位置に調整してください */
	opacity: 0;
	transition: opacity 0.3s ease; /* 変化を滑らかにするトランジション */
}
.point_block .point_item:hover .video_frame .mute_button {
	/* opacity: 1; */
}
.point_block .point_item .video_frame .mute_toggle {
	cursor: pointer;
	background-color: #333;
	background-color: rgba(51, 51, 51, 0.8);
	width:40px;
	height:40px;
	border-radius:50%;
	 border: none;
	 font-size: 16px;
	 transition: color 0.3s;
}
.point_block .point_item .video_frame i{
	color:#fff;
	margin:0px;
}
/*--------------------------------------------------------
こんな方にピッタリ！
--------------------------------------------------------*/
.group_talk_block{
   	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	width:100%;
	max-width:600px;
	align-items: center;
	margin-bottom:30px;
	margin-right:auto;
	margin-left:auto;
}
.group_talk_block .profile_icon_box{
   	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	width:100px;
	align-items: center;
	justify-content: center;
}
.group_talk_block .profile_icon_box .profile_icon{
   	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	width:100px;
	height:100px;
	border-radius:50%;
	align-items: center;
	justify-content: center;
}
/* .group_talk_block .profile_icon_box .profile_icon i{
	margin-right:0px;
	font-size:18px;
} */
/* 色違い */
.group_talk_block .profile_icon_box .profile_icon.blue{
	background:#e8f1ff;
}
.group_talk_block .profile_icon_box .profile_icon.blue i{
	color:#5193f7;
}
.group_talk_block .profile_icon_box .profile_icon.yellow{
	background:#fff0db;
}
.group_talk_block .profile_icon_box .profile_icon.yellow i{
	color:#ea9c2e;
}
/* 吹き出し */
.group_talk_block .group_talk_balloon{
	width:calc(100% - 130px);
	border-radius:10px;
	background:#e8f1ff;
	padding:12px;
	margin-left:20px;
	position:relative;
	text-align:left;
	font-weight:bold;
}
.group_talk_block .group_talk_balloon::before{
	content: "";
	position: absolute;
	top: 50%;
	left: -24px;
	margin-top: -12px;
	border: 12px solid transparent;
	border-right: 12px solid #e8f1ff;
}
/* 色違い */
.group_talk_block .group_talk_balloon.blue{
	background:#e8f1ff;
}
.group_talk_block .group_talk_balloon.blue::before{
	border-right: 12px solid #e8f1ff;
}
.group_talk_block .group_talk_balloon.yellow{
	background:#fff0db;
}
.group_talk_block .group_talk_balloon.yellow::before{
	border-right: 12px solid #fff0db;
}
/*--------------------------------------------------------
三角（▼）マーク
--------------------------------------------------------*/
.triangle_down {
  width: 0;
  height: 0;
  margin: 20px auto; /* 中央寄せ（任意） */
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #e8f1ff; /* ▼の色 */
}
/*--------------------------------------------------------
三角（▼）マーク 小さいバージョン
--------------------------------------------------------*/
.triangle_down_small {
  width: 0;
  height: 0;
  margin: 0px auto 10px ; /* 少し小さめの余白 */
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #e8f1ff; /* 色は必要に応じて調整 */
}
/*--------------------------------------------------------
■ background_box
--------------------------------------------------------*/
.background_box_wrapper{
	display:flex;
	flex-wrap: wrap; /* 折り返しを許可 */
	width:calc(100% - 10px);
	gap:40px;
	margin-right:5px;
	margin-left:5px;
	text-align:center;
	margin-top:60px;
}
@media only screen and (min-width: 738px){
	.background_box_wrapper{
		max-width:1100px;
		margin-right:auto;
		margin-left:auto;
		gap:20px;		
	}	
}
div.background_box{
	padding: 36px 10px 10px 10px;/* padding-topはタイトルのline-heightの影響でアイコンの上には3pxの余白があるため、(取りたい余白10px)-3px=7pxとした */
	margin-bottom: var(--margin_bottom_s);
	border-radius: 20px;
	width:100%;
	position:relative;
}
@media only screen and (min-width: 738px){
	div.background_box{
		padding:40px 15px 10px 15px;/* padding-topはタイトルのline-heightの影響で文字の上には4pxの余白があるため、(取りたい余白15px)-4px=11pxとした */
		margin-bottom: var(--margin_bottom_ml);
		width:calc((100% - 40px)/3);
	}
}
div.background_box .point_label{
	position:absolute;
	width:68px;
	margin-left:-34px;
	left:50%;
	top:-34px;
}
div.background_box .point_label img{
	width:68px;
}
div.background_box div.title{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}
@media only screen and (min-width: 738px){
	div.background_box div.title{
		font-size: 17px;
		margin-bottom: 6px;/* 取りたい余白15px-(タイトルのline-height分の余白4px+文字列の余白5px)=6px */
	}
}

/* 色違い */
div.background_box.blue{
	background-color: #e8f1ff;
}
div.background_box.yellow{
	background-color: #fff0db;
}
div.background_box.red{
	background-color: #ffe8ed;
}


div.background_box.blue div.title{
	color: #5193f7;
}
div.background_box.yellow div.title{
	color: #ea9c2e;
}
div.background_box.red div.title{
	color: #f45079;
}

div.background_box.blue strong{
	border-bottom: dashed 2px #5193f7;
}
div.background_box.red strong{
	border-bottom: dashed 2px #f45079;
}
div.background_box.red strong.red{
	border-bottom: none;
	color:#f45079;
	font-size:1.1em;
}
div.background_box.yellow strong{
	border-bottom: dashed 2px #ea9c2e;
}
div.background_box.blue a{
	color:#5193f7;
}
div.background_box.red a{
	color:#f45079;
}
div.background_box.yellow a{
	color:#ea9c2e;
}
/* 丸数字のリスト */
div.background_box .ol_circle ol{
	list-style-type:none;
	margin-left:0px;
	counter-reset: list-counter;
}
div.background_box .ol_circle li{
	position:relative;
	padding-left:34px;
}
div.background_box .ol_circle li:before{
	display: flex;
	align-items: center;
	justify-content:center;
    position: absolute;
    left: 0;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.5em;
    border-radius: 50%;
    color: #fff;
    counter-increment: list-counter;
    content: counter(list-counter);
    font-weight:bold;
}
/* 色違い */
div.background_box.blue .ol_circle li:before{
	background: #5193f7;
}
div.background_box.red .ol_circle li:before{
	background: #f45079;
}
div.background_box.yellow .ol_circle li:before{
	background:#ea9c2e;
}
div.background_box .ol_circle .title{
	margin-bottom:10px;
}
@media only screen and (min-width: 738px){
	div.background_box .ol_circle .title{
	    margin-bottom:15px;
	}
}
/* ボックス内要素 */
div.background_box p,
div.background_box ul,
div.background_box ol,
div.background_box img,
div.background_box div.mswa_ms{
	margin-bottom: 8px;/* 取りたい余白は10pxだが、文字列にはline-height:1.5の影響で上下に余白が生まれるため、8pxとした */
}
div.background_box ul ul,
div.background_box ul ol,
div.background_box ol ul,
div.background_box ol ol{
	margin-bottom: 8px;/* 取りたい余白は10pxだが、文字列にはline-height:1.5の影響で上下に余白が生まれるため、8pxとした */
}
/* ボックス内要素 */
@media only screen and (min-width: 738px){
	div.background_box p,
	div.background_box ul,
	div.background_box ol,
	div.background_box img,
	div.background_box div.mswa_ms{
		margin-bottom: 10px;/* 取りたい余白は15pxだが、文字列にはline-height:1.7の影響で上下に余白が生まれるため、10pxとした */
	}
	div.background_box ul ul,
	div.background_box ul ol,
	div.background_box ol ul,
	div.background_box ol ol{
		margin-bottom: 10px;/* 取りたい余白は15pxだが、文字列にはline-height:1.7の影響で上下に余白が生まれるため、10pxとした */
	}
}
/*--------------------------------------------------------
下線付きのテキストボックス
--------------------------------------------------------*/
.txt_box{
    padding: 0px 30px 20px;
}
@media only screen and (min-width: 738px){
	.txt_box{
	   max-width:720px;
	   margin:0 auto;
	   padding-right:0;
	   padding-left:0;
	}
}
.txt_with_underline_dot{
    position: relative;
	background-position: 0 18px;
    background-size: 5px 43px;
	font-size: 15px;/* Androidのみ、JSでfont-size調整 */
	line-height: 2.86;
	letter-spacing: 0.06em;
    background-image: radial-gradient(circle farthest-side, #5193f7, #5193f7 1px, transparent 1px, transparent);
    text-align:center;
	/* transform: translateZ(0); */
}
@media only screen and (min-width: 738px){
	.txt_with_underline_dot{
	   background-position: 0 1.15em;
        background-size: 6px 3.25em;
        font-size: 16px;
        line-height: 3.2;
        letter-spacing: .04em;
	}
}

/*--------------------------------------------------------
PiaDOORの特長
--------------------------------------------------------*/
.feature_piadoor{
	margin-top:150px;
	background:#e8f1ff;
	position:relative;
	padding:5px 5px 20px 5px;
	padding:5px 30px 20px 30px;
}
@media only screen and (min-width: 738px){
	.feature_piadoor{
		margin-top:95px;
	}
}
.feature_piadoor::before{
	width: 250px;
	height: 125px;
	background:#e8f1ff;
	 border-radius: 50% / 100% 100% 0 0;
	top: -30px;
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	left:calc((100% - 250px)/2);
}
@media only screen and (min-width: 738px){
	.feature_piadoor::before{
		width: 500px;
		height: 250px;
		border-radius: 50% / 100% 100% 0 0;
		top: -50px;
		left:calc((100% - 500px)/2);
	}
}
.feature_piadoor h2{
	margin-top:10px;
}
@media only screen and (min-width: 738px){
	.feature_piadoor h2{
		margin-top:20px;
	}
}
.feature_list{
   	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
  	-ms-flex-wrap: wrap;
	flex-wrap: wrap;/* Flexboxアイテムを複数行に折り返す。 */
	width:100%;
}
@media only screen and (min-width: 738px){
	.feature_list{
		max-width:960px;
		margin:0 auto;
	}
}
.feature_item{
	box-sizing:border-box;
	padding:10px;
	border-radius:20px;
	border:2px solid #5193f7;
	margin-bottom:30px;
	width:100%;
   	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
	flex-direction: column;/* 要素を縦に並べる */
  	position:relative;
  	background:#fff;
}
@media only screen and (min-width: 738px){
	.feature_item{
		width:calc((100% - 30px)/2);
		margin-right:30px;
		margin-bottom:30px;
		text-align:center;
	}
	.feature_item:nth-of-type(2n){/* 2の倍数の時 */
		margin-right:0px;
	}
	.feature_item:nth-last-child(1), .feature_item:nth-last-child(2){
		margin-bottom:0px;
	}
}
.feature_item .title{
	font-size:16px;
	font-weight:bold;
	border-bottom: dashed 2px #5193f7;
	display:inline-block;
	margin:0 auto 10px auto;
}
.balloon{
   	display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
    position: absolute;
    left:-20px;
    top:-20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #99c2ff;
    text-indent: .04em;
    color: #fff;
    font-size: 15px;
    letter-spacing: .04em;
    -webkit-box-align: center;
	-ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content: center;
    font-weight:bold;
	transform: rotate(-45deg);
}
.balloon::before {
    position: absolute;
    bottom: -8px;
    left: 0px;
    right: 0;
    width: 0;
    height: 0;
    margin: auto;
    border: solid transparent;
    border-width:10px 10px 0;
    border-top-color: #99c2ff;
    content: '';
    box-sizing:border-box;
}
.balloon i{
	font-size:22px;
	margin-right:0px;
	transform: rotate(45deg);
}
/* 色違い */
.balloon.red{
 	background: #ff99b3;
}
.balloon.red::before{
	border-top-color: #ff99b3;
}
.description{
	margin:0px;
    font-size: 14px;
}
/*--------------------------------------------------------
掲載までのステップチャート
--------------------------------------------------------*/
.step_chart_block{
	width: 100%;
	position:relative;
	z-index:0;
}
.step_chart_block .step_chart_item{
	padding:8px 0 0 70px;
	position:relative;
}
.step_chart_block .step_chart_item:not(:first-child) {
	margin-top:15px;
}
.step_chart_block .step_chart_item .step_number{
	width:50px;
	height:50px;
	border-radius:50%;
	background:#99c2ff;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	top:0;
	left:0;
}
.step_chart_block .step_chart_item .step_number span{
	font-weight:bold;
	font-size:18px;
	color:#fff;
}
.step_chart_block::before {/* 縦の破線 */
    position: absolute;
    content:"";
    top: 25px;
    bottom: 75px;
    left: 24px;
    width: 2px;
    background: url(img_dashed_line.png) repeat-y center top/100% auto;
}
.step_chart_block .step_chart_item .step_title{
	color:#5193f7;
	font-weight:bold;
	font-size:20px;
}
/*--------------------------------------------------------
掲載の仕組み
--------------------------------------------------------*/
.explanation_title{
	font-size:20px;
}
.explanation_img img{
	width:100%;
	max-width:700px;
}
/*--------------------------------------------------------
よくある質問
--------------------------------------------------------*/
.faq_block{
	width:100%;
}
.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;
}
.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;
}
/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
footer{
	margin-top:35px;
}
@media only screen and (min-width: 738px){
	footer{
		margin-top:45px;
	}
}
footer div.footer_link {
    color: #ffffff;
    text-align: center;
    background-color: #5193f7;
    font-weight: normal;
    height: initial;
}
footer div.footer_link a{
    color: #ffffff;
    text-decoration: none;
}
footer ul {
    margin: 10px 0;
    line-height: 1.7;
    text-align: right;
    float: right;
}
footer ul li {
    color: #ffffff;
    font-size: 14px;
    list-style-type: none;
    margin: 0px;
}
footer ul li:nth-child(1) {
       margin-top: 0px;
}
@media only screen and (min-width: 738px){
	footer ul li {
	    float: left;
        margin: 0 0 0 20px;
	}
}
footer ul li a {
    display: block;
    padding: 5px 0;
    color: #ffffff;
}
footer div.copyright {
    color: #ffffff;
    text-align: center;
    background-color: #2a77eb;
    font-weight: normal;
	padding: 10px;
}
div.container{
	margin: 0 5px;
	width: initial;
}

@media only screen and (min-width: 738px){
	div.container{
		margin: 0 10px;
		width: initial;
	}
}
@media only screen and (min-width: 1117px){
	div.container{
	margin: 0 auto;
	width: 1087px;/* 700 + 51 + 336 */
	}
}

/*--------------------------------------------------------
■友達紹介特典
--------------------------------------------------------*/
#anchor_introduction{
	width:calc(100% - 10px);
	height:100%;
	max-width:335px;
	max-height:125px;
	position: fixed;
	bottom: 5px;
	left:50%;
	margin-left:-167px;/* リサイズ時はJSで調整 */
	z-index:101;/* お気に入り詳細ボタン、より上 */
	filter: drop-shadow(5px 5px 5px #aaa);/* 影 */
}

.anchor_introduction_frame #anchor_introduction_frame{
    position:absolute;
	bottom:0;
	left:0;
	margin-bottom:0px;
	width:100%;
}
.anchor_introduction_close #anchor_close_btn{
	position:absolute;
	top:-18px;
	right:5px;
	margin-bottom:0px;
	width:36px;
	cursor:pointer;
}

.appear {
	opacity: 0;
	visibility: hidden;
	transition: all 1s;
}
.appear.done {
  opacity: 1;
  visibility: visible;
}