@charset "utf-8";
/*==================================================
	スマホのみに適用
==================================================*/
@media only screen and (max-width: 640px) {
	body {
		font-size: 85%;
	}
	.dsp_hp,
	.dsp_hpt {
		display: none;
	}

	/* ヘッダ */
	#header h1.title img {
		max-height: clamp(0.875rem, -0.125rem + 5vw, 1.875rem);
	}
	/* コンテナ */
	#wrap,
	#footer {
		min-width: 320px;
	}
	#container h3.sub {
		padding: 0;
	}
	/* ページタイトル */
	#page_title .sub_ttl {
		font-size: 20px;
		padding: 30px 0;
	}
	#page_title .sub2,
	#page_title .sub3,
	#page_title .sub4 {
		padding: 5px 15px;
	}
	/* 見出し */
	#container .sub01 {
		margin-top: 10px;
		margin-bottom: 10px;
		font-weight: 400;
		font-size: 18px;
	}
	/* フッター */
	#footer .box {
		/* padding-block: 30px 50px; */
	}
	#footer .contact .tel a {
		font-size: 30px;
	}
	#copyright {
		font-size: clamp(0.5rem, 0.25rem + 1.25vw, 0.75rem);
	}
	/* 枠のマージン・パディング */
	.mb {
		margin-bottom: 30px;
	}
	.pt {
		padding-top: 30px;
	}
	.pb {
		padding-bottom: 30px;
	}
	/*ボタン*/
	.btn01 a {
		/* width: 205px;
		height: 55px; */
		width: 180px;
		height: 45px;
	}
	.btn01 a span {
		padding-top: 6px;
		padding-left: 30px;
		width: calc(177px - 30px);
		height: calc(36px - 3px);
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	
	#top_unit .main {
		padding-top: 15px;
		margin-top: 15px;
	}
	#top_unit .main .box {
		width: auto;
	}
	#top_unit .sub {
		margin-left: 0px;
		text-align: center;
	}
	#top_unit .sub span {
		left: 0px;
	}
	#top_recruit .box .wrap {
		padding: 10px;
		box-sizing: border-box;
	}
	#top_recruit .main .box {
		width: 100%;
		height: 100%;
		/* padding-block: 15px; */
		box-sizing: border-box;
	}
	#top_recruit .main .box::before, #top_recruit .main .box::after {
		width: 40px;
		height: 40px;
	}
	#top_recruit .box .wrap {
		/* width: calc(100% - 15px * 2); */
		width: 100%;
		height: 100%;
	}
	#top_recruit .box .list {
		margin-block: 13px 7px;
	}
	#top_recruit .box p {
		margin-bottom: 10px;
	}
	#top_recruit .box ul li:first-of-type {
		margin-left: 0;
	}
	#top_recruit .box ul {
		padding-left: 4px;
		/* width: calc(clamp(15rem, 13.125rem + 9.375vw, 16.875rem) - 4px); */
		margin-inline: auto;
	}
	#top_recruit .box ul li {
		margin-bottom: 8px;
	}
	#top_recruit .box ul li,
	#top_recruit .box ul li:nth-of-type(2) {
		font-size: clamp(0.6875rem, 0.5625rem + 0.625vw, 0.8125rem);
	}
	#top_recruit .box .box_flex_sp {
		/* padding-inline: 0; */
		justify-content: center;
		/* -moz-column-gap: 10px;
		column-gap: 10px;
		row-gap: 10px; */
	}
	#top_contents .contents {
		display: flex;
		flex-direction: column-reverse;
		padding-bottom: 40px;
	}
	#top_contents .contents + .contents {
		margin-top: 0;
		text-align: unset;
	}
	#top_contents .contents .main {
		position: unset;
	}
	#top_contents .contents .img {
		width: auto;
		padding-top: 10px;
	}
	#top_contents .contents .box {
		position: unset;
		width: auto;
		height: auto;
		padding-bottom: 15px;
		background: #fff url(../img/top/contents-bar1.png) no-repeat top 64px center / 100% 6px;
	}
	#top_contents .box .text {
		/*margin-block: 40px 27px;*/
		margin: 0;
		padding: 40px 20px 20px;
		max-width: 100%;
		font-size: 14px;
	}
	#top_contents .contents + .contents .box {
		background: #fff url(../img/top/contents-bar2.png) no-repeat top 64px center / 100% 6px;
	}
	#top_contents .contents + .contents .box .text {
		max-width: 100%;
	}
	#top_contents .contents + .contents .contents-bg {
		top: auto;
		bottom: -131px;
		width: 130px;
	}
	#top_contents .contents + .contents .img {
		position: unset;
		height: auto;
	}
	#top_contents .contents + .contents .img img {
		position: unset;
		width: 100%;
	}
	#top_info .main {
		/* padding-block: 20px 15px; */
		margin-top: 0;
	}
	#top_info dl {
		display: block;
	}
	#top_info dt {
		padding-left: 4px;
	}
	
	/*--------------------------------------------------
		サービス案内
	--------------------------------------------------*/
	#service .box:not(:last-child) {
		margin-bottom: 20px;
	}
	#service .box .photo,
	#service .box .txt {
		width: 100%;
	}
	#service .box .photo {
		margin-bottom: 10px;
	}
	#service .box .photo .nmb {
		position: absolute;
		content: "";
		width: 96px;
		height: 96px;
		top: -50px;
		left: -20px;
		background-size: 75%;
		line-height: 1.7em;
		padding-top: 40px;
	}
	#service .box .nmb .fm {
		font-size: 30px;
	}
	#service .box .nmb .service {
		font-size: 14px;
	}
	#service .box .txt {
		line-height: 2em;
		font-size: 14px;
	}
	#service .box .txt .ttl b {
		font-size: 24px;
	}
	#service .box .txt .memo:not(:last-child) {
		margin-bottom: 0;
	}
	/*--------------------------------------------------
		法人概要
	--------------------------------------------------*/
	#data .box .in {
		width: 100%;
	}
	#company .box_line {
		width: 100%;
	}
	#company .box_line {
		margin-bottom: 20px;
	}
	/*------------------------------------------------*/
}
