@charset "UTF-8";

/* タブレットデザイン ここから */
@media screen and (min-width:768px) and (max-width:1049.99px) {
	/* 全体デザイン */
	.only-pc {
		display: none;
	}
	
	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Roboto", "Noto Sans JP", "sans-serif";
		font-size: 0.95em;
	}

	/* パンくずリスト */
	#breadcrumbs {
		display: none;
		font-size: 13px;
	}

	#header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 70px;
		position: sticky;
		top: 0;
		z-index: 99999;
		background-color: #ffffff;
	}

	#header .header-bar.only-sp {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 70px;
		position: relative;
		top: 0;
		z-index: 99999;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
		background-color: #ffffff;
	}

	#header .header-logo-area {
		margin-left: 50px;
		padding: 10px 0px;
	}

	#header .header-logo-area a {
		display: flex;
		align-items: flex-end;
	}

	nav#main-menu {
		height: 100%;
	}

	#main-menu div {
		height: 100%;
	}

	#header .button-area {
		padding: 0px 20px;
	}

	/* スマホ用ヘッダー */
	.header-bar.only-sp {
		display: none;
	}

	.header-bar.only-sp .logo {
		padding: 5px 4px 0px 0px;
	}

	.header-bar .header-button {
		background: none;
		border: none;
		font-size: 24px;
		/* アイコンサイズ */
		padding: 0;
		cursor: pointer;
		color: #333;
	}

	/* スマホ用メニューCSS */
	/* スマホメニュー */
	.sp-menu {
		display: none;
		position: absolute;
		top: 60px;
		/* ヘッダー高さに合わせる */
		left: 0;
		width: 100%;
		background: #fff;
		z-index: 999;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	}

	.sp-menu ul {
		list-style: none;
		margin: 0;
		padding: 10px 0 0;
	}

	.sp-menu li {
		border-bottom: 1px solid #ccc;
	}

	.sp-menu li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 10px 20px;
		color: #3f3f3f;
		text-decoration: none;
	}

	.sp-menu li i {
		padding: 20px;
		color: #1680a2;
	}

	.sp-menu li ul.sub-menu {
		display: none;
		padding: 0px 0px 0px 20px;
		font-size: 0.9em;
		border: none;
	}

	.sp-menu li ul.sub-menu li {
		padding: 0px 0px 0px 30px;
		border: none;
	}

	.sp-menu li ul.sub-menu li a {
		padding: 10px 20px 10px 0px;
		border: none;
	}

	/* 固定ページ */
	.page #header-img {
		height: 150px;
	}

	.page #header-img h1 {
		font-size: 26px;
	}

	#footer-menu-list {
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}

	/* 記事ページ */
	.single h1 {
		font-size: 1.2em;
	}

	/* アーカイブページ */
	.archive h1 {
		font-size: 20px;
	}

	.archive .topics-list-item>a {
		display: block;
	}

	.archive .topics-date {
		font-size: 15px;
	}

	.archive .topics-title {
		margin-top: 5px;
	}

	/* コンタクトエリア お問い合わせセクション */
	.contact-section {
		text-align: center;
		padding: 30px 20px;
		background-color: #fff;
		max-width: 400px;
		margin: 0 auto;
		font-family: "Hiragino Kaku Gothic ProN", sans-serif;
	}

	.contact-section .logo {
		width: 60px;
		margin-bottom: 15px;
	}

	.contact-section .company-name {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
		color: #333;
	}

	.contact-section .address {
		font-size: 14px;
		color: #666;
		margin-bottom: 20px;
		line-height: 1.5;
	}

	.contact-info {
		display: flex;
		flex-direction: column;
		gap: 20px;
		align-items: center;
	}

	.phone-contact {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	.phone-contact i {
		font-size: 20px;
		color: #666;
	}

	.phone-contact .contact-title {
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 5px;
	}

	.phone-contact .phone-number {
		font-size: 16px;
		color: #333;
	}

	.contact-button {
		display: inline-block;
		padding: 10px 20px;
		border: 2px solid #2b9fc1;
		border-radius: 30px;
		color: #2b9fc1;
		text-decoration: none;
		font-size: 14px;
		font-weight: bold;
		transition: 0.3s;
	}

	.contact-button:hover {
		background-color: #2b9fc1;
		color: white;
	}

	.contact-button .arrow {
		margin-left: 10px;
	}

	/* フッターメニュー全体 */
	#footer-menu-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1px;
		background: #ccc;
		max-width: 300px;
		margin: 0 auto;
	}

	/* 各メニュー項目 */
	#footer-menu-list>div {
		background: #f0f0f0;
		text-align: center;
		border: 1px solid #ccc;
		box-sizing: border-box;
	}

	#footer-menu-list a {
		display: block;
		padding: 15px 0;
		text-decoration: none;
		color: #333;
		font-size: 14px;
	}

	/* 「お問い合わせ」は2列を横断 */
	.menu-footer-menu7-container {
		grid-column: 1 / 3;
	}

	/* フッター全体のスタイル */
	#footer-top {
		background-color: #edf1f1;
		/* 背景色 */
		padding: 40px 20px 10px;
	}

	/* メニュー一覧をフレックスで横並びに */
	#menu-footer-menu {
		display: flex;
		justify-content: space-between;
		gap: 20px;
		max-width: 1200px;
		margin: 0 auto;
		text-align: left;
	}

	/* 親メニューのリンクスタイル */
	#menu-footer-menu {
		list-style: none;
		padding: 0px;
	}

	/* 親メニューのaタグリンクスタイル */
	#menu-footer-menu li>a {
		font-weight: bold;
		border-bottom: 1px solid #000;
		padding-bottom: 2px;
		display: inline-block;
		margin-bottom: 12px;
		text-decoration: none;
		color: #000;
		font-size: 15px;
	}

	/* サブメニューリスト */
	#menu-footer-menu .sub-menu {
		list-style: none;
		padding-left: 0;
		margin: 0;
	}

	/* サブメニュー項目 */
	#menu-footer-menu .sub-menu li a {
		display: block;
		margin: 6px 0;
		font-size: 14px;
		color: #000;
		font-weight: 400;
		text-decoration: none;
		border: none;
	}

	/* サブメニュー：ホバー時の装飾 */
	#menu-footer-menu .sub-menu li a:hover {
		text-decoration: underline;
	}

	/* トップページ・ニュース・採用情報・お問い合わせにも統一感を */
	#menu-footer-menu .menu>li {
		margin-bottom: 12px;
	}

	/* コピーライト */
	.copyright-text {
		text-align: center;
		margin: 20px 0 10px;
		font-size: 12px;
		color: #333;
	}

	/* フッター下部リンク */
	.footer-bottom {
		text-align: center;
		font-size: 12px;
		color: #333;
	}

	.footer-links {
		padding-bottom: 30px;
	}

	.footer-links a {
		display: inline-block;
		margin: 0 5px;
		text-decoration: none;
		color: #333;
	}

	/* バッジ画像 */
	.footer-badges {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 20px;
	}

	/* バッジ画像 */
	.footer-badges img {
		width: 50px;
		margin: 5px;
	}

	/**
	* ページネーション
	*/

	.nav-links {
		display: flex;
		justify-content: space-between;
		gap: 16px;
		margin-top: 30px;
	}

	.nav-links a,
	.nav-links span.page-numbers {
		display: inline-block;
		padding: 8px 16px;
		border-radius: 6px;
		text-decoration: none;
		font-size: 16px;
		color: #007c9d;
		background-color: #f0f0f0;
		transition: background-color 0.3s, color 0.3s;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	}

	.nav-links a:hover {
		background-color: #007c9d;
		color: #fff;
	}

	.nav-links span.current {
		color: #f0f0f0;
		background-color: #007c9d;
		color: #fff;
		pointer-events: none;
	}

	.nav-links .next,
	.nav-links .prev {
		padding: 8px 16px;
		font-weight: bold;
	}

	.nav-links a.page-numbers:focus {
		outline: 2px solid #007c9d;
	}
}

/* スマートフォンデザイン ここから */
@media screen and (max-width:767px) {
	/* 全体デザイン */
	.only-pc {
		display: none;
	}

	body {
		font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Roboto", "Noto Sans JP", "sans-serif";
		font-size: 0.95em;
	}

	img {
		max-width: 100%;
		height: auto;
	}
	
	/* パンくずリスト */
	#breadcrumbs {
		display: none;
		font-size: 13px;
	}

	#header {
		height: 60px;
		position: sticky;
		top: 0;
		z-index: 99999;
		background-color: #ffffff;
	}

	/* スマホ用ヘッダー */
	.header-bar.only-sp {
		display: flex;
		justify-content: space-between;
		align-items: center;
		/* ← これで子要素を下揃えにする */
		width: 100%;
		height: 60px;
		position: relative;
		top: 0;
		z-index: 99999;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
		box-sizing: border-box;
		/* 任意。ヘッダーの高さを調整 */
		padding: 0 15px;
	}

	.header-bar.only-sp .logo {
		padding: 5px 4px 0px 0px;
	}

	.header-bar .header-button {
		background: none;
		border: none;
		font-size: 24px;
		/* アイコンサイズ */
		padding: 0;
		cursor: pointer;
		color: #333;
	}

	/* スマホ用メニューCSS */
	/* スマホメニュー */
	.sp-menu {
		display: none;
		position: absolute;
		top: 60px;
		/* ヘッダー高さに合わせる */
		left: 0;
		width: 100%;
		background: #fff;
		z-index: 999;
		display: none;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	}

	.sp-menu ul {
		list-style: none;
		margin: 0;
		padding: 10px 0 0;
	}

	.sp-menu li {
		border-bottom: 1px solid #ccc;
	}

	.sp-menu li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0px 0px 0px 20px;
		color: #3f3f3f;
		text-decoration: none;
	}

	.sp-menu li i {
		padding: 20px;
		color: #1680a2;
	}

	.sp-menu li ul.sub-menu {
		display: none;
		padding: 0px 0px 0px 20px;
		font-size: 0.9em;
		border: none;
	}

	.sp-menu li ul.sub-menu li {
		padding: 0px 0px 0px 30px;
		border: none;
	}

	.sp-menu li ul.sub-menu li a {
		padding: 0px 10px 0px 0px;
		border: none;
	}

	.sp-menu li ul.sub-menu li a i {
		padding: 10px;
		border: none;
	}

	/* 固定ページ */
	.page #header-img {
		height: 150px;
	}
	
	.page #header-img h1 {
		text-align: center;
		font-size: 26px;
	}

	#footer-menu-list {
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}
			
	/* 記事ページ */
	.single h1 {
		font-size: 1.2em;
	}
		
	/* アーカイブページ */
	.archive h1 {
		font-size: 20px;
	}
	
	.archive .topics-list-item > a {
		display: block;
	}

	.archive .topics-date {
		font-size: 15px;
	}

	.archive .topics-title {
		margin-top: 5px;
	}

	/* コンタクトエリア お問い合わせセクション */
	.contact-section {
		text-align: center;
		padding: 30px 20px;
		background-color: #fff;
		max-width: 400px;
		margin: 0 auto;
		font-family: "Hiragino Kaku Gothic ProN", sans-serif;
	}

	.contact-section .logo {
		width: clamp(90px, 50vw, 100px);
		margin-bottom: 15px;
	}

	.contact-section .company-name {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 10px;
		color: #333;
	}

	.contact-section .address {
		font-size: 14px;
		color: #666;
		margin-bottom: 20px;
		line-height: 1.5;
	}

	.contact-info {
		display: flex;
		flex-direction: column;
		gap: 20px;
		align-items: center;
	}

	.phone-contact {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-right: 20px;
	}

	.phone-contact i {
		font-size: 20px;
		color: #666;
	}

	.phone-contact .contact-title {
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 5px;
	}

	.phone-contact .phone-number {
		font-size: 16px;
		color: #333;
	}

	.contact-button {
		display: inline-block;
		padding: 10px 20px;
		border: 2px solid #2b9fc1;
		border-radius: 30px;
		color: #2b9fc1;
		text-decoration: none;
		font-size: 14px;
		font-weight: bold;
		transition: 0.3s;
	}

	.contact-button:hover {
		background-color: #2b9fc1;
		color: white;
	}

	.contact-button .arrow {
		margin-left: 10px;
	}

	/* フッターメニュー全体 */
	#footer-menu-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1px;
		background: #ccc;
		max-width: 300px;
		margin: 0 auto;
	}

	/* 各メニュー項目 */
	#footer-menu-list>div {
		background: #f0f0f0;
		text-align: center;
		border: 1px solid #ccc;
		box-sizing: border-box;
	}

	#footer-menu-list a {
		display: block;
		padding: 15px 0;
		text-decoration: none;
		color: #333;
		font-size: 14px;
	}

	/* 「お問い合わせ」は2列を横断 */
	.menu-footer-menu7-container {
		grid-column: 1 / 3;
	}

	/* コピーライト */
	.copyright-text {
		text-align: center;
		margin: 20px 0 10px;
		font-size: 12px;
		color: #333;
	}

	/* フッター下部リンク */
	.footer-bottom {
		text-align: center;
		font-size: 12px;
		color: #333;
	}

	.footer-links a {
		display: inline-block;
		margin: 0 5px;
		text-decoration: none;
		color: #333;
	}

	/* バッジ画像 */
	.footer-badges {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 20px;
	}

	/* バッジ画像 */
	.footer-badges img {
		width: 50px;
		margin: 5px;
	}

	/**
	* ページネーション
	*/

	.nav-links {
		display: flex;
		justify-content: space-between;
		gap: 16px;
		margin-top: 30px;
	}

	.nav-links a,
	.nav-links span.page-numbers {
		display: inline-block;
		padding: 8px 16px;
		border-radius: 6px;
		text-decoration: none;
		font-size: 16px;
		color: #007c9d;
		background-color: #f0f0f0;
		transition: background-color 0.3s, color 0.3s;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	}

	.nav-links a:hover {
		background-color: #007c9d;
		color: #fff;
	}

	.nav-links span.current {
		color: #f0f0f0;
		background-color: #007c9d;
		color: #fff;
		pointer-events: none;
	}

	.nav-links .next,
	.nav-links .prev {
		padding: 8px 16px;
		font-weight: bold;
	}

	.nav-links a.page-numbers:focus {
		outline: 2px solid #007c9d;
	}
}
