@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	body { font-size: 110%; }
	.dsp_hp { display: none; }

	/* ベースカラー*/
	#header .contact .tel a { background: #ccc; }
	#header .contact .btn a { background: #000; }

	/* ヘッダ */
	#header h1.title {
		position: fixed;
		height: 50px;
		padding: 0 15px;
		/* 縦方向中央揃え */
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#header h1.title img {
		width: 120px;
	}
	/* お問い合わせ */
	#footer .contact {
		overflow: hidden;
		flex-wrap: nowrap;
	}
	#footer .contact .tel span,
	#footer .contact .btn span {
		display: none;
	}
	#footer .contact .txt {
		width: calc(100% - 100px);
		padding: 0;
		font-size: 4vw;
		/* 縦方向中央揃え */
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#footer .contact p {
		width: 50px;
	}
	#footer .contact a img {
		opacity: 0;
	}
	#footer .contact .btn {
		border-left: 1px solid #fff;
	}
	#footer .contact .tel a {
		background: url("../img/tel-w.png") no-repeat center center / contain;;
	}
	#footer .contact .btn a {
		background: url("../img/mail-w.png") no-repeat center center / contain;;
	}
	/* コンテナ */
	.main {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer {
		padding-bottom: 50px;
	}
	#footer .main {
		padding: 30px 0;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
		font-size: 10px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 60px; }
	.pt { padding-top: 60px; }
	.pb { padding-bottom: 60px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	.bg_wide::before {
		width: 100vw;
		margin-left: calc(((100vw - 100%) / 2) * -1);
		margin-right: calc(((100vw - 100%) / 2) * -1);
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* 挨拶 */
	#top_msg h3 {
		margin-bottom: 40px;
		font-size: 32px;
	}
	#top_msg h3 b {
		font-size: 42px
	}
	/**/
	#top_nayami .main {
		padding: 80px 0;
	}
	#top_nayami h3 {
		margin-bottom: 60px;
		padding: 10px 15px 15px;
		padding-left: 30px;
		font-size: 26px;
	}
	#top_nayami h3::before {
		left: -15px;
		width: 30px;
		height: 30px;
	}
	#top_nayami ul {
		margin-bottom: 50px;
	}
	#top_nayami li {
		padding: 20px;
		font-size: 20px;
	}
	#top_nayami li img {
		right: -10px;
		width: 80px;
	}
	#top_nayami dt {
		margin-bottom: 20px;
		font-size: 30px;
	}
	#top_nayami dt .re1d {
		font-size: 35px;
	}
	#top_nayami .photo {
		width: 200px;
	}
	/**/
	#top_txt {
		padding: 40px 0;
		font-size: 25px;
	}
	#top_txt .red {
		font-size: 30px;
	}
	/**/
	#top_free::before {
		clip-path: polygon(0 0, 100% 60px, 100% 100%, 0 calc(100% - 60px));
	}
	#top_free {
		padding-top: 10px;
		padding-bottom: 30px;
		font-size: 25px;
	}
	#top_free .arow img {
		width: 150px;
	}
	#top_free p b {
		font-size: 35px;
	}
	#top_free p b span {
		font-size: 40px;
	}
	/**/
	#top_option p.pick b {
		font-size: 30px;
	}
	#top_option p.pick .red {
		font-size: 35px;
	}
	#top_option .photo {
		width: 140px;
	}
	/**/
	#top_result p {
		margin-bottom: 50px;
		font-size: 30px;
		line-height: 1.5;
	}
	#top_result p .red {
		font-size: 35px;
	}
	#top_result li {
		position: relative;
		padding: 20px;
		padding-left: 45px;
		background-position: 18px 20px;
		background-size: 20px auto;
		font-size: 21px;
	}
	#top_result li img {
		right: 5px;
		width: 80px;
	}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#contact_ttl {
		font-size: 30px;
		line-height: 1.4;
	}
	#contact_ttl span {
		font-size: 35px;
	}
	/**/
	#contact h3 {
		margin-bottom: 50px;
		font-size: 45px;
	}
	#contact .box {
		padding: 30px;
	}
	#contact .box table th,
	#contact .box table td {
		display: block;
		width: auto;
		padding: 15px;
	}
	#contact .box table td {
		padding-bottom: 20px;
	}
	#mailform td input[type="text"],
	#mailform td textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}

/*------------------------------------------------*/
}