@media screen and (max-width: 768px){
	br.sp_br{display:block;}
	br.pc_br{display:none;}
	img.pc_img{display:none;}
	img.sp_img{display:block;}

	div.language_sp{
		width:115px;
	}
	div.language_sp_child{
		visibility:hidden;
		width:135px;
		background-color:#ffffff;
		position:absolute;
		bottom:35px;
		opacity: 0;
	}
	div.language_sp_child > a{
		display:block;
		padding:5px 0px;
		text-align:center;
		color:#666666;
	}
	div.language_sp_child > a.now{
		background-color:#666666;
		color:#ffffff;
	}
	div.language_button_sp{
		position:relative;
		padding:5px;
		width:125px;
	}
	div.visible{
		background-color:#ffffff;
		visibility: visible;
		transition: all 1s ease;
		opacity:1;
	}
	div.language_button_sp:after{
		content:"";
		background-image: url(../images/language/arrow1.svg);
		background-size:10px 10px;
		background-repeat:no-repeat;
		display:block;
		width:20px;
		height:20px;
		position:absolute;
		top:14px;
		right:-5px;
	}
	div.language_button_sp.visible:after{
		content:"";
		background-image: url(../images/language/arrow2.svg);
		background-size:10px 10px;
		background-repeat:no-repeat;
		display:block;
		width:20px;
		height:20px;
		position:absolute;
		top:5px;
		right:7px;
	    -webkit-transform: rotate(180deg);
	    -moz-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	    -o-transform: rotate(180deg);
	    transform: rotate(180deg);
	}

	div.contents{
		width:98%;
		font-size:0.9em;
		margin:auto;
	}
	h2{font-size:1.3em;margin:0px;}
	h2.full_title > strong{
		display:block;
		padding:0px;
	}
	h3.sub_title{font-size:1.2em;}
	h3.sub_catch{
		width:100%;
		font-size:1em;
	}
	h3.flow_catch{
		width:95%;
		margin:auto;
		text-align:left;
		font-size:1.2em;
	}
	#main_sp{
		position:relative;
	}
	#main_sp > img{width:100%;}
	#main_sp > h1{
		width:20%;
		position:absolute;
		top:2%;
		left:10%;
	}	
	#main_sp > div.smacere_title{
		width:75%;
		position:absolute;
		bottom:10px;
		padding:0px 15px;
	}
	#main_sp > div.smacere_title > p.online{
		width:50%;
	}
	#main_sp > div.smacere_title > p.title{
		width:80%;
	}
	#main_sp > div.smacere_title > p.title2{
		width:80%;
	}
	#main_sp > div.smacere_title > p.title2 > img{
		width:100%;
	}
	p.catch_text{
		width: 90%;
		position: static;
		padding: 5px 15px;
		text-align: left;
		margin: 5px auto;
		font-size: 0.95em;
		border-radius: 10px;
	}
	div.smacere_catch_box {
		display:block;
	}
	div.smacere_catch_img{
		display:block;
		width:45%;
		margin:0px auto 20px auto;
	}
	div.smacere_catch_img > img{width:100%;}
	div.smacere_catch_text{
		padding-left:0px;
		display:block;
	}
	a.sample_link{
		width:95%;
		margin:auto;
		padding:10px 0px;
		text-align:center;
		display:block;
	}
	div.smacere_catch_text > p{
		line-height:1.8;
		padding-bottom:0px;
		padding-left:10px;
		font-size:1.1em;
	}
	div.service_box{
		display:block;
		width:90%;
	}
	div.service_box > h3{
		width:33%;
	}
	div.sample_movie_box{
		display:block;
	}
	div.sample_movie_box > div{
		display:block;
		width:70%;
		margin:10px auto;
	}
	div.sample_movie_box > div > div.play_button{
	    bottom:0;
	    width:70%;
	}
	div.sample_movie_box > div > div.play_button > img{
    	width:80px;
    	height:80px;
	}
	div.sample_movie_box > div > div.play_button > p{
		font-size:1.2em;
	}

	div.movie_box{
		display:block;
	}
	div.movie_box > div{
		display:block;
		width:90%;
		margin:10px auto;
	}
	div.movie_box > div > div.play_button{
	    width:70%;
	    bottom: 25%;
	}
	div.movie_box > div > div.play_button > img{
    	width:80px;
    	height:80px;
	}
	div.movie_box > div > div.play_button > p{
		font-size:1.2em;
	}


	p.dev_check{display:none;}
	div.char_box_sp{width:100%;}
	dl.char_list{margin:0px;}
	dl.char_list dt{
	}
	dl.char_list dt > div.point_box{
		display:table;
		margin:auto;
	}
	dl.char_list dt > div.point_box > div.point{
		width:80px;
		display:table-cell;
		padding:0px 15px;
		vertical-align:middle;
	}
	dl.char_list dt > div.point_box > div.icon{
		width:100px;
		display:table-cell;
	}
	dl.char_list dt > h3{
	    color: #406aa4;
    	font-size: 1.1em;
    	margin: 10px 0px;
    	border-top:2px solid #f1f1f3;
    	border-bottom:2px solid #f1f1f3;
    	padding: 5px 0px 5px 10px;
    	position:relative;
	}
	dl.char_list dt > h3:after{
		background-image:url(../images/right_arrow.svg);
		background-repeat:no-repeat;
		width:15px;
		height:20px;
		content:"";
		display:inline-block;
		position:absolute;
	    transform: translate(-50%, -50%);
	    top:50%;
	    right:0;
	}
	dl.char_list dt.active > h3:after{
		background-image:url(../images/bottom_arrow.svg);
		width:20px;
		height:15px
	}
	dl.char_list dd{
		margin:0px;
		padding:0px 15px;
		font-size:1.1em;
	}
	div.char_img{
		display:block;
		padding:10px 0px;
	}
	div.char_img > div{
		width:90%;
		margin:10px auto;
	}
	div.char_img > div > img{width:100%;}

	div.problem_box{
		display:block;
		text-align:center;
	}
	div.problem{
		display:inline-block;
		width:47%;
		margin:1%;
		padding:10px 0px;
		vertical-align:top;
	}
	div.problem > div.title{
		display:block;
		background-image:none;
		height:auto;
		width:auto;
		vertical-align:middle;
		padding:0px 15px;
	}
	div.problem > div.title > h4{
		font-size:1em;
		display:block;
		padding-top:5px;
	}
	div.problem > div.images{
		display:block;
		width:100%;
		height:auto;
		margin-top:0px;
	}
	div.problem > div.images > img{width:100%;}
	div.problem_catch{
		height:100px;
	}
	div.problem_catch > p{
		width:95%;
		font-size:1.1em;
		height:40px;
	}

	div.support_box{display:block;}
	dl.support_list{
		margin:auto;
		width:98%;
	}
	dl.support_list dt{
		display:table;
		width:100%;
		border-bottom:2px solid #f1f1f3
	}
	dl.support_list dt.active{
		border-bottom:none;
	}

	dl.support_list dt > div.point{
		display:table-cell;
		width: 55px;
		padding:0px 5px;
		vertical-align:middle;
	}
	dl.support_list dt > div.title{
		display:table-cell;
		padding:0px 10px;
		vertical-align:middle;
		color:#826783;
		font-size:1.4em;
	}
	dl.support_list dt > div.title > h4{
		position:relative;
	}

	dl.support_list dt > div.title > h4:after{
		content:"";
		background-image:url(../images/right_arrow.svg);
		background-repeat:no-repeat;
		width:15px;
		height:20px;
		display:inline-block;
		position:absolute;
	    transform: translate(-50%, -50%);
	    top:50%;
	    right:0;
	}
	dl.support_list dt.active > div.title > h4:after{
		background-image:url(../images/bottom_arrow.svg);
		width:20px;
		height:15px
	}

	dl.support_list dd.active{
		padding-bottom:10px;
		border-bottom:2px solid #f1f1f3
	}
	dl.support_list dd{
		margin:0px;
		padding:0px;
		width:100%;
	}
	dl.support_list dd > div.icon{
		display:table-cell;
		width:35%;
		padding:0px 5px;
		vertical-align:top;
	}
	dl.support_list dd > div.detail{
		display:table-cell;
		vertical-align: top;
		padding:0px 10px;
		font-size:1.1em;
	}

	div.voice_contents{
		display:block;
	}
	div.voice_box{
		width:95%;
		margin:10px auto;
	}
	div.voice_box > div.voice_img{
		width:60%;
		margin:auto;
	}
	div.voice_box > p.age{
		margin:15px auto;
		font-size:1.1em;
	}
	div.voice_box > div.voice_text{
		padding-bottom:20px;
		font-size:1.1em;
	}

	div.inquiry{
		width:100%;
		background-color:#ffffff;
	}
	div.inquiry > p{
		width:96%;
		padding:0px 2%;
		border-radius:0px;
		text-align:left;
		font-size:1.2em;
		background-color:#e2e2e4;
		margin:20px 0px 0px 0px;
	}
	div.inquiry_box{
		width:100%;
		display:block;
	}
	div.inquiry_box > div.tel{
		display:block;
		width:90%;
		margin:0px auto 10px auto;
	}
	div.inquiry_box > div.mail_link{
		width:100%;
		display:block;
		padding:0px;
		margin:10px 0px;
	}
	div.inquiry_box > div.mail_link > a{
		width:100%;
		padding:15px 0px;
	}
	div.inquiry_box > div.mail_link > a > img{
		width:60%;
	}

	div.service_detail_box{
		padding:5px 10px;
	}
	div.title_box{
		display:block;
		text-align:center;
	}
	div.title_box > h3{
		display:block;
		width:100%;
		font-size:1.4em;
		margin:0px;
	}
	div.title_box > p{
		display:block;
		width:100%;
		margin:5px 0px;
		font-size:1.1em;
	}
	div.service_detail_box > p.catch{
		font-size:1.1em;
	}
	div.service_detail_box > div.service_detail_img > img{
		width:100%;
	}
	div.sample_box{display:none;}
	div.sample_box_sp{
		display:block;
	}
	div.sample{
		width: 75%;
		margin: 0px auto 20px auto;
	}
	div.sample > div.text{
		width:50%;
	}
	div.sample > div.images{
		width:50%;
	}

	div.flow{
		display:block;
	}
	div.flow > div.images{
		display:block;
		width:70%;
		margin:auto;
	}
	div.flow > div.text{
		display:block;
		padding:0px;
	}
	div.flow > div.text > h4{
		text-align:center;
		font-size:1.1em;
	}
	div.flow_arrow{width:100%;}
	.sp_none{display:none}
	div.flow > div.text > div.icon_box > div.text > div.card{
		display:block;
		float:none;
		width:95%;
	}
	div.flow > div.text > div.icon_box > div.text > div.card > span{
		display:block;
		width:100%;
	}
	div.flow > div.text > div.icon_box > div.text > div.card > img{
		display:block;
		width:98%;
	}

	div.contents_back_m{padding:10px 0px;}
	div.memorial_movie_title{
		display:block;
	}
	div.memorial_movie_title > div.text{
		display:block;
		width:85%;
		margin:auto;
		padding:0px;
	}
	div.memorial_movie_title > div.text > p.point{
		margin-top:20px;
	}
	div.memorial_movie_title > div.images{display:none;}
	div.sp_img_catch{
		display:block;
		width:80%;
		margin:15px auto;
		padding-right: 55px;
	}
	div.sp_img_catch > img{width:100%;}
	p.memorial_text{
		width:90%;
		margin:auto;
	}
	div.memorial_flow{
		display:block;
		margin:15px 0px;
	}
	div.memorial_flow > div.images{
		display:block;
		width:65%;
		margin:auto;
	}
	div.memorial_flow > div.text{
		display:block;
		padding:0px;
	}
	dl.memorial_list dd{
		font-size:1.1em;
	}
	div.memorial_digital_album_title{
		display:block;
	}
	div.memorial_digital_album_title > div.text{
		display:block;
		width:85%;
		margin:auto;
		padding:0px;
	}
	div.memorial_digital_album_title > div.images{display:none;}
	div.memorial_digital_album_point{
		display:block;
	}
	div.memorial_digital_album_point > div.point_text{
		display:block;
		width:80%;
		padding:0px;
		margin:auto;
	}
	div.memorial_digital_album_point > div.point_catch{
		display:block;
		width:80%;
		padding:10px 0px;
		margin:auto;
	}

	h2.special{display:none;}
	div.special_box{
		display:block;
		width:100%;
	}
	div.special_box > div.title{
		width:100%;
		background-color:#593459;
		display:block;
		padding-right:0px;
		padding:5px 0px;
	}
	div.special_box > div.title > img{
		height:25px;
		margin:auto;
	}
	div.special_box > div.text{
		display:block;
		width:95%;
		margin:auto;
		padding:15px 0px 0px 0px;
	}
	h2.special_sp{
		background-color:#ffffff;
		width: 90%;
		padding:5px 10px;
		text-align:center;
		display:block;
		margin:15px auto 0px auto;
		font-size:1.2em;
	}
	div.special_detail > h3.title{
		padding:0px;
		display:block;
		margin:15px auto;
	}
	div.special_detail > h3.mm{
		width:55%;
		padding-left:55px;
		margin-left:75px;
	}
	div.special_detail > h3.mda{
		width:75%;
		padding-left:40px;
		margin-left:45px;
	}
	div.special_detail > h3.title:before{
		left:-50px;
	}
	div.special_detail > h3.title > div.text{
		display:block;
		padding:0px;
		width:100%;
	}
	div.special_detail > h3.title > div.kana{
		display:block;
		padding:5px 0px;
		width:100%;
	}
	div.special_detail > h3.mm > div.text > img{
		margin:auto;
		height:auto;
	}
	div.special_detail > h3.title > div.kana > img{
		margin:auto;
		width:70%;
		padding:6px 0px;
	}
	div.special_detail > h3.mda > div.text > img{
		height:auto;
		width:90%;
		margin:auto;
	}
	div.contents_back_i{
		padding-bottom:0px;
		padding-top:0px;
	}
	div.inquiry_box{margin-bottom:0px;}
	div.inquiry_box > div.mail_link{margin-bottom:0px;}

	footer{
		padding-bottom:20px;
	}

	#footer{
		width:90%;
		padding-bottom:30px;
	}
	#footer > a.logo{
		width:100px;
		left:5px;
	}
	#footer > p{
		font-size:0.8em;
		padding-left:120px;
	}
	#right_banner{
		top:auto;
		bottom:0;
	}
	#right_banner > div.pc_banner{display:none;}
	#right_banner > div.sp_banner{
		display:table;
		width:100%;
		background-color:#e6e7e9;
		padding:10px 0px 5px 0px;
	}
	#right_banner > div.sp_banner > div.customer{
		display:table-cell;
		width:33%;
		background-image: url(../images/sp_banner_line.svg);
		background-position:center right;
		background-repeat:no-repeat;
		background-size: 4px 70%;
		padding-right:3%;
		padding-left:3%;
	}
	#right_banner > div.sp_banner > div.tel{
		display:table-cell;
		width:33%;
		vertical-align:middle;
		background-image: url(../images/sp_banner_line.svg);
		background-position:center right;
		background-repeat:no-repeat;
		background-size: 4px 70%;
		padding-right:3%;
	}
	#right_banner > div.sp_banner > div.company{
		display:table-cell;
		width:33%;
		vertical-align:middle;
	}
	#right_banner > div.sp_banner > div.tel > a{
		display:block;
		width:90%;
		margin:auto;
	}
	#right_banner > div.sp_banner > div.company > a{
		display:block;
		width:45%;
		margin:auto;
	}
}
@media screen and (-webkit-min-device-pixel-ratio:3) and (orientation: landscape){
	#main_sp{
		position:relative;
		width:100%;
	}
	#main_sp > img{width:100%;}
	#main_sp > h1{
		width:20%;
		position:absolute;
		top:2%;
		left:10%;
	}	
	#main_sp > div.smacere_title{
		width:75%;
		position:absolute;
		bottom:10px;
		padding:0px 15px;
	}
	#main_sp > div.smacere_title > p.online{
		width:50%;
	}
	#main_sp > div.smacere_title > p.title{
		width:80%;
	}
	p.catch_text{
		position:static;
	}
	div.contents{width:100%;}
	div.service_box{width:100%;}
	div.char_box_sp{width:100%;}
	dl.char_list{margin:0px;}
	dl.char_list dt{
	}
	dl.char_list dt > div.point_box{
		display:table;
		margin:auto;
	}
	dl.char_list dt > div.point_box > div.point{
		width:80px;
		display:table-cell;
		padding:0px 15px;
		vertical-align:middle;
	}
	dl.char_list dt > div.point_box > div.icon{
		width:100px;
		display:table-cell;
	}
	dl.char_list dt > h3{
	    color: #406aa4;
    	font-size: 1.1em;
    	margin: 10px 0px;
    	border-top:2px solid #f1f1f3;
    	border-bottom:2px solid #f1f1f3;
    	padding: 5px 0px 5px 10px;
    	position:relative;
	}
	dl.char_list dt > h3:after{
		background-image:url(../images/right_arrow.svg);
		background-repeat:no-repeat;
		width:15px;
		height:20px;
		content:"";
		display:inline-block;
		position:absolute;
	    transform: translate(-50%, -50%);
	    top:50%;
	    right:0;
	}
	dl.char_list dt.active > h3:after{
		background-image:url(../images/bottom_arrow.svg);
		width:20px;
		height:15px
	}
	dl.char_list dd{
		margin:0px;
		padding:0px 15px;
		font-size:1.1em;
	}
	div.char_img{
		display:block;
		padding:10px 0px;
	}
	div.char_img > div{
		width:90%;
		margin:10px auto;
	}
	div.char_img > div > img{width:100%;}

	div.support_box{display:block;}
	dl.support_list{
		margin:auto;
		width:98%;
	}
	dl.support_list dt{
		display:table;
		width:100%;
		border-bottom:2px solid #f1f1f3
	}
	dl.support_list dt.active{
		border-bottom:none;
	}

	dl.support_list dt > div.point{
		display:table-cell;
		width: 55px;
		padding:0px 5px;
		vertical-align:middle;
	}
	dl.support_list dt > div.title{
		display:table-cell;
		padding:0px 10px;
		vertical-align:middle;
		color:#826783;
		font-size:1.4em;
	}
	dl.support_list dt > div.title > h4{
		position:relative;
	}

	dl.support_list dt > div.title > h4:after{
		content:"";
		background-image:url(../images/right_arrow.svg);
		background-repeat:no-repeat;
		width:15px;
		height:20px;
		display:inline-block;
		position:absolute;
	    transform: translate(-50%, -50%);
	    top:50%;
	    right:0;
	}
	dl.support_list dt.active > div.title > h4:after{
		background-image:url(../images/bottom_arrow.svg);
		width:20px;
		height:15px
	}

	dl.support_list dd.active{
		padding-bottom:10px;
		border-bottom:2px solid #f1f1f3
	}
	dl.support_list dd{
		margin:0px;
		padding:0px;
		width:100%;
	}
	dl.support_list dd > div.icon{
		display:table-cell;
		width:35%;
		padding:0px 5px;
		vertical-align:top;
	}
	dl.support_list dd > div.detail{
		display:table-cell;
		vertical-align: top;
		padding:0px 10px;
		font-size:1.1em;
	}
	div.voice_contents{
		display:block;
	}
	div.voice_box{
		width:95%;
		margin:10px auto;
	}
	div.voice_box > div.voice_img{
		width:60%;
		margin:auto;
	}
	div.voice_box > p.age{
		margin:15px auto;
		font-size:1.1em;
	}
	div.voice_box > div.voice_text{
		padding-bottom:20px;
		font-size:1.1em;
	}
	#footer{width:100%;}
	#right_banner > div.pc_banner{display:none;}
	#right_banner > div.sp_banner{
		display:table;
		width:100%;
		background-color:#e6e7e9;
		padding:10px 0px 5px 0px;
	}
	#right_banner > div.sp_banner > div.customer{
		display:table-cell;
		width:33%;
		background-image: url(../images/sp_banner_line.svg);
		background-position:center right;
		background-repeat:no-repeat;
		background-size: 4px 70%;
		padding-right:3%;
		padding-left:3%;
	}
	#right_banner > div.sp_banner > div.tel{
		display:table-cell;
		width:33%;
		vertical-align:middle;
		background-image: url(../images/sp_banner_line.svg);
		background-position:center right;
		background-repeat:no-repeat;
		background-size: 4px 70%;
		padding-right:3%;
	}
	#right_banner > div.sp_banner > div.company{
		display:table-cell;
		width:33%;
		vertical-align:middle;
	}
	#right_banner > div.sp_banner > div.tel > a{
		display:block;
		width:90%;
		margin:auto;
	}
	#right_banner > div.sp_banner > div.company > a{
		display:block;
		width:45%;
		margin:auto;
	}

	#page_top_button{width:100%;}
	br.sp_br{display:block;}
	br.pc_br{display:none;}
	img.pc_img{display:none;}
	img.sp_img{display:block;}
}