@charset "utf-8";
/*==================================================
	スマホのみに適用
==================================================*/
@media only screen and (max-width: 640px){
	body { font-size: 85%; }
	.dsp_hp, .dsp_hpt { display: none; }

	/* ヘッダ */
	#header h1.title img {
		height: auto;
		max-height: 100%;
		width: 100%;
	}
	#header h1.title {
		width: calc( 100% - 155px );
		padding-left: 5px;
	}
	/* コンテナ */
	#wrap, #footer {
		min-width: 320px;
	}
	#container h3.sub {
		font-size: 18px;
	}
	#container .sub01 {
		margin-bottom: 20px;
		padding: 20px 0;
		height: auto;
		font-size: 18px;
	}
	/* フッター */
	#footer .box .contact .tel a {
		margin-right: auto;
		margin-bottom: 10px;
	}
	#footer .box .text {
		width: 100%;
		margin-bottom: 20px;
	}
	#footer .box .map {
		width: 100%;
		height: 350px;
	}
	#footer .partnership {
		padding: 30px 15px 30px;
	}
	#footer .partnership ul::after,
	#footer .partnership ul::before{
		width:100%;
	}
	#footer .partnership ul li {
		width: 100%;
		margin-bottom: 10px;
	}
	#footer .partnership ul li:last-child {
		margin-bottom: 0;
	}
	#copyright {
		height: auto;
		line-height: 1.6;
		padding: 5px 0;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 30px; }
	.pt { padding-top: 30px; }
	.pb { padding-bottom: 30px; }
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#top_pr {
		width: 100%;
		top: 0;
		margin-bottom: 0;
		margin-top: 30px;
	}
	#top_pr .txt {
		text-align: left;
	}
	#top_pr .box_flex_sp {
		display: block;
	}
	#top_worries .box {
		width: 48%;
		margin-bottom: 20px;
	}
	#top_worries .box:nth-child(4),
	#top_worries .box:nth-child(3) {
		margin-bottom: 0;
	}
	#top_worries .box .photo {
		text-align: center;
	}
	#top_greeting {
		width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}
	#top_greeting .text h3.sub {
		margin-bottom: 20px;
	}
	#top_greeting .text {
		width: 100%;
		margin-bottom: 20px;
	}
	#top_greeting .photo {
		width: 100%;
		position: relative;
		left: -15px;
	}
	#top_contents .box {
		width: 100%;
	}
	#top_contents .box a {
		padding: 20px;
		width: 80%;
	}
	/*--------------------------------------------------
			カウンセリングまでの流れ・料金
	--------------------------------------------------*/
	#pricepage #flow .box dl:not(:last-child) {
		padding-bottom: 20px;
	}
	#pricepage #flow .box dl:not(:last-child):before {
		left: 29px;
	}
	#pricepage #flow .box dt .step {
		padding-top: 5px;
		font-size: 16px;
	}
	#pricepage #flow .box dt .nmb {
		font-size: 18px;
	}
	#pricepage #flow .box dd {
		padding: 10px;
		width: calc( 100% - 70px );
		font-size: 16px;
	}
	#pricepage #flow .box dt {
		padding-top: 5px;
		width: 60px;
		height: 60px;
	}
	#pricepage #flow .box .btn_link a {
		padding: 0;
	}
	#pricepage #flow .box .btn_link a.tel,
	#pricepage #flow .box .btn_link a.mail {
		font-size: 14px;
	}
	#pricepage #flow .box .btn_link a.tel {
		display: block;
		margin-bottom: 10px;
	}
	.tbl_simple th, .tbl_simple td {
		padding: 5px;
		border: 2px solid #ffe8ca;
		width: 50%;
	}
	.tbl_simple tr {
		font-size: 14px;
		letter-spacing: 0.2em;
	}
	.tbl_simple th span {
		padding: 3px;
		width: auto;
		height: auto;
	}
	/*--------------------------------------------------
		カウンセラープロフィール
	--------------------------------------------------*/
	#profile dt {
		margin-bottom: 30px;
		font-size: 32px;
	}
	#profile dt {
		margin-bottom: 30px;
		font-size: 22px;
	}
	#profile dd {
		padding: 20px;
	}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	.btn02 a {
			line-height: 50px;
	}
	#contact label+label {
		padding-left: 20px;
		box-sizing: border-box;
	}
/*------------------------------------------------*/
}