@charset "utf-8";

/* pc / sp
============================================================================================================ */
@media screen and (max-width: 640px) {
	body{min-height: 0%;}
	.pc, .btn_box_pc {
		display: none;
	}
	.sp, .btn_box_sp{
		display: block;
	}
	span.sp, strong.sp, a.sp, br.sp {
		display: inline;
	}
	
	img{ max-width:100%; height:auto;}
}

/* コンテナ
============================================================================================================ */
@media screen and (max-width: 640px) {
	#container {
		min-width: 320px;
		font-size: 14px;
		font-size: 1.4rem;
		width: 100%;
		overflow: hidden;
		margin:0 auto;
	}

/*トップ
============================================================================================================ */
#header {
	position: relative;
	background-color: #f1f1f1;
}

#header .head {
	width: 100%;
	height: 60px;
	margin: 0 auto;
	padding: 0 30px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
}


#header #nav02 {
	width: 100%;
	margin:0 auto;
	height: 44px;
	padding: 0;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
	background: #fff;
	position: relative;
}


#header #nav02 .logo a img{
	width: 223px;
	margin:0 auto;
	height: auto;

}

#header #nav02 .menu{
	width: 35px;
	height: 34px;
	position: absolute;
	top: 5px;
	right: 2%;
	background: url(../images/head/sp_menu.png) no-repeat;
	background-position: top right;
	background-size: 35px 34px;
	text-indent:-99999px;
}

#header #nav02 .close{
	width: 18px;
	height: 18px;
	position: absolute;
	top: 17px;
    right: 3%;
	background: url(../images/close.png) no-repeat;
	background-position: top right;
	background-size: 18px 18px;
	z-index: 20;
}

#header #nav {
	position: absolute;
	top: 10px;
	left: 2%;
    width: 98%;
	height: 237px;
	z-index: 10;
	border-radius: 2px;
}

#header #nav ul {
    width: 100%;
    height: 154px;
    padding: 34px 0 0 0;
    position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #fff;
	background: #333;
	border-radius: 3px;
}

#header #nav ul .logo {
	display: none;
}

#header #nav ul li{
    float: none;
	margin: 0;
	text-align: left;
	border-top: 1px solid #fff;
	border-bottom: 0;
	cursor: pointer;
}

#header #nav ul .lineup{ 
	width: 80%;
    height: 34px;
    padding: 16px 0 0 24%;
    margin-left: 0;
	background: url(../images/head/nav_icon01.png) no-repeat;
	background-size: 30px;
	background-position: 30px center;
}

#header #nav ul .news{
	width: 80%;
    height: 34px;
    padding: 16px 0 0 24%;
    margin-left: 0;
	background: url(../images/head/nav_icon02.png) no-repeat;
	background-size: 30px;
	background-position: 30px center;
}

#header #nav ul .support{
	width: 80%;
    height: 34px;
    padding: 16px 0 0 24%;
    margin-left: 0;
	background: url(../images/head/nav_icon03.png) no-repeat;
	background-size: 30px;
	background-position: 30px center;
}

#header #nav ul .mypage{
	width: 80%;
	height: 34px;
	padding: 16px 0 0 24%;
	margin-left: 0;
}

#indexMainWrap {
	width: 100%;
	margin:0 auto;
}

#indexMainWrap #indexMain{
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
}

#indexMainWrap #indexMain .h1_box{
	/* 
	border-top: 1px solid #d3d3d3;
	border-bottom: 1px solid #d3d3d3; */
	padding: 0;
	margin: 20px 2em;
	text-align: center;
}

#indexMainWrap #main .h1_box{
	border-top: 1px solid #d3d3d3;
	border-bottom: 1px solid #d3d3d3;
	padding: 0;
	margin: 20px 0;
	text-align: center;
}

#indexMainWrap #indexMain h1{
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: normal;
	margin: 0 auto;
	border-top: 5px solid #f1f1f1;
	border-bottom: 5px solid #f1f1f1;
	padding: 20px;
	display: block;
}

#indexMainWrap #indexMain h1 span{
	display: block;
	width: 80%;
	text-align: center;
	margin: 0 auto;
}

#indexMainWrap #indexMain h1 p{
	display: block;
	width: 80%;
	text-align: center;
	margin: 0 auto;
	font-size: 2.2rem;
}

#indexMainWrap #indexMain .menu_box{
    width: 350px;
    max-width: 350px;
    margin: 0 auto;
    vertical-align: top;
    text-align: center;
}

#indexMainWrap #indexMain .menu_box ul{
    width: 100%;
    text-align: center;
	height: auto;
    margin: 0;
    font-size: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-around;
}

#indexMainWrap #indexMain .menu_box ul li{
	display:inline-block;
	margin: 0 10px 20px;
	text-align: center;
	width: 106px;
	height: 36px;
	font-size: 1.3rem;
	padding-top: 70px;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

#indexMainWrap #indexMain .menu_box ul li a {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	display: block;
}

/*メインイメージ　*/
#indexMainWrap #indexMain .mainImage{
    display: block;
    width: 100%;
    height: 0;
	min-height: 0;
    padding-top: 69%;
    background: url(../images/parts/sp_main00.jpg) 0 0 no-repeat;
    background-size: contain;
    background-position: center;
    position: relative;
}

/* 新画像用 */
#indexMainWrap #indexMain .mainImage_pre{
    display: block;
    width: 100%;
    max-width: 100%;
	  min-height: 10px;
    margin:0 auto;
}

#indexMainWrap #indexMain .mainImage_pre img{
	width: 100%;
	max-width: 100%;
	min-height: 10px;
	margin:0 auto;
	box-sizing: border-box;
}

/* メインイメージここまで　*/

/* 動画を見る　*/

#indexMainWrap #indexMain .movie_btn_spbox{
	width: 100%;
	max-width: 100%;
	border-radius: 0%;
	text-align: center;
	background-color: #4a4a4a;
	text-decoration: none;
	color: #fff;
}

.movie_btn_spbox :hover{
	text-decoration: none;
	cursor: pointer;
	opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";
}

.movie_btn_spbox .movie_btn_spbox_wrap {
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin:0 auto;
    background: url(../images/parts/play_btn.png) no-repeat;
    background-position: 7% 41%;
    background-size: 27px 27px;
    color: #fff;
	padding:.5em;
	text-decoration: none;
}

.movie_btn_spbox .movie_btn_spbox_wrap  a{
	display:block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	text-decoration: none;
}

.movie_btn_spbox .movie_btn_spbox_wrap  a:hover {
	text-decoration: none;
}

.movie_btn_spbox .movie_btn_spbox_wrap  a span {
    width: 100%;
    max-width: 100%;
    height: auto;
	text-align: center;
	font-size:1.8rem;
	color: #fff;

	text-decoration:none;
}

.movie_btn_spbox .movie_btn_spbox_wrap  a span:hover {
	text-decoration: none;
}

/* 動画を見るここまで　*/

#indexMainWrap #main{
	width: 100%;
	display: block;
}

#indexMainWrap #main .h1_box{
	border-top: 1px solid #d3d3d3;
	border-bottom: 1px solid #d3d3d3;
	padding: 0;
	margin: 20px 0;
	text-align: center;
}

#indexMainWrap #main h1{
	font-size: 2.4rem;
	font-weight: normal;
	margin: 0 auto;
	border-top: 5px solid #f1f1f1;
	border-bottom: 5px solid #f1f1f1;
	padding: 20px;	
}

#indexMainWrap #main h1 span{
	width: 100%;
	max-width: 100%;
	text-align: center;
	margin: 0 auto;
	font-size: 2.4rem;
}

#indexMainWrap #main h1 p{
	width: 100%;
	max-width: 100%;
	text-align: center;
	margin: 0 auto;
	font-size: 2.2rem;
}

/* お知らせ
=============================== */
#indexMainWrap .newsArea dl:first-of-type{
	border-top: 1px dotted #d3d3d3;
}
#indexMainWrap .newsArea dl{
	border-bottom: 1px dotted #d3d3d3;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 16px;
	padding: 17px 0;
	width: 93%;
	margin: 10px auto;
}

#indexMainWrap .newsArea dl:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;
}

#indexMainWrap .newsArea dl dt{
	float: none;
	width: 165px;
	line-height: 1.6;
}

#indexMainWrap .newsArea dl dt span{
	background: #c00;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 2px 8px 0;
	margin-left: 10px;
	vertical-align: middle;
}

#indexMainWrap .newsArea dl dd{
	float: none;
	width: 100%;
	line-height: 20px;
}

/* 黒 アローボタン */
.btn_arrow01{
	margin:30px 0;
	text-align: center;
	display: block;
}

.btn_arrow01 a{
	color: #fff;
	text-decoration: none;
	font-size: 17px;
	font-size: 1.7rem;
	line-height:60px;
	display: inline-block;
	padding-left: 0;
	width: 93%;
	background: #333 url(../images/arrow_next.png) no-repeat 14px center;
	background-size: 12px 10px;
	text-decoration: none;
}

.btn_arrow01 a .btn_arrow01_inner{
	display: block;
	width: 100%;
	height: 60px;
	padding: 0;
}

.list_btn01{
	width: 93%;
	margin: 0 auto 13px;
}

.list_btn01 li {
    display: inline-block;
    margin: 0 1% 0 0;
    width: 23%;
    text-align: center;
}

.list_btn01 li:last-child{
    margin: 0 0 0 0;

}

.list_btn01 li a {
    text-decoration: none;
    font-size: 18px;
	font-size: 1.3rem;
    padding: 0;
}

/* Viewing media */
.list_btn01 li a .icon_tv, 
.list_btn01 li a .icon_sp, 
.list_btn01 li a .icon_pc, 
.list_btn01 li a .icon_all,
.list_btn01 li:hover a .icon_tv, 
.list_btn01 li:hover a .icon_sp, 
.list_btn01 li:hover a .icon_pc, 
.list_btn01 li:hover a .icon_all, 
.list_btn01 li.current a .icon_all, 
.list_btn01 li.current a .icon_tv, 
.list_btn01 li.current a .icon_sp, 
.list_btn01 li.current a .icon_pc{
	background: none;
	padding-left: 0;
}
.list_btn01 li.current a .icon_all, .list_btn01 li.current a .icon_tv, .list_btn01 li.current a .icon_sp, .list_btn01 li.current a .icon_pc{
	color: #6aaade;
}

.panel_block01 {
	width: 100%;
	max-width: 100%;
	margin:0 auto;
}

.panel_block01 .panel_box{
	float: none;
	width: 93%;
	height: auto;
	margin: 0 auto 16px auto;
}

.panel_block01 .panel_box img{
	width: 100%;
	height: auto;
}

.panel_block01 .panel_box .icon{
	position: absolute;
	right: 0;
	top: -29px;
}

.panel_block01 .panel_box .icon img{
	width: 30px;
	height: 30px;
}
.panel_block01 .panel_box a{
	text-decoration: none;
	font-size: 18px;
}
.panel_block01 .panel_box .panel_icon{
	float: left;
	padding:12px;
	width: 49px;
	height: auto;
}

.panel_block01 .panel_box .text_box{
	display: block;
	position: relative;
	width: 100%;
	height: 73px;
}

.panel_block01 .panel_box .text_box p{
	float: left;
	display: block;
	padding-top: 10px;
	width: 75%;
}

.nav-area{
	width: 100%;
	max-width: 100%;
	margin:0 auto;
	box-sizing: border-box;
}

.panel_block02 .panel_box a{
	display: block;
	text-decoration: none;
	font-size: 16px;
	background-color: #eee;
}

.panel_block02 .panel_box .panel_icon{
	float: left;
	padding:12px;
	width: 64px;
	height: auto;
}

.panel_block02 .panel_box .text_box{
	position: relative;
	width: 100%;
	height: auto;
	background-color: #eee;
}

.panel_block02 .panel_box .text_box p{
	float: right;
    padding: 12px 4px 0 0;
    width: 192px;
}

.panel_block01 .panel_box .text_box::after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;
}

.nav-area .panel_block03{
	width: 90%;
	max-width: 90%;
	margin:0 auto;
	box-sizing: border-box;
	display: block;
}

.nav-area .panel_block03 .panel_box-wrap{
	width: 100%;
	max-width: 100%;
	margin:0 auto;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.panel_box-wrap a.panel_box{
	width: 100%;
	max-width: 100%;

    background-color: #eee;
	margin: 1.5rem auto;
	box-sizing: border-box;
	display: block;

	border:solid 1px #fff;
}

.panel_box-wrap a.panel_box .panel_box_img{
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height:140px;
	margin:0 auto;
	position:relative!important;
	box-sizing: border-box;
}

.panel_box-wrap a.panel_box .panel_box_img img{
	width: 100%;
	max-width: inherit;
	max-height: 140px;

	margin:0 auto;
	display: block;
	object-fit: cover;
}

.panel_box-wrap a.panel_box .panel_box_img .icon{
	position: absolute!important;
	height: auto;
	max-height:140px;
	right:0;
    bottom:-1em;
    box-sizing: border-box;
}

.panel_box-wrap a.panel_box .panel_box_img .icon img{
	width: 30px;
	height: 30px;
	margin:0 auto;
}

.panel_box-wrap a.panel_box .panel_box_txt{
	width: 100%;
	max-width: 100%;
	padding:.5em 0;
	margin:0 auto;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.panel_box-wrap a.panel_box .panel_box_txt p:first-child{
	width: calc(100% - 70%);
	max-width: calc(100% - 70%);
	margin:0 auto;
}

.panel_box-wrap a.panel_box .panel_box_txt p:first-child img{
	width: 80%;
	max-width: 80%;
	margin:0 auto;
	display: block;
}

.nav-area .panel_block03 .panel_box a .panel_box_txt p:last-child{
	width: calc(100% - 30%);
	max-width: calc(100% - 30%);
	margin:0 auto;
}


/* サポートメニュー
============================================================================================================ */
#indexMainWrap .supportNemu{
	text-align:center;
	width: 100%;
}

#indexMainWrap .supportNemu .list_btn02{
	display: block;
    margin: 20px auto;
    width: 93%;
   min-height: 55px;

}

#indexMainWrap .supportNemu .list_btn03{
	display: block;
    margin: 20px auto;
    width: 93%;
   min-height: 55px;

}

#indexMainWrap .supportNemu .list_btn04{
  	display: flex;
  	flex-wrap: wrap;
  	justify-content:	space-around;
    margin: 20px auto;
    width: 93%;
}

/* リスト 青塗り */
.list_btn02 li{
    display: block;
    float: left;
    margin: 0 2% 0 0;
    width: 49%;
    height: 36px;
    text-align: center;
    padding: 20px 0 0 0;
    line-height: 1.6;
    background: #709cd4 url(../images/arrow_support.png) no-repeat 95% 17%;
	background-size: 13px 13px;
    text-decoration: none;
    font-size: 12px;
    color: #fff;
    margin-bottom: 10px;
}

.list_btn02 li:nth-child(2n){
    margin-right: 0 !important;
}

.list_btn02 .arrow01{
    display: block;
    float: left;
    margin: 0 2% 0 0;
    width: 49%;
    height: 36px;
    text-align: center;
    padding: 20px 0 0 0;
    line-height: 1.6;
    background: #709cd4 url(../images/arrow_next.png) no-repeat 95% 17%;
	background-size: 13px 13px;
    margin-bottom: 10px;
}

.list_btn02 a{
	display: block;
}

.list_btn02:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;
}

/* リスト 青塗り2 */
.list_btn03 li{
    display: inline-block;
    margin: 0 1%;
    width: 45%;
    height: 36px;
    text-align: center;
    padding: 20px 0 0 0;
    line-height: 1.6;
    background: #709cd4 url(../images/arrow_support.png) no-repeat 95% 17%;
	background-size: 13px 13px;
    text-decoration: none;
    font-size: 12px;
    color: #fff;
    margin-bottom: 10px;
}

.list_btn03 .arrow01{
    display: block;
    float: left;
    margin: 0 2% 0 0;
    width: 45%;
    height: 36px;
    text-align: center;
    padding: 20px 0 0 0;
    line-height: 1.6;
    background: #709cd4 url(../images/arrow_next.png) no-repeat 95% 17%;
	background-size: 13px 13px;
    margin-bottom: 10px;
}

.list_btn03 a{
	display: block;
}

.list_btn03:after {
	content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;
}

/* リスト 青塗り3 */
.list_btn04 li {
    display: block;
    width: 45%;
    margin: 0.5rem auto;
    height: 36px;
    text-align: center;
    vertical-align: middle;
     text-decoration: none;
    padding: 20px 0 0 0;
    line-height: 1.6;
}

.list_btn04 .arrow01{

    background: #709cd4 url(../images/arrow_next.png) no-repeat 95% 17%;
	background-size: 13px 13px;
    font-size: 12px;
    color: #fff;
}

.list_btn04 .jump01{

    background: #709cd4 url(../images/arrow_support.png) no-repeat 95% 17%;
	background-size: 13px 13px;
    font-size: 12px;
    color: #fff;
}

ul.btn_Area{
	width: 95%;
	max-width: 95%;
	margin:0 auto;
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
}

ul.btn_Area li.btn_Area-block04{
	width: calc((100% - 6%) / 2);
	max-width: calc((100% - 6%) / 2);
	margin:1em auto 0;
	background: #709cd4 url(../images/arrow_next.png) no-repeat right 5px top 5px;
	color:#fff;
	background-size: 1.2em;
	position: relative;
}

ul.btn_Area li.btn_Area-block04 a{
	width: 100%;
	max-width: 100%;
	/* centering */
	top: calc(100% / 2);
  	left:calc(100% / 2);
  	transform: translateY(-50%) translateX(-50%);
  	-webkit- transform: translateY(-50%) translateX(-50%);
	margin:0 auto;
	color: #fff;
	display: block;
	position: absolute;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	vertical-align: middle;
}


/*スライダー */
.swiper {
    margin: 40px 0 55px;
    position: relative;
}

.button-prev, .button-next {
	display: none;
}

.main_pagination {
	width: 100%;
	margin: 0 auto;
    height: 14px;
    padding-top: 15px;
    text-align: center;
}

.main_pagination li {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #dcdcdc;
	margin: 10px;
	text-align: center;
}

.main_pagination li.active {
    width: 15px;
    height: 15px;
    border-radius: 50%;
	float: left;
	margin: 10px;
	background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}

/* フッター
============================================================================================================ */
#footer {
	width: 100%;
	border-top :1px solid #666;
	text-align: center;
}

#footer .footerBlock{
	width: 100%;
	margin: 25px auto 0;
}

#footer .logo{
	float: none;
}

#footer .logo{
	width: 166px;
	height: auto;
    margin: 0 auto;
}

#footer .text_box{
	float: none;
	width: 93%;
	margin: 20px auto 0;
	padding-left: 0;
	box-sizing: border-box;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: left;
}

#footer .text_box .text{
	margin-top: 0px;
}

#footer .text_box .nav{
	margin-top: 25px;
    line-height: 2;
}

#footer .text_box .nav a{
	text-decoration: none;
}

#footer .text_box .nav a:hover{
	text-decoration: underline;
}

#footer .copyright{
	width: 100%;
	height: auto;
	margin-top: 25px;
	background: #666;
	color: #fff;
	line-height: 1.6;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 25px 0;
}

#footer .copyright p{
	width: 93%;
	height: auto;
	margin: 0 auto;
}

/*下層
============================================================================================================ */

#indexMainWrap .service{
	border-top: 1px solid #f1f1f1;
	width: 100%;
}

.middle{
	font-size: 12px;
	font-size: 1.2rem;
}

.small{
	font-size: 10px;
	font-size: 1rem;
}

.service p{ width: 93%; margin: 10px auto;}

.panel_block01 .panel_box .text_box p{
    float: left;
    display: block;
	padding: 13px 0 0 0;
    width: 75%;
	margin: 0;
	font-size: 16px;
	font-size: 1.6rem;
}

.service .h2_box_bdNone h2{
    font-size: 24px;
    font-size: 2.4rem;
}

/*======================================================================================= */
/*ラインナップ*/
#indexMainWrap #main .lineup h1{
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: normal;
	margin: 0;
	padding: 20px;
	border: 0;
}

#indexMainWrap #main .lineup h1.service_lineup{
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: normal;
	margin: 0;
	padding: 20px 0 10px;
	border: 0;
}

.lineup .panel_block01{
	width: 100%;
	padding: 0;
	border: 0;
	margin: 10px 0 0 0;
}

.lineup .panel_block01 .panel_box{
	float: none;
    width: 93%;
    height: auto;
    margin: 0 auto 16px auto;
}

.lineup .panel_block01 .panel_box:last-child{
	float: none;
    width: 93%;
    height: auto;
    margin: 0 auto 16px auto;
}

.pay_table{
	width: 95%;
	margin: 15px auto;
	border: 1px solid #d3d3d3;
	border-collapse: collapse;
	font-size: 10px;
}

.pay_table thead,
.pay_table thead tr{
	width: 100%;
	max-width: 100%;
	margin:0 auto;
}

.pay_table thead tr th{
	min-height: 3px;

    vertical-align:middle;
    text-align: center;
    border: 1px solid #d3d3d3;
}

.pay_table thead tr th:first-child{
	width: calc(100% - 80%);
	max-width:calc(100% - 80%);
	margin:0 auto;
}

.pay_table thead tr th:not(:first-child){
	width: calc((100% - 20%) / 3);
	max-width: calc((100% - 20%) / 3);
}

.pay_table tr th{
	height: 30px;
	background-position: 18px top;
    background-size: 65px;
    vertical-align: middle;
    text-align: center;
    position:relative;
    border: 1px solid #d3d3d3;
}

.pay_table tr th span{
    display: inline-block;
    width: 100%;
    word-wrap: break-word;
    white-space: normal;
    position:absolute; bottom:5px; left:0px
}

.pay_table tr .pay03 span{
    white-space: nowrap;
}


/*　規約 */

.kiyaku_table{
	width: 93%;
	margin: 15px auto;
	border: 1px solid #d3d3d3;
	border-collapse: collapse;
	font-size: 10px;
	font-size: 1rem;
}

.kiyaku_table td{
	background: #fff;
	width: 23%;
	height: auto;
	border: 1px solid #d3d3d3;
	text-align: center;
	font-size: 10px;
	font-size: 1rem;
}

.kiyaku_table td ul{
	margin: 0 7%;
    width: 140px !important;
}

.btn_detail{
	width: 93%;
	text-align: right;
}

.btn_detail a{
	text-align: right;
	background: url(../images/arrow_black.png) no-repeat;
	background-position: left center;
	color: #2d8acd;
	background-size: 7px 13px;
	padding: 2px 0 0 15px;
}

#indexMainWrap #main .subArea h1 {
    text-align: left;
    border-top: 1px solid #d3d3d3;
    background: #f1f1f1;
    font-weight: normal;
    font-size: 20px;
    font-size: 2rem;
    /*height: 18px;*/
    padding-left: 3%;
    padding-bottom: 0;
	margin: 30px 0 1em 0;
    padding-top: 3px;
}

  #container #indexMainWrap .service .subArea{
	  margin-bottom: 30px;
		}

  #container #indexMainWrap .service .subArea h2{
  	font-size:1.8rem;
  }

	.subArea ul{
		width: 95%;
		max-width: 95%;
		margin:0 auto;
		text-decoration: none;
		list-style: none;
	}

/*インターネット*/
	#indexMainWrap #main .service_h1{
		background-position: center 15%;
		border: none;
		padding-top: 120px;
	}

	/*#container p, #container li{
		font-size: 12px;
		font-size: 1.2rem;
	}*/

	.service .mainImage{
		width: 88%;
		display: block;
		margin: 0 auto;
	}

	#container #indexMainWrap .service .h1_box{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 10px;
		border-top: 1px solid #d3d3d3;
		border-bottom: 1px solid #d3d3d3;
		margin:2rem auto;
		text-align: center;
	}
	#container #indexMainWrap .service>.h1_box>h1{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 10px;
		font-size: 24px;
		font-size: 2.4rem;
		font-weight: normal;
		margin: 0 auto;

		padding: 20px;	
	}

	section.h1_wrap{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 10px;

		margin:20px auto;
		text-align: center;
	}

	section .h1_wrap h1{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 10px;
		font-size: 2.2rem;
		font-weight: normal;
		text-align: center;
		margin: 0 auto;

		text-align: center;
	}

	section .h1_wrap h1 p{
		width: 100%;
		max-width: 100%;
		margin:0 auto;
		font-size: 2.2rem;
		text-align: center;
	}

	section .h1_wrap h1>p>span{
		font-size:80%;
		vertical-align:text-top;
	}

	.service .h2_box{
		border: none;
		margin-top: 10px;
	}
	
	.service .h2_box h2{
		font-size: 2rem;
		font-weight: normal;
		border: none;
		text-align: center;
	}
	.service .h2_box h2 span{
		display: block;
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}

	.float_box01{
		border: none;
		padding: 0;
		width: 93%;
    	margin: 15px auto 30px auto;
	}
	.float_box01 ul{
		width: 95%;
		margin: 0 auto;
	}
	.float_box01 .float_img01{
		width: 95%;
		text-align: center;
		float: none;
		margin: 0 auto 10px;
	}
	.float_box01 .float_txt01{
		float: none;
		margin-left: 0;
		width: 100%;
	}
	.float_box01 .float_txt01 .title_h3{
		text-align: center;
	    margin: 15px auto 0;
}
	.float_box01 .float_txt01 span{
		display: block;
	}
	.float_box01 .float_txt01 p span{
		display: block;
	}
	.float_box01 .float_txt01 .txtC_sp{
		text-align: center;
	}
	
	.float_box01 .float_img02{
		width: 95%;
		text-align: center;
		float: none;
		margin: 0 auto 10px;
	}
	.float_box01 .float_txt02{
		float: none;
		margin-left: 0;
		width: 100%;
	}
	.float_box01 .float_txt02 .title_h3{
		text-align: center;
	    margin: 15px auto 0;
}
	.float_box01 .float_txt02 span{
		display: block;
	}
	.float_box01 .float_txt02 p span{
		display: block;
	}
	.float_box01 .float_txt02 .txtC_sp{
		text-align: center;
	}

	.h1_box_bottom_p{
		margin :0 auto;
		width: 95%;
	}
	#container #indexMainWrap .service .subTitle01, #container #indexMainWrap .service .subTitle02{
		border: none;
		padding: 0;
		width: 95%;
		margin: 15px auto;
	}
	.float_img_block01{
		text-align: center;
		width: 93%;
		margin: 0 auto;
	}
	.float_img_block01:after{
		content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0;
	}
	.float_img_box01{
		width: 23%;
		margin-right: 1%;
		text-align: center;
		height: 140px;
		display: block;
		float: left;
	}
	.float_img_box01 img{
		width: 70%;
		height: auto;
	}
	.float_img_box01 p, .float_img_box02 p, .float_img_box03 p{
		margin-top: 10px;
		font-size: 10px;
		font-size: 1rem;
	    white-space: nowrap;
	}
	.float_img_box02{
		margin: 0 auto;
		width: 23%;
		height: 120px;
		min-height: 10px;
		display: block;
		float: left;
	}
	.float_img_box02 img{
		width: 70%;
		height: auto;
		min-height: 10px;
	}
	.float_img_box03{
		margin: 5% 0 0;
		width: 32%;
		height: 260px;
		min-height: 10px;
		position: relative;
	}
	.float_img_box03 img{
		width: 100%;
		min-height: 10px;
	}
	.float_img_box03 .icon_myroom01{
		display: block;
		position: absolute;
		top: -5px;
		left: 0;
		background: #6aaade;
		color: #fff;
		height: 50px;
		width: 50px;
		border-radius: 50%;
		font-size: 0.95rem;
	}
	.float_img_box03 .icon_myroom01 .icon_myroom01_inner{
		display: inline;
		line-height: 1px;
		vertical-align: bottom;
	}
	
	.payment_img_box01{
		margin-top: 30px;
		width: 95%;
		margin: 0 auto;
	}
	.payment_img_box01 img{
		width: 30%;
		margin-right: 10px;
	}
	.payment_img_box01 img:last-child{
		margin-right: 0;
	}
	.subArea .subAreaTxt01{
		margin: 20px auto 0;
		width: 93%;
	}
	.subAreaTxt01 .col {
		padding: 0 0 5px 0em;
	}
 
	/* スタディー */
	.sec_study .study_box {
		width: 100%;
		margin: 0 auto 30px auto;
	}
	.sec_study .harf_box{
		width: 100%;
		margin: 0 auto 0 auto;
	}
	.sec_study .h2_none > ul{
		margin-top: 0;
	}
	.study_box .float_img01{
		width: 100%;
	}
	.study_box .float_txt01{
		margin: 0 0 20px 0;
	}
	.sec_study_step .float_img01{
		width: 100%;
		margin: 0 auto 70px auto;
		position: relative;
	}
	.sec_study_step .float_img01.icon_arrow::after{
		width: 65px;
		height: 35px;
		margin: 18px 0 0 -32px;
		position: absolute;
		content: ""; 
		top: 100%;
		left: 50%;
		background: url(../images/parts/study_arrow_sp.png) bottom no-repeat;
	}
	.sec_study_step{
		width: 93%;
		margin: 15px auto 30px auto;
	}

	/* 黒 アロー 左寄せ */
	.btn_arrow02{
		text-align: left;
		margin: 0 0 20px 3%;
	}
	.btn_arrow02 a{
		color: #6aaade;
		text-decoration: none;
		font-size: 14px;
		font-size: 1.4rem;
		line-height:24px;
		padding-left: 30px;
		background: url(../images/icon_arrow01.png) no-repeat 14px center;
		background-size: 5px 7px;
	}

	/* 利用規約 */
	.lineup .linkArea01{
		padding: 20px 0;
		width: 100%;
		margin-top: 30px;
	}
	.lineup .linkArea01 ul{
		float: none;
		width: 95%;
	}
	.subArea .kiyakuTxt01{
		width: 95%;
		margin: 0 auto;
	}
	.subArea .kiyakuTxt01 ul{
		margin-bottom: 0;
	}
	.lineup .linkArea ul {
		width: 100%;
	}
	.lineup .linkArea ul:nth-child(1) {
		width: 100%;
	}

	/* サポートページ */
	.lineup .linkArea02{
		margin: 30px auto 0;
		width: 93%;
	}
	.lineup .linkArea02:first-child{
		margin: 0 auto 0;
	}
	.lineup .linkArea02 .titleLink_box01{
		background: #709cd4;
		width: auto;
		height: auto;
		position: relative;
		margin: 0;
		float: none;
	}
	.lineup .linkArea02 ul{
		width: 93%;
		margin: 0 auto;
	}
	.lineup .linkArea02 .titleLink_box01 .titleLink01{
		color: #fff;
		font-size: 15px;
		font-size: 1.5rem;
		margin: 0 0 15px;
		text-align: center;
		width: auto;
		position: relative;
		top: 0;
		transform: translateY(0);
		padding: 13px 0;
	}
	.lineup .linkArea02 .titleLink_box01 .titleLink01 span{
		display: inline;
		font-size: 15px;
		font-size: 1.5rem;
	}

	#support_menu{
	width: 100%;
	max-width: 100%;
	margin:0 auto;
	}

	.support_bn_box{
		width: 100%;
		max-width: 100%;
		margin:.5em auto;
	}

	.support_bn_box a{
		width: 100%;
		max-width: 100%;
		margin:0 auto;
		opacity: 1;
	  	-webkit-transition: .3s ease-in-out;
	  	transition: .3s ease-in-out;
	}

.support_bn_box a:hover,
.support_bn_box a:active {
  opacity: .5;
}

.support_bn_box img{
	width: 95%;
	max-width: 95%;
	margin:0 auto;
}

section .title_box{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;

		margin:2rem auto;
		text-align: center;
	}

section .subtitle_box{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		border-top: 1px solid #d3d3d3;
		border-bottom: 1px solid #d3d3d3;
		margin:2rem auto;
		text-align: center;
		padding: 20px 0;	
	}

section .title_box span,
section .subtitle_box span{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		font-size: 24px;
		font-weight: normal;
		margin: 0 auto;
		
	}



	/*お知らせページ*/

#indexMainWrap .service .newsArea dl{
    background: url(../../info/images/arrow_grey.jpg) no-repeat 98% center;
  	background-size: 6% auto;
	margin: 0 auto;
	padding: 15px 0;
}

#indexMainWrap .service .newsArea dl dd {
    float: none;
    width: 90%;
}

#indexMainWrap .service .newsArea .close{
	background: url(../../info/images/arrow_grey_up.jpg) no-repeat 98% center;
	background-size: 22px 12px;	 
}

#indexMainWrap .service .newsArea .contents{
	 display: none;
	 padding: 20px 0;
	 width: 93%;
	 margin: 0 auto;
}

#indexMainWrap .service .newsArea .contents .news_text_box{
	float: none;
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	font-size: 1.4rem;
}

#indexMainWrap .service .newsArea .contents .news_img_box{
	float: none;
	width: 100%;
	margin: 0 auto 15px;
	text-align: center;
}

#indexMainWrap .service .newsArea .contents .news_img_box img{
	width: 50%;
	margin: 0 auto;
	height: auto;
}

#indexMainWrap .service .newsArea .contents .news_text_box .sp_close{
	display: block;
	width: 100%;
	background: #f1f1f1;
	text-align: center;
	padding: 15px 0;
	font-size: 17px;
	font-size: 1.7rem;
}

#indexMainWrap .service .newsArea .contents .news_text_box .sp_close:hover{
	cursor: pointer;
}

.news_text_box .btn_arrow02{
	margin: 20px 3%;
}

}

/* ページトップ
-------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
	#pagetop {
	    position: fixed;
	    bottom: 25px;
	    right: 1%;
	    z-index: 1;
	}
}

	@media screen and (max-width:750px) {

		#indexMainWrap #indexMain .movie_btn_box{
		position: absolute;
		top:10px;
		left: 10px;
		text-align: center;	
		background:rgba(0,0,0,0.7);
		width: 150px;
		height: 150px;
		border-radius: 50%;
		-webkit-transition: all 0.3s ease;
	    -moz-transition: all 0.3s ease;
}


	}

