@charset "utf-8";
/*==================================================
	スマホのみに適用
==================================================*/
@media only screen and (max-width: 640px){
	body { font-size: 85%; }
	.dsp_hp, .dsp_hpt,.dsp_tb { display: none; }

	/* コンテナ */
	#wrap, #footer {
		min-width: 320px;
	}
	#container h3.sub {
		font-size: 20px;
	}
	#container h3.sub01 {
		font-size: 18px;
		padding: 0 15px;
		min-height: auto;
	}
	#container h3.sub02 {
		font-size: 20px;
	}
	/* フッター */
	#footer .contact .tel a {
		font-size: 30px;
	}
	#footer .box dt img {
		max-width: 250px;
	}
	#copyright {
		height: auto;
		line-height: 1.6;
		padding: 5px 0;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 30px; }
	.pt { padding-top: 30px; }
	.pb { padding-bottom: 30px; }
	
	.line_btn a {
		width: 240px;
	}
	.line_btn a span {
		font-size: 18px;
		padding: 0 10px;
	}
	.line_btn.long a {
		width: 100%;
		min-height: auto;
	}
	.line_btn.long a img {
		width: 30px;
		top: 0;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#top_medal img {
		width: 85%;
	}
	#top_msg {
		padding: 50px 0;
	}
	#top_msg .waku_box .in {
		padding: 30px 0;
	}
	#top_msg .waku_box .in .ttl {
		font-size: 20px;
	}
	#top_msg .waku_box .in .sub {
		font-size: 18px;
	}
	#top_msg .waku_box .in img {
		width: 80px;
	}
	#top_msg .waku_box::before {
		width: calc(100% - 130px);
		top: -13px;
		left: 65px;
	}
	#top_msg .waku_box::after {
		width: calc(100% - 130px);
		bottom: -13px;
		left: 65px;
	}
	#top_msg .wakusen::before {
		height: calc(100% - 130px);
		top: 65px;
		left: -13px;
	}
	#top_msg .wakusen::after {
		height: calc(100% - 130px);
		top: 65px;
		right: -13px;
	}
	#top_faq dt {
		font-size: 18px;
		padding: 0 15px;
		min-height: auto;
	}
	#top_faq dd {
		padding: 15px;
	}
	#top_faq dd .img_box {
		position: relative;
		top: auto;
		right: auto;
		text-align: center;
	}
	#top_faq dd .img_box img {
		margin-bottom: 30px;
		width: 100%;
	}
	#top_faq dd.nump .line_box a {
		width: 90%;
	}
	#top_faq dd.nump {
		padding-bottom: 30px;
	}
	#top_contents .box {
		width: calc(50% - 10px);
	}
	#top_contents .box:last-of-type{
		flex: 0 0 calc(50% - 10px);
		margin: auto;
		margin-top: 20px;
	}

	#top_price dt {
		font-size: 18px;
		padding: 0 15px;
		min-height: auto;
	}
	#top_price dd {
		padding: 15px;
	}
	#top_price dd .price_box .ttl_line {
		font-size: 18px;
		min-height: 35px;
		margin-bottom: 20px;
	}
	#top_price dd .price_box .ttl_line::after {
		width: 40px;
		top: 7px;
	}
	#top_price dd .price_box .ttl_line span.fs {
		font-size: 12px;
		top: -1px;
	}
	#top_price dd .price_box .box {
		margin-bottom: 20px;
		padding: 10px;
	}
	#top_price dd .price_box .box .ttl {
		font-size: 16px;
	}
	#top_price dd .price_box .box .txt_box {
		width: 100%;
	}
	#top_price dd .price_box .box .txt_box .sub {
		padding-right: 0;
	}
	#top_price dd .price_box .box .txt_box .yen {
		display: block;
		width: 100%;
	}
	#top_price dd .price_box .box .txt_box::before {
		height: 3px;
	}
	/*--------------------------------------------------
		ご利用方法
	--------------------------------------------------*/
	#howto .access_box .box .img_box img {
		position: relative;
	}
	#howto .access_box .box .txt_box {
		margin-top: 0;
	}
	#howto .access_box .box .txt_box .ttl {
		min-height: 50px;
		font-size: 18px;
	}
	#howto .access_box .box .txt_box .ttl span.num {
		width: 50px;
		min-height: 50px;
		margin-right: 10px;
	}
	#howto .access_box .box .txt_box .ttl span.en {
		padding-left: 10px;
		top: 3px;
	}
	#howto .access_box .box .txt_box .txt_in {
		line-height: 1.8em;
	}
	/*--------------------------------------------------
		サブページ
	--------------------------------------------------*/
	
	/*--------------------------------------------------
		・・・お問合せ
	--------------------------------------------------*/
	#access .photo li {
		width: calc(50% - 7.5px);
		margin-bottom: 15px;
	}
	#specified .tbl th, #specified .tbl td {
		display: block;
		margin-top: -1px;
	}
	
/*------------------------------------------------*/
}
