@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; }

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

	/* ヘッダ */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		padding: 0;
		background: #fff;
		z-index: 9997;
	}
	#header h1.title {
		height: 50px;
		padding-left: 10px;
	}
	#header h1.title img {
		max-height: 35px;
		width: auto;
		vertical-align: middle;
	}
	#header .contact {
		display: flex;
		align-items: center;
	}
	#header .contact_box {
		margin-right: 55px;
	}
	#header .contact_box a img {
		max-height: 35px;
	}
	#switchBtnArea #switchBtn span {
		height: 2px;
	}
	/* コンテナ */
	#container {
		padding-top: 50px;
	}
	#container h3.sub {
		font-size: 25px;
		line-height: 55px;
	}
	#container h3.sub.fs {
		font-size: 21px;
	}
	#top_contents h3.sub::before {
		width: 100%;
		height: 75px;
	}
	#container h3.sub02 {
		height: 100px;
		font-size: 25px;
	}
	#container h3.sub02::before {
		border-right: 30px solid transparent;
		border-left: 30px solid transparent;
		border-top: 20px solid #01bf56;
		bottom: -20px;
		left: calc(50% - 30px);
	}
	#container h3.sub02 span {
		font-size: 50px;
		padding: 0 10px;
	}
	#sub_ttl img {
		max-height: 150px;
	}
	#page_title .sub_ttl_txt {
		font-size: 35px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer .box dt {
		margin-bottom: 10px;
	}
	#footer .box dt img {
		width: 300px;
	}
	#footer .area_link {
		width: 90%;
		padding: 20px 0;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
		font-size: 12px;
	}
	/* パンくずリスト */
	#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;
	}
	.green_bana {
		padding: 30px 0;
	}
	.green_bana .box_flex_sp {
		flex-wrap: nowrap;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#top_contents .contents_box .box {
		width: 48%;
		margin-bottom: 30px;
	}
	#top_contents .contents_box .box img {
		width: 100%;
		max-height: 200px;
	}
	#top_contents .contents_box .box .txt_box {
		font-size: 14px;
		line-height: 1.8em;
		padding: 5px;
	}
	#top_area {
		background-size: 45%;
	}
	#top_area .area_box .img_box,#top_area .area_box .txt_box {
		width: 100%;
	}
	#top_area .area_box .txt_box {
		width: 60%;
		margin: 0 auto;
	}
	#top_area .area_box .img_box {
		text-align: center;
	}
	#top_area .area_box .img_box img {
		width: 80%;
	}
	#top_area .area_box .txt_box .fukidashi {
		font-size: 18px;
		margin-bottom: 15px;
		border-radius: 10px;
		padding: 5px 15px;
	}
	#top_area .area_box .txt_box .ttl {
		font-size: 28px;
		line-height: 1.8em;
		margin-bottom: 0;
		text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
	}
	#top_area .area_box .txt_box li {
		font-size: 18px;
		line-height: 1.8em;
	}
	#top_area .area_box .txt_box li::before {
		top: 0;
	}
	#top_area .area_box .txt_box ul {
		width: 40%;
	}
	#top_area .area_box .txt_box ul:last-of-type {
		width: 50%;
	}
	#top_info #news_list::before, #top_info #news_list::after,
	#top_info .info_box dl {
		width: 23%;
	}
	#top_info .info_box dt img {
		height: 165px;
	}
	#top_info .info_box dd {
		font-size: 14px;
		line-height: 1.8em;
	}
	#top_point .point_box .box {
		width: 48%;
		padding: 25px 15px 15px;
		margin-bottom: 40px;
	}
	#top_point .point_box .box .point {
		font-size: 25px;
		left: 10px;
	}
	#top_point .point_box .box .ttl {
		font-size: 20px;
		line-height: 1.8em;
		margin-bottom: 15px;
	}
	#top_point .point_box .box .txt {
		font-size: 12px;
	}
	#top_flow .box .txt_box {
		width: 65%;
		min-height: 200px;
	}
	#top_flow .box:last-of-type .txt_box {
		min-height: auto;
	}
	#top_flow .box .txt_box::before {
		left: 40px;
	}
	#top_flow .box .txt_box .ttl {
		border-radius: 5px;
		line-height: 50px;
		margin-bottom: 10px;
		font-size: 20px;
	}
	#top_flow .box .txt_box .ttl span {
		font-size: 18px;
		padding: 0 15px;
	}
	#top_flow .box .txt_box .subtxt_box {
		margin-left: 87px;
	}
	#top_flow .box .txt_box .subttl {
		font-size: 14px;
		line-height: 1.8em;
		margin-bottom: 5px;
	}
	#top_flow .box .txt_box .txt {
		font-size: 11px;
	}
	#top_flow .box .img_box {
		width: 33%;
	}
	#top_service .box {
		width: 80%;
	}
	#top_service .box .in {
		padding: 30px 35px 15px;
	}
	#top_service .box .in .ttl {
		font-size: 20px;
		line-height: 0.3em;
	}
	#top_service .box .in .ttl span {
		font-size: 30px;
	}
	#top_service .box .in .ttl.sla::before, #top_service .box .in .ttl.sla::after {
		background-size: 60%;
		bottom: -10px;
	}
	#top_service .box .in .txt {
		font-size: 22px;
		line-height: 1.8em;
	}
	/*--------------------------------------------------
		サブページ
	--------------------------------------------------*/

	/*--------------------------------------------------
		サブページ
	--------------------------------------------------*/
	
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#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;
	}

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