@media screen and (max-width:800px) {
	#header-content,
	.main-content,
	#footer-content,
	.main-content,
	#btm-bnr-content,
	#btm-bnr-content2,
    #btm-bnr-content3
	{
		width:100%;
		height:auto;
		margin:0 auto;
	}
	#main-box {
		padding-top:45px;
	}
	#main-box h2 {
		height:auto;
		font-size:1.7rem;
		line-height:1;
		padding:25px 0;
	}
	#breadclumb-wrapper .breadclumb {
		width:100%;
	}
	body:not(#top) #main-box #main-content {
		padding: 20px 10px;
	}
	.main-content section {
		margin-bottom:30px;
	}
	.main-content section h3 {
		margin-bottom:10px;
	}
	.tbl {
		border:none !important;
	}
	.tbl,.tbl tbody,.tbl tfoot,.tbl tr,.tbl th,.tbl td {
		display:block;
	}
	.tbl thead {
		display:none;
	}
	.tbl tr {
		border:1px solid #333;
	}
	.tbl tbody td {
		padding:10px 5px !important;
		border:none !important;
	}
	.tbl tbody td:before {
		content:attr(data-title);
		display:block;
		background:#333;
		font-size:1.2rem;
		color:#FFF;
		text-align:left;
		padding:5px;
		margin:-10px -5px 10px;
	}
	.input-tbl,.input-tbl thead,.input-tbl tbody,.input-tbl tfoot,.input-tbl tr,.input-tbl th,.input-tbl td {
		display:block;
		width:100%;
	}
	.input-tbl tr {
		position:relative;
	}
	table.input-tbl th.required {
		position:absolute;
		top:5px;
		right:5px;
		border:none;
		padding:0;
		display:inline-block;
		width:auto !important;
	}
	.btn-type01 {
		width:100%;
		font-size:1.6rem;
		padding:25px 10px;
	}
	.sp-none {
		display:none;
	}
	.pc-none{
		display:inherit;
	}
	body#top #flashMessage {
		margin:10px;
	}
	select,
	[type="text"],
	[type="password"],
	[type="email"] {
		font-size:1.6rem
	}

	/*ヘッダー-----------------------------*/
	header {
		position:fixed;
		top:0;
		left:0;
		right:0;
		height:45px;
	}
	header .logo {
		padding:0;
		margin:5px 0 0 5px;
	}
	header .logo img {
		height:35px;
		vertical-align:top;
	}
	header .logo img.logo_pc {
		display:none;
	}
	header .logo img.logo_sp {
		display:inline-block;
	}
	header .sp-header-nav {
		display: inline-block;
		margin-top: 6px;
		margin-right: 5px;
		float: right;
		line-height: 1;
	}
	header .sp-header-nav ul {
		display: flex;
	}
	header .sp-header-nav li {
		margin-left: 5px;
		vertical-align: middle;
		border: 2px solid #bbb;
		border-radius: 4px;
		padding: 2px;
		text-align: center;
	}
/*	header .sp-header-nav li:nth-child(2)  {
		color: #ed6e8b;
		border: 1px solid #ed6e8b;
	}*/
	header .sp-header-nav li a i {
		font-size:2rem;
	}
	header .sp-header-nav li a {
		text-align:center;
		display: inline-block;
		/*color: #ed6e8b;*/
	}
	header .sp-header-nav li a span {
		margin-top:0.2em;
		font-size: 1rem;
		display: block;
	}
	header .sp-header-nav li a:hover {
		color:inherit;
	}
	header .header-content{
		display:none;
	}
	header .fa-bars {
		font-size: 1.2em;
/*		color: #ed6e8b;*/
	}

	a:touch {
		color:#ed6e8b;
	}
	.btn_a:touch{
		background: #fc5077;
		box-shadow: 0px 0px 0px 5px #fc5077;
	}

	/* SNSボタン(ヘッダー除く)---------------------------------- */
	#sns-buttons{
		display: none;
	}
	#sp-sns-buttons{
		display:inline-block;
		margin-top: 15px;
	}

	/*フッター-----------------------------*/
	footer #footer-content {
			padding:10px;
	}
	footer #footer-content .clearfix {
		display:none;
	}
	footer #footer-content .social-area {
			position:static;
			text-align:center;
			display:block;
			margin-top:0;
	}
	footer #footer-content .social-area a {
			margin:0 11px;
	}
	#btm-bnr-content,
	#btm-bnr-content2,
    #btm-bnr-content3
	{
		padding:10px;
		text-align:center;
	}
	#btm-bnr-content a,
	#btm-bnr-content2 a
	{
		margin:10px;
		float:none !important;
	}
    #btm-bnr-content3 a
    {
        float:none !important;
    }
	#btm-bnr-content ul {
		display: flex;
		flex-wrap: wrap;
	}
	#btm-bnr-content ul li {
		width: 50%;
		box-sizing: border-box;
	}
	#btm-bnr-content li:nth-child(n+6) {
		display: inline;
	}
	#btm-bnr-content img,
    #btm-bnr-content3 img
    {
		margin:0;
		width:100%;
	}
	#btm-bnr-content2 ul{
		width: 100%;
		flex-direction:column;
	}
	#btm-bnr-content2 li:first-child {
		order: 1;
	}
	#btm-bnr-content2 li:last-child {
		order: 0;
	}
	#btm-bnr-content2 .btn_a.flat{
		width: 70%;
		height: auto;
		font-size: calc(100vw * 0.050);
		padding: 15px 0px;
	}
	footer #footer-content .bottom-area {
		position:static;
		text-align:center;
		display:block;
		margin-top:0;
	}
	footer #footer-content .pagetop {
		color: #ed6e8b;
	}

	/*メニュー-----------------------------*/
	#side-menu .menu-sns-buttons {
		/*display:inline-block;
		line-height:1;
		text-align: right;*/
        padding-top: 15px;
	}
	#side-menu .menu-sns-buttons li {
		display:inline-block;
		/*margin-left: 0;
		margin-right: 0;*/
		vertical-align: top;
	}
	#side-menu .menu-sns-buttons li a {
		padding: 15px 0px 15px 5px;
		border: none;
	}

	/*メイン-----------------------------*/
	body#top .main-box {
		padding:10px 10px 50px;
		height:auto;
		background-size:cover;
		background-position:50%;
		margin:45px 0 0 0;
	}
	body#top .main-box p {
		font-size:calc(100vw * 0.055);
		padding:15px 0 0 0;
        width: 300px;
        margin-left: 30px;
	}

	body#top #main-box1,
	body#top #main-box2,
	body#top #main-box3,
	body#top #main-box4
	{
		margin:0 0 0 0;
	}
	body#top #main-box2,
	body#top #main-box2-2
	{
		background-position: 0;
	}
	body#top .main-box p.hsp_score small{
		font-size:calc(100vw * 0.035);
		margin-top: -8px;
	}


	/*ステップバー-----------------------------*/
	.step-bar-section{
		display: none;
	}
	.step-bar-section-sp{
		display: block;
		width:300px;
		margin:0 auto;
		padding:5px 0 0 0;
	}
	.stepBar.step1 .step {
		width: 50%;
	}
	.stepBar .step {
		line-height: 30px;
	}

	.stepBar .step:before, .stepBar .step:after {
		height:30px
	}

	/*回答ボタン-----------------------------*/
	.section_btn_answer{
		display: none;
	}
    body#top .main-box p.section_btn_answer_sp{
		visibility: visible;
        text-align: center;
	}
	.btn_a{
        display: inline-block;
        text-decoration: none;
        background: #ed6e8b;
        font-size: calc(70vw * 0.055);
        color: #FFF;
        width: 90%;
        height: 45px;
        line-height: 45px;
        border-radius: 0;
        text-align: left;
        vertical-align: middle;
        overflow: hidden;
        box-shadow: 0px 0px 0px 5px #ed6e8b;
        border: dashed 1px #FFF;
        transition: .4s;
        margin: 10px;
        padding-left: 10px;
	}

	/*戻る、次へボタン-----------------------------*/
	.section_btn_pre_next{
		display: none;
	}
	.section_btn_pre_next_sp{
		visibility: visible;
	}
	.section_btn_pre_next_sp .btn_a{
		font-size: calc(100vw * 0.045);
		width: auto;
		height: auto;
		border-radius: 20%;
		display: inline-block;
		padding: 20px 25px;
	}
	.section_btn_pre_next_sp .btn_a.flat{
		font-size: calc(100vw * 0.050);
		width: 70%;
		border-radius: 0%;
		padding: 15px 0px;
		margin-bottom: 15px;
        text-align: center;
	}
	.section_btn_pre_next_sp .btn_a.back{
		background: #999;
		font-size: calc(100vw * 0.035);
		padding: 5px 10px;
		box-shadow: 0px 0px 0px 5px #999;
	}

	/*記事(共通)-----------------------------*/
	body#article #main-box-title,
	body#article #main-box
	{
		padding:10px 10px 30px;
		height:auto;
		min-height: 500px;
		background-position:50%;
	}
	body#article #main-box-title {
		margin:0;
	}
	body#article #main-box {
		margin:45px 0 0 0;
	}
	body#article #main-box-title h2 {
		font-size:calc(100vw * 0.080);
		line-height: 0;
		width:95%;
		position:absolute;
		top: 50%;
		margin-top:-100px;
	}
	body#article #main-box h3 {
		font-size:calc(100vw * 0.065);
		padding:10px 0 0 0;
	}
	body#article #main-box p {
		font-size:calc(100vw * 0.055);
		padding:15px 0 0 0;
	}
	body#article #main-box p span.small {
		font-size:calc(100vw * 0.040);
		padding:15px 0 0 0;
	}
	body#article .main-content {
		display: none;
	}
	body#article .main-content-sp {
		display: block;
		opacity: 0;
	}
	body#article #main-box p.section_btn_pre_next_sp{
		padding: 30px 0 0 0;
        text-align: center;
	}
}
