@charset "UTF-8";
/**********************************************************************
スマホ・タブレット用（幅 960px 未満）[ css/responsive.css ]
2026-10-28 スマホ版 /sp/ をやめて、PC 版をレスポンシブにした。
PC（960px 以上）の見た目は変えない。各ページで import.css・page.css（トップは top.css）の後に読む。
文字を画像にした見出しは、画像の縦横比のまま縮める（height:0 と padding-top で比率を作る）。
**********************************************************************/

/* PC でだけ見せるもの・スマホでだけ見せるもの */
.sp_only { display: none; }

@media only screen and (max-width: 959px) {

html { -webkit-text-size-adjust: 100%; }
body { font-size: 15px; line-height: 1.6; font-family: sans-serif; }
img { max-width: 100%; height: auto; }
.pc_only { display: none !important; }
.sp_only { display: block; }

/* 全体の幅 */
#page #page_wrap,
#top #top_wrap { background-image: none; height: auto; }
#page .page_inner,
#top .top_inner,
#headerwrap,
#header,
#header_member,
#page #page_contents,
#page_contents #contents_inner,
#pagecontents_box,
#contents_box,
#side_box,
address {
	width: auto;
	float: none;
	box-sizing: border-box;
}
#side_box { display: none; }

/* ヘッダー */
#headerwrap { height: auto; overflow: visible; }
#headerwrap h1 {
	width: auto;
	height: auto;
	background-color: #a0d9f6;
	color: #fff;
	font-size: 11px;
	line-height: 1.4;
	padding: 3px 8px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#header,
#header_member {
	height: auto;
	background: #fff;
	overflow: hidden;
	padding: 6px 10px;
	border-bottom: 1px solid #d6ecf8;
}
#header h2 a,
#header_member h2 a {
	width: 160px;
	height: 57px;
	background-size: 100% 100%;
	line-height: 400px;
}
#header #h_members { display: none; }
#header h2, #header_member h2 { float: left; }
.sp_header_tel {
	float: right;
	text-align: right;
	font-size: 12px;
	line-height: 1.4;
	color: #666;
	padding-top: 8px;
}
.sp_header_tel a { font-size: 17px; color: #1f8fd6; text-decoration: none; font-weight: bold; }

/* メニュー（3列×2段の文字のボタン。今までのスマホ版と同じ並び） */
#top #top_navi { height: auto; background: none; }
#G_navi,
#top #top_navi #G_navi { width: auto; height: auto; display: block; }
#G_navi ul {
	width: auto;
	display: flex;
	flex-wrap: wrap;
	background: #1d6f99;
}
#G_navi ul li.n01, #G_navi ul li.n02, #G_navi ul li.n03,
#G_navi ul li.n04, #G_navi ul li.n05, #G_navi ul li.n06 {
	width: 33.333%;
	height: auto;
	float: none;
	display: block;
	box-sizing: border-box;
	border-right: 1px solid rgba(255,255,255,.35);
	border-bottom: 1px solid rgba(255,255,255,.35);
}
#G_navi ul li.n03, #G_navi ul li.n06 { border-right: none; }
#G_navi ul li[class] a,
#G_navi ul li[class] a:hover {
	height: auto;
	line-height: 1.3;
	background: linear-gradient(#3b97c4, #1d6f99);
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	padding: 12px 2px 8px;
}
#G_navi li a::after {
	display: block;
	font-size: 10px;
	color: #c9e8f8;
	letter-spacing: .05em;
}
#G_navi li.n01 a::after { content: "HOME"; }
#G_navi li.n02 a::after { content: "COMPANY"; }
#G_navi li.n03 a::after { content: "ABOUT"; }
#G_navi li.n04 a::after { content: "MEMBERS"; }
#G_navi li.n05 a::after { content: "REGISTRATION"; }
#G_navi li.n06 a::after { content: "CONTACT"; }

/* 中身 */
#page #page_contents { margin-top: 0; }
#page_contents ul#punks { display: none; }
#page_contents #contents_inner { background-image: none; padding: 12px; }
#pagecontents_box,
#contents_box { margin: 0 0 20px; overflow: visible; }

/* ページの見出し（950×124 の画像） */
#page_contents h3#tt_members,
#page_contents h3#tt_schedule,
#page_contents h3#tt_company,
#page_contents h3#tt_newslist,
#page_contents h3#tt_about {
	float: none;
	width: 100%;
	height: 0;
	padding-top: 13.05%;
	background-size: 100% auto;
	background-repeat: no-repeat;
	margin-top: 0;
}

/* 文字を画像にした見出し（680×49 の画像）。比率のまま縮める */
#page_contents h4#m_tt_ing,
#page_contents h4#m_tt_sch,
#page_contents h4#m_tt_future,
#page_contents h4#m_tt_end {
	float: none;
	width: 100%;
	height: 0;
	padding-top: 7.21%;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

/* 文字を画像にした説明文。縮めると字が小さすぎるので、HTML に入っている同じ文を出す */
#page_contents h4#txt_company,
#page_contents h4#txt_about,
#page_contents p#info,
p#main_about {
	float: none;
	width: auto;
	height: auto;
	background: none;
	line-height: 1.7;
	font-size: 15px;
	font-weight: normal;
	color: #434343;
	margin: 10px 0 16px;
	overflow: visible;
}
#page_contents p#info {
	border: 2px solid #f39c34;
	color: #c0392b;
	padding: 10px;
	font-weight: bold;
}

p#page_tt {
	width: auto;
	height: auto;
	background-size: cover;
	padding: 8px 12px;
	clear: both;
}

/* 会社概要 */
#company_box,
dl.companylist { width: auto; }
dl.companylist dt,
dl.companylist dd {
	float: none;
	width: auto;
	margin: 0;
	text-align: left;
}
dl.companylist dt { margin-top: 10px; }
dl.companylist dd { margin-bottom: 4px; word-break: break-all; }

/* 登録者専用・面接日程の表（見出しの画像の下に内容を並べる） */
.membersTable,
.membersTable tbody,
.membersTable tr,
.membersTable th,
.membersTable td {
	display: block;
	width: auto;
}
.membersTable th { padding-top: 8px; }
.membersTable td { padding: 4px 0 8px 4px; word-break: break-all; }
hr.liner { width: 100%; background-size: 100% auto; }
.e_comment,
.e_comment .e_tt { width: auto; box-sizing: border-box; }
.e_comment .e_tt { height: auto; }

/* 新着情報 */
#news_box,
dl.top_news,
#newslist_box,
dl.page_news {
	width: auto;
	box-sizing: border-box;
}
#news_box { background: #fff; padding: 10px 0 0; }
#newslist_box { padding: 10px 0; }
dl.top_news dt, dl.top_news dd,
dl.page_news dt, dl.page_news dd {
	float: none;
	width: auto;
	margin-right: 0;
}
dl.top_news dt, dl.page_news dt { color: #6aaedc; }
dl.top_news dd, dl.page_news dd { padding-left: 10px; }
h3#tt_news { width: 100%; height: 0; padding-top: 7.71%; background-size: 100% auto; background-repeat: no-repeat; }
#contents_box > img { display: none; }

/* フッター */
#footerwrap { height: auto; background-size: auto 100%; }
address { padding: 18px 10px; }

}
