@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) {
	.dsp_hp { display: none; }
	.cen_hpt { text-align: center; }

	/* ヘッダ */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		padding: 0;
		z-index: 9997;
	}
	#header h1.title {
		width: 200px;
	}
	/* お問い合わせ */
	#header .contact .tel a,
	#header .contact .btn a {
		width: 46px;
		height: 50px;
		padding: 0 11px;
		box-sizing: border-box;
		/* 縦方向中央揃え */
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#header .contact .tel {
		padding-right: 45px;
	}
	/* コンテナ */
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer {
		background-size: auto 100%;
	}
	#footer .box .lt_box {
		width: 46%;
	}
	#footer .box .lt_box .ttl {
		margin-bottom: 30px;
	}
	#footer .box .lt_box .ttl img {
		max-width: 250px;
	}
	#footer .box .lt_box .address {
		padding-left: 15px;
	}
	#footer .box .lt_box .address .contact {
		margin-bottom: 20px;
	}
	#footer .box .lt_box .address .contact p a {
		height: 50px;
	}
	#footer .box .lt_box .address .contact .tel a {
		font-size: 25px;
		margin-right: 10px;
		width: 210px;
	}
	#footer .box .lt_box .address .contact .tel a img {
		width: 22px;
	}
	#footer .box .lt_box .address .contact .btn a {
		width: 50px;
	}
	#footer .box .lt_box .address .contact .btn a img {
		width: 20px;
	}
	#footer .box .rt_box {
		width: 50%;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
		font-size: 10px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 40px; }
	.pt { padding-top: 40px; }
	.pb { padding-bottom: 40px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#page_title .link_btn {
		bottom: 20px;
		right: 20px;
		width: 150px;
	}
	#top_greeting {
		padding-bottom: 40px;
	}
	#top_greeting .txt {
		font-size: 14px;
		line-height: 25px;
	}
	#top_greeting .txt.fm {
		font-size: 16px;
	}
	#top_greeting .logo02, #top_greeting .logo01 {
		width: 100px;
	}
	#top_greeting .logo01 {
		left: 0;
	}
	#top_greeting .logo02 {
		right: 0;
	}
	#top_info .box_flex_sp {
		width: 100%;
	}
	#top_info h3 {
		font-size: 18px;
		line-height: 78px;
		width: 130px;
		background-size: 130px;
	}
	#top_info .box {
		width: 77%;
	}
	#top_info .box dl {
		padding: 15px;
	}
	#top_contents::before {
		background: url(../img/top/contents-bg.jpg) no-repeat bottom center / cover;
	}
	#top_contents .box_flex_sp {
		width: 100%;
	}
	#top_contents .box_flex_sp > span {
		width: 48%;
		margin-bottom: 40px;
	}
	#top_contents a .photo span {
		font-size: 20px;
	}
	#top_pr .pr .text {
		width: 56%;
		border-radius: 30px;
		padding: 20px;
	}
	#top_pr .pr .text::before {
		left: -20px;
		width: 30px;
		height: 28px;
		background-size: 30px auto;
	}
	#top_pr .pr .text .kaisei {
		margin-bottom: 10px;
	}
	#top_pr .pr .text .kaisei span {
		font-size: 20px;
		line-height: 25px;
		color: #000000;
	}
	#top_pr .pr .text .zen {
		font-size: 14px;
		line-height: 25px;
	}
	#top_pr .pr .photo {
		width: 40%;
	}
	#top_pr .point {
		width: 100%;
		padding-top: 57px;
	}
	#top_pr .point dl {
		width: 32%;
		display: flex;
		flex-direction: column;
	}
	#top_pr .point dl {
		width: 100%;
	}
	#top_pr .point dt {
		top: -55px;
		font-size: 20px;
		width: 70px;
		height: 70px;
		line-height: 70px;
	}
	#top_pr .point dt::before {
		width: 75px;
		height: 74px;
		background-size: 75px auto;
	}
	#top_pr .point dd {
		border-radius: 30px;
		padding: 30px 20px 20px;
		height: auto;
		flex-grow: 1;
	}
	#top_photo dd {
		font-size: 14px;
		line-height: 30px;
	}
	#top_photo dd::before {
		width: 50px;
		height: 50px;
	}
	#top_photo .box01 dl {
		width: calc(25% - 10px);
	}
	#top_photo .box02 {
		width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}
	#top_photo .box02 dl {
		width: 32%;
	}
	#top_photo .box02 dd ul {
		margin-top: 10px;
	}
	/*--------------------------------------------------
		料金案内・施設のご案内
	--------------------------------------------------*/
	#gallery .box {
		width: calc(50% - 40px);
	}
	.photolist li img {
		border-radius: 25px;
	}
	/*--------------------------------------------------
		施設のご案内
	--------------------------------------------------*/
	#access_map .photo {
		width: calc( 50% - 20px );
	}
	#access_map .txt {
		width: 50%;
	}
	#access_route_photo li:not(:last-child):before {
		top: 60px;
	}
	#access_route_photo li img {
		width: 80%;
	}
	#access_route_photo li span.step {
		padding: 10px 0;
	}
	#access_route_photo li span.step:before {
		margin: 10px 0px;
	}
	#access_route_photo li span.txt {
		padding: 10px 45px 10px 10px;
	}
	/*--------------------------------------------------
		緑のふるさと 温泉の森キャンプ場 
	--------------------------------------------------*/
	#camp_price .box .sub02 {
		line-height: 1.2em;
	}
	#camp_price .box:first-child .sub02,
	#camp_price .box:nth-child(2n) .sub02 {
		height: 2.5em;
	}
	#camp_price .box {
		width: calc( 50% - 20px);
	}
	#camp_price .box dl {
		width: 100%;
	}
	#camp_price .box dl dd {
		padding: 20px 30px 30px;
	}
	#prohibitedmatter .box_btn {
		position: absolute;
		bottom: -130px;
		right: 0px;
	}
	.box_pink01 {
		padding: 20px;
	}
	.box_pink02 .in {
		padding: 20px;
	}
	#camp_about {
		padding: 100px 0 50px;
		margin-bottom: 50px;
	}
	#camp_about.bg_wide:before {
		background: url(../img/camp/bg-illustration01.png) top 0px right 0px no-repeat,url(../img/camp/bg-illustration02.png) bottom 0px left 20px no-repeat;
		background-size: 150px auto, auto 100px; 
	}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}
	/*--------------------------------------------------
		リンク
	--------------------------------------------------*/
	#link .list_btn li a {
		font-size: 18px;
	}
	#link .list_btn li a img {
		width: 30px;
	}
/*------------------------------------------------*/
}